gnu: qtserialbus: Add libsocketcan support.
[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 gl)
51 #:use-module (gnu packages graphviz)
52 #:use-module (gnu packages gtk)
53 #:use-module (gnu packages haskell-apps)
54 #:use-module (gnu packages haskell-check)
55 #:use-module (gnu packages haskell-crypto)
56 #:use-module (gnu packages haskell-web)
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages linux)
59 #:use-module (gnu packages llvm)
60 #:use-module (gnu packages lua)
61 #:use-module (gnu packages maths)
62 #:use-module (gnu packages ncurses)
63 #:use-module (gnu packages pcre)
64 #:use-module (gnu packages pkg-config)
65 #:use-module (gnu packages sdl)
66 #:use-module (gnu packages web)
67 #:use-module (gnu packages xml)
68 #:use-module (gnu packages xorg)
69 #:use-module (guix build-system haskell)
70 #:use-module (guix download)
71 #:use-module (guix git-download)
72 #:use-module (guix utils)
73 #:use-module ((guix licenses) #:prefix license:)
74 #:use-module (guix packages))
75
76 (define-public ghc-abstract-deque
77 (package
78 (name "ghc-abstract-deque")
79 (version "0.3")
80 (source
81 (origin
82 (method url-fetch)
83 (uri (string-append "https://hackage.haskell.org/package/"
84 "abstract-deque-" version "/"
85 "abstract-deque-" version ".tar.gz"))
86 (sha256
87 (base32
88 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
89 (build-system haskell-build-system)
90 (inputs `(("ghc-random" ,ghc-random)))
91 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
92 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
93 (description "This Haskell package provides an abstract interface to
94 highly-parameterizable queues/deques.
95
96 Background: There exists a feature space for queues that extends between:
97
98 @itemize
99 @item Simple, single-ended, non-concurrent, bounded queues
100
101 @item Double-ended, thread-safe, growable queues with important points
102 in between (such as the queues used for work stealing).
103 @end itemize
104
105 This package includes an interface for Deques that allows the programmer
106 to use a single API for all of the above, while using the type system to
107 select an efficient implementation given the requirements (using type families).
108
109 This package also includes a simple reference implementation based on
110 @code{IORef} and @code{Data.Sequence}.")
111 (license license:bsd-3)))
112
113 (define-public ghc-abstract-par
114 (package
115 (name "ghc-abstract-par")
116 (version "0.3.3")
117 (source
118 (origin
119 (method url-fetch)
120 (uri (string-append "https://hackage.haskell.org/package/"
121 "abstract-par-" version "/"
122 "abstract-par-" version ".tar.gz"))
123 (sha256
124 (base32
125 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
126 (build-system haskell-build-system)
127 (home-page "https://github.com/simonmar/monad-par")
128 (synopsis "Abstract parallelization interface for Haskell")
129 (description "This Haskell package is an abstract interface
130 only. It provides a number of type clasess, but not an
131 implementation. The type classes separate different levels
132 of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
133 module for more details.")
134 (license license:bsd-3)))
135
136 (define-public ghc-active
137 (package
138 (name "ghc-active")
139 (version "0.2.0.14")
140 (source
141 (origin
142 (method url-fetch)
143 (uri (string-append "https://hackage.haskell.org/package/"
144 "active/active-" version ".tar.gz"))
145 (sha256
146 (base32
147 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
148 (build-system haskell-build-system)
149 (inputs
150 `(("ghc-vector" ,ghc-vector)
151 ("ghc-semigroups" ,ghc-semigroups)
152 ("ghc-semigroupoids" ,ghc-semigroupoids)
153 ("ghc-lens" ,ghc-lens)
154 ("ghc-linear" ,ghc-linear)))
155 (native-inputs
156 `(("ghc-quickcheck" ,ghc-quickcheck)))
157 (home-page "https://hackage.haskell.org/package/active")
158 (synopsis "Abstractions for animation")
159 (description "This package defines an @code{Active} abstraction for
160 time-varying values with finite start and end times. It is used for
161 describing animations within the
162 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
163 diagrams framework}.")
164 (license license:bsd-3)))
165
166 (define-public ghc-adjunctions
167 (package
168 (name "ghc-adjunctions")
169 (version "4.4")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
175 version
176 ".tar.gz"))
177 (sha256
178 (base32
179 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
180 (build-system haskell-build-system)
181 (arguments
182 `(#:cabal-revision
183 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
184 (inputs
185 `(("ghc-profunctors" ,ghc-profunctors)
186 ("ghc-comonad" ,ghc-comonad)
187 ("ghc-contravariant" ,ghc-contravariant)
188 ("ghc-distributive" ,ghc-distributive)
189 ("ghc-free" ,ghc-free)
190 ("ghc-tagged" ,ghc-tagged)
191 ("ghc-semigroupoids" ,ghc-semigroupoids)
192 ("ghc-semigroups" ,ghc-semigroups)
193 ("ghc-transformers-compat" ,ghc-transformers-compat)
194 ("ghc-void" ,ghc-void)))
195 (native-inputs
196 `(("ghc-generic-deriving" ,ghc-generic-deriving)
197 ("ghc-hspec" ,ghc-hspec)
198 ("hspec-discover" ,hspec-discover)))
199 (home-page "https://github.com/ekmett/adjunctions/")
200 (synopsis "Adjunctions and representable functors")
201 (description "This library provides adjunctions and representable functors
202 for Haskell.")
203 (license license:bsd-3)))
204
205 (define-public ghc-aeson-compat
206 (package
207 (name "ghc-aeson-compat")
208 (version "0.3.9")
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-compat-" version "/"
214 "aeson-compat-" version ".tar.gz"))
215 (sha256
216 (base32
217 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
218 (build-system haskell-build-system)
219 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
220 (inputs `(("ghc-base-compat" ,ghc-base-compat)
221 ("ghc-aeson" ,ghc-aeson)
222 ("ghc-attoparsec" ,ghc-attoparsec)
223 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
224 ("ghc-exceptions" ,ghc-exceptions)
225 ("ghc-hashable" ,ghc-hashable)
226 ("ghc-scientific" ,ghc-scientific)
227 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
228 ("ghc-unordered-containers" ,ghc-unordered-containers)
229 ("ghc-vector" ,ghc-vector)
230 ("ghc-tagged" ,ghc-tagged)
231 ("ghc-semigroups" ,ghc-semigroups)
232 ("ghc-nats" ,ghc-nats)))
233 (home-page "https://github.com/phadej/aeson-compat")
234 (synopsis "Compatibility layer for ghc-aeson")
235 (description "This Haskell package provides compatibility layer for
236 ghc-aeson.")
237 (license license:bsd-3)))
238
239 (define-public ghc-aeson-diff
240 (package
241 (name "ghc-aeson-diff")
242 (version "1.1.0.7")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append "https://hackage.haskell.org/package/"
247 "aeson-diff/aeson-diff-" version ".tar.gz"))
248 (sha256
249 (base32
250 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
251 (build-system haskell-build-system)
252 (inputs
253 `(("ghc-aeson" ,ghc-aeson)
254 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
255 ("ghc-hashable" ,ghc-hashable)
256 ("ghc-scientific" ,ghc-scientific)
257 ("ghc-unordered-containers" ,ghc-unordered-containers)
258 ("ghc-vector" ,ghc-vector)
259 ("ghc-semigroups" ,ghc-semigroups)
260 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
261 (native-inputs
262 `(("ghc-quickcheck" ,ghc-quickcheck)
263 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
264 ("ghc-glob" ,ghc-glob)
265 ("ghc-quickcheck" ,ghc-quickcheck)
266 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
267 ("ghc-quickcheck" ,ghc-quickcheck)
268 ("ghc-doctest" ,ghc-doctest)
269 ("hlint" ,hlint)))
270 (home-page "https://github.com/thsutton/aeson-diff")
271 (synopsis "Extract and apply patches to JSON documents")
272 (description "This is a small library for working with changes to JSON
273 documents. It includes a library and two command-line executables in the
274 style of the @command{diff} and @command{patch} commands available on many
275 systems.")
276 (license license:bsd-3)))
277
278 (define-public ghc-alex
279 (package
280 (name "ghc-alex")
281 (version "3.2.4")
282 (source
283 (origin
284 (method url-fetch)
285 (uri (string-append
286 "https://hackage.haskell.org/package/alex/alex-"
287 version
288 ".tar.gz"))
289 (sha256
290 (base32
291 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
292 (build-system haskell-build-system)
293 (arguments
294 `(#:phases
295 (modify-phases %standard-phases
296 (add-before 'check 'set-check-variables
297 (lambda _
298 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
299 (getenv "PATH")))
300 (setenv "alex_datadir" (string-append (getcwd) "/data"))
301 #t)))))
302 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
303 (native-inputs
304 `(("which" ,which)))
305 (home-page "https://www.haskell.org/alex/")
306 (synopsis
307 "Tool for generating lexical analysers in Haskell")
308 (description
309 "Alex is a tool for generating lexical analysers in Haskell. It takes a
310 description of tokens based on regular expressions and generates a Haskell
311 module containing code for scanning text efficiently. It is similar to the
312 tool lex or flex for C/C++.")
313 (license license:bsd-3)))
314
315 (define-public ghc-alsa-core
316 (package
317 (name "ghc-alsa-core")
318 (version "0.5.0.1")
319 (source
320 (origin
321 (method url-fetch)
322 (uri (string-append
323 "mirror://hackage/package/alsa-core/alsa-core-"
324 version
325 ".tar.gz"))
326 (sha256
327 (base32
328 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
329 (build-system haskell-build-system)
330 (inputs
331 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
332 ("alsa-lib" ,alsa-lib)))
333 (native-inputs
334 `(("pkg-config" ,pkg-config)))
335 (home-page "https://wiki.haskell.org/ALSA")
336 (synopsis "Binding to the ALSA Library API (Exceptions)")
337 (description "This package provides access to ALSA infrastructure, that is
338 needed by both alsa-seq and alsa-pcm.")
339 (license license:bsd-3)))
340
341 (define-public ghc-alsa-mixer
342 (package
343 (name "ghc-alsa-mixer")
344 (version "0.3.0")
345 (source
346 (origin
347 (method url-fetch)
348 (uri
349 (string-append
350 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
351 version ".tar.gz"))
352 (sha256
353 (base32
354 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
355 (build-system haskell-build-system)
356 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
357 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
358 (home-page "https://github.com/ttuegel/alsa-mixer")
359 (synopsis "Bindings to the ALSA simple mixer API")
360 (description
361 "This package provides bindings to the ALSA simple mixer API.")
362 (license license:bsd-3)))
363
364 (define-public ghc-annotated-wl-pprint
365 (package
366 (name "ghc-annotated-wl-pprint")
367 (version "0.7.0")
368 (source
369 (origin
370 (method url-fetch)
371 (uri (string-append
372 "https://hackage.haskell.org/package/annotated-wl-pprint"
373 "/annotated-wl-pprint-" version
374 ".tar.gz"))
375 (sha256
376 (base32
377 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
378 (build-system haskell-build-system)
379 (home-page
380 "https://github.com/david-christiansen/annotated-wl-pprint")
381 (synopsis
382 "The Wadler/Leijen Pretty Printer, with annotation support")
383 (description "This is a modified version of wl-pprint, which was based on
384 Wadler's paper \"A Prettier Printer\". This version allows the library user
385 to annotate the text with semantic information, which can later be rendered in
386 a variety of ways.")
387 (license license:bsd-3)))
388
389 (define-public ghc-ansi-terminal
390 (package
391 (name "ghc-ansi-terminal")
392 (version "0.9.1")
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append
397 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
398 version
399 ".tar.gz"))
400 (sha256
401 (base32
402 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
403 (build-system haskell-build-system)
404 (inputs
405 `(("ghc-colour" ,ghc-colour)))
406 (home-page "https://github.com/feuerbach/ansi-terminal")
407 (synopsis "ANSI terminal support for Haskell")
408 (description "This package provides ANSI terminal support for Haskell. It
409 allows cursor movement, screen clearing, color output showing or hiding the
410 cursor, and changing the title.")
411 (license license:bsd-3)))
412
413 (define-public ghc-ansi-wl-pprint
414 (package
415 (name "ghc-ansi-wl-pprint")
416 (version "0.6.9")
417 (source
418 (origin
419 (method url-fetch)
420 (uri (string-append "https://hackage.haskell.org/package/"
421 "ansi-wl-pprint/ansi-wl-pprint-"
422 version ".tar.gz"))
423 (sha256
424 (base32
425 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
426 (build-system haskell-build-system)
427 (inputs
428 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
429 (home-page "https://github.com/ekmett/ansi-wl-pprint")
430 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
431 (description "This is a pretty printing library based on Wadler's paper
432 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
433 colored output using the ansi-terminal package.")
434 (license license:bsd-3)))
435
436 (define-public ghc-appar
437 (package
438 (name "ghc-appar")
439 (version "0.1.8")
440 (source
441 (origin
442 (method url-fetch)
443 (uri (string-append
444 "https://hackage.haskell.org/package/appar/appar-"
445 version
446 ".tar.gz"))
447 (sha256
448 (base32
449 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
450 (build-system haskell-build-system)
451 (home-page
452 "https://hackage.haskell.org/package/appar")
453 (synopsis "Simple applicative parser")
454 (description "This package provides a simple applicative parser in Parsec
455 style.")
456 (license license:bsd-3)))
457
458 (define-public ghc-assoc
459 (package
460 (name "ghc-assoc")
461 (version "1.0.1")
462 (source
463 (origin
464 (method url-fetch)
465 (uri (string-append
466 "https://hackage.haskell.org/package/assoc/assoc-"
467 version
468 ".tar.gz"))
469 (sha256
470 (base32
471 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
472 (build-system haskell-build-system)
473 (inputs
474 `(("ghc-bifunctors" ,ghc-bifunctors)
475 ("ghc-tagged" ,ghc-tagged)))
476 (home-page
477 "http://hackage.haskell.org/package/assoc")
478 (synopsis
479 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
480 (description
481 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
482 @code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
483 similar operations (e.g. @code{Either}, @code{These}).")
484 (license license:bsd-3)))
485
486 (define-public ghc-async
487 (package
488 (name "ghc-async")
489 (version "2.2.2")
490 (source
491 (origin
492 (method url-fetch)
493 (uri (string-append
494 "https://hackage.haskell.org/package/async/async-"
495 version
496 ".tar.gz"))
497 (sha256
498 (base32
499 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
500 (build-system haskell-build-system)
501 (inputs
502 `(("ghc-hashable" ,ghc-hashable)
503 ("ghc-hunit" ,ghc-hunit)
504 ("ghc-test-framework" ,ghc-test-framework)
505 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
506 (home-page "https://github.com/simonmar/async")
507 (synopsis "Library to run IO operations asynchronously")
508 (description "Async provides a library to run IO operations
509 asynchronously, and wait for their results. It is a higher-level interface
510 over threads in Haskell, in which @code{Async a} is a concurrent thread that
511 will eventually deliver a value of type @code{a}.")
512 (license license:bsd-3)))
513
514 (define-public ghc-atomic-primops
515 (package
516 (name "ghc-atomic-primops")
517 (version "0.8.3")
518 (source
519 (origin
520 (method url-fetch)
521 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
522 "/atomic-primops-" version ".tar.gz"))
523 (sha256
524 (base32
525 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
526 (build-system haskell-build-system)
527 (inputs `(("ghc-primitive" ,ghc-primitive)))
528 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
529 (synopsis "Safe approach to CAS and other atomic ops")
530 (description
531 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
532 use safely, because pointer equality is a highly unstable property in Haskell.
533 This library provides a safer method based on the concept of @code{Ticket}s.")
534 (license license:bsd-3)))
535
536 (define-public ghc-atomic-write
537 (package
538 (name "ghc-atomic-write")
539 (version "0.2.0.6")
540 (source
541 (origin
542 (method url-fetch)
543 (uri (string-append
544 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
545 version
546 ".tar.gz"))
547 (sha256
548 (base32
549 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
550 (build-system haskell-build-system)
551 (inputs
552 `(("ghc-temporary" ,ghc-temporary)
553 ("ghc-unix-compat" ,ghc-unix-compat)))
554 (native-inputs
555 `(("ghc-temporary" ,ghc-temporary)
556 ("ghc-unix-compat" ,ghc-unix-compat)
557 ("ghc-hspec" ,ghc-hspec)
558 ("hspec-discover" ,hspec-discover)))
559 (home-page "https://github.com/stackbuilders/atomic-write")
560 (synopsis "Atomically write to a file")
561 (description
562 "Atomically write to a file on POSIX-compliant systems while preserving
563 permissions. @code{mv} is an atomic operation. This makes it simple to write
564 to a file atomically just by using the @code{mv} operation. However, this
565 will destroy the permissions on the original file. This library preserves
566 permissions while atomically writing to a file.")
567 (license license:expat)))
568
569 (define-public ghc-atomic-write-0.2.0.7
570 (package
571 (inherit ghc-atomic-write)
572 (version "0.2.0.7")
573 (source
574 (origin
575 (inherit (package-source ghc-atomic-write))
576 (uri (string-append
577 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
578 version
579 ".tar.gz"))
580 (sha256
581 (base32
582 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
583
584 (define-public ghc-attoparsec
585 (package
586 (name "ghc-attoparsec")
587 (version "0.13.2.3")
588 (source
589 (origin
590 (method url-fetch)
591 (uri (string-append
592 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
593 version
594 ".tar.gz"))
595 (sha256
596 (base32
597 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
598 (build-system haskell-build-system)
599 (arguments
600 `(#:phases
601 (modify-phases %standard-phases
602 (add-after 'unpack 'patch-for-newer-quickcheck
603 (lambda _
604 (substitute* "attoparsec.cabal"
605 (("QuickCheck >= 2\\.7 && < 2\\.10")
606 "QuickCheck >= 2.7 && < 2.12"))
607 ;; This test fails because of the newer QuickCheck:
608 ;; <https://github.com/bos/attoparsec/issues/134>.
609 (substitute* "tests/QC/ByteString.hs"
610 ((", testProperty \"satisfyWith\" satisfyWith")
611 "")))))))
612 (inputs
613 `(("ghc-scientific" ,ghc-scientific)))
614 (native-inputs
615 `(("ghc-tasty" ,ghc-tasty)
616 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
617 ("ghc-quickcheck" ,ghc-quickcheck)
618 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
619 ("ghc-vector" ,ghc-vector)))
620 (home-page "https://github.com/bos/attoparsec")
621 (synopsis "Fast combinator parsing for bytestrings and text")
622 (description "This library provides a fast parser combinator library,
623 aimed particularly at dealing efficiently with network protocols and
624 complicated text/binary file formats.")
625 (license license:bsd-3)))
626
627 (define-public ghc-attoparsec-bootstrap
628 (package
629 (inherit ghc-attoparsec)
630 (name "ghc-attoparsec-bootstrap")
631 (arguments `(#:tests? #f))
632 (inputs
633 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
634 (native-inputs '())
635 (properties '((hidden? #t)))))
636
637 (define-public ghc-attoparsec-iso8601
638 (package
639 (name "ghc-attoparsec-iso8601")
640 (version "1.0.1.0")
641 (source
642 (origin
643 (method url-fetch)
644 (uri (string-append "https://hackage.haskell.org/package/"
645 "attoparsec-iso8601-" version "/"
646 "attoparsec-iso8601-" version ".tar.gz"))
647 (sha256
648 (base32
649 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
650 (build-system haskell-build-system)
651 (arguments
652 `(#:cabal-revision
653 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
654 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
655 ("ghc-base-compat" ,ghc-base-compat)))
656 (home-page "https://github.com/bos/aeson")
657 (synopsis "Parse ISO 8601 dates")
658 (description "Haskell library for parsing of ISO 8601 dates, originally
659 from aeson.")
660 (license license:bsd-3)))
661
662 (define-public ghc-auto-update
663 (package
664 (name "ghc-auto-update")
665 (version "0.1.6")
666 (source
667 (origin
668 (method url-fetch)
669 (uri (string-append
670 "https://hackage.haskell.org/package/auto-update/auto-update-"
671 version
672 ".tar.gz"))
673 (sha256
674 (base32
675 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
676 (build-system haskell-build-system)
677 (native-inputs
678 `(("ghc-hspec" ,ghc-hspec)
679 ("ghc-hunit" ,ghc-hunit)
680 ("ghc-retry" ,ghc-retry)
681 ("hspec-discover" ,hspec-discover)))
682 (home-page "https://github.com/yesodweb/wai")
683 (synopsis "Efficiently run periodic, on-demand actions")
684 (description "This library provides mechanisms to efficiently run
685 periodic, on-demand actions in Haskell.")
686 (license license:expat)))
687
688 (define-public ghc-aws
689 (package
690 (name "ghc-aws")
691 (version "0.20")
692 (source
693 (origin
694 (method url-fetch)
695 (uri (string-append "https://hackage.haskell.org/package/"
696 "aws-" version "/aws-" version ".tar.gz"))
697 (sha256 (base32
698 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
699 (build-system haskell-build-system)
700 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
701 (inputs
702 `(("ghc-aeson" ,ghc-aeson)
703 ("ghc-attoparsec" ,ghc-attoparsec)
704 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
705 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
706 ("ghc-blaze-builder" ,ghc-blaze-builder)
707 ("ghc-byteable" ,ghc-byteable)
708 ("ghc-case-insensitive" ,ghc-case-insensitive)
709 ("ghc-cereal" ,ghc-cereal)
710 ("ghc-conduit" ,ghc-conduit)
711 ("ghc-conduit-extra" ,ghc-conduit-extra)
712 ("ghc-cryptonite" ,ghc-cryptonite)
713 ("ghc-data-default" ,ghc-data-default)
714 ("ghc-http-conduit" ,ghc-http-conduit)
715 ("ghc-http-types" ,ghc-http-types)
716 ("ghc-lifted-base" ,ghc-lifted-base)
717 ("ghc-monad-control" ,ghc-monad-control)
718 ("ghc-network" ,ghc-network)
719 ("ghc-old-locale" ,ghc-old-locale)
720 ("ghc-safe" ,ghc-safe)
721 ("ghc-scientific" ,ghc-scientific)
722 ("ghc-tagged" ,ghc-tagged)
723 ("ghc-unordered-containers" ,ghc-unordered-containers)
724 ("ghc-utf8-string" ,ghc-utf8-string)
725 ("ghc-vector" ,ghc-vector)
726 ("ghc-xml-conduit" ,ghc-xml-conduit)))
727 (native-inputs
728 `(("ghc-quickcheck" ,ghc-quickcheck)
729 ("ghc-errors" ,ghc-errors)
730 ("ghc-http-client" ,ghc-http-client)
731 ("ghc-http-client-tls" ,ghc-http-client-tls)
732 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
733 ("ghc-tasty" ,ghc-tasty)
734 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
735 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
736 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
737 (home-page "https://github.com/aristidb/aws")
738 (synopsis "Amazon Web Services for Haskell")
739 (description "This package attempts to provide support for using
740 Amazon Web Services like S3 (storage), SQS (queuing) and others to
741 Haskell programmers. The ultimate goal is to support all Amazon
742 Web Services.")
743 (license license:bsd-3)))
744
745 (define-public ghc-base16-bytestring
746 (package
747 (name "ghc-base16-bytestring")
748 (version "0.1.1.6")
749 (source
750 (origin
751 (method url-fetch)
752 (uri (string-append
753 "https://hackage.haskell.org/package/base16-bytestring/"
754 "base16-bytestring-" version ".tar.gz"))
755 (sha256
756 (base32
757 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
758 (build-system haskell-build-system)
759 (home-page "https://github.com/bos/base16-bytestring")
760 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
761 (description
762 "This package provides a Haskell library for working with base16-encoded
763 data quickly and efficiently, using the ByteString type.")
764 (license license:bsd-3)))
765
766 (define-public ghc-base64-bytestring
767 (package
768 (name "ghc-base64-bytestring")
769 (version "1.0.0.2")
770 (source
771 (origin
772 (method url-fetch)
773 (uri (string-append
774 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
775 version
776 ".tar.gz"))
777 (sha256
778 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
779 (build-system haskell-build-system)
780 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
781 (home-page "https://github.com/bos/base64-bytestring")
782 (synopsis "Base64 encoding and decoding for ByteStrings")
783 (description "This library provides fast base64 encoding and decoding for
784 Haskell @code{ByteString}s.")
785 (license license:bsd-3)))
786
787 (define-public ghc-base-compat
788 (package
789 (name "ghc-base-compat")
790 (version "0.10.5")
791 (source
792 (origin
793 (method url-fetch)
794 (uri (string-append
795 "https://hackage.haskell.org/package/base-compat/base-compat-"
796 version
797 ".tar.gz"))
798 (sha256
799 (base32
800 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
801 (build-system haskell-build-system)
802 (native-inputs
803 `(("ghc-quickcheck" ,ghc-quickcheck)
804 ("ghc-hspec" ,ghc-hspec)
805 ("hspec-discover" ,hspec-discover)))
806 (home-page "https://hackage.haskell.org/package/base-compat")
807 (synopsis "Haskell compiler compatibility library")
808 (description "This library provides functions available in later versions
809 of base to a wider range of compilers, without requiring the use of CPP
810 pragmas in your code.")
811 (license license:bsd-3)))
812
813 (define-public ghc-base-compat-batteries
814 (package
815 (name "ghc-base-compat-batteries")
816 (version "0.10.5")
817 (source
818 (origin
819 (method url-fetch)
820 (uri (string-append "https://hackage.haskell.org/package/"
821 "base-compat-batteries/base-compat-batteries-"
822 version ".tar.gz"))
823 (sha256
824 (base32
825 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
826 (build-system haskell-build-system)
827 (inputs
828 `(("ghc-base-compat" ,ghc-base-compat)))
829 (native-inputs
830 `(("ghc-hspec" ,ghc-hspec)
831 ("ghc-quickcheck" ,ghc-quickcheck)
832 ("hspec-discover" ,hspec-discover)))
833 (arguments
834 `(#:cabal-revision
835 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
836 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
837 (synopsis "base-compat with extra batteries")
838 (description "This library provides functions available in later
839 versions of @code{base} to a wider range of compilers, without requiring
840 you to use CPP pragmas in your code. This package provides the same API
841 as the @code{base-compat} library, but depends on compatibility
842 packages (such as @code{semigroups}) to offer a wider support window
843 than @code{base-compat}, which has no dependencies.")
844 (license license:expat)))
845
846 (define-public ghc-basement
847 (package
848 (name "ghc-basement")
849 (version "0.0.11")
850 (source
851 (origin
852 (method url-fetch)
853 (uri (string-append "https://hackage.haskell.org/package/"
854 "basement/basement-" version ".tar.gz"))
855 (sha256
856 (base32
857 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
858 (build-system haskell-build-system)
859 (home-page "https://github.com/haskell-foundation/foundation")
860 (synopsis "Basic primitives for Foundation starter pack")
861 (description
862 "This package contains basic primitives for the Foundation set of
863 packages.")
864 (license license:bsd-3)))
865
866 (define-public ghc-base-orphans
867 (package
868 (name "ghc-base-orphans")
869 (version "0.8.1")
870 (source
871 (origin
872 (method url-fetch)
873 (uri (string-append
874 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
875 version
876 ".tar.gz"))
877 (sha256
878 (base32
879 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
880 (build-system haskell-build-system)
881 (native-inputs
882 `(("ghc-quickcheck" ,ghc-quickcheck)
883 ("ghc-hspec" ,ghc-hspec)
884 ("hspec-discover" ,hspec-discover)))
885 (home-page "https://hackage.haskell.org/package/base-orphans")
886 (synopsis "Orphan instances for backwards compatibility")
887 (description "This package defines orphan instances that mimic instances
888 available in later versions of base to a wider (older) range of compilers.")
889 (license license:bsd-3)))
890
891 (define-public ghc-base-prelude
892 (package
893 (name "ghc-base-prelude")
894 (version "1.3")
895 (source
896 (origin
897 (method url-fetch)
898 (uri (string-append "https://hackage.haskell.org/package/"
899 "base-prelude-" version "/"
900 "base-prelude-" version ".tar.gz"))
901 (sha256
902 (base32
903 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
904 (build-system haskell-build-system)
905 (home-page "https://github.com/nikita-volkov/base-prelude")
906 (synopsis "The most complete prelude formed solely from the Haskell's base
907 package")
908 (description "This Haskell package aims to reexport all the non-conflicting
909 and most general definitions from the \"base\" package.
910
911 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
912 exceptions, generics, ST, MVars and STM.
913
914 This package will never have any dependencies other than \"base\".
915
916 Versioning policy:
917
918 The versioning policy of this package deviates from PVP in the sense
919 that its exports in part are transitively determined by the version of \"base\".
920 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
921 the bounds of \"base\" as well.")
922 (license license:expat)))
923
924 (define-public ghc-base-unicode-symbols
925 (package
926 (name "ghc-base-unicode-symbols")
927 (version "0.2.3")
928 (source
929 (origin
930 (method url-fetch)
931 (uri (string-append
932 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
933 version
934 ".tar.gz"))
935 (sha256
936 (base32
937 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
938 (build-system haskell-build-system)
939 (home-page "https://wiki.haskell.org/Unicode-symbols")
940 (synopsis "Unicode alternatives for common functions and operators")
941 (description "This package defines new symbols for a number of functions,
942 operators and types in the base package. All symbols are documented with
943 their actual definition and information regarding their Unicode code point.
944 They should be completely interchangeable with their definitions. For
945 further Unicode goodness you can enable the @code{UnicodeSyntax}
946 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
947 language extension}. This extension enables Unicode characters to be used to
948 stand for certain ASCII character sequences, i.e. → instead of @code{->},
949 ∀ instead of @code{forall} and many others.")
950 (license license:bsd-3)))
951
952 (define-public ghc-basic-prelude
953 (package
954 (name "ghc-basic-prelude")
955 (version "0.7.0")
956 (source
957 (origin
958 (method url-fetch)
959 (uri (string-append
960 "https://hackage.haskell.org/package/basic-prelude/"
961 "basic-prelude-" version ".tar.gz"))
962 (sha256
963 (base32
964 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
965 (build-system haskell-build-system)
966 (inputs
967 `(("ghc-hashable" ,ghc-hashable)
968 ("ghc-unordered-containers"
969 ,ghc-unordered-containers)
970 ("ghc-vector" ,ghc-vector)))
971 (home-page "https://github.com/snoyberg/basic-prelude#readme")
972 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
973 (description
974 "The premise of basic-prelude is that there are a lot of very commonly
975 desired features missing from the standard Prelude, such as commonly used
976 operators (<$> and >=>, for instance) and imports for common datatypes
977 (e.g., ByteString and Vector). At the same time, there are lots of other
978 components which are more debatable, such as providing polymorphic versions
979 of common functions.
980
981 So basic-prelude is intended to give a common foundation for a number of
982 alternate preludes. The package provides two modules: CorePrelude provides
983 the common ground for other preludes to build on top of, while BasicPrelude
984 exports CorePrelude together with commonly used list functions to provide a
985 drop-in replacement for the standard Prelude.
986
987 Users wishing to have an improved Prelude can use BasicPrelude. Developers
988 wishing to create a new prelude should use CorePrelude.")
989 (license license:expat)))
990
991 (define-public ghc-bifunctors
992 (package
993 (name "ghc-bifunctors")
994 (version "5.5.5")
995 (source
996 (origin
997 (method url-fetch)
998 (uri (string-append
999 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1000 version
1001 ".tar.gz"))
1002 (sha256
1003 (base32
1004 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
1005 (build-system haskell-build-system)
1006 (inputs
1007 `(("ghc-base-orphans" ,ghc-base-orphans)
1008 ("ghc-comonad" ,ghc-comonad)
1009 ("ghc-th-abstraction" ,ghc-th-abstraction)
1010 ("ghc-transformers-compat" ,ghc-transformers-compat)
1011 ("ghc-tagged" ,ghc-tagged)
1012 ("ghc-semigroups" ,ghc-semigroups)))
1013 (native-inputs
1014 `(("ghc-hspec" ,ghc-hspec)
1015 ("hspec-discover" ,hspec-discover)
1016 ("ghc-quickcheck" ,ghc-quickcheck)))
1017 (home-page "https://github.com/ekmett/bifunctors/")
1018 (synopsis "Bifunctors for Haskell")
1019 (description "This package provides bifunctors for Haskell.")
1020 (license license:bsd-3)))
1021
1022 (define-public ghc-bindings-dsl
1023 (package
1024 (name "ghc-bindings-dsl")
1025 (version "1.0.25")
1026 (source
1027 (origin
1028 (method url-fetch)
1029 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1030 "bindings-DSL-" version ".tar.gz"))
1031 (sha256
1032 (base32
1033 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1034 (build-system haskell-build-system)
1035 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1036 (synopsis "FFI domain specific language, on top of hsc2hs")
1037 (description
1038 "This is a set of macros to be used when writing Haskell FFI. They were
1039 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1040 extract from them all Haskell code needed to mimic such interfaces. All
1041 Haskell names used are automatically derived from C names, structures are
1042 mapped to Haskell instances of @code{Storable}, and there are also macros you
1043 can use with C code to help write bindings to inline functions or macro
1044 functions.")
1045 (license license:bsd-3)))
1046
1047 (define-public ghc-bitarray
1048 (package
1049 (name "ghc-bitarray")
1050 (version "0.0.1.1")
1051 (source
1052 (origin
1053 (method url-fetch)
1054 (uri (string-append "https://hackage.haskell.org/package/"
1055 "bitarray/bitarray-" version ".tar.gz"))
1056 (sha256
1057 (base32
1058 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1059 (build-system haskell-build-system)
1060 (arguments
1061 `(#:cabal-revision
1062 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1063 (home-page "https://hackage.haskell.org/package/bitarray")
1064 (synopsis "Mutable and immutable bit arrays")
1065 (description "The package provides mutable and immutable bit arrays.")
1066 (license license:bsd-3)))
1067
1068 (define-public ghc-blaze-builder
1069 (package
1070 (name "ghc-blaze-builder")
1071 (version "0.4.1.0")
1072 (source
1073 (origin
1074 (method url-fetch)
1075 (uri (string-append
1076 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1077 version
1078 ".tar.gz"))
1079 (sha256
1080 (base32
1081 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1082 (build-system haskell-build-system)
1083 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1084 (inputs
1085 `(("ghc-utf8-string" ,ghc-utf8-string)))
1086 (home-page "https://github.com/lpsmith/blaze-builder")
1087 (synopsis "Efficient buffered output")
1088 (description "This library provides an implementation of the older
1089 @code{blaze-builder} interface in terms of the new builder that shipped with
1090 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1091 bridge to the new builder, so that code that uses the old interface can
1092 interoperate with code that uses the new implementation.")
1093 (license license:bsd-3)))
1094
1095 (define-public ghc-blaze-markup
1096 (package
1097 (name "ghc-blaze-markup")
1098 (version "0.8.2.3")
1099 (source
1100 (origin
1101 (method url-fetch)
1102 (uri (string-append "https://hackage.haskell.org/package/"
1103 "blaze-markup/blaze-markup-"
1104 version ".tar.gz"))
1105 (sha256
1106 (base32
1107 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
1108 (build-system haskell-build-system)
1109 (arguments
1110 `(#:phases
1111 (modify-phases %standard-phases
1112 (add-before 'configure 'update-constraints
1113 (lambda _
1114 (substitute* "blaze-markup.cabal"
1115 (("tasty >= 1\\.0 && < 1\\.1")
1116 "tasty >= 1.0 && < 1.2")))))))
1117 (inputs
1118 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1119 (native-inputs
1120 `(("ghc-hunit" ,ghc-hunit)
1121 ("ghc-quickcheck" ,ghc-quickcheck)
1122 ("ghc-tasty" ,ghc-tasty)
1123 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1124 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1125 (home-page "https://jaspervdj.be/blaze")
1126 (synopsis "Fast markup combinator library for Haskell")
1127 (description "This library provides core modules of a markup combinator
1128 library for Haskell.")
1129 (license license:bsd-3)))
1130
1131 (define-public ghc-bloomfilter
1132 (package
1133 (name "ghc-bloomfilter")
1134 (version "2.0.1.0")
1135 (source
1136 (origin
1137 (method url-fetch)
1138 (uri (string-append "https://hackage.haskell.org/package/"
1139 "bloomfilter/bloomfilter-" version ".tar.gz"))
1140 (sha256
1141 (base32
1142 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1143 (build-system haskell-build-system)
1144 (native-inputs
1145 `(("ghc-quickcheck" ,ghc-quickcheck)
1146 ("ghc-random" ,ghc-random)
1147 ("ghc-test-framework" ,ghc-test-framework)
1148 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1149 (home-page "https://github.com/bos/bloomfilter")
1150 (synopsis "Pure and impure Bloom filter implementations")
1151 (description "This package provides both mutable and immutable Bloom
1152 filter data types, along with a family of hash functions and an easy-to-use
1153 interface.")
1154 (license license:bsd-3)))
1155
1156 (define-public ghc-boxes
1157 (package
1158 (name "ghc-boxes")
1159 (version "0.1.5")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1164 version ".tar.gz"))
1165 (sha256
1166 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1167 (build-system haskell-build-system)
1168 (inputs
1169 `(("ghc-split" ,ghc-split)
1170 ("ghc-quickcheck" ,ghc-quickcheck)))
1171 (home-page "https://hackage.haskell.org/package/boxes")
1172 (synopsis "2D text pretty-printing library")
1173 (description
1174 "Boxes is a pretty-printing library for laying out text in two dimensions,
1175 using a simple box model.")
1176 (license license:bsd-3)))
1177
1178 (define-public ghc-byteable
1179 (package
1180 (name "ghc-byteable")
1181 (version "0.1.1")
1182 (source (origin
1183 (method url-fetch)
1184 (uri (string-append "https://hackage.haskell.org/package/"
1185 "byteable/byteable-" version ".tar.gz"))
1186 (sha256
1187 (base32
1188 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1189 (build-system haskell-build-system)
1190 (home-page "https://github.com/vincenthz/hs-byteable")
1191 (synopsis "Type class for sequence of bytes")
1192 (description
1193 "This package provides an abstract class to manipulate sequence of bytes.
1194 The use case of this class is abstracting manipulation of types that are just
1195 wrapping a bytestring with stronger and more meaniful name.")
1196 (license license:bsd-3)))
1197
1198 (define-public ghc-byteorder
1199 (package
1200 (name "ghc-byteorder")
1201 (version "1.0.4")
1202 (source
1203 (origin
1204 (method url-fetch)
1205 (uri (string-append
1206 "https://hackage.haskell.org/package/byteorder/byteorder-"
1207 version
1208 ".tar.gz"))
1209 (sha256
1210 (base32
1211 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1212 (build-system haskell-build-system)
1213 (home-page
1214 "http://community.haskell.org/~aslatter/code/byteorder")
1215 (synopsis
1216 "Exposes the native endianness of the system")
1217 (description
1218 "This package is for working with the native byte-ordering of the
1219 system.")
1220 (license license:bsd-3)))
1221
1222 (define-public ghc-bytes
1223 (package
1224 (name "ghc-bytes")
1225 (version "0.15.5")
1226 (source
1227 (origin
1228 (method url-fetch)
1229 (uri
1230 (string-append "https://hackage.haskell.org/package/bytes-"
1231 version "/bytes-"
1232 version ".tar.gz"))
1233 (file-name (string-append name "-" version ".tar.gz"))
1234 (sha256
1235 (base32
1236 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1237 (build-system haskell-build-system)
1238 (inputs `(("ghc-cereal" ,ghc-cereal)
1239 ("cabal-doctest" ,cabal-doctest)
1240 ("ghc-doctest" ,ghc-doctest)
1241 ("ghc-scientific" ,ghc-scientific)
1242 ("ghc-transformers-compat" ,ghc-transformers-compat)
1243 ("ghc-unordered-containers" ,ghc-unordered-containers)
1244 ("ghc-void" ,ghc-void)
1245 ("ghc-vector" ,ghc-vector)))
1246 (synopsis "Serialization between @code{binary} and @code{cereal}")
1247 (description "This package provides a simple compatibility shim that lets
1248 you work with both @code{binary} and @code{cereal} with one chunk of
1249 serialization code.")
1250 (home-page "https://hackage.haskell.org/package/bytes")
1251 (license license:bsd-3)))
1252
1253 (define-public ghc-bytestring-builder
1254 (package
1255 (name "ghc-bytestring-builder")
1256 (version "0.10.8.2.0")
1257 (source
1258 (origin
1259 (method url-fetch)
1260 (uri (string-append
1261 "https://hackage.haskell.org/package/bytestring-builder"
1262 "/bytestring-builder-" version ".tar.gz"))
1263 (sha256
1264 (base32
1265 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1266 (build-system haskell-build-system)
1267 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1268 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1269 (synopsis "The new bytestring builder, packaged outside of GHC")
1270 (description "This package provides the bytestring builder that is
1271 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1272 Compatibility package for older packages.")
1273 (license license:bsd-3)))
1274
1275 (define-public ghc-bytestring-handle
1276 (package
1277 (name "ghc-bytestring-handle")
1278 (version "0.1.0.6")
1279 (source
1280 (origin
1281 (method url-fetch)
1282 (uri (string-append
1283 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1284 version ".tar.gz"))
1285 (sha256
1286 (base32
1287 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1288 (build-system haskell-build-system)
1289 (arguments
1290 `(#:cabal-revision
1291 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1292 #:phases
1293 (modify-phases %standard-phases
1294 (add-before 'configure 'update-constraints
1295 (lambda _
1296 (substitute* "bytestring-handle.cabal"
1297 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1298 "QuickCheck >= 2.1.2 && < 2.14")))))))
1299 (inputs
1300 `(("ghc-hunit" ,ghc-hunit)
1301 ("ghc-quickcheck" ,ghc-quickcheck)
1302 ("ghc-test-framework" ,ghc-test-framework)
1303 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1304 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1305 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1306 (synopsis "ByteString-backed Handles")
1307 (description "ByteString-backed Handles") ; There is no description
1308 (license license:bsd-3)))
1309
1310 (define-public ghc-bytestring-lexing
1311 (package
1312 (name "ghc-bytestring-lexing")
1313 (version "0.5.0.2")
1314 (source
1315 (origin
1316 (method url-fetch)
1317 (uri (string-append "https://hackage.haskell.org/package/"
1318 "bytestring-lexing/bytestring-lexing-"
1319 version ".tar.gz"))
1320 (sha256
1321 (base32
1322 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1323 (build-system haskell-build-system)
1324 (home-page "http://code.haskell.org/~wren/")
1325 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1326 (description
1327 "This package provides tools to parse and produce literals efficiently
1328 from strict or lazy bytestrings.")
1329 (license license:bsd-2)))
1330
1331 (define-public ghc-bzlib-conduit
1332 (package
1333 (name "ghc-bzlib-conduit")
1334 (version "0.3.0.2")
1335 (source
1336 (origin
1337 (method url-fetch)
1338 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1339 "bzlib-conduit-" version ".tar.gz"))
1340 (sha256
1341 (base32
1342 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1343 (build-system haskell-build-system)
1344 (inputs
1345 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1346 ("ghc-conduit" ,ghc-conduit)
1347 ("ghc-data-default-class" ,ghc-data-default-class)
1348 ("ghc-resourcet" ,ghc-resourcet)))
1349 (native-inputs
1350 `(("ghc-hspec" ,ghc-hspec)
1351 ("ghc-random" ,ghc-random)))
1352 (home-page "https://github.com/snoyberg/bzlib-conduit")
1353 (synopsis "Streaming compression/decompression via conduits")
1354 (description
1355 "This package provides Haskell bindings to bzlib and Conduit support for
1356 streaming compression and decompression.")
1357 (license license:bsd-3)))
1358
1359 (define-public ghc-c2hs
1360 (package
1361 (name "ghc-c2hs")
1362 (version "0.28.6")
1363 (source
1364 (origin
1365 (method url-fetch)
1366 (uri (string-append
1367 "https://hackage.haskell.org/package/c2hs/c2hs-"
1368 version
1369 ".tar.gz"))
1370 (sha256
1371 (base32
1372 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1373 (build-system haskell-build-system)
1374 (inputs
1375 `(("ghc-language-c" ,ghc-language-c)
1376 ("ghc-dlist" ,ghc-dlist)))
1377 (native-inputs
1378 `(("ghc-test-framework" ,ghc-test-framework)
1379 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1380 ("ghc-hunit" ,ghc-hunit)
1381 ("ghc-shelly" ,ghc-shelly)))
1382 (arguments
1383 `(#:phases
1384 (modify-phases %standard-phases
1385 (add-before 'check 'set-cc
1386 ;; add a cc executable in the path, needed for some tests to pass
1387 (lambda* (#:key inputs #:allow-other-keys)
1388 (let ((gcc (assoc-ref inputs "gcc"))
1389 (tmpbin (tmpnam))
1390 (curpath (getenv "PATH")))
1391 (mkdir-p tmpbin)
1392 (symlink (which "gcc") (string-append tmpbin "/cc"))
1393 (setenv "PATH" (string-append tmpbin ":" curpath)))
1394 #t))
1395 (add-after 'check 'remove-cc
1396 ;; clean the tmp dir made in 'set-cc
1397 (lambda _
1398 (let* ((cc-path (which "cc"))
1399 (cc-dir (dirname cc-path)))
1400 (delete-file-recursively cc-dir)
1401 #t))))))
1402 (home-page "https://github.com/haskell/c2hs")
1403 (synopsis "Create Haskell bindings to C libraries")
1404 (description "C->Haskell assists in the development of Haskell bindings to
1405 C libraries. It extracts interface information from C header files and
1406 generates Haskell code with foreign imports and marshaling. Unlike writing
1407 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1408 imported with the correct Haskell types.")
1409 (license license:gpl2)))
1410
1411 (define-public ghc-cairo
1412 (package
1413 (name "ghc-cairo")
1414 (version "0.13.5.0")
1415 (source
1416 (origin
1417 (method url-fetch)
1418 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1419 "cairo-" version ".tar.gz"))
1420 (sha256
1421 (base32
1422 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1423 (build-system haskell-build-system)
1424 (arguments
1425 `(#:modules ((guix build haskell-build-system)
1426 (guix build utils)
1427 (ice-9 match)
1428 (srfi srfi-26))
1429 #:phases
1430 (modify-phases %standard-phases
1431 ;; FIXME: This is a copy of the standard configure phase with a tiny
1432 ;; difference: this package needs the -package-db flag to be passed
1433 ;; to "runhaskell" in addition to the "configure" action, because it
1434 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1435 ;; this option the Setup.hs file cannot be evaluated. The
1436 ;; haskell-build-system should be changed to pass "-package-db" to
1437 ;; "runhaskell" in any case.
1438 (replace 'configure
1439 (lambda* (#:key outputs inputs tests? (configure-flags '())
1440 #:allow-other-keys)
1441 (let* ((out (assoc-ref outputs "out"))
1442 (name-version (strip-store-file-name out))
1443 (input-dirs (match inputs
1444 (((_ . dir) ...)
1445 dir)
1446 (_ '())))
1447 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1448 (params (append `(,(string-append "--prefix=" out))
1449 `(,(string-append "--libdir=" out "/lib"))
1450 `(,(string-append "--bindir=" out "/bin"))
1451 `(,(string-append
1452 "--docdir=" out
1453 "/share/doc/" name-version))
1454 '("--libsubdir=$compiler/$pkg-$version")
1455 '("--package-db=../package.conf.d")
1456 '("--global")
1457 `(,@(map
1458 (cut string-append "--extra-include-dirs=" <>)
1459 (search-path-as-list '("include") input-dirs)))
1460 `(,@(map
1461 (cut string-append "--extra-lib-dirs=" <>)
1462 (search-path-as-list '("lib") input-dirs)))
1463 (if tests?
1464 '("--enable-tests")
1465 '())
1466 configure-flags)))
1467 (unsetenv "GHC_PACKAGE_PATH")
1468 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1469 "Setup.hs" "configure" params)
1470 (setenv "GHC_PACKAGE_PATH" ghc-path)
1471 #t))))))
1472 (inputs
1473 `(("ghc-utf8-string" ,ghc-utf8-string)
1474 ("cairo" ,cairo)))
1475 (native-inputs
1476 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1477 ("pkg-config" ,pkg-config)))
1478 (home-page "http://projects.haskell.org/gtk2hs/")
1479 (synopsis "Haskell bindings to the Cairo vector graphics library")
1480 (description
1481 "Cairo is a library to render high quality vector graphics. There exist
1482 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1483 documents, amongst others.")
1484 (license license:bsd-3)))
1485
1486 (define-public ghc-call-stack
1487 (package
1488 (name "ghc-call-stack")
1489 (version "0.1.0")
1490 (source
1491 (origin
1492 (method url-fetch)
1493 (uri (string-append "https://hackage.haskell.org/package/"
1494 "call-stack/call-stack-"
1495 version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1499 (build-system haskell-build-system)
1500 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1501 (home-page "https://github.com/sol/call-stack#readme")
1502 (synopsis "Use GHC call-stacks in a backward compatible way")
1503 (description "This package provides a compatibility layer for using GHC
1504 call stacks with different versions of the compiler.")
1505 (license license:expat)))
1506
1507 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1508 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1509 (define-public ghc-call-stack-boot
1510 (hidden-package
1511 (package
1512 (inherit ghc-call-stack)
1513 (arguments '(#:tests? #f))
1514 (inputs '()))))
1515
1516 (define-public ghc-case-insensitive
1517 (package
1518 (name "ghc-case-insensitive")
1519 (version "1.2.0.11")
1520 (outputs '("out" "doc"))
1521 (source
1522 (origin
1523 (method url-fetch)
1524 (uri (string-append
1525 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1526 version
1527 ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1531 (build-system haskell-build-system)
1532 ;; these inputs are necessary to use this library
1533 (inputs
1534 `(("ghc-hashable" ,ghc-hashable)))
1535 (arguments
1536 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1537 (home-page
1538 "https://github.com/basvandijk/case-insensitive")
1539 (synopsis "Case insensitive string comparison")
1540 (description
1541 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1542 constructor which can be parameterised by a string-like type like:
1543 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1544 the resulting type will be insensitive to cases.")
1545 (license license:bsd-3)))
1546
1547 (define-public ghc-cborg
1548 (package
1549 (name "ghc-cborg")
1550 (version "0.2.2.0")
1551 (source
1552 (origin
1553 (method url-fetch)
1554 (uri (string-append
1555 "mirror://hackage/package/cborg/cborg-"
1556 version
1557 ".tar.gz"))
1558 (sha256
1559 (base32
1560 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1561 (build-system haskell-build-system)
1562 (inputs
1563 `(("ghc-half" ,ghc-half)
1564 ("ghc-primitive" ,ghc-primitive)))
1565 (native-inputs
1566 `(("ghc-aeson" ,ghc-aeson)
1567 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1568 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1569 ("ghc-fail" ,ghc-fail)
1570 ("ghc-quickcheck" ,ghc-quickcheck)
1571 ("ghc-scientific" ,ghc-scientific)
1572 ("ghc-tasty" ,ghc-tasty)
1573 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1574 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1575 ("ghc-vector" ,ghc-vector)))
1576 (home-page "http://hackage.haskell.org/package/cborg")
1577 (synopsis "Concise Binary Object Representation")
1578 (description
1579 "This package (formerly binary-serialise-cbor) provides an
1580 efficient implementation of the Concise Binary Object
1581 Representation (CBOR), as specified by RFC 7049 at
1582 https://tools.ietf.org/html/rfc7049.
1583
1584 If you are looking for a library for serialisation of Haskell values, have a
1585 look at the @url{https://hackage.haskell.org/package/serialise} package, which
1586 is built upon this library.
1587
1588 An implementation of the standard bijection between CBOR and JSON is provided
1589 by the @url{https://hackage.haskell.org/package/cborg-json} package.
1590
1591 Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1592 command-line utility for working with CBOR data.")
1593 (license license:bsd-3)))
1594
1595 (define-public ghc-cborg-json
1596 (package
1597 (name "ghc-cborg-json")
1598 (version "0.2.2.0")
1599 (source
1600 (origin
1601 (method url-fetch)
1602 (uri (string-append
1603 "mirror://hackage/package/cborg-json/cborg-json-"
1604 version
1605 ".tar.gz"))
1606 (sha256
1607 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1608 (build-system haskell-build-system)
1609 (inputs
1610 `(("ghc-aeson" ,ghc-aeson)
1611 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1612 ("ghc-unordered-containers" ,ghc-unordered-containers)
1613 ("ghc-scientific" ,ghc-scientific)
1614 ("ghc-vector" ,ghc-vector)
1615 ("ghc-cborg" ,ghc-cborg)))
1616 (home-page "https://github.com/well-typed/cborg")
1617 (synopsis "A library for encoding JSON as CBOR")
1618 (description
1619 "This package implements the bijection between JSON and CBOR
1620 defined in the CBOR specification, RFC 7049.")
1621 (license license:bsd-3)))
1622
1623 (define-public ghc-cereal
1624 (package
1625 (name "ghc-cereal")
1626 (version "0.5.8.1")
1627 (source
1628 (origin
1629 (method url-fetch)
1630 (uri (string-append
1631 "https://hackage.haskell.org/package/cereal/cereal-"
1632 version
1633 ".tar.gz"))
1634 (sha256
1635 (base32
1636 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1637 (build-system haskell-build-system)
1638 (native-inputs
1639 `(("ghc-quickcheck" ,ghc-quickcheck)
1640 ("ghc-fail" ,ghc-fail)
1641 ("ghc-test-framework" ,ghc-test-framework)
1642 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1643 (home-page "https://hackage.haskell.org/package/cereal")
1644 (synopsis "Binary serialization library")
1645 (description "This package provides a binary serialization library,
1646 similar to @code{binary}, that introduces an @code{isolate} primitive for
1647 parser isolation, and labeled blocks for better error messages.")
1648 (license license:bsd-3)))
1649
1650 (define-public ghc-cereal-conduit
1651 (package
1652 (name "ghc-cereal-conduit")
1653 (version "0.8.0")
1654 (source
1655 (origin
1656 (method url-fetch)
1657 (uri (string-append "https://hackage.haskell.org/package/"
1658 "cereal-conduit/cereal-conduit-"
1659 version ".tar.gz"))
1660 (sha256
1661 (base32
1662 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1663 (build-system haskell-build-system)
1664 (inputs
1665 `(("ghc-conduit" ,ghc-conduit)
1666 ("ghc-resourcet" ,ghc-resourcet)
1667 ("ghc-cereal" ,ghc-cereal)))
1668 (native-inputs
1669 `(("ghc-hunit" ,ghc-hunit)))
1670 (home-page "https://github.com/snoyberg/conduit")
1671 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1672 (description
1673 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1674 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1675 (license license:bsd-3)))
1676
1677 (define-public ghc-cgi
1678 (package
1679 (name "ghc-cgi")
1680 (version "3001.4.0.0")
1681 (source
1682 (origin
1683 (method url-fetch)
1684 (uri (string-append
1685 "https://hackage.haskell.org/package/cgi/cgi-"
1686 version
1687 ".tar.gz"))
1688 (sha256
1689 (base32
1690 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1691 (build-system haskell-build-system)
1692 (inputs
1693 `(("ghc-exceptions" ,ghc-exceptions)
1694 ("ghc-multipart" ,ghc-multipart)
1695 ("ghc-network-uri" ,ghc-network-uri)
1696 ("ghc-network" ,ghc-network)))
1697 (native-inputs
1698 `(("ghc-doctest" ,ghc-doctest)
1699 ("ghc-quickcheck" ,ghc-quickcheck)))
1700 (home-page
1701 "https://github.com/cheecheeo/haskell-cgi")
1702 (synopsis "Library for writing CGI programs")
1703 (description
1704 "This is a Haskell library for writing CGI programs.")
1705 (license license:bsd-3)))
1706
1707 (define-public ghc-charset
1708 (package
1709 (name "ghc-charset")
1710 (version "0.3.7.1")
1711 (source
1712 (origin
1713 (method url-fetch)
1714 (uri (string-append
1715 "https://hackage.haskell.org/package/charset/charset-"
1716 version
1717 ".tar.gz"))
1718 (sha256
1719 (base32
1720 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1721 (build-system haskell-build-system)
1722 (arguments
1723 `(#:cabal-revision
1724 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1725 (inputs
1726 `(("ghc-semigroups" ,ghc-semigroups)
1727 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1728 (home-page "https://github.com/ekmett/charset")
1729 (synopsis "Fast unicode character sets for Haskell")
1730 (description "This package provides fast unicode character sets for
1731 Haskell, based on complemented PATRICIA tries.")
1732 (license license:bsd-3)))
1733
1734 (define-public ghc-chart
1735 (package
1736 (name "ghc-chart")
1737 (version "1.9.1")
1738 (source
1739 (origin
1740 (method url-fetch)
1741 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1742 "Chart-" version ".tar.gz"))
1743 (sha256
1744 (base32
1745 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1746 (build-system haskell-build-system)
1747 (inputs
1748 `(("ghc-old-locale" ,ghc-old-locale)
1749 ("ghc-lens" ,ghc-lens)
1750 ("ghc-colour" ,ghc-colour)
1751 ("ghc-data-default-class" ,ghc-data-default-class)
1752 ("ghc-operational" ,ghc-operational)
1753 ("ghc-vector" ,ghc-vector)))
1754 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1755 (synopsis "Library for generating 2D charts and plots")
1756 (description
1757 "This package provides a library for generating 2D charts and plots, with
1758 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1759 (license license:bsd-3)))
1760
1761 (define-public ghc-chart-cairo
1762 (package
1763 (name "ghc-chart-cairo")
1764 (version "1.9.1")
1765 (source
1766 (origin
1767 (method url-fetch)
1768 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1769 "Chart-cairo-" version ".tar.gz"))
1770 (sha256
1771 (base32
1772 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
1773 (build-system haskell-build-system)
1774 (inputs
1775 `(("ghc-old-locale" ,ghc-old-locale)
1776 ("ghc-cairo" ,ghc-cairo)
1777 ("ghc-colour" ,ghc-colour)
1778 ("ghc-data-default-class" ,ghc-data-default-class)
1779 ("ghc-operational" ,ghc-operational)
1780 ("ghc-lens" ,ghc-lens)
1781 ("ghc-chart" ,ghc-chart)))
1782 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1783 (synopsis "Cairo backend for Charts")
1784 (description "This package provides a Cairo vector graphics rendering
1785 backend for the Charts library.")
1786 (license license:bsd-3)))
1787
1788 (define-public ghc-chasingbottoms
1789 (package
1790 (name "ghc-chasingbottoms")
1791 (version "1.3.1.7")
1792 (source
1793 (origin
1794 (method url-fetch)
1795 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1796 "ChasingBottoms-" version ".tar.gz"))
1797 (sha256
1798 (base32
1799 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1800 (build-system haskell-build-system)
1801 (inputs
1802 `(("ghc-quickcheck" ,ghc-quickcheck)
1803 ("ghc-random" ,ghc-random)
1804 ("ghc-syb" ,ghc-syb)))
1805 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1806 (synopsis "Testing of partial and infinite values in Haskell")
1807 (description
1808 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1809 ;; rendered properly.
1810 "This is a library for testing code involving bottoms or infinite values.
1811 For the underlying theory and a larger example involving use of QuickCheck,
1812 see the article
1813 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1814 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1815 Partial and Infinite Values\"}.")
1816 (license license:expat)))
1817
1818 (define-public ghc-cheapskate
1819 (package
1820 (name "ghc-cheapskate")
1821 (version "0.1.1.1")
1822 (source
1823 (origin
1824 (method url-fetch)
1825 (uri (string-append
1826 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1827 version
1828 ".tar.gz"))
1829 (sha256
1830 (base32
1831 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1832 (build-system haskell-build-system)
1833 (inputs
1834 `(("ghc-blaze-html" ,ghc-blaze-html)
1835 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1836 ("ghc-data-default" ,ghc-data-default)
1837 ("ghc-syb" ,ghc-syb)
1838 ("ghc-uniplate" ,ghc-uniplate)))
1839 (home-page "https://github.com/jgm/cheapskate")
1840 (synopsis "Experimental markdown processor")
1841 (description "Cheapskate is an experimental Markdown processor in pure
1842 Haskell. It aims to process Markdown efficiently and in the most forgiving
1843 possible way. It is designed to deal with any input, including garbage, with
1844 linear performance. Output is sanitized by default for protection against
1845 cross-site scripting (@dfn{XSS}) attacks.")
1846 (license license:bsd-3)))
1847
1848 (define-public ghc-chell
1849 (package
1850 (name "ghc-chell")
1851 (version "0.5")
1852 (source
1853 (origin
1854 (method url-fetch)
1855 (uri (string-append
1856 "https://hackage.haskell.org/package/chell/chell-"
1857 version ".tar.gz"))
1858 (sha256
1859 (base32
1860 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
1861 (build-system haskell-build-system)
1862 (arguments
1863 `(#:cabal-revision
1864 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
1865 (inputs
1866 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1867 ("ghc-patience" ,ghc-patience)
1868 ("ghc-random" ,ghc-random)
1869 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1870 (home-page "https://john-millikin.com/software/chell/")
1871 (synopsis "Simple and intuitive library for automated testing")
1872 (description
1873 "Chell is a simple and intuitive library for automated testing.
1874 It natively supports assertion-based testing, and can use companion
1875 libraries such as @code{chell-quickcheck} to support more complex
1876 testing strategies.")
1877 (license license:expat)))
1878
1879 (define-public ghc-chell-quickcheck
1880 (package
1881 (name "ghc-chell-quickcheck")
1882 (version "0.2.5.2")
1883 (source
1884 (origin
1885 (method url-fetch)
1886 (uri (string-append
1887 "https://hackage.haskell.org/package/chell-quickcheck/"
1888 "chell-quickcheck-" version ".tar.gz"))
1889 (sha256
1890 (base32
1891 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1892 (build-system haskell-build-system)
1893 (arguments
1894 `(#:phases
1895 (modify-phases %standard-phases
1896 (add-before 'configure 'update-constraints
1897 (lambda _
1898 (substitute* "chell-quickcheck.cabal"
1899 (("QuickCheck >= 2\\.3 && < 2\\.13")
1900 "QuickCheck >= 2.3 && < 2.14")))))))
1901 (inputs
1902 `(("ghc-chell" ,ghc-chell)
1903 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1904 ("ghc-random" ,ghc-random)
1905 ("ghc-quickcheck" ,ghc-quickcheck)))
1906 (home-page "https://john-millikin.com/software/chell/")
1907 (synopsis "QuickCheck support for the Chell testing library")
1908 (description "More complex tests for @code{chell}.")
1909 (license license:expat)))
1910
1911 (define ghc-chell-quickcheck-bootstrap
1912 (package
1913 (name "ghc-chell-quickcheck-bootstrap")
1914 (version "0.2.5.2")
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append
1919 "https://hackage.haskell.org/package/chell-quickcheck/"
1920 "chell-quickcheck-" version ".tar.gz"))
1921 (sha256
1922 (base32
1923 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1924 (build-system haskell-build-system)
1925 (inputs
1926 `(("ghc-chell" ,ghc-chell)
1927 ("ghc-random" ,ghc-random)
1928 ("ghc-quickcheck" ,ghc-quickcheck)))
1929 (arguments
1930 `(#:tests? #f
1931 #:phases
1932 (modify-phases %standard-phases
1933 (add-before 'configure 'update-constraints
1934 (lambda _
1935 (substitute* "chell-quickcheck.cabal"
1936 (("QuickCheck >= 2\\.3 && < 2\\.13")
1937 "QuickCheck >= 2.3 && < 2.14")))))))
1938 (home-page "https://john-millikin.com/software/chell/")
1939 (synopsis "QuickCheck support for the Chell testing library")
1940 (description "More complex tests for @code{chell}.")
1941 (license license:expat)))
1942
1943 (define-public ghc-chunked-data
1944 (package
1945 (name "ghc-chunked-data")
1946 (version "0.3.1")
1947 (source
1948 (origin
1949 (method url-fetch)
1950 (uri (string-append "https://hackage.haskell.org/package/"
1951 "chunked-data-" version "/"
1952 "chunked-data-" version ".tar.gz"))
1953 (sha256
1954 (base32
1955 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1956 (build-system haskell-build-system)
1957 (inputs `(("ghc-vector" ,ghc-vector)
1958 ("ghc-semigroups" ,ghc-semigroups)))
1959 (home-page "https://github.com/snoyberg/mono-traversable")
1960 (synopsis "Typeclasses for dealing with various chunked data
1961 representations for Haskell")
1962 (description "This Haskell package was originally present in
1963 classy-prelude.")
1964 (license license:expat)))
1965
1966 (define-public ghc-clock
1967 (package
1968 (name "ghc-clock")
1969 (version "0.8")
1970 (source
1971 (origin
1972 (method url-fetch)
1973 (uri (string-append
1974 "https://hackage.haskell.org/package/"
1975 "clock/"
1976 "clock-" version ".tar.gz"))
1977 (sha256
1978 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
1979 (build-system haskell-build-system)
1980 (inputs
1981 `(("ghc-tasty" ,ghc-tasty)
1982 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1983 (home-page "https://hackage.haskell.org/package/clock")
1984 (synopsis "High-resolution clock for Haskell")
1985 (description "A package for convenient access to high-resolution clock and
1986 timer functions of different operating systems via a unified API.")
1987 (license license:bsd-3)))
1988
1989 ;; This package builds `clock` without tests, since the tests rely on tasty
1990 ;; and tasty-quickcheck, which in turn require clock to build.
1991 (define-public ghc-clock-bootstrap
1992 (package
1993 (inherit ghc-clock)
1994 (name "ghc-clock-bootstrap")
1995 (arguments '(#:tests? #f))
1996 (inputs '())
1997 (properties '((hidden? #t)))))
1998
1999 (define-public ghc-cmark
2000 (package
2001 (name "ghc-cmark")
2002 (version "0.6")
2003 (source (origin
2004 (method url-fetch)
2005 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
2006 ;; See cbits/cmark_version.h.
2007 (uri (string-append "https://hackage.haskell.org/package/"
2008 "cmark/cmark-" version ".tar.gz"))
2009 (sha256
2010 (base32
2011 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
2012 (build-system haskell-build-system)
2013 (native-inputs
2014 `(("ghc-hunit" ,ghc-hunit)))
2015 (home-page "https://github.com/jgm/commonmark-hs")
2016 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2017 (description
2018 "This package provides Haskell bindings for
2019 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2020 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2021 sources, and does not require prior installation of the C library.")
2022 (license license:bsd-3)))
2023
2024 (define-public ghc-cmark-gfm
2025 (package
2026 (name "ghc-cmark-gfm")
2027 (version "0.2.0")
2028 (source
2029 (origin
2030 (method url-fetch)
2031 (uri (string-append "https://hackage.haskell.org/package/"
2032 "cmark-gfm/cmark-gfm-"
2033 version ".tar.gz"))
2034 (sha256
2035 (base32
2036 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
2037 (build-system haskell-build-system)
2038 (native-inputs
2039 `(("ghc-hunit" ,ghc-hunit)))
2040 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2041 (synopsis
2042 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2043 (description
2044 "This package provides Haskell bindings for libcmark-gfm, the reference
2045 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2046 It includes sources for libcmark-gfm and does not require prior installation
2047 of the C library.")
2048 (license license:bsd-3)))
2049
2050 (define-public ghc-cmdargs
2051 (package
2052 (name "ghc-cmdargs")
2053 (version "0.10.20")
2054 (source
2055 (origin
2056 (method url-fetch)
2057 (uri (string-append
2058 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2059 version ".tar.gz"))
2060 (sha256
2061 (base32
2062 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2063 (build-system haskell-build-system)
2064 (home-page
2065 "http://community.haskell.org/~ndm/cmdargs/")
2066 (synopsis "Command line argument processing")
2067 (description
2068 "This library provides an easy way to define command line parsers.")
2069 (license license:bsd-3)))
2070
2071 (define-public ghc-code-page
2072 (package
2073 (name "ghc-code-page")
2074 (version "0.2")
2075 (source
2076 (origin
2077 (method url-fetch)
2078 (uri (string-append
2079 "https://hackage.haskell.org/package/code-page/code-page-"
2080 version ".tar.gz"))
2081 (sha256
2082 (base32
2083 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
2084 (build-system haskell-build-system)
2085 (home-page "https://github.com/RyanGlScott/code-page")
2086 (synopsis "Windows code page library for Haskell")
2087 (description "A cross-platform library with functions for adjusting
2088 code pages on Windows. On all other operating systems, the library does
2089 nothing.")
2090 (license license:bsd-3)))
2091
2092 (define-public ghc-colour
2093 (package
2094 (name "ghc-colour")
2095 (version "2.3.5")
2096 (source
2097 (origin
2098 (method url-fetch)
2099 (uri (string-append
2100 "https://hackage.haskell.org/package/colour/colour-"
2101 version ".tar.gz"))
2102 (sha256
2103 (base32
2104 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
2105 (arguments
2106 ;; The tests for this package have the following dependency cycle:
2107 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2108 `(#:tests? #f))
2109 (build-system haskell-build-system)
2110 (home-page "https://wiki.haskell.org/Colour")
2111 (synopsis "Model for human colour perception")
2112 (description
2113 "This package provides a data type for colours and transparency.
2114 Colours can be blended and composed. Various colour spaces are
2115 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2116 (license license:expat)))
2117
2118 (define-public ghc-comonad
2119 (package
2120 (name "ghc-comonad")
2121 (version "5.0.5")
2122 (source
2123 (origin
2124 (method url-fetch)
2125 (uri (string-append
2126 "https://hackage.haskell.org/package/comonad/comonad-"
2127 version
2128 ".tar.gz"))
2129 (sha256
2130 (base32
2131 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
2132 (build-system haskell-build-system)
2133 (native-inputs
2134 `(("cabal-doctest" ,cabal-doctest)
2135 ("ghc-doctest" ,ghc-doctest)))
2136 (inputs
2137 `(("ghc-contravariant" ,ghc-contravariant)
2138 ("ghc-distributive" ,ghc-distributive)
2139 ("ghc-semigroups" ,ghc-semigroups)
2140 ("ghc-tagged" ,ghc-tagged)
2141 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2142 (home-page "https://github.com/ekmett/comonad/")
2143 (synopsis "Comonads for Haskell")
2144 (description "This library provides @code{Comonad}s for Haskell.")
2145 (license license:bsd-3)))
2146
2147 (define-public ghc-concatenative
2148 (package
2149 (name "ghc-concatenative")
2150 (version "1.0.1")
2151 (source (origin
2152 (method url-fetch)
2153 (uri (string-append
2154 "https://hackage.haskell.org/package/concatenative/concatenative-"
2155 version ".tar.gz"))
2156 (sha256
2157 (base32
2158 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2159 (build-system haskell-build-system)
2160 (home-page
2161 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2162 (synopsis "Library for postfix control flow")
2163 (description
2164 "Concatenative gives Haskell Factor-style combinators and arrows for
2165 postfix notation. For more information on stack based languages, see
2166 @uref{https://concatenative.org}.")
2167 (license license:bsd-3)))
2168
2169 (define-public ghc-concurrent-extra
2170 (package
2171 (name "ghc-concurrent-extra")
2172 (version "0.7.0.12")
2173 (source
2174 (origin
2175 (method url-fetch)
2176 (uri (string-append "https://hackage.haskell.org/package/"
2177 "concurrent-extra/concurrent-extra-"
2178 version ".tar.gz"))
2179 (sha256
2180 (base32
2181 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2182 (build-system haskell-build-system)
2183 (arguments
2184 ;; XXX: The ReadWriteLock 'stressTest' fails.
2185 `(#:tests? #f))
2186 (inputs
2187 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2188 (native-inputs
2189 `(("ghc-async" ,ghc-async)
2190 ("ghc-hunit" ,ghc-hunit)
2191 ("ghc-random" ,ghc-random)
2192 ("ghc-test-framework" ,ghc-test-framework)
2193 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2194 (home-page "https://github.com/basvandijk/concurrent-extra")
2195 (synopsis "Extra concurrency primitives")
2196 (description "This Haskell library offers (among other things) the
2197 following selection of synchronisation primitives:
2198
2199 @itemize
2200 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2201 @item @code{Event}: Wake multiple threads by signalling an event.
2202 @item @code{Lock}: Enforce exclusive access to a resource. Also known
2203 as a binary semaphore or mutex. The package additionally provides an
2204 alternative that works in the STM monad.
2205 @item @code{RLock}: A lock which can be acquired multiple times by the
2206 same thread. Also known as a reentrant mutex.
2207 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2208 to protect shared resources which may be concurrently read, but only
2209 sequentially written.
2210 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2211 @end itemize
2212
2213 Please consult the API documentation of the individual modules for more
2214 detailed information.
2215
2216 This package was inspired by the concurrency libraries of Java and
2217 Python.")
2218 (license license:bsd-3)))
2219
2220 (define-public ghc-concurrent-output
2221 (package
2222 (name "ghc-concurrent-output")
2223 (version "1.10.11")
2224 (source
2225 (origin
2226 (method url-fetch)
2227 (uri (string-append
2228 "mirror://hackage/package/concurrent-output/concurrent-output-"
2229 version
2230 ".tar.gz"))
2231 (sha256
2232 (base32
2233 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2234 (build-system haskell-build-system)
2235 (inputs
2236 `(("ghc-async" ,ghc-async)
2237 ("ghc-exceptions" ,ghc-exceptions)
2238 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2239 ("ghc-terminal-size" ,ghc-terminal-size)))
2240 (home-page
2241 "https://hackage.haskell.org/package/concurrent-output")
2242 (synopsis
2243 "Ungarble output from several threads or commands")
2244 (description
2245 "Lets multiple threads and external processes concurrently output to the
2246 console, without it getting all garbled up.
2247
2248 Built on top of that is a way of defining multiple output regions, which are
2249 automatically laid out on the screen and can be individually updated by
2250 concurrent threads. Can be used for progress displays etc.")
2251 (license license:bsd-2)))
2252
2253 (define-public ghc-conduit
2254 (package
2255 (name "ghc-conduit")
2256 (version "1.3.1.1")
2257 (source (origin
2258 (method url-fetch)
2259 (uri (string-append "https://hackage.haskell.org/package/"
2260 "conduit/conduit-" version ".tar.gz"))
2261 (sha256
2262 (base32
2263 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2264 (build-system haskell-build-system)
2265 (inputs
2266 `(("ghc-exceptions" ,ghc-exceptions)
2267 ("ghc-lifted-base" ,ghc-lifted-base)
2268 ("ghc-mono-traversable" ,ghc-mono-traversable)
2269 ("ghc-mmorph" ,ghc-mmorph)
2270 ("ghc-resourcet" ,ghc-resourcet)
2271 ("ghc-silently" ,ghc-silently)
2272 ("ghc-transformers-base" ,ghc-transformers-base)
2273 ("ghc-unliftio" ,ghc-unliftio)
2274 ("ghc-unliftio-core" ,ghc-unliftio-core)
2275 ("ghc-vector" ,ghc-vector)
2276 ("ghc-void" ,ghc-void)))
2277 (native-inputs
2278 `(("ghc-quickcheck" ,ghc-quickcheck)
2279 ("ghc-hspec" ,ghc-hspec)
2280 ("ghc-safe" ,ghc-safe)
2281 ("ghc-split" ,ghc-split)))
2282 (home-page "https://github.com/snoyberg/conduit")
2283 (synopsis "Streaming data library ")
2284 (description
2285 "The conduit package is a solution to the streaming data problem,
2286 allowing for production, transformation, and consumption of streams of data
2287 in constant memory. It is an alternative to lazy I/O which guarantees
2288 deterministic resource handling, and fits in the same general solution
2289 space as enumerator/iteratee and pipes.")
2290 (license license:expat)))
2291
2292 (define-public ghc-conduit-algorithms
2293 (package
2294 (name "ghc-conduit-algorithms")
2295 (version "0.0.11.0")
2296 (source
2297 (origin
2298 (method url-fetch)
2299 (uri (string-append "https://hackage.haskell.org/package/"
2300 "conduit-algorithms/conduit-algorithms-"
2301 version ".tar.gz"))
2302 (sha256
2303 (base32
2304 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2305 (build-system haskell-build-system)
2306 (inputs
2307 `(("ghc-async" ,ghc-async)
2308 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2309 ("ghc-conduit" ,ghc-conduit)
2310 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2311 ("ghc-conduit-extra" ,ghc-conduit-extra)
2312 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2313 ("ghc-exceptions" ,ghc-exceptions)
2314 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2315 ("ghc-monad-control" ,ghc-monad-control)
2316 ("ghc-pqueue" ,ghc-pqueue)
2317 ("ghc-resourcet" ,ghc-resourcet)
2318 ("ghc-stm-conduit" ,ghc-stm-conduit)
2319 ("ghc-streaming-commons" ,ghc-streaming-commons)
2320 ("ghc-unliftio-core" ,ghc-unliftio-core)
2321 ("ghc-vector" ,ghc-vector)))
2322 (native-inputs
2323 `(("ghc-hunit" ,ghc-hunit)
2324 ("ghc-test-framework" ,ghc-test-framework)
2325 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2326 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2327 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2328 (synopsis "Conduit-based algorithms")
2329 (description
2330 "This package provides algorithms on @code{Conduits}, including higher
2331 level asynchronous processing and some other utilities.")
2332 (license license:expat)))
2333
2334 (define-public ghc-conduit-combinators
2335 (package
2336 (name "ghc-conduit-combinators")
2337 (version "1.3.0")
2338 (source
2339 (origin
2340 (method url-fetch)
2341 (uri (string-append "https://hackage.haskell.org/package/"
2342 "conduit-combinators-" version "/"
2343 "conduit-combinators-" version ".tar.gz"))
2344 (sha256
2345 (base32
2346 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2347 (build-system haskell-build-system)
2348 (inputs `(("ghc-conduit" ,ghc-conduit)
2349 ("ghc-conduit-extra" ,ghc-conduit-extra)
2350 ("ghc-transformers-base" ,ghc-transformers-base)
2351 ("ghc-primitive" ,ghc-primitive)
2352 ("ghc-vector" ,ghc-vector)
2353 ("ghc-void" ,ghc-void)
2354 ("ghc-mwc-random" ,ghc-mwc-random)
2355 ("ghc-unix-compat" ,ghc-unix-compat)
2356 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2357 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2358 ("ghc-resourcet" ,ghc-resourcet)
2359 ("ghc-monad-control" ,ghc-monad-control)
2360 ("ghc-chunked-data" ,ghc-chunked-data)
2361 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2362 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2363 ("ghc-silently" ,ghc-silently)
2364 ("ghc-safe" ,ghc-safe)
2365 ("ghc-quickcheck" ,ghc-quickcheck)))
2366 (home-page "https://github.com/snoyberg/mono-traversable")
2367 (synopsis "Commonly used conduit functions, for both chunked and
2368 unchunked data")
2369 (description "This Haskell package provides a replacement for Data.Conduit.List,
2370 as well as a convenient Conduit module.")
2371 (license license:expat)))
2372
2373 (define-public ghc-conduit-extra
2374 (package
2375 (name "ghc-conduit-extra")
2376 (version "1.3.4")
2377 (source
2378 (origin
2379 (method url-fetch)
2380 (uri (string-append "https://hackage.haskell.org/package/"
2381 "conduit-extra/conduit-extra-"
2382 version ".tar.gz"))
2383 (sha256
2384 (base32
2385 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2386 (build-system haskell-build-system)
2387 (inputs
2388 `(("ghc-conduit" ,ghc-conduit)
2389 ("ghc-exceptions" ,ghc-exceptions)
2390 ("ghc-monad-control" ,ghc-monad-control)
2391 ("ghc-transformers-base" ,ghc-transformers-base)
2392 ("ghc-typed-process" ,ghc-typed-process)
2393 ("ghc-async" ,ghc-async)
2394 ("ghc-attoparsec" ,ghc-attoparsec)
2395 ("ghc-blaze-builder" ,ghc-blaze-builder)
2396 ("ghc-network" ,ghc-network)
2397 ("ghc-primitive" ,ghc-primitive)
2398 ("ghc-resourcet" ,ghc-resourcet)
2399 ("ghc-streaming-commons" ,ghc-streaming-commons)
2400 ("ghc-hspec" ,ghc-hspec)
2401 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2402 ("ghc-quickcheck" ,ghc-quickcheck)))
2403 (native-inputs
2404 `(("hspec-discover" ,hspec-discover)))
2405 (home-page "https://github.com/snoyberg/conduit")
2406 (synopsis "Conduit adapters for common libraries")
2407 (description
2408 "The @code{conduit} package itself maintains relative small dependencies.
2409 The purpose of this package is to collect commonly used utility functions
2410 wrapping other library dependencies, without depending on heavier-weight
2411 dependencies. The basic idea is that this package should only depend on
2412 @code{haskell-platform} packages and @code{conduit}.")
2413 (license license:expat)))
2414
2415 (define-public ghc-conduit-zstd
2416 (package
2417 (name "ghc-conduit-zstd")
2418 (version "0.0.1.1")
2419 (source
2420 (origin
2421 (method url-fetch)
2422 (uri (string-append "https://hackage.haskell.org/package/"
2423 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2424 (sha256
2425 (base32
2426 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2427 (build-system haskell-build-system)
2428 (inputs
2429 `(("ghc-conduit" ,ghc-conduit)
2430 ("ghc-zstd" ,ghc-zstd)))
2431 (native-inputs
2432 `(("ghc-hunit" ,ghc-hunit)
2433 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2434 ("ghc-conduit-extra" ,ghc-conduit-extra)
2435 ("ghc-test-framework" ,ghc-test-framework)
2436 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2437 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2438 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2439 (synopsis "Conduit-based ZStd Compression")
2440 (description "Zstandard compression packaged as a conduit. This is
2441 a very thin wrapper around the
2442 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2443 interface}.")
2444 (license license:expat)))
2445
2446 (define-public ghc-configurator
2447 (package
2448 (name "ghc-configurator")
2449 (version "0.3.0.0")
2450 (source
2451 (origin
2452 (method url-fetch)
2453 (uri (string-append "https://hackage.haskell.org/package/"
2454 "configurator/configurator-"
2455 version ".tar.gz"))
2456 (sha256
2457 (base32
2458 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2459 (build-system haskell-build-system)
2460 (inputs
2461 `(("ghc-attoparsec" ,ghc-attoparsec)
2462 ("ghc-hashable" ,ghc-hashable)
2463 ("ghc-unix-compat" ,ghc-unix-compat)
2464 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2465 (native-inputs
2466 `(("ghc-hunit" ,ghc-hunit)
2467 ("ghc-test-framework" ,ghc-test-framework)
2468 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2469 (home-page "https://github.com/bos/configurator")
2470 (synopsis "Configuration management")
2471 (description
2472 "This package provides a configuration management library for programs
2473 and daemons. The features include:
2474
2475 @enumerate
2476 @item Automatic, dynamic reloading in response to modifications to
2477 configuration files.
2478 @item A simple, but flexible, configuration language, supporting several of
2479 the most commonly needed types of data, along with interpolation of strings
2480 from the configuration or the system environment (e.g. @code{$(HOME)}).
2481 @item Subscription-based notification of changes to configuration properties.
2482 @item An @code{import} directive allows the configuration of a complex
2483 application to be split across several smaller files, or common configuration
2484 data to be shared across several applications.
2485 @end enumerate\n")
2486 (license license:bsd-3)))
2487
2488 (define-public ghc-connection
2489 (package
2490 (name "ghc-connection")
2491 (version "0.3.1")
2492 (source (origin
2493 (method url-fetch)
2494 (uri (string-append "https://hackage.haskell.org/package/"
2495 "connection/connection-"
2496 version ".tar.gz"))
2497 (sha256
2498 (base32
2499 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2500 (build-system haskell-build-system)
2501 (inputs
2502 `(("ghc-byteable" ,ghc-byteable)
2503 ("ghc-data-default-class" ,ghc-data-default-class)
2504 ("ghc-network" ,ghc-network)
2505 ("ghc-tls" ,ghc-tls)
2506 ("ghc-socks" ,ghc-socks)
2507 ("ghc-x509" ,ghc-x509)
2508 ("ghc-x509-store" ,ghc-x509-store)
2509 ("ghc-x509-system" ,ghc-x509-system)
2510 ("ghc-x509-validation" ,ghc-x509-validation)))
2511 (home-page "https://github.com/vincenthz/hs-connection")
2512 (synopsis "Simple and easy network connections API")
2513 (description
2514 "This package provides a simple network library for all your connection
2515 needs. It provides a very simple API to create sockets to a destination with
2516 the choice of SSL/TLS, and SOCKS.")
2517 (license license:bsd-3)))
2518
2519 (define-public ghc-constraints
2520 (package
2521 (name "ghc-constraints")
2522 (version "0.10.1")
2523 (source
2524 (origin
2525 (method url-fetch)
2526 (uri (string-append
2527 "https://hackage.haskell.org/package/constraints/constraints-"
2528 version ".tar.gz"))
2529 (sha256
2530 (base32
2531 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2532 (build-system haskell-build-system)
2533 (inputs
2534 `(("ghc-hashable" ,ghc-hashable)
2535 ("ghc-semigroups" ,ghc-semigroups)
2536 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2537 (native-inputs
2538 `(("ghc-hspec" ,ghc-hspec)
2539 ("hspec-discover" ,hspec-discover)))
2540 (home-page "https://github.com/ekmett/constraints/")
2541 (synopsis "Constraint manipulation")
2542 (description
2543 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2544 They stopped crashing the compiler in GHC 7.6. This package provides
2545 a vocabulary for working with them.")
2546 (license license:bsd-3)))
2547
2548 (define-public ghc-contravariant
2549 (package
2550 (name "ghc-contravariant")
2551 (version "1.5.2")
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
2556 "https://hackage.haskell.org/package/contravariant/contravariant-"
2557 version
2558 ".tar.gz"))
2559 (sha256
2560 (base32
2561 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2562 (build-system haskell-build-system)
2563 (inputs
2564 `(("ghc-void" ,ghc-void)
2565 ("ghc-transformers-compat" ,ghc-transformers-compat)
2566 ("ghc-statevar" ,ghc-statevar)
2567 ("ghc-semigroups" ,ghc-semigroups)))
2568 (home-page
2569 "https://github.com/ekmett/contravariant/")
2570 (synopsis "Contravariant functors")
2571 (description "Contravariant functors for Haskell.")
2572 (license license:bsd-3)))
2573
2574 (define-public ghc-contravariant-extras
2575 (package
2576 (name "ghc-contravariant-extras")
2577 (version "0.3.4")
2578 (source
2579 (origin
2580 (method url-fetch)
2581 (uri (string-append "https://hackage.haskell.org/package/"
2582 "contravariant-extras-" version "/"
2583 "contravariant-extras-" version ".tar.gz"))
2584 (sha256
2585 (base32
2586 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2587 (build-system haskell-build-system)
2588 (arguments
2589 `(#:cabal-revision
2590 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2591 (inputs
2592 `(("ghc-tuple-th" ,ghc-tuple-th)
2593 ("ghc-contravariant" ,ghc-contravariant)
2594 ("ghc-base-prelude" ,ghc-base-prelude)
2595 ("ghc-semigroups" ,ghc-semigroups)))
2596 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2597 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2598 (description "This Haskell package provides extras for the
2599 @code{ghc-contravariant} package.")
2600 (license license:expat)))
2601
2602 (define-public ghc-convertible
2603 (package
2604 (name "ghc-convertible")
2605 (version "1.1.1.0")
2606 (source
2607 (origin
2608 (method url-fetch)
2609 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2610 "convertible-" version ".tar.gz"))
2611 (sha256
2612 (base32
2613 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2614 (build-system haskell-build-system)
2615 (inputs
2616 `(("ghc-old-time" ,ghc-old-time)
2617 ("ghc-old-locale" ,ghc-old-locale)))
2618 (home-page "https://hackage.haskell.org/package/convertible")
2619 (synopsis "Typeclasses and instances for converting between types")
2620 (description
2621 "This package provides a typeclass with a single function that is
2622 designed to help convert between different types: numeric values, dates and
2623 times, and the like. The conversions perform bounds checking and return a
2624 pure @code{Either} value. This means that you need not remember which specific
2625 function performs the conversion you desire.")
2626 (license license:bsd-3)))
2627
2628 (define-public ghc-data-accessor
2629 (package
2630 (name "ghc-data-accessor")
2631 (version "0.2.2.8")
2632 (source
2633 (origin
2634 (method url-fetch)
2635 (uri (string-append
2636 "mirror://hackage/package/data-accessor/data-accessor-"
2637 version ".tar.gz"))
2638 (sha256
2639 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2640 (build-system haskell-build-system)
2641 (home-page "https://wiki.haskell.org/Record_access")
2642 (synopsis
2643 "Haskell utilities for accessing and manipulating fields of records")
2644 (description "This package provides Haskell modules for accessing and
2645 manipulating fields of records.")
2646 (license license:bsd-3)))
2647
2648 (define-public ghc-data-accessor-transformers
2649 (package
2650 (name "ghc-data-accessor-transformers")
2651 (version "0.2.1.7")
2652 (source
2653 (origin
2654 (method url-fetch)
2655 (uri (string-append
2656 "mirror://hackage/package/data-accessor-transformers/"
2657 "data-accessor-transformers-" version ".tar.gz"))
2658 (sha256
2659 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2660 (build-system haskell-build-system)
2661 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2662 (home-page "https://wiki.haskell.org/Record_access")
2663 (synopsis "Use Accessor to access state in transformers State monad")
2664 (description "This package provides Haskell modules to allow use of
2665 Accessor to access state in transformers State monad.")
2666 (license license:bsd-3)))
2667
2668 (define-public ghc-data-default
2669 (package
2670 (name "ghc-data-default")
2671 (version "0.7.1.1")
2672 (source
2673 (origin
2674 (method url-fetch)
2675 (uri (string-append
2676 "https://hackage.haskell.org/package/data-default/data-default-"
2677 version
2678 ".tar.gz"))
2679 (sha256
2680 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2681 (build-system haskell-build-system)
2682 (inputs
2683 `(("ghc-data-default-class"
2684 ,ghc-data-default-class)
2685 ("ghc-data-default-instances-base"
2686 ,ghc-data-default-instances-base)
2687 ("ghc-data-default-instances-containers"
2688 ,ghc-data-default-instances-containers)
2689 ("ghc-data-default-instances-dlist"
2690 ,ghc-data-default-instances-dlist)
2691 ("ghc-data-default-instances-old-locale"
2692 ,ghc-data-default-instances-old-locale)))
2693 (home-page "https://hackage.haskell.org/package/data-default")
2694 (synopsis "Types with default values")
2695 (description
2696 "This package defines a class for types with a default value, and
2697 provides instances for types from the base, containers, dlist and old-locale
2698 packages.")
2699 (license license:bsd-3)))
2700
2701 (define-public ghc-data-default-class
2702 (package
2703 (name "ghc-data-default-class")
2704 (version "0.1.2.0")
2705 (source
2706 (origin
2707 (method url-fetch)
2708 (uri (string-append
2709 "https://hackage.haskell.org/package/data-default-class/"
2710 "data-default-class-" version ".tar.gz"))
2711 (sha256
2712 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2713 (build-system haskell-build-system)
2714 (home-page "https://hackage.haskell.org/package/data-default-class")
2715 (synopsis "Types with default values")
2716 (description
2717 "This package defines a class for types with default values.")
2718 (license license:bsd-3)))
2719
2720 (define-public ghc-data-default-instances-base
2721 (package
2722 (name "ghc-data-default-instances-base")
2723 (version "0.1.0.1")
2724 (source
2725 (origin
2726 (method url-fetch)
2727 (uri (string-append
2728 "https://hackage.haskell.org/package/"
2729 "data-default-instances-base/"
2730 "data-default-instances-base-" version ".tar.gz"))
2731 (sha256
2732 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2733 (build-system haskell-build-system)
2734 (inputs
2735 `(("ghc-data-default-class" ,ghc-data-default-class)))
2736 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2737 (synopsis "Default instances for types in base")
2738 (description
2739 "This package provides default instances for types from the base
2740 package.")
2741 (license license:bsd-3)))
2742
2743 (define-public ghc-data-default-instances-containers
2744 (package
2745 (name "ghc-data-default-instances-containers")
2746 (version "0.0.1")
2747 (source
2748 (origin
2749 (method url-fetch)
2750 (uri (string-append
2751 "https://hackage.haskell.org/package/"
2752 "data-default-instances-containers/"
2753 "data-default-instances-containers-" version ".tar.gz"))
2754 (sha256
2755 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2756 (build-system haskell-build-system)
2757 (inputs
2758 `(("ghc-data-default-class" ,ghc-data-default-class)))
2759 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2760 (synopsis "Default instances for types in containers")
2761 (description "Provides default instances for types from the containers
2762 package.")
2763 (license license:bsd-3)))
2764
2765 (define-public ghc-data-default-instances-dlist
2766 (package
2767 (name "ghc-data-default-instances-dlist")
2768 (version "0.0.1")
2769 (source
2770 (origin
2771 (method url-fetch)
2772 (uri (string-append
2773 "https://hackage.haskell.org/package/"
2774 "data-default-instances-dlist/"
2775 "data-default-instances-dlist-" version ".tar.gz"))
2776 (sha256
2777 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2778 (build-system haskell-build-system)
2779 (inputs
2780 `(("ghc-data-default-class" ,ghc-data-default-class)
2781 ("ghc-dlist" ,ghc-dlist)))
2782 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2783 (synopsis "Default instances for types in dlist")
2784 (description "Provides default instances for types from the dlist
2785 package.")
2786 (license license:bsd-3)))
2787
2788 (define-public ghc-data-default-instances-old-locale
2789 (package
2790 (name "ghc-data-default-instances-old-locale")
2791 (version "0.0.1")
2792 (source
2793 (origin
2794 (method url-fetch)
2795 (uri (string-append
2796 "https://hackage.haskell.org/package/"
2797 "data-default-instances-old-locale/"
2798 "data-default-instances-old-locale-" version ".tar.gz"))
2799 (sha256
2800 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2801 (build-system haskell-build-system)
2802 (inputs
2803 `(("ghc-data-default-class" ,ghc-data-default-class)
2804 ("ghc-old-locale" ,ghc-old-locale)))
2805 (home-page
2806 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2807 (synopsis "Default instances for types in old-locale")
2808 (description "Provides Default instances for types from the old-locale
2809 package.")
2810 (license license:bsd-3)))
2811
2812 (define-public ghc-data-fix
2813 (package
2814 (name "ghc-data-fix")
2815 (version "0.2.0")
2816 (source
2817 (origin
2818 (method url-fetch)
2819 (uri (string-append
2820 "mirror://hackage/package/data-fix/"
2821 "data-fix-" version ".tar.gz"))
2822 (sha256
2823 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2824 (build-system haskell-build-system)
2825 (home-page "https://github.com/spell-music/data-fix")
2826 (synopsis "Fixpoint data types")
2827 (description
2828 "Fixpoint types and recursion schemes. If you define your AST as
2829 fixpoint type, you get fold and unfold operations for free.
2830
2831 Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2832 (license license:bsd-3)))
2833
2834 (define-public ghc-data-hash
2835 (package
2836 (name "ghc-data-hash")
2837 (version "0.2.0.1")
2838 (source
2839 (origin
2840 (method url-fetch)
2841 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2842 "/data-hash-" version ".tar.gz"))
2843 (sha256
2844 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2845 (build-system haskell-build-system)
2846 (inputs
2847 `(("ghc-quickcheck" ,ghc-quickcheck)
2848 ("ghc-test-framework" ,ghc-test-framework)
2849 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2850 (home-page "https://hackage.haskell.org/package/data-hash")
2851 (synopsis "Combinators for building fast hashing functions")
2852 (description
2853 "This package provides combinators for building fast hashing functions.
2854 It includes hashing functions for all basic Haskell98 types.")
2855 (license license:bsd-3)))
2856
2857 (define-public ghc-data-ordlist
2858 (package
2859 (name "ghc-data-ordlist")
2860 (version "0.4.7.0")
2861 (source
2862 (origin
2863 (method url-fetch)
2864 (uri (string-append
2865 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2866 version ".tar.gz"))
2867 (sha256
2868 (base32
2869 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2870 (build-system haskell-build-system)
2871 (home-page "https://hackage.haskell.org/package/data-ordlist")
2872 (synopsis "Set and bag operations on ordered lists")
2873 (description
2874 "This module provides set and multiset operations on ordered lists.")
2875 (license license:bsd-3)))
2876
2877 (define-public ghc-dbus
2878 (package
2879 (name "ghc-dbus")
2880 (version "1.2.7")
2881 (source
2882 (origin
2883 (method url-fetch)
2884 (uri
2885 (string-append
2886 "mirror://hackage/package/dbus/dbus-"
2887 version ".tar.gz"))
2888 (sha256
2889 (base32
2890 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2891 (build-system haskell-build-system)
2892 (inputs
2893 `(("ghc-cereal" ,ghc-cereal)
2894 ("ghc-conduit" ,ghc-conduit)
2895 ("ghc-exceptions" ,ghc-exceptions)
2896 ("ghc-lens" ,ghc-lens)
2897 ("ghc-network" ,ghc-network)
2898 ("ghc-random" ,ghc-random)
2899 ("ghc-split" ,ghc-split)
2900 ("ghc-th-lift" ,ghc-th-lift)
2901 ("ghc-vector" ,ghc-vector)
2902 ("ghc-xml-conduit" ,ghc-xml-conduit)
2903 ("ghc-xml-types" ,ghc-xml-types)))
2904 (native-inputs
2905 `(("ghc-extra" ,ghc-extra)
2906 ("ghc-quickcheck" ,ghc-quickcheck)
2907 ("ghc-resourcet" ,ghc-resourcet)
2908 ("ghc-tasty" ,ghc-tasty)
2909 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2910 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2911 ;; FIXME - Some tests try to talk to network.
2912 (arguments `(#:tests? #f))
2913 (home-page "https://github.com/rblaze/haskell-dbus")
2914 (synopsis "Client library for the D-Bus IPC system")
2915 (description
2916 "D-Bus is a simple, message-based protocol for inter-process
2917 communication, which allows applications to interact with other parts
2918 of the machine and the user's session using remote procedure
2919 calls. D-Bus is a essential part of the modern Linux desktop, where
2920 it replaces earlier protocols such as CORBA and DCOP. This library
2921 is an implementation of the D-Bus protocol in Haskell. It can be used
2922 to add D-Bus support to Haskell applications, without the awkward
2923 interfaces common to foreign bindings.")
2924 (license license:asl2.0)))
2925
2926 (define-public ghc-deepseq-generics
2927 (package
2928 (name "ghc-deepseq-generics")
2929 (version "0.2.0.0")
2930 (source (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/"
2933 "deepseq-generics/deepseq-generics-"
2934 version ".tar.gz"))
2935 (sha256
2936 (base32
2937 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2938 (build-system haskell-build-system)
2939 (arguments
2940 `(#:cabal-revision
2941 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
2942 (native-inputs
2943 `(("ghc-hunit" ,ghc-hunit)
2944 ("ghc-test-framework" ,ghc-test-framework)
2945 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2946 (home-page "https://github.com/hvr/deepseq-generics")
2947 (synopsis "Generic RNF implementation")
2948 (description
2949 "This package provides a @code{GHC.Generics}-based
2950 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2951 providing an @code{rnf} implementation.")
2952 (license license:bsd-3)))
2953
2954 (define-public ghc-dense-linear-algebra
2955 (package
2956 (name "ghc-dense-linear-algebra")
2957 (version "0.1.0.0")
2958 (source
2959 (origin
2960 (method url-fetch)
2961 (uri (string-append "https://hackage.haskell.org/package/"
2962 "dense-linear-algebra/dense-linear-algebra-"
2963 version ".tar.gz"))
2964 (sha256
2965 (base32
2966 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2967 (build-system haskell-build-system)
2968 (inputs
2969 `(("ghc-math-functions" ,ghc-math-functions)
2970 ("ghc-primitive" ,ghc-primitive)
2971 ("ghc-vector" ,ghc-vector)
2972 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2973 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2974 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2975 (native-inputs
2976 `(("ghc-hspec" ,ghc-hspec)
2977 ("ghc-quickcheck" ,ghc-quickcheck)))
2978 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
2979 (synopsis "Simple and incomplete implementation of linear algebra")
2980 (description "This library is simply a collection of linear-algebra
2981 related modules split from the statistics library.")
2982 (license license:bsd-2)))
2983
2984 (define-public ghc-descriptive
2985 (package
2986 (name "ghc-descriptive")
2987 (version "0.9.5")
2988 (source
2989 (origin
2990 (method url-fetch)
2991 (uri (string-append
2992 "https://hackage.haskell.org/package/descriptive/descriptive-"
2993 version
2994 ".tar.gz"))
2995 (sha256
2996 (base32
2997 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2998 (build-system haskell-build-system)
2999 (inputs
3000 `(("ghc-aeson" ,ghc-aeson)
3001 ("ghc-bifunctors" ,ghc-bifunctors)
3002 ("ghc-scientific" ,ghc-scientific)
3003 ("ghc-vector" ,ghc-vector)))
3004 (native-inputs
3005 `(("ghc-hunit" ,ghc-hunit)
3006 ("ghc-hspec" ,ghc-hspec)))
3007 (home-page
3008 "https://github.com/chrisdone/descriptive")
3009 (synopsis
3010 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3011 (description
3012 "This package provides datatypes and functions for creating consumers
3013 and parsers with useful semantics.")
3014 (license license:bsd-3)))
3015
3016 (define-public ghc-diagrams-core
3017 (package
3018 (name "ghc-diagrams-core")
3019 (version "1.4.2")
3020 (source
3021 (origin
3022 (method url-fetch)
3023 (uri (string-append "https://hackage.haskell.org/package/"
3024 "diagrams-core/diagrams-core-" version ".tar.gz"))
3025 (sha256
3026 (base32
3027 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3028 (build-system haskell-build-system)
3029 (inputs
3030 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3031 ("ghc-semigroups" ,ghc-semigroups)
3032 ("ghc-monoid-extras" ,ghc-monoid-extras)
3033 ("ghc-dual-tree" ,ghc-dual-tree)
3034 ("ghc-lens" ,ghc-lens)
3035 ("ghc-linear" ,ghc-linear)
3036 ("ghc-adjunctions" ,ghc-adjunctions)
3037 ("ghc-distributive" ,ghc-distributive)
3038 ("ghc-profunctors" ,ghc-profunctors)))
3039 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3040 (synopsis "Core libraries for diagrams embedded domain-specific language")
3041 (description "This package provides the core modules underlying
3042 diagrams, an embedded domain-specific language for compositional,
3043 declarative drawing.")
3044 (license license:bsd-3)))
3045
3046 (define-public ghc-diagrams-lib
3047 (package
3048 (name "ghc-diagrams-lib")
3049 (version "1.4.2.3")
3050 (source
3051 (origin
3052 (method url-fetch)
3053 (uri (string-append "https://hackage.haskell.org/package/"
3054 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3055 (sha256
3056 (base32
3057 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3058 (build-system haskell-build-system)
3059 (inputs
3060 `(("ghc-semigroups" ,ghc-semigroups)
3061 ("ghc-monoid-extras" ,ghc-monoid-extras)
3062 ("ghc-dual-tree" ,ghc-dual-tree)
3063 ("ghc-diagrams-core" ,ghc-diagrams-core)
3064 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3065 ("ghc-active" ,ghc-active)
3066 ("ghc-colour" ,ghc-colour)
3067 ("ghc-data-default-class" ,ghc-data-default-class)
3068 ("ghc-fingertree" ,ghc-fingertree)
3069 ("ghc-intervals" ,ghc-intervals)
3070 ("ghc-lens" ,ghc-lens)
3071 ("ghc-tagged" ,ghc-tagged)
3072 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3073 ("ghc-juicypixels" ,ghc-juicypixels)
3074 ("ghc-hashable" ,ghc-hashable)
3075 ("ghc-linear" ,ghc-linear)
3076 ("ghc-adjunctions" ,ghc-adjunctions)
3077 ("ghc-distributive" ,ghc-distributive)
3078 ("ghc-fsnotify" ,ghc-fsnotify)
3079 ("ghc-unordered-containers" ,ghc-unordered-containers)
3080 ("ghc-profunctors" ,ghc-profunctors)
3081 ("ghc-exceptions" ,ghc-exceptions)
3082 ("ghc-cereal" ,ghc-cereal)))
3083 (native-inputs
3084 `(("ghc-tasty" ,ghc-tasty)
3085 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3086 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3087 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3088 (arguments
3089 `(#:cabal-revision
3090 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3091 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3092 (synopsis "Embedded domain-specific language for declarative graphics")
3093 (description "Diagrams is a flexible, extensible embedded
3094 domain-specific language (EDSL) for creating graphics of many types.
3095 Graphics can be created in arbitrary vector spaces and rendered with
3096 multiple backends. This package provides a standard library of
3097 primitives and operations for creating diagrams.")
3098 (license license:bsd-3)))
3099
3100 (define-public ghc-diagrams-solve
3101 (package
3102 (name "ghc-diagrams-solve")
3103 (version "0.1.1")
3104 (source
3105 (origin
3106 (method url-fetch)
3107 (uri (string-append "https://hackage.haskell.org/package/"
3108 "diagrams-solve/diagrams-solve-"
3109 version ".tar.gz"))
3110 (sha256
3111 (base32
3112 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3113 (build-system haskell-build-system)
3114 (native-inputs
3115 `(("ghc-tasty" ,ghc-tasty)
3116 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3117 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3118 (arguments
3119 `(#:cabal-revision
3120 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3121 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3122 (synopsis "Pure Haskell solver routines used by diagrams")
3123 (description "This library provides Pure Haskell solver routines for
3124 use by the
3125 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3126 diagrams framework}. It currently includes routines for finding real
3127 roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3128 and cyclic tridiagonal linear systems.")
3129 (license license:bsd-3)))
3130
3131 (define-public ghc-diagrams-svg
3132 (package
3133 (name "ghc-diagrams-svg")
3134 (version "1.4.2")
3135 (source
3136 (origin
3137 (method url-fetch)
3138 (uri (string-append "https://hackage.haskell.org/package/"
3139 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3140 (sha256
3141 (base32
3142 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3143 (build-system haskell-build-system)
3144 (inputs
3145 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3146 ("ghc-colour" ,ghc-colour)
3147 ("ghc-diagrams-core" ,ghc-diagrams-core)
3148 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3149 ("ghc-monoid-extras" ,ghc-monoid-extras)
3150 ("ghc-svg-builder" ,ghc-svg-builder)
3151 ("ghc-juicypixels" ,ghc-juicypixels)
3152 ("ghc-split" ,ghc-split)
3153 ("ghc-lens" ,ghc-lens)
3154 ("ghc-hashable" ,ghc-hashable)
3155 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3156 ("ghc-semigroups" ,ghc-semigroups)))
3157 (arguments
3158 `(#:cabal-revision
3159 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3160 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3161 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3162 (description "This package provides a modular backend for rendering
3163 diagrams created with the diagrams embedded domain-specific
3164 language (EDSL) to Scalable Vector Graphics (SVG) files.")
3165 (license license:bsd-3)))
3166
3167 (define-public ghc-dictionary-sharing
3168 (package
3169 (name "ghc-dictionary-sharing")
3170 (version "0.1.0.0")
3171 (source
3172 (origin
3173 (method url-fetch)
3174 (uri (string-append "https://hackage.haskell.org/package/"
3175 "dictionary-sharing/dictionary-sharing-"
3176 version ".tar.gz"))
3177 (sha256
3178 (base32
3179 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3180 (build-system haskell-build-system)
3181 (arguments
3182 `(#:cabal-revision
3183 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3184 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3185 (synopsis "Sharing/memoization of class members")
3186 (description "This library provides tools for ensuring that class
3187 members are shared.")
3188 (license license:bsd-3)))
3189
3190 (define-public ghc-diff
3191 (package
3192 (name "ghc-diff")
3193 (version "0.3.4")
3194 (source (origin
3195 (method url-fetch)
3196 (uri (string-append "https://hackage.haskell.org/package/"
3197 "Diff/Diff-" version ".tar.gz"))
3198 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
3199 (sha256
3200 (base32
3201 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3202 (build-system haskell-build-system)
3203 (native-inputs
3204 `(("ghc-quickcheck" ,ghc-quickcheck)
3205 ("ghc-test-framework" ,ghc-test-framework)
3206 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3207 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3208 (synopsis "O(ND) diff algorithm in Haskell")
3209 (description
3210 "This package provides an implementation of the standard diff algorithm,
3211 and utilities for pretty printing.")
3212 (license license:bsd-3)))
3213
3214 (define-public ghc-disk-free-space
3215 (package
3216 (name "ghc-disk-free-space")
3217 (version "0.1.0.1")
3218 (source
3219 (origin
3220 (method url-fetch)
3221 (uri (string-append "https://hackage.haskell.org/package/"
3222 "disk-free-space/disk-free-space-"
3223 version ".tar.gz"))
3224 (sha256
3225 (base32
3226 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3227 (build-system haskell-build-system)
3228 (home-page "https://github.com/redneb/disk-free-space")
3229 (synopsis "Retrieve information about disk space usage")
3230 (description "A cross-platform library for retrieving information about
3231 disk space usage.")
3232 (license license:bsd-3)))
3233
3234 (define-public ghc-distributive
3235 (package
3236 (name "ghc-distributive")
3237 (version "0.6.1")
3238 (source
3239 (origin
3240 (method url-fetch)
3241 (uri (string-append
3242 "https://hackage.haskell.org/package/distributive/distributive-"
3243 version
3244 ".tar.gz"))
3245 (sha256
3246 (base32
3247 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
3248 (build-system haskell-build-system)
3249 (inputs
3250 `(("ghc-tagged" ,ghc-tagged)
3251 ("ghc-base-orphans" ,ghc-base-orphans)
3252 ("ghc-transformers-compat" ,ghc-transformers-compat)
3253 ("ghc-semigroups" ,ghc-semigroups)
3254 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3255 (native-inputs
3256 `(("cabal-doctest" ,cabal-doctest)
3257 ("ghc-doctest" ,ghc-doctest)
3258 ("ghc-hspec" ,ghc-hspec)
3259 ("hspec-discover" ,hspec-discover)))
3260 (home-page "https://github.com/ekmett/distributive/")
3261 (synopsis "Distributive functors for Haskell")
3262 (description "This package provides distributive functors for Haskell.
3263 Dual to @code{Traversable}.")
3264 (license license:bsd-3)))
3265
3266 (define-public ghc-dlist
3267 (package
3268 (name "ghc-dlist")
3269 (version "0.8.0.7")
3270 (source
3271 (origin
3272 (method url-fetch)
3273 (uri (string-append
3274 "https://hackage.haskell.org/package/dlist/dlist-"
3275 version
3276 ".tar.gz"))
3277 (sha256
3278 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
3279 (build-system haskell-build-system)
3280 (inputs
3281 `(("ghc-quickcheck" ,ghc-quickcheck)))
3282 (home-page "https://github.com/spl/dlist")
3283 (synopsis "Difference lists")
3284 (description
3285 "Difference lists are a list-like type supporting O(1) append. This is
3286 particularly useful for efficient logging and pretty printing (e.g. with the
3287 Writer monad), where list append quickly becomes too expensive.")
3288 (license license:bsd-3)))
3289
3290 (define-public ghc-doctemplates
3291 (package
3292 (name "ghc-doctemplates")
3293 (version "0.2.2.1")
3294 (source
3295 (origin
3296 (method url-fetch)
3297 (uri (string-append "https://hackage.haskell.org/package/"
3298 "doctemplates/doctemplates-"
3299 version ".tar.gz"))
3300 (sha256
3301 (base32
3302 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3303 (build-system haskell-build-system)
3304 (inputs
3305 `(("ghc-aeson" ,ghc-aeson)
3306 ("ghc-blaze-markup" ,ghc-blaze-markup)
3307 ("ghc-blaze-html" ,ghc-blaze-html)
3308 ("ghc-vector" ,ghc-vector)
3309 ("ghc-unordered-containers" ,ghc-unordered-containers)
3310 ("ghc-scientific" ,ghc-scientific)))
3311 (native-inputs
3312 `(("ghc-hspec" ,ghc-hspec)))
3313 (home-page "https://github.com/jgm/doctemplates#readme")
3314 (synopsis "Pandoc-style document templates")
3315 (description
3316 "This package provides a simple text templating system used by pandoc.")
3317 (license license:bsd-3)))
3318
3319 (define-public ghc-doctest
3320 (package
3321 (name "ghc-doctest")
3322 (version "0.16.2")
3323 (source
3324 (origin
3325 (method url-fetch)
3326 (uri (string-append
3327 "https://hackage.haskell.org/package/doctest/doctest-"
3328 version
3329 ".tar.gz"))
3330 (sha256
3331 (base32
3332 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
3333 (build-system haskell-build-system)
3334 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3335 (inputs
3336 `(("ghc-syb" ,ghc-syb)
3337 ("ghc-paths" ,ghc-paths)
3338 ("ghc-base-compat" ,ghc-base-compat)
3339 ("ghc-code-page" ,ghc-code-page)
3340 ("ghc-hunit" ,ghc-hunit)
3341 ("ghc-hspec" ,ghc-hspec)
3342 ("ghc-quickcheck" ,ghc-quickcheck)
3343 ("ghc-stringbuilder" ,ghc-stringbuilder)
3344 ("ghc-silently" ,ghc-silently)
3345 ("ghc-setenv" ,ghc-setenv)))
3346 (home-page
3347 "https://github.com/sol/doctest#readme")
3348 (synopsis "Test interactive Haskell examples")
3349 (description "The doctest program checks examples in source code comments.
3350 It is modeled after doctest for Python, see
3351 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3352 (license license:expat)))
3353
3354 (define-public ghc-dotgen
3355 (package
3356 (name "ghc-dotgen")
3357 (version "0.4.2")
3358 (source
3359 (origin
3360 (method url-fetch)
3361 (uri (string-append
3362 "mirror://hackage/package/dotgen/dotgen-"
3363 version
3364 ".tar.gz"))
3365 (sha256
3366 (base32
3367 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3368 (build-system haskell-build-system)
3369 (home-page "https://github.com/ku-fpg/dotgen")
3370 (synopsis
3371 "Simple interface for building .dot graph files")
3372 (description
3373 "This package provides a simple interface for building .dot graph
3374 files, for input into the dot and graphviz tools. It includes a
3375 monadic interface for building graphs.")
3376 (license license:bsd-3)))
3377
3378 (define-public ghc-double-conversion
3379 (package
3380 (name "ghc-double-conversion")
3381 (version "2.0.2.0")
3382 (source
3383 (origin
3384 (method url-fetch)
3385 (uri (string-append "https://hackage.haskell.org/package/"
3386 "double-conversion/double-conversion-"
3387 version ".tar.gz"))
3388 (sha256
3389 (base32
3390 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3391 (build-system haskell-build-system)
3392 (native-inputs
3393 `(("ghc-hunit" ,ghc-hunit)
3394 ("ghc-test-framework" ,ghc-test-framework)
3395 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3396 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3397 (home-page "https://github.com/bos/double-conversion")
3398 (synopsis "Fast conversion between double precision floating point and text")
3399 (description
3400 "This package provides a library that performs fast, accurate conversion
3401 between double precision floating point and text.")
3402 (license license:bsd-3)))
3403
3404 (define-public ghc-dual-tree
3405 (package
3406 (name "ghc-dual-tree")
3407 (version "0.2.2.1")
3408 (source
3409 (origin
3410 (method url-fetch)
3411 (uri (string-append "https://hackage.haskell.org/package/"
3412 "dual-tree/dual-tree-" version ".tar.gz"))
3413 (sha256
3414 (base32
3415 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3416 (build-system haskell-build-system)
3417 (inputs
3418 `(("ghc-semigroups" ,ghc-semigroups)
3419 ("ghc-newtype-generics" ,ghc-newtype-generics)
3420 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3421 (native-inputs
3422 `(("ghc-quickcheck" ,ghc-quickcheck)
3423 ("ghc-testing-feat" ,ghc-testing-feat)))
3424 (home-page "https://hackage.haskell.org/package/dual-tree")
3425 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3426 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3427 cached) and downwards-traveling (i.e. accumulating) monoidal
3428 annotations. This is used as the core data structure underlying the
3429 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3430 diagrams framework}, but potentially has other applications as well.")
3431 (license license:bsd-3)))
3432
3433 (define-public ghc-easy-file
3434 (package
3435 (name "ghc-easy-file")
3436 (version "0.2.2")
3437 (source
3438 (origin
3439 (method url-fetch)
3440 (uri (string-append
3441 "https://hackage.haskell.org/package/easy-file/easy-file-"
3442 version
3443 ".tar.gz"))
3444 (sha256
3445 (base32
3446 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3447 (build-system haskell-build-system)
3448 (home-page
3449 "https://github.com/kazu-yamamoto/easy-file")
3450 (synopsis "File handling library for Haskell")
3451 (description "This library provides file handling utilities for Haskell.")
3452 (license license:bsd-3)))
3453
3454 (define-public ghc-easyplot
3455 (package
3456 (name "ghc-easyplot")
3457 (version "1.0")
3458 (source
3459 (origin
3460 (method url-fetch)
3461 (uri (string-append
3462 "https://hackage.haskell.org/package/easyplot/easyplot-"
3463 version ".tar.gz"))
3464 (sha256
3465 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3466 (build-system haskell-build-system)
3467 (propagated-inputs `(("gnuplot" ,gnuplot)))
3468 (arguments
3469 `(#:phases (modify-phases %standard-phases
3470 (add-after 'unpack 'fix-setup-suffix
3471 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3472 (home-page "https://hub.darcs.net/scravy/easyplot")
3473 (synopsis "Haskell plotting library based on gnuplot")
3474 (description "This package provides a plotting library for
3475 Haskell, using gnuplot for rendering.")
3476 (license license:expat)))
3477
3478 (define-public ghc-echo
3479 (package
3480 (name "ghc-echo")
3481 (version "0.1.3")
3482 (source
3483 (origin
3484 (method url-fetch)
3485 (uri (string-append
3486 "https://hackage.haskell.org/package/echo/echo-"
3487 version ".tar.gz"))
3488 (sha256
3489 (base32
3490 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3491 (build-system haskell-build-system)
3492 (arguments
3493 `(#:cabal-revision
3494 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3495 (home-page "https://github.com/RyanGlScott/echo")
3496 (synopsis "Echo terminal input portably")
3497 (description "The @code{base} library exposes the @code{hGetEcho} and
3498 @code{hSetEcho} functions for querying and setting echo status, but
3499 unfortunately, neither function works with MinTTY consoles on Windows.
3500 This library provides an alternative interface which works with both
3501 MinTTY and other consoles.")
3502 (license license:bsd-3)))
3503
3504 (define-public ghc-edisonapi
3505 (package
3506 (name "ghc-edisonapi")
3507 (version "1.3.1")
3508 (source
3509 (origin
3510 (method url-fetch)
3511 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3512 "/EdisonAPI-" version ".tar.gz"))
3513 (sha256
3514 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3515 (build-system haskell-build-system)
3516 (home-page "http://rwd.rdockins.name/edison/home/")
3517 (synopsis "Library of efficient, purely-functional data structures (API)")
3518 (description
3519 "Edison is a library of purely functional data structures written by
3520 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3521 value EDiSon (Efficient Data Structures). Edison provides several families of
3522 abstractions, each with multiple implementations. The main abstractions
3523 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3524 Collections such as sets, bags and heaps; and Associative Collections such as
3525 finite maps and priority queues where the priority and element are distinct.")
3526 (license license:expat)))
3527
3528 (define-public ghc-edisoncore
3529 (package
3530 (name "ghc-edisoncore")
3531 (version "1.3.2.1")
3532 (source
3533 (origin
3534 (method url-fetch)
3535 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3536 "/EdisonCore-" version ".tar.gz"))
3537 (sha256
3538 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3539 (build-system haskell-build-system)
3540 (inputs
3541 `(("ghc-quickcheck" ,ghc-quickcheck)
3542 ("ghc-edisonapi" ,ghc-edisonapi)))
3543 (home-page "http://rwd.rdockins.name/edison/home/")
3544 (synopsis "Library of efficient, purely-functional data structures")
3545 (description
3546 "This package provides the core Edison data structure implementations,
3547 including multiple sequence, set, bag, and finite map concrete implementations
3548 with various performance characteristics.")
3549 (license license:expat)))
3550
3551 (define-public ghc-edit-distance
3552 (package
3553 (name "ghc-edit-distance")
3554 (version "0.2.2.1")
3555 (source
3556 (origin
3557 (method url-fetch)
3558 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3559 "/edit-distance-" version ".tar.gz"))
3560 (sha256
3561 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3562 (build-system haskell-build-system)
3563 (arguments
3564 `(#:phases
3565 (modify-phases %standard-phases
3566 (add-before 'configure 'update-constraints
3567 (lambda _
3568 (substitute* "edit-distance.cabal"
3569 (("QuickCheck >= 2\\.4 && <2\\.9")
3570 "QuickCheck >= 2.4 && < 2.14")))))))
3571 (inputs
3572 `(("ghc-random" ,ghc-random)
3573 ("ghc-test-framework" ,ghc-test-framework)
3574 ("ghc-quickcheck" ,ghc-quickcheck)
3575 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3576 (home-page "https://github.com/phadej/edit-distance")
3577 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3578 (description
3579 "This package provides optimized functions to determine the edit
3580 distances for fuzzy matching, including Levenshtein and restricted
3581 Damerau-Levenshtein algorithms.")
3582 (license license:bsd-3)))
3583
3584 (define-public ghc-edit-distance-vector
3585 (package
3586 (name "ghc-edit-distance-vector")
3587 (version "1.0.0.4")
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri (string-append "https://hackage.haskell.org/package/"
3592 "edit-distance-vector/edit-distance-vector-"
3593 version ".tar.gz"))
3594 (sha256
3595 (base32
3596 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3597 (build-system haskell-build-system)
3598 (inputs
3599 `(("ghc-vector" ,ghc-vector)))
3600 (native-inputs
3601 `(("ghc-quickcheck" ,ghc-quickcheck)
3602 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3603 (home-page "https://github.com/thsutton/edit-distance-vector")
3604 (synopsis "Calculate edit distances and edit scripts between vectors")
3605 (description "This package provides implementation of the
3606 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3607 script and cost between two sequences. The implementation in this
3608 package is specialised to sequences represented with @code{Data.Vector}
3609 but is otherwise agnostic to:
3610 @itemize
3611 @item The type of values in the vectors;
3612 @item The type representing edit operations; and
3613 @item The type representing the cost of operations.
3614 @end itemize")
3615 (license license:bsd-3)) )
3616
3617 (define-public ghc-either
3618 (package
3619 (name "ghc-either")
3620 (version "5.0.1.1")
3621 (source
3622 (origin
3623 (method url-fetch)
3624 (uri (string-append "https://hackage.haskell.org/package/"
3625 "either-" version "/"
3626 "either-" version ".tar.gz"))
3627 (sha256
3628 (base32
3629 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3630 (build-system haskell-build-system)
3631 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3632 ("ghc-exceptions" ,ghc-exceptions)
3633 ("ghc-free" ,ghc-free)
3634 ("ghc-monad-control" ,ghc-monad-control)
3635 ("ghc-manodrandom" ,ghc-monadrandom)
3636 ("ghc-mmorph" ,ghc-mmorph)
3637 ("ghc-profunctors" ,ghc-profunctors)
3638 ("ghc-semigroups" ,ghc-semigroups)
3639 ("ghc-semigroupoids" ,ghc-semigroupoids)
3640 ("ghc-transformers-base" ,ghc-transformers-base)))
3641 (native-inputs
3642 `(("ghc-quickcheck" ,ghc-quickcheck)
3643 ("ghc-test-framework" ,ghc-test-framework)
3644 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3645 (home-page "https://github.com/ekmett/either")
3646 (synopsis "Provides an either monad transformer for Haskell")
3647 (description "This Haskell package provides an either monad transformer.")
3648 (license license:bsd-3)))
3649
3650 (define-public ghc-email-validate
3651 (package
3652 (name "ghc-email-validate")
3653 (version "2.3.2.12")
3654 (source
3655 (origin
3656 (method url-fetch)
3657 (uri (string-append
3658 "https://hackage.haskell.org/package/"
3659 "email-validate/email-validate-"
3660 version
3661 ".tar.gz"))
3662 (sha256
3663 (base32
3664 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3665 (build-system haskell-build-system)
3666 (inputs
3667 `(("ghc-attoparsec" ,ghc-attoparsec)
3668 ("ghc-hspec" ,ghc-hspec)
3669 ("ghc-quickcheck" ,ghc-quickcheck)
3670 ("ghc-doctest" ,ghc-doctest)))
3671 (home-page
3672 "https://github.com/Porges/email-validate-hs")
3673 (synopsis "Email address validator for Haskell")
3674 (description
3675 "This Haskell package provides a validator that can validate an email
3676 address string against RFC 5322.")
3677 (license license:bsd-3)))
3678
3679 (define-public ghc-enclosed-exceptions
3680 (package
3681 (name "ghc-enclosed-exceptions")
3682 (version "1.0.3")
3683 (source (origin
3684 (method url-fetch)
3685 (uri (string-append "https://hackage.haskell.org/package/"
3686 "enclosed-exceptions/enclosed-exceptions-"
3687 version ".tar.gz"))
3688 (sha256
3689 (base32
3690 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3691 (build-system haskell-build-system)
3692 ;; FIXME: one of the tests blocks forever:
3693 ;; "thread blocked indefinitely in an MVar operation"
3694 (arguments '(#:tests? #f))
3695 (inputs
3696 `(("ghc-lifted-base" ,ghc-lifted-base)
3697 ("ghc-monad-control" ,ghc-monad-control)
3698 ("ghc-async" ,ghc-async)
3699 ("ghc-transformers-base" ,ghc-transformers-base)))
3700 (native-inputs
3701 `(("ghc-hspec" ,ghc-hspec)
3702 ("ghc-quickcheck" ,ghc-quickcheck)))
3703 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3704 (synopsis "Catch all exceptions from within an enclosed computation")
3705 (description
3706 "This library implements a technique to catch all exceptions raised
3707 within an enclosed computation, while remaining responsive to (external)
3708 asynchronous exceptions.")
3709 (license license:expat)))
3710
3711 (define-public ghc-equivalence
3712 (package
3713 (name "ghc-equivalence")
3714 (version "0.3.5")
3715 (source
3716 (origin
3717 (method url-fetch)
3718 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3719 "/equivalence-" version ".tar.gz"))
3720 (sha256
3721 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
3722 (build-system haskell-build-system)
3723 (inputs
3724 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3725 ("ghc-transformers-compat" ,ghc-transformers-compat)
3726 ("ghc-fail" ,ghc-fail)
3727 ("ghc-quickcheck" ,ghc-quickcheck)))
3728 (home-page "https://github.com/pa-ba/equivalence")
3729 (synopsis "Maintaining an equivalence relation implemented as union-find")
3730 (description
3731 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3732 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
3733 22(2), 1975) in order to maintain an equivalence relation. This
3734 implementation is a port of the @code{union-find} package using the @code{ST}
3735 monad transformer (instead of the IO monad).")
3736 (license license:bsd-3)))
3737
3738 (define-public ghc-erf
3739 (package
3740 (name "ghc-erf")
3741 (version "2.0.0.0")
3742 (source
3743 (origin
3744 (method url-fetch)
3745 (uri (string-append "https://hackage.haskell.org/package/"
3746 "erf-" version "/"
3747 "erf-" version ".tar.gz"))
3748 (sha256
3749 (base32
3750 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3751 (build-system haskell-build-system)
3752 (home-page "https://hackage.haskell.org/package/erf")
3753 (synopsis "The error function, erf, and related functions for Haskell")
3754 (description "This Haskell library provides a type class for the
3755 error function, erf, and related functions. Instances for Float and
3756 Double.")
3757 (license license:bsd-3)))
3758
3759 (define-public ghc-errorcall-eq-instance
3760 (package
3761 (name "ghc-errorcall-eq-instance")
3762 (version "0.3.0")
3763 (source
3764 (origin
3765 (method url-fetch)
3766 (uri (string-append "https://hackage.haskell.org/package/"
3767 "errorcall-eq-instance/errorcall-eq-instance-"
3768 version ".tar.gz"))
3769 (sha256
3770 (base32
3771 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3772 (build-system haskell-build-system)
3773 (inputs
3774 `(("ghc-base-orphans" ,ghc-base-orphans)))
3775 (native-inputs
3776 `(("ghc-quickcheck" ,ghc-quickcheck)
3777 ("ghc-hspec" ,ghc-hspec)
3778 ("hspec-discover" ,hspec-discover)))
3779 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
3780 (synopsis "Orphan Eq instance for ErrorCall")
3781 (description
3782 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3783 This package provides an orphan instance.")
3784 (license license:expat)))
3785
3786 (define-public ghc-errors
3787 (package
3788 (name "ghc-errors")
3789 (version "2.3.0")
3790 (source
3791 (origin
3792 (method url-fetch)
3793 (uri (string-append "https://hackage.haskell.org/package/"
3794 "errors-" version "/"
3795 "errors-" version ".tar.gz"))
3796 (sha256
3797 (base32
3798 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3799 (build-system haskell-build-system)
3800 (inputs
3801 `(("ghc-exceptions" ,ghc-exceptions)
3802 ("ghc-transformers-compat" ,ghc-transformers-compat)
3803 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3804 ("ghc-safe" ,ghc-safe)))
3805 (home-page "https://github.com/gabriel439/haskell-errors-library")
3806 (synopsis "Error handling library for Haskell")
3807 (description "This library encourages an error-handling style that
3808 directly uses the type system, rather than out-of-band exceptions.")
3809 (license license:bsd-3)))
3810
3811 (define-public ghc-esqueleto
3812 (package
3813 (name "ghc-esqueleto")
3814 (version "3.3.1.1")
3815 (source
3816 (origin
3817 (method url-fetch)
3818 (uri (string-append "https://hackage.haskell.org/package/"
3819 "esqueleto/esqueleto-" version ".tar.gz"))
3820 (sha256
3821 (base32
3822 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
3823 (build-system haskell-build-system)
3824 (arguments
3825 `(#:haddock? #f ; Haddock reports an internal error.
3826 #:phases
3827 (modify-phases %standard-phases
3828 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3829 ;; SQLite backends. Since we only have Haskell packages for
3830 ;; SQLite, we remove the other two test suites. FIXME: Add the
3831 ;; other backends and run all three test suites.
3832 (add-before 'configure 'remove-non-sqlite-test-suites
3833 (lambda _
3834 (use-modules (ice-9 rdelim))
3835 (with-atomic-file-replacement "esqueleto.cabal"
3836 (lambda (in out)
3837 (let loop ((line (read-line in 'concat)) (deleting? #f))
3838 (cond
3839 ((eof-object? line) #t)
3840 ((string-every char-set:whitespace line)
3841 (unless deleting? (display line out))
3842 (loop (read-line in 'concat) #f))
3843 ((member line '("test-suite mysql\n"
3844 "test-suite postgresql\n"))
3845 (loop (read-line in 'concat) #t))
3846 (else
3847 (unless deleting? (display line out))
3848 (loop (read-line in 'concat) deleting?)))))))))))
3849 (inputs
3850 `(("ghc-blaze-html" ,ghc-blaze-html)
3851 ("ghc-conduit" ,ghc-conduit)
3852 ("ghc-monad-logger" ,ghc-monad-logger)
3853 ("ghc-persistent" ,ghc-persistent)
3854 ("ghc-resourcet" ,ghc-resourcet)
3855 ("ghc-tagged" ,ghc-tagged)
3856 ("ghc-unliftio" ,ghc-unliftio)
3857 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3858 (native-inputs
3859 `(("ghc-hspec" ,ghc-hspec)
3860 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3861 ("ghc-persistent-template" ,ghc-persistent-template)))
3862 (home-page "https://github.com/bitemyapp/esqueleto")
3863 (synopsis "Type-safe embedded domain specific language for SQL queries")
3864 (description "This library provides a type-safe embedded domain specific
3865 language (EDSL) for SQL queries that works with SQL backends as provided by
3866 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3867 to learn new concepts, just new syntax, and it's fairly easy to predict the
3868 generated SQL and optimize it for your backend.")
3869 (license license:bsd-3)))
3870
3871 (define-public ghc-exactprint
3872 (package
3873 (name "ghc-exactprint")
3874 (version "0.6.1")
3875 (source
3876 (origin
3877 (method url-fetch)
3878 (uri (string-append
3879 "https://hackage.haskell.org/package/"
3880 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3881 (sha256
3882 (base32
3883 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
3884 (build-system haskell-build-system)
3885 (inputs
3886 `(("ghc-paths" ,ghc-paths)
3887 ("ghc-syb" ,ghc-syb)
3888 ("ghc-free" ,ghc-free)))
3889 (native-inputs
3890 `(("ghc-hunit" ,ghc-hunit)
3891 ("ghc-diff" ,ghc-diff)
3892 ("ghc-silently" ,ghc-silently)
3893 ("ghc-filemanip" ,ghc-filemanip)))
3894 (home-page
3895 "https://hackage.haskell.org/package/ghc-exactprint")
3896 (synopsis "ExactPrint for GHC")
3897 (description
3898 "Using the API Annotations available from GHC 7.10.2, this library
3899 provides a means to round-trip any code that can be compiled by GHC, currently
3900 excluding @file{.lhs} files.")
3901 (license license:bsd-3)))
3902
3903 (define-public ghc-exceptions
3904 (package
3905 (name "ghc-exceptions")
3906 (version "0.10.3")
3907 (source
3908 (origin
3909 (method url-fetch)
3910 (uri (string-append
3911 "https://hackage.haskell.org/package/exceptions/exceptions-"
3912 version
3913 ".tar.gz"))
3914 (sha256
3915 (base32
3916 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
3917 (build-system haskell-build-system)
3918 (native-inputs
3919 `(("ghc-quickcheck" ,ghc-quickcheck)
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3922 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3923 (inputs
3924 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3925 (home-page "https://github.com/ekmett/exceptions/")
3926 (synopsis "Extensible optionally-pure exceptions")
3927 (description "This library provides extensible optionally-pure exceptions
3928 for Haskell.")
3929 (license license:bsd-3)))
3930
3931 (define-public ghc-executable-path
3932 (package
3933 (name "ghc-executable-path")
3934 (version "0.0.3.1")
3935 (source (origin
3936 (method url-fetch)
3937 (uri (string-append "https://hackage.haskell.org/package/"
3938 "executable-path/executable-path-"
3939 version ".tar.gz"))
3940 (sha256
3941 (base32
3942 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3943 (build-system haskell-build-system)
3944 (home-page "https://hackage.haskell.org/package/executable-path")
3945 (synopsis "Find out the full path of the executable")
3946 (description
3947 "The documentation of @code{System.Environment.getProgName} says that
3948 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3949 instead, for maximum portability, we just return the leafname of the program
3950 as invoked.\" This library tries to provide the missing path.")
3951 (license license:public-domain)))
3952
3953 (define-public ghc-extensible-exceptions
3954 (package
3955 (name "ghc-extensible-exceptions")
3956 (version "0.1.1.4")
3957 (source
3958 (origin
3959 (method url-fetch)
3960 (uri (string-append "https://hackage.haskell.org/package/"
3961 "extensible-exceptions/extensible-exceptions-"
3962 version ".tar.gz"))
3963 (sha256
3964 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3965 (build-system haskell-build-system)
3966 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3967 (synopsis "Extensible exceptions for Haskell")
3968 (description
3969 "This package provides extensible exceptions for both new and old
3970 versions of GHC (i.e., < 6.10).")
3971 (license license:bsd-3)))
3972
3973 (define-public ghc-extra
3974 (package
3975 (name "ghc-extra")
3976 (version "1.6.21")
3977 (source
3978 (origin
3979 (method url-fetch)
3980 (uri (string-append
3981 "https://hackage.haskell.org/package/extra/extra-"
3982 version
3983 ".tar.gz"))
3984 (sha256
3985 (base32
3986 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
3987 (build-system haskell-build-system)
3988 (inputs
3989 `(("ghc-clock" ,ghc-clock)
3990 ("ghc-semigroups" ,ghc-semigroups)
3991 ("ghc-quickcheck" ,ghc-quickcheck)
3992 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3993 (home-page "https://github.com/ndmitchell/extra")
3994 (synopsis "Extra Haskell functions")
3995 (description "This library provides extra functions for the standard
3996 Haskell libraries. Most functions are simple additions, filling out missing
3997 functionality. A few functions are available in later versions of GHC, but
3998 this package makes them available back to GHC 7.2.")
3999 (license license:bsd-3)))
4000
4001 (define-public ghc-fail
4002 (package
4003 (name "ghc-fail")
4004 (version "4.9.0.0")
4005 (source
4006 (origin
4007 (method url-fetch)
4008 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4009 version ".tar.gz"))
4010 (sha256
4011 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4012 (build-system haskell-build-system)
4013 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4014 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4015 (synopsis "Forward-compatible MonadFail class")
4016 (description
4017 "This package contains the @code{Control.Monad.Fail} module providing the
4018 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4019 class that became available in
4020 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4021 older @code{base} package versions. This package turns into an empty package
4022 when used with GHC versions which already provide the
4023 @code{Control.Monad.Fail} module.")
4024 (license license:bsd-3)))
4025
4026 (define-public ghc-fast-logger
4027 (package
4028 (name "ghc-fast-logger")
4029 (version "2.4.17")
4030 (source
4031 (origin
4032 (method url-fetch)
4033 (uri (string-append
4034 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4035 version
4036 ".tar.gz"))
4037 (sha256
4038 (base32
4039 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
4040 (build-system haskell-build-system)
4041 (inputs
4042 `(("ghc-auto-update" ,ghc-auto-update)
4043 ("ghc-easy-file" ,ghc-easy-file)
4044 ("ghc-unix-time" ,ghc-unix-time)
4045 ("ghc-unix-compat" ,ghc-unix-compat)))
4046 (native-inputs
4047 `(("hspec-discover" ,hspec-discover)
4048 ("ghc-hspec" ,ghc-hspec)))
4049 (home-page "https://hackage.haskell.org/package/fast-logger")
4050 (synopsis "Fast logging system")
4051 (description "This library provides a fast logging system for Haskell.")
4052 (license license:bsd-3)))
4053
4054 (define-public ghc-feed
4055 (package
4056 (name "ghc-feed")
4057 (version "1.2.0.1")
4058 (source
4059 (origin
4060 (method url-fetch)
4061 (uri (string-append "https://hackage.haskell.org/package/"
4062 "feed/feed-" version ".tar.gz"))
4063 (sha256
4064 (base32
4065 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
4066 (build-system haskell-build-system)
4067 (inputs
4068 `(("ghc-base-compat" ,ghc-base-compat)
4069 ("ghc-old-locale" ,ghc-old-locale)
4070 ("ghc-old-time" ,ghc-old-time)
4071 ("ghc-safe" ,ghc-safe)
4072 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4073 ("ghc-utf8-string" ,ghc-utf8-string)
4074 ("ghc-xml-conduit" ,ghc-xml-conduit)
4075 ("ghc-xml-types" ,ghc-xml-types)))
4076 (native-inputs
4077 `(("ghc-hunit" ,ghc-hunit)
4078 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
4079 ("ghc-test-framework" ,ghc-test-framework)
4080 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4081 (home-page "https://github.com/bergmark/feed")
4082 (synopsis "Haskell package for handling various syndication formats")
4083 (description "This Haskell package includes tools for generating and
4084 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4085 (license license:bsd-3)))
4086
4087 (define-public ghc-fgl
4088 (package
4089 (name "ghc-fgl")
4090 (version "5.7.0.1")
4091 (outputs '("out" "doc"))
4092 (source
4093 (origin
4094 (method url-fetch)
4095 (uri (string-append
4096 "https://hackage.haskell.org/package/fgl/fgl-"
4097 version
4098 ".tar.gz"))
4099 (sha256
4100 (base32
4101 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
4102 (build-system haskell-build-system)
4103 (arguments
4104 `(#:phases
4105 (modify-phases %standard-phases
4106 (add-before 'configure 'update-constraints
4107 (lambda _
4108 (substitute* "fgl.cabal"
4109 (("QuickCheck >= 2\\.8 && < 2\\.13")
4110 "QuickCheck >= 2.8 && < 2.14")
4111 (("hspec >= 2\\.1 && < 2\\.7")
4112 "hspec >= 2.1 && < 2.8")))))))
4113 (inputs
4114 `(("ghc-hspec" ,ghc-hspec)
4115 ("ghc-quickcheck" ,ghc-quickcheck)))
4116 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4117 (synopsis
4118 "Martin Erwig's Functional Graph Library")
4119 (description "The functional graph library, FGL, is a collection of type
4120 and function definitions to address graph problems. The basis of the library
4121 is an inductive definition of graphs in the style of algebraic data types that
4122 encourages inductive, recursive definitions of graph algorithms.")
4123 (license license:bsd-3)))
4124
4125 (define-public ghc-fgl-arbitrary
4126 (package
4127 (name "ghc-fgl-arbitrary")
4128 (version "0.2.0.3")
4129 (source
4130 (origin
4131 (method url-fetch)
4132 (uri (string-append
4133 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4134 version ".tar.gz"))
4135 (sha256
4136 (base32
4137 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4138 (build-system haskell-build-system)
4139 (arguments
4140 `(#:phases
4141 (modify-phases %standard-phases
4142 (add-before 'configure 'update-constraints
4143 (lambda _
4144 (substitute* "fgl-arbitrary.cabal"
4145 (("QuickCheck >= 2\\.3 && < 2\\.10")
4146 "QuickCheck >= 2.3 && < 2.14")
4147 (("hspec >= 2\\.1 && < 2\\.5")
4148 "hspec >= 2.1 && < 2.8")))))))
4149 (inputs
4150 `(("ghc-fgl" ,ghc-fgl)
4151 ("ghc-quickcheck" ,ghc-quickcheck)
4152 ("ghc-hspec" ,ghc-hspec)))
4153 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4154 (synopsis "QuickCheck support for fgl")
4155 (description
4156 "Provides Arbitrary instances for fgl graphs to avoid adding a
4157 QuickCheck dependency for fgl whilst still making the instances
4158 available to others. Also available are non-fgl-specific functions
4159 for generating graph-like data structures.")
4160 (license license:bsd-3)))
4161
4162 (define-public ghc-file-embed
4163 (package
4164 (name "ghc-file-embed")
4165 (version "0.0.11")
4166 (source
4167 (origin
4168 (method url-fetch)
4169 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4170 "file-embed-" version ".tar.gz"))
4171 (sha256
4172 (base32
4173 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
4174 (build-system haskell-build-system)
4175 (home-page "https://github.com/snoyberg/file-embed")
4176 (synopsis "Use Template Haskell to embed file contents directly")
4177 (description
4178 "This package allows you to use Template Haskell to read a file or all
4179 the files in a directory, and turn them into @code{(path, bytestring)} pairs
4180 embedded in your Haskell code.")
4181 (license license:bsd-3)))
4182
4183 (define-public ghc-filemanip
4184 (package
4185 (name "ghc-filemanip")
4186 (version "0.3.6.3")
4187 (source (origin
4188 (method url-fetch)
4189 (uri (string-append "https://hackage.haskell.org/package/"
4190 "filemanip/filemanip-" version ".tar.gz"))
4191 (sha256
4192 (base32
4193 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4194 (build-system haskell-build-system)
4195 (inputs
4196 `(("ghc-unix-compat" ,ghc-unix-compat)))
4197 (home-page "https://github.com/bos/filemanip")
4198 (synopsis "File and directory manipulation for Haskell")
4199 (description
4200 "This package provides a Haskell library for working with files and
4201 directories. It includes code for pattern matching, finding files, modifying
4202 file contents, and more.")
4203 (license license:bsd-3)))
4204
4205 (define-public ghc-filepath-bytestring
4206 (package
4207 (name "ghc-filepath-bytestring")
4208 (version "1.4.2.1.1")
4209 (source
4210 (origin
4211 (method url-fetch)
4212 (uri (string-append
4213 "https://hackage.haskell.org/package/filepath-bytestring/"
4214 "filepath-bytestring-" version ".tar.gz"))
4215 (sha256
4216 (base32
4217 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4218 (build-system haskell-build-system)
4219 (native-inputs
4220 `(("ghc-quickcheck" ,ghc-quickcheck)))
4221 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
4222 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4223 (description "This package provides a drop-in replacement for the standard
4224 @code{filepath} library, operating on @code{RawFilePath} values rather than
4225 @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4226 (license license:bsd-3)))
4227
4228 (define-public ghc-findbin
4229 (package
4230 (name "ghc-findbin")
4231 (version "0.0.5")
4232 (source
4233 (origin
4234 (method url-fetch)
4235 (uri (string-append
4236 "https://hackage.haskell.org/package/FindBin/FindBin-"
4237 version ".tar.gz"))
4238 (sha256
4239 (base32
4240 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4241 (build-system haskell-build-system)
4242 (home-page "https://github.com/audreyt/findbin")
4243 (synopsis "Get the absolute path of the running program")
4244 (description
4245 "This module locates the full directory of the running program, to allow
4246 the use of paths relative to it. FindBin supports invocation of Haskell
4247 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4248 an executable.")
4249 (license license:bsd-3)))
4250
4251 (define-public ghc-fingertree
4252 (package
4253 (name "ghc-fingertree")
4254 (version "0.1.4.2")
4255 (source
4256 (origin
4257 (method url-fetch)
4258 (uri (string-append
4259 "https://hackage.haskell.org/package/fingertree/fingertree-"
4260 version ".tar.gz"))
4261 (sha256
4262 (base32
4263 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
4264 (build-system haskell-build-system)
4265 (native-inputs
4266 `(("ghc-hunit" ,ghc-hunit)
4267 ("ghc-quickcheck" ,ghc-quickcheck)
4268 ("ghc-test-framework" ,ghc-test-framework)
4269 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4270 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4271 (home-page "https://hackage.haskell.org/package/fingertree")
4272 (synopsis "Generic finger-tree structure")
4273 (description "This library provides finger trees, a general sequence
4274 representation with arbitrary annotations, for use as a base for
4275 implementations of various collection types. It includes examples, as
4276 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4277 simple general-purpose data structure\".")
4278 (license license:bsd-3)))
4279
4280 (define-public ghc-fixed
4281 (package
4282 (name "ghc-fixed")
4283 (version "0.3")
4284 (source
4285 (origin
4286 (method url-fetch)
4287 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4288 version ".tar.gz"))
4289 (sha256
4290 (base32
4291 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4292 (build-system haskell-build-system)
4293 (home-page "https://github.com/ekmett/fixed")
4294 (synopsis "Signed 15.16 precision fixed point arithmetic")
4295 (description
4296 "This package provides functions for signed 15.16 precision fixed point
4297 arithmetic.")
4298 (license license:bsd-3)))
4299
4300 (define-public ghc-fmlist
4301 (package
4302 (name "ghc-fmlist")
4303 (version "0.9.3")
4304 (source
4305 (origin
4306 (method url-fetch)
4307 (uri
4308 (string-append
4309 "https://hackage.haskell.org/package/fmlist/fmlist-"
4310 version ".tar.gz"))
4311 (sha256
4312 (base32
4313 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
4314 (build-system haskell-build-system)
4315 (home-page "https://github.com/sjoerdvisscher/fmlist")
4316 (synopsis "FoldMap lists")
4317 (description "FoldMap lists are lists represented by their
4318 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4319 append, just like DLists, but other operations might have favorable
4320 performance characteristics as well. These wild claims are still
4321 completely unverified though.")
4322 (license license:bsd-3)))
4323
4324 (define-public ghc-foldl
4325 (package
4326 (name "ghc-foldl")
4327 (version "1.4.5")
4328 (source
4329 (origin
4330 (method url-fetch)
4331 (uri (string-append "https://hackage.haskell.org/package/"
4332 "foldl-" version "/"
4333 "foldl-" version ".tar.gz"))
4334 (sha256
4335 (base32
4336 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
4337 (build-system haskell-build-system)
4338 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4339 ("ghc-primitive" ,ghc-primitive)
4340 ("ghc-vector" ,ghc-vector)
4341 ("ghc-unordered-containers" ,ghc-unordered-containers)
4342 ("ghc-hashable" ,ghc-hashable)
4343 ("ghc-contravariant" ,ghc-contravariant)
4344 ("ghc-semigroups" ,ghc-semigroups)
4345 ("ghc-profunctors" ,ghc-profunctors)
4346 ("ghc-semigroupoids" ,ghc-semigroupoids)
4347 ("ghc-comonad" ,ghc-comonad)
4348 ("ghc-vector-builder" ,ghc-vector-builder)))
4349 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4350 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4351 (description "This Haskell library provides strict left folds that stream
4352 in constant memory, and you can combine folds using @code{Applicative} style
4353 to derive new folds. Derived folds still traverse the container just once
4354 and are often as efficient as hand-written folds.")
4355 (license license:bsd-3)))
4356
4357 (define-public ghc-foundation
4358 (package
4359 (name "ghc-foundation")
4360 (version "0.0.25")
4361 (source
4362 (origin
4363 (method url-fetch)
4364 (uri (string-append "https://hackage.haskell.org/package/"
4365 "foundation/foundation-" version ".tar.gz"))
4366 (sha256
4367 (base32
4368 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
4369 (build-system haskell-build-system)
4370 (arguments
4371 `(#:phases
4372 (modify-phases %standard-phases
4373 ;; This test is broken. For details, see
4374 ;; https://github.com/haskell-foundation/foundation/issues/530
4375 (add-after 'unpack 'patch-tests
4376 (lambda _
4377 (substitute* "tests/Test/Foundation/Number.hs"
4378 ((", testDividible proxy") ""))
4379 #t)))))
4380 (inputs `(("ghc-basement" ,ghc-basement)))
4381 (home-page "https://github.com/haskell-foundation/foundation")
4382 (synopsis "Alternative prelude with batteries and no dependencies")
4383 (description
4384 "This package provides a custom prelude with no dependencies apart from
4385 the base package.
4386
4387 Foundation has the following goals:
4388
4389 @enumerate
4390 @item provide a base like sets of modules that provide a consistent set of
4391 features and bugfixes across multiple versions of GHC (unlike base).
4392 @item provide a better and more efficient prelude than base's prelude.
4393 @item be self-sufficient: no external dependencies apart from base;
4394 @item provide better data-types: packed unicode string by default, arrays;
4395 @item Numerical classes that better represent mathematical things (no more
4396 all-in-one @code{Num});
4397 @item I/O system with less lazy IO.
4398 @end enumerate\n")
4399 (license license:bsd-3)))
4400
4401 (define-public ghc-free
4402 (package
4403 (name "ghc-free")
4404 (version "5.1.2")
4405 (source
4406 (origin
4407 (method url-fetch)
4408 (uri (string-append
4409 "https://hackage.haskell.org/package/free/free-"
4410 version
4411 ".tar.gz"))
4412 (sha256
4413 (base32
4414 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
4415 (build-system haskell-build-system)
4416 (inputs
4417 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4418 ("ghc-profunctors" ,ghc-profunctors)
4419 ("ghc-exceptions" ,ghc-exceptions)
4420 ("ghc-bifunctors" ,ghc-bifunctors)
4421 ("ghc-comonad" ,ghc-comonad)
4422 ("ghc-distributive" ,ghc-distributive)
4423 ("ghc-semigroupoids" ,ghc-semigroupoids)
4424 ("ghc-semigroups" ,ghc-semigroups)
4425 ("ghc-transformers-base" ,ghc-transformers-base)
4426 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4427 (home-page "https://github.com/ekmett/free/")
4428 (synopsis "Unrestricted monads for Haskell")
4429 (description "This library provides free monads, which are useful for many
4430 tree-like structures and domain specific languages. If @code{f} is a
4431 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4432 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4433 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4434 f} makes no constraining assumptions beyond those given by @code{f} and the
4435 definition of @code{Monad}.")
4436 (license license:bsd-3)))
4437
4438 (define-public ghc-fsnotify
4439 (package
4440 (name "ghc-fsnotify")
4441 (version "0.3.0.1")
4442 (source (origin
4443 (method url-fetch)
4444 (uri (string-append
4445 "https://hackage.haskell.org/package/fsnotify/"
4446 "fsnotify-" version ".tar.gz"))
4447 (sha256
4448 (base32
4449 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4450 (build-system haskell-build-system)
4451 (inputs
4452 `(("ghc-async" ,ghc-async)
4453 ("ghc-unix-compat" ,ghc-unix-compat)
4454 ("ghc-hinotify" ,ghc-hinotify)
4455 ("ghc-tasty" ,ghc-tasty)
4456 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4457 ("ghc-random" ,ghc-random)
4458 ("ghc-shelly" ,ghc-shelly)
4459 ("ghc-temporary" ,ghc-temporary)))
4460 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4461 (synopsis "Cross platform library for file change notification.")
4462 (description "Cross platform library for file creation, modification, and
4463 deletion notification. This library builds upon existing libraries for platform
4464 specific Windows, Mac, and Linux file system event notification.")
4465 (license license:bsd-3)))
4466
4467 (define-public ghc-generic-deriving
4468 (package
4469 (name "ghc-generic-deriving")
4470 (version "1.12.4")
4471 (source
4472 (origin
4473 (method url-fetch)
4474 (uri (string-append
4475 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4476 version
4477 ".tar.gz"))
4478 (sha256
4479 (base32
4480 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
4481 (build-system haskell-build-system)
4482 (inputs
4483 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4484 (native-inputs
4485 `(("ghc-hspec" ,ghc-hspec)
4486 ("hspec-discover" ,hspec-discover)))
4487 (home-page "https://hackage.haskell.org/package/generic-deriving")
4488 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4489 (description "This package provides functionality for generalising the
4490 deriving mechanism in Haskell to arbitrary classes.")
4491 (license license:bsd-3)))
4492
4493 (define-public ghc-generic-random
4494 (package
4495 (name "ghc-generic-random")
4496 (version "1.2.0.0")
4497 (source
4498 (origin
4499 (method url-fetch)
4500 (uri (string-append
4501 "https://hackage.haskell.org/package/generic-random/"
4502 "generic-random-" version ".tar.gz"))
4503 (sha256
4504 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4505 (build-system haskell-build-system)
4506 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4507 (native-inputs
4508 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4509 (arguments
4510 `(#:cabal-revision
4511 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4512 (home-page
4513 "https://github.com/lysxia/generic-random")
4514 (synopsis
4515 "Generic random generators for QuickCheck")
4516 (description
4517 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4518 to customize implementations.
4519
4520 Automating the arbitrary boilerplate also ensures that when a type changes to
4521 have more or fewer constructors, then the generator either fixes itself to
4522 generate that new case (when using the uniform distribution) or causes a
4523 compilation error so you remember to fix it (when using an explicit
4524 distribution).
4525
4526 This package also offers a simple (optional) strategy to ensure termination
4527 for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4528 at every recursive call; when it reaches zero, sample directly from a
4529 trivially terminating generator given explicitly (@code{genericArbitraryRec}
4530 and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4531 (license license:expat)))
4532
4533 (define-public ghc-generic-random-1.3.0.1
4534 (package
4535 (inherit ghc-generic-random)
4536 (version "1.3.0.1")
4537 (source
4538 (origin
4539 (method url-fetch)
4540 (uri (string-append
4541 "https://hackage.haskell.org/package/generic-random/"
4542 "generic-random-" version ".tar.gz"))
4543 (sha256
4544 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4545 (arguments '())))
4546
4547 (define-public ghc-generics-sop
4548 (package
4549 (name "ghc-generics-sop")
4550 (version "0.4.0.1")
4551 (source
4552 (origin
4553 (method url-fetch)
4554 (uri (string-append "https://hackage.haskell.org/package/"
4555 "generics-sop-" version "/"
4556 "generics-sop-" version ".tar.gz"))
4557 (sha256
4558 (base32
4559 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
4560 (build-system haskell-build-system)
4561 (inputs
4562 `(("ghc-sop-core" ,ghc-sop-core)
4563 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4564 (home-page "https://github.com/well-typed/generics-sop")
4565 (synopsis "Generic Programming using True Sums of Products for Haskell")
4566 (description "This Haskell package supports the definition of generic
4567 functions. Datatypes are viewed in a uniform, structured way: the choice
4568 between constructors is represented using an n-ary sum, and the arguments of
4569 each constructor are represented using an n-ary product.")
4570 (license license:bsd-3)))
4571
4572 (define-public ghc-geniplate-mirror
4573 (package
4574 (name "ghc-geniplate-mirror")
4575 (version "0.7.6")
4576 (source
4577 (origin
4578 (method url-fetch)
4579 (uri (string-append "https://hackage.haskell.org/package"
4580 "/geniplate-mirror"
4581 "/geniplate-mirror-" version ".tar.gz"))
4582 (sha256
4583 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4584 (build-system haskell-build-system)
4585 (arguments
4586 `(#:cabal-revision
4587 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
4588 (home-page "https://github.com/danr/geniplate")
4589 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4590 (description
4591 "Use Template Haskell to generate Uniplate-like functions. This is a
4592 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4593 geniplate} package, written by Lennart Augustsson.")
4594 (license license:bsd-3)))
4595
4596 (define-public ghc-genvalidity
4597 (package
4598 (name "ghc-genvalidity")
4599 (version "0.8.0.0")
4600 (source
4601 (origin
4602 (method url-fetch)
4603 (uri (string-append
4604 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4605 version
4606 ".tar.gz"))
4607 (sha256
4608 (base32
4609 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4610 (build-system haskell-build-system)
4611 (inputs
4612 `(("ghc-quickcheck" ,ghc-quickcheck)
4613 ("ghc-validity" ,ghc-validity)))
4614 (native-inputs
4615 `(("ghc-hspec" ,ghc-hspec)
4616 ("hspec-discover" ,hspec-discover)
4617 ("ghc-hspec-core" ,ghc-hspec-core)))
4618 (home-page
4619 "https://github.com/NorfairKing/validity")
4620 (synopsis
4621 "Testing utilities for the @code{validity} library")
4622 (description
4623 "This package provides testing utilities that are useful in conjunction
4624 with the @code{Validity} typeclass.")
4625 (license license:expat)))
4626
4627 (define-public ghc-genvalidity-property
4628 (package
4629 (name "ghc-genvalidity-property")
4630 (version "0.4.0.0")
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append
4635 "https://hackage.haskell.org/package/"
4636 "genvalidity-property/genvalidity-property-"
4637 version
4638 ".tar.gz"))
4639 (sha256
4640 (base32
4641 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4642 (build-system haskell-build-system)
4643 (inputs
4644 `(("ghc-quickcheck" ,ghc-quickcheck)
4645 ("ghc-genvalidity" ,ghc-genvalidity)
4646 ("ghc-hspec" ,ghc-hspec)
4647 ("hspec-discover" ,hspec-discover)
4648 ("ghc-validity" ,ghc-validity)))
4649 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4650 (home-page
4651 "https://github.com/NorfairKing/validity")
4652 (synopsis
4653 "Standard properties for functions on @code{Validity} types")
4654 (description
4655 "This package supplements the @code{Validity} typeclass with standard
4656 properties for functions operating on them.")
4657 (license license:expat)))
4658
4659 (define-public ghc-getopt-generics
4660 (package
4661 (name "ghc-getopt-generics")
4662 (version "0.13.0.4")
4663 (source
4664 (origin
4665 (method url-fetch)
4666 (uri (string-append "https://hackage.haskell.org/package/"
4667 "getopt-generics/getopt-generics-"
4668 version ".tar.gz"))
4669 (sha256
4670 (base32
4671 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4672 (build-system haskell-build-system)
4673 (inputs
4674 `(("ghc-base-compat" ,ghc-base-compat)
4675 ("ghc-base-orphans" ,ghc-base-orphans)
4676 ("ghc-generics-sop" ,ghc-generics-sop)
4677 ("ghc-tagged" ,ghc-tagged)))
4678 (native-inputs
4679 `(("ghc-quickcheck" ,ghc-quickcheck)
4680 ("ghc-hspec" ,ghc-hspec)
4681 ("ghc-safe" ,ghc-safe)
4682 ("ghc-silently" ,ghc-silently)
4683 ("hspec-discover" ,hspec-discover)))
4684 (home-page "https://github.com/soenkehahn/getopt-generics")
4685 (synopsis "Create command line interfaces with ease")
4686 (description "This library provides tools to create command line
4687 interfaces with ease.")
4688 (license license:bsd-3)))
4689
4690 (define-public ghc-gitrev
4691 (package
4692 (name "ghc-gitrev")
4693 (version "1.3.1")
4694 (source
4695 (origin
4696 (method url-fetch)
4697 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4698 version ".tar.gz"))
4699 (sha256
4700 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4701 (build-system haskell-build-system)
4702 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4703 (home-page "https://github.com/acfoltzer/gitrev")
4704 (synopsis "Compile git revision info into Haskell projects")
4705 (description
4706 "This package provides some handy Template Haskell splices for including
4707 the current git hash and branch in the code of your project. This is useful
4708 for including in panic messages, @command{--version} output, or diagnostic
4709 info for more informative bug reports.")
4710 (license license:bsd-3)))
4711
4712 (define-public ghc-glob
4713 (package
4714 (name "ghc-glob")
4715 (version "0.10.0")
4716 (source
4717 (origin
4718 (method url-fetch)
4719 (uri (string-append "https://hackage.haskell.org/package/"
4720 "Glob-" version "/"
4721 "Glob-" version ".tar.gz"))
4722 (sha256
4723 (base32
4724 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
4725 (build-system haskell-build-system)
4726 (inputs
4727 `(("ghc-dlist" ,ghc-dlist)
4728 ("ghc-semigroups" ,ghc-semigroups)
4729 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4730 (native-inputs
4731 `(("ghc-hunit" ,ghc-hunit)
4732 ("ghc-quickcheck" ,ghc-quickcheck)
4733 ("ghc-test-framework" ,ghc-test-framework)
4734 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4735 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4736 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4737 (synopsis "Haskell library matching glob patterns against file paths")
4738 (description "This package provides a Haskell library for @dfn{globbing}:
4739 matching patterns against file paths.")
4740 (license license:bsd-3)))
4741
4742 (define-public ghc-gluraw
4743 (package
4744 (name "ghc-gluraw")
4745 (version "2.0.0.4")
4746 (source
4747 (origin
4748 (method url-fetch)
4749 (uri (string-append
4750 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4751 version
4752 ".tar.gz"))
4753 (sha256
4754 (base32
4755 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4756 (build-system haskell-build-system)
4757 (inputs
4758 `(("ghc-openglraw" ,ghc-openglraw)))
4759 (home-page "https://wiki.haskell.org/Opengl")
4760 (synopsis "Raw Haskell bindings GLU")
4761 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4762 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4763 basis for a nicer interface.")
4764 (license license:bsd-3)))
4765
4766 (define-public ghc-glut
4767 (package
4768 (name "ghc-glut")
4769 (version "2.7.0.15")
4770 (source
4771 (origin
4772 (method url-fetch)
4773 (uri (string-append
4774 "https://hackage.haskell.org/package/GLUT/GLUT-"
4775 version
4776 ".tar.gz"))
4777 (sha256
4778 (base32
4779 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
4780 (build-system haskell-build-system)
4781 (inputs
4782 `(("ghc-statevar" ,ghc-statevar)
4783 ("ghc-opengl" ,ghc-opengl)
4784 ("ghc-openglraw" ,ghc-openglraw)
4785 ("freeglut" ,freeglut)))
4786 (home-page "https://wiki.haskell.org/Opengl")
4787 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4788 (description "This library provides Haskell bindings for the OpenGL
4789 Utility Toolkit, a window system-independent toolkit for writing OpenGL
4790 programs.")
4791 (license license:bsd-3)))
4792
4793 (define-public ghc-gnuplot
4794 (package
4795 (name "ghc-gnuplot")
4796 (version "0.5.6")
4797 (source
4798 (origin
4799 (method url-fetch)
4800 (uri (string-append
4801 "mirror://hackage/package/gnuplot/gnuplot-"
4802 version ".tar.gz"))
4803 (sha256
4804 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
4805 (build-system haskell-build-system)
4806 (inputs
4807 `(("ghc-temporary" ,ghc-temporary)
4808 ("ghc-utility-ht" ,ghc-utility-ht)
4809 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4810 ("ghc-data-accessor" ,ghc-data-accessor)
4811 ("ghc-semigroups" ,ghc-semigroups)
4812 ("gnuplot" ,gnuplot)))
4813 (arguments
4814 `(#:phases
4815 (modify-phases %standard-phases
4816 (add-before 'configure 'fix-path-to-gnuplot
4817 (lambda* (#:key inputs #:allow-other-keys)
4818 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4819 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4820 (("(gnuplotName = ).*$" all cmd)
4821 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4822 (home-page "https://wiki.haskell.org/Gnuplot")
4823 (synopsis "2D and 3D plots using gnuplot")
4824 (description "This package provides a Haskell module for creating 2D and
4825 3D plots using gnuplot.")
4826 (license license:bsd-3)))
4827
4828 (define-public ghc-graphviz
4829 (package
4830 (name "ghc-graphviz")
4831 (version "2999.20.0.3")
4832 (source (origin
4833 (method url-fetch)
4834 (uri (string-append "https://hackage.haskell.org/package/"
4835 "graphviz/graphviz-" version ".tar.gz"))
4836 (sha256
4837 (base32
4838 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
4839 (build-system haskell-build-system)
4840 (arguments
4841 `(#:phases
4842 (modify-phases %standard-phases
4843 (add-before 'configure 'update-constraints
4844 (lambda _
4845 (substitute* "graphviz.cabal"
4846 (("QuickCheck >= 2\\.3 && < 2\\.13")
4847 "QuickCheck >= 2.3 && < 2.14")
4848 (("hspec >= 2\\.1 && < 2\\.7")
4849 "hspec >= 2.1 && < 2.8")))))))
4850 (inputs
4851 `(("ghc-quickcheck" ,ghc-quickcheck)
4852 ("ghc-colour" ,ghc-colour)
4853 ("ghc-dlist" ,ghc-dlist)
4854 ("ghc-fgl" ,ghc-fgl)
4855 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4856 ("ghc-polyparse" ,ghc-polyparse)
4857 ("ghc-temporary" ,ghc-temporary)
4858 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4859 (native-inputs
4860 `(("ghc-hspec" ,ghc-hspec)
4861 ("graphviz" ,graphviz)
4862 ("hspec-discover" ,hspec-discover)))
4863 (home-page "https://hackage.haskell.org/package/graphviz")
4864 (synopsis "Bindings to Graphviz for graph visualisation")
4865 (description
4866 "This library provides bindings for the Dot language used by
4867 the @uref{https://graphviz.org/, Graphviz} suite of programs for
4868 visualising graphs, as well as functions to call those programs.
4869 Main features of the graphviz library include:
4870
4871 @enumerate
4872 @item Almost complete coverage of all Graphviz attributes and syntax
4873 @item Support for specifying clusters
4874 @item The ability to use a custom node type
4875 @item Functions for running a Graphviz layout tool with all specified output types
4876 @item Generate and parse Dot code with two options: strict and liberal
4877 @item Functions to convert FGL graphs and other graph-like data structures
4878 @item Round-trip support for passing an FGL graph through Graphviz to augment node
4879 and edge labels with positional information, etc.
4880 @end enumerate\n")
4881 (license license:bsd-3)))
4882
4883 (define-public ghc-groups
4884 (package
4885 (name "ghc-groups")
4886 (version "0.4.1.0")
4887 (source
4888 (origin
4889 (method url-fetch)
4890 (uri (string-append "https://hackage.haskell.org/package/"
4891 "groups/groups-" version ".tar.gz"))
4892 (sha256
4893 (base32
4894 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4895 (build-system haskell-build-system)
4896 (home-page "https://hackage.haskell.org/package/groups")
4897 (synopsis "Haskell 98 groups")
4898 (description "This package provides Haskell 98 groups. A group is a
4899 monoid with invertibility.")
4900 (license license:bsd-3)))
4901
4902 (define-public ghc-gtk2hs-buildtools
4903 (package
4904 (name "ghc-gtk2hs-buildtools")
4905 (version "0.13.5.4")
4906 (source
4907 (origin
4908 (method url-fetch)
4909 (uri (string-append "https://hackage.haskell.org/package/"
4910 "gtk2hs-buildtools/gtk2hs-buildtools-"
4911 version ".tar.gz"))
4912 (sha256
4913 (base32
4914 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
4915 (build-system haskell-build-system)
4916 (inputs
4917 `(("ghc-random" ,ghc-random)
4918 ("ghc-hashtables" ,ghc-hashtables)))
4919 (native-inputs
4920 `(("ghc-alex" ,ghc-alex)
4921 ("ghc-happy" ,ghc-happy)))
4922 (home-page "http://projects.haskell.org/gtk2hs/")
4923 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4924 (description
4925 "This package provides a set of helper programs necessary to build the
4926 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4927 that is used to generate FFI declarations, a tool to build a type hierarchy
4928 that mirrors the C type hierarchy of GObjects found in glib, and a generator
4929 for signal declarations that are used to call back from C to Haskell. These
4930 tools are not needed to actually run Gtk2Hs programs.")
4931 (license license:gpl2)))
4932
4933 (define-public ghc-hackage-security
4934 (package
4935 (name "ghc-hackage-security")
4936 (version "0.5.3.0")
4937 (source
4938 (origin
4939 (method url-fetch)
4940 (uri (string-append "https://hackage.haskell.org/package/"
4941 "hackage-security/hackage-security-"
4942 version ".tar.gz"))
4943 (sha256
4944 (base32
4945 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4946 (build-system haskell-build-system)
4947 (arguments
4948 `(#:cabal-revision
4949 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4950 #:tests? #f)) ; Tests fail because of framework updates.
4951 (inputs
4952 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4953 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4954 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4955 ("ghc-ed25519" ,ghc-ed25519)
4956 ("ghc-network" ,ghc-network)
4957 ("ghc-network-uri" ,ghc-network-uri)
4958 ("ghc-tar" ,ghc-tar)
4959 ("ghc-zlib" ,ghc-zlib)))
4960 (native-inputs
4961 `(("ghc-network-uri" ,ghc-network-uri)
4962 ("ghc-quickcheck" ,ghc-quickcheck)
4963 ("ghc-tar" ,ghc-tar)
4964 ("ghc-tasty" ,ghc-tasty)
4965 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4966 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4967 ("ghc-temporary" ,ghc-temporary)
4968 ("ghc-zlib" ,ghc-zlib)))
4969 (home-page "https://github.com/haskell/hackage-security")
4970 (synopsis "Hackage security library")
4971 (description "This Hackage security library provides both server and
4972 client utilities for securing @uref{http://hackage.haskell.org/, the
4973 Hackage package server}. It is based on
4974 @uref{http://theupdateframework.com/, The Update Framework}, a set of
4975 recommendations developed by security researchers at various universities
4976 in the US as well as developers on the @uref{https://www.torproject.org/,
4977 Tor project}.")
4978 (license license:bsd-3)))
4979
4980 (define-public ghc-haddock
4981 (package
4982 (name "ghc-haddock")
4983 (version "2.22.0")
4984 (source
4985 (origin
4986 (method url-fetch)
4987 (uri (string-append
4988 "https://hackage.haskell.org/package/haddock/haddock-"
4989 version
4990 ".tar.gz"))
4991 (sha256
4992 (base32
4993 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
4994 (build-system haskell-build-system)
4995 (arguments
4996 `(#:phases
4997 (modify-phases %standard-phases
4998 ;; The release tarball for 2.22.0 is missing the test data for
4999 ;; the Hoogle test, causing it to fail. This is fixed in the
5000 ;; next release, but for now we disable it.
5001 (add-before 'configure 'remove-hoogle-test
5002 (lambda _
5003 (use-modules (ice-9 rdelim))
5004 (with-atomic-file-replacement "haddock.cabal"
5005 (lambda (in out)
5006 (let loop ((line (read-line in 'concat)) (deleting? #f))
5007 (cond
5008 ((eof-object? line) #t)
5009 ((string-every char-set:whitespace line)
5010 (unless deleting? (display line out))
5011 (loop (read-line in 'concat) #f))
5012 ((string=? line "test-suite hoogle-test\n")
5013 (loop (read-line in 'concat) #t))
5014 (else
5015 (unless deleting? (display line out))
5016 (loop (read-line in 'concat) deleting?))))))))
5017 (add-before 'check 'add-haddock-to-path
5018 (lambda _
5019 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5020 ":" (getenv "PATH")))
5021 #t)))))
5022 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5023 (native-inputs
5024 `(("ghc-haddock-test" ,ghc-haddock-test)
5025 ("ghc-hspec" ,ghc-hspec)))
5026 (home-page "https://www.haskell.org/haddock/")
5027 (synopsis
5028 "Documentation-generation tool for Haskell libraries")
5029 (description
5030 "Haddock is a documentation-generation tool for Haskell libraries.")
5031 (license license:bsd-3)))
5032
5033 (define-public ghc-haddock-api
5034 (package
5035 (name "ghc-haddock-api")
5036 (version "2.22.0")
5037 (source
5038 (origin
5039 (method url-fetch)
5040 (uri (string-append
5041 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5042 version
5043 ".tar.gz"))
5044 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
5045 (sha256
5046 (base32
5047 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
5048 (build-system haskell-build-system)
5049 (arguments
5050 `(#:phases
5051 (modify-phases %standard-phases
5052 (add-before 'configure 'update-constraints
5053 (lambda _
5054 (substitute* "haddock-api.cabal"
5055 (("QuickCheck \\^>= 2\\.11")
5056 "QuickCheck ^>= 2.13")
5057 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5058 "hspec >= 2.4.4 && < 2.8")))))))
5059 (inputs
5060 `(("ghc-paths" ,ghc-paths)
5061 ("ghc-haddock-library" ,ghc-haddock-library)))
5062 (native-inputs
5063 `(("ghc-quickcheck" ,ghc-quickcheck)
5064 ("ghc-hspec" ,ghc-hspec)
5065 ("hspec-discover" ,hspec-discover)))
5066 (home-page "https://www.haskell.org/haddock/")
5067 (synopsis "API for documentation-generation tool Haddock")
5068 (description "This package provides an API to Haddock, the
5069 documentation-generation tool for Haskell libraries.")
5070 (license license:bsd-3)))
5071
5072 (define-public ghc-haddock-library
5073 (package
5074 (name "ghc-haddock-library")
5075 (version "1.7.0")
5076 (source
5077 (origin
5078 (method url-fetch)
5079 (uri (string-append
5080 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5081 version
5082 ".tar.gz"))
5083 (sha256
5084 (base32
5085 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
5086 (build-system haskell-build-system)
5087 (arguments
5088 `(#:phases
5089 (modify-phases %standard-phases
5090 ;; Since there is no revised Cabal file upstream, we have to
5091 ;; patch it manually.
5092 (add-before 'configure 'relax-test-suite-dependencies
5093 (lambda _
5094 (substitute* "haddock-library.cabal"
5095 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5096 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
5097 #t)))))
5098 (native-inputs
5099 `(("ghc-base-compat" ,ghc-base-compat)
5100 ("ghc-hspec" ,ghc-hspec)
5101 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5102 ("ghc-quickcheck" ,ghc-quickcheck)
5103 ("ghc-tree-diff" ,ghc-tree-diff)
5104 ("hspec-discover" ,hspec-discover)))
5105 (home-page "https://www.haskell.org/haddock/")
5106 (synopsis "Library exposing some functionality of Haddock")
5107 (description
5108 "Haddock is a documentation-generation tool for Haskell libraries. These
5109 modules expose some functionality of it without pulling in the GHC dependency.
5110 Please note that the API is likely to change so specify upper bounds in your
5111 project if you can't release often. For interacting with Haddock itself, see
5112 the ‘haddock’ package.")
5113 (license license:bsd-3)))
5114
5115 ;; This package is needed for testing 'ghc-haddock'. It is no longer
5116 ;; published to Hackage, but it is maintained in the Haddock Git
5117 ;; repository.
5118 (define ghc-haddock-test
5119 (package
5120 (name "ghc-haddock-test")
5121 (version "2.22.0")
5122 (source
5123 (origin
5124 (method git-fetch)
5125 (uri (git-reference
5126 (url "https://github.com/haskell/haddock")
5127 (commit (string-append "haddock-" version "-release"))))
5128 (file-name (git-file-name name version))
5129 (sha256
5130 (base32
5131 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5132 (build-system haskell-build-system)
5133 (arguments
5134 `(#:phases
5135 (modify-phases %standard-phases
5136 (add-after 'unpack 'change-directory
5137 (lambda _
5138 (chdir "haddock-test"))))))
5139 (inputs
5140 `(("ghc-syb" ,ghc-syb)
5141 ("ghc-xml" ,ghc-xml)))
5142 (home-page "https://www.haskell.org/haddock/")
5143 (synopsis "Test utilities for Haddock")
5144 (description "This package provides test utilities for Haddock.")
5145 (license license:bsd-3)
5146 (properties '((hidden? #t)))))
5147
5148 (define-public ghc-half
5149 (package
5150 (name "ghc-half")
5151 (version "0.3")
5152 (source
5153 (origin
5154 (method url-fetch)
5155 (uri (string-append
5156 "https://hackage.haskell.org/package/half/half-"
5157 version ".tar.gz"))
5158 (sha256
5159 (base32
5160 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5161 (build-system haskell-build-system)
5162 (native-inputs
5163 `(("ghc-hspec" ,ghc-hspec)
5164 ("ghc-quickcheck" ,ghc-quickcheck)))
5165 (home-page "https://github.com/ekmett/half")
5166 (synopsis "Half-precision floating-point computations")
5167 (description "This library provides a half-precision floating-point
5168 computation library for Haskell.")
5169 (license license:bsd-3)))
5170
5171 (define-public ghc-happy
5172 (package
5173 (name "ghc-happy")
5174 (version "1.19.12")
5175 (source
5176 (origin
5177 (method url-fetch)
5178 (uri (string-append
5179 "https://hackage.haskell.org/package/happy/happy-"
5180 version
5181 ".tar.gz"))
5182 (sha256
5183 (base32
5184 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
5185 (build-system haskell-build-system)
5186 (arguments
5187 `(#:phases
5188 (modify-phases %standard-phases
5189 (add-after 'unpack 'skip-test-issue93
5190 (lambda _
5191 ;; Tests run out of memory on a system with 2GB of available RAM,
5192 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5193 (substitute* "tests/Makefile"
5194 ((" issue93.y ") " "))
5195 #t)))))
5196 (home-page "https://hackage.haskell.org/package/happy")
5197 (synopsis "Parser generator for Haskell")
5198 (description "Happy is a parser generator for Haskell. Given a grammar
5199 specification in BNF, Happy generates Haskell code to parse the grammar.
5200 Happy works in a similar way to the yacc tool for C.")
5201 (license license:bsd-3)))
5202
5203 (define-public ghc-hashable
5204 (package
5205 (name "ghc-hashable")
5206 (version "1.2.7.0")
5207 (outputs '("out" "doc"))
5208 (source
5209 (origin
5210 (method url-fetch)
5211 (uri (string-append
5212 "https://hackage.haskell.org/package/hashable/hashable-"
5213 version
5214 ".tar.gz"))
5215 (sha256
5216 (base32
5217 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5218 (build-system haskell-build-system)
5219 (arguments
5220 `(#:cabal-revision
5221 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
5222 (inputs
5223 `(("ghc-random" ,ghc-random)))
5224 (native-inputs
5225 `(("ghc-test-framework" ,ghc-test-framework)
5226 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5227 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5228 ("ghc-hunit" ,ghc-hunit)
5229 ("ghc-quickcheck" ,ghc-quickcheck)))
5230 (home-page "https://github.com/tibbe/hashable")
5231 (synopsis "Class for types that can be converted to a hash value")
5232 (description
5233 "This package defines a class, @code{Hashable}, for types that can be
5234 converted to a hash value. This class exists for the benefit of hashing-based
5235 data structures. The package provides instances for basic types and a way to
5236 combine hash values.")
5237 (license license:bsd-3)))
5238
5239 (define-public ghc-hashable-bootstrap
5240 (package
5241 (inherit ghc-hashable)
5242 (name "ghc-hashable-bootstrap")
5243 (arguments
5244 `(#:tests? #f
5245 ,@(package-arguments ghc-hashable)))
5246 (native-inputs '())
5247 (properties '((hidden? #t)))))
5248
5249 (define-public ghc-hashable-time
5250 (package
5251 (name "ghc-hashable-time")
5252 (version "0.2.0.2")
5253 (source
5254 (origin
5255 (method url-fetch)
5256 (uri (string-append
5257 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5258 version
5259 ".tar.gz"))
5260 (sha256
5261 (base32
5262 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
5263 (build-system haskell-build-system)
5264 (arguments
5265 `(#:cabal-revision
5266 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
5267 (inputs `(("ghc-hashable" ,ghc-hashable)))
5268 (home-page "https://hackage.haskell.org/package/hashable-time")
5269 (synopsis "Hashable instances for Data.Time")
5270 (description
5271 "This package provides @code{Hashable} instances for types in
5272 @code{Data.Time}.")
5273 (license license:bsd-3)))
5274
5275 (define-public ghc-hashtables
5276 (package
5277 (name "ghc-hashtables")
5278 (version "1.2.3.4")
5279 (source
5280 (origin
5281 (method url-fetch)
5282 (uri (string-append
5283 "https://hackage.haskell.org/package/hashtables/hashtables-"
5284 version ".tar.gz"))
5285 (sha256
5286 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
5287 (build-system haskell-build-system)
5288 (inputs
5289 `(("ghc-hashable" ,ghc-hashable)
5290 ("ghc-primitive" ,ghc-primitive)
5291 ("ghc-vector" ,ghc-vector)))
5292 (home-page "https://github.com/gregorycollins/hashtables")
5293 (synopsis "Haskell Mutable hash tables in the ST monad")
5294 (description "This package provides a Haskell library including a
5295 couple of different implementations of mutable hash tables in the ST
5296 monad, as well as a typeclass abstracting their common operations, and
5297 a set of wrappers to use the hash tables in the IO monad.")
5298 (license license:bsd-3)))
5299
5300 (define-public ghc-haskeline-0.8
5301 (package
5302 (name "ghc-haskeline")
5303 (version "0.8.0.0")
5304 (source
5305 (origin
5306 (method url-fetch)
5307 (uri (string-append
5308 "https://hackage.haskell.org/package/haskeline/haskeline-"
5309 version
5310 ".tar.gz"))
5311 (sha256
5312 (base32
5313 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5314 (build-system haskell-build-system)
5315 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5316 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5317 ;; FIXME: Tests failing
5318 (arguments `(#:tests? #f))
5319 (home-page "https://github.com/judah/haskeline")
5320 (synopsis
5321 "Command-line interface for user input, written in Haskell")
5322 (description
5323 "Haskeline provides a user interface for line input in command-line
5324 programs. This library is similar in purpose to readline, but since it is
5325 written in Haskell it is (hopefully) more easily used in other Haskell
5326 programs.
5327
5328 Haskeline runs both on POSIX-compatible systems and on Windows.")
5329 (license license:bsd-3)))
5330
5331 (define-public ghc-haskell-lexer
5332 (package
5333 (name "ghc-haskell-lexer")
5334 (version "1.0.2")
5335 (source
5336 (origin
5337 (method url-fetch)
5338 (uri (string-append
5339 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5340 version ".tar.gz"))
5341 (sha256
5342 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5343 (build-system haskell-build-system)
5344 (home-page "https://hackage.haskell.org/package/haskell-lexer")
5345 (synopsis "Fully compliant Haskell 98 lexer")
5346 (description
5347 "This package provides a fully compliant Haskell 98 lexer.")
5348 (license license:bsd-3)))
5349
5350 (define-public ghc-haskell-src
5351 (package
5352 (name "ghc-haskell-src")
5353 (version "1.0.3.0")
5354 (source
5355 (origin
5356 (method url-fetch)
5357 (uri (string-append
5358 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5359 version
5360 ".tar.gz"))
5361 (sha256
5362 (base32
5363 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5364 (build-system haskell-build-system)
5365 (inputs
5366 `(("ghc-happy" ,ghc-happy)
5367 ("ghc-syb" ,ghc-syb)))
5368 (home-page
5369 "https://hackage.haskell.org/package/haskell-src")
5370 (synopsis
5371 "Support for manipulating Haskell source code")
5372 (description
5373 "The @code{haskell-src} package provides support for manipulating Haskell
5374 source code. The package provides a lexer, parser and pretty-printer, and a
5375 definition of a Haskell abstract syntax tree (AST). Common uses of this
5376 package are to parse or generate Haskell 98 code.")
5377 (license license:bsd-3)))
5378
5379 (define-public ghc-haskell-src-exts
5380 (package
5381 (name "ghc-haskell-src-exts")
5382 (version "1.21.1")
5383 (source
5384 (origin
5385 (method url-fetch)
5386 (uri (string-append
5387 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5388 version
5389 ".tar.gz"))
5390 (sha256
5391 (base32
5392 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
5393 (build-system haskell-build-system)
5394 (inputs
5395 `(("cpphs" ,cpphs)
5396 ("ghc-happy" ,ghc-happy)
5397 ("ghc-pretty-show" ,ghc-pretty-show)))
5398 (native-inputs
5399 `(("ghc-smallcheck" ,ghc-smallcheck)
5400 ("ghc-tasty" ,ghc-tasty)
5401 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5402 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5403 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5404 (synopsis "Library for manipulating Haskell source")
5405 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5406 extension of the standard @code{haskell-src} package, and handles most
5407 registered syntactic extensions to Haskell. All extensions implemented in GHC
5408 are supported. Apart from these standard extensions, it also handles regular
5409 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5410 (license license:bsd-3)))
5411
5412 (define-public ghc-haskell-src-exts-util
5413 (package
5414 (name "ghc-haskell-src-exts-util")
5415 (version "0.2.5")
5416 (source
5417 (origin
5418 (method url-fetch)
5419 (uri (string-append "https://hackage.haskell.org/package/"
5420 "haskell-src-exts-util/haskell-src-exts-util-"
5421 version ".tar.gz"))
5422 (sha256
5423 (base32
5424 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5425 (build-system haskell-build-system)
5426 (inputs
5427 `(("ghc-data-default" ,ghc-data-default)
5428 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5429 ("ghc-semigroups" ,ghc-semigroups)
5430 ("ghc-uniplate" ,ghc-uniplate)))
5431 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5432 (synopsis "Helper functions for working with haskell-src-exts trees")
5433 (description
5434 "This package provides helper functions for working with
5435 @code{haskell-src-exts} trees.")
5436 (license license:bsd-3)))
5437
5438 (define-public ghc-haskell-src-meta
5439 (package
5440 (name "ghc-haskell-src-meta")
5441 (version "0.8.3")
5442 (source (origin
5443 (method url-fetch)
5444 (uri (string-append "https://hackage.haskell.org/package/"
5445 "haskell-src-meta/haskell-src-meta-"
5446 version ".tar.gz"))
5447 (sha256
5448 (base32
5449 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
5450 (build-system haskell-build-system)
5451 (inputs
5452 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5453 ("ghc-syb" ,ghc-syb)
5454 ("ghc-th-orphans" ,ghc-th-orphans)))
5455 (native-inputs
5456 `(("ghc-hunit" ,ghc-hunit)
5457 ("ghc-tasty" ,ghc-tasty)
5458 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5459 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5460 (synopsis "Parse source to template-haskell abstract syntax")
5461 (description
5462 "This package provides tools to parse Haskell sources to the
5463 template-haskell abstract syntax.")
5464 (license license:bsd-3)))
5465
5466 (define-public ghc-hasktags
5467 (package
5468 (name "ghc-hasktags")
5469 (version "0.71.2")
5470 (source
5471 (origin
5472 (method url-fetch)
5473 (uri (string-append
5474 "https://hackage.haskell.org/package/hasktags/hasktags-"
5475 version
5476 ".tar.gz"))
5477 (sha256
5478 (base32
5479 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5480 (build-system haskell-build-system)
5481 (inputs
5482 `(("ghc-system-filepath" ,ghc-system-filepath)
5483 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5484 (native-inputs
5485 `(("ghc-json" ,ghc-json)
5486 ("ghc-utf8-string" ,ghc-utf8-string)
5487 ("ghc-microlens-platform" ,ghc-microlens-platform)
5488 ("ghc-hunit" ,ghc-hunit)))
5489 (home-page "https://github.com/MarcWeber/hasktags")
5490 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5491 (description
5492 "This package provides a means of generating tag files for Emacs and
5493 Vim.")
5494 (license license:bsd-3)))
5495
5496 (define-public ghc-hex
5497 (package
5498 (name "ghc-hex")
5499 (version "0.1.2")
5500 (source
5501 (origin
5502 (method url-fetch)
5503 (uri (string-append "https://hackage.haskell.org/package/"
5504 "hex-" version "/"
5505 "hex-" version ".tar.gz"))
5506 (sha256
5507 (base32
5508 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5509 (build-system haskell-build-system)
5510 (home-page "https://hackage.haskell.org/package/hex")
5511 (synopsis "Convert strings into hexadecimal and back")
5512 (description "This package provides conversion functions between
5513 bytestrings and their hexademical representation.")
5514 (license license:bsd-3)))
5515
5516 (define-public ghc-highlighting-kate
5517 (package
5518 (name "ghc-highlighting-kate")
5519 (version "0.6.4")
5520 (source (origin
5521 (method url-fetch)
5522 (uri (string-append "https://hackage.haskell.org/package/"
5523 "highlighting-kate/highlighting-kate-"
5524 version ".tar.gz"))
5525 (sha256
5526 (base32
5527 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5528 (build-system haskell-build-system)
5529 (inputs
5530 `(("ghc-diff" ,ghc-diff)
5531 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5532 (native-inputs
5533 `(("ghc-blaze-html" ,ghc-blaze-html)
5534 ("ghc-utf8-string" ,ghc-utf8-string)))
5535 (home-page "https://github.com/jgm/highlighting-kate")
5536 (synopsis "Syntax highlighting library")
5537 (description
5538 "Highlighting-kate is a syntax highlighting library with support for
5539 nearly one hundred languages. The syntax parsers are automatically generated
5540 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5541 supported by Kate can be added. An (optional) command-line program is
5542 provided, along with a utility for generating new parsers from Kate XML syntax
5543 descriptions.")
5544 (license license:gpl2+)))
5545
5546 (define-public ghc-hindent
5547 (package
5548 (name "ghc-hindent")
5549 (version "5.3.1")
5550 (source
5551 (origin
5552 (method url-fetch)
5553 (uri (string-append
5554 "https://hackage.haskell.org/package/hindent/hindent-"
5555 version
5556 ".tar.gz"))
5557 (sha256
5558 (base32
5559 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
5560 (build-system haskell-build-system)
5561 (arguments
5562 `(#:modules ((guix build haskell-build-system)
5563 (guix build utils)
5564 (guix build emacs-utils))
5565 #:imported-modules (,@%haskell-build-system-modules
5566 (guix build emacs-utils))
5567 #:phases
5568 (modify-phases %standard-phases
5569 (add-after 'install 'emacs-install
5570 (lambda* (#:key inputs outputs #:allow-other-keys)
5571 (let* ((out (assoc-ref outputs "out"))
5572 (elisp-file "elisp/hindent.el")
5573 (dest (string-append out "/share/emacs/site-lisp"))
5574 (emacs (string-append (assoc-ref inputs "emacs")
5575 "/bin/emacs")))
5576 (make-file-writable elisp-file)
5577 (emacs-substitute-variables elisp-file
5578 ("hindent-process-path"
5579 (string-append out "/bin/hindent")))
5580 (install-file elisp-file dest)
5581 (emacs-generate-autoloads "hindent" dest)))))))
5582 (inputs
5583 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5584 ("ghc-monad-loops" ,ghc-monad-loops)
5585 ("ghc-utf8-string" ,ghc-utf8-string)
5586 ("ghc-exceptions" ,ghc-exceptions)
5587 ("ghc-yaml" ,ghc-yaml)
5588 ("ghc-unix-compat" ,ghc-unix-compat)
5589 ("ghc-path" ,ghc-path)
5590 ("ghc-path-io" ,ghc-path-io)
5591 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5592 (native-inputs
5593 `(("ghc-hspec" ,ghc-hspec)
5594 ("ghc-diff" ,ghc-diff)
5595 ("emacs" ,emacs-minimal)))
5596 (home-page
5597 "https://github.com/commercialhaskell/hindent")
5598 (synopsis "Extensible Haskell pretty printer")
5599 (description
5600 "This package provides automatic formatting for Haskell files. Both a
5601 library and an executable.")
5602 (license license:bsd-3)))
5603
5604 (define-public ghc-hinotify
5605 (package
5606 (name "ghc-hinotify")
5607 (version "0.4")
5608 (source (origin
5609 (method url-fetch)
5610 (uri (string-append
5611 "https://hackage.haskell.org/package/hinotify/"
5612 "hinotify-" version ".tar.gz"))
5613 (sha256
5614 (base32
5615 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
5616 (build-system haskell-build-system)
5617 (inputs
5618 `(("ghc-async" ,ghc-async)))
5619 (home-page "https://github.com/kolmodin/hinotify.git")
5620 (synopsis "Haskell binding to inotify")
5621 (description "This library provides a wrapper to the Linux kernel's inotify
5622 feature, allowing applications to subscribe to notifications when a file is
5623 accessed or modified.")
5624 (license license:bsd-3)))
5625
5626 (define-public ghc-hmatrix
5627 (package
5628 (name "ghc-hmatrix")
5629 (version "0.20.0.0")
5630 (source
5631 (origin
5632 (method url-fetch)
5633 (uri (string-append
5634 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5635 version ".tar.gz"))
5636 (sha256
5637 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
5638 (build-system haskell-build-system)
5639 (inputs
5640 `(("ghc-random" ,ghc-random)
5641 ("ghc-split" ,ghc-split)
5642 ("ghc-storable-complex" ,ghc-storable-complex)
5643 ("ghc-semigroups" ,ghc-semigroups)
5644 ("ghc-vector" ,ghc-vector)
5645 ;;("openblas" ,openblas)
5646 ("lapack" ,lapack)))
5647 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5648 ;; disables inclusion of the LAPACK functions.
5649 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5650 (home-page "https://github.com/albertoruiz/hmatrix")
5651 (synopsis "Haskell numeric linear algebra library")
5652 (description "The HMatrix package provices a Haskell library for
5653 dealing with linear systems, matrix decompositions, and other
5654 numerical computations based on BLAS and LAPACK.")
5655 (license license:bsd-3)))
5656
5657 (define-public ghc-hmatrix-gsl
5658 (package
5659 (name "ghc-hmatrix-gsl")
5660 (version "0.19.0.1")
5661 (source
5662 (origin
5663 (method url-fetch)
5664 (uri (string-append
5665 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5666 version ".tar.gz"))
5667 (sha256
5668 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5669 (build-system haskell-build-system)
5670 (inputs
5671 `(("ghc-hmatrix" ,ghc-hmatrix)
5672 ("ghc-vector" ,ghc-vector)
5673 ("ghc-random" ,ghc-random)
5674 ("gsl" ,gsl)))
5675 (native-inputs `(("pkg-config" ,pkg-config)))
5676 (home-page "https://github.com/albertoruiz/hmatrix")
5677 (synopsis "Haskell GSL binding")
5678 (description "This Haskell library provides a purely functional
5679 interface to selected numerical computations, internally implemented
5680 using GSL.")
5681 (license license:gpl3+)))
5682
5683 (define-public ghc-hmatrix-gsl-stats
5684 (package
5685 (name "ghc-hmatrix-gsl-stats")
5686 (version "0.4.1.8")
5687 (source
5688 (origin
5689 (method url-fetch)
5690 (uri
5691 (string-append
5692 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5693 version ".tar.gz"))
5694 (sha256
5695 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5696 (build-system haskell-build-system)
5697 (inputs
5698 `(("ghc-vector" ,ghc-vector)
5699 ("ghc-storable-complex" ,ghc-storable-complex)
5700 ("ghc-hmatrix" ,ghc-hmatrix)
5701 ("gsl" ,gsl)))
5702 (native-inputs `(("pkg-config" ,pkg-config)))
5703 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5704 (synopsis "GSL Statistics interface for Haskell")
5705 (description "This Haskell library provides a purely functional
5706 interface for statistics based on hmatrix and GSL.")
5707 (license license:bsd-3)))
5708
5709 (define-public ghc-hmatrix-special
5710 (package
5711 (name "ghc-hmatrix-special")
5712 (version "0.19.0.0")
5713 (source
5714 (origin
5715 (method url-fetch)
5716 (uri
5717 (string-append
5718 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5719 version ".tar.gz"))
5720 (sha256
5721 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5722 (build-system haskell-build-system)
5723 (inputs
5724 `(("ghc-hmatrix" ,ghc-hmatrix)
5725 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5726 (home-page "https://github.com/albertoruiz/hmatrix")
5727 (synopsis "Haskell interface to GSL special functions")
5728 (description "This library provides an interface to GSL special
5729 functions for Haskell.")
5730 (license license:gpl3+)))
5731
5732 (define-public ghc-hostname
5733 (package
5734 (name "ghc-hostname")
5735 (version "1.0")
5736 (source
5737 (origin
5738 (method url-fetch)
5739 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5740 "hostname-" version ".tar.gz"))
5741 (sha256
5742 (base32
5743 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5744 (build-system haskell-build-system)
5745 (home-page "https://hackage.haskell.org/package/hostname")
5746 (synopsis "Hostname in Haskell")
5747 (description "Network.HostName is a simple package providing a means to
5748 determine the hostname.")
5749 (license license:bsd-3)))
5750
5751 (define-public ghc-hourglass
5752 (package
5753 (name "ghc-hourglass")
5754 (version "0.2.12")
5755 (source (origin
5756 (method url-fetch)
5757 (uri (string-append "https://hackage.haskell.org/package/"
5758 "hourglass/hourglass-" version ".tar.gz"))
5759 (sha256
5760 (base32
5761 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5762 (build-system haskell-build-system)
5763 (inputs
5764 `(("ghc-old-locale" ,ghc-old-locale)))
5765 (native-inputs
5766 `(("ghc-tasty" ,ghc-tasty)
5767 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5768 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5769 (home-page "https://github.com/vincenthz/hs-hourglass")
5770 (synopsis "Simple time-related library for Haskell")
5771 (description
5772 "This is a simple time library providing a simple but powerful and
5773 performant API. The backbone of the library are the @code{Timeable} and
5774 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5775 a type that has a @code{Time} instances, and thus are different
5776 representations of current time.")
5777 (license license:bsd-3)))
5778
5779 (define-public ghc-hpack
5780 (package
5781 (name "ghc-hpack")
5782 (version "0.31.2")
5783 (source
5784 (origin
5785 (method url-fetch)
5786 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5787 "hpack-" version ".tar.gz"))
5788 (patches (search-patches "ghc-hpack-fix-tests.patch"))
5789 (sha256
5790 (base32
5791 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
5792 (build-system haskell-build-system)
5793 (inputs
5794 `(("ghc-aeson" ,ghc-aeson)
5795 ("ghc-bifunctors" ,ghc-bifunctors)
5796 ("ghc-cryptonite" ,ghc-cryptonite)
5797 ("ghc-glob" ,ghc-glob)
5798 ("ghc-http-client" ,ghc-http-client)
5799 ("ghc-http-client-tls" ,ghc-http-client-tls)
5800 ("ghc-http-types" ,ghc-http-types)
5801 ("ghc-infer-license" ,ghc-infer-license)
5802 ("ghc-scientific" ,ghc-scientific)
5803 ("ghc-unordered-containers" ,ghc-unordered-containers)
5804 ("ghc-vector" ,ghc-vector)
5805 ("ghc-yaml" ,ghc-yaml)))
5806 (native-inputs
5807 `(("ghc-hspec" ,ghc-hspec)
5808 ("ghc-hunit" ,ghc-hunit)
5809 ("ghc-interpolate" ,ghc-interpolate)
5810 ("ghc-mockery" ,ghc-mockery)
5811 ("ghc-quickcheck" ,ghc-quickcheck)
5812 ("ghc-temporary" ,ghc-temporary)
5813 ("hspec-discover" ,hspec-discover)))
5814 (home-page "https://github.com/sol/hpack")
5815 (synopsis "Tools for an alternative Haskell package format")
5816 (description
5817 "Hpack is a format for Haskell packages. It is an alternative to the
5818 Cabal package format and follows different design principles. Hpack packages
5819 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5820 @code{stack} support @code{package.yaml} natively. For other build tools the
5821 @code{hpack} executable can be used to generate a @code{.cabal} file from
5822 @code{package.yaml}.")
5823 (license license:expat)))
5824
5825 (define-public ghc-hs-bibutils
5826 (package
5827 (name "ghc-hs-bibutils")
5828 (version "6.7.0.0")
5829 (source
5830 (origin
5831 (method url-fetch)
5832 (uri (string-append
5833 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5834 version ".tar.gz"))
5835 (sha256
5836 (base32
5837 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
5838 (build-system haskell-build-system)
5839 (inputs `(("ghc-syb" ,ghc-syb)))
5840 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5841 (synopsis "Haskell bindings to bibutils")
5842 (description
5843 "This package provides Haskell bindings to @code{bibutils}, a library
5844 that interconverts between various bibliography formats using a common
5845 MODS-format XML intermediate.")
5846 (license license:gpl2+)))
5847
5848 (define-public ghc-hslogger
5849 (package
5850 (name "ghc-hslogger")
5851 (version "1.2.12")
5852 (source
5853 (origin
5854 (method url-fetch)
5855 (uri (string-append "https://hackage.haskell.org/package/"
5856 "hslogger-" version "/" "hslogger-"
5857 version ".tar.gz"))
5858 (sha256 (base32
5859 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
5860 (build-system haskell-build-system)
5861 (inputs
5862 `(("ghc-network" ,ghc-network)
5863 ("ghc-old-locale" ,ghc-old-locale)))
5864 (native-inputs
5865 `(("ghc-hunit" ,ghc-hunit)))
5866 (home-page "https://software.complete.org/hslogger")
5867 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5868 (description "Hslogger lets each log message have a priority and source be
5869 associated with it. The programmer can then define global handlers that route
5870 or filter messages based on the priority and source. It also has a syslog
5871 handler built in.")
5872 (license license:bsd-3)))
5873
5874 (define-public ghc-hslua
5875 (package
5876 (name "ghc-hslua")
5877 (version "1.0.3.2")
5878 (source (origin
5879 (method url-fetch)
5880 (uri (string-append "https://hackage.haskell.org/package/"
5881 "hslua/hslua-" version ".tar.gz"))
5882 (sha256
5883 (base32
5884 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
5885 (build-system haskell-build-system)
5886 (arguments
5887 `(#:configure-flags '("-fsystem-lua")))
5888 (inputs
5889 `(("lua" ,lua)
5890 ("ghc-exceptions" ,ghc-exceptions)
5891 ("ghc-fail" ,ghc-fail)))
5892 (native-inputs
5893 `(("ghc-tasty" ,ghc-tasty)
5894 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5895 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5896 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5897 ("ghc-quickcheck" ,ghc-quickcheck)
5898 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5899 (home-page "https://hackage.haskell.org/package/hslua")
5900 (synopsis "Lua language interpreter embedding in Haskell")
5901 (description
5902 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5903 described in @url{https://www.lua.org/}.")
5904 (license license:expat)))
5905
5906 (define-public ghc-hslua-module-system
5907 (package
5908 (name "ghc-hslua-module-system")
5909 (version "0.2.1")
5910 (source
5911 (origin
5912 (method url-fetch)
5913 (uri (string-append "https://hackage.haskell.org/package/"
5914 "hslua-module-system/hslua-module-system-"
5915 version ".tar.gz"))
5916 (sha256
5917 (base32
5918 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5919 (build-system haskell-build-system)
5920 (inputs
5921 `(("ghc-exceptions" ,ghc-exceptions)
5922 ("ghc-hslua" ,ghc-hslua)
5923 ("ghc-temporary" ,ghc-temporary)))
5924 (native-inputs
5925 `(("ghc-tasty" ,ghc-tasty)
5926 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5927 (home-page "https://github.com/hslua/hslua-module-system")
5928 (synopsis "Lua module wrapper around Haskell's System module")
5929 (description "This library provides access to system information and
5930 functionality to Lua scripts via Haskell's @code{System} module. Intended
5931 usage for this package is to preload it by adding the loader function to
5932 @code{package.preload}. Note that the Lua @code{package} library must have
5933 already been loaded before the loader can be added.")
5934 (license license:expat)))
5935
5936 (define-public ghc-hslua-module-text
5937 (package
5938 (name "ghc-hslua-module-text")
5939 (version "0.2.1")
5940 (source
5941 (origin
5942 (method url-fetch)
5943 (uri (string-append "https://hackage.haskell.org/package/"
5944 "hslua-module-text/hslua-module-text-"
5945 version ".tar.gz"))
5946 (sha256
5947 (base32
5948 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
5949 (build-system haskell-build-system)
5950 (inputs
5951 `(("ghc-hslua" ,ghc-hslua)))
5952 (native-inputs
5953 `(("ghc-tasty" ,ghc-tasty)
5954 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5955 (home-page "https://github.com/hslua/hslua-module-text")
5956 (synopsis "Lua module for text")
5957 (description
5958 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5959 for Haskell. The functions provided by this module are @code{upper},
5960 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5961 (license license:expat)))
5962
5963 (define-public ghc-hsyaml
5964 (package
5965 (name "ghc-hsyaml")
5966 (version "0.1.2.0")
5967 (source
5968 (origin
5969 (method url-fetch)
5970 (uri (string-append "https://hackage.haskell.org/package/"
5971 "HsYAML/HsYAML-" version ".tar.gz"))
5972 (sha256
5973 (base32
5974 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5975 (build-system haskell-build-system)
5976 (arguments
5977 `(#:cabal-revision
5978 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5979 (home-page "https://github.com/haskell-hvr/HsYAML")
5980 (synopsis "Pure Haskell YAML 1.2 parser")
5981 (description "This library provides a
5982 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5983 for Haskell. Its features include:
5984
5985 @itemize
5986 @item Pure Haskell implementation with small dependency footprint and
5987 emphasis on strict compliance with the YAML 1.2 specification.
5988
5989 @item Direct decoding to native Haskell types via (aeson-inspired)
5990 typeclass-based API (see @code{Data.YAML}).
5991
5992 @item Support for constructing custom YAML node graph
5993 representation (including support for cyclic YAML data structures).
5994
5995 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
5996 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5997 typing rules as defined in the YAML 1.2 specification (including support
5998 for user-defined custom schemas).
5999
6000 @item Event-based API resembling LibYAML's Event-based API (see
6001 @code{Data.YAML.Event}).
6002
6003 @item Low-level API access to lexical token-based scanner (see
6004 @code{Data.YAML.Token}).
6005 @end itemize")
6006 (license license:gpl2+)))
6007
6008 (define-public ghc-http-api-data
6009 (package
6010 (name "ghc-http-api-data")
6011 (version "0.4.1")
6012 (source
6013 (origin
6014 (method url-fetch)
6015 (uri (string-append "https://hackage.haskell.org/package/"
6016 "http-api-data-" version "/"
6017 "http-api-data-" version ".tar.gz"))
6018 (sha256
6019 (base32
6020 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
6021 (build-system haskell-build-system)
6022 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6023 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
6024 ("ghc-cookie" ,ghc-cookie)
6025 ("ghc-hashable" ,ghc-hashable)
6026 ("ghc-http-types" ,ghc-http-types)
6027 ("ghc-time-compat" ,ghc-time-compat)
6028 ("ghc-unordered-containers" ,ghc-unordered-containers)
6029 ("ghc-uuid-types" ,ghc-uuid-types)))
6030 (native-inputs
6031 `(("cabal-doctest" ,cabal-doctest)
6032 ("ghc-nats" ,ghc-nats)
6033 ("ghc-hunit" ,ghc-hunit)
6034 ("ghc-hspec" ,ghc-hspec)
6035 ("ghc-quickcheck" ,ghc-quickcheck)
6036 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6037 ("ghc-doctest" ,ghc-doctest)
6038 ("hspec-discover" ,hspec-discover)))
6039 (home-page "https://github.com/fizruk/http-api-data")
6040 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6041 query parameters")
6042 (description "This Haskell package defines typeclasses used for converting
6043 Haskell data types to and from HTTP API data.")
6044 (license license:bsd-3)))
6045
6046 (define-public ghc-ieee754
6047 (package
6048 (name "ghc-ieee754")
6049 (version "0.8.0")
6050 (source (origin
6051 (method url-fetch)
6052 (uri (string-append
6053 "https://hackage.haskell.org/package/ieee754/"
6054 "ieee754-" version ".tar.gz"))
6055 (sha256
6056 (base32
6057 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6058 (build-system haskell-build-system)
6059 (home-page "https://github.com/patperry/hs-ieee754")
6060 (synopsis "Utilities for dealing with IEEE floating point numbers")
6061 (description "Utilities for dealing with IEEE floating point numbers,
6062 ported from the Tango math library; approximate and exact equality comparisons
6063 for general types.")
6064 (license license:bsd-3)))
6065
6066 (define-public ghc-ifelse
6067 (package
6068 (name "ghc-ifelse")
6069 (version "0.85")
6070 (source
6071 (origin
6072 (method url-fetch)
6073 (uri (string-append "https://hackage.haskell.org/package/"
6074 "IfElse/IfElse-" version ".tar.gz"))
6075 (sha256
6076 (base32
6077 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6078 (build-system haskell-build-system)
6079 (home-page "https://hackage.haskell.org/package/IfElse")
6080 (synopsis "Monadic control flow with anaphoric variants")
6081 (description "This library provides functions for control flow inside of
6082 monads with anaphoric variants on @code{if} and @code{when} and a C-like
6083 @code{switch} function.")
6084 (license license:bsd-3)))
6085
6086 (define-public ghc-indents
6087 (package
6088 (name "ghc-indents")
6089 (version "0.5.0.1")
6090 (source (origin
6091 (method url-fetch)
6092 (uri (string-append
6093 "https://hackage.haskell.org/package/indents/indents-"
6094 version ".tar.gz"))
6095 (sha256
6096 (base32
6097 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
6098 (build-system haskell-build-system)
6099 ;; This package needs an older version of tasty.
6100 (arguments '(#:tests? #f))
6101 (inputs
6102 `(("ghc-concatenative" ,ghc-concatenative)))
6103 (native-inputs
6104 `(("ghc-tasty" ,ghc-tasty)
6105 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6106 (home-page "http://patch-tag.com/r/salazar/indents")
6107 (synopsis "Indentation sensitive parser-combinators for parsec")
6108 (description
6109 "This library provides functions for use in parsing indentation sensitive
6110 contexts. It parses blocks of lines all indented to the same level as well as
6111 lines continued at an indented level below.")
6112 (license license:bsd-3)))
6113
6114 (define-public ghc-infer-license
6115 (package
6116 (name "ghc-infer-license")
6117 (version "0.2.0")
6118 (source
6119 (origin
6120 (method url-fetch)
6121 (uri (string-append "https://hackage.haskell.org/package/"
6122 "infer-license/infer-license-" version ".tar.gz"))
6123 (sha256
6124 (base32
6125 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6126 (build-system haskell-build-system)
6127 (inputs
6128 `(("ghc-text-metrics" ,ghc-text-metrics)))
6129 (native-inputs
6130 `(("ghc-hspec" ,ghc-hspec)
6131 ("hspec-discover" ,hspec-discover)))
6132 (home-page "https://hackage.haskell.org/package/infer-license")
6133 (synopsis "Infer software license from a given license file")
6134 (description "This library provides tools to infer a software
6135 license from a given license file.")
6136 (license license:expat)))
6137
6138 (define-public ghc-inline-c
6139 (package
6140 (name "ghc-inline-c")
6141 (version "0.7.0.1")
6142 (source
6143 (origin
6144 (method url-fetch)
6145 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6146 "inline-c-" version ".tar.gz"))
6147 (sha256
6148 (base32
6149 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
6150 (build-system haskell-build-system)
6151 (inputs
6152 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6153 ("ghc-cryptohash" ,ghc-cryptohash)
6154 ("ghc-hashable" ,ghc-hashable)
6155 ("ghc-parsers" ,ghc-parsers)
6156 ("ghc-unordered-containers" ,ghc-unordered-containers)
6157 ("ghc-vector" ,ghc-vector)))
6158 (native-inputs
6159 `(("ghc-quickcheck" ,ghc-quickcheck)
6160 ("ghc-hspec" ,ghc-hspec)
6161 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6162 ("ghc-regex-posix" ,ghc-regex-posix)))
6163 (home-page "https://hackage.haskell.org/package/inline-c")
6164 (synopsis "Write Haskell source files including C code inline")
6165 (description
6166 "inline-c lets you seamlessly call C libraries and embed high-performance
6167 inline C code in Haskell modules. Haskell and C can be freely intermixed in
6168 the same source file, and data passed to and from code in either language with
6169 minimal overhead. No FFI required.")
6170 (license license:expat)))
6171
6172 (define-public ghc-inline-c-cpp
6173 (package
6174 (name "ghc-inline-c-cpp")
6175 (version "0.3.0.3")
6176 (source
6177 (origin
6178 (method url-fetch)
6179 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6180 "inline-c-cpp-" version ".tar.gz"))
6181 (sha256
6182 (base32
6183 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
6184 (build-system haskell-build-system)
6185 (inputs
6186 `(("ghc-inline-c" ,ghc-inline-c)
6187 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6188 (native-inputs
6189 `(("ghc-hspec" ,ghc-hspec)))
6190 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6191 (synopsis "Lets you embed C++ code into Haskell")
6192 (description
6193 "This package provides utilities to inline C++ code into Haskell using
6194 @code{inline-c}.")
6195 (license license:expat)))
6196
6197 (define-public ghc-integer-logarithms
6198 (package
6199 (name "ghc-integer-logarithms")
6200 (version "1.0.3")
6201 (source
6202 (origin
6203 (method url-fetch)
6204 (uri (string-append "https://hackage.haskell.org/package/"
6205 "integer-logarithms/integer-logarithms-"
6206 version ".tar.gz"))
6207 (sha256
6208 (base32
6209 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
6210 (build-system haskell-build-system)
6211 (arguments
6212 `(#:phases
6213 (modify-phases %standard-phases
6214 (add-before 'configure 'update-constraints
6215 (lambda _
6216 (substitute* "integer-logarithms.cabal"
6217 (("tasty >= 0\\.10 && < 1\\.1")
6218 "tasty >= 0.10 && < 1.2")))))))
6219 (native-inputs
6220 `(("ghc-quickcheck" ,ghc-quickcheck)
6221 ("ghc-smallcheck" ,ghc-smallcheck)
6222 ("ghc-tasty" ,ghc-tasty)
6223 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6224 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6225 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6226 (home-page "https://github.com/Bodigrim/integer-logarithms")
6227 (synopsis "Integer logarithms")
6228 (description
6229 "This package provides the following modules:
6230 @code{Math.NumberTheory.Logarithms} and
6231 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6232 @code{GHC.Integer.Logarithms.Compat} and
6233 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6234 in migrated modules.")
6235 (license license:expat)))
6236
6237 (define-public ghc-integer-logarithms-bootstrap
6238 (package
6239 (inherit ghc-integer-logarithms)
6240 (name "ghc-integer-logarithms-bootstrap")
6241 (arguments `(#:tests? #f))
6242 (native-inputs '())
6243 (properties '((hidden? #t)))))
6244
6245 (define-public ghc-interpolate
6246 (package
6247 (name "ghc-interpolate")
6248 (version "0.2.0")
6249 (source
6250 (origin
6251 (method url-fetch)
6252 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6253 "interpolate-" version ".tar.gz"))
6254 (sha256
6255 (base32
6256 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6257 (build-system haskell-build-system)
6258 (inputs
6259 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6260 (native-inputs
6261 `(("ghc-base-compat" ,ghc-base-compat)
6262 ("ghc-hspec" ,ghc-hspec)
6263 ("ghc-quickcheck" ,ghc-quickcheck)
6264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6265 ("hspec-discover" ,hspec-discover)))
6266 (home-page "https://github.com/sol/interpolate")
6267 (synopsis "String interpolation library")
6268 (description "This package provides a string interpolation library for
6269 Haskell.")
6270 (license license:expat)))
6271
6272 (define-public ghc-intervalmap
6273 (package
6274 (name "ghc-intervalmap")
6275 (version "0.6.1.1")
6276 (source
6277 (origin
6278 (method url-fetch)
6279 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6280 "IntervalMap-" version ".tar.gz"))
6281 (sha256
6282 (base32
6283 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
6284 (build-system haskell-build-system)
6285 (native-inputs
6286 `(("ghc-quickcheck" ,ghc-quickcheck)))
6287 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6288 (synopsis "Containers for intervals, with efficient search")
6289 (description
6290 "This package provides ordered containers of intervals, with efficient
6291 search for all keys containing a point or overlapping an interval. See the
6292 example code on the home page for a quick introduction.")
6293 (license license:bsd-3)))
6294
6295 (define-public ghc-intervals
6296 (package
6297 (name "ghc-intervals")
6298 (version "0.8.1")
6299 (source
6300 (origin
6301 (method url-fetch)
6302 (uri (string-append "https://hackage.haskell.org/package/"
6303 "intervals/intervals-" version ".tar.gz"))
6304 (sha256
6305 (base32
6306 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6307 (build-system haskell-build-system)
6308 (inputs
6309 `(("ghc-distributive" ,ghc-distributive)))
6310 (native-inputs
6311 `(("cabal-doctest" ,cabal-doctest)
6312 ("ghc-doctest" ,ghc-doctest)
6313 ("ghc-quickcheck" ,ghc-quickcheck)))
6314 (arguments
6315 `(#:cabal-revision
6316 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6317 (home-page "https://github.com/ekmett/intervals")
6318 (synopsis "Interval arithmetic")
6319 (description "This library provides
6320 @code{Numeric.Interval.Interval}, which represets a closed, convex set
6321 of floating point values.")
6322 (license license:bsd-3)))
6323
6324 (define-public ghc-invariant
6325 (package
6326 (name "ghc-invariant")
6327 (version "0.5.3")
6328 (source
6329 (origin
6330 (method url-fetch)
6331 (uri (string-append
6332 "https://hackage.haskell.org/package/invariant/invariant-"
6333 version ".tar.gz"))
6334 (sha256
6335 (base32
6336 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
6337 (build-system haskell-build-system)
6338 (inputs
6339 `(("ghc-bifunctors" ,ghc-bifunctors)
6340 ("ghc-comonad" ,ghc-comonad)
6341 ("ghc-contravariant" ,ghc-contravariant)
6342 ("ghc-profunctors" ,ghc-profunctors)
6343 ("ghc-semigroups" ,ghc-semigroups)
6344 ("ghc-statevar" ,ghc-statevar)
6345 ("ghc-tagged" ,ghc-tagged)
6346 ("ghc-th-abstraction" ,ghc-th-abstraction)
6347 ("ghc-transformers-compat" ,ghc-transformers-compat)
6348 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6349 (native-inputs
6350 `(("ghc-hspec" ,ghc-hspec)
6351 ("ghc-quickcheck" ,ghc-quickcheck)
6352 ("hspec-discover" ,hspec-discover)))
6353 (home-page "https://github.com/nfrisby/invariant-functors")
6354 (synopsis "Haskell98 invariant functors")
6355 (description "Haskell98 invariant functors (also known as exponential
6356 functors). For more information, see Edward Kmett's article
6357 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6358 (license license:bsd-2)))
6359
6360 (define-public ghc-io-streams
6361 (package
6362 (name "ghc-io-streams")
6363 (version "1.5.1.0")
6364 (source
6365 (origin
6366 (method url-fetch)
6367 (uri (string-append "https://hackage.haskell.org/package/"
6368 "io-streams/io-streams-" version ".tar.gz"))
6369 (sha256
6370 (base32
6371 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
6372 (build-system haskell-build-system)
6373 (inputs
6374 `(("ghc-attoparsec" ,ghc-attoparsec)
6375 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6376 ("ghc-network" ,ghc-network)
6377 ("ghc-primitive" ,ghc-primitive)
6378 ("ghc-vector" ,ghc-vector)
6379 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6380 (native-inputs
6381 `(("ghc-hunit" ,ghc-hunit)
6382 ("ghc-quickcheck" ,ghc-quickcheck)
6383 ("ghc-test-framework" ,ghc-test-framework)
6384 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6385 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6386 ("ghc-zlib" ,ghc-zlib)))
6387 (home-page "https://hackage.haskell.org/package/io-streams")
6388 (synopsis "Simple and composable stream I/O")
6389 (description "This library contains simple and easy-to-use
6390 primitives for I/O using streams.")
6391 (license license:bsd-3)))
6392
6393 (define-public ghc-io-streams-haproxy
6394 (package
6395 (name "ghc-io-streams-haproxy")
6396 (version "1.0.1.0")
6397 (source
6398 (origin
6399 (method url-fetch)
6400 (uri (string-append "https://hackage.haskell.org/package/"
6401 "io-streams-haproxy/io-streams-haproxy-"
6402 version ".tar.gz"))
6403 (sha256
6404 (base32
6405 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6406 (build-system haskell-build-system)
6407 (inputs
6408 `(("ghc-attoparsec" ,ghc-attoparsec)
6409 ("ghc-io-streams" ,ghc-io-streams)
6410 ("ghc-network" ,ghc-network)))
6411 (native-inputs
6412 `(("ghc-hunit" ,ghc-hunit)
6413 ("ghc-test-framework" ,ghc-test-framework)
6414 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6415 (home-page "http://snapframework.com/")
6416 (synopsis "HAProxy protocol 1.5 support for io-streams")
6417 (description "HAProxy protocol version 1.5 support
6418 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6419 for applications using io-streams. The proxy protocol allows information
6420 about a networked peer (like remote address and port) to be propagated
6421 through a forwarding proxy that is configured to speak this protocol.")
6422 (license license:bsd-3)))
6423
6424 (define-public ghc-iproute
6425 (package
6426 (name "ghc-iproute")
6427 (version "1.7.7")
6428 (source
6429 (origin
6430 (method url-fetch)
6431 (uri (string-append
6432 "https://hackage.haskell.org/package/iproute/iproute-"
6433 version
6434 ".tar.gz"))
6435 (sha256
6436 (base32
6437 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
6438 (build-system haskell-build-system)
6439 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6440 ; exported by ghc-byteorder. Doctest issue.
6441 (inputs
6442 `(("ghc-appar" ,ghc-appar)
6443 ("ghc-byteorder" ,ghc-byteorder)
6444 ("ghc-network" ,ghc-network)
6445 ("ghc-safe" ,ghc-safe)))
6446 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6447 (synopsis "IP routing table")
6448 (description "IP Routing Table is a tree of IP ranges to search one of
6449 them on the longest match base. It is a kind of TRIE with one way branching
6450 removed. Both IPv4 and IPv6 are supported.")
6451 (license license:bsd-3)))
6452
6453 (define-public ghc-ipynb
6454 (package
6455 (name "ghc-ipynb")
6456 (version "0.1")
6457 (source
6458 (origin
6459 (method url-fetch)
6460 (uri (string-append "https://hackage.haskell.org/package/"
6461 "ipynb/ipynb-" version ".tar.gz"))
6462 (sha256
6463 (base32
6464 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6465 (build-system haskell-build-system)
6466 (inputs
6467 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6468 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6469 ("ghc-aeson" ,ghc-aeson)
6470 ("ghc-semigroups" ,ghc-semigroups)))
6471 (native-inputs
6472 `(("ghc-tasty" ,ghc-tasty)
6473 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6474 ("ghc-aeson-diff" ,ghc-aeson-diff)
6475 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6476 ("ghc-microlens" ,ghc-microlens)
6477 ("ghc-vector" ,ghc-vector)))
6478 (home-page "https://hackage.haskell.org/package/ipynb")
6479 (synopsis "Data structure for working with Jupyter notebooks")
6480 (description "This library defines a data structure for representing
6481 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6482 instances for conversion to and from JSON .ipynb files.")
6483 (license license:bsd-3)))
6484
6485 (define-public ghc-iwlib
6486 (package
6487 (name "ghc-iwlib")
6488 (version "0.1.0")
6489 (source
6490 (origin
6491 (method url-fetch)
6492 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6493 version ".tar.gz"))
6494 (sha256
6495 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6496 (build-system haskell-build-system)
6497 (inputs
6498 `(("wireless-tools" ,wireless-tools)))
6499 (home-page "https://github.com/jaor/iwlib")
6500 (synopsis "Haskell binding to the iw wireless networking library")
6501 (description
6502 "IWlib is a thin Haskell binding to the iw C library. It provides
6503 information about the current wireless network connections, and adapters on
6504 supported systems.")
6505 (license license:bsd-3)))
6506
6507 (define-public ghc-json
6508 (package
6509 (name "ghc-json")
6510 (version "0.9.3")
6511 (source
6512 (origin
6513 (method url-fetch)
6514 (uri (string-append "https://hackage.haskell.org/package/json/"
6515 "json-" version ".tar.gz"))
6516 (sha256
6517 (base32
6518 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
6519 (build-system haskell-build-system)
6520 (inputs
6521 `(("ghc-syb" ,ghc-syb)))
6522 (home-page "https://hackage.haskell.org/package/json")
6523 (synopsis "Serializes Haskell data to and from JSON")
6524 (description "This package provides a parser and pretty printer for
6525 converting between Haskell values and JSON.
6526 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6527 (license license:bsd-3)))
6528
6529 (define-public ghc-juicypixels
6530 (package
6531 (name "ghc-juicypixels")
6532 (version "3.3.4")
6533 (source (origin
6534 (method url-fetch)
6535 (uri (string-append "https://hackage.haskell.org/package/"
6536 "JuicyPixels/JuicyPixels-"
6537 version ".tar.gz"))
6538 (sha256
6539 (base32
6540 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
6541 (build-system haskell-build-system)
6542 (inputs
6543 `(("ghc-zlib" ,ghc-zlib)
6544 ("ghc-vector" ,ghc-vector)
6545 ("ghc-primitive" ,ghc-primitive)
6546 ("ghc-mmap" ,ghc-mmap)))
6547 (home-page "https://github.com/Twinside/Juicy.Pixels")
6548 (synopsis "Picture loading and serialization library")
6549 (description
6550 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6551 TIFF and GIF formats.")
6552 (license license:bsd-3)))
6553
6554 (define-public ghc-kan-extensions
6555 (package
6556 (name "ghc-kan-extensions")
6557 (version "5.2")
6558 (source
6559 (origin
6560 (method url-fetch)
6561 (uri (string-append
6562 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6563 version
6564 ".tar.gz"))
6565 (sha256
6566 (base32
6567 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6568 (build-system haskell-build-system)
6569 (inputs
6570 `(("ghc-adjunctions" ,ghc-adjunctions)
6571 ("ghc-comonad" ,ghc-comonad)
6572 ("ghc-contravariant" ,ghc-contravariant)
6573 ("ghc-distributive" ,ghc-distributive)
6574 ("ghc-free" ,ghc-free)
6575 ("ghc-invariant" ,ghc-invariant)
6576 ("ghc-semigroupoids" ,ghc-semigroupoids)
6577 ("ghc-tagged" ,ghc-tagged)
6578 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6579 (home-page "https://github.com/ekmett/kan-extensions/")
6580 (synopsis "Kan extensions library")
6581 (description "This library provides Kan extensions, Kan lifts, various
6582 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6583 (license license:bsd-3)))
6584
6585 (define-public ghc-language-c
6586 (package
6587 (name "ghc-language-c")
6588 (version "0.8.3")
6589 (source
6590 (origin
6591 (method url-fetch)
6592 (uri (string-append "https://hackage.haskell.org/package/"
6593 "language-c/language-c-" version ".tar.gz"))
6594 (sha256
6595 (base32
6596 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
6597 (build-system haskell-build-system)
6598 (inputs `(("ghc-syb" ,ghc-syb)))
6599 (native-inputs
6600 `(("ghc-happy" ,ghc-happy)
6601 ("ghc-alex" ,ghc-alex)))
6602 (home-page "https://visq.github.io/language-c/")
6603 (synopsis "Analysis and generation of C code")
6604 (description
6605 "Language C is a Haskell library for the analysis and generation of C code.
6606 It features a complete, well-tested parser and pretty printer for all of C99
6607 and a large set of GNU extensions.")
6608 (license license:bsd-3)))
6609
6610 (define-public ghc-language-glsl
6611 (package
6612 (name "ghc-language-glsl")
6613 (version "0.3.0")
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append "https://hackage.haskell.org/package/"
6618 "language-glsl/language-glsl-" version ".tar.gz"))
6619 (sha256
6620 (base32
6621 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6622 (build-system haskell-build-system)
6623 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6624 (arguments
6625 `(#:tests? #f
6626 #:cabal-revision
6627 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6628 (home-page "https://hackage.haskell.org/package/language-glsl")
6629 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6630 (description "This package is a Haskell library for the
6631 representation, parsing, and pretty-printing of GLSL 1.50 code.")
6632 (license license:bsd-3)))
6633
6634 (define-public ghc-language-haskell-extract
6635 (package
6636 (name "ghc-language-haskell-extract")
6637 (version "0.2.4")
6638 (source
6639 (origin
6640 (method url-fetch)
6641 (uri (string-append "https://hackage.haskell.org/package/"
6642 "language-haskell-extract-" version "/"
6643 "language-haskell-extract-" version ".tar.gz"))
6644 (sha256
6645 (base32
6646 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6647 (build-system haskell-build-system)
6648 (inputs
6649 `(("ghc-regex-posix" ,ghc-regex-posix)))
6650 (home-page "https://github.com/finnsson/template-helper")
6651 (synopsis "Haskell module to automatically extract functions from
6652 the local code")
6653 (description "This package contains helper functions on top of
6654 Template Haskell.
6655
6656 For example, @code{functionExtractor} extracts all functions after a
6657 regexp-pattern, which can be useful if you wish to extract all functions
6658 beginning with @code{test} (for a test framework) or all functions beginning
6659 with @code{wc} (for a web service).")
6660 (license license:bsd-3)))
6661
6662 (define-public ghc-lens
6663 (package
6664 (name "ghc-lens")
6665 (version "4.17.1")
6666 (source
6667 (origin
6668 (method url-fetch)
6669 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6670 version ".tar.gz"))
6671 (sha256
6672 (base32
6673 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
6674 (build-system haskell-build-system)
6675 (inputs
6676 `(("ghc-base-orphans" ,ghc-base-orphans)
6677 ("ghc-bifunctors" ,ghc-bifunctors)
6678 ("ghc-distributive" ,ghc-distributive)
6679 ("ghc-exceptions" ,ghc-exceptions)
6680 ("ghc-free" ,ghc-free)
6681 ("ghc-kan-extensions" ,ghc-kan-extensions)
6682 ("ghc-parallel" ,ghc-parallel)
6683 ("ghc-reflection" ,ghc-reflection)
6684 ("ghc-semigroupoids" ,ghc-semigroupoids)
6685 ("ghc-vector" ,ghc-vector)
6686 ("ghc-call-stack" ,ghc-call-stack)
6687 ("ghc-comonad" ,ghc-comonad)
6688 ("ghc-contravariant" ,ghc-contravariant)
6689 ("ghc-hashable" ,ghc-hashable)
6690 ("ghc-profunctors" ,ghc-profunctors)
6691 ("ghc-semigroups" ,ghc-semigroups)
6692 ("ghc-tagged" ,ghc-tagged)
6693 ("ghc-transformers-compat" ,ghc-transformers-compat)
6694 ("ghc-unordered-containers" ,ghc-unordered-containers)
6695 ("ghc-void" ,ghc-void)
6696 ("ghc-generic-deriving" ,ghc-generic-deriving)
6697 ("ghc-nats" ,ghc-nats)
6698 ("ghc-simple-reflect" ,ghc-simple-reflect)
6699 ("hlint" ,hlint)))
6700 (native-inputs
6701 `(("cabal-doctest" ,cabal-doctest)
6702 ("ghc-doctest" ,ghc-doctest)
6703 ("ghc-hunit" ,ghc-hunit)
6704 ("ghc-test-framework" ,ghc-test-framework)
6705 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6706 ("ghc-test-framework-th" ,ghc-test-framework-th)
6707 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6708 ("ghc-quickcheck" ,ghc-quickcheck)))
6709 (home-page "https://github.com/ekmett/lens/")
6710 (synopsis "Lenses, Folds and Traversals")
6711 (description "This library provides @code{Control.Lens}. The combinators
6712 in @code{Control.Lens} provide a highly generic toolbox for composing families
6713 of getters, folds, isomorphisms, traversals, setters and lenses and their
6714 indexed variants.")
6715 (license license:bsd-3)))
6716
6717 (define-public ghc-lens-family-core
6718 (package
6719 (name "ghc-lens-family-core")
6720 (version "1.2.3")
6721 (source
6722 (origin
6723 (method url-fetch)
6724 (uri (string-append
6725 "mirror://hackage/package/lens-family-core/lens-family-core-"
6726 version
6727 ".tar.gz"))
6728 (sha256
6729 (base32
6730 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6731 (build-system haskell-build-system)
6732 (home-page
6733 "http://hackage.haskell.org/package/lens-family-core")
6734 (synopsis "Haskell 98 Lens Families")
6735 (description
6736 "This package provides first class functional references. In addition to
6737 the usual operations of getting, setting and composition, plus integration
6738 with the state monad, lens families provide some unique features:
6739
6740 @itemize
6741 @item Polymorphic updating
6742 @item Traversals
6743 @item Cast projection functions to read-only lenses
6744 @item Cast @code{toList} functions to read-only traversals
6745 @item Cast semantic editor combinators to modify-only traversals
6746 @end itemize
6747
6748 For optimal first-class support use the lens-family package with rank 2/rank N
6749 polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6750 lenses and traversals for those who require Haskell 98.")
6751 (license license:bsd-3)))
6752
6753 (define-public ghc-libffi
6754 (package
6755 (name "ghc-libffi")
6756 (version "0.1")
6757 (source
6758 (origin
6759 (method url-fetch)
6760 (uri (string-append "https://hackage.haskell.org/package/"
6761 "libffi/libffi-" version ".tar.gz"))
6762 (sha256
6763 (base32
6764 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6765 (build-system haskell-build-system)
6766 (native-inputs `(("pkg-config" ,pkg-config)))
6767 (inputs `(("libffi" ,libffi)))
6768 (home-page "https://hackage.haskell.org/package/libffi")
6769 (synopsis "Haskell binding to libffi")
6770 (description
6771 "A binding to libffi, allowing C functions of types only known at runtime
6772 to be called from Haskell.")
6773 (license license:bsd-3)))
6774
6775 (define-public ghc-libmpd
6776 (package
6777 (name "ghc-libmpd")
6778 (version "0.9.0.10")
6779 (source
6780 (origin
6781 (method url-fetch)
6782 (uri (string-append
6783 "mirror://hackage/package/libmpd/libmpd-"
6784 version
6785 ".tar.gz"))
6786 (sha256
6787 (base32
6788 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
6789 (build-system haskell-build-system)
6790 ;; Tests fail on i686.
6791 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6792 (arguments `(#:tests? #f))
6793 (inputs
6794 `(("ghc-attoparsec" ,ghc-attoparsec)
6795 ("ghc-old-locale" ,ghc-old-locale)
6796 ("ghc-data-default-class" ,ghc-data-default-class)
6797 ("ghc-network" ,ghc-network)
6798 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
6799 ("ghc-utf8-string" ,ghc-utf8-string)))
6800 (native-inputs
6801 `(("ghc-quickcheck" ,ghc-quickcheck)
6802 ("ghc-hspec" ,ghc-hspec)
6803 ("hspec-discover" ,hspec-discover)))
6804 (home-page "https://github.com/vimus/libmpd-haskell")
6805 (synopsis "Haskell client library for the Music Player Daemon")
6806 (description "This package provides a pure Haskell client library for the
6807 Music Player Daemon.")
6808 (license license:expat)))
6809
6810 (define-public ghc-lib-parser
6811 (package
6812 (name "ghc-lib-parser")
6813 (version "8.8.0.20190424")
6814 (source
6815 (origin
6816 (method url-fetch)
6817 (uri (string-append "https://hackage.haskell.org/package/"
6818 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6819 (sha256
6820 (base32
6821 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6822 (build-system haskell-build-system)
6823 (native-inputs
6824 `(("ghc-alex" ,ghc-alex)
6825 ("ghc-happy" ,ghc-happy)))
6826 (home-page "https://github.com/digital-asset/ghc-lib")
6827 (synopsis "The GHC API, decoupled from GHC versions")
6828 (description "This library implements the GHC API. It is like the
6829 compiler-provided @code{ghc} package, but it can be loaded on many
6830 compiler versions.")
6831 (license license:bsd-3)))
6832
6833 (define-public ghc-libxml
6834 (package
6835 (name "ghc-libxml")
6836 (version "0.1.1")
6837 (source
6838 (origin
6839 (method url-fetch)
6840 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6841 "libxml-" version ".tar.gz"))
6842 (sha256
6843 (base32
6844 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6845 (build-system haskell-build-system)
6846 (inputs
6847 `(("libxml2" ,libxml2)))
6848 (arguments
6849 `(#:configure-flags
6850 `(,(string-append "--extra-include-dirs="
6851 (assoc-ref %build-inputs "libxml2")
6852 "/include/libxml2"))))
6853 (home-page "https://hackage.haskell.org/package/libxml")
6854 (synopsis "Haskell bindings to libxml2")
6855 (description
6856 "This library provides minimal Haskell binding to libxml2.")
6857 (license license:bsd-3)))
6858
6859 (define-public ghc-libyaml
6860 (package
6861 (name "ghc-libyaml")
6862 (version "0.1.1.0")
6863 (source
6864 (origin
6865 (method url-fetch)
6866 (uri (string-append "https://hackage.haskell.org/package/"
6867 "libyaml/libyaml-" version ".tar.gz"))
6868 (sha256
6869 (base32
6870 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6871 (modules '((guix build utils)))
6872 (snippet
6873 ;; Delete bundled LibYAML.
6874 '(begin
6875 (delete-file-recursively "libyaml_src")
6876 #t))))
6877 (build-system haskell-build-system)
6878 (arguments
6879 `(#:configure-flags `("--flags=system-libyaml")))
6880 (inputs
6881 `(("ghc-conduit" ,ghc-conduit)
6882 ("ghc-resourcet" ,ghc-resourcet)
6883 ("libyaml" ,libyaml)))
6884 (home-page "https://github.com/snoyberg/yaml#readme")
6885 (synopsis "Low-level, streaming YAML interface.")
6886 (description "This package provides a Haskell wrapper over the
6887 LibYAML C library.")
6888 (license license:bsd-3)))
6889
6890 (define-public ghc-lifted-async
6891 (package
6892 (name "ghc-lifted-async")
6893 (version "0.10.0.4")
6894 (source
6895 (origin
6896 (method url-fetch)
6897 (uri (string-append
6898 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6899 version ".tar.gz"))
6900 (sha256
6901 (base32
6902 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
6903 (build-system haskell-build-system)
6904 (inputs
6905 `(("ghc-async" ,ghc-async)
6906 ("ghc-lifted-base" ,ghc-lifted-base)
6907 ("ghc-transformers-base" ,ghc-transformers-base)
6908 ("ghc-monad-control" ,ghc-monad-control)
6909 ("ghc-constraints" ,ghc-constraints)
6910 ("ghc-hunit" ,ghc-hunit)
6911 ("ghc-tasty" ,ghc-tasty)
6912 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6914 ("ghc-tasty-th" ,ghc-tasty-th)))
6915 (home-page "https://github.com/maoe/lifted-async")
6916 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6917 (description
6918 "This package provides IO operations from @code{async} package lifted to any
6919 instance of @code{MonadBase} or @code{MonadBaseControl}.")
6920 (license license:bsd-3)))
6921
6922 (define-public ghc-lifted-base
6923 (package
6924 (name "ghc-lifted-base")
6925 (version "0.2.3.12")
6926 (source
6927 (origin
6928 (method url-fetch)
6929 (uri (string-append
6930 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6931 version
6932 ".tar.gz"))
6933 (sha256
6934 (base32
6935 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6936 (build-system haskell-build-system)
6937 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6938 (inputs
6939 `(("ghc-transformers-base" ,ghc-transformers-base)
6940 ("ghc-monad-control" ,ghc-monad-control)
6941 ("ghc-transformers-compat" ,ghc-transformers-compat)
6942 ("ghc-hunit" ,ghc-hunit)))
6943 (home-page "https://github.com/basvandijk/lifted-base")
6944 (synopsis "Lifted IO operations from the base library")
6945 (description "Lifted-base exports IO operations from the @code{base}
6946 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6947 Note that not all modules from @code{base} are converted yet. The package
6948 includes a copy of the @code{monad-peel} test suite written by Anders
6949 Kaseorg.")
6950 (license license:bsd-3)))
6951
6952 (define-public ghc-linear
6953 (package
6954 (name "ghc-linear")
6955 (version "1.20.9")
6956 (source
6957 (origin
6958 (method url-fetch)
6959 (uri (string-append "https://hackage.haskell.org/package/linear/"
6960 "linear-" version ".tar.gz"))
6961 (sha256
6962 (base32
6963 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
6964 (build-system haskell-build-system)
6965 (inputs
6966 `(("ghc-adjunctions" ,ghc-adjunctions)
6967 ("ghc-base-orphans" ,ghc-base-orphans)
6968 ("ghc-bytes" ,ghc-bytes)
6969 ("ghc-cereal" ,ghc-cereal)
6970 ("ghc-distributive" ,ghc-distributive)
6971 ("ghc-hashable" ,ghc-hashable)
6972 ("ghc-lens" ,ghc-lens)
6973 ("ghc-reflection" ,ghc-reflection)
6974 ("ghc-semigroups" ,ghc-semigroups)
6975 ("ghc-semigroupoids" ,ghc-semigroupoids)
6976 ("ghc-tagged" ,ghc-tagged)
6977 ("ghc-transformers-compat" ,ghc-transformers-compat)
6978 ("ghc-unordered-containers" ,ghc-unordered-containers)
6979 ("ghc-vector" ,ghc-vector)
6980 ("ghc-void" ,ghc-void)))
6981 (native-inputs
6982 `(("cabal-doctest" ,cabal-doctest)
6983 ("ghc-doctest" ,ghc-doctest)
6984 ("ghc-simple-reflect" ,ghc-simple-reflect)
6985 ("ghc-test-framework" ,ghc-test-framework)
6986 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6987 ("ghc-hunit" ,ghc-hunit)))
6988 (home-page "https://github.com/ekmett/linear/")
6989 (synopsis "Linear algebra library for Haskell")
6990 (description
6991 "This package provides types and combinators for linear algebra on free
6992 vector spaces.")
6993 (license license:bsd-3)))
6994
6995 (define-public ghc-listlike
6996 (package
6997 (name "ghc-listlike")
6998 (version "4.6.2")
6999 (source
7000 (origin
7001 (method url-fetch)
7002 (uri
7003 (string-append
7004 "https://hackage.haskell.org/package/ListLike/ListLike-"
7005 version ".tar.gz"))
7006 (sha256
7007 (base32
7008 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7009 (build-system haskell-build-system)
7010 (inputs
7011 `(("ghc-vector" ,ghc-vector)
7012 ("ghc-dlist" ,ghc-dlist)
7013 ("ghc-fmlist" ,ghc-fmlist)
7014 ("ghc-hunit" ,ghc-hunit)
7015 ("ghc-quickcheck" ,ghc-quickcheck)
7016 ("ghc-random" ,ghc-random)
7017 ("ghc-utf8-string" ,ghc-utf8-string)))
7018 (home-page "https://github.com/JohnLato/listlike")
7019 (synopsis "Generic support for list-like structures")
7020 (description "The ListLike module provides a common interface to the
7021 various Haskell types that are list-like. Predefined interfaces include
7022 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7023 Custom types can easily be made ListLike instances as well.
7024
7025 ListLike also provides for String-like types, such as String and
7026 ByteString, for types that support input and output, and for types that
7027 can handle infinite lists.")
7028 (license license:bsd-3)))
7029
7030 (define-public ghc-llvm-hs-pure
7031 (package
7032 (name "ghc-llvm-hs-pure")
7033 (version "9.0.0")
7034 (source
7035 (origin
7036 (method url-fetch)
7037 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7038 "llvm-hs-pure-" version ".tar.gz"))
7039 (sha256
7040 (base32
7041 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7042 (build-system haskell-build-system)
7043 (inputs
7044 `(("ghc-attoparsec" ,ghc-attoparsec)
7045 ("ghc-fail" ,ghc-fail)
7046 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7047 (native-inputs
7048 `(("ghc-tasty" ,ghc-tasty)
7049 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7050 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7051 (home-page "https://github.com/llvm-hs/llvm-hs/")
7052 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7053 (description "llvm-hs-pure is a set of pure Haskell types and functions
7054 for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7055 LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7056 llvm-hs-pure does not require LLVM to be available.")
7057 (license license:bsd-3)))
7058
7059 (define-public ghc-llvm-hs
7060 (package
7061 (name "ghc-llvm-hs")
7062 (version "9.0.1")
7063 (source
7064 (origin
7065 (method url-fetch)
7066 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7067 version ".tar.gz"))
7068 (sha256
7069 (base32
7070 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7071 (build-system haskell-build-system)
7072 (inputs
7073 `(("ghc-attoparsec" ,ghc-attoparsec)
7074 ("ghc-exceptions" ,ghc-exceptions)
7075 ("ghc-utf8-string" ,ghc-utf8-string)
7076 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7077 ("llvm" ,llvm-9)))
7078 (native-inputs
7079 `(("ghc-tasty" ,ghc-tasty)
7080 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7081 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7082 ("ghc-quickcheck" ,ghc-quickcheck)
7083 ("ghc-temporary" ,ghc-temporary)
7084 ("ghc-pretty-show" ,ghc-pretty-show)
7085 ("ghc-temporary" ,ghc-temporary)))
7086 (home-page "https://github.com/llvm-hs/llvm-hs/")
7087 (synopsis "General purpose LLVM bindings for Haskell")
7088 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7089 current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7090 IR, and so offers two advantages: it handles almost all of the stateful
7091 complexities of using the LLVM API to build IR; and it supports moving IR not
7092 only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7093 into Haskell.")
7094 (license license:bsd-3)))
7095
7096 (define-public ghc-logging-facade
7097 (package
7098 (name "ghc-logging-facade")
7099 (version "0.3.0")
7100 (source (origin
7101 (method url-fetch)
7102 (uri (string-append "https://hackage.haskell.org/package/"
7103 "logging-facade/logging-facade-"
7104 version ".tar.gz"))
7105 (sha256
7106 (base32
7107 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7108 (build-system haskell-build-system)
7109 (native-inputs
7110 `(("ghc-hspec" ,ghc-hspec)
7111 ("hspec-discover" ,hspec-discover)))
7112 (home-page "https://hackage.haskell.org/package/logging-facade")
7113 (synopsis "Simple logging abstraction that allows multiple back-ends")
7114 (description
7115 "This package provides a simple logging abstraction that allows multiple
7116 back-ends.")
7117 (license license:expat)))
7118
7119 (define-public ghc-logict
7120 (package
7121 (name "ghc-logict")
7122 (version "0.7.0.2")
7123 (source
7124 (origin
7125 (method url-fetch)
7126 (uri (string-append
7127 "https://hackage.haskell.org/package/logict/logict-"
7128 version
7129 ".tar.gz"))
7130 (sha256
7131 (base32
7132 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
7133 (build-system haskell-build-system)
7134 (native-inputs
7135 `(("ghc-tasty" ,ghc-tasty)
7136 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7137 (home-page "http://code.haskell.org/~dolio/")
7138 (synopsis "Backtracking logic-programming monad")
7139 (description "This library provides a continuation-based, backtracking,
7140 logic programming monad. An adaptation of the two-continuation implementation
7141 found in the paper \"Backtracking, Interleaving, and Terminating Monad
7142 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7143 online}.")
7144 (license license:bsd-3)))
7145
7146 (define-public ghc-lzma
7147 (package
7148 (name "ghc-lzma")
7149 (version "0.0.0.3")
7150 (source
7151 (origin
7152 (method url-fetch)
7153 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7154 "lzma-" version ".tar.gz"))
7155 (sha256
7156 (base32
7157 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7158 (build-system haskell-build-system)
7159 (arguments
7160 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7161 #:cabal-revision
7162 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7163 (native-inputs
7164 `(("ghc-hunit" ,ghc-hunit)
7165 ("ghc-quickcheck" ,ghc-quickcheck)
7166 ("ghc-tasty" ,ghc-tasty)
7167 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7168 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7169 (home-page "https://github.com/hvr/lzma")
7170 (synopsis "LZMA/XZ compression and decompression")
7171 (description
7172 "This package provides a pure interface for compressing and
7173 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7174 monadic incremental interface is provided as well.")
7175 (license license:bsd-3)))
7176
7177 (define-public ghc-lzma-conduit
7178 (package
7179 (name "ghc-lzma-conduit")
7180 (version "1.2.1")
7181 (source
7182 (origin
7183 (method url-fetch)
7184 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7185 "lzma-conduit-" version ".tar.gz"))
7186 (sha256
7187 (base32
7188 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7189 (build-system haskell-build-system)
7190 (inputs
7191 `(("ghc-conduit" ,ghc-conduit)
7192 ("ghc-lzma" ,ghc-lzma)
7193 ("ghc-resourcet" ,ghc-resourcet)))
7194 (native-inputs
7195 `(("ghc-base-compat" ,ghc-base-compat)
7196 ("ghc-test-framework" ,ghc-test-framework)
7197 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7198 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7199 ("ghc-hunit" ,ghc-hunit)
7200 ("ghc-quickcheck" ,ghc-quickcheck)))
7201 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7202 (synopsis "Conduit interface for lzma/xz compression")
7203 (description
7204 "This package provides a @code{Conduit} interface for the LZMA
7205 compression algorithm used in the @code{.xz} file format.")
7206 (license license:bsd-3)))
7207
7208 (define-public ghc-magic
7209 (package
7210 (name "ghc-magic")
7211 (version "1.1")
7212 (source
7213 (origin
7214 (method url-fetch)
7215 (uri (string-append
7216 "https://hackage.haskell.org/package/magic/magic-"
7217 version ".tar.gz"))
7218 (sha256
7219 (base32
7220 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7221 (build-system haskell-build-system)
7222 (home-page "https://hackage.haskell.org/package/magic")
7223 (synopsis "Interface to C file/magic library")
7224 (description
7225 "This package provides a full-featured binding to the C libmagic library.
7226 With it, you can determine the type of a file by examining its contents rather
7227 than its name.")
7228 (license license:bsd-3)))
7229
7230 (define-public ghc-managed
7231 (package
7232 (name "ghc-managed")
7233 (version "1.0.6")
7234 (source
7235 (origin
7236 (method url-fetch)
7237 (uri (string-append
7238 "mirror://hackage/package/managed/managed-"
7239 version
7240 ".tar.gz"))
7241 (sha256
7242 (base32
7243 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7244 (build-system haskell-build-system)
7245 (home-page "http://hackage.haskell.org/package/managed")
7246 (synopsis "Monad for managed values")
7247 (description
7248 "In Haskell you very often acquire values using the with... idiom using
7249 functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7250 special case of the ContT monad (from transformers) or the Codensity
7251 monad (from kan-extensions). The main purpose behind this package is to
7252 provide a restricted form of these monads specialized to this unusually common
7253 case.
7254
7255 The reason this package defines a specialized version of these types
7256 is to:
7257
7258 @itemize
7259 @item be more beginner-friendly,
7260 @item simplify inferred types and error messages, and:
7261 @item provide some additional type class instances that would otherwise be
7262 orphan instances
7263 @end itemize")
7264 (license license:bsd-3)))
7265
7266 (define-public ghc-markdown-unlit
7267 (package
7268 (name "ghc-markdown-unlit")
7269 (version "0.5.0")
7270 (source (origin
7271 (method url-fetch)
7272 (uri (string-append
7273 "mirror://hackage/package/markdown-unlit/"
7274 "markdown-unlit-" version ".tar.gz"))
7275 (sha256
7276 (base32
7277 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7278 (build-system haskell-build-system)
7279 (inputs
7280 `(("ghc-base-compat" ,ghc-base-compat)
7281 ("ghc-hspec" ,ghc-hspec)
7282 ("ghc-quickcheck" ,ghc-quickcheck)
7283 ("ghc-silently" ,ghc-silently)
7284 ("ghc-stringbuilder" ,ghc-stringbuilder)
7285 ("ghc-temporary" ,ghc-temporary)
7286 ("hspec-discover" ,hspec-discover)))
7287 (home-page "https://github.com/sol/markdown-unlit#readme")
7288 (synopsis "Literate Haskell support for Markdown")
7289 (description "This package allows you to have a README.md that at the
7290 same time is a literate Haskell program.")
7291 (license license:expat)))
7292
7293 (define-public ghc-math-functions
7294 (package
7295 (name "ghc-math-functions")
7296 (version "0.3.3.0")
7297 (source
7298 (origin
7299 (method url-fetch)
7300 (uri (string-append "https://hackage.haskell.org/package/"
7301 "math-functions-" version "/"
7302 "math-functions-" version ".tar.gz"))
7303 (sha256
7304 (base32
7305 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
7306 (build-system haskell-build-system)
7307 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7308 (inputs
7309 `(("ghc-data-default-class" ,ghc-data-default-class)
7310 ("ghc-vector" ,ghc-vector)
7311 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7312 (native-inputs
7313 `(("ghc-hunit" ,ghc-hunit)
7314 ("ghc-quickcheck" ,ghc-quickcheck)
7315 ("ghc-erf" ,ghc-erf)
7316 ("ghc-test-framework" ,ghc-test-framework)
7317 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7318 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7319 (home-page "https://github.com/bos/math-functions")
7320 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7321 (description "This Haskell library provides implementations of
7322 special mathematical functions and Chebyshev polynomials. These
7323 functions are often useful in statistical and numerical computing.")
7324 (license license:bsd-3)))
7325
7326 (define-public ghc-megaparsec
7327 (package
7328 (name "ghc-megaparsec")
7329 (version "7.0.5")
7330 (source
7331 (origin
7332 (method url-fetch)
7333 (uri (string-append "https://hackage.haskell.org/package/"
7334 "megaparsec/megaparsec-"
7335 version ".tar.gz"))
7336 (sha256
7337 (base32
7338 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
7339 (build-system haskell-build-system)
7340 (inputs
7341 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7342 ("ghc-parser-combinators" ,ghc-parser-combinators)
7343 ("ghc-scientific" ,ghc-scientific)))
7344 (native-inputs
7345 `(("ghc-quickcheck" ,ghc-quickcheck)
7346 ("ghc-hspec" ,ghc-hspec)
7347 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7348 ("hspec-discover" ,hspec-discover)))
7349 (home-page "https://github.com/mrkkrp/megaparsec")
7350 (synopsis "Monadic parser combinators")
7351 (description
7352 "This is an industrial-strength monadic parser combinator library.
7353 Megaparsec is a feature-rich package that strikes a nice balance between
7354 speed, flexibility, and quality of parse errors.")
7355 (license license:bsd-2)))
7356
7357 (define-public ghc-memory
7358 (package
7359 (name "ghc-memory")
7360 (version "0.14.18")
7361 (source (origin
7362 (method url-fetch)
7363 (uri (string-append "https://hackage.haskell.org/package/"
7364 "memory/memory-" version ".tar.gz"))
7365 (sha256
7366 (base32
7367 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
7368 (build-system haskell-build-system)
7369 (inputs
7370 `(("ghc-basement" ,ghc-basement)
7371 ("ghc-foundation" ,ghc-foundation)))
7372 (native-inputs
7373 `(("ghc-tasty" ,ghc-tasty)
7374 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7375 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7376 (home-page "https://github.com/vincenthz/hs-memory")
7377 (synopsis "Memory abstractions for Haskell")
7378 (description
7379 "This package provides memory abstractions, such as chunk of memory,
7380 polymorphic byte array management and manipulation functions. It contains a
7381 polymorphic byte array abstraction and functions similar to strict ByteString,
7382 different type of byte array abstraction, raw memory IO operations (memory
7383 set, memory copy, ..) and more")
7384 (license license:bsd-3)))
7385
7386 (define-public ghc-memotrie
7387 (package
7388 (name "ghc-memotrie")
7389 (version "0.6.9")
7390 (source
7391 (origin
7392 (method url-fetch)
7393 (uri (string-append
7394 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7395 version
7396 ".tar.gz"))
7397 (sha256
7398 (base32
7399 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7400 (build-system haskell-build-system)
7401 (inputs
7402 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7403 (home-page "https://github.com/conal/MemoTrie")
7404 (synopsis "Trie-based memo functions")
7405 (description "This package provides a functional library for creating
7406 efficient memo functions using tries.")
7407 (license license:bsd-3)))
7408
7409 (define-public ghc-microlens
7410 (package
7411 (name "ghc-microlens")
7412 (version "0.4.10")
7413 (source
7414 (origin
7415 (method url-fetch)
7416 (uri (string-append "https://hackage.haskell.org/package/"
7417 "microlens-" version "/"
7418 "microlens-" version ".tar.gz"))
7419 (sha256
7420 (base32
7421 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
7422 (build-system haskell-build-system)
7423 (home-page
7424 "https://github.com/aelve/microlens")
7425 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7426 (description "This Haskell package provides a lens library, just like
7427 @code{ghc-lens}, but smaller. It provides essential lenses and
7428 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7429 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7430 combinators (like @code{failing} and @code{singular}), but everything else is
7431 stripped. As the result, this package has no dependencies.")
7432 (license license:bsd-3)))
7433
7434 (define-public ghc-microlens-aeson
7435 (package
7436 (name "ghc-microlens-aeson")
7437 (version "2.3.0.4")
7438 (source
7439 (origin
7440 (method url-fetch)
7441 (uri (string-append "https://hackage.haskell.org/package/"
7442 "microlens-aeson/microlens-aeson-"
7443 version ".tar.gz"))
7444 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
7445 (sha256
7446 (base32
7447 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7448 (build-system haskell-build-system)
7449 (inputs
7450 `(("ghc-aeson" ,ghc-aeson)
7451 ("ghc-attoparsec" ,ghc-attoparsec)
7452 ("ghc-hashable" ,ghc-hashable)
7453 ("ghc-microlens" ,ghc-microlens)
7454 ("ghc-scientific" ,ghc-scientific)
7455 ("ghc-unordered-containers" ,ghc-unordered-containers)
7456 ("ghc-vector" ,ghc-vector)))
7457 (native-inputs
7458 `(("ghc-tasty" ,ghc-tasty)
7459 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7460 (home-page "https://github.com/fosskers/microlens-aeson")
7461 (synopsis "Law-abiding lenses for Aeson, using microlens")
7462 (description "This library provides law-abiding lenses for Aeson, using
7463 microlens.")
7464 (license license:expat)))
7465
7466 (define-public ghc-microlens-ghc
7467 (package
7468 (name "ghc-microlens-ghc")
7469 (version "0.4.10")
7470 (source
7471 (origin
7472 (method url-fetch)
7473 (uri (string-append
7474 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7475 version
7476 ".tar.gz"))
7477 (sha256
7478 (base32
7479 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
7480 (build-system haskell-build-system)
7481 (inputs `(("ghc-microlens" ,ghc-microlens)))
7482 (home-page "https://github.com/monadfix/microlens")
7483 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7484 (description "This library provides everything that @code{microlens}
7485 provides plus instances to make @code{each}, @code{at}, and @code{ix}
7486 usable with arrays, @code{ByteString}, and containers. This package is
7487 a part of the @uref{http://hackage.haskell.org/package/microlens,
7488 microlens} family; see the readme
7489 @uref{https://github.com/aelve/microlens#readme, on Github}.")
7490 (license license:bsd-3)))
7491
7492 (define-public ghc-microlens-mtl
7493 (package
7494 (name "ghc-microlens-mtl")
7495 (version "0.1.11.1")
7496 (source
7497 (origin
7498 (method url-fetch)
7499 (uri (string-append
7500 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7501 version
7502 ".tar.gz"))
7503 (sha256
7504 (base32
7505 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7506 (build-system haskell-build-system)
7507 (inputs
7508 `(("ghc-microlens" ,ghc-microlens)
7509 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7510 (home-page "https://github.com/monadfix/microlens")
7511 (synopsis
7512 "@code{microlens} support for Reader/Writer/State from mtl")
7513 (description
7514 "This package contains functions (like @code{view} or @code{+=}) which
7515 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7516 mtl package. This package is a part of the
7517 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7518 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7519 (license license:bsd-3)))
7520
7521 (define-public ghc-microlens-platform
7522 (package
7523 (name "ghc-microlens-platform")
7524 (version "0.3.11")
7525 (source
7526 (origin
7527 (method url-fetch)
7528 (uri (string-append
7529 "https://hackage.haskell.org/package/"
7530 "microlens-platform/microlens-platform-" version ".tar.gz"))
7531 (sha256
7532 (base32
7533 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
7534 (build-system haskell-build-system)
7535 (inputs
7536 `(("ghc-hashable" ,ghc-hashable)
7537 ("ghc-microlens" ,ghc-microlens)
7538 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7539 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7540 ("ghc-microlens-th" ,ghc-microlens-th)
7541 ("ghc-unordered-containers" ,ghc-unordered-containers)
7542 ("ghc-vector" ,ghc-vector)))
7543 (home-page "https://github.com/monadfix/microlens")
7544 (synopsis "Feature-complete microlens")
7545 (description
7546 "This package exports a module which is the recommended starting point
7547 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7548 you aren't trying to keep your dependencies minimal. By importing
7549 @code{Lens.Micro.Platform} you get all functions and instances from
7550 @uref{http://hackage.haskell.org/package/microlens, microlens},
7551 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7552 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7553 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7554 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7555 minor and major versions of @code{microlens-platform} are incremented whenever
7556 the minor and major versions of any other @code{microlens} package are
7557 incremented, so you can depend on the exact version of
7558 @code{microlens-platform} without specifying the version of @code{microlens}
7559 you need. This package is a part of the
7560 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7561 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7562 (license license:bsd-3)))
7563
7564 (define-public ghc-microlens-th
7565 (package
7566 (name "ghc-microlens-th")
7567 (version "0.4.2.3")
7568 (source
7569 (origin
7570 (method url-fetch)
7571 (uri (string-append "https://hackage.haskell.org/package/"
7572 "microlens-th-" version "/"
7573 "microlens-th-" version ".tar.gz"))
7574 (sha256
7575 (base32
7576 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
7577 (build-system haskell-build-system)
7578 (arguments
7579 `(#:cabal-revision
7580 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
7581 (inputs `(("ghc-microlens" ,ghc-microlens)
7582 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7583 (home-page
7584 "https://github.com/aelve/microlens")
7585 (synopsis "Automatic generation of record lenses for
7586 @code{ghc-microlens}")
7587 (description "This Haskell package lets you automatically generate lenses
7588 for data types; code was extracted from the lens package, and therefore
7589 generated lenses are fully compatible with ones generated by lens (and can be
7590 used both from lens and microlens).")
7591 (license license:bsd-3)))
7592
7593 (define-public ghc-missingh
7594 (package
7595 (name "ghc-missingh")
7596 (version "1.4.1.0")
7597 (source
7598 (origin
7599 (method url-fetch)
7600 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7601 "MissingH-" version ".tar.gz"))
7602 (sha256
7603 (base32
7604 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
7605 (build-system haskell-build-system)
7606 ;; Tests require the unmaintained testpack package, which depends on the
7607 ;; outdated QuickCheck version 2.7, which can no longer be built with
7608 ;; recent versions of GHC and Haskell libraries.
7609 (arguments '(#:tests? #f))
7610 (inputs
7611 `(("ghc-network" ,ghc-network)
7612 ("ghc-hunit" ,ghc-hunit)
7613 ("ghc-regex-compat" ,ghc-regex-compat)
7614 ("ghc-hslogger" ,ghc-hslogger)
7615 ("ghc-random" ,ghc-random)
7616 ("ghc-old-time" ,ghc-old-time)
7617 ("ghc-old-locale" ,ghc-old-locale)))
7618 (native-inputs
7619 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7620 ("ghc-quickcheck" ,ghc-quickcheck)
7621 ("ghc-hunit" ,ghc-hunit)))
7622 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
7623 (home-page "https://github.com/haskell-hvr/missingh")
7624 (synopsis "Large utility library")
7625 (description
7626 "MissingH is a library of all sorts of utility functions for Haskell
7627 programmers. It is written in pure Haskell and thus should be extremely
7628 portable and easy to use.")
7629 (license license:bsd-3)))
7630
7631 (define-public ghc-mmap
7632 (package
7633 (name "ghc-mmap")
7634 (version "0.5.9")
7635 (source (origin
7636 (method url-fetch)
7637 (uri (string-append "https://hackage.haskell.org/package/"
7638 "mmap/mmap-" version ".tar.gz"))
7639 (sha256
7640 (base32
7641 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7642 (build-system haskell-build-system)
7643 (home-page "https://hackage.haskell.org/package/mmap")
7644 (synopsis "Memory mapped files for Haskell")
7645 (description
7646 "This library provides a wrapper to @code{mmap}, allowing files or
7647 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7648 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7649 do on-demand loading.")
7650 (license license:bsd-3)))
7651
7652 (define-public ghc-mmorph
7653 (package
7654 (name "ghc-mmorph")
7655 (version "1.1.3")
7656 (source
7657 (origin
7658 (method url-fetch)
7659 (uri (string-append
7660 "https://hackage.haskell.org/package/mmorph/mmorph-"
7661 version
7662 ".tar.gz"))
7663 (sha256
7664 (base32
7665 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
7666 (build-system haskell-build-system)
7667 (inputs
7668 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7669 (home-page "https://hackage.haskell.org/package/mmorph")
7670 (synopsis "Monad morphisms")
7671 (description
7672 "This library provides monad morphism utilities, most commonly used for
7673 manipulating monad transformer stacks.")
7674 (license license:bsd-3)))
7675
7676 (define-public ghc-mockery
7677 (package
7678 (name "ghc-mockery")
7679 (version "0.3.5")
7680 (source (origin
7681 (method url-fetch)
7682 (uri (string-append "https://hackage.haskell.org/package/"
7683 "mockery/mockery-" version ".tar.gz"))
7684 (sha256
7685 (base32
7686 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7687 (build-system haskell-build-system)
7688 (inputs
7689 `(("ghc-temporary" ,ghc-temporary)
7690 ("ghc-logging-facade" ,ghc-logging-facade)
7691 ("ghc-base-compat" ,ghc-base-compat)))
7692 (native-inputs
7693 `(("ghc-hspec" ,ghc-hspec)
7694 ("hspec-discover" ,hspec-discover)))
7695 (home-page "https://hackage.haskell.org/package/mockery")
7696 (synopsis "Support functions for automated testing")
7697 (description
7698 "The mockery package provides support functions for automated testing.")
7699 (license license:expat)))
7700
7701 (define-public ghc-monad-control
7702 (package
7703 (name "ghc-monad-control")
7704 (version "1.0.2.3")
7705 (source
7706 (origin
7707 (method url-fetch)
7708 (uri (string-append
7709 "https://hackage.haskell.org/package/monad-control"
7710 "/monad-control-" version ".tar.gz"))
7711 (sha256
7712 (base32
7713 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7714 (build-system haskell-build-system)
7715 (inputs
7716 `(("ghc-transformers-base" ,ghc-transformers-base)
7717 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7718 (home-page "https://github.com/basvandijk/monad-control")
7719 (synopsis "Monad transformers to lift control operations like exception
7720 catching")
7721 (description "This package defines the type class @code{MonadBaseControl},
7722 a subset of @code{MonadBase} into which generic control operations such as
7723 @code{catch} can be lifted from @code{IO} or any other base monad.")
7724 (license license:bsd-3)))
7725
7726 (define-public ghc-monad-logger
7727 (package
7728 (name "ghc-monad-logger")
7729 (version "0.3.30")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append "https://hackage.haskell.org/package/"
7734 "monad-logger-" version "/"
7735 "monad-logger-" version ".tar.gz"))
7736 (sha256
7737 (base32
7738 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
7739 (build-system haskell-build-system)
7740 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7741 ("ghc-stm-chans" ,ghc-stm-chans)
7742 ("ghc-lifted-base" ,ghc-lifted-base)
7743 ("ghc-resourcet" ,ghc-resourcet)
7744 ("ghc-conduit" ,ghc-conduit)
7745 ("ghc-conduit-extra" ,ghc-conduit-extra)
7746 ("ghc-fast-logger" ,ghc-fast-logger)
7747 ("ghc-transformers-base" ,ghc-transformers-base)
7748 ("ghc-monad-control" ,ghc-monad-control)
7749 ("ghc-monad-loops" ,ghc-monad-loops)
7750 ("ghc-blaze-builder" ,ghc-blaze-builder)
7751 ("ghc-exceptions" ,ghc-exceptions)))
7752 (home-page "https://github.com/kazu-yamamoto/logger")
7753 (synopsis "Provides a class of monads which can log messages for Haskell")
7754 (description "This Haskell package uses a monad transformer approach
7755 for logging.
7756
7757 This package provides Template Haskell functions for determining source
7758 code locations of messages.")
7759 (license license:expat)))
7760
7761 (define-public ghc-monad-loops
7762 (package
7763 (name "ghc-monad-loops")
7764 (version "0.4.3")
7765 (source
7766 (origin
7767 (method url-fetch)
7768 (uri (string-append "https://hackage.haskell.org/package/"
7769 "monad-loops-" version "/"
7770 "monad-loops-" version ".tar.gz"))
7771 (sha256
7772 (base32
7773 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7774 (build-system haskell-build-system)
7775 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7776 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7777 (home-page "https://github.com/mokus0/monad-loops")
7778 (synopsis "Monadic loops for Haskell")
7779 (description "This Haskell package provides some useful control
7780 operators for looping.")
7781 (license license:public-domain)))
7782
7783 (define-public ghc-monad-par
7784 (package
7785 (name "ghc-monad-par")
7786 (version "0.3.4.8")
7787 (source
7788 (origin
7789 (method url-fetch)
7790 (uri (string-append "https://hackage.haskell.org/package/"
7791 "monad-par-" version "/"
7792 "monad-par-" version ".tar.gz"))
7793 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
7794 (sha256
7795 (base32
7796 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7797 (build-system haskell-build-system)
7798 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7799 ("ghc-abstract-deque" ,ghc-abstract-deque)
7800 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7801 ("ghc-mwc-random" ,ghc-mwc-random)
7802 ("ghc-parallel" ,ghc-parallel)))
7803 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7804 ("ghc-hunit" ,ghc-hunit)
7805 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7806 ("ghc-test-framework-quickcheck2"
7807 ,ghc-test-framework-quickcheck2)
7808 ("ghc-test-framework" ,ghc-test-framework)
7809 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7810 (home-page "https://github.com/simonmar/monad-par")
7811 (synopsis "Haskell library for parallel programming based on a monad")
7812 (description "The @code{Par} monad offers an API for parallel
7813 programming. The library works for parallelising both pure and @code{IO}
7814 computations, although only the pure version is deterministic. The default
7815 implementation provides a work-stealing scheduler and supports forking tasks
7816 that are much lighter weight than IO-threads.")
7817 (license license:bsd-3)))
7818
7819 (define-public ghc-monad-par-extras
7820 (package
7821 (name "ghc-monad-par-extras")
7822 (version "0.3.3")
7823 (source
7824 (origin
7825 (method url-fetch)
7826 (uri (string-append "https://hackage.haskell.org/package/"
7827 "monad-par-extras-" version "/"
7828 "monad-par-extras-" version ".tar.gz"))
7829 (sha256
7830 (base32
7831 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7832 (build-system haskell-build-system)
7833 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7834 ("ghc-cereal" ,ghc-cereal)
7835 ("ghc-random" ,ghc-random)))
7836 (home-page "https://github.com/simonmar/monad-par")
7837 (synopsis "Combinators and extra features for Par monads for Haskell")
7838 (description "This Haskell package provides additional data structures,
7839 and other added capabilities layered on top of the @code{Par} monad.")
7840 (license license:bsd-3)))
7841
7842 (define-public ghc-monadrandom
7843 (package
7844 (name "ghc-monadrandom")
7845 (version "0.5.1.1")
7846 (source
7847 (origin
7848 (method url-fetch)
7849 (uri (string-append "https://hackage.haskell.org/package/"
7850 "MonadRandom-" version "/"
7851 "MonadRandom-" version ".tar.gz"))
7852 (sha256
7853 (base32
7854 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7855 (build-system haskell-build-system)
7856 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7857 ("ghc-primitive" ,ghc-primitive)
7858 ("ghc-fail" ,ghc-fail)
7859 ("ghc-random" ,ghc-random)))
7860 (home-page "https://github.com/byorgey/MonadRandom")
7861 (synopsis "Random-number generation monad for Haskell")
7862 (description "This Haskell package provides support for computations
7863 which consume random values.")
7864 (license license:bsd-3)))
7865
7866 (define-public ghc-monads-tf
7867 (package
7868 (name "ghc-monads-tf")
7869 (version "0.1.0.3")
7870 (source
7871 (origin
7872 (method url-fetch)
7873 (uri (string-append
7874 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7875 version ".tar.gz"))
7876 (sha256
7877 (base32
7878 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7879 (build-system haskell-build-system)
7880 (home-page "https://hackage.haskell.org/package/monads-tf")
7881 (synopsis "Monad classes, using type families")
7882 (description
7883 "Monad classes using type families, with instances for various monad transformers,
7884 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7885 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7886 the @code{mtl-tf} package.")
7887 (license license:bsd-3)))
7888
7889 (define-public ghc-mono-traversable
7890 (package
7891 (name "ghc-mono-traversable")
7892 (version "1.0.13.0")
7893 (source
7894 (origin
7895 (method url-fetch)
7896 (uri (string-append "https://hackage.haskell.org/package/"
7897 "mono-traversable-" version "/"
7898 "mono-traversable-" version ".tar.gz"))
7899 (sha256
7900 (base32
7901 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
7902 (build-system haskell-build-system)
7903 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7904 ("ghc-hashable" ,ghc-hashable)
7905 ("ghc-vector" ,ghc-vector)
7906 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7907 ("ghc-split" ,ghc-split)))
7908 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7909 ("ghc-hunit" ,ghc-hunit)
7910 ("ghc-quickcheck" ,ghc-quickcheck)
7911 ("ghc-semigroups" ,ghc-semigroups)
7912 ("ghc-foldl" ,ghc-foldl)))
7913 (home-page "https://github.com/snoyberg/mono-traversable")
7914 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7915 containers")
7916 (description "This Haskell package provides Monomorphic variants of the
7917 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7918 basic typeclasses, you understand mono-traversable. In addition to what
7919 you are used to, it adds on an IsSequence typeclass and has code for marking
7920 data structures as non-empty.")
7921 (license license:expat)))
7922
7923 (define-public ghc-monoid-extras
7924 (package
7925 (name "ghc-monoid-extras")
7926 (version "0.5.1")
7927 (source
7928 (origin
7929 (method url-fetch)
7930 (uri (string-append "https://hackage.haskell.org/package/"
7931 "monoid-extras/monoid-extras-" version ".tar.gz"))
7932 (sha256
7933 (base32
7934 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7935 (build-system haskell-build-system)
7936 (inputs
7937 `(("ghc-groups" ,ghc-groups)
7938 ("ghc-semigroups" ,ghc-semigroups)
7939 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7940 (arguments
7941 `(#:cabal-revision
7942 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7943 (home-page "https://hackage.haskell.org/package/monoid-extras")
7944 (synopsis "Various extra monoid-related definitions and utilities")
7945 (description "This package provides various extra monoid-related
7946 definitions and utilities, such as monoid actions, monoid coproducts,
7947 semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7948 \"cut\" monoids.")
7949 (license license:bsd-3)))
7950
7951 (define-public ghc-mtl-compat
7952 (package
7953 (name "ghc-mtl-compat")
7954 (version "0.2.2")
7955 (source
7956 (origin
7957 (method url-fetch)
7958 (uri (string-append
7959 "mirror://hackage/package/mtl-compat/mtl-compat-"
7960 version
7961 ".tar.gz"))
7962 (sha256
7963 (base32
7964 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7965 (build-system haskell-build-system)
7966 (home-page
7967 "https://github.com/haskell-compat/mtl-compat")
7968 (synopsis
7969 "Backported Control.Monad.Except module from mtl")
7970 (description
7971 "This package backports the Control.Monad.Except module from mtl (if
7972 using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7973 and the MonadError class.
7974
7975 This package should only be used if there is a need to use the
7976 Control.Monad.Except module specifically. If you just want the mtl class
7977 instances for ExceptT, use transformers-compat instead, since mtl-compat does
7978 nothing but reexport the instances from that package.
7979
7980 Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7981 module defined in this package exports all of ExceptT's monad class instances.
7982 Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7983 the top of your file to get all of the ExceptT instances in scope.")
7984 (license license:bsd-3)))
7985
7986 (define-public ghc-murmur-hash
7987 (package
7988 (name "ghc-murmur-hash")
7989 (version "0.1.0.9")
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7994 "/murmur-hash-" version ".tar.gz"))
7995 (sha256
7996 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7997 (build-system haskell-build-system)
7998 (home-page "https://github.com/nominolo/murmur-hash")
7999 (synopsis "MurmurHash2 implementation for Haskell")
8000 (description
8001 "This package provides an implementation of MurmurHash2, a good, fast,
8002 general-purpose, non-cryptographic hashing function. See
8003 @url{https://sites.google.com/site/murmurhash/} for details. This
8004 implementation is pure Haskell, so it might be a bit slower than a C FFI
8005 binding.")
8006 (license license:bsd-3)))
8007
8008 (define-public ghc-mwc-random
8009 (package
8010 (name "ghc-mwc-random")
8011 (version "0.14.0.0")
8012 (source
8013 (origin
8014 (method url-fetch)
8015 (uri (string-append "https://hackage.haskell.org/package/"
8016 "mwc-random-" version "/"
8017 "mwc-random-" version ".tar.gz"))
8018 (sha256
8019 (base32
8020 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
8021 (build-system haskell-build-system)
8022 (inputs
8023 `(("ghc-primitive" ,ghc-primitive)
8024 ("ghc-vector" ,ghc-vector)
8025 ("ghc-math-functions" ,ghc-math-functions)))
8026 (arguments
8027 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8028 (native-inputs
8029 `(("ghc-hunit" ,ghc-hunit)
8030 ("ghc-quickcheck" ,ghc-quickcheck)
8031 ("ghc-test-framework" ,ghc-test-framework)
8032 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8033 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8034 (home-page "https://github.com/bos/mwc-random")
8035 (synopsis "Random number generation library for Haskell")
8036 (description "This Haskell package contains code for generating
8037 high quality random numbers that follow either a uniform or normal
8038 distribution. The generated numbers are suitable for use in
8039 statistical applications.
8040
8041 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8042 multiply-with-carry generator, which has a period of 2^{8222} and
8043 fares well in tests of randomness. It is also extremely fast,
8044 between 2 and 3 times faster than the Mersenne Twister.")
8045 (license license:bsd-3)))
8046
8047 (define-public ghc-nats
8048 (package
8049 (name "ghc-nats")
8050 (version "1.1.2")
8051 (source
8052 (origin
8053 (method url-fetch)
8054 (uri (string-append
8055 "https://hackage.haskell.org/package/nats/nats-"
8056 version
8057 ".tar.gz"))
8058 (sha256
8059 (base32
8060 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8061 (build-system haskell-build-system)
8062 (arguments `(#:haddock? #f))
8063 (inputs
8064 `(("ghc-hashable" ,ghc-hashable)))
8065 (home-page "https://hackage.haskell.org/package/nats")
8066 (synopsis "Natural numbers")
8067 (description "This library provides the natural numbers for Haskell.")
8068 (license license:bsd-3)))
8069
8070 (define-public ghc-nats-bootstrap
8071 (package
8072 (inherit ghc-nats)
8073 (name "ghc-nats-bootstrap")
8074 (inputs
8075 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8076 (properties '((hidden? #t)))))
8077
8078 (define-public ghc-ncurses
8079 (package
8080 (name "ghc-ncurses")
8081 (version "0.2.16")
8082 (source
8083 (origin
8084 (method url-fetch)
8085 (uri (string-append
8086 "https://hackage.haskell.org/package/ncurses/ncurses-"
8087 version ".tar.gz"))
8088 (sha256
8089 (base32
8090 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8091 (build-system haskell-build-system)
8092 (arguments
8093 '(#:phases
8094 (modify-phases %standard-phases
8095 (add-before 'build 'fix-includes
8096 (lambda _
8097 (substitute* '("cbits/hsncurses-shim.h"
8098 "lib/UI/NCurses.chs"
8099 "lib/UI/NCurses/Enums.chs"
8100 "lib/UI/NCurses/Panel.chs")
8101 (("<ncursesw/") "<"))
8102 #t)))
8103 #:cabal-revision
8104 ("1"
8105 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8106 (inputs `(("ncurses" ,ncurses)))
8107 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8108 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8109 (synopsis "Modernised bindings to GNU ncurses")
8110 (description "GNU ncurses is a library for creating command-line application
8111 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8112 ncurses.")
8113 (license license:gpl3)))
8114
8115 (define-public ghc-network
8116 (package
8117 (name "ghc-network")
8118 (version "2.8.0.1")
8119 (outputs '("out" "doc"))
8120 (source
8121 (origin
8122 (method url-fetch)
8123 (uri (string-append
8124 "https://hackage.haskell.org/package/network/network-"
8125 version
8126 ".tar.gz"))
8127 (sha256
8128 (base32
8129 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
8130 (build-system haskell-build-system)
8131 ;; The regression tests depend on an unpublished module.
8132 (arguments `(#:tests? #f))
8133 (native-inputs
8134 `(("ghc-hunit" ,ghc-hunit)
8135 ("ghc-doctest" ,ghc-doctest)
8136 ("ghc-test-framework" ,ghc-test-framework)
8137 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8138 (home-page "https://github.com/haskell/network")
8139 (synopsis "Low-level networking interface")
8140 (description
8141 "This package provides a low-level networking interface.")
8142 (license license:bsd-3)))
8143
8144 (define-public ghc-network-bsd
8145 (package
8146 (name "ghc-network-bsd")
8147 (version "2.8.0.0")
8148 (source
8149 (origin
8150 (method url-fetch)
8151 (uri (string-append "https://hackage.haskell.org/package/"
8152 "network-bsd/network-bsd-" version ".tar.gz"))
8153 (sha256
8154 (base32
8155 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8156 (build-system haskell-build-system)
8157 (inputs
8158 `(("ghc-network" ,ghc-network)))
8159 (home-page "https://github.com/haskell/network-bsd")
8160 (synopsis "POSIX network database (<netdb.h>) API")
8161 (description "This package provides Haskell bindings to the the POSIX
8162 network database (<netdb.h>) API.")
8163 (license license:bsd-3)))
8164
8165 (define-public ghc-network-byte-order
8166 (package
8167 (name "ghc-network-byte-order")
8168 (version "0.1.1.1")
8169 (source
8170 (origin
8171 (method url-fetch)
8172 (uri (string-append "https://hackage.haskell.org/package/"
8173 "network-byte-order/network-byte-order-"
8174 version ".tar.gz"))
8175 (sha256
8176 (base32
8177 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8178 (build-system haskell-build-system)
8179 (native-inputs
8180 `(("ghc-doctest" ,ghc-doctest)))
8181 (home-page "https://hackage.haskell.org/package/network-byte-order")
8182 (synopsis "Network byte order utilities")
8183 (description "This library provides peek and poke functions for network
8184 byte order.")
8185 (license license:bsd-3)))
8186
8187 (define-public ghc-network-info
8188 (package
8189 (name "ghc-network-info")
8190 (version "0.2.0.10")
8191 (source
8192 (origin
8193 (method url-fetch)
8194 (uri (string-append "https://hackage.haskell.org/package/"
8195 "network-info-" version "/"
8196 "network-info-" version ".tar.gz"))
8197 (sha256
8198 (base32
8199 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8200 (build-system haskell-build-system)
8201 (home-page "https://github.com/jystic/network-info")
8202 (synopsis "Access the local computer's basic network configuration")
8203 (description "This Haskell library provides simple read-only access to the
8204 local computer's networking configuration. It is currently capable of
8205 getting a list of all the network interfaces and their respective
8206 IPv4, IPv6 and MAC addresses.")
8207 (license license:bsd-3)))
8208
8209 (define-public ghc-network-uri
8210 (package
8211 (name "ghc-network-uri")
8212 (version "2.6.1.0")
8213 (outputs '("out" "doc"))
8214 (source
8215 (origin
8216 (method url-fetch)
8217 (uri (string-append
8218 "https://hackage.haskell.org/package/network-uri/network-uri-"
8219 version
8220 ".tar.gz"))
8221 (sha256
8222 (base32
8223 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8224 (build-system haskell-build-system)
8225 (arguments
8226 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8227 (inputs
8228 `(("ghc-network" ,ghc-network)))
8229 (native-inputs
8230 `(("ghc-hunit" ,ghc-hunit)))
8231 (home-page
8232 "https://github.com/haskell/network-uri")
8233 (synopsis "Library for URI manipulation")
8234 (description "This package provides an URI manipulation interface. In
8235 @code{network-2.6} the @code{Network.URI} module was split off from the
8236 @code{network} package into this package.")
8237 (license license:bsd-3)))
8238
8239 (define-public ghc-newtype-generics
8240 (package
8241 (name "ghc-newtype-generics")
8242 (version "0.5.4")
8243 (source
8244 (origin
8245 (method url-fetch)
8246 (uri (string-append "https://hackage.haskell.org/package/"
8247 "newtype-generics/newtype-generics-"
8248 version ".tar.gz"))
8249 (sha256
8250 (base32
8251 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
8252 (build-system haskell-build-system)
8253 (native-inputs
8254 `(("ghc-hspec" ,ghc-hspec)
8255 ("hspec-discover" ,hspec-discover)))
8256 (home-page "https://github.com/sjakobi/newtype-generics")
8257 (synopsis "Typeclass and set of functions for working with newtypes")
8258 (description "The @code{Newtype} typeclass represents the packing and
8259 unpacking of a newtype, and allows you to operate under that newtype with
8260 functions such as @code{ala}. Generics support was added in version 0.4,
8261 making this package a full replacement for the original newtype package,
8262 and an alternative to newtype-th.")
8263 (license license:bsd-3)))
8264
8265 (define-public ghc-non-negative
8266 (package
8267 (name "ghc-non-negative")
8268 (version "0.1.2")
8269 (source
8270 (origin
8271 (method url-fetch)
8272 (uri
8273 (string-append
8274 "https://hackage.haskell.org/package/non-negative/non-negative-"
8275 version ".tar.gz"))
8276 (sha256
8277 (base32
8278 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8279 (build-system haskell-build-system)
8280 (inputs
8281 `(("ghc-semigroups" ,ghc-semigroups)
8282 ("ghc-utility-ht" ,ghc-utility-ht)
8283 ("ghc-quickcheck" ,ghc-quickcheck)))
8284 (home-page "https://hackage.haskell.org/package/non-negative")
8285 (synopsis "Non-negative numbers class")
8286 (description "This library provides a class for non-negative numbers,
8287 a wrapper which can turn any ordered numeric type into a member of that
8288 class, and a lazy number type for non-negative numbers (a generalization
8289 of Peano numbers).")
8290 (license license:gpl3+)))
8291
8292 (define-public ghc-nonce
8293 (package
8294 (name "ghc-nonce")
8295 (version "1.0.7")
8296 (source
8297 (origin
8298 (method url-fetch)
8299 (uri (string-append
8300 "https://hackage.haskell.org/package/nonce/"
8301 "nonce-" version ".tar.gz"))
8302 (sha256
8303 (base32
8304 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8305 (build-system haskell-build-system)
8306 (inputs
8307 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8308 ("ghc-entropy" ,ghc-entropy)
8309 ("ghc-unliftio" ,ghc-unliftio)
8310 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8311 (home-page "https://github.com/prowdsponsor/nonce")
8312 (synopsis "Generate cryptographic nonces in Haskell")
8313 (description
8314 "A nonce is an arbitrary number used only once in a cryptographic
8315 communication. This package contain helper functions for generating nonces.
8316 There are many kinds of nonces used in different situations. It's not
8317 guaranteed that by using the nonces from this package you won't have any
8318 security issues. Please make sure that the nonces generated via this
8319 package are usable on your design.")
8320 (license license:bsd-3)))
8321
8322 (define-public ghc-numeric-extras
8323 (package
8324 (name "ghc-numeric-extras")
8325 (version "0.1")
8326 (source
8327 (origin
8328 (method url-fetch)
8329 (uri (string-append "https://hackage.haskell.org/package/"
8330 "numeric-extras/numeric-extras-"
8331 version ".tar.gz"))
8332 (sha256
8333 (base32
8334 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8335 (build-system haskell-build-system)
8336 (home-page "https://github.com/ekmett/numeric-extras")
8337 (synopsis "Useful tools from the C standard library")
8338 (description "This library provides some useful tools from the C
8339 standard library.")
8340 (license license:bsd-3)))
8341
8342 (define-public ghc-objectname
8343 (package
8344 (name "ghc-objectname")
8345 (version "1.1.0.1")
8346 (source
8347 (origin
8348 (method url-fetch)
8349 (uri (string-append
8350 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8351 version
8352 ".tar.gz"))
8353 (sha256
8354 (base32
8355 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8356 (build-system haskell-build-system)
8357 (home-page "https://hackage.haskell.org/package/ObjectName")
8358 (synopsis "Helper library for Haskell OpenGL")
8359 (description "This tiny package contains the class ObjectName, which
8360 corresponds to the general notion of explicitly handled identifiers for API
8361 objects, e.g. a texture object name in OpenGL or a buffer object name in
8362 OpenAL.")
8363 (license license:bsd-3)))
8364
8365 (define-public ghc-old-locale
8366 (package
8367 (name "ghc-old-locale")
8368 (version "1.0.0.7")
8369 (source
8370 (origin
8371 (method url-fetch)
8372 (uri (string-append
8373 "https://hackage.haskell.org/package/old-locale/old-locale-"
8374 version
8375 ".tar.gz"))
8376 (sha256
8377 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8378 (build-system haskell-build-system)
8379 (arguments
8380 `(#:cabal-revision
8381 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8382 (home-page "https://hackage.haskell.org/package/old-locale")
8383 (synopsis "Adapt to locale conventions")
8384 (description
8385 "This package provides the ability to adapt to locale conventions such as
8386 date and time formats.")
8387 (license license:bsd-3)))
8388
8389 (define-public ghc-old-time
8390 (package
8391 (name "ghc-old-time")
8392 (version "1.1.0.3")
8393 (source
8394 (origin
8395 (method url-fetch)
8396 (uri (string-append
8397 "https://hackage.haskell.org/package/old-time/old-time-"
8398 version
8399 ".tar.gz"))
8400 (sha256
8401 (base32
8402 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8403 (build-system haskell-build-system)
8404 (arguments
8405 `(#:cabal-revision
8406 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8407 (inputs
8408 `(("ghc-old-locale" ,ghc-old-locale)))
8409 (home-page "https://hackage.haskell.org/package/old-time")
8410 (synopsis "Time compatibility library for Haskell")
8411 (description "Old-time is a package for backwards compatibility with the
8412 old @code{time} library. For new projects, the newer
8413 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8414 (license license:bsd-3)))
8415
8416 (define-public ghc-opengl
8417 (package
8418 (name "ghc-opengl")
8419 (version "3.0.3.0")
8420 (source
8421 (origin
8422 (method url-fetch)
8423 (uri (string-append
8424 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8425 version
8426 ".tar.gz"))
8427 (sha256
8428 (base32
8429 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
8430 (build-system haskell-build-system)
8431 (arguments
8432 `(#:cabal-revision
8433 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
8434 (inputs
8435 `(("ghc-objectname" ,ghc-objectname)
8436 ("ghc-gluraw" ,ghc-gluraw)
8437 ("ghc-statevar" ,ghc-statevar)
8438 ("ghc-openglraw" ,ghc-openglraw)))
8439 (home-page "https://wiki.haskell.org/Opengl")
8440 (synopsis "Haskell bindings for the OpenGL graphics system")
8441 (description "This package provides Haskell bindings for the OpenGL
8442 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8443 version 1.3).")
8444 (license license:bsd-3)))
8445
8446 (define-public ghc-openglraw
8447 (package
8448 (name "ghc-openglraw")
8449 (version "3.3.3.0")
8450 (source
8451 (origin
8452 (method url-fetch)
8453 (uri (string-append
8454 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8455 version
8456 ".tar.gz"))
8457 (sha256
8458 (base32
8459 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
8460 (build-system haskell-build-system)
8461 (inputs
8462 `(("ghc-half" ,ghc-half)
8463 ("ghc-fixed" ,ghc-fixed)
8464 ("glu" ,glu)))
8465 (home-page "https://wiki.haskell.org/Opengl")
8466 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8467 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8468 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8469 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8470 offers access to all necessary functions, tokens and types plus a general
8471 facility for loading extension entries. The module hierarchy closely mirrors
8472 the naming structure of the OpenGL extensions, making it easy to find the
8473 right module to import. All API entries are loaded dynamically, so no special
8474 C header files are needed for building this package. If an API entry is not
8475 found at runtime, a userError is thrown.")
8476 (license license:bsd-3)))
8477
8478 (define-public ghc-operational
8479 (package
8480 (name "ghc-operational")
8481 (version "0.2.3.5")
8482 (source
8483 (origin
8484 (method url-fetch)
8485 (uri (string-append "https://hackage.haskell.org/package/operational/"
8486 "operational-" version ".tar.gz"))
8487 (sha256
8488 (base32
8489 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8490 (build-system haskell-build-system)
8491 (inputs
8492 `(("ghc-random" ,ghc-random)))
8493 (home-page "http://wiki.haskell.org/Operational")
8494 (synopsis "Implementation of difficult monads made easy with operational semantics")
8495 (description
8496 "This library makes it easy to implement monads with tricky control
8497 flow. This is useful for: writing web applications in a sequential style,
8498 programming games with a uniform interface for human and AI players and easy
8499 replay capababilities, implementing fast parser monads, designing monadic
8500 DSLs, etc.")
8501 (license license:bsd-3)))
8502
8503 (define-public ghc-optional-args
8504 (package
8505 (name "ghc-optional-args")
8506 (version "1.0.2")
8507 (source
8508 (origin
8509 (method url-fetch)
8510 (uri (string-append
8511 "mirror://hackage/package/optional-args/optional-args-"
8512 version
8513 ".tar.gz"))
8514 (sha256
8515 (base32
8516 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8517 (build-system haskell-build-system)
8518 (home-page
8519 "http://hackage.haskell.org/package/optional-args")
8520 (synopsis "Optional function arguments")
8521 (description
8522 "This library provides a type for specifying @code{Optional} function
8523 arguments.")
8524 (license license:bsd-3)))
8525
8526 (define-public ghc-options
8527 (package
8528 (name "ghc-options")
8529 (version "1.2.1.1")
8530 (source
8531 (origin
8532 (method url-fetch)
8533 (uri (string-append
8534 "https://hackage.haskell.org/package/options/options-"
8535 version ".tar.gz"))
8536 (sha256
8537 (base32
8538 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8539 (build-system haskell-build-system)
8540 (arguments
8541 `(#:phases
8542 (modify-phases %standard-phases
8543 (add-before 'configure 'update-constraints
8544 (lambda _
8545 (substitute* "options.cabal"
8546 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8547 #t)))))
8548 (inputs
8549 `(("ghc-monads-tf" ,ghc-monads-tf)
8550 ("ghc-chell" ,ghc-chell)
8551 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8552 (home-page "https://john-millikin.com/software/haskell-options/")
8553 (synopsis "Powerful and easy-to-use command-line option parser")
8554 (description
8555 "The @code{options} package lets library and application developers
8556 easily work with command-line options.")
8557 (license license:expat)))
8558
8559 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8560 (define ghc-options-bootstrap
8561 (package
8562 (name "ghc-options-bootstrap")
8563 (version "1.2.1.1")
8564 (source
8565 (origin
8566 (method url-fetch)
8567 (uri (string-append
8568 "https://hackage.haskell.org/package/options/options-"
8569 version ".tar.gz"))
8570 (sha256
8571 (base32
8572 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8573 (build-system haskell-build-system)
8574 (arguments
8575 `(#:tests? #f))
8576 (inputs
8577 `(("ghc-monads-tf" ,ghc-monads-tf)))
8578 (home-page "https://john-millikin.com/software/haskell-options/")
8579 (synopsis "Powerful and easy-to-use command-line option parser")
8580 (description
8581 "The @code{options} package lets library and application developers
8582 easily work with command-line options.")
8583 (license license:expat)))
8584
8585
8586 (define-public ghc-optparse-applicative
8587 (package
8588 (name "ghc-optparse-applicative")
8589 (version "0.14.3.0")
8590 (source
8591 (origin
8592 (method url-fetch)
8593 (uri (string-append
8594 "https://hackage.haskell.org/package/optparse-applicative"
8595 "/optparse-applicative-" version ".tar.gz"))
8596 (sha256
8597 (base32
8598 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
8599 (build-system haskell-build-system)
8600 (arguments
8601 `(#:cabal-revision
8602 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
8603 (inputs
8604 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8605 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8606 (native-inputs
8607 `(("ghc-quickcheck" ,ghc-quickcheck)))
8608 (home-page "https://github.com/pcapriotti/optparse-applicative")
8609 (synopsis "Utilities and combinators for parsing command line options")
8610 (description "This package provides utilities and combinators for parsing
8611 command line options in Haskell.")
8612 (license license:bsd-3)))
8613
8614 (define-public ghc-jira-wiki-markup
8615 (package
8616 (name "ghc-jira-wiki-markup")
8617 (version "1.0.0")
8618 (source
8619 (origin
8620 (method url-fetch)
8621 (uri (string-append
8622 "https://hackage.haskell.org/package/jira-wiki-markup/"
8623 "jira-wiki-markup-" version ".tar.gz"))
8624 (sha256
8625 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8626 (build-system haskell-build-system)
8627 (native-inputs
8628 `(("ghc-tasty" ,ghc-tasty)
8629 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8630 (home-page "https://github.com/tarleb/jira-wiki-markup")
8631 (synopsis "Handle Jira wiki markup")
8632 (description
8633 "Parse jira wiki text into an abstract syntax tree for easy transformation
8634 to other formats.")
8635 (license license:expat)))
8636
8637 (define-public ghc-emojis
8638 (package
8639 (name "ghc-emojis")
8640 (version "0.1")
8641 (source
8642 (origin
8643 (method url-fetch)
8644 (uri (string-append
8645 "https://hackage.haskell.org/package/emojis/"
8646 "emojis-" version ".tar.gz"))
8647 (sha256
8648 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8649 (build-system haskell-build-system)
8650 (native-inputs
8651 `(("ghc-hunit" ,ghc-hunit)))
8652 (home-page "https://github.com/jgm/emojis#readme")
8653 (synopsis "Conversion between emoji characters and their names.")
8654 (description
8655 "This package provides functions for converting emoji names to emoji
8656 characters and vice versa.
8657
8658 How does it differ from the @code{emoji} package?
8659 @itemize
8660 @item It supports a fuller range of emojis, including all those supported by
8661 GitHub
8662 @item It supports lookup of emoji aliases from emoji
8663 @item It uses Text rather than String
8664 @item It has a lighter dependency footprint: in particular, it does not
8665 require aeson
8666 @item It does not require TemplateHaskell
8667 @end itemize")
8668 (license license:bsd-3)))
8669
8670 (define-public ghc-text-conversions
8671 (package
8672 (name "ghc-text-conversions")
8673 (version "0.3.0")
8674 (source
8675 (origin
8676 (method url-fetch)
8677 (uri (string-append
8678 "https://hackage.haskell.org/package/text-conversions/"
8679 "text-conversions-" version ".tar.gz"))
8680 (sha256
8681 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8682 (build-system haskell-build-system)
8683 (inputs
8684 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8685 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8686 ("ghc-errors" ,ghc-errors)))
8687 (native-inputs
8688 `(("ghc-hspec" ,ghc-hspec)
8689 ("hspec-discover" ,hspec-discover)))
8690 (home-page "https://github.com/cjdev/text-conversions#readme")
8691 (synopsis "Safe conversions between textual types")
8692 (description "Safe conversions between textual types")
8693 (license license:isc)))
8694
8695 (define-public ghc-doclayout
8696 (package
8697 (name "ghc-doclayout")
8698 (version "0.3")
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append
8703 "https://hackage.haskell.org/package/doclayout/"
8704 "doclayout-" version ".tar.gz"))
8705 (sha256
8706 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8707 (build-system haskell-build-system)
8708 (inputs
8709 `(("ghc-safe" ,ghc-safe)))
8710 (native-inputs
8711 `(("ghc-tasty" ,ghc-tasty)
8712 ("ghc-tasty-golden" ,ghc-tasty-golden)
8713 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8714 (home-page "https://github.com/jgm/doclayout")
8715 (synopsis "Pretty-printing library for laying out text documents")
8716 (description
8717 "doclayout is a pretty-printing library for laying out text documents,
8718 with several features not present in pretty-printing libraries designed for
8719 code. It was designed for use in @code{Pandoc}.")
8720 (license license:bsd-3)))
8721
8722 (define-public ghc-pandoc
8723 (package
8724 (name "ghc-pandoc")
8725 (version "2.7.3")
8726 (source
8727 (origin
8728 (method url-fetch)
8729 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8730 version ".tar.gz"))
8731 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8732 "ghc-pandoc-fix-latex-test.patch"))
8733 (sha256
8734 (base32
8735 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
8736 (build-system haskell-build-system)
8737 (inputs
8738 `(("ghc-aeson" ,ghc-aeson)
8739 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8740 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8741 ("ghc-blaze-html" ,ghc-blaze-html)
8742 ("ghc-blaze-markup" ,ghc-blaze-markup)
8743 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8744 ("ghc-data-default" ,ghc-data-default)
8745 ("ghc-diff" ,ghc-diff)
8746 ("ghc-doctemplates" ,ghc-doctemplates)
8747 ("ghc-executable-path" ,ghc-executable-path)
8748 ("ghc-glob" ,ghc-glob)
8749 ("ghc-haddock-library" ,ghc-haddock-library)
8750 ("ghc-hslua" ,ghc-hslua)
8751 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
8752 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
8753 ("ghc-hsyaml" ,ghc-hsyaml)
8754 ("ghc-http" ,ghc-http)
8755 ("ghc-http-client" ,ghc-http-client)
8756 ("ghc-http-client-tls" ,ghc-http-client-tls)
8757 ("ghc-http-types" ,ghc-http-types)
8758 ("ghc-ipynb" ,ghc-ipynb)
8759 ("ghc-juicypixels" ,ghc-juicypixels)
8760 ("ghc-network" ,ghc-network)
8761 ("ghc-network-uri" ,ghc-network-uri)
8762 ("ghc-pandoc-types" ,ghc-pandoc-types)
8763 ("ghc-random" ,ghc-random)
8764 ("ghc-scientific" ,ghc-scientific)
8765 ("ghc-sha" ,ghc-sha)
8766 ("ghc-skylighting" ,ghc-skylighting)
8767 ("ghc-split" ,ghc-split)
8768 ("ghc-syb" ,ghc-syb)
8769 ("ghc-tagsoup" ,ghc-tagsoup)
8770 ("ghc-temporary" ,ghc-temporary)
8771 ("ghc-texmath" ,ghc-texmath)
8772 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
8773 ("ghc-unordered-containers" ,ghc-unordered-containers)
8774 ("ghc-vector" ,ghc-vector)
8775 ("ghc-xml" ,ghc-xml)
8776 ("ghc-zip-archive" ,ghc-zip-archive)
8777 ("ghc-zlib" ,ghc-zlib)))
8778 (native-inputs
8779 `(("ghc-tasty" ,ghc-tasty)
8780 ("ghc-tasty-golden" ,ghc-tasty-golden)
8781 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8782 ("ghc-tasty-lua" ,ghc-tasty-lua)
8783 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8784 ("ghc-quickcheck" ,ghc-quickcheck)
8785 ("ghc-hunit" ,ghc-hunit)))
8786 (home-page "https://pandoc.org")
8787 (synopsis "Conversion between markup formats")
8788 (description
8789 "Pandoc is a Haskell library for converting from one markup format to
8790 another, and a command-line tool that uses this library. It can read and
8791 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8792 LaTeX, DocBook, and many more.
8793
8794 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8795 definition lists, tables, and other features. A compatibility mode is
8796 provided for those who need a drop-in replacement for Markdown.pl.")
8797 (license license:gpl2+)))
8798
8799 (define-public ghc-pandoc-citeproc
8800 (package
8801 (name "ghc-pandoc-citeproc")
8802 (version "0.16.2")
8803 (source
8804 (origin
8805 (method url-fetch)
8806 (uri (string-append "https://hackage.haskell.org/package/"
8807 "pandoc-citeproc/pandoc-citeproc-"
8808 version ".tar.gz"))
8809 (sha256
8810 (base32
8811 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
8812 (build-system haskell-build-system)
8813 (arguments
8814 `(#:phases
8815 (modify-phases %standard-phases
8816 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8817 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8818 (add-before 'configure 'patch-tests
8819 (lambda _
8820 (substitute* "tests/test-pandoc-citeproc.hs"
8821 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8822 "let allTests = citeprocTests"))))
8823 ;; Tests need to be run after installation.
8824 (delete 'check)
8825 (add-after 'install 'post-install-check
8826 (assoc-ref %standard-phases 'check)))))
8827 (inputs
8828 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8829 ("ghc-pandoc" ,ghc-pandoc)
8830 ("ghc-tagsoup" ,ghc-tagsoup)
8831 ("ghc-aeson" ,ghc-aeson)
8832 ("ghc-vector" ,ghc-vector)
8833 ("ghc-xml-conduit" ,ghc-xml-conduit)
8834 ("ghc-unordered-containers" ,ghc-unordered-containers)
8835 ("ghc-data-default" ,ghc-data-default)
8836 ("ghc-setenv" ,ghc-setenv)
8837 ("ghc-split" ,ghc-split)
8838 ("ghc-yaml" ,ghc-yaml)
8839 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8840 ("ghc-rfc5051" ,ghc-rfc5051)
8841 ("ghc-syb" ,ghc-syb)
8842 ("ghc-old-locale" ,ghc-old-locale)
8843 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8844 ("ghc-attoparsec" ,ghc-attoparsec)
8845 ("ghc-temporary" ,ghc-temporary)))
8846 (home-page "https://github.com/jgm/pandoc-citeproc")
8847 (synopsis "Library for using pandoc with citeproc")
8848 (description
8849 "The @code{pandoc-citeproc} library exports functions for using the
8850 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8851 rendering bibliographic reference citations into a variety of styles using a
8852 macro language called @dfn{Citation Style Language} (CSL). This package also
8853 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8854 and also has a mode for converting bibliographic databases a YAML format
8855 suitable for inclusion in pandoc YAML metadata.")
8856 (license license:bsd-3)))
8857
8858 (define-public ghc-pandoc-types
8859 (package
8860 (name "ghc-pandoc-types")
8861 (version "1.17.6.1")
8862 (source (origin
8863 (method url-fetch)
8864 (uri (string-append "https://hackage.haskell.org/package/"
8865 "pandoc-types/pandoc-types-"
8866 version ".tar.gz"))
8867 (sha256
8868 (base32
8869 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
8870 (build-system haskell-build-system)
8871 (inputs
8872 `(("ghc-syb" ,ghc-syb)
8873 ("ghc-aeson" ,ghc-aeson)
8874 ("ghc-string-qq" ,ghc-string-qq)))
8875 (native-inputs
8876 `(("ghc-quickcheck" ,ghc-quickcheck)
8877 ("ghc-test-framework" ,ghc-test-framework)
8878 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8879 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8880 ("ghc-hunit" ,ghc-hunit)))
8881 (home-page "https://johnmacfarlane.net/pandoc")
8882 (synopsis "Types for representing a structured document")
8883 (description
8884 "This module defines the @code{Pandoc} data structure, which is used by
8885 pandoc to represent structured documents. It also provides functions for
8886 building up, manipulating and serialising @code{Pandoc} structures.")
8887 (license license:bsd-3)))
8888
8889 (define-public ghc-parallel
8890 (package
8891 (name "ghc-parallel")
8892 (version "3.2.2.0")
8893 (outputs '("out" "doc"))
8894 (source
8895 (origin
8896 (method url-fetch)
8897 (uri (string-append
8898 "https://hackage.haskell.org/package/parallel/parallel-"
8899 version
8900 ".tar.gz"))
8901 (sha256
8902 (base32
8903 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8904 (build-system haskell-build-system)
8905 (home-page "https://hackage.haskell.org/package/parallel")
8906 (synopsis "Parallel programming library")
8907 (description
8908 "This package provides a library for parallel programming.")
8909 (license license:bsd-3)))
8910
8911 (define-public ghc-parsec-numbers
8912 (package
8913 (name "ghc-parsec-numbers")
8914 (version "0.1.0")
8915 (source
8916 (origin
8917 (method url-fetch)
8918 (uri (string-append "https://hackage.haskell.org/package/"
8919 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8920 (sha256
8921 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8922 (build-system haskell-build-system)
8923 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8924 (synopsis "Utilities for parsing numbers from strings")
8925 (description
8926 "This package provides the number parsers without the need to use a large
8927 (and unportable) token parser.")
8928 (license license:bsd-3)))
8929
8930 (define-public ghc-parser-combinators
8931 (package
8932 (name "ghc-parser-combinators")
8933 (version "1.1.0")
8934 (source
8935 (origin
8936 (method url-fetch)
8937 (uri (string-append "https://hackage.haskell.org/package/"
8938 "parser-combinators/parser-combinators-"
8939 version ".tar.gz"))
8940 (sha256
8941 (base32
8942 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
8943 (build-system haskell-build-system)
8944 (home-page "https://github.com/mrkkrp/parser-combinators")
8945 (synopsis "Commonly useful parser combinators")
8946 (description
8947 "This is a lightweight package providing commonly useful parser
8948 combinators.")
8949 (license license:bsd-3)))
8950
8951 (define-public ghc-parsers
8952 (package
8953 (name "ghc-parsers")
8954 (version "0.12.10")
8955 (source
8956 (origin
8957 (method url-fetch)
8958 (uri (string-append
8959 "https://hackage.haskell.org/package/parsers/parsers-"
8960 version
8961 ".tar.gz"))
8962 (sha256
8963 (base32
8964 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
8965 (build-system haskell-build-system)
8966 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8967 ; -package attoparsec-0.13.0.1"
8968 (inputs
8969 `(("ghc-base-orphans" ,ghc-base-orphans)
8970 ("ghc-attoparsec" ,ghc-attoparsec)
8971 ("ghc-scientific" ,ghc-scientific)
8972 ("ghc-charset" ,ghc-charset)
8973 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8974 (home-page "https://github.com/ekmett/parsers/")
8975 (synopsis "Parsing combinators")
8976 (description "This library provides convenient combinators for working
8977 with and building parsing combinator libraries. Given a few simple instances,
8978 you get access to a large number of canned definitions. Instances exist for
8979 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8980 @code{Text.Read}.")
8981 (license license:bsd-3)))
8982
8983 (define-public ghc-path
8984 (package
8985 (name "ghc-path")
8986 (version "0.6.1")
8987 (source
8988 (origin
8989 (method url-fetch)
8990 (uri (string-append
8991 "https://hackage.haskell.org/package/path/path-"
8992 version
8993 ".tar.gz"))
8994 (sha256
8995 (base32
8996 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8997 (build-system haskell-build-system)
8998 (arguments
8999 ;; TODO: There are some Windows-related tests and modules that need to be
9000 ;; danced around.
9001 `(#:tests? #f
9002 #:cabal-revision
9003 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9004 (inputs
9005 `(("ghc-aeson" ,ghc-aeson)
9006 ("ghc-exceptions" ,ghc-exceptions)
9007 ("ghc-hashable" ,ghc-hashable)))
9008 (native-inputs
9009 `(("ghc-hspec" ,ghc-hspec)
9010 ("ghc-quickcheck" ,ghc-quickcheck)
9011 ("ghc-genvalidity" ,ghc-genvalidity)
9012 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9013 ("ghc-hspec" ,ghc-hspec)
9014 ("ghc-validity" ,ghc-validity)))
9015 (home-page
9016 "https://hackage.haskell.org/package/path")
9017 (synopsis "Support for well-typed paths")
9018 (description "This package introduces a type for paths upholding useful
9019 invariants.")
9020 (license license:bsd-3)))
9021
9022 (define-public ghc-path-io
9023 (package
9024 (name "ghc-path-io")
9025 (version "1.4.2")
9026 (source
9027 (origin
9028 (method url-fetch)
9029 (uri (string-append
9030 "https://hackage.haskell.org/package/path-io/path-io-"
9031 version
9032 ".tar.gz"))
9033 (sha256
9034 (base32
9035 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
9036 (build-system haskell-build-system)
9037 (inputs
9038 `(("ghc-dlist" ,ghc-dlist)
9039 ("ghc-exceptions" ,ghc-exceptions)
9040 ("ghc-path" ,ghc-path)
9041 ("ghc-transformers-base" ,ghc-transformers-base)
9042 ("ghc-unix-compat" ,ghc-unix-compat)
9043 ("ghc-temporary" ,ghc-temporary)))
9044 (native-inputs
9045 `(("ghc-hspec" ,ghc-hspec)))
9046 (home-page
9047 "https://github.com/mrkkrp/path-io")
9048 (synopsis "Functions for manipulating well-typed paths")
9049 (description "This package provides an interface to the @code{directory}
9050 package for users of @code{path}. It also implements some missing stuff like
9051 recursive scanning and copying of directories, working with temporary
9052 files/directories, and more.")
9053 (license license:bsd-3)))
9054
9055 (define-public ghc-paths
9056 (package
9057 (name "ghc-paths")
9058 (version "0.1.0.12")
9059 (outputs '("out" "doc"))
9060 (source
9061 (origin
9062 (method url-fetch)
9063 (uri (string-append
9064 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9065 version
9066 ".tar.gz"))
9067 (sha256
9068 (base32
9069 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
9070 (build-system haskell-build-system)
9071 (home-page "https://github.com/simonmar/ghc-paths")
9072 (synopsis
9073 "Knowledge of GHC's installation directories")
9074 (description
9075 "Knowledge of GHC's installation directories.")
9076 (license license:bsd-3)))
9077
9078 (define-public ghc-patience
9079 (package
9080 (name "ghc-patience")
9081 (version "0.3")
9082 (source
9083 (origin
9084 (method url-fetch)
9085 (uri (string-append
9086 "https://hackage.haskell.org/package/patience/patience-"
9087 version ".tar.gz"))
9088 (sha256
9089 (base32
9090 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
9091 (build-system haskell-build-system)
9092 (home-page "https://hackage.haskell.org/package/patience")
9093 (synopsis "Patience diff and longest increasing subsequence")
9094 (description
9095 "This library implements the 'patience diff' algorithm, as well as the
9096 patience algorithm for the longest increasing subsequence problem.
9097 Patience diff computes the difference between two lists, for example the lines
9098 of two versions of a source file. It provides a good balance between
9099 performance, nice output for humans, and simplicity of implementation.")
9100 (license license:bsd-3)))
9101
9102 (define-public ghc-pattern-arrows
9103 (package
9104 (name "ghc-pattern-arrows")
9105 (version "0.0.2")
9106 (source
9107 (origin
9108 (method url-fetch)
9109 (uri (string-append
9110 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9111 version
9112 ".tar.gz"))
9113 (sha256
9114 (base32
9115 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9116 (build-system haskell-build-system)
9117 (home-page
9118 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9119 (synopsis "Arrows for Pretty Printing")
9120 (description
9121 "A library for generating concise pretty printers based on precedence
9122 rules.")
9123 (license license:expat)))
9124
9125 (define-public ghc-pcre-light
9126 (package
9127 (name "ghc-pcre-light")
9128 (version "0.4.0.4")
9129 (source
9130 (origin
9131 (method url-fetch)
9132 (uri (string-append
9133 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9134 version
9135 ".tar.gz"))
9136 (sha256
9137 (base32
9138 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9139 (build-system haskell-build-system)
9140 (inputs
9141 `(("pcre" ,pcre)))
9142 (native-inputs
9143 `(("pkg-config" ,pkg-config)))
9144 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9145 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9146 (description "This package provides a small, efficient, and portable regex
9147 library for Perl 5 compatible regular expressions. The PCRE library is a set
9148 of functions that implement regular expression pattern matching using the same
9149 syntax and semantics as Perl 5.")
9150 (license license:bsd-3)))
9151
9152 (define-public ghc-persistent
9153 (package
9154 (name "ghc-persistent")
9155 (version "2.10.4")
9156 (source
9157 (origin
9158 (method url-fetch)
9159 (uri (string-append
9160 "https://hackage.haskell.org/package/persistent/"
9161 "persistent-" version ".tar.gz"))
9162 (sha256
9163 (base32
9164 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
9165 (build-system haskell-build-system)
9166 (inputs
9167 `(("ghc-aeson" ,ghc-aeson)
9168 ("ghc-attoparsec" ,ghc-attoparsec)
9169 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9170 ("ghc-blaze-html" ,ghc-blaze-html)
9171 ("ghc-conduit" ,ghc-conduit)
9172 ("ghc-fast-logger" ,ghc-fast-logger)
9173 ("ghc-http-api-data" ,ghc-http-api-data)
9174 ("ghc-monad-logger" ,ghc-monad-logger)
9175 ("ghc-path-pieces" ,ghc-path-pieces)
9176 ("ghc-resource-pool" ,ghc-resource-pool)
9177 ("ghc-resourcet" ,ghc-resourcet)
9178 ("ghc-scientific" ,ghc-scientific)
9179 ("ghc-silently" ,ghc-silently)
9180 ("ghc-unliftio-core" ,ghc-unliftio-core)
9181 ("ghc-unliftio" ,ghc-unliftio)
9182 ("ghc-unordered-containers"
9183 ,ghc-unordered-containers)
9184 ("ghc-vector" ,ghc-vector)))
9185 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9186 (home-page "https://www.yesodweb.com/book/persistent")
9187 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9188 (description "This Haskell package allows Haskell programs to access data
9189 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9190 way.")
9191 (license license:expat)))
9192
9193 (define-public ghc-persistent-sqlite
9194 (package
9195 (name "ghc-persistent-sqlite")
9196 (version "2.10.5.2")
9197 (source
9198 (origin
9199 (method url-fetch)
9200 (uri (string-append
9201 "https://hackage.haskell.org/package/persistent-sqlite/"
9202 "persistent-sqlite-" version ".tar.gz"))
9203 (sha256
9204 (base32
9205 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
9206 (build-system haskell-build-system)
9207 (inputs
9208 `(("ghc-persistent" ,ghc-persistent)
9209 ("ghc-aeson" ,ghc-aeson)
9210 ("ghc-conduit" ,ghc-conduit)
9211 ("ghc-microlens-th" ,ghc-microlens-th)
9212 ("ghc-monad-logger" ,ghc-monad-logger)
9213 ("ghc-resource-pool" ,ghc-resource-pool)
9214 ("ghc-resourcet" ,ghc-resourcet)
9215 ("ghc-unliftio-core" ,ghc-unliftio-core)
9216 ("ghc-unordered-containers"
9217 ,ghc-unordered-containers)))
9218 (native-inputs
9219 `(("ghc-persistent-template"
9220 ,ghc-persistent-template)
9221 ("ghc-persistent-test" ,ghc-persistent-test)
9222 ("ghc-exceptions" ,ghc-exceptions)
9223 ("ghc-fast-logger" ,ghc-fast-logger)
9224 ("ghc-hspec" ,ghc-hspec)
9225 ("ghc-hunit" ,ghc-hunit)
9226 ("ghc-quickcheck" ,ghc-quickcheck)
9227 ("ghc-system-fileio" ,ghc-system-fileio)
9228 ("ghc-system-filepath" ,ghc-system-filepath)
9229 ("ghc-temporary" ,ghc-temporary)))
9230 (home-page
9231 "https://www.yesodweb.com/book/persistent")
9232 (synopsis "Backend for the persistent library using sqlite3")
9233 (description "This Haskell package includes a thin sqlite3 wrapper based
9234 on the direct-sqlite package, as well as the entire C library, so there are no
9235 system dependencies.")
9236 (license license:expat)))
9237
9238 (define-public ghc-persistent-template
9239 (package
9240 (name "ghc-persistent-template")
9241 (version "2.8.0")
9242 (source
9243 (origin
9244 (method url-fetch)
9245 (uri (string-append
9246 "https://hackage.haskell.org/package/persistent-template/"
9247 "persistent-template-" version ".tar.gz"))
9248 (sha256
9249 (base32
9250 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
9251 (build-system haskell-build-system)
9252 (inputs
9253 `(("ghc-persistent" ,ghc-persistent)
9254 ("ghc-aeson" ,ghc-aeson)
9255 ("ghc-http-api-data" ,ghc-http-api-data)
9256 ("ghc-monad-control" ,ghc-monad-control)
9257 ("ghc-monad-logger" ,ghc-monad-logger)
9258 ("ghc-path-pieces" ,ghc-path-pieces)
9259 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9260 ("ghc-unordered-containers"
9261 ,ghc-unordered-containers)))
9262 (native-inputs
9263 `(("ghc-hspec" ,ghc-hspec)
9264 ("ghc-quickcheck" ,ghc-quickcheck)))
9265 (home-page "https://www.yesodweb.com/book/persistent")
9266 (synopsis "Type-safe, non-relational, multi-backend persistence")
9267 (description "This Haskell package provides interfaces and helper
9268 functions for the ghc-persistent package.")
9269 (license license:expat)))
9270
9271 (define-public ghc-persistent-test
9272 (package
9273 (name "ghc-persistent-test")
9274 (version "2.0.3.1")
9275 (source
9276 (origin
9277 (method url-fetch)
9278 (uri (string-append
9279 "https://hackage.haskell.org/package/persistent-test/"
9280 "persistent-test-" version ".tar.gz"))
9281 (sha256
9282 (base32
9283 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9284 (build-system haskell-build-system)
9285 (inputs
9286 `(("ghc-aeson" ,ghc-aeson)
9287 ("ghc-blaze-html" ,ghc-blaze-html)
9288 ("ghc-conduit" ,ghc-conduit)
9289 ("ghc-monad-control" ,ghc-monad-control)
9290 ("ghc-monad-logger" ,ghc-monad-logger)
9291 ("ghc-path-pieces" ,ghc-path-pieces)
9292 ("ghc-persistent" ,ghc-persistent)
9293 ("ghc-persistent-template" ,ghc-persistent-template)
9294 ("ghc-random" ,ghc-random)
9295 ("ghc-resourcet" ,ghc-resourcet)
9296 ("ghc-transformers-base" ,ghc-transformers-base)
9297 ("ghc-unliftio" ,ghc-unliftio)
9298 ("ghc-unliftio-core" ,ghc-unliftio-core)
9299 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9300 (native-inputs
9301 `(("ghc-quickcheck" ,ghc-quickcheck)
9302 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9303 ("ghc-hspec" ,ghc-hspec)
9304 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9305 ("ghc-hunit" ,ghc-hunit)))
9306 (home-page "https://www.yesodweb.com/book/persistent")
9307 (synopsis "Tests for the Persistent database library")
9308 (description
9309 "This is only for use in developing libraries that should conform to
9310 the persistent interface, not for users of the persistent suite of database
9311 libraries.")
9312 (license license:expat)))
9313
9314 (define-public ghc-pgp-wordlist
9315 (package
9316 (name "ghc-pgp-wordlist")
9317 (version "0.1.0.3")
9318 (source
9319 (origin
9320 (method url-fetch)
9321 (uri (string-append
9322 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9323 version
9324 ".tar.gz"))
9325 (sha256
9326 (base32
9327 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9328 (build-system haskell-build-system)
9329 (inputs
9330 `(("ghc-vector" ,ghc-vector)))
9331 (native-inputs
9332 `(("ghc-hunit" ,ghc-hunit)
9333 ("ghc-tasty" ,ghc-tasty)
9334 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9335 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9336 ("ghc-doctest" ,ghc-doctest)))
9337 (home-page
9338 "https://github.com/quchen/pgp-wordlist")
9339 (synopsis
9340 "Translate between binary data and a human-readable collection of words")
9341 (description
9342 "The PGP Word List consists of two phonetic alphabets, each with one word
9343 per possible byte value. A string of bytes is translated with these
9344 alphabets, alternating between them at each byte.
9345
9346 The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9347 spellbind headwaters\", for example.
9348
9349 For further information, see
9350 @url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9351 (license license:bsd-3)))
9352
9353 (define-public ghc-pipes
9354 (package
9355 (name "ghc-pipes")
9356 (version "4.3.13")
9357 (source
9358 (origin
9359 (method url-fetch)
9360 (uri (string-append
9361 "https://hackage.haskell.org/package/pipes/"
9362 "pipes-" version ".tar.gz"))
9363 (sha256
9364 (base32
9365 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9366 (build-system haskell-build-system)
9367 (inputs
9368 `(("ghc-exceptions" ,ghc-exceptions)
9369 ("ghc-mmorph" ,ghc-mmorph)
9370 ("ghc-void" ,ghc-void)
9371 ("ghc-semigroups" ,ghc-semigroups)))
9372 (native-inputs
9373 `(("ghc-quickcheck" ,ghc-quickcheck)
9374 ("ghc-test-framework" ,ghc-test-framework)
9375 ("ghc-test-framework-quickcheck2"
9376 ,ghc-test-framework-quickcheck2)))
9377 (home-page
9378 "https://hackage.haskell.org/package/pipes")
9379 (synopsis "Compositional pipelines")
9380 (description
9381 "A clean and powerful stream processing library that lets you build
9382 and connect reusable streaming components. Advantages over traditional streaming
9383 libraries:
9384 @itemize
9385 @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9386 and @code{yield}
9387 @item Blazing fast: Implementation tuned for speed, including shortcut fusion
9388 @item Lightweight Dependency: pipes is small and compiles very rapidly, including
9389 dependencies
9390 @item Elegant semantics: Use practical category theory
9391 @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9392 @item Bidirectionality: Implement duplex channels
9393 @end itemize")
9394 (license license:bsd-3)))
9395
9396 (define-public ghc-pointedlist
9397 (package
9398 (name "ghc-pointedlist")
9399 (version "0.6.1")
9400 (source
9401 (origin
9402 (method url-fetch)
9403 (uri (string-append
9404 "https://hackage.haskell.org/package/pointedlist/"
9405 "pointedlist-" version ".tar.gz"))
9406 (sha256
9407 (base32
9408 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9409 (build-system haskell-build-system)
9410 (home-page
9411 "https://hackage.haskell.org/package/pointedlist")
9412 (synopsis
9413 "Zipper-like comonad which works as a list, tracking a position")
9414 (description
9415 "A PointedList tracks the position in a non-empty list which works
9416 similarly to a zipper. A current item is always required, and therefore
9417 the list may never be empty. A circular PointedList wraps around to the
9418 other end when progressing past the actual edge.")
9419 (license license:bsd-3)))
9420
9421 (define-public ghc-polyparse
9422 (package
9423 (name "ghc-polyparse")
9424 (version "1.12.1")
9425 (source
9426 (origin
9427 (method url-fetch)
9428 (uri (string-append
9429 "https://hackage.haskell.org/package/polyparse/polyparse-"
9430 version
9431 ".tar.gz"))
9432 (sha256
9433 (base32
9434 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
9435 (build-system haskell-build-system)
9436 (home-page
9437 "http://code.haskell.org/~malcolm/polyparse/")
9438 (synopsis
9439 "Alternative parser combinator libraries")
9440 (description
9441 "This package provides a variety of alternative parser combinator
9442 libraries, including the original HuttonMeijer set. The Poly sets have
9443 features like good error reporting, arbitrary token type, running state, lazy
9444 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9445 standard Read class, for better deserialisation of Haskell values from
9446 Strings.")
9447 (license license:lgpl2.1)))
9448
9449 (define-public ghc-pqueue
9450 (package
9451 (name "ghc-pqueue")
9452 (version "1.4.1.2")
9453 (source
9454 (origin
9455 (method url-fetch)
9456 (uri (string-append "https://hackage.haskell.org/package/"
9457 "pqueue/pqueue-" version ".tar.gz"))
9458 (sha256
9459 (base32
9460 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
9461 (build-system haskell-build-system)
9462 (native-inputs
9463 `(("ghc-quickcheck" ,ghc-quickcheck)))
9464 (home-page "https://hackage.haskell.org/package/pqueue")
9465 (synopsis "Reliable, persistent, fast priority queues")
9466 (description
9467 "This package provides a fast, reliable priority queue implementation
9468 based on a binomial heap.")
9469 (license license:bsd-3)))
9470
9471 (define-public ghc-prelude-extras
9472 (package
9473 (name "ghc-prelude-extras")
9474 (version "0.4.0.3")
9475 (source
9476 (origin
9477 (method url-fetch)
9478 (uri (string-append
9479 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9480 version
9481 ".tar.gz"))
9482 (sha256
9483 (base32
9484 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9485 (build-system haskell-build-system)
9486 (home-page "https://github.com/ekmett/prelude-extras")
9487 (synopsis "Higher order versions of Prelude classes")
9488 (description "This library provides higher order versions of
9489 @code{Prelude} classes to ease programming with polymorphic recursion and
9490 reduce @code{UndecidableInstances}.")
9491 (license license:bsd-3)))
9492
9493 (define-public ghc-prettyclass
9494 (package
9495 (name "ghc-prettyclass")
9496 (version "1.0.0.0")
9497 (source
9498 (origin
9499 (method url-fetch)
9500 (uri (string-append "https://hackage.haskell.org/package/"
9501 "prettyclass/prettyclass-" version ".tar.gz"))
9502 (sha256
9503 (base32
9504 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9505 (build-system haskell-build-system)
9506 (home-page "https://hackage.haskell.org/package/prettyclass")
9507 (synopsis "Pretty printing class similar to Show")
9508 (description "This package provides a pretty printing class similar
9509 to @code{Show}, based on the HughesPJ pretty printing library. It
9510 provides the pretty printing class and instances for the Prelude
9511 types.")
9512 (license license:bsd-3)))
9513
9514 (define-public ghc-prettyprinter
9515 (package
9516 (name "ghc-prettyprinter")
9517 (version "1.2.1.1")
9518 (source
9519 (origin
9520 (method url-fetch)
9521 (uri (string-append
9522 "mirror://hackage/package/prettyprinter/prettyprinter-"
9523 version
9524 ".tar.gz"))
9525 (sha256
9526 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9527 (build-system haskell-build-system)
9528 (native-inputs
9529 `(("ghc-doctest" ,ghc-doctest)
9530 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9531 ("ghc-tasty" ,ghc-tasty)
9532 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9533 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9534 (home-page "https://github.com/quchen/prettyprinter")
9535 (synopsis
9536 "Modern, easy to use, well-documented, extensible pretty-printer")
9537 (description
9538 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9539 ANSI terminal backend exists, HTML backend is trivial to implement, no name
9540 clashes, @code{Text}-based, extensible.")
9541 (license license:bsd-2)))
9542
9543 (define-public ghc-prettyprinter-1.6
9544 (package
9545 (inherit ghc-prettyprinter)
9546 (version "1.6.1")
9547 (source
9548 (origin
9549 (method url-fetch)
9550 (uri (string-append
9551 "mirror://hackage/package/prettyprinter/prettyprinter-"
9552 version
9553 ".tar.gz"))
9554 (sha256
9555 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9556 (inputs
9557 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9558 ,@(package-inputs ghc-prettyprinter)))))
9559
9560 (define-public ghc-prettyprinter-ansi-terminal
9561 (package
9562 (name "ghc-prettyprinter-ansi-terminal")
9563 (version "1.1.1.2")
9564 (source
9565 (origin
9566 (method url-fetch)
9567 (uri (string-append
9568 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9569 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9570 (sha256
9571 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9572 (build-system haskell-build-system)
9573 (inputs
9574 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9575 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9576 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9577 (home-page
9578 "https://github.com/quchen/prettyprinter")
9579 (synopsis
9580 "ANSI terminal backend for the prettyprinter package")
9581 (description "ANSI terminal backend for the prettyprinter package.")
9582 (license license:bsd-2)))
9583
9584 (define-public ghc-pretty-hex
9585 (package
9586 (name "ghc-pretty-hex")
9587 (version "1.0")
9588 (source
9589 (origin
9590 (method url-fetch)
9591 (uri (string-append "https://hackage.haskell.org/package/"
9592 "pretty-hex-" version "/"
9593 "pretty-hex-" version ".tar.gz"))
9594 (sha256
9595 (base32
9596 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9597 (build-system haskell-build-system)
9598 (home-page "https://github.com/GaloisInc/hexdump")
9599 (synopsis "Haskell library for hex dumps of ByteStrings")
9600 (description "This Haskell library generates pretty hex dumps of
9601 ByteStrings in the style of other common *nix hex dump tools.")
9602 (license license:bsd-3)))
9603
9604 (define-public ghc-pretty-show
9605 (package
9606 (name "ghc-pretty-show")
9607 (version "1.9.5")
9608 (source
9609 (origin
9610 (method url-fetch)
9611 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9612 "pretty-show-" version ".tar.gz"))
9613 (sha256
9614 (base32
9615 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
9616 (build-system haskell-build-system)
9617 (inputs
9618 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9619 ("ghc-happy" ,ghc-happy)))
9620 (home-page "https://wiki.github.com/yav/pretty-show")
9621 (synopsis "Tools for working with derived `Show` instances")
9622 (description
9623 "This package provides a library and an executable for working with
9624 derived @code{Show} instances. By using the library, derived @code{Show}
9625 instances can be parsed into a generic data structure. The @code{ppsh} tool
9626 uses the library to produce human-readable versions of @code{Show} instances,
9627 which can be quite handy for debugging Haskell programs. We can also render
9628 complex generic values into an interactive Html page, for easier
9629 examination.")
9630 (license license:expat)))
9631
9632 (define-public ghc-pretty-simple
9633 (package
9634 (name "ghc-pretty-simple")
9635 (version "2.2.0.1")
9636 (source
9637 (origin
9638 (method url-fetch)
9639 (uri (string-append
9640 "mirror://hackage/package/pretty-simple/"
9641 "pretty-simple-" version ".tar.gz"))
9642 (sha256
9643 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9644 (build-system haskell-build-system)
9645 (inputs
9646 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9647 ("ghc-glob" ,ghc-glob)
9648 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9649 ("ghc-aeson" ,ghc-aeson)))
9650 (native-inputs
9651 `(("ghc-doctest" ,ghc-doctest)))
9652 (home-page "https://github.com/cdepillabout/pretty-simple")
9653 (synopsis "Pretty printer for data types with a 'Show' instance")
9654 (description
9655 "Pretty-simple is a pretty printer for Haskell data types that have a
9656 Show instance.")
9657 (license license:bsd-3)))
9658
9659 (define-public ghc-primitive
9660 (package
9661 (name "ghc-primitive")
9662 (version "0.6.4.0")
9663 (outputs '("out" "doc"))
9664 (source
9665 (origin
9666 (method url-fetch)
9667 (uri (string-append
9668 "https://hackage.haskell.org/package/primitive/primitive-"
9669 version
9670 ".tar.gz"))
9671 (sha256
9672 (base32
9673 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9674 (build-system haskell-build-system)
9675 (arguments
9676 `(#:cabal-revision
9677 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
9678 (home-page
9679 "https://github.com/haskell/primitive")
9680 (synopsis "Primitive memory-related operations")
9681 (description
9682 "This package provides various primitive memory-related operations.")
9683 (license license:bsd-3)))
9684
9685 (define-public ghc-process-extras
9686 (package
9687 (name "ghc-process-extras")
9688 (version "0.7.4")
9689 (source
9690 (origin
9691 (method url-fetch)
9692 (uri
9693 (string-append
9694 "https://hackage.haskell.org/package/process-extras/"
9695 "process-extras-" version ".tar.gz"))
9696 (sha256
9697 (base32
9698 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9699 (build-system haskell-build-system)
9700 (inputs
9701 `(("ghc-data-default" ,ghc-data-default)
9702 ("ghc-generic-deriving" ,ghc-generic-deriving)
9703 ("ghc-hunit" ,ghc-hunit)
9704 ("ghc-listlike" ,ghc-listlike)))
9705 (home-page "https://github.com/seereason/process-extras")
9706 (synopsis "Extra tools for managing processes")
9707 (description "This package extends
9708 @url{http://hackage.haskell.org/package/process}. It allows you to read
9709 process input and output as ByteStrings or Text, or write your own
9710 ProcessOutput instance. It also provides lazy process input and output,
9711 and a ProcessMaker class for more flexibility in the process creation
9712 API.")
9713 (license license:expat)))
9714
9715 (define-public ghc-profunctors
9716 (package
9717 (name "ghc-profunctors")
9718 (version "5.3")
9719 (source
9720 (origin
9721 (method url-fetch)
9722 (uri (string-append
9723 "https://hackage.haskell.org/package/profunctors/profunctors-"
9724 version
9725 ".tar.gz"))
9726 (sha256
9727 (base32
9728 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
9729 (build-system haskell-build-system)
9730 (inputs
9731 `(("ghc-base-orphans" ,ghc-base-orphans)
9732 ("ghc-bifunctors" ,ghc-bifunctors)
9733 ("ghc-comonad" ,ghc-comonad)
9734 ("ghc-contravariant" ,ghc-contravariant)
9735 ("ghc-distributive" ,ghc-distributive)
9736 ("ghc-semigroups" ,ghc-semigroups)
9737 ("ghc-tagged" ,ghc-tagged)))
9738 (home-page "https://github.com/ekmett/profunctors/")
9739 (synopsis "Profunctors for Haskell")
9740 (description "This library provides profunctors for Haskell.")
9741 (license license:bsd-3)))
9742
9743 (define-public ghc-project-template
9744 (package
9745 (name "ghc-project-template")
9746 (version "0.2.0.1")
9747 (source
9748 (origin
9749 (method url-fetch)
9750 (uri (string-append
9751 "https://hackage.haskell.org/package/project-template/project-template-"
9752 version ".tar.gz"))
9753 (sha256
9754 (base32
9755 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9756 (build-system haskell-build-system)
9757 (inputs
9758 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9759 ("ghc-conduit" ,ghc-conduit)
9760 ("ghc-conduit-extra" ,ghc-conduit-extra)
9761 ("ghc-resourcet" ,ghc-resourcet)))
9762 (native-inputs
9763 `(("ghc-hspec" ,ghc-hspec)
9764 ("hspec-discover" ,hspec-discover)
9765 ("ghc-quickcheck" ,ghc-quickcheck)))
9766 (arguments
9767 `(#:cabal-revision
9768 ("1"
9769 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9770 (home-page "https://github.com/fpco/haskell-ide")
9771 (synopsis "Specify Haskell project templates and generate files")
9772 (description
9773 "Haskell library for both generating and consuming project templates.
9774
9775 ost IDEs provide the concept of a project template: instead of writing all
9776 of the code for a project from scratch, you select a template, answer a few
9777 questions, and a bunch of files are automatically generated.
9778
9779 project-template tries to provide a canonical Haskell library for implementing
9780 the ideal templating system.")
9781 (license license:bsd-3)))
9782
9783 (define-public ghc-protolude
9784 (package
9785 (name "ghc-protolude")
9786 (version "0.2.3")
9787 (source
9788 (origin
9789 (method url-fetch)
9790 (uri (string-append
9791 "mirror://hackage/package/protolude/protolude-"
9792 version
9793 ".tar.gz"))
9794 (sha256
9795 (base32
9796 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9797 (build-system haskell-build-system)
9798 (inputs
9799 `(("ghc-async" ,ghc-async)
9800 ("ghc-hashable" ,ghc-hashable)
9801 ("ghc-mtl-compat" ,ghc-mtl-compat)
9802 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9803 (home-page "https://github.com/protolude/protolude")
9804 (synopsis "Sensible set of defaults for writing custom Preludes")
9805 (description
9806 "Protolude gives you sensible defaults for writing custom Preludes to
9807 replace the standard one provided by GHC.")
9808 (license license:expat)))
9809
9810 (define-public ghc-psqueue
9811 (package
9812 (name "ghc-psqueue")
9813 (version "1.1.0.1")
9814 (source (origin
9815 (method url-fetch)
9816 (uri (string-append "mirror://hackage/package/PSQueue-"
9817 version "/PSQueue-" version ".tar.gz"))
9818 (sha256
9819 (base32
9820 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9821 (build-system haskell-build-system)
9822 (home-page "https://hackage.haskell.org/package/PSQueue")
9823 (synopsis "Priority search queue")
9824 (description
9825 "A @dfn{priority search queue} efficiently supports the operations of
9826 both a search tree and a priority queue. A @code{Binding} is a product of
9827 a key and a priority. Bindings can be inserted, deleted, modified and queried
9828 in logarithmic time, and the binding with the least priority can be retrieved
9829 in constant time. A queue can be built from a list of bindings, sorted by
9830 keys, in linear time.")
9831 (license license:bsd-3)))
9832
9833 (define-public ghc-psqueues
9834 (package
9835 (name "ghc-psqueues")
9836 (version "0.2.7.2")
9837 (source
9838 (origin
9839 (method url-fetch)
9840 (uri (string-append "https://hackage.haskell.org/package/"
9841 "psqueues-" version "/"
9842 "psqueues-" version ".tar.gz"))
9843 (sha256
9844 (base32
9845 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
9846 (build-system haskell-build-system)
9847 (inputs
9848 `(("ghc-hashable" ,ghc-hashable)))
9849 (native-inputs
9850 `(("ghc-hunit" ,ghc-hunit)
9851 ("ghc-quickcheck" ,ghc-quickcheck)
9852 ("ghc-tagged" ,ghc-tagged)
9853 ("ghc-tasty" ,ghc-tasty)
9854 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9855 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9856 (home-page "https://github.com/jaspervdj/psqueues")
9857 (synopsis "Pure priority search queues")
9858 (description "The psqueues package provides
9859 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9860 three different flavors:
9861
9862 @itemize
9863 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9864 fast insertion, deletion and lookup. This implementation is based on Ralf
9865 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9866 Implementation Technique for Priority Search Queues}.
9867
9868 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9869 PSQueue} library, although it is considerably faster and provides a slightly
9870 different API.
9871
9872 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9873 key type to @code{Int} and uses a
9874 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9875 with an additional min-heap property.
9876
9877 @item @code{HashPSQ k p v} is a fairly straightforward extension
9878 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9879 @code{IntPSQ}. If there are any hash collisions, it uses an
9880 @code{OrdPSQ} to resolve those. The performance of this implementation
9881 is comparable to that of @code{IntPSQ}, but it is more widely
9882 applicable since the keys are not restricted to @code{Int},
9883 but rather to any @code{Hashable} datatype.
9884 @end itemize
9885
9886 Each of the three implementations provides the same API, so they can
9887 be used interchangeably.
9888
9889 Typical applications of Priority Search Queues include:
9890
9891 @itemize
9892 @item Caches, and more specifically LRU Caches;
9893 @item Schedulers;
9894 @item Pathfinding algorithms, such as Dijkstra's and A*.
9895 @end itemize")
9896 (license license:bsd-3)))
9897
9898 (define-public ghc-pwstore-fast
9899 (package
9900 (name "ghc-pwstore-fast")
9901 (version "2.4.4")
9902 (source
9903 (origin
9904 (method url-fetch)
9905 (uri (string-append
9906 "https://hackage.haskell.org/package/pwstore-fast/"
9907 "pwstore-fast-" version ".tar.gz"))
9908 (sha256
9909 (base32
9910 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9911 (build-system haskell-build-system)
9912 (inputs
9913 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9914 ("ghc-cryptohash" ,ghc-cryptohash)
9915 ("ghc-random" ,ghc-random)
9916 ("ghc-byteable" ,ghc-byteable)))
9917 (home-page "https://github.com/PeterScott/pwstore")
9918 (synopsis "Secure password storage")
9919 (description
9920 "To store passwords securely, they should be salted, then hashed with
9921 a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9922 details. It uses the cryptohash package for speed; if you need a pure
9923 Haskell library, pwstore-purehaskell has the exact same API, but uses only
9924 pure Haskell. It is about 25 times slower than this package, but still quite
9925 usable.")
9926 (license license:bsd-3)))
9927
9928 (define-public ghc-random
9929 (package
9930 (name "ghc-random")
9931 (version "1.1")
9932 (outputs '("out" "doc"))
9933 (source
9934 (origin
9935 (method url-fetch)
9936 (uri (string-append
9937 "https://hackage.haskell.org/package/random/random-"
9938 version
9939 ".tar.gz"))
9940 (sha256
9941 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9942 (build-system haskell-build-system)
9943 (home-page "https://hackage.haskell.org/package/random")
9944 (synopsis "Random number library")
9945 (description "This package provides a basic random number generation
9946 library, including the ability to split random number generators.")
9947 (license license:bsd-3)))
9948
9949 (define-public ghc-raw-strings-qq
9950 (package
9951 (name "ghc-raw-strings-qq")
9952 (version "1.1")
9953 (source
9954 (origin
9955 (method url-fetch)
9956 (uri (string-append "https://hackage.haskell.org/package/"
9957 "raw-strings-qq/raw-strings-qq-"
9958 version ".tar.gz"))
9959 (sha256
9960 (base32
9961 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9962 (build-system haskell-build-system)
9963 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9964 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9965 (synopsis "Raw string literals for Haskell")
9966 (description
9967 "This package provides a quasiquoter for raw string literals, i.e. string
9968 literals that don't recognise the standard escape sequences. Basically, they
9969 make your code more readable by freeing you from the responsibility to escape
9970 backslashes. They are useful when working with regular expressions,
9971 DOS/Windows paths and markup languages (such as XML).")
9972 (license license:bsd-3)))
9973
9974 (define-public ghc-readable
9975 (package
9976 (name "ghc-readable")
9977 (version "0.3.1")
9978 (source
9979 (origin
9980 (method url-fetch)
9981 (uri (string-append "https://hackage.haskell.org/package/"
9982 "readable/readable-" version ".tar.gz"))
9983 (sha256
9984 (base32
9985 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9986 (build-system haskell-build-system)
9987 (home-page "https://github.com/mightybyte/readable")
9988 (synopsis "Type class for reading from Text and ByteString")
9989 (description "This package provides a @code{Readable} type class for
9990 reading data types from @code{ByteString} and @code{Text}. It also
9991 includes efficient implementations for common data types.")
9992 (license license:bsd-3)))
9993
9994 (define-public ghc-rebase
9995 (package
9996 (name "ghc-rebase")
9997 (version "1.3.1.1")
9998 (source
9999 (origin
10000 (method url-fetch)
10001 (uri (string-append "https://hackage.haskell.org/package/"
10002 "rebase-" version "/"
10003 "rebase-" version ".tar.gz"))
10004 (sha256
10005 (base32
10006 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
10007 (build-system haskell-build-system)
10008 (inputs `(("ghc-hashable" ,ghc-hashable)
10009 ("ghc-vector" ,ghc-vector)
10010 ("ghc-unordered-containers" ,ghc-unordered-containers)
10011 ("ghc-scientific" ,ghc-scientific)
10012 ("ghc-uuid" ,ghc-uuid)
10013 ("ghc-dlist" ,ghc-dlist)
10014 ("ghc-void" ,ghc-void)
10015 ("ghc-bifunctors" ,ghc-bifunctors)
10016 ("ghc-profunctors" ,ghc-profunctors)
10017 ("ghc-contravariant" ,ghc-contravariant)
10018 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10019 ("ghc-semigroups" ,ghc-semigroups)
10020 ("ghc-either" ,ghc-either)
10021 ("ghc-fail" ,ghc-fail)
10022 ("ghc-base-prelude" ,ghc-base-prelude)))
10023 (home-page "https://github.com/nikita-volkov/rebase")
10024 (synopsis "Progressive alternative to the base package
10025 for Haskell")
10026 (description "This Haskell package is intended for those who are
10027 tired of keeping long lists of dependencies to the same essential libraries
10028 in each package as well as the endless imports of the same APIs all over again.
10029
10030 It also supports the modern tendencies in the language.
10031
10032 To solve those problems this package does the following:
10033
10034 @itemize
10035 @item Reexport the original APIs under the @code{Rebase} namespace.
10036
10037 @item Export all the possible non-conflicting symbols from the
10038 @code{Rebase.Prelude} module.
10039
10040 @item Give priority to the modern practices in the conflicting cases.
10041 @end itemize
10042
10043 The policy behind the package is only to reexport the non-ambiguous and
10044 non-controversial APIs, which the community has obviously settled on.
10045 The package is intended to rapidly evolve with the contribution from
10046 the community, with the missing features being added with pull-requests.")
10047 (license license:expat)))
10048
10049 (define-public ghc-reducers
10050 (package
10051 (name "ghc-reducers")
10052 (version "3.12.3")
10053 (source
10054 (origin
10055 (method url-fetch)
10056 (uri (string-append
10057 "https://hackage.haskell.org/package/reducers/reducers-"
10058 version
10059 ".tar.gz"))
10060 (sha256
10061 (base32
10062 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10063 (build-system haskell-build-system)
10064 (inputs
10065 `(("ghc-fingertree" ,ghc-fingertree)
10066 ("ghc-hashable" ,ghc-hashable)
10067 ("ghc-unordered-containers" ,ghc-unordered-containers)
10068 ("ghc-semigroupoids" ,ghc-semigroupoids)
10069 ("ghc-semigroups" ,ghc-semigroups)))
10070 (home-page "https://github.com/ekmett/reducers/")
10071 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10072 (description "This library provides various semigroups, specialized
10073 containers and a general map/reduce framework for Haskell.")
10074 (license license:bsd-3)))
10075
10076 (define-public ghc-refact
10077 (package
10078 (name "ghc-refact")
10079 (version "0.3.0.2")
10080 (source
10081 (origin
10082 (method url-fetch)
10083 (uri (string-append "https://hackage.haskell.org/package/"
10084 "refact/refact-"
10085 version ".tar.gz"))
10086 (sha256
10087 (base32
10088 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10089 (build-system haskell-build-system)
10090 (home-page "https://hackage.haskell.org/package/refact")
10091 (synopsis "Specify refactorings to perform with apply-refact")
10092 (description
10093 "This library provides a datatype which can be interpreted by
10094 @code{apply-refact}. It exists as a separate library so that applications can
10095 specify refactorings without depending on GHC.")
10096 (license license:bsd-3)))
10097
10098 (define-public ghc-reflection
10099 (package
10100 (name "ghc-reflection")
10101 (version "2.1.5")
10102 (source
10103 (origin
10104 (method url-fetch)
10105 (uri (string-append
10106 "https://hackage.haskell.org/package/reflection/reflection-"
10107 version
10108 ".tar.gz"))
10109 (sha256
10110 (base32
10111 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
10112 (build-system haskell-build-system)
10113 (inputs `(("ghc-tagged" ,ghc-tagged)))
10114 (native-inputs
10115 `(("ghc-hspec" ,ghc-hspec)
10116 ("ghc-quickcheck" ,ghc-quickcheck)
10117 ("hspec-discover" ,hspec-discover)))
10118 (home-page "https://github.com/ekmett/reflection")
10119 (synopsis "Reify arbitrary terms into types that can be reflected back
10120 into terms")
10121 (description "This package addresses the 'configuration problem' which is
10122 propagating configurations that are available at run-time, allowing multiple
10123 configurations to coexist without resorting to mutable global variables or
10124 @code{System.IO.Unsafe.unsafePerformIO}.")
10125 (license license:bsd-3)))
10126
10127 (define-public ghc-regex
10128 (package
10129 (name "ghc-regex")
10130 (version "1.0.2.0")
10131 (source
10132 (origin
10133 (method url-fetch)
10134 (uri (string-append "https://hackage.haskell.org/package/regex/"
10135 "regex-" version ".tar.gz"))
10136 (sha256
10137 (base32
10138 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
10139 (build-system haskell-build-system)
10140 (arguments
10141 `(#:phases
10142 (modify-phases %standard-phases
10143 (add-after 'unpack 'relax-dependencies
10144 (lambda _
10145 (substitute* "regex.cabal"
10146 (("base-compat.*>=.*0.6.*")
10147 "base-compat >= 0.6\n")
10148 (("template-haskell.*>=.*2.7.*")
10149 "template-haskell >= 2.7\n"))
10150 #t)))))
10151 (inputs
10152 `(("ghc-base-compat" ,ghc-base-compat)
10153 ("ghc-hashable" ,ghc-hashable)
10154 ("ghc-regex-base" ,ghc-regex-base)
10155 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10156 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10157 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10158 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10159 ("ghc-unordered-containers" ,ghc-unordered-containers)
10160 ("ghc-utf8-string" ,ghc-utf8-string)))
10161 (home-page "http://regex.uk")
10162 (synopsis "Toolkit for regex-base")
10163 (description
10164 "This package provides a regular expression toolkit for @code{regex-base}
10165 with compile-time checking of regular expression syntax, data types for
10166 matches and captures, a text replacement toolkit, portable options, high-level
10167 AWK-like tools for building text processing apps, regular expression macros
10168 with parsers and test bench, comprehensive documentation, tutorials and
10169 copious examples.")
10170 (license license:bsd-3)))
10171
10172 (define-public ghc-regex-applicative
10173 (package
10174 (name "ghc-regex-applicative")
10175 (version "0.3.3.1")
10176 (source
10177 (origin
10178 (method url-fetch)
10179 (uri (string-append
10180 "https://hackage.haskell.org/package/regex-applicative/"
10181 "regex-applicative-" version ".tar.gz"))
10182 (sha256
10183 (base32
10184 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
10185 (build-system haskell-build-system)
10186 (inputs
10187 `(("ghc-smallcheck" ,ghc-smallcheck)
10188 ("ghc-tasty" ,ghc-tasty)
10189 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10190 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10191 (home-page "https://github.com/feuerbach/regex-applicative")
10192 (synopsis "Regex-based parsing with applicative interface")
10193 (description
10194 "@code{regex-applicative} is a Haskell library for parsing using
10195 regular expressions. Parsers can be built using Applicative interface.")
10196 (license license:expat)))
10197
10198 (define-public ghc-regex-base
10199 (package
10200 (name "ghc-regex-base")
10201 (version "0.93.2")
10202 (source
10203 (origin
10204 (method url-fetch)
10205 (uri (string-append
10206 "https://hackage.haskell.org/package/regex-base/regex-base-"
10207 version
10208 ".tar.gz"))
10209 (sha256
10210 (base32
10211 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10212 (build-system haskell-build-system)
10213 (home-page
10214 "https://sourceforge.net/projects/lazy-regex")
10215 (synopsis "Replaces/Enhances Text.Regex")
10216 (description "@code{Text.Regex.Base} provides the interface API for
10217 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10218 (license license:bsd-3)))
10219
10220 (define-public ghc-regex-compat
10221 (package
10222 (name "ghc-regex-compat")
10223 (version "0.95.1")
10224 (source
10225 (origin
10226 (method url-fetch)
10227 (uri (string-append
10228 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10229 version
10230 ".tar.gz"))
10231 (sha256
10232 (base32
10233 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10234 (build-system haskell-build-system)
10235 (inputs
10236 `(("ghc-regex-base" ,ghc-regex-base)
10237 ("ghc-regex-posix" ,ghc-regex-posix)))
10238 (home-page "https://sourceforge.net/projects/lazy-regex")
10239 (synopsis "Replaces/Enhances Text.Regex")
10240 (description "This library provides one module layer over
10241 @code{regex-posix} to replace @code{Text.Regex}.")
10242 (license license:bsd-3)))
10243
10244 (define-public ghc-regex-compat-tdfa
10245 (package
10246 (name "ghc-regex-compat-tdfa")
10247 (version "0.95.1.4")
10248 (source
10249 (origin
10250 (method url-fetch)
10251 (uri (string-append
10252 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10253 version ".tar.gz"))
10254 (sha256
10255 (base32
10256 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10257 (build-system haskell-build-system)
10258 (inputs
10259 `(("ghc-regex-base" ,ghc-regex-base)
10260 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10261 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10262 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10263 (description
10264 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10265 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10266 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10267 this problem.")
10268 (license license:bsd-3)))
10269
10270 (define-public ghc-regex-pcre
10271 (package
10272 (name "ghc-regex-pcre")
10273 (version "0.94.4")
10274 (source (origin
10275 (method url-fetch)
10276 (uri (string-append "https://hackage.haskell.org/package/"
10277 "regex-pcre/regex-pcre-" version ".tar.gz"))
10278 (sha256
10279 (base32
10280 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10281 (build-system haskell-build-system)
10282 (inputs
10283 `(("ghc-regex-base" ,ghc-regex-base)
10284 ("pcre" ,pcre)))
10285 (home-page "https://hackage.haskell.org/package/regex-pcre")
10286 (synopsis "Enhancement of the builtin Text.Regex library")
10287 (description
10288 "This package is an enhancement of the @code{Text.Regex} library.
10289 It wraps the @code{PCRE} C library providing Perl-compatible regular
10290 expressions.")
10291 (license license:bsd-3)))
10292
10293 (define-public ghc-regex-pcre-builtin
10294 (package
10295 (name "ghc-regex-pcre-builtin")
10296 (version "0.94.5.8.8.35")
10297 (source (origin
10298 (method url-fetch)
10299 (uri (string-append "https://hackage.haskell.org/package/"
10300 "regex-pcre-builtin/regex-pcre-builtin-"
10301 version ".tar.gz"))
10302 (sha256
10303 (base32
10304 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
10305 (build-system haskell-build-system)
10306 (inputs
10307 `(("ghc-regex-base" ,ghc-regex-base)))
10308 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
10309 (synopsis "Enhancement of the builtin Text.Regex library")
10310 (description
10311 "This package is an enhancement of the @code{Text.Regex} library,
10312 providing the PCRE backend to accompany regex-base, with bundled code from
10313 @url{https://www.pcre.org}.")
10314 (license license:bsd-3)))
10315
10316 (define-public ghc-regex-posix
10317 (package
10318 (name "ghc-regex-posix")
10319 (version "0.95.2")
10320 (source
10321 (origin
10322 (method url-fetch)
10323 (uri (string-append
10324 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10325 version
10326 ".tar.gz"))
10327 (sha256
10328 (base32
10329 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10330 (build-system haskell-build-system)
10331 (inputs
10332 `(("ghc-regex-base" ,ghc-regex-base)))
10333 (home-page "https://sourceforge.net/projects/lazy-regex")
10334 (synopsis "POSIX regular expressions for Haskell")
10335 (description "This library provides the POSIX regex backend used by the
10336 Haskell library @code{regex-base}.")
10337 (license license:bsd-3)))
10338
10339 (define-public ghc-regex-tdfa
10340 (package
10341 (name "ghc-regex-tdfa")
10342 (version "1.2.3.2")
10343 (source
10344 (origin
10345 (method url-fetch)
10346 (uri (string-append
10347 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10348 version ".tar.gz"))
10349 (sha256
10350 (base32
10351 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
10352 (build-system haskell-build-system)
10353 (inputs
10354 `(("ghc-regex-base" ,ghc-regex-base)))
10355 (home-page "https://github.com/haskell-hvr/regex-tdfa")
10356 (synopsis "POSIX extended regular expressions in Haskell.")
10357 (description
10358 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10359 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10360 inspired by libtre.")
10361 (license license:bsd-3)))
10362
10363 (define-public ghc-regex-tdfa-text
10364 (package
10365 (name "ghc-regex-tdfa-text")
10366 (version "1.0.0.3")
10367 (source
10368 (origin
10369 (method url-fetch)
10370 (uri (string-append
10371 "https://hackage.haskell.org/package/regex-tdfa-text/"
10372 "regex-tdfa-text-" version ".tar.gz"))
10373 (sha256
10374 (base32
10375 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10376 (build-system haskell-build-system)
10377 (inputs
10378 `(("ghc-regex-base" ,ghc-regex-base)
10379 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10380 (home-page
10381 "https://hackage.haskell.org/package/regex-tdfa-text")
10382 (synopsis "Text interface for regex-tdfa")
10383 (description
10384 "This provides an extra text interface for regex-tdfa.")
10385 (license license:bsd-3)))
10386
10387 (define-public ghc-repline
10388 (package
10389 (name "ghc-repline")
10390 (version "0.2.0.0")
10391 (source
10392 (origin
10393 (method url-fetch)
10394 (uri (string-append
10395 "mirror://hackage/package/repline/repline-"
10396 version
10397 ".tar.gz"))
10398 (sha256
10399 (base32
10400 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10401 (build-system haskell-build-system)
10402 (home-page "https://github.com/sdiehl/repline")
10403 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10404 (description
10405 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10406 normal mtl transformers.")
10407 (license license:expat)))
10408
10409 (define-public ghc-repline-0.3
10410 (package
10411 (inherit ghc-repline)
10412 (version "0.3.0.0")
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "mirror://hackage/package/repline/repline-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
10422 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10423 (inputs
10424 `(("ghc-exceptions" ,ghc-exceptions)
10425 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10426
10427 (define-public ghc-rerebase
10428 (package
10429 (name "ghc-rerebase")
10430 (version "1.3.1.1")
10431 (source
10432 (origin
10433 (method url-fetch)
10434 (uri (string-append
10435 "https://hackage.haskell.org/package/rerebase/rerebase-"
10436 version ".tar.gz"))
10437 (sha256
10438 (base32
10439 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
10440 (build-system haskell-build-system)
10441 (inputs
10442 `(("ghc-rebase" ,ghc-rebase)))
10443 (home-page "https://github.com/nikita-volkov/rerebase")
10444 (synopsis "Reexports from ``base'' with many other standard libraries")
10445 (description "A rich drop-in replacement for @code{base}. For details and
10446 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10447 the project's home page}.")
10448 (license license:expat)))
10449
10450 (define-public ghc-resolv
10451 (package
10452 (name "ghc-resolv")
10453 (version "0.1.1.2")
10454 (source
10455 (origin
10456 (method url-fetch)
10457 (uri (string-append
10458 "https://hackage.haskell.org/package/resolv/resolv-"
10459 version ".tar.gz"))
10460 (sha256
10461 (base32
10462 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
10463 (build-system haskell-build-system)
10464 (arguments
10465 `(#:phases
10466 (modify-phases %standard-phases
10467 (add-before 'configure 'update-constraints
10468 (lambda _
10469 (substitute* "resolv.cabal"
10470 (("tasty >= 1\\.1 && < 1\\.2")
10471 "tasty >= 1.1 && < 1.3"))
10472 #t)))))
10473 (inputs
10474 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
10475 (native-inputs
10476 `(("ghc-tasty" ,ghc-tasty)
10477 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10478 (home-page "https://github.com/haskell/hackage-security")
10479 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10480 (description "This package implements an API for accessing the
10481 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10482 resolver service via the standard @code{libresolv} system library (whose
10483 API is often available directly via the standard @code{libc} C library) on
10484 Unix systems.")
10485 (license license:gpl3)))
10486
10487 (define-public ghc-resource-pool
10488 (package
10489 (name "ghc-resource-pool")
10490 (version "0.2.3.2")
10491 (source
10492 (origin
10493 (method url-fetch)
10494 (uri (string-append "https://hackage.haskell.org/package/"
10495 "resource-pool-" version "/"
10496 "resource-pool-" version ".tar.gz"))
10497 (sha256
10498 (base32
10499 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10500 (build-system haskell-build-system)
10501 (inputs `(("ghc-hashable" ,ghc-hashable)
10502 ("ghc-monad-control" ,ghc-monad-control)
10503 ("ghc-transformers-base" ,ghc-transformers-base)
10504 ("ghc-vector" ,ghc-vector)))
10505 (home-page "https://github.com/bos/pool")
10506 (synopsis "Striped resource pooling implementation in Haskell")
10507 (description "This Haskell package provides striped pooling abstraction
10508 for managing flexibly-sized collections of resources such as database
10509 connections.")
10510 (license license:bsd-3)))
10511
10512 (define-public ghc-resourcet
10513 (package
10514 (name "ghc-resourcet")
10515 (version "1.2.2")
10516 (source
10517 (origin
10518 (method url-fetch)
10519 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10520 "resourcet-" version ".tar.gz"))
10521 (sha256
10522 (base32
10523 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
10524 (build-system haskell-build-system)
10525 (inputs
10526 `(("ghc-transformers-base" ,ghc-transformers-base)
10527 ("ghc-monad-control" ,ghc-monad-control)
10528 ("ghc-transformers-compat" ,ghc-transformers-compat)
10529 ("ghc-mmorph" ,ghc-mmorph)
10530 ("ghc-exceptions" ,ghc-exceptions)
10531 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10532 (native-inputs
10533 `(("ghc-lifted-base" ,ghc-lifted-base)
10534 ("ghc-hspec" ,ghc-hspec)))
10535 (home-page "https://github.com/snoyberg/conduit")
10536 (synopsis "Deterministic allocation and freeing of scarce resources")
10537 (description "ResourceT is a monad transformer which creates a region of
10538 code where you can safely allocate resources.")
10539 (license license:bsd-3)))
10540
10541 (define-public ghc-retry
10542 (package
10543 (name "ghc-retry")
10544 (version "0.8.1.0")
10545 (source
10546 (origin
10547 (method url-fetch)
10548 (uri (string-append "https://hackage.haskell.org/package/"
10549 "retry/retry-" version ".tar.gz"))
10550 (sha256
10551 (base32
10552 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10553 (build-system haskell-build-system)
10554 (inputs
10555 `(("ghc-exceptions" ,ghc-exceptions)
10556 ("ghc-random" ,ghc-random)))
10557 (native-inputs
10558 `(("ghc-hunit" ,ghc-hunit)
10559 ("ghc-tasty" ,ghc-tasty)
10560 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10561 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10562 ("ghc-hedgehog" ,ghc-hedgehog)))
10563 (home-page "https://github.com/Soostone/retry")
10564 (synopsis "Retry combinators for monadic actions that may fail")
10565 (description "This package exposes combinators that can wrap
10566 arbitrary monadic actions. They run the action and potentially retry
10567 running it with some configurable delay for a configurable number of
10568 times. The purpose is to make it easier to work with IO and especially
10569 network IO actions that often experience temporary failure and warrant
10570 retrying of the original action. For example, a database query may time
10571 out for a while, in which case we should hang back for a bit and retry
10572 the query instead of simply raising an exception.")
10573 (license license:bsd-3)))
10574
10575 (define-public ghc-rfc5051
10576 (package
10577 (name "ghc-rfc5051")
10578 (version "0.1.0.4")
10579 (source
10580 (origin
10581 (method url-fetch)
10582 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10583 "rfc5051-" version ".tar.gz"))
10584 (sha256
10585 (base32
10586 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
10587 (build-system haskell-build-system)
10588 (home-page "https://hackage.haskell.org/package/rfc5051")
10589 (synopsis "Simple unicode collation as per RFC5051")
10590 (description
10591 "This library implements @code{unicode-casemap}, the simple, non
10592 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10593 unicode collation can be done using @code{text-icu}, but that is a big
10594 dependency that depends on a large C library, and @code{rfc5051} might be
10595 better for some purposes.")
10596 (license license:bsd-3)))
10597
10598 (define-public ghc-rio
10599 (package
10600 (name "ghc-rio")
10601 (version "0.1.12.0")
10602 (source
10603 (origin
10604 (method url-fetch)
10605 (uri (string-append
10606 "https://hackage.haskell.org/package/rio/rio-"
10607 version ".tar.gz"))
10608 (sha256
10609 (base32
10610 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
10611 (build-system haskell-build-system)
10612 (inputs
10613 `(("ghc-exceptions" ,ghc-exceptions)
10614 ("ghc-hashable" ,ghc-hashable)
10615 ("ghc-microlens" ,ghc-microlens)
10616 ("ghc-primitive" ,ghc-primitive)
10617 ("ghc-typed-process" ,ghc-typed-process)
10618 ("ghc-unliftio" ,ghc-unliftio)
10619 ("ghc-unordered-containers" ,ghc-unordered-containers)
10620 ("ghc-vector" ,ghc-vector)))
10621 (native-inputs
10622 `(("ghc-hspec" ,ghc-hspec)
10623 ("hspec-discover" ,hspec-discover)))
10624 (home-page "https://github.com/commercialhaskell/rio#readme")
10625 (synopsis "A standard library for Haskell")
10626 (description "This package works as a prelude replacement for Haskell,
10627 providing more functionality and types out of the box than the standard
10628 prelude (such as common data types like @code{ByteString} and
10629 @code{Text}), as well as removing common ``gotchas'', like partial
10630 functions and lazy I/O. The guiding principle here is:
10631 @itemize
10632 @item If something is safe to use in general and has no expected naming
10633 conflicts, expose it.
10634 @item If something should not always be used, or has naming conflicts,
10635 expose it from another module in the hierarchy.
10636 @end itemize")
10637 (license license:expat)))
10638
10639 (define-public ghc-safe
10640 (package
10641 (name "ghc-safe")
10642 (version "0.3.17")
10643 (source
10644 (origin
10645 (method url-fetch)
10646 (uri (string-append
10647 "https://hackage.haskell.org/package/safe/safe-"
10648 version
10649 ".tar.gz"))
10650 (sha256
10651 (base32
10652 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10653 (build-system haskell-build-system)
10654 (native-inputs
10655 `(("ghc-quickcheck" ,ghc-quickcheck)))
10656 (home-page "https://github.com/ndmitchell/safe#readme")
10657 (synopsis "Library of safe (exception free) functions")
10658 (description "This library provides wrappers around @code{Prelude} and
10659 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10660 exceptions.")
10661 (license license:bsd-3)))
10662
10663 (define-public ghc-safe-exceptions
10664 (package
10665 (name "ghc-safe-exceptions")
10666 (version "0.1.7.0")
10667 (source
10668 (origin
10669 (method url-fetch)
10670 (uri (string-append "https://hackage.haskell.org/package/"
10671 "safe-exceptions/safe-exceptions-"
10672 version ".tar.gz"))
10673 (sha256
10674 (base32
10675 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10676 (build-system haskell-build-system)
10677 (arguments
10678 '(#:cabal-revision
10679 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10680 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10681 (native-inputs
10682 `(("ghc-hspec" ,ghc-hspec)
10683 ("ghc-void" ,ghc-void)
10684 ("hspec-discover" ,hspec-discover)))
10685 (home-page "https://github.com/fpco/safe-exceptions")
10686 (synopsis "Safe, consistent, and easy exception handling")
10687 (description "Runtime exceptions - as exposed in @code{base} by the
10688 @code{Control.Exception} module - have long been an intimidating part of the
10689 Haskell ecosystem. This package is intended to overcome this. It provides a
10690 safe and simple API on top of the existing exception handling machinery. The
10691 API is equivalent to the underlying implementation in terms of power but
10692 encourages best practices to minimize the chances of getting the exception
10693 handling wrong.")
10694 (license license:expat)))
10695
10696 (define-public ghc-safeio
10697 (package
10698 (name "ghc-safeio")
10699 (version "0.0.5.0")
10700 (source
10701 (origin
10702 (method url-fetch)
10703 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10704 "safeio-" version ".tar.gz"))
10705 (sha256
10706 (base32
10707 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10708 (build-system haskell-build-system)
10709 (inputs
10710 `(("ghc-conduit" ,ghc-conduit)
10711 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10712 ("ghc-exceptions" ,ghc-exceptions)
10713 ("ghc-resourcet" ,ghc-resourcet)))
10714 (native-inputs
10715 `(("ghc-hunit" ,ghc-hunit)
10716 ("ghc-test-framework" ,ghc-test-framework)
10717 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10718 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10719 (home-page "https://github.com/luispedro/safeio")
10720 (synopsis "Write output to disk atomically")
10721 (description
10722 "This package implements utilities to perform atomic output so as to
10723 avoid the problem of partial intermediate files.")
10724 (license license:expat)))
10725
10726 (define-public ghc-safesemaphore
10727 (package
10728 (name "ghc-safesemaphore")
10729 (version "0.10.1")
10730 (source
10731 (origin
10732 (method url-fetch)
10733 (uri (string-append "https://hackage.haskell.org/package/"
10734 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10735 (sha256
10736 (base32
10737 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10738 (build-system haskell-build-system)
10739 (native-inputs
10740 `(("ghc-hunit" ,ghc-hunit)))
10741 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10742 (synopsis "Exception safe semaphores")
10743 (description "This library provides exception safe semaphores that can be
10744 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10745 are not exception safe and can be broken by @code{killThread}.")
10746 (license license:bsd-3)))
10747
10748 (define-public ghc-sandi
10749 (package
10750 (name "ghc-sandi")
10751 (version "0.5")
10752 (source
10753 (origin
10754 (method url-fetch)
10755 (uri (string-append
10756 "https://hackage.haskell.org/package/sandi/sandi-"
10757 version ".tar.gz"))
10758 (sha256
10759 (base32
10760 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
10761 (build-system haskell-build-system)
10762 (inputs
10763 `(("ghc-stringsearch" ,ghc-stringsearch)
10764 ("ghc-conduit" ,ghc-conduit)
10765 ("ghc-exceptions" ,ghc-exceptions)
10766 ("ghc-hunit" ,ghc-hunit)
10767 ("ghc-tasty" ,ghc-tasty)
10768 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10769 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10770 ("ghc-tasty-th" ,ghc-tasty-th)))
10771 (home-page "https://hackage.haskell.org/package/sandi")
10772 (synopsis "Data encoding library")
10773 (description "Reasonably fast data encoding library.")
10774 (license license:bsd-3)))
10775
10776 (define-public ghc-say
10777 (package
10778 (name "ghc-say")
10779 (version "0.1.0.1")
10780 (source
10781 (origin
10782 (method url-fetch)
10783 (uri (string-append
10784 "https://hackage.haskell.org/package/say/say-"
10785 version
10786 ".tar.gz"))
10787 (sha256
10788 (base32
10789 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10790 (build-system haskell-build-system)
10791 (native-inputs
10792 `(("ghc-hspec" ,ghc-hspec)
10793 ("hspec-discover" ,hspec-discover)
10794 ("ghc-unliftio" ,ghc-unliftio)))
10795 (home-page "https://github.com/fpco/say")
10796 (synopsis
10797 "Send textual messages to a Handle in a thread-friendly way")
10798 (description
10799 "A thread safe API to write a line of textual data to a Handle, such
10800 as sending some messages to the terminal - that has the following properties:
10801 @itemize
10802 @item Properly handle character encoding settings on the Handle
10803 @item For reasonably sized messages, ensure that the entire message is written
10804 in one chunk to avoid interleaving data with other threads
10805 @item Avoid unnecessary memory allocations and copies
10806 @item Minimize locking.
10807 @end itemize")
10808 (license license:expat)))
10809
10810 (define-public ghc-scientific
10811 (package
10812 (name "ghc-scientific")
10813 (version "0.3.6.2")
10814 (source
10815 (origin
10816 (method url-fetch)
10817 (uri (string-append
10818 "https://hackage.haskell.org/package/scientific/scientific-"
10819 version
10820 ".tar.gz"))
10821 (sha256
10822 (base32
10823 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10824 (build-system haskell-build-system)
10825 (inputs
10826 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10827 ("ghc-hashable" ,ghc-hashable)
10828 ("ghc-primitive" ,ghc-primitive)))
10829 (native-inputs
10830 `(("ghc-tasty" ,ghc-tasty)
10831 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10832 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10833 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10834 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10835 ("ghc-smallcheck" ,ghc-smallcheck)
10836 ("ghc-quickcheck" ,ghc-quickcheck)))
10837 (home-page "https://github.com/basvandijk/scientific")
10838 (synopsis "Numbers represented using scientific notation")
10839 (description "This package provides @code{Data.Scientific}, which provides
10840 the number type @code{Scientific}. Scientific numbers are arbitrary precision
10841 and space efficient. They are represented using
10842 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10843 notation}.")
10844 (license license:bsd-3)))
10845
10846 (define-public ghc-scientific-bootstrap
10847 (package
10848 (inherit ghc-scientific)
10849 (name "ghc-scientific-bootstrap")
10850 (arguments `(#:tests? #f))
10851 (inputs
10852 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10853 ("ghc-hashable" ,ghc-hashable)
10854 ("ghc-primitive" ,ghc-primitive)))
10855 (native-inputs '())
10856 (properties '((hidden? #t)))))
10857
10858 (define-public ghc-sdl
10859 (package
10860 (name "ghc-sdl")
10861 (version "0.6.7.0")
10862 (source
10863 (origin
10864 (method url-fetch)
10865 (uri (string-append
10866 "https://hackage.haskell.org/package/SDL/SDL-"
10867 version
10868 ".tar.gz"))
10869 (sha256
10870 (base32
10871 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10872 (build-system haskell-build-system)
10873 (inputs
10874 `(("sdl" ,sdl)))
10875 (home-page "https://hackage.haskell.org/package/SDL")
10876 (synopsis "LibSDL for Haskell")
10877 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10878 multimedia library designed to provide low level access to audio, keyboard,
10879 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10880 by MPEG playback software, emulators, and many popular games, including the
10881 award winning Linux port of \"Civilization: Call To Power.\"")
10882 (license license:bsd-3)))
10883
10884 (define-public ghc-sdl2
10885 (package
10886 (name "ghc-sdl2")
10887 (version "2.5.0.0")
10888 (source
10889 (origin
10890 (method url-fetch)
10891 (uri (string-append "https://hackage.haskell.org/package/"
10892 "sdl2/sdl2-" version ".tar.gz"))
10893 (sha256
10894 (base32
10895 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
10896 (build-system haskell-build-system)
10897 (arguments '(#:tests? #f)) ; tests require graphical environment
10898 (inputs
10899 `(("ghc-exceptions" ,ghc-exceptions)
10900 ("ghc-linear" ,ghc-linear)
10901 ("ghc-statevar" ,ghc-statevar)
10902 ("ghc-vector" ,ghc-vector)
10903 ("sdl2" ,sdl2)))
10904 (native-inputs
10905 `(("ghc-weigh" ,ghc-weigh)
10906 ("pkg-config" ,pkg-config)))
10907 (home-page "https://hackage.haskell.org/package/sdl2")
10908 (synopsis "High- and low-level bindings to the SDL library")
10909 (description
10910 "This package contains bindings to the SDL 2 library, in both high- and
10911 low-level forms. The @code{SDL} namespace contains high-level bindings, where
10912 enumerations are split into sum types, and we perform automatic
10913 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10914 translation of the C API into Haskell FFI calls. As such, this does not
10915 contain sum types nor error checking. Thus this namespace is suitable for
10916 building your own abstraction over SDL, but is not recommended for day-to-day
10917 programming.")
10918 (license license:bsd-3)))
10919
10920 (define-public ghc-sdl2-image
10921 (package
10922 (name "ghc-sdl2-image")
10923 (version "2.0.0")
10924 (source
10925 (origin
10926 (method url-fetch)
10927 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10928 "sdl2-image-" version ".tar.gz"))
10929 (sha256
10930 (base32
10931 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10932 (build-system haskell-build-system)
10933 (inputs
10934 `(("ghc-sdl2" ,ghc-sdl2)
10935 ("sdl2-image" ,sdl2-image)))
10936 (native-inputs
10937 `(("pkg-config" ,pkg-config)))
10938 (home-page "https://hackage.haskell.org/package/sdl2-image")
10939 (synopsis "Bindings to SDL2_image")
10940 (description "This package provides Haskell bindings to
10941 @code{SDL2_image}.")
10942 (license license:expat)))
10943
10944 (define-public ghc-sdl2-mixer
10945 (package
10946 (name "ghc-sdl2-mixer")
10947 (version "1.1.0")
10948 (source
10949 (origin
10950 (method url-fetch)
10951 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10952 "sdl2-mixer-" version ".tar.gz"))
10953 (sha256
10954 (base32
10955 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10956 (build-system haskell-build-system)
10957 (inputs
10958 `(("ghc-data-default-class" ,ghc-data-default-class)
10959 ("ghc-lifted-base" ,ghc-lifted-base)
10960 ("ghc-monad-control" ,ghc-monad-control)
10961 ("ghc-sdl2" ,ghc-sdl2)
10962 ("ghc-vector" ,ghc-vector)
10963 ("sdl2-mixer" ,sdl2-mixer)))
10964 (native-inputs
10965 `(("pkg-config" ,pkg-config)))
10966 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
10967 (synopsis "Bindings to SDL2 mixer")
10968 (description "This package provides Haskell bindings to
10969 @code{SDL2_mixer}.")
10970 (license license:bsd-3)))
10971
10972 (define-public ghc-sdl-image
10973 (package
10974 (name "ghc-sdl-image")
10975 (version "0.6.2.0")
10976 (source
10977 (origin
10978 (method url-fetch)
10979 (uri (string-append
10980 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10981 version
10982 ".tar.gz"))
10983 (sha256
10984 (base32
10985 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10986 (build-system haskell-build-system)
10987 (arguments
10988 `(#:configure-flags
10989 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10990 (sdl-image-include (string-append sdl-image "/include/SDL")))
10991 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10992 (inputs
10993 `(("ghc-sdl" ,ghc-sdl)
10994 ("sdl-image" ,sdl-image)))
10995 (home-page "https://hackage.haskell.org/package/SDL-image")
10996 (synopsis "Haskell bindings to libSDL_image")
10997 (description "SDL_image is an image file loading library. It loads images
10998 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10999 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11000 (license license:bsd-3)))
11001
11002 (define-public ghc-sdl-mixer
11003 (package
11004 (name "ghc-sdl-mixer")
11005 (version "0.6.3.0")
11006 (source
11007 (origin
11008 (method url-fetch)
11009 (uri (string-append
11010 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11011 version
11012 ".tar.gz"))
11013 (sha256
11014 (base32
11015 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11016 (build-system haskell-build-system)
11017 (arguments
11018 `(#:configure-flags
11019 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11020 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11021 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11022 (inputs
11023 `(("ghc-sdl" ,ghc-sdl)
11024 ("sdl-mixer" ,sdl-mixer)))
11025 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11026 (synopsis "Haskell bindings to libSDL_mixer")
11027 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11028 supports any number of simultaneously playing channels of 16 bit stereo audio,
11029 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11030 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11031 (license license:bsd-3)))
11032
11033 (define-public ghc-securemem
11034 (package
11035 (name "ghc-securemem")
11036 (version "0.1.10")
11037 (source
11038 (origin
11039 (method url-fetch)
11040 (uri (string-append "https://hackage.haskell.org/package/"
11041 "securemem-" version "/"
11042 "securemem-" version ".tar.gz"))
11043 (sha256
11044 (base32
11045 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11046 (build-system haskell-build-system)
11047 (inputs `(("ghc-byteable" ,ghc-byteable)
11048 ("ghc-memory" ,ghc-memory)))
11049 (home-page "https://github.com/vincenthz/hs-securemem")
11050 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11051 Haskell")
11052 (description "SecureMem is similar to ByteString, except that it provides
11053 a memory chunk that will be auto-scrubbed after it run out of scope.")
11054 (license license:bsd-3)))
11055
11056 (define-public ghc-semialign
11057 (package
11058 (name "ghc-semialign")
11059 (version "1")
11060 (source
11061 (origin
11062 (method url-fetch)
11063 (uri (string-append
11064 "https://hackage.haskell.org/package/semialign/semialign-"
11065 version
11066 ".tar.gz"))
11067 (sha256
11068 (base32
11069 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11070 (build-system haskell-build-system)
11071 (inputs
11072 `(("ghc-these" ,ghc-these)
11073 ("ghc-base-compat" ,ghc-base-compat)
11074 ("ghc-hashable" ,ghc-hashable)
11075 ("ghc-tagged" ,ghc-tagged)
11076 ("ghc-unordered-containers" ,ghc-unordered-containers)
11077 ("ghc-vector" ,ghc-vector)
11078 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11079 (arguments
11080 `(#:cabal-revision
11081 ("1"
11082 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11083 (home-page
11084 "https://github.com/isomorphism/these")
11085 (synopsis
11086 "Align and Zip type-classes from the common Semialign ancestor ")
11087 (description
11088 "The major use of @code{These} of this is provided by the
11089 @code{align} member of @code{Semialign} class, representing a
11090 generalized notion of \"zipping with padding\" that combines
11091 structures without truncating to the size of the smaller input. It
11092 turns out that @code{zip} operation fits well the @code{Semialign}
11093 class, forming lattice-like structure.")
11094 (license license:bsd-3)))
11095
11096 (define-public ghc-semigroupoids
11097 (package
11098 (name "ghc-semigroupoids")
11099 (version "5.3.3")
11100 (source
11101 (origin
11102 (method url-fetch)
11103 (uri (string-append
11104 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11105 version
11106 ".tar.gz"))
11107 (sha256
11108 (base32
11109 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
11110 (build-system haskell-build-system)
11111 (inputs
11112 `(("ghc-base-orphans" ,ghc-base-orphans)
11113 ("ghc-transformers-compat" ,ghc-transformers-compat)
11114 ("ghc-bifunctors" ,ghc-bifunctors)
11115 ("ghc-comonad" ,ghc-comonad)
11116 ("ghc-contravariant" ,ghc-contravariant)
11117 ("ghc-distributive" ,ghc-distributive)
11118 ("ghc-hashable" ,ghc-hashable)
11119 ("ghc-semigroups" ,ghc-semigroups)
11120 ("ghc-tagged" ,ghc-tagged)
11121 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11122 (native-inputs
11123 `(("cabal-doctest" ,cabal-doctest)
11124 ("ghc-doctest" ,ghc-doctest)))
11125 (home-page "https://github.com/ekmett/semigroupoids")
11126 (synopsis "Semigroupoids operations for Haskell")
11127 (description "This library provides a wide array of (semi)groupoids and
11128 operations for working with them. A @code{Semigroupoid} is a @code{Category}
11129 without the requirement of identity arrows for every object in the category.
11130 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11131 Finally, to work with these weaker structures it is beneficial to have
11132 containers that can provide stronger guarantees about their contents, so
11133 versions of @code{Traversable} and @code{Foldable} that can be folded with
11134 just a @code{Semigroup} are added.")
11135 (license license:bsd-3)))
11136
11137 (define-public ghc-semigroups
11138 (package
11139 (name "ghc-semigroups")
11140 (version "0.18.5")
11141 (source
11142 (origin
11143 (method url-fetch)
11144 (uri (string-append
11145 "https://hackage.haskell.org/package/semigroups/semigroups-"
11146 version
11147 ".tar.gz"))
11148 (sha256
11149 (base32
11150 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11151 (build-system haskell-build-system)
11152 (inputs
11153 `(("ghc-nats" ,ghc-nats)
11154 ("ghc-tagged" ,ghc-tagged)
11155 ("ghc-unordered-containers" ,ghc-unordered-containers)
11156 ("ghc-hashable" ,ghc-hashable)))
11157 (home-page "https://github.com/ekmett/semigroups/")
11158 (synopsis "Semigroup operations for Haskell")
11159 (description "This package provides semigroups for Haskell. In
11160 mathematics, a semigroup is an algebraic structure consisting of a set
11161 together with an associative binary operation. A semigroup generalizes a
11162 monoid in that there might not exist an identity element. It
11163 also (originally) generalized a group (a monoid with all inverses) to a type
11164 where every element did not have to have an inverse, thus the name
11165 semigroup.")
11166 (license license:bsd-3)))
11167
11168 (define-public ghc-semigroups-bootstrap
11169 (package
11170 (inherit ghc-semigroups)
11171 (name "ghc-semigroups-bootstrap")
11172 (inputs
11173 `(("ghc-nats" ,ghc-nats-bootstrap)
11174 ("ghc-tagged" ,ghc-tagged)
11175 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11176 ("ghc-hashable" ,ghc-hashable-bootstrap)))
11177 (properties '((hidden? #t)))))
11178
11179 (define-public ghc-serialise
11180 (package
11181 (name "ghc-serialise")
11182 (version "0.2.1.0")
11183 (source
11184 (origin
11185 (method url-fetch)
11186 (uri (string-append
11187 "mirror://hackage/package/serialise/serialise-"
11188 version
11189 ".tar.gz"))
11190 (sha256
11191 (base32
11192 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11193 (build-system haskell-build-system)
11194 (inputs
11195 `(("ghc-cborg" ,ghc-cborg)
11196 ("ghc-half" ,ghc-half)
11197 ("ghc-hashable" ,ghc-hashable)
11198 ("ghc-primitive" ,ghc-primitive)
11199 ("ghc-unordered-containers" ,ghc-unordered-containers)
11200 ("ghc-vector" ,ghc-vector)))
11201 (native-inputs
11202 `(("ghc-quickcheck" ,ghc-quickcheck)
11203 ("ghc-tasty" ,ghc-tasty)
11204 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11205 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11206 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11207 (arguments
11208 `(#:cabal-revision
11209 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11210 (home-page "https://github.com/well-typed/cborg")
11211 (synopsis "Binary serialisation library for Haskell values")
11212 (description
11213 "This package (formerly binary-serialise-cbor) provides pure,
11214 efficient serialization of Haskell values directly into ByteStrings for
11215 storage or transmission purposes. By providing a set of type class instances,
11216 you can also serialise any custom data type you have as well.
11217
11218 The underlying binary format used is the 'Concise Binary Object
11219 Representation', or CBOR, specified in RFC 7049. As a result, serialised
11220 Haskell values have implicit structure outside of the Haskell program itself,
11221 meaning they can be inspected or analyzed without custom tools.
11222
11223 An implementation of the standard bijection between CBOR and JSON is
11224 provided by the https://hackage.haskell.org/package/cborg-json
11225 package. Also see https://hackage.haskell.org/package/cbor-tool for a
11226 convenient command-line utility for working with CBOR data.")
11227 (license license:bsd-3)))
11228
11229 (define-public ghc-setenv
11230 (package
11231 (name "ghc-setenv")
11232 (version "0.1.1.3")
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append
11237 "https://hackage.haskell.org/package/setenv/setenv-"
11238 version
11239 ".tar.gz"))
11240 (sha256
11241 (base32
11242 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11243 (build-system haskell-build-system)
11244 (home-page "https://hackage.haskell.org/package/setenv")
11245 (synopsis "Library for setting environment variables")
11246 (description "This package provides a Haskell library for setting
11247 environment variables.")
11248 (license license:expat)))
11249
11250 (define-public ghc-setlocale
11251 (package
11252 (name "ghc-setlocale")
11253 (version "1.0.0.9")
11254 (source (origin
11255 (method url-fetch)
11256 (uri (string-append
11257 "https://hackage.haskell.org/package/setlocale-"
11258 version "/setlocale-" version ".tar.gz"))
11259 (sha256
11260 (base32
11261 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
11262 (build-system haskell-build-system)
11263 (home-page "https://hackage.haskell.org/package/setlocale")
11264 (synopsis "Haskell bindings to setlocale")
11265 (description "This package provides Haskell bindings to the
11266 @code{setlocale} C function.")
11267 (license license:bsd-3)))
11268
11269 (define-public ghc-shakespeare
11270 (package
11271 (name "ghc-shakespeare")
11272 (version "2.0.22")
11273 (source
11274 (origin
11275 (method url-fetch)
11276 (uri (string-append "https://hackage.haskell.org/package/"
11277 "shakespeare-" version "/"
11278 "shakespeare-" version ".tar.gz"))
11279 (sha256
11280 (base32
11281 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
11282 (build-system haskell-build-system)
11283 (inputs `(("ghc-aeson" ,ghc-aeson)
11284 ("ghc-blaze-markup" ,ghc-blaze-markup)
11285 ("ghc-blaze-html" ,ghc-blaze-html)
11286 ("ghc-exceptions" ,ghc-exceptions)
11287 ("ghc-vector" ,ghc-vector)
11288 ("ghc-unordered-containers" ,ghc-unordered-containers)
11289 ("ghc-scientific" ,ghc-scientific)))
11290 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11291 ("ghc-hunit" ,ghc-hunit)
11292 ("hspec-discover" ,hspec-discover)))
11293 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11294 (synopsis "Family of type-safe template languages for Haskell")
11295 (description "This Haskell package provides a family of type-safe
11296 templates with simple variable interpolation. Shakespeare templates can
11297 be used inline with a quasi-quoter or in an external file and it
11298 interpolates variables according to the type being inserted.")
11299 (license license:expat)))
11300
11301 (define-public ghc-shelly
11302 (package
11303 (name "ghc-shelly")
11304 (version "1.8.1")
11305 (source
11306 (origin
11307 (method url-fetch)
11308 (uri (string-append
11309 "https://hackage.haskell.org/package/shelly/shelly-"
11310 version ".tar.gz"))
11311 (sha256
11312 (base32
11313 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11314 (build-system haskell-build-system)
11315 (inputs
11316 `(("ghc-unix-compat" ,ghc-unix-compat)
11317 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11318 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11319 ("ghc-monad-control" ,ghc-monad-control)
11320 ("ghc-lifted-base" ,ghc-lifted-base)
11321 ("ghc-lifted-async" ,ghc-lifted-async)
11322 ("ghc-exceptions" ,ghc-exceptions)
11323 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11324 ("ghc-async" ,ghc-async)
11325 ("ghc-transformers-base" ,ghc-transformers-base)
11326 ("ghc-hunit" ,ghc-hunit)
11327 ("ghc-hspec" ,ghc-hspec)
11328 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11329 (home-page "https://github.com/yesodweb/Shelly.hs")
11330 (synopsis "Shell-like (systems) programming in Haskell")
11331 (description
11332 "Shelly provides convenient systems programming in Haskell, similar in
11333 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11334 (license license:bsd-3)))
11335
11336 (define-public ghc-silently
11337 (package
11338 (name "ghc-silently")
11339 (version "1.2.5.1")
11340 (source
11341 (origin
11342 (method url-fetch)
11343 (uri (string-append
11344 "https://hackage.haskell.org/package/silently/silently-"
11345 version
11346 ".tar.gz"))
11347 (sha256
11348 (base32
11349 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
11350 (build-system haskell-build-system)
11351 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11352 ;; (inputs
11353 ;; `(("ghc-temporary" ,ghc-temporary)))
11354 (home-page "https://github.com/hspec/silently")
11355 (synopsis "Prevent writing to stdout")
11356 (description "This package provides functions to prevent or capture
11357 writing to stdout and other handles.")
11358 (license license:bsd-3)))
11359
11360 (define-public ghc-simple-reflect
11361 (package
11362 (name "ghc-simple-reflect")
11363 (version "0.3.3")
11364 (source
11365 (origin
11366 (method url-fetch)
11367 (uri (string-append
11368 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11369 version
11370 ".tar.gz"))
11371 (sha256
11372 (base32
11373 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11374 (build-system haskell-build-system)
11375 (home-page
11376 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11377 (synopsis
11378 "Simple reflection of expressions containing variables")
11379 (description
11380 "This package allows simple reflection of expressions containing
11381 variables. Reflection here means that a Haskell expression is turned into a
11382 string. The primary aim of this package is teaching and understanding; there
11383 are no options for manipulating the reflected expressions beyond showing
11384 them.")
11385 (license license:bsd-3)))
11386
11387 (define-public ghc-simple-sendfile
11388 (package
11389 (name "ghc-simple-sendfile")
11390 (version "0.2.30")
11391 (source
11392 (origin
11393 (method url-fetch)
11394 (uri (string-append "https://hackage.haskell.org/package/"
11395 "simple-sendfile-" version "/"
11396 "simple-sendfile-" version ".tar.gz"))
11397 (sha256
11398 (base32
11399 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
11400 (build-system haskell-build-system)
11401 (inputs
11402 `(("ghc-conduit" ,ghc-conduit)
11403 ("ghc-conduit-extra" ,ghc-conduit-extra)
11404 ("ghc-network" ,ghc-network)
11405 ("ghc-resourcet" ,ghc-resourcet)))
11406 (native-inputs
11407 `(("ghc-hspec" ,ghc-hspec)
11408 ("hspec-discover" ,hspec-discover)))
11409 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11410 (synopsis "Cross platform library for the sendfile system call")
11411 (description "This library tries to call minimum system calls which
11412 are the bottleneck of web servers.")
11413 (license license:bsd-3)))
11414
11415 (define-public ghc-size-based
11416 (package
11417 (name "ghc-size-based")
11418 (version "0.1.2.0")
11419 (source
11420 (origin
11421 (method url-fetch)
11422 (uri (string-append "https://hackage.haskell.org/package/"
11423 "size-based/size-based-" version ".tar.gz"))
11424 (sha256
11425 (base32
11426 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11427 (build-system haskell-build-system)
11428 (inputs
11429 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11430 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11431 ("ghc-semigroups" ,ghc-semigroups)))
11432 (arguments
11433 `(#:cabal-revision
11434 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11435 (home-page "https://hackage.haskell.org/package/size-based")
11436 (synopsis "Sized functors for size-based enumerations")
11437 (description "This library provides a framework for size-based
11438 enumerations.")
11439 (license license:bsd-3)))
11440
11441 (define-public ghc-skylighting-core
11442 (package
11443 (name "ghc-skylighting-core")
11444 (version "0.8.2.1")
11445 (source (origin
11446 (method url-fetch)
11447 (uri (string-append "https://hackage.haskell.org/package/"
11448 "skylighting-core/skylighting-core-"
11449 version ".tar.gz"))
11450 (sha256
11451 (base32
11452 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
11453 (build-system haskell-build-system)
11454 (inputs
11455 `(("ghc-aeson" ,ghc-aeson)
11456 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11457 ("ghc-attoparsec" ,ghc-attoparsec)
11458 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11459 ("ghc-blaze-html" ,ghc-blaze-html)
11460 ("ghc-case-insensitive" ,ghc-case-insensitive)
11461 ("ghc-colour" ,ghc-colour)
11462 ("ghc-hxt" ,ghc-hxt)
11463 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11464 ("ghc-safe" ,ghc-safe)
11465 ("ghc-utf8-string" ,ghc-utf8-string)))
11466 (native-inputs
11467 `(("ghc-diff" ,ghc-diff)
11468 ("ghc-hunit" ,ghc-hunit)
11469 ("ghc-pretty-show" ,ghc-pretty-show)
11470 ("ghc-quickcheck" ,ghc-quickcheck)
11471 ("ghc-tasty" ,ghc-tasty)
11472 ("ghc-tasty-golden" ,ghc-tasty-golden)
11473 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11474 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11475 (home-page "https://github.com/jgm/skylighting")
11476 (synopsis "Syntax highlighting library")
11477 (description "Skylighting is a syntax highlighting library with support
11478 for over one hundred languages. It derives its tokenizers from XML syntax
11479 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11480 supported by that framework can be added. An optional command-line program is
11481 provided. Skylighting is intended to be the successor to highlighting-kate.")
11482 (license license:gpl2)))
11483
11484 (define-public ghc-skylighting
11485 (package
11486 (inherit ghc-skylighting-core)
11487 (name "ghc-skylighting")
11488 (version "0.8.2.1")
11489 (source (origin
11490 (method url-fetch)
11491 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11492 version "/skylighting-" version ".tar.gz"))
11493 (sha256
11494 (base32
11495 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
11496 (inputs
11497 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11498 ,@(package-inputs ghc-skylighting-core)))))
11499
11500 (define-public ghc-smallcheck
11501 (package
11502 (name "ghc-smallcheck")
11503 (version "1.1.5")
11504 (source
11505 (origin
11506 (method url-fetch)
11507 (uri (string-append
11508 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11509 version
11510 ".tar.gz"))
11511 (sha256
11512 (base32
11513 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11514 (build-system haskell-build-system)
11515 (inputs
11516 `(("ghc-logict" ,ghc-logict)))
11517 (home-page
11518 "https://github.com/feuerbach/smallcheck")
11519 (synopsis "Property-based testing library")
11520 (description "SmallCheck is a testing library that verifies
11521 properties for all test cases up to some depth. The test cases are generated
11522 automatically by SmallCheck.")
11523 (license license:bsd-3)))
11524
11525 (define-public ghc-socks
11526 (package
11527 (name "ghc-socks")
11528 (version "0.6.1")
11529 (source (origin
11530 (method url-fetch)
11531 (uri (string-append "https://hackage.haskell.org/package/"
11532 "socks/socks-" version ".tar.gz"))
11533 (sha256
11534 (base32
11535 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
11536 (build-system haskell-build-system)
11537 (inputs
11538 `(("ghc-cereal" ,ghc-cereal)
11539 ("ghc-basement" ,ghc-basement)
11540 ("ghc-network" ,ghc-network)))
11541 (home-page "https://github.com/vincenthz/hs-socks")
11542 (synopsis "SOCKS proxy (version 5) implementation")
11543 (description
11544 "This library provides a SOCKS proxy (version 5) implementation.")
11545 (license license:bsd-3)))
11546
11547 (define-public ghc-sop-core
11548 (package
11549 (name "ghc-sop-core")
11550 (version "0.4.0.0")
11551 (source
11552 (origin
11553 (method url-fetch)
11554 (uri (string-append "https://hackage.haskell.org/package/"
11555 "sop-core/sop-core-" version ".tar.gz"))
11556 (sha256
11557 (base32
11558 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11559 (build-system haskell-build-system)
11560 (home-page "https://hackage.haskell.org/package/sop-core")
11561 (synopsis "True Sums of Products")
11562 (description "This package provides an implementation of
11563 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11564 is the main module of this library and contains more detailed
11565 documentation. The main use case of this package is to serve as the
11566 core of @url{https://hackage.haskell.org/package/generics-sop,
11567 generics-sop}.")
11568 (license license:bsd-3)))
11569
11570 (define-public ghc-special-values
11571 (package
11572 (name "ghc-special-values")
11573 (version "0.1.0.0")
11574 (source
11575 (origin
11576 (method url-fetch)
11577 (uri (string-append
11578 "https://hackage.haskell.org/package/special-values/"
11579 "special-values-" version ".tar.gz"))
11580 (sha256
11581 (base32
11582 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11583 (build-system haskell-build-system)
11584 (inputs
11585 `(("ghc-scientific" ,ghc-scientific)
11586 ("ghc-ieee754" ,ghc-ieee754)
11587 ("ghc-nats" ,ghc-nats)))
11588 (home-page
11589 "https://github.com/minad/special-values#readme")
11590 (synopsis "Typeclass providing special values")
11591 (description
11592 "Special values are provided by a SpecialValues typeclass. Those can be
11593 used for example by QuickCheck, see quickcheck-special." )
11594 (license license:expat)))
11595
11596 (define-public ghc-split
11597 (package
11598 (name "ghc-split")
11599 (version "0.2.3.3")
11600 (outputs '("out" "doc"))
11601 (source
11602 (origin
11603 (method url-fetch)
11604 (uri (string-append
11605 "https://hackage.haskell.org/package/split/split-"
11606 version
11607 ".tar.gz"))
11608 (sha256
11609 (base32
11610 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11611 (build-system haskell-build-system)
11612 (arguments
11613 `(#:cabal-revision
11614 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
11615 (native-inputs
11616 `(("ghc-quickcheck" ,ghc-quickcheck)))
11617 (home-page "https://hackage.haskell.org/package/split")
11618 (synopsis "Combinator library for splitting lists")
11619 (description "This package provides a collection of Haskell functions for
11620 splitting lists into parts, akin to the @code{split} function found in several
11621 mainstream languages.")
11622 (license license:bsd-3)))
11623
11624 (define-public ghc-splitmix
11625 (package
11626 (name "ghc-splitmix")
11627 (version "0.0.3")
11628 (source
11629 (origin
11630 (method url-fetch)
11631 (uri (string-append "https://hackage.haskell.org/package/"
11632 "splitmix/splitmix-" version ".tar.gz"))
11633 (sha256
11634 (base32
11635 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
11636 (build-system haskell-build-system)
11637 (inputs
11638 `(("ghc-random" ,ghc-random)))
11639 (native-inputs
11640 `(("ghc-hunit" ,ghc-hunit)
11641 ("ghc-async" ,ghc-async)
11642 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11643 ("ghc-tf-random" ,ghc-tf-random)
11644 ("ghc-vector" ,ghc-vector)))
11645 (home-page "https://hackage.haskell.org/package/splitmix")
11646 (synopsis "Fast and splittable pseudorandom number generator")
11647 (description "This package provides a Pure Haskell implementation of the
11648 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11649 pseudorandom number generator that is quite fast: 9 64-bit
11650 arithmetic/logical operations per 64 bits generated. SplitMix is tested
11651 with two standard statistical test suites (DieHarder and TestU01, this
11652 implementation only using the former) and it appears to be adequate for
11653 \"everyday\" use, such as Monte Carlo algorithms and randomized data
11654 structures where speed is important. In particular, it @strong{should not
11655 be used for cryptographic or security applications}, because generated
11656 sequences of pseudorandom values are too predictable (the mixing functions
11657 are easily inverted, and two successive outputs suffice to reconstruct the
11658 internal state).")
11659 (license license:bsd-3)))
11660
11661 (define-public ghc-splitmix-bootstrap
11662 (package
11663 (inherit ghc-splitmix)
11664 (name "ghc-splitmix-bootstrap")
11665 (arguments `(#:tests? #f))
11666 (native-inputs '())
11667 (properties '((hidden? #t)))))
11668
11669 (define-public ghc-spoon
11670 (package
11671 (name "ghc-spoon")
11672 (version "0.3.1")
11673 (source
11674 (origin
11675 (method url-fetch)
11676 (uri (string-append
11677 "https://hackage.haskell.org/package/spoon/spoon-"
11678 version
11679 ".tar.gz"))
11680 (sha256
11681 (base32
11682 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11683 (build-system haskell-build-system)
11684 (arguments
11685 `(#:cabal-revision
11686 ("1"
11687 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11688 (home-page
11689 "http://hackage.haskell.org/package/spoon")
11690 (synopsis
11691 "Catch errors thrown from pure computations")
11692 (description
11693 "Takes an error-throwing expression and puts it back in the Maybe it
11694 belongs in.
11695
11696 Note that this suffers from the
11697 @url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11698 (license license:bsd-3)))
11699
11700 (define-public ghc-statevar
11701 (package
11702 (name "ghc-statevar")
11703 (version "1.2")
11704 (source
11705 (origin
11706 (method url-fetch)
11707 (uri (string-append
11708 "https://hackage.haskell.org/package/StateVar/StateVar-"
11709 version
11710 ".tar.gz"))
11711 (sha256
11712 (base32
11713 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
11714 (build-system haskell-build-system)
11715 (home-page "https://hackage.haskell.org/package/StateVar")
11716 (synopsis "State variables for Haskell")
11717 (description "This package provides state variables, which are references
11718 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11719 (license license:bsd-3)))
11720
11721 (define-public ghc-statistics
11722 (package
11723 (name "ghc-statistics")
11724 (version "0.15.1.1")
11725 (source
11726 (origin
11727 (method url-fetch)
11728 (uri (string-append "https://hackage.haskell.org/package/"
11729 "statistics-" version "/"
11730 "statistics-" version ".tar.gz"))
11731 (sha256
11732 (base32
11733 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
11734 (build-system haskell-build-system)
11735 (arguments
11736 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
11737 #:tests? #f))
11738 (inputs
11739 `(("ghc-aeson" ,ghc-aeson)
11740 ("ghc-async" ,ghc-async)
11741 ("ghc-base-orphans" ,ghc-base-orphans)
11742 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
11743 ("ghc-math-functions" ,ghc-math-functions)
11744 ("ghc-monad-par" ,ghc-monad-par)
11745 ("ghc-mwc-random" ,ghc-mwc-random)
11746 ("ghc-primitive" ,ghc-primitive)
11747 ("ghc-vector" ,ghc-vector)
11748 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11749 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11750 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11751 (native-inputs
11752 `(("ghc-hunit" ,ghc-hunit)
11753 ("ghc-quickcheck" ,ghc-quickcheck)
11754 ("ghc-ieee754" ,ghc-ieee754)
11755 ("ghc-test-framework" ,ghc-test-framework)
11756 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11757 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11758 (home-page "https://github.com/bos/mwc-random")
11759 (synopsis "Haskell library of statistical types, data, and functions")
11760 (description "This library provides a number of common functions
11761 and types useful in statistics. We focus on high performance, numerical
11762 robustness, and use of good algorithms. Where possible, we provide references
11763 to the statistical literature.
11764
11765 The library's facilities can be divided into four broad categories:
11766
11767 @itemize
11768 @item Working with widely used discrete and continuous probability
11769 distributions. (There are dozens of exotic distributions in use; we focus
11770 on the most common.)
11771
11772 @item Computing with sample data: quantile estimation, kernel density
11773 estimation, histograms, bootstrap methods, significance testing,
11774 and regression and autocorrelation analysis.
11775
11776 @item Random variate generation under several different distributions.
11777
11778 @item Common statistical tests for significant differences between samples.
11779 @end itemize")
11780 (license license:bsd-2)))
11781
11782 (define-public ghc-stm-chans
11783 (package
11784 (name "ghc-stm-chans")
11785 (version "3.0.0.4")
11786 (source
11787 (origin
11788 (method url-fetch)
11789 (uri (string-append "https://hackage.haskell.org/package/"
11790 "stm-chans-" version "/"
11791 "stm-chans-" version ".tar.gz"))
11792 (sha256
11793 (base32
11794 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11795 (build-system haskell-build-system)
11796 (home-page "https://hackage.haskell.org/package/stm-chans")
11797 (synopsis "Additional types of channels for ghc-stm")
11798 (description "This Haskell package offers a collection of channel types,
11799 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11800 features.")
11801 (license license:bsd-3)))
11802
11803 (define-public ghc-stm-conduit
11804 (package
11805 (name "ghc-stm-conduit")
11806 (version "4.0.1")
11807 (source
11808 (origin
11809 (method url-fetch)
11810 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11811 "stm-conduit-" version ".tar.gz"))
11812 (sha256
11813 (base32
11814 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
11815 (build-system haskell-build-system)
11816 (inputs
11817 `(("ghc-stm-chans" ,ghc-stm-chans)
11818 ("ghc-cereal" ,ghc-cereal)
11819 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11820 ("ghc-conduit" ,ghc-conduit)
11821 ("ghc-conduit-extra" ,ghc-conduit-extra)
11822 ("ghc-exceptions" ,ghc-exceptions)
11823 ("ghc-resourcet" ,ghc-resourcet)
11824 ("ghc-async" ,ghc-async)
11825 ("ghc-monad-loops" ,ghc-monad-loops)
11826 ("ghc-unliftio" ,ghc-unliftio)))
11827 (native-inputs
11828 `(("ghc-doctest" ,ghc-doctest)
11829 ("ghc-quickcheck" ,ghc-quickcheck)
11830 ("ghc-hunit" ,ghc-hunit)
11831 ("ghc-test-framework" ,ghc-test-framework)
11832 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11833 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11834 (home-page "https://github.com/cgaebel/stm-conduit")
11835 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11836 (description
11837 "This package provides two simple conduit wrappers around STM channels: a
11838 source and a sink.")
11839 (license license:bsd-3)))
11840
11841 (define-public ghc-stmonadtrans
11842 (package
11843 (name "ghc-stmonadtrans")
11844 (version "0.4.3")
11845 (source
11846 (origin
11847 (method url-fetch)
11848 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11849 "/STMonadTrans-" version ".tar.gz"))
11850 (sha256
11851 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11852 (build-system haskell-build-system)
11853 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11854 (synopsis "Monad transformer version of the ST monad")
11855 (description
11856 "This package provides a monad transformer version of the @code{ST} monad
11857 for strict state threads.")
11858 (license license:bsd-3)))
11859
11860 (define-public ghc-storable-complex
11861 (package
11862 (name "ghc-storable-complex")
11863 (version "0.2.3.0")
11864 (source
11865 (origin
11866 (method url-fetch)
11867 (uri (string-append
11868 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11869 version ".tar.gz"))
11870 (sha256
11871 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
11872 (build-system haskell-build-system)
11873 (inputs
11874 `(("ghc-base-orphans" ,ghc-base-orphans)))
11875 (home-page "https://github.com/cartazio/storable-complex")
11876 (synopsis "Haskell Storable instance for Complex")
11877 (description "This package provides a Haskell library including a
11878 Storable instance for Complex which is binary compatible with C99, C++
11879 and Fortran complex data types.")
11880 (license license:bsd-3)))
11881
11882 (define-public ghc-storable-record
11883 (package
11884 (name "ghc-storable-record")
11885 (version "0.0.4")
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri
11890 (string-append
11891 "https://hackage.haskell.org/package/storable-record/"
11892 "storable-record-" version ".tar.gz"))
11893 (sha256
11894 (base32
11895 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11896 (build-system haskell-build-system)
11897 (inputs
11898 `(("ghc-semigroups" ,ghc-semigroups)
11899 ("ghc-utility-ht" ,ghc-utility-ht)
11900 ("ghc-storablevector" ,ghc-storablevector)
11901 ("ghc-timeit" ,ghc-timeit)))
11902 (home-page "https://hackage.haskell.org/package/storable-record")
11903 (synopsis "Elegant definition of Storable instances for records")
11904 (description "With this package you can build a Storable instance of
11905 a record type from Storable instances of its elements in an elegant way.
11906 It does not do any magic, just a bit arithmetic to compute the right
11907 offsets, that would be otherwise done manually or by a preprocessor like
11908 C2HS. There is no guarantee that the generated memory layout is
11909 compatible with that of a corresponding C struct. However, the module
11910 generates the smallest layout that is possible with respect to the
11911 alignment of the record elements.")
11912 (license license:bsd-3)))
11913
11914 (define-public ghc-storable-tuple
11915 (package
11916 (name "ghc-storable-tuple")
11917 (version "0.0.3.3")
11918 (source
11919 (origin
11920 (method url-fetch)
11921 (uri
11922 (string-append
11923 "https://hackage.haskell.org/package/storable-tuple/"
11924 "storable-tuple-" version ".tar.gz"))
11925 (sha256
11926 (base32
11927 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11928 (build-system haskell-build-system)
11929 (inputs
11930 `(("ghc-storable-record" ,ghc-storable-record)
11931 ("ghc-utility-ht" ,ghc-utility-ht)
11932 ("ghc-base-orphans" ,ghc-base-orphans)))
11933 (home-page "https://hackage.haskell.org/package/storable-tuple")
11934 (synopsis "Storable instance for pairs and triples")
11935 (description "This package provides a Storable instance for pairs
11936 and triples which should be binary compatible with C99 and C++. The
11937 only purpose of this package is to provide a standard location for this
11938 instance so that other packages needing this instance can play nicely
11939 together.")
11940 (license license:bsd-3)))
11941
11942 (define-public ghc-storablevector
11943 (package
11944 (name "ghc-storablevector")
11945 (version "0.2.13")
11946 (source
11947 (origin
11948 (method url-fetch)
11949 (uri
11950 (string-append
11951 "https://hackage.haskell.org/package/storablevector/storablevector-"
11952 version ".tar.gz"))
11953 (sha256
11954 (base32
11955 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11956 (build-system haskell-build-system)
11957 (inputs
11958 `(("ghc-non-negative" ,ghc-non-negative)
11959 ("ghc-utility-ht" ,ghc-utility-ht)
11960 ("ghc-semigroups" ,ghc-semigroups)
11961 ("ghc-unsafe" ,ghc-unsafe)
11962 ("ghc-quickcheck" ,ghc-quickcheck)
11963 ("ghc-syb" ,ghc-syb)))
11964 (home-page "https://wiki.haskell.org/Storable_Vector")
11965 (synopsis "Fast, packed, strict storable arrays with a list interface")
11966 (description "This library provides fast, packed, strict storable
11967 arrays with a list interface, a chunky lazy list interface with variable
11968 chunk size and an interface for write access via the ST monad. This is
11969 much like bytestring and binary but can be used for every
11970 @code{Foreign.Storable.Storable} type. See also
11971 @url{http://hackage.haskell.org/package/vector}, a library with a
11972 similar intention.
11973
11974 This library does not do advanced fusion optimization, since especially
11975 for lazy vectors this would either be incorrect or not applicable. See
11976 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11977 a library that provides fusion with lazy lists.")
11978 (license license:bsd-3)))
11979
11980 (define-public ghc-streaming-commons
11981 (package
11982 (name "ghc-streaming-commons")
11983 (version "0.2.1.1")
11984 (source
11985 (origin
11986 (method url-fetch)
11987 (uri (string-append "https://hackage.haskell.org/package/"
11988 "streaming-commons/streaming-commons-"
11989 version ".tar.gz"))
11990 (sha256
11991 (base32
11992 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11993 (build-system haskell-build-system)
11994 (inputs
11995 `(("ghc-async" ,ghc-async)
11996 ("ghc-blaze-builder" ,ghc-blaze-builder)
11997 ("ghc-network" ,ghc-network)
11998 ("ghc-random" ,ghc-random)
11999 ("ghc-zlib" ,ghc-zlib)))
12000 (native-inputs
12001 `(("ghc-quickcheck" ,ghc-quickcheck)
12002 ("ghc-hspec" ,ghc-hspec)
12003 ("hspec-discover" ,hspec-discover)))
12004 (home-page "https://hackage.haskell.org/package/streaming-commons")
12005 (synopsis "Conduit and pipes needed by some streaming data libraries")
12006 (description "This package provides low-dependency functionality commonly
12007 needed by various Haskell streaming data libraries, such as @code{conduit} and
12008 @code{pipe}s.")
12009 (license license:expat)))
12010
12011 (define-public ghc-strict
12012 (package
12013 (name "ghc-strict")
12014 (version "0.3.2")
12015 (source
12016 (origin
12017 (method url-fetch)
12018 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12019 version ".tar.gz"))
12020 (sha256
12021 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12022 (build-system haskell-build-system)
12023 (home-page "https://hackage.haskell.org/package/strict")
12024 (synopsis "Strict data types and String IO")
12025 (description
12026 "This package provides strict versions of some standard Haskell data
12027 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12028 IO operations.")
12029 (license license:bsd-3)))
12030
12031 (define-public ghc-stringbuilder
12032 (package
12033 (name "ghc-stringbuilder")
12034 (version "0.5.1")
12035 (source
12036 (origin
12037 (method url-fetch)
12038 (uri (string-append
12039 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12040 version
12041 ".tar.gz"))
12042 (sha256
12043 (base32
12044 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12045 (build-system haskell-build-system)
12046 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12047 ; enabled
12048 (home-page "https://hackage.haskell.org/package/stringbuilder")
12049 (synopsis "Writer monad for multi-line string literals")
12050 (description "This package provides a writer monad for multi-line string
12051 literals.")
12052 (license license:expat)))
12053
12054 (define-public ghc-string-qq
12055 (package
12056 (name "ghc-string-qq")
12057 (version "0.0.4")
12058 (source
12059 (origin
12060 (method url-fetch)
12061 (uri (string-append
12062 "https://hackage.haskell.org/package/string-qq/string-qq-"
12063 version
12064 ".tar.gz"))
12065 (sha256
12066 (base32
12067 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
12068 (build-system haskell-build-system)
12069 (native-inputs
12070 `(("ghc-hunit" ,ghc-hunit)))
12071 (home-page "https://hackage.haskell.org/package/string-qq")
12072 (synopsis
12073 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12074 (description
12075 "This package provides a quasiquoter for non-interpolated strings, texts
12076 and bytestrings.")
12077 (license license:public-domain)))
12078
12079 (define-public ghc-stringsearch
12080 (package
12081 (name "ghc-stringsearch")
12082 (version "0.3.6.6")
12083 (source
12084 (origin
12085 (method url-fetch)
12086 (uri (string-append
12087 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12088 version
12089 ".tar.gz"))
12090 (sha256
12091 (base32
12092 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12093 (build-system haskell-build-system)
12094 (arguments
12095 `(#:cabal-revision
12096 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
12097 (home-page "https://bitbucket.org/dafis/stringsearch")
12098 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12099 (description "This package provides several functions to quickly search
12100 for substrings in strict or lazy @code{ByteStrings}. It also provides
12101 functions for breaking or splitting on substrings and replacing all
12102 occurrences of a substring (the first in case of overlaps) with another.")
12103 (license license:bsd-3)))
12104
12105 (define-public ghc-svg-builder
12106 (package
12107 (name "ghc-svg-builder")
12108 (version "0.1.1")
12109 (source
12110 (origin
12111 (method url-fetch)
12112 (uri (string-append "https://hackage.haskell.org/package/"
12113 "svg-builder/svg-builder-" version ".tar.gz"))
12114 (sha256
12115 (base32
12116 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12117 (build-system haskell-build-system)
12118 (inputs
12119 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12120 ("ghc-hashable" ,ghc-hashable)
12121 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12122 (arguments
12123 `(#:cabal-revision
12124 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12125 (home-page "https://github.com/diagrams/svg-builder.git")
12126 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12127 (description "Easy-to-write domain-specific language (DSL) for
12128 building Scalable Vector Graphics (SVG).")
12129 (license license:bsd-3)))
12130
12131 (define-public ghc-syb
12132 (package
12133 (name "ghc-syb")
12134 (version "0.7.1")
12135 (outputs '("out" "doc"))
12136 (source
12137 (origin
12138 (method url-fetch)
12139 (uri (string-append
12140 "https://hackage.haskell.org/package/syb/syb-"
12141 version
12142 ".tar.gz"))
12143 (sha256
12144 (base32
12145 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
12146 (build-system haskell-build-system)
12147 (inputs
12148 `(("ghc-hunit" ,ghc-hunit)))
12149 (home-page
12150 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12151 (synopsis "Scrap Your Boilerplate")
12152 (description "This package contains the generics system described in the
12153 /Scrap Your Boilerplate/ papers (see
12154 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12155 defines the @code{Data} class of types permitting folding and unfolding of
12156 constructor applications, instances of this class for primitive types, and a
12157 variety of traversals.")
12158 (license license:bsd-3)))
12159
12160 (define-public ghc-system-fileio
12161 (package
12162 (name "ghc-system-fileio")
12163 (version "0.3.16.4")
12164 (source
12165 (origin
12166 (method url-fetch)
12167 (uri (string-append
12168 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12169 version ".tar.gz"))
12170 (sha256
12171 (base32
12172 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
12173 (build-system haskell-build-system)
12174 (arguments
12175 `(#:phases
12176 (modify-phases %standard-phases
12177 (add-before 'configure 'update-constraints
12178 (lambda _
12179 (substitute* "system-fileio.cabal"
12180 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12181 #t)))))
12182 (inputs
12183 `(("ghc-system-filepath" ,ghc-system-filepath)
12184 ("ghc-chell" ,ghc-chell)
12185 ("ghc-temporary" ,ghc-temporary)))
12186 (home-page "https://github.com/fpco/haskell-filesystem")
12187 (synopsis "Consistent file system interaction across GHC versions")
12188 (description
12189 "This is a small wrapper around the directory, unix, and Win32 packages,
12190 for use with system-filepath. It provides a consistent API to the various
12191 versions of these packages distributed with different versions of GHC.
12192 In particular, this library supports working with POSIX files that have paths
12193 which can't be decoded in the current locale encoding.")
12194 (license license:expat)))
12195
12196 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
12197 ;; ghc-system-filepath.
12198 (define ghc-system-fileio-bootstrap
12199 (package
12200 (name "ghc-system-fileio-bootstrap")
12201 (version "0.3.16.3")
12202 (source
12203 (origin
12204 (method url-fetch)
12205 (uri (string-append
12206 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12207 version ".tar.gz"))
12208 (sha256
12209 (base32
12210 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12211 (build-system haskell-build-system)
12212 (arguments
12213 `(#:tests? #f))
12214 (inputs
12215 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12216 ("ghc-temporary" ,ghc-temporary)))
12217 (home-page "https://github.com/fpco/haskell-filesystem")
12218 (synopsis "Consistent file system interaction across GHC versions")
12219 (description
12220 "This is a small wrapper around the directory, unix, and Win32 packages,
12221 for use with system-filepath. It provides a consistent API to the various
12222 versions of these packages distributed with different versions of GHC.
12223 In particular, this library supports working with POSIX files that have paths
12224 which can't be decoded in the current locale encoding.")
12225 (license license:expat)))
12226
12227
12228 (define-public ghc-system-filepath
12229 (package
12230 (name "ghc-system-filepath")
12231 (version "0.4.14")
12232 (source
12233 (origin
12234 (method url-fetch)
12235 (uri (string-append
12236 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12237 version ".tar.gz"))
12238 (sha256
12239 (base32
12240 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12241 (build-system haskell-build-system)
12242 ;; FIXME: One of the tests fails:
12243 ;; [ FAIL ] tests.validity.posix
12244 ;; note: seed=7310214548328823169
12245 ;; *** Failed! Falsifiable (after 24 tests):
12246 ;; 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"
12247 (arguments `(#:tests? #f))
12248 (inputs
12249 `(("ghc-chell" ,ghc-chell)
12250 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12251 ("ghc-quickcheck" ,ghc-quickcheck)))
12252 (home-page "https://github.com/fpco/haskell-filesystem")
12253 (synopsis "High-level, byte-based file and directory path manipulations")
12254 (description
12255 "Provides a FilePath datatype and utility functions for operating on it.
12256 Unlike the filepath package, this package does not simply reuse String,
12257 increasing type safety.")
12258 (license license:expat)))
12259
12260 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12261 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12262 ;; which depends on ghc-chell and ghc-chell-quickcheck.
12263 ;; Therefore we bootstrap it with tests disabled.
12264 (define ghc-system-filepath-bootstrap
12265 (package
12266 (name "ghc-system-filepath-bootstrap")
12267 (version "0.4.14")
12268 (source
12269 (origin
12270 (method url-fetch)
12271 (uri (string-append
12272 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12273 version ".tar.gz"))
12274 (sha256
12275 (base32
12276 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12277 (build-system haskell-build-system)
12278 (arguments
12279 `(#:tests? #f))
12280 (inputs
12281 `(("ghc-quickcheck" ,ghc-quickcheck)))
12282 (home-page "https://github.com/fpco/haskell-filesystem")
12283 (synopsis "High-level, byte-based file and directory path manipulations")
12284 (description
12285 "Provides a FilePath datatype and utility functions for operating on it.
12286 Unlike the filepath package, this package does not simply reuse String,
12287 increasing type safety.")
12288 (license license:expat)))
12289
12290
12291 (define-public ghc-tagged
12292 (package
12293 (name "ghc-tagged")
12294 (version "0.8.6")
12295 (source
12296 (origin
12297 (method url-fetch)
12298 (uri (string-append
12299 "https://hackage.haskell.org/package/tagged/tagged-"
12300 version
12301 ".tar.gz"))
12302 (sha256
12303 (base32
12304 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
12305 (build-system haskell-build-system)
12306 (arguments
12307 `(#:cabal-revision
12308 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
12309 (inputs
12310 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12311 (home-page "https://hackage.haskell.org/package/tagged")
12312 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12313 (description "This library provides phantom types for Haskell 98, to avoid
12314 having to unsafely pass dummy arguments.")
12315 (license license:bsd-3)))
12316
12317 (define-public ghc-tar
12318 (package
12319 (name "ghc-tar")
12320 (version "0.5.1.1")
12321 (source
12322 (origin
12323 (method url-fetch)
12324 (uri (string-append
12325 "https://hackage.haskell.org/package/tar/tar-"
12326 version ".tar.gz"))
12327 (sha256
12328 (base32
12329 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
12330 (build-system haskell-build-system)
12331 ;; FIXME: 2/24 tests fail.
12332 (arguments `(#:tests? #f))
12333 (inputs
12334 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12335 ("ghc-quickcheck" ,ghc-quickcheck)
12336 ("ghc-tasty" ,ghc-tasty)
12337 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12338 (home-page "https://hackage.haskell.org/package/tar")
12339 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12340 (description
12341 "This library is for working with \\\"@.tar@\\\" archive files.
12342 It can read and write a range of common variations of the tar archive format
12343 including V7, POSIX USTAR and GNU formats. It provides support for packing and
12344 unpacking portable archives. This makes it suitable for distribution but not
12345 backup because details like file ownership and exact permissions are not
12346 preserved. It also provides features for random access to archive content using
12347 an index.")
12348 (license license:bsd-3)))
12349
12350 (define-public ghc-tar-conduit
12351 (package
12352 (name "ghc-tar-conduit")
12353 (version "0.3.2")
12354 (source
12355 (origin
12356 (method url-fetch)
12357 (uri (string-append "https://hackage.haskell.org/package/"
12358 "tar-conduit/tar-conduit-" version ".tar.gz"))
12359 (sha256
12360 (base32
12361 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12362 (build-system haskell-build-system)
12363 (inputs
12364 `(("ghc-conduit" ,ghc-conduit)
12365 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12366 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12367 (native-inputs
12368 `(("ghc-quickcheck" ,ghc-quickcheck)
12369 ("ghc-conduit-extra" ,ghc-conduit-extra)
12370 ("ghc-hspec" ,ghc-hspec)
12371 ("ghc-hspec" ,ghc-hspec)
12372 ("ghc-weigh" ,ghc-weigh)))
12373 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12374 (synopsis "Extract and create tar files using conduit for streaming")
12375 (description "This library provides a conduit-based, streaming
12376 interface for extracting and creating tar files.")
12377 (license license:expat)))
12378
12379 (define-public ghc-temporary
12380 (package
12381 (name "ghc-temporary")
12382 (version "1.3")
12383 (source
12384 (origin
12385 (method url-fetch)
12386 (uri (string-append
12387 "https://hackage.haskell.org/package/temporary/temporary-"
12388 version
12389 ".tar.gz"))
12390 (sha256
12391 (base32
12392 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12393 (build-system haskell-build-system)
12394 (inputs
12395 `(("ghc-exceptions" ,ghc-exceptions)
12396 ("ghc-random" ,ghc-random)))
12397 (native-inputs
12398 `(("ghc-base-compat" ,ghc-base-compat)
12399 ("ghc-tasty" ,ghc-tasty)
12400 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12401 (home-page "https://www.github.com/batterseapower/temporary")
12402 (synopsis "Temporary file and directory support")
12403 (description "The functions for creating temporary files and directories
12404 in the Haskelll base library are quite limited. This library just repackages
12405 the Cabal implementations of its own temporary file and folder functions so
12406 that you can use them without linking against Cabal or depending on it being
12407 installed.")
12408 (license license:bsd-3)))
12409
12410 (define-public ghc-temporary-rc
12411 (package
12412 (name "ghc-temporary-rc")
12413 (version "1.2.0.3")
12414 (source
12415 (origin
12416 (method url-fetch)
12417 (uri (string-append
12418 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12419 version
12420 ".tar.gz"))
12421 (sha256
12422 (base32
12423 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12424 (build-system haskell-build-system)
12425 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12426 (home-page
12427 "https://www.github.com/feuerbach/temporary")
12428 (synopsis
12429 "Portable temporary file and directory support")
12430 (description
12431 "The functions for creating temporary files and directories in the base
12432 library are quite limited. The unixutils package contains some good ones, but
12433 they aren't portable to Windows. This library just repackages the Cabal
12434 implementations of its own temporary file and folder functions so that you can
12435 use them without linking against Cabal or depending on it being installed.
12436 This is a better maintained fork of the \"temporary\" package.")
12437 (license license:bsd-3)))
12438
12439 (define-public ghc-terminal-size
12440 (package
12441 (name "ghc-terminal-size")
12442 (version "0.3.2.1")
12443 (source (origin
12444 (method url-fetch)
12445 (uri (string-append
12446 "https://hackage.haskell.org/package/terminal-size/"
12447 "terminal-size-" version ".tar.gz"))
12448 (sha256
12449 (base32
12450 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12451 (build-system haskell-build-system)
12452 (home-page "https://hackage.haskell.org/package/terminal-size")
12453 (synopsis "Get terminal window height and width")
12454 (description "Get terminal window height and width without ncurses
12455 dependency.")
12456 (license license:bsd-3)))
12457
12458 (define-public ghc-texmath
12459 (package
12460 (name "ghc-texmath")
12461 (version "0.11.3")
12462 (source (origin
12463 (method url-fetch)
12464 (uri (string-append "https://hackage.haskell.org/package/"
12465 "texmath/texmath-" version ".tar.gz"))
12466 (sha256
12467 (base32
12468 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
12469 (build-system haskell-build-system)
12470 (inputs
12471 `(("ghc-syb" ,ghc-syb)
12472 ("ghc-network-uri" ,ghc-network-uri)
12473 ("ghc-split" ,ghc-split)
12474 ("ghc-temporary" ,ghc-temporary)
12475 ("ghc-utf8-string" ,ghc-utf8-string)
12476 ("ghc-xml" ,ghc-xml)
12477 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12478 (home-page "https://github.com/jgm/texmath")
12479 (synopsis "Conversion between formats used to represent mathematics")
12480 (description
12481 "The texmath library provides functions to read and write TeX math,
12482 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12483 Office). Support is also included for converting math formats to pandoc's
12484 native format (allowing conversion, via pandoc, to a variety of different
12485 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12486 it can parse and apply LaTeX macros.")
12487 (license license:gpl2+)))
12488
12489 (define-public ghc-text-binary
12490 (package
12491 (name "ghc-text-binary")
12492 (version "0.2.1.1")
12493 (source
12494 (origin
12495 (method url-fetch)
12496 (uri (string-append "https://hackage.haskell.org/package/"
12497 "text-binary/text-binary-"
12498 version ".tar.gz"))
12499 (sha256
12500 (base32
12501 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12502 (build-system haskell-build-system)
12503 (home-page "https://github.com/kawu/text-binary")
12504 (synopsis "Binary instances for text types")
12505 (description
12506 "This package provides a compatibility layer providing @code{Binary}
12507 instances for strict and lazy text types for versions older than 1.2.1 of the
12508 text package.")
12509 (license license:bsd-2)))
12510
12511 (define-public ghc-text-manipulate
12512 (package
12513 (name "ghc-text-manipulate")
12514 (version "0.2.0.1")
12515 (source
12516 (origin
12517 (method url-fetch)
12518 (uri (string-append
12519 "https://hackage.haskell.org/package/text-manipulate"
12520 "/text-manipulate-"
12521 version
12522 ".tar.gz"))
12523 (sha256
12524 (base32
12525 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12526 (build-system haskell-build-system)
12527 (native-inputs
12528 `(("ghc-tasty" ,ghc-tasty)
12529 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12530 (home-page
12531 "https://github.com/brendanhay/text-manipulate")
12532 (synopsis
12533 "Case conversion, word boundary manipulation, and textual subjugation")
12534 (description
12535 "Manipulate identifiers and structurally non-complex pieces of text by
12536 delimiting word boundaries via a combination of whitespace,
12537 control-characters, and case-sensitivity.
12538
12539 Has support for common idioms like casing of programmatic variable names,
12540 taking, dropping, and splitting by word, and modifying the first character of
12541 a piece of text.
12542
12543 Caution: this library makes heavy use of the text library's internal loop
12544 optimisation framework. Since internal modules are not guaranteed to have a
12545 stable API there is potential for build breakage when the text dependency is
12546 upgraded. Consider yourself warned!")
12547 (license license:mpl2.0)))
12548
12549 (define-public ghc-text-metrics
12550 (package
12551 (name "ghc-text-metrics")
12552 (version "0.3.0")
12553 (source
12554 (origin
12555 (method url-fetch)
12556 (uri (string-append "https://hackage.haskell.org/package/"
12557 "text-metrics/text-metrics-" version ".tar.gz"))
12558 (sha256
12559 (base32
12560 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12561 (build-system haskell-build-system)
12562 (inputs
12563 `(("ghc-vector" ,ghc-vector)))
12564 (native-inputs
12565 `(("ghc-quickcheck" ,ghc-quickcheck)
12566 ("ghc-hspec" ,ghc-hspec)))
12567 (arguments
12568 `(#:cabal-revision
12569 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12570 (home-page "https://github.com/mrkkrp/text-metrics")
12571 (synopsis "Calculate various string metrics efficiently")
12572 (description "This library provides tools to calculate various
12573 string metrics efficiently.")
12574 (license license:bsd-3)))
12575
12576 (define-public ghc-tf-random
12577 (package
12578 (name "ghc-tf-random")
12579 (version "0.5")
12580 (outputs '("out" "doc"))
12581 (source
12582 (origin
12583 (method url-fetch)
12584 (uri (string-append
12585 "https://hackage.haskell.org/package/tf-random/tf-random-"
12586 version
12587 ".tar.gz"))
12588 (sha256
12589 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12590 (build-system haskell-build-system)
12591 (inputs
12592 `(("ghc-primitive" ,ghc-primitive)
12593 ("ghc-random" ,ghc-random)))
12594 (home-page "https://hackage.haskell.org/package/tf-random")
12595 (synopsis "High-quality splittable pseudorandom number generator")
12596 (description "This package contains an implementation of a high-quality
12597 splittable pseudorandom number generator. The generator is based on a
12598 cryptographic hash function built on top of the ThreeFish block cipher. See
12599 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12600 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12601 (license license:bsd-3)))
12602
12603 (define-public ghc-th-abstraction
12604 (package
12605 (name "ghc-th-abstraction")
12606 (version "0.3.1.0")
12607 (source
12608 (origin
12609 (method url-fetch)
12610 (uri (string-append "https://hackage.haskell.org/package/"
12611 "th-abstraction/th-abstraction-"
12612 version ".tar.gz"))
12613 (sha256
12614 (base32
12615 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
12616 (build-system haskell-build-system)
12617 (home-page "https://github.com/glguy/th-abstraction")
12618 (synopsis "Nicer interface for reified information about data types")
12619 (description
12620 "This package normalizes variations in the interface for inspecting
12621 datatype information via Template Haskell so that packages and support a
12622 single, easier to use informational datatype while supporting many versions of
12623 Template Haskell.")
12624 (license license:isc)))
12625
12626 (define-public ghc-th-expand-syns
12627 (package
12628 (name "ghc-th-expand-syns")
12629 (version "0.4.5.0")
12630 (source (origin
12631 (method url-fetch)
12632 (uri (string-append "https://hackage.haskell.org/package/"
12633 "th-expand-syns/th-expand-syns-"
12634 version ".tar.gz"))
12635 (sha256
12636 (base32
12637 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
12638 (build-system haskell-build-system)
12639 (inputs
12640 `(("ghc-syb" ,ghc-syb)))
12641 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12642 (synopsis "Expands type synonyms in Template Haskell ASTs")
12643 (description
12644 "This package enables users to expand type synonyms in Template Haskell
12645 @dfn{abstract syntax trees} (ASTs).")
12646 (license license:bsd-3)))
12647
12648 (define-public ghc-th-lift
12649 (package
12650 (name "ghc-th-lift")
12651 (version "0.8.0.1")
12652 (source (origin
12653 (method url-fetch)
12654 (uri (string-append "https://hackage.haskell.org/package/"
12655 "th-lift/th-lift-" version ".tar.gz"))
12656 (sha256
12657 (base32
12658 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
12659 (build-system haskell-build-system)
12660 (inputs
12661 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12662 (home-page "https://github.com/mboes/th-lift")
12663 (synopsis "Derive Template Haskell's Lift class for datatypes")
12664 (description
12665 "This is a Haskell library to derive Template Haskell's Lift class for
12666 datatypes.")
12667 (license license:bsd-3)))
12668
12669 (define-public ghc-th-lift-instances
12670 (package
12671 (name "ghc-th-lift-instances")
12672 (version "0.1.14")
12673 (source
12674 (origin
12675 (method url-fetch)
12676 (uri (string-append "https://hackage.haskell.org/package/"
12677 "th-lift-instances/th-lift-instances-"
12678 version ".tar.gz"))
12679 (sha256
12680 (base32
12681 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
12682 (build-system haskell-build-system)
12683 (inputs
12684 `(("ghc-th-lift" ,ghc-th-lift)
12685 ("ghc-vector" ,ghc-vector)
12686 ("ghc-quickcheck" ,ghc-quickcheck)))
12687 (home-page "https://github.com/bennofs/th-lift-instances/")
12688 (synopsis "Lift instances for template-haskell for common data types.")
12689 (description "Most data types in the Haskell platform do not have Lift
12690 instances. This package provides orphan instances for @code{containers},
12691 @code{text}, @code{bytestring} and @code{vector}.")
12692 (license license:bsd-3)))
12693
12694 (define-public ghc-th-orphans
12695 (package
12696 (name "ghc-th-orphans")
12697 (version "0.13.9")
12698 (source (origin
12699 (method url-fetch)
12700 (uri (string-append "https://hackage.haskell.org/package/"
12701 "th-orphans/th-orphans-" version ".tar.gz"))
12702 (sha256
12703 (base32
12704 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
12705 (build-system haskell-build-system)
12706 (inputs
12707 `(("ghc-th-lift" ,ghc-th-lift)
12708 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12709 ("ghc-th-reify-many" ,ghc-th-reify-many)
12710 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12711 (native-inputs
12712 `(("ghc-hspec" ,ghc-hspec)))
12713 (home-page "https://hackage.haskell.org/package/th-orphans")
12714 (synopsis "Orphan instances for TH datatypes")
12715 (description
12716 "This package provides orphan instances for Template Haskell datatypes. In particular,
12717 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12718 and @code{Eq} instances. These instances used to live in the haskell-src-meta
12719 package, and that's where the version number started.")
12720 (license license:bsd-3)))
12721
12722 (define-public ghc-these
12723 (package
12724 (name "ghc-these")
12725 (version "1.0.1")
12726 (source
12727 (origin
12728 (method url-fetch)
12729 (uri (string-append
12730 "https://hackage.haskell.org/package/these/these-"
12731 version
12732 ".tar.gz"))
12733 (sha256
12734 (base32
12735 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12736 (build-system haskell-build-system)
12737 (inputs
12738 `(("ghc-base-compat" ,ghc-base-compat)
12739 ("ghc-hashable" ,ghc-hashable)
12740 ("ghc-aeson" ,ghc-aeson)
12741 ("ghc-unordered-containers" ,ghc-unordered-containers)
12742 ("ghc-assoc" ,ghc-assoc)
12743 ("ghc-semigroupoids" ,ghc-semigroupoids)
12744 ("ghc-quickcheck" ,ghc-quickcheck)))
12745 (arguments
12746 `(#:cabal-revision
12747 ("1"
12748 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12749 (home-page
12750 "https://github.com/isomorphism/these")
12751 (synopsis "Either-or-both data type")
12752 (description
12753 "This package provides a data type @code{These a b} which can
12754 hold a value of either type or values of each type. This is usually
12755 thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12756 \"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12757 as \"inner join\").
12758
12759 @code{data These a b = This a | That b | These a b}
12760
12761 Since version 1, this package was split into parts:
12762
12763 @itemize
12764 @item
12765 https://hackage.haskell.org/package/semialign For @code{Align} and
12766 @code{Zip} type-classes.
12767 @item
12768 https://hackage.haskell.org/package/semialign-indexed For
12769 @code{SemialignWithIndex} class, providing @code{ialignWith} and
12770 @code{izipWith}
12771 @item
12772 https://hackage.haskell.org/package/these-lens For lens combinators.
12773 @item
12774 http://hackage.haskell.org/package/monad-chronicle For transformers
12775 variant of @code{These}.
12776 @end itemize")
12777 (license license:bsd-3)))
12778
12779 (define-public ghc-threads
12780 (package
12781 (name "ghc-threads")
12782 (version "0.5.1.6")
12783 (source
12784 (origin
12785 (method url-fetch)
12786 (uri (string-append "https://hackage.haskell.org/package/"
12787 "threads/threads-" version ".tar.gz"))
12788 (sha256
12789 (base32
12790 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12791 (build-system haskell-build-system)
12792 (native-inputs
12793 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12794 ("ghc-hunit" ,ghc-hunit)
12795 ("ghc-test-framework" ,ghc-test-framework)
12796 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12797 (home-page "https://github.com/basvandijk/threads")
12798 (synopsis "Fork threads and wait for their result")
12799 (description "This package provides functions to fork threads and
12800 wait for their result, whether it's an exception or a normal value.
12801 Besides waiting for the termination of a single thread this package also
12802 provides functions to wait for a group of threads to terminate. This
12803 package is similar to the @code{threadmanager}, @code{async} and
12804 @code{spawn} packages. The advantages of this package are:
12805
12806 @itemize
12807 @item Simpler API.
12808 @item More efficient in both space and time.
12809 @item No space-leak when forking a large number of threads.
12810 @item Correct handling of asynchronous exceptions.
12811 @item GHC specific functionality like @code{forkOn} and
12812 @code{forkIOWithUnmask}.
12813 @end itemize")
12814 (license license:bsd-3)))
12815
12816 (define-public ghc-th-reify-many
12817 (package
12818 (name "ghc-th-reify-many")
12819 (version "0.1.9")
12820 (source (origin
12821 (method url-fetch)
12822 (uri (string-append "https://hackage.haskell.org/package/"
12823 "th-reify-many/th-reify-many-"
12824 version ".tar.gz"))
12825 (sha256
12826 (base32
12827 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
12828 (build-system haskell-build-system)
12829 (inputs
12830 `(("ghc-safe" ,ghc-safe)
12831 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12832 (home-page "https://github.com/mgsloan/th-reify-many")
12833 (synopsis "Recurseively reify template haskell datatype info")
12834 (description
12835 "th-reify-many provides functions for recursively reifying top level
12836 declarations. The main intended use case is for enumerating the names of
12837 datatypes reachable from an initial datatype, and passing these names to some
12838 function which generates instances.")
12839 (license license:bsd-3)))
12840
12841 (define-public ghc-time-compat
12842 (package
12843 (name "ghc-time-compat")
12844 (version "1.9.2.2")
12845 (source
12846 (origin
12847 (method url-fetch)
12848 (uri (string-append "https://hackage.haskell.org/package/"
12849 "time-compat/time-compat-" version ".tar.gz"))
12850 (sha256
12851 (base32
12852 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12853 (build-system haskell-build-system)
12854 (inputs
12855 `(("ghc-base-orphans" ,ghc-base-orphans)))
12856 (native-inputs
12857 `(("ghc-hunit" ,ghc-hunit)
12858 ("ghc-base-compat" ,ghc-base-compat)
12859 ("ghc-quickcheck" ,ghc-quickcheck)
12860 ("ghc-tagged" ,ghc-tagged)
12861 ("ghc-tasty" ,ghc-tasty)
12862 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12863 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12864 (arguments
12865 `(#:cabal-revision
12866 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12867 (home-page "https://github.com/phadej/time-compat")
12868 (synopsis "Compatibility package for time")
12869 (description "This package tries to compat as many @code{time}
12870 features as possible.")
12871 (license license:bsd-3)))
12872
12873 (define-public ghc-time-locale-compat
12874 (package
12875 (name "ghc-time-locale-compat")
12876 (version "0.1.1.5")
12877 (source
12878 (origin
12879 (method url-fetch)
12880 (uri (string-append "https://hackage.haskell.org/package/"
12881 "time-locale-compat/time-locale-compat-"
12882 version ".tar.gz"))
12883 (sha256
12884 (base32
12885 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12886 (build-system haskell-build-system)
12887 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12888 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12889 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12890 (description "This package contains a wrapped name module for
12891 @code{TimeLocale}.")
12892 (license license:bsd-3)))
12893
12894 (define-public ghc-time-manager
12895 (package
12896 (name "ghc-time-manager")
12897 (version "0.0.0")
12898 (source
12899 (origin
12900 (method url-fetch)
12901 (uri (string-append "https://hackage.haskell.org/package/"
12902 "time-manager/time-manager-" version ".tar.gz"))
12903 (sha256
12904 (base32
12905 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12906 (build-system haskell-build-system)
12907 (inputs
12908 `(("ghc-auto-update" ,ghc-auto-update)))
12909 (home-page "https://github.com/yesodweb/wai")
12910 (synopsis "Scalable timer")
12911 (description "This library contains scalable timer functions provided by a
12912 timer manager.")
12913 (license license:expat)))
12914
12915 (define-public ghc-timeit
12916 (package
12917 (name "ghc-timeit")
12918 (version "2.0")
12919 (source
12920 (origin
12921 (method url-fetch)
12922 (uri
12923 (string-append
12924 "https://hackage.haskell.org/package/timeit/timeit-"
12925 version ".tar.gz"))
12926 (sha256
12927 (base32
12928 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12929 (build-system haskell-build-system)
12930 (home-page "https://github.com/merijn/timeit")
12931 (synopsis "Time monadic computations with an IO base")
12932 (description "This package provides a simple wrapper to show the
12933 used CPU time of monadic computation with an IO base.")
12934 (license license:bsd-3)))
12935
12936 (define-public ghc-timezone-series
12937 (package
12938 (name "ghc-timezone-series")
12939 (version "0.1.9")
12940 (source
12941 (origin
12942 (method url-fetch)
12943 (uri
12944 (string-append
12945 "mirror://hackage/package/timezone-series/timezone-series-"
12946 version ".tar.gz"))
12947 (sha256
12948 (base32
12949 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12950 (build-system haskell-build-system)
12951 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12952 (synopsis "Enhanced timezone handling for Time")
12953 (description
12954 "This package endows @code{Data.Time}, from the time package, with several
12955 data types and functions for enhanced processing of timezones. For one way to
12956 create timezone series, see the ghc-timezone-olson package.")
12957 (license license:bsd-3)))
12958
12959 (define-public ghc-timezone-olson
12960 (package
12961 (name "ghc-timezone-olson")
12962 (version "0.1.9")
12963 (source
12964 (origin
12965 (method url-fetch)
12966 (uri
12967 (string-append
12968 "mirror://hackage/package/timezone-olson/timezone-olson-"
12969 version ".tar.gz"))
12970 (sha256
12971 (base32
12972 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12973 (build-system haskell-build-system)
12974 (inputs
12975 `(("ghc-timezone-series" ,ghc-timezone-series)
12976 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12977 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12978 (synopsis "Parser and renderer for binary Olson timezone files")
12979 (description
12980 "A parser and renderer for binary Olson timezone files whose format
12981 is specified by the tzfile(5) man page on Unix-like systems. For more
12982 information about this format, see
12983 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12984 are provided for converting the parsed data into @code{TimeZoneSeries}
12985 objects from the timezone-series package.")
12986 (license license:bsd-3)))
12987
12988 (define-public ghc-tldr
12989 (package
12990 (name "ghc-tldr")
12991 (version "0.4.0.2")
12992 (source
12993 (origin
12994 (method url-fetch)
12995 (uri (string-append
12996 "https://hackage.haskell.org/package/tldr/tldr-"
12997 version
12998 ".tar.gz"))
12999 (sha256
13000 (base32
13001 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
13002 (build-system haskell-build-system)
13003 (inputs
13004 `(("ghc-cmark" ,ghc-cmark)
13005 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13006 ("ghc-typed-process" ,ghc-typed-process)
13007 ("ghc-semigroups" ,ghc-semigroups)))
13008 (native-inputs
13009 `(("ghc-tasty" ,ghc-tasty)
13010 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13011 (home-page "https://github.com/psibi/tldr-hs#readme")
13012 (synopsis "Haskell tldr client")
13013 (description "This package provides the @command{tldr} command and a
13014 Haskell client library allowing users to update and view @code{tldr} pages
13015 from a shell. The @code{tldr} pages are a community effort to simplify the
13016 man pages with practical examples.")
13017 (license license:bsd-3)))
13018
13019 (define-public ghc-transformers
13020 (package
13021 (name "ghc-transformers")
13022 (version "0.5.6.2")
13023 (source
13024 (origin
13025 (method url-fetch)
13026 (uri (string-append
13027 "mirror://hackage/package/transformers/transformers-"
13028 version
13029 ".tar.gz"))
13030 (sha256
13031 (base32
13032 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13033 (build-system haskell-build-system)
13034 (home-page
13035 "http://hackage.haskell.org/package/transformers")
13036 (synopsis "Concrete functor and monad transformers")
13037 (description
13038 "Transformers provides functor and monad transformers, inspired by the
13039 paper \"Functional Programming with Overloading and Higher-Order
13040 Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
13041 1995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13042
13043 This package contains:
13044 @itemize
13045 @item the monad transformer class (in @code{Control.Monad.Trans.Class})
13046 @item concrete functor and monad transformers, each with associated operations
13047 and functions to lift operations associated with other transformers.
13048 @end itemize
13049
13050 This package can be used on its own in portable Haskell code, in which case
13051 operations need to be manually lifted through transformer stacks (see
13052 @code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13053 used with the non-portable monad classes in the mtl or monads-tf packages,
13054 which automatically lift operations introduced by monad transformers through
13055 other transformers.")
13056 (license license:bsd-3)))
13057
13058 (define-public ghc-transformers-base
13059 (package
13060 (name "ghc-transformers-base")
13061 (version "0.4.5.2")
13062 (source
13063 (origin
13064 (method url-fetch)
13065 (uri (string-append
13066 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13067 version
13068 ".tar.gz"))
13069 (sha256
13070 (base32
13071 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13072 (build-system haskell-build-system)
13073 (inputs
13074 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13075 (home-page
13076 "https://hackage.haskell.org/package/transformers-compat")
13077 (synopsis
13078 "Backported transformer library")
13079 (description
13080 "Backported versions of types that were added to transformers in
13081 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13082 compatibility to run on old versions of the platform.")
13083 (license license:bsd-3)))
13084
13085 (define-public ghc-transformers-compat
13086 (package
13087 (name "ghc-transformers-compat")
13088 (version "0.6.5")
13089 (source
13090 (origin
13091 (method url-fetch)
13092 (uri (string-append
13093 "https://hackage.haskell.org/package/transformers-compat"
13094 "/transformers-compat-" version ".tar.gz"))
13095 (sha256
13096 (base32
13097 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
13098 (build-system haskell-build-system)
13099 (home-page "https://github.com/ekmett/transformers-compat/")
13100 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13101 (description "This package includes backported versions of types that were
13102 added to transformers in transformers 0.3 and 0.4 for users who need strict
13103 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13104 but also need those types.")
13105 (license license:bsd-3)))
13106
13107 (define-public ghc-tree-diff
13108 (package
13109 (name "ghc-tree-diff")
13110 (version "0.1")
13111 (source
13112 (origin
13113 (method url-fetch)
13114 (uri (string-append
13115 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13116 version
13117 ".tar.gz"))
13118 (sha256
13119 (base32
13120 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
13121 (build-system haskell-build-system)
13122 (inputs
13123 `(("ghc-aeson" ,ghc-aeson)
13124 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13125 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13126 ("ghc-base-compat" ,ghc-base-compat)
13127 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
13128 ("ghc-hashable" ,ghc-hashable)
13129 ("ghc-parsers" ,ghc-parsers)
13130 ("ghc-quickcheck" ,ghc-quickcheck)
13131 ("ghc-scientific" ,ghc-scientific)
13132 ("ghc-tagged" ,ghc-tagged)
13133 ("ghc-unordered-containers" ,ghc-unordered-containers)
13134 ("ghc-uuid-types" ,ghc-uuid-types)
13135 ("ghc-vector" ,ghc-vector)))
13136 (native-inputs
13137 `(("ghc-base-compat" ,ghc-base-compat)
13138 ("ghc-quickcheck" ,ghc-quickcheck)
13139 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13140 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13141 ("ghc-trifecta" ,ghc-trifecta)
13142 ("ghc-tasty" ,ghc-tasty)
13143 ("ghc-tasty-golden" ,ghc-tasty-golden)
13144 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13145 (home-page "https://github.com/phadej/tree-diff")
13146 (synopsis "Compute difference between (expression) trees")
13147 (description "This Haskell library provides a function for computing
13148 the difference between (expression) trees. It also provides a way to
13149 compute the difference between arbitrary abstract datatypes (ADTs) using
13150 @code{Generics}-derivable helpers.")
13151 (license license:bsd-3)))
13152
13153 (define-public ghc-trifecta
13154 (package
13155 (name "ghc-trifecta")
13156 (version "2")
13157 (source (origin
13158 (method url-fetch)
13159 (uri (string-append
13160 "https://hackage.haskell.org/package/trifecta/"
13161 "trifecta-" version ".tar.gz"))
13162 (sha256
13163 (base32
13164 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13165 (build-system haskell-build-system)
13166 (arguments
13167 `(#:tests? #f ; doctest suite fails to build on i686
13168 #:cabal-revision
13169 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
13170 (inputs
13171 `(("ghc-reducers" ,ghc-reducers)
13172 ("ghc-semigroups" ,ghc-semigroups)
13173 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13174 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13175 ("ghc-blaze-builder" ,ghc-blaze-builder)
13176 ("ghc-blaze-html" ,ghc-blaze-html)
13177 ("ghc-blaze-markup" ,ghc-blaze-markup)
13178 ("ghc-charset" ,ghc-charset)
13179 ("ghc-comonad" ,ghc-comonad)
13180 ("ghc-fingertree" ,ghc-fingertree)
13181 ("ghc-hashable" ,ghc-hashable)
13182 ("ghc-lens" ,ghc-lens)
13183 ("ghc-parsers" ,ghc-parsers)
13184 ("ghc-profunctors" ,ghc-profunctors)
13185 ("ghc-unordered-containers" ,ghc-unordered-containers)
13186 ("ghc-utf8-string" ,ghc-utf8-string)))
13187 (native-inputs
13188 `(("cabal-doctest" ,cabal-doctest)
13189 ("ghc-doctest" ,ghc-doctest)
13190 ("ghc-quickcheck" ,ghc-quickcheck)))
13191 (home-page "https://github.com/ekmett/trifecta/")
13192 (synopsis "Parser combinator library with convenient diagnostics")
13193 (description "Trifecta is a modern parser combinator library for Haskell,
13194 with slicing and Clang-style colored diagnostics.")
13195 (license license:bsd-3)))
13196
13197 (define-public ghc-tuple-th
13198 (package
13199 (name "ghc-tuple-th")
13200 (version "0.2.5")
13201 (source
13202 (origin
13203 (method url-fetch)
13204 (uri (string-append "https://hackage.haskell.org/package/"
13205 "tuple-th-" version "/"
13206 "tuple-th-" version ".tar.gz"))
13207 (sha256
13208 (base32
13209 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13210 (build-system haskell-build-system)
13211 (home-page "https://github.com/DanielSchuessler/tuple-th")
13212 (synopsis "Generate utility functions for tuples of statically known size
13213 for Haskell")
13214 (description "This Haskell package contains Template Haskell functions for
13215 generating functions similar to those in @code{Data.List} for tuples of
13216 statically known size.")
13217 (license license:bsd-3)))
13218
13219 (define-public ghc-turtle
13220 (package
13221 (name "ghc-turtle")
13222 (version "1.5.15")
13223 (source
13224 (origin
13225 (method url-fetch)
13226 (uri (string-append
13227 "mirror://hackage/package/turtle/turtle-"
13228 version
13229 ".tar.gz"))
13230 (sha256
13231 (base32
13232 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13233 (build-system haskell-build-system)
13234 (inputs
13235 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13236 ("ghc-async" ,ghc-async)
13237 ("ghc-clock" ,ghc-clock)
13238 ("ghc-exceptions" ,ghc-exceptions)
13239 ("ghc-foldl" ,ghc-foldl)
13240 ("ghc-hostname" ,ghc-hostname)
13241 ("ghc-managed" ,ghc-managed)
13242 ("ghc-semigroups" ,ghc-semigroups)
13243 ("ghc-system-filepath" ,ghc-system-filepath)
13244 ("ghc-system-fileio" ,ghc-system-fileio)
13245 ("ghc-streaming-commons" ,ghc-streaming-commons)
13246 ("ghc-temporary" ,ghc-temporary)
13247 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13248 ("ghc-optional-args" ,ghc-optional-args)
13249 ("ghc-unix-compat" ,ghc-unix-compat)))
13250 (native-inputs
13251 `(("ghc-doctest" ,ghc-doctest)
13252 ("ghc-fail" ,ghc-fail)))
13253 (arguments
13254 `(#:cabal-revision
13255 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13256 (home-page
13257 "http://hackage.haskell.org/package/turtle")
13258 (synopsis "Shell programming, Haskell-style")
13259 (description
13260 "Turtle is a reimplementation of the Unix command line environment in
13261 Haskell so that you can use Haskell as both a shell and a scripting
13262 language. Features include:
13263
13264 @itemize
13265 @item Batteries included: Command an extended suite of predefined utilities.
13266 @item Interoperability: You can still run external shell commands.
13267 @item Portability: Works on Windows, OS X, and Linux.
13268 @item Exception safety: Safely acquire and release resources.
13269 @item Streaming: Transform or fold command output in constant space.
13270 @item Patterns: Use typed regular expressions that can parse structured values.
13271 @item Formatting: Type-safe printf-style text formatting.
13272 @item Modern: Supports text and system-filepath.
13273 @end itemize
13274
13275 Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13276 quick-start guide. Turtle is designed to be beginner-friendly, but as a
13277 result lacks certain features, like tracing commands. If you feel comfortable
13278 using turtle then you should also check out the Shelly library which provides
13279 similar functionality.")
13280 (license license:bsd-3)))
13281
13282 (define-public ghc-typed-process
13283 (package
13284 (name "ghc-typed-process")
13285 (version "0.2.6.0")
13286 (source
13287 (origin
13288 (method url-fetch)
13289 (uri (string-append "https://hackage.haskell.org/package/"
13290 "typed-process/typed-process-"
13291 version ".tar.gz"))
13292 (sha256
13293 (base32
13294 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
13295 (build-system haskell-build-system)
13296 (inputs
13297 `(("ghc-async" ,ghc-async)
13298 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13299 (native-inputs
13300 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13301 ("ghc-hspec" ,ghc-hspec)
13302 ("hspec-discover" ,hspec-discover)
13303 ("ghc-temporary" ,ghc-temporary)))
13304 (home-page "https://haskell-lang.org/library/typed-process")
13305 (synopsis "Run external processes with strong typing of streams")
13306 (description
13307 "This library provides the ability to launch and interact with external
13308 processes. It wraps around the @code{process} library, and intends to improve
13309 upon it.")
13310 (license license:expat)))
13311
13312 (define-public ghc-unagi-chan
13313 (package
13314 (name "ghc-unagi-chan")
13315 (version "0.4.1.2")
13316 (source
13317 (origin
13318 (method url-fetch)
13319 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13320 "/unagi-chan-" version ".tar.gz"))
13321 (sha256
13322 (base32
13323 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13324 (build-system haskell-build-system)
13325 (inputs
13326 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13327 ("ghc-primitive" ,ghc-primitive)))
13328 (arguments
13329 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13330 #:cabal-revision
13331 ("1"
13332 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
13333 (home-page "https://hackage.haskell.org/package/unagi-chan")
13334 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13335 (description
13336 "This library provides implementations of concurrent FIFO queues (for
13337 both general boxed and primitive unboxed values) that are fast, perform well
13338 under contention, and offer a Chan-like interface. The library may be of
13339 limited usefulness outside of x86 architectures where the fetch-and-add
13340 instruction is not available.")
13341 (license license:bsd-3)))
13342
13343 (define-public ghc-unbounded-delays
13344 (package
13345 (name "ghc-unbounded-delays")
13346 (version "0.1.1.0")
13347 (source
13348 (origin
13349 (method url-fetch)
13350 (uri (string-append
13351 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13352 version
13353 ".tar.gz"))
13354 (sha256
13355 (base32
13356 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13357 (build-system haskell-build-system)
13358 (home-page "https://github.com/basvandijk/unbounded-delays")
13359 (synopsis "Unbounded thread delays and timeouts")
13360 (description "The @code{threadDelay} and @code{timeout} functions from the
13361 Haskell base library use the bounded @code{Int} type for specifying the delay
13362 or timeout period. This package provides alternative functions which use the
13363 unbounded @code{Integer} type.")
13364 (license license:bsd-3)))
13365
13366 (define-public ghc-unexceptionalio
13367 (package
13368 (name "ghc-unexceptionalio")
13369 (version "0.4.0")
13370 (source
13371 (origin
13372 (method url-fetch)
13373 (uri (string-append "https://hackage.haskell.org/package/"
13374 "unexceptionalio-" version "/" "unexceptionalio-"
13375 version ".tar.gz"))
13376 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13377 (build-system haskell-build-system)
13378 (home-page "https://github.com/singpolyma/unexceptionalio")
13379 (synopsis "IO without any non-error, synchronous exceptions")
13380 (description "When you've caught all the exceptions that can be
13381 handled safely, this is what you're left with.")
13382 (license license:isc)))
13383
13384 (define-public ghc-unicode-transforms
13385 (package
13386 (name "ghc-unicode-transforms")
13387 (version "0.3.6")
13388 (source
13389 (origin
13390 (method url-fetch)
13391 (uri (string-append "https://hackage.haskell.org/package/"
13392 "unicode-transforms/unicode-transforms-"
13393 version ".tar.gz"))
13394 (sha256
13395 (base32
13396 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13397 (build-system haskell-build-system)
13398 (inputs
13399 `(("ghc-bitarray" ,ghc-bitarray)))
13400 (native-inputs
13401 `(("ghc-quickcheck" ,ghc-quickcheck)
13402 ("ghc-getopt-generics" ,ghc-getopt-generics)
13403 ("ghc-split" ,ghc-split)))
13404 (home-page "https://github.com/composewell/unicode-transforms")
13405 (synopsis "Unicode normalization")
13406 (description "This library provides tools for fast Unicode 12.1.0
13407 normalization in Haskell (normalization forms C, KC, D, and KD).")
13408 (license license:bsd-3)))
13409
13410 (define-public ghc-union-find
13411 (package
13412 (name "ghc-union-find")
13413 (version "0.2")
13414 (source (origin
13415 (method url-fetch)
13416 (uri (string-append
13417 "https://hackage.haskell.org/package/union-find/union-find-"
13418 version ".tar.gz"))
13419 (sha256
13420 (base32
13421 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13422 (build-system haskell-build-system)
13423 (home-page "https://github.com/nominolo/union-find")
13424 (synopsis "Efficient union and equivalence testing of sets")
13425 (description
13426 "The Union/Find algorithm implements these operations in (effectively)
13427 constant-time:
13428 @enumerate
13429 @item Check whether two elements are in the same equivalence class.
13430 @item Create a union of two equivalence classes.
13431 @item Look up the descriptor of the equivalence class.
13432 @end enumerate\n")
13433 (license license:bsd-3)))
13434
13435 (define-public ghc-uniplate
13436 (package
13437 (name "ghc-uniplate")
13438 (version "1.6.12")
13439 (source
13440 (origin
13441 (method url-fetch)
13442 (uri (string-append
13443 "https://hackage.haskell.org/package/uniplate/uniplate-"
13444 version
13445 ".tar.gz"))
13446 (sha256
13447 (base32
13448 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13449 (build-system haskell-build-system)
13450 (inputs
13451 `(("ghc-syb" ,ghc-syb)
13452 ("ghc-hashable" ,ghc-hashable)
13453 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13454 (home-page "https://github.com/ndmitchell/uniplate")
13455 (synopsis "Simple, concise and fast generic operations")
13456 (description "Uniplate is a library for writing simple and concise generic
13457 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13458 work, but is substantially simpler and faster.")
13459 (license license:bsd-3)))
13460
13461 (define-public ghc-unix-compat
13462 (package
13463 (name "ghc-unix-compat")
13464 (version "0.5.2")
13465 (source
13466 (origin
13467 (method url-fetch)
13468 (uri (string-append
13469 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13470 version
13471 ".tar.gz"))
13472 (sha256
13473 (base32
13474 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
13475 (build-system haskell-build-system)
13476 (home-page
13477 "https://github.com/jystic/unix-compat")
13478 (synopsis "Portable POSIX-compatibility layer")
13479 (description
13480 "This package provides portable implementations of parts of the unix
13481 package. This package re-exports the unix package when available. When it
13482 isn't available, portable implementations are used.")
13483 (license license:bsd-3)))
13484
13485 (define-public ghc-unix-time
13486 (package
13487 (name "ghc-unix-time")
13488 (version "0.4.7")
13489 (source
13490 (origin
13491 (method url-fetch)
13492 (uri (string-append
13493 "https://hackage.haskell.org/package/unix-time/unix-time-"
13494 version
13495 ".tar.gz"))
13496 (sha256
13497 (base32
13498 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
13499 (build-system haskell-build-system)
13500 (arguments
13501 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13502 ; is weird, that should be provided by GHC 7.10.2.
13503 (inputs
13504 `(("ghc-old-time" ,ghc-old-time)
13505 ("ghc-old-locale" ,ghc-old-locale)))
13506 (home-page "https://hackage.haskell.org/package/unix-time")
13507 (synopsis "Unix time parser/formatter and utilities")
13508 (description "This library provides fast parsing and formatting utilities
13509 for Unix time in Haskell.")
13510 (license license:bsd-3)))
13511
13512 (define-public ghc-unliftio
13513 (package
13514 (name "ghc-unliftio")
13515 (version "0.2.12")
13516 (source
13517 (origin
13518 (method url-fetch)
13519 (uri (string-append
13520 "https://hackage.haskell.org/package/unliftio/unliftio-"
13521 version
13522 ".tar.gz"))
13523 (sha256
13524 (base32
13525 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
13526 (build-system haskell-build-system)
13527 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13528 (inputs
13529 `(("ghc-async" ,ghc-async)
13530 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13531 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13532 (home-page "https://github.com/fpco/unliftio")
13533 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13534 IO (batteries included)")
13535 (description "This Haskell package provides the core @code{MonadUnliftIO}
13536 typeclass, a number of common instances, and a collection of common functions
13537 working with it.")
13538 (license license:expat)))
13539
13540 (define-public ghc-unliftio-core
13541 (package
13542 (name "ghc-unliftio-core")
13543 (version "0.1.2.0")
13544 (source
13545 (origin
13546 (method url-fetch)
13547 (uri (string-append "https://hackage.haskell.org/package/"
13548 "unliftio-core-" version "/"
13549 "unliftio-core-" version ".tar.gz"))
13550 (sha256
13551 (base32
13552 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
13553 (build-system haskell-build-system)
13554 (arguments
13555 `(#:cabal-revision
13556 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
13557 (home-page
13558 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13559 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13560 (description "This Haskell package provides the core @code{MonadUnliftIO}
13561 typeclass, instances for base and transformers, and basic utility
13562 functions.")
13563 (license license:expat)))
13564
13565 (define-public ghc-unordered-containers
13566 (package
13567 (name "ghc-unordered-containers")
13568 (version "0.2.10.0")
13569 (outputs '("out" "doc"))
13570 (source
13571 (origin
13572 (method url-fetch)
13573 (uri (string-append
13574 "https://hackage.haskell.org/package/unordered-containers"
13575 "/unordered-containers-" version ".tar.gz"))
13576 (sha256
13577 (base32
13578 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
13579 (build-system haskell-build-system)
13580 (inputs
13581 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13582 ("ghc-hunit" ,ghc-hunit)
13583 ("ghc-quickcheck" ,ghc-quickcheck)
13584 ("ghc-test-framework" ,ghc-test-framework)
13585 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13586 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13587 ("ghc-hashable" ,ghc-hashable)))
13588 (home-page
13589 "https://github.com/tibbe/unordered-containers")
13590 (synopsis
13591 "Efficient hashing-based container types")
13592 (description
13593 "Efficient hashing-based container types. The containers have been
13594 optimized for performance critical use, both in terms of large data quantities
13595 and high speed.")
13596 (license license:bsd-3)))
13597
13598 (define-public ghc-unordered-containers-bootstrap
13599 (package
13600 (inherit ghc-unordered-containers)
13601 (name "ghc-unordered-containers-bootstrap")
13602 (arguments `(#:tests? #f))
13603 (inputs
13604 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
13605 (properties '((hidden? #t)))))
13606
13607 (define-public ghc-unsafe
13608 (package
13609 (name "ghc-unsafe")
13610 (version "0.0")
13611 (source
13612 (origin
13613 (method url-fetch)
13614 (uri
13615 (string-append
13616 "https://hackage.haskell.org/package/unsafe/unsafe-"
13617 version ".tar.gz"))
13618 (sha256
13619 (base32
13620 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13621 (build-system haskell-build-system)
13622 (home-page "https://hackage.haskell.org/package/unsafe")
13623 (synopsis "Unified interface to unsafe functions")
13624 (description "Safe Haskell introduced the notion of safe and unsafe
13625 modules. In order to make as many as possible modules ``safe'', the
13626 well-known unsafe functions were moved to distinguished modules. This
13627 makes it hard to write packages that work with both old and new versions
13628 of GHC. This package provides a single module System.Unsafe that
13629 exports the unsafe functions from the base package. It provides them in
13630 a style ready for qualification, that is, you should import them by
13631 @code{import qualified System.Unsafe as Unsafe}.")
13632 (license license:bsd-3)))
13633
13634 (define-public ghc-uri-bytestring
13635 (package
13636 (name "ghc-uri-bytestring")
13637 (version "0.3.2.2")
13638 (source
13639 (origin
13640 (method url-fetch)
13641 (uri (string-append "https://hackage.haskell.org/package/"
13642 "uri-bytestring-" version "/"
13643 "uri-bytestring-" version ".tar.gz"))
13644 (sha256
13645 (base32
13646 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
13647 (build-system haskell-build-system)
13648 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13649 ("ghc-blaze-builder" ,ghc-blaze-builder)
13650 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
13651 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13652 ("ghc-tasty" ,ghc-tasty)
13653 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13654 ("ghc-hedgehog" ,ghc-hedgehog)
13655 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
13656 ("ghc-base-compat" ,ghc-base-compat)
13657 ("ghc-semigroups" ,ghc-semigroups)
13658 ("ghc-safe" ,ghc-safe)))
13659 (home-page "https://github.com/Soostone/uri-bytestring")
13660 (synopsis "Haskell URI parsing as ByteStrings")
13661 (description "This Haskell package aims to be an RFC3986 compliant URI
13662 parser that uses ByteStrings for parsing and representing the URI data.")
13663 (license license:bsd-3)))
13664
13665 (define-public ghc-utf8-light
13666 (package
13667 (name "ghc-utf8-light")
13668 (version "0.4.2")
13669 (source
13670 (origin
13671 (method url-fetch)
13672 (uri (string-append
13673 "mirror://hackage/package/utf8-light/utf8-light-"
13674 version
13675 ".tar.gz"))
13676 (sha256
13677 (base32
13678 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13679 (build-system haskell-build-system)
13680 (home-page
13681 "http://hackage.haskell.org/package/utf8-light")
13682 (synopsis "Lightweight unicode support for Haskell")
13683 (description
13684 "This package profides a class for encoding and decoding UTF8 strings
13685 with instances for several common types. It also includes several functions
13686 for working with UTF8. It aims to be lightweight, depending only on Base and
13687 including only one module.")
13688 (license license:bsd-3)))
13689
13690 (define-public ghc-utf8-string
13691 (package
13692 (name "ghc-utf8-string")
13693 (version "1.0.1.1")
13694 (source
13695 (origin
13696 (method url-fetch)
13697 (uri (string-append
13698 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13699 version
13700 ".tar.gz"))
13701 (sha256
13702 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13703 (build-system haskell-build-system)
13704 (arguments
13705 `(#:cabal-revision
13706 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13707 (home-page "https://github.com/glguy/utf8-string/")
13708 (synopsis "Support for reading and writing UTF8 Strings")
13709 (description
13710 "A UTF8 layer for Strings. The utf8-string package provides operations
13711 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13712 UTF8 without truncation.")
13713 (license license:bsd-3)))
13714
13715 (define-public ghc-utility-ht
13716 (package
13717 (name "ghc-utility-ht")
13718 (version "0.0.14")
13719 (home-page "https://hackage.haskell.org/package/utility-ht")
13720 (source
13721 (origin
13722 (method url-fetch)
13723 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13724 (sha256
13725 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13726 (build-system haskell-build-system)
13727 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13728 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13729 (description "This package includes Hakell modules providing various
13730 helper functions for Lists, Maybes, Tuples, Functions.")
13731 (license license:bsd-3)))
13732
13733 (define-public ghc-uuid
13734 (package
13735 (name "ghc-uuid")
13736 (version "1.3.13")
13737 (source
13738 (origin
13739 (method url-fetch)
13740 (uri (string-append "https://hackage.haskell.org/package/"
13741 "uuid-" version "/"
13742 "uuid-" version ".tar.gz"))
13743 (sha256
13744 (base32
13745 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13746 (build-system haskell-build-system)
13747 (arguments
13748 `(#:cabal-revision
13749 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13750 #:phases
13751 (modify-phases %standard-phases
13752 (add-before 'configure 'strip-test-framework-constraints
13753 (lambda _
13754 (substitute* "uuid.cabal"
13755 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13756 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13757 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13758 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13759 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13760 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13761 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13762 ("ghc-entropy" ,ghc-entropy)
13763 ("ghc-network-info" ,ghc-network-info)
13764 ("ghc-random" ,ghc-random)
13765 ("ghc-uuid-types" ,ghc-uuid-types)))
13766 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13767 ("ghc-quickcheck" ,ghc-quickcheck)
13768 ("ghc-tasty" ,ghc-tasty)
13769 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13770 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13771 (home-page "https://github.com/hvr/uuid")
13772 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13773 (description "This Haskell library provides utilities creating, comparing,
13774 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13775 (license license:bsd-3)))
13776
13777 (define-public ghc-uuid-types
13778 (package
13779 (name "ghc-uuid-types")
13780 (version "1.0.3")
13781 (source
13782 (origin
13783 (method url-fetch)
13784 (uri (string-append "https://hackage.haskell.org/package/"
13785 "uuid-types-" version "/"
13786 "uuid-types-" version ".tar.gz"))
13787 (sha256
13788 (base32
13789 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13790 (build-system haskell-build-system)
13791 (arguments
13792 `(#:phases
13793 (modify-phases %standard-phases
13794 (add-before 'configure 'strip-test-framework-constraints
13795 (lambda _
13796 (substitute* "uuid-types.cabal"
13797 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13798 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13799 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13800 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13801 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13802 (inputs `(("ghc-hashable" ,ghc-hashable)
13803 ("ghc-random" ,ghc-random)))
13804 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13805 ("ghc-quickcheck" ,ghc-quickcheck)
13806 ("ghc-tasty" ,ghc-tasty)
13807 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13808 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13809 (home-page "https://github.com/hvr/uuid")
13810 (synopsis "Haskell type definitions for UUIDs")
13811 (description "This Haskell library contains type definitions for
13812 @dfn{Universally Unique Identifiers} or
13813 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13814 functions.")
13815 (license license:bsd-3)))
13816
13817 (define-public ghc-validation
13818 (package
13819 (name "ghc-validation")
13820 (version "1.1")
13821 (source
13822 (origin
13823 (method url-fetch)
13824 (uri (string-append
13825 "mirror://hackage/package/validation/validation-"
13826 version
13827 ".tar.gz"))
13828 (sha256
13829 (base32
13830 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
13831 (build-system haskell-build-system)
13832 (arguments
13833 `(#:cabal-revision
13834 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
13835 (inputs
13836 `(("ghc-semigroups" ,ghc-semigroups)
13837 ("ghc-semigroupoids" ,ghc-semigroupoids)
13838 ("ghc-bifunctors" ,ghc-bifunctors)
13839 ("ghc-lens" ,ghc-lens)))
13840 (native-inputs
13841 `(("ghc-hedgehog" ,ghc-hedgehog)
13842 ("ghc-hunit" ,ghc-hunit)))
13843 (home-page "https://github.com/qfpl/validation")
13844 (synopsis
13845 "Data-type like Either but with an accumulating Applicative")
13846 (description
13847 "A data-type like Either but with differing properties and type-class
13848 instances.
13849
13850 Library support is provided for this different representation, including
13851 @code{lens}-related functions for converting between each and abstracting over
13852 their similarities.
13853
13854 The @code{Validation} data type is isomorphic to @code{Either}, but has an
13855 instance of @code{Applicative} that accumulates on the error side. That is to
13856 say, if two (or more) errors are encountered, they are appended using a
13857 @{Semigroup} operation.
13858
13859 As a consequence of this @code{Applicative} instance, there is no
13860 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13861 example of, \"An applicative functor that is not a monad.\"")
13862 (license license:bsd-3)))
13863
13864 (define-public ghc-validity
13865 (package
13866 (name "ghc-validity")
13867 (version "0.9.0.2")
13868 (source
13869 (origin
13870 (method url-fetch)
13871 (uri (string-append
13872 "https://hackage.haskell.org/package/validity/validity-"
13873 version
13874 ".tar.gz"))
13875 (sha256
13876 (base32
13877 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
13878 (build-system haskell-build-system)
13879 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13880 ("hspec-discover" ,hspec-discover)))
13881 (home-page
13882 "https://github.com/NorfairKing/validity")
13883 (synopsis "Validity typeclass")
13884 (description
13885 "Values of custom types usually have invariants imposed upon them. This
13886 package provides the @code{Validity} type class, which makes these invariants
13887 explicit by providing a function to check whether the invariants hold.")
13888 (license license:expat)))
13889
13890 (define-public ghc-vault
13891 (package
13892 (name "ghc-vault")
13893 (version "0.3.1.3")
13894 (source
13895 (origin
13896 (method url-fetch)
13897 (uri (string-append
13898 "https://hackage.haskell.org/package/vault/vault-"
13899 version
13900 ".tar.gz"))
13901 (sha256
13902 (base32
13903 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
13904 (build-system haskell-build-system)
13905 (inputs
13906 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13907 ("ghc-hashable" ,ghc-hashable)
13908 ("ghc-semigroups" ,ghc-semigroups)))
13909 (home-page
13910 "https://github.com/HeinrichApfelmus/vault")
13911 (synopsis "Persistent store for arbitrary values")
13912 (description "This package provides vaults for Haskell. A vault is a
13913 persistent store for values of arbitrary types. It's like having first-class
13914 access to the storage space behind @code{IORefs}. The data structure is
13915 analogous to a bank vault, where you can access different bank boxes with
13916 different keys; hence the name. Also provided is a @code{locker} type,
13917 representing a store for a single element.")
13918 (license license:bsd-3)))
13919
13920 (define-public ghc-vector
13921 (package
13922 (name "ghc-vector")
13923 (version "0.12.0.3")
13924 (outputs '("out" "doc"))
13925 (source
13926 (origin
13927 (method url-fetch)
13928 (uri (string-append
13929 "https://hackage.haskell.org/package/vector/vector-"
13930 version
13931 ".tar.gz"))
13932 (sha256
13933 (base32
13934 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
13935 (build-system haskell-build-system)
13936 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13937 ;; disabled for now.
13938 (arguments
13939 `(#:tests? #f))
13940 (inputs
13941 `(("ghc-primitive" ,ghc-primitive)
13942 ("ghc-random" ,ghc-random)
13943 ("ghc-quickcheck" ,ghc-quickcheck)
13944 ;; ("ghc-hunit" ,ghc-hunit)
13945 ;; ("ghc-test-framework" ,ghc-test-framework)
13946 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13947 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13948 ))
13949 (home-page "https://github.com/haskell/vector")
13950 (synopsis "Efficient Arrays")
13951 (description "This library provides an efficient implementation of
13952 Int-indexed arrays (both mutable and immutable), with a powerful loop
13953 optimisation framework.")
13954 (license license:bsd-3)))
13955
13956 (define-public ghc-vector-algorithms
13957 (package
13958 (name "ghc-vector-algorithms")
13959 (version "0.8.0.1")
13960 (source
13961 (origin
13962 (method url-fetch)
13963 (uri (string-append "https://hackage.haskell.org/package/"
13964 "vector-algorithms-" version "/"
13965 "vector-algorithms-" version ".tar.gz"))
13966 (sha256
13967 (base32
13968 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
13969 (build-system haskell-build-system)
13970 (inputs
13971 `(("ghc-vector" ,ghc-vector)))
13972 (native-inputs
13973 `(("ghc-quickcheck" ,ghc-quickcheck)))
13974 (home-page "https://github.com/bos/math-functions")
13975 (synopsis "Algorithms for vector arrays in Haskell")
13976 (description "This Haskell library algorithms for vector arrays.")
13977 (license license:bsd-3)))
13978
13979 (define-public ghc-vector-binary-instances
13980 (package
13981 (name "ghc-vector-binary-instances")
13982 (version "0.2.5.1")
13983 (source
13984 (origin
13985 (method url-fetch)
13986 (uri (string-append
13987 "https://hackage.haskell.org/package/"
13988 "vector-binary-instances/vector-binary-instances-"
13989 version ".tar.gz"))
13990 (sha256
13991 (base32
13992 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
13993 (build-system haskell-build-system)
13994 (inputs
13995 `(("ghc-vector" ,ghc-vector)))
13996 (native-inputs
13997 `(("ghc-tasty" ,ghc-tasty)
13998 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13999 (home-page "https://github.com/bos/vector-binary-instances")
14000 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14001 (description "This library provides instances of @code{Binary} for the
14002 types defined in the @code{vector} package, making it easy to serialize
14003 vectors to and from disk. We use the generic interface to vectors, so all
14004 vector types are supported. Specific instances are provided for unboxed,
14005 boxed and storable vectors.")
14006 (license license:bsd-3)))
14007
14008 (define-public ghc-vector-builder
14009 (package
14010 (name "ghc-vector-builder")
14011 (version "0.3.8")
14012 (source
14013 (origin
14014 (method url-fetch)
14015 (uri (string-append "https://hackage.haskell.org/package/"
14016 "vector-builder-" version "/"
14017 "vector-builder-" version ".tar.gz"))
14018 (sha256
14019 (base32
14020 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
14021 (build-system haskell-build-system)
14022 (inputs `(("ghc-vector" ,ghc-vector)
14023 ("ghc-semigroups" ,ghc-semigroups)
14024 ("ghc-base-prelude" ,ghc-base-prelude)))
14025 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14026 ("ghc-tasty" ,ghc-tasty)
14027 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14028 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14029 ("ghc-hunit" ,ghc-hunit)
14030 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14031 ("ghc-rerebase" ,ghc-rerebase)))
14032 (home-page "https://github.com/nikita-volkov/vector-builder")
14033 (synopsis "Vector builder for Haskell")
14034 (description "This Haskell package provides an API for constructing vectors.
14035 It provides the composable @code{Builder} abstraction, which has instances of the
14036 @code{Monoid} and @code{Semigroup} classes.
14037
14038 You would first use the @code{Builder} abstraction to specify the structure of
14039 the vector; then you can execute the builder to actually produce the
14040 vector. ")
14041 (license license:expat)))
14042
14043 (define-public ghc-vector-th-unbox
14044 (package
14045 (name "ghc-vector-th-unbox")
14046 (version "0.2.1.7")
14047 (source
14048 (origin
14049 (method url-fetch)
14050 (uri (string-append "https://hackage.haskell.org/package/"
14051 "vector-th-unbox-" version "/"
14052 "vector-th-unbox-" version ".tar.gz"))
14053 (sha256
14054 (base32
14055 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
14056 (build-system haskell-build-system)
14057 (inputs
14058 `(("ghc-vector" ,ghc-vector)
14059 ("ghc-data-default" ,ghc-data-default)))
14060 (home-page "https://github.com/liyang/vector-th-unbox")
14061 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14062 (description "This Haskell library provides a Template Haskell
14063 deriver for unboxed vectors, given a pair of coercion functions to
14064 and from some existing type with an Unbox instance.")
14065 (license license:bsd-3)))
14066
14067 (define-public ghc-void
14068 (package
14069 (name "ghc-void")
14070 (version "0.7.3")
14071 (source
14072 (origin
14073 (method url-fetch)
14074 (uri (string-append
14075 "https://hackage.haskell.org/package/void/void-"
14076 version
14077 ".tar.gz"))
14078 (sha256
14079 (base32
14080 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
14081 (build-system haskell-build-system)
14082 (inputs
14083 `(("ghc-semigroups" ,ghc-semigroups)
14084 ("ghc-hashable" ,ghc-hashable)))
14085 (home-page "https://github.com/ekmett/void")
14086 (synopsis
14087 "Logically uninhabited data type")
14088 (description
14089 "A Haskell 98 logically uninhabited data type, used to indicate that a
14090 given term should not exist.")
14091 (license license:bsd-3)))
14092
14093 (define-public ghc-wave
14094 (package
14095 (name "ghc-wave")
14096 (version "0.2.0")
14097 (source (origin
14098 (method url-fetch)
14099 (uri (string-append
14100 "https://hackage.haskell.org/package/wave/wave-"
14101 version
14102 ".tar.gz"))
14103 (sha256
14104 (base32
14105 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
14106 (build-system haskell-build-system)
14107 (arguments
14108 '(#:phases
14109 (modify-phases %standard-phases
14110 (add-before 'configure 'update-constraints
14111 (lambda _
14112 (substitute* "wave.cabal"
14113 (("temporary.* < 1\\.3")
14114 "temporary >= 1.1 && < 1.4")))))))
14115 (inputs
14116 `(("ghc-cereal" ,ghc-cereal)
14117 ("ghc-data-default-class"
14118 ,ghc-data-default-class)
14119 ("ghc-quickcheck" ,ghc-quickcheck)
14120 ("ghc-temporary" ,ghc-temporary)))
14121 (native-inputs
14122 `(("hspec-discover" ,hspec-discover)
14123 ("ghc-hspec" ,ghc-hspec)))
14124 (home-page "https://github.com/mrkkrp/wave")
14125 (synopsis "Work with WAVE and RF64 files in Haskell")
14126 (description "This package allows you to work with WAVE and RF64
14127 files in Haskell.")
14128 (license license:bsd-3)))
14129
14130 (define-public ghc-wcwidth
14131 (package
14132 (name "ghc-wcwidth")
14133 (version "0.0.2")
14134 (source
14135 (origin
14136 (method url-fetch)
14137 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14138 version ".tar.gz"))
14139 (sha256
14140 (base32
14141 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14142 (build-system haskell-build-system)
14143 (inputs
14144 `(("ghc-setlocale" ,ghc-setlocale)
14145 ("ghc-utf8-string" ,ghc-utf8-string)
14146 ("ghc-attoparsec" ,ghc-attoparsec)))
14147 (home-page "https://github.com/solidsnack/wcwidth/")
14148 (synopsis "Haskell bindings to wcwidth")
14149 (description "This package provides Haskell bindings to your system's
14150 native wcwidth and a command line tool to examine the widths assigned by it.
14151 The command line tool can compile a width table to Haskell code that assigns
14152 widths to the Char type.")
14153 (license license:bsd-3)))
14154
14155 (define-public ghc-wcwidth-bootstrap
14156 (package
14157 (inherit ghc-wcwidth)
14158 (name "ghc-wcwidth-bootstrap")
14159 (inputs
14160 `(("ghc-setlocale" ,ghc-setlocale)
14161 ("ghc-utf8-string" ,ghc-utf8-string)
14162 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
14163 (properties '((hidden? #t)))))
14164
14165 (define-public ghc-weigh
14166 (package
14167 (name "ghc-weigh")
14168 (version "0.0.14")
14169 (source
14170 (origin
14171 (method url-fetch)
14172 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14173 "weigh-" version ".tar.gz"))
14174 (sha256
14175 (base32
14176 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
14177 (build-system haskell-build-system)
14178 (inputs
14179 `(("ghc-split" ,ghc-split)
14180 ("ghc-temporary" ,ghc-temporary)))
14181 (home-page "https://github.com/fpco/weigh#readme")
14182 (synopsis "Measure allocations of a Haskell functions/values")
14183 (description "This package provides tools to measure the memory usage of a
14184 Haskell value or function.")
14185 (license license:bsd-3)))
14186
14187 (define-public ghc-wl-pprint
14188 (package
14189 (name "ghc-wl-pprint")
14190 (version "1.2.1")
14191 (source (origin
14192 (method url-fetch)
14193 (uri (string-append
14194 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14195 version ".tar.gz"))
14196 (sha256
14197 (base32
14198 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14199 (build-system haskell-build-system)
14200 (home-page "https://hackage.haskell.org/package/wl-pprint")
14201 (synopsis "Wadler/Leijen pretty printer")
14202 (description
14203 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14204 Printer}. This version allows the library user to declare overlapping
14205 instances of the @code{Pretty} class.")
14206 (license license:bsd-3)))
14207
14208 (define-public ghc-wl-pprint-annotated
14209 (package
14210 (name "ghc-wl-pprint-annotated")
14211 (version "0.1.0.1")
14212 (source
14213 (origin
14214 (method url-fetch)
14215 (uri (string-append
14216 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14217 version
14218 ".tar.gz"))
14219 (sha256
14220 (base32
14221 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14222 (build-system haskell-build-system)
14223 (native-inputs
14224 `(("ghc-tasty" ,ghc-tasty)
14225 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14226 (home-page
14227 "https://github.com/minad/wl-pprint-annotated#readme")
14228 (synopsis
14229 "Wadler/Leijen pretty printer with annotation support")
14230 (description
14231 "Annotations are useful for coloring. This is a limited version of
14232 @code{wl-pprint-extras} without support for point effects and without the free
14233 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14234 Compared to @code{annotated-wl-pprint} this library provides a slightly
14235 modernized interface.")
14236 (license license:bsd-3)))
14237
14238 (define-public ghc-wl-pprint-text
14239 (package
14240 (name "ghc-wl-pprint-text")
14241 (version "1.2.0.0")
14242 (source
14243 (origin
14244 (method url-fetch)
14245 (uri (string-append
14246 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14247 version ".tar.gz"))
14248 (sha256
14249 (base32
14250 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14251 (build-system haskell-build-system)
14252 (inputs
14253 `(("ghc-base-compat" ,ghc-base-compat)))
14254 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14255 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14256 (description
14257 "A clone of wl-pprint for use with the text library.")
14258 (license license:bsd-3)))
14259
14260 (define-public ghc-word8
14261 (package
14262 (name "ghc-word8")
14263 (version "0.1.3")
14264 (source
14265 (origin
14266 (method url-fetch)
14267 (uri (string-append
14268 "https://hackage.haskell.org/package/word8/word8-"
14269 version
14270 ".tar.gz"))
14271 (sha256
14272 (base32
14273 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14274 (build-system haskell-build-system)
14275 (native-inputs
14276 `(("ghc-hspec" ,ghc-hspec)
14277 ("hspec-discover" ,hspec-discover)))
14278 (home-page "https://hackage.haskell.org/package/word8")
14279 (synopsis "Word8 library for Haskell")
14280 (description "Word8 library to be used with @code{Data.ByteString}.")
14281 (license license:bsd-3)))
14282
14283 (define-public ghc-x11
14284 (package
14285 (name "ghc-x11")
14286 (version "1.9.1")
14287 (source
14288 (origin
14289 (method url-fetch)
14290 (uri (string-append "https://hackage.haskell.org/package/X11/"
14291 "X11-" version ".tar.gz"))
14292 (sha256
14293 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
14294 (build-system haskell-build-system)
14295 (inputs
14296 `(("libx11" ,libx11)
14297 ("libxrandr" ,libxrandr)
14298 ("libxinerama" ,libxinerama)
14299 ("libxscrnsaver" ,libxscrnsaver)
14300 ("ghc-data-default" ,ghc-data-default)))
14301 (home-page "https://github.com/haskell-pkg-janitors/X11")
14302 (synopsis "Bindings to the X11 graphics library")
14303 (description
14304 "This package provides Haskell bindings to the X11 graphics library. The
14305 bindings are a direct translation of the C bindings.")
14306 (license license:bsd-3)))
14307
14308 (define-public ghc-x11-xft
14309 (package
14310 (name "ghc-x11-xft")
14311 (version "0.3.1")
14312 (source
14313 (origin
14314 (method url-fetch)
14315 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14316 "X11-xft-" version ".tar.gz"))
14317 (sha256
14318 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14319 (inputs
14320 `(("ghc-x11" ,ghc-x11)
14321 ("ghc-utf8-string" ,ghc-utf8-string)
14322 ("libx11" ,libx11)
14323 ("libxft" ,libxft)
14324 ("xorgproto" ,xorgproto)))
14325 (native-inputs
14326 `(("pkg-config" ,pkg-config)))
14327 (build-system haskell-build-system)
14328 (home-page "https://hackage.haskell.org/package/X11-xft")
14329 (synopsis "Bindings to Xft")
14330 (description
14331 "Bindings to the Xft, X Free Type interface library, and some Xrender
14332 parts.")
14333 (license license:lgpl2.1)))
14334
14335 (define-public ghc-xdg-basedir
14336 (package
14337 (name "ghc-xdg-basedir")
14338 (version "0.2.2")
14339 (source
14340 (origin
14341 (method url-fetch)
14342 (uri (string-append
14343 "https://hackage.haskell.org/package/xdg-basedir/"
14344 "xdg-basedir-" version ".tar.gz"))
14345 (sha256
14346 (base32
14347 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14348 (build-system haskell-build-system)
14349 (home-page "https://github.com/willdonnelly/xdg-basedir")
14350 (synopsis "XDG Base Directory library for Haskell")
14351 (description "This package provides a library implementing the XDG Base Directory spec.")
14352 (license license:bsd-3)))
14353
14354 (define-public ghc-xml
14355 (package
14356 (name "ghc-xml")
14357 (version "1.3.14")
14358 (source
14359 (origin
14360 (method url-fetch)
14361 (uri (string-append
14362 "https://hackage.haskell.org/package/xml/xml-"
14363 version
14364 ".tar.gz"))
14365 (sha256
14366 (base32
14367 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14368 (build-system haskell-build-system)
14369 (home-page "https://github.com/GaloisInc/xml")
14370 (synopsis "Simple XML library for Haskell")
14371 (description "This package provides a simple XML library for Haskell.")
14372 (license license:bsd-3)))
14373
14374 (define-public ghc-xml-conduit
14375 (package
14376 (name "ghc-xml-conduit")
14377 (version "1.8.0.1")
14378 (source
14379 (origin
14380 (method url-fetch)
14381 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14382 "xml-conduit-" version ".tar.gz"))
14383 (sha256
14384 (base32
14385 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14386 (build-system haskell-build-system)
14387 (inputs
14388 `(("ghc-conduit" ,ghc-conduit)
14389 ("ghc-conduit-extra" ,ghc-conduit-extra)
14390 ("ghc-doctest" ,ghc-doctest)
14391 ("ghc-resourcet" ,ghc-resourcet)
14392 ("ghc-xml-types" ,ghc-xml-types)
14393 ("ghc-attoparsec" ,ghc-attoparsec)
14394 ("ghc-data-default-class" ,ghc-data-default-class)
14395 ("ghc-blaze-markup" ,ghc-blaze-markup)
14396 ("ghc-blaze-html" ,ghc-blaze-html)
14397 ("ghc-monad-control" ,ghc-monad-control)
14398 ("ghc-hspec" ,ghc-hspec)
14399 ("ghc-hunit" ,ghc-hunit)))
14400 (home-page "https://github.com/snoyberg/xml")
14401 (synopsis "Utilities for dealing with XML with the conduit package")
14402 (description
14403 "This package provides pure-Haskell utilities for dealing with XML with
14404 the @code{conduit} package.")
14405 (license license:expat)))
14406
14407 (define-public ghc-xml-types
14408 (package
14409 (name "ghc-xml-types")
14410 (version "0.3.6")
14411 (source
14412 (origin
14413 (method url-fetch)
14414 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14415 "xml-types-" version ".tar.gz"))
14416 (sha256
14417 (base32
14418 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14419 (build-system haskell-build-system)
14420 (home-page "https://john-millikin.com/software/haskell-xml/")
14421 (synopsis "Basic types for representing XML")
14422 (description "This package provides basic types for representing XML
14423 documents.")
14424 (license license:expat)))
14425
14426 (define-public ghc-yaml
14427 (package
14428 (name "ghc-yaml")
14429 (version "0.11.1.2")
14430 (source (origin
14431 (method url-fetch)
14432 (uri (string-append "https://hackage.haskell.org/package/"
14433 "yaml/yaml-" version ".tar.gz"))
14434 (sha256
14435 (base32
14436 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
14437 (build-system haskell-build-system)
14438 (inputs
14439 `(("ghc-conduit" ,ghc-conduit)
14440 ("ghc-resourcet" ,ghc-resourcet)
14441 ("ghc-aeson" ,ghc-aeson)
14442 ("ghc-unordered-containers" ,ghc-unordered-containers)
14443 ("ghc-vector" ,ghc-vector)
14444 ("ghc-attoparsec" ,ghc-attoparsec)
14445 ("ghc-scientific" ,ghc-scientific)
14446 ("ghc-semigroups" ,ghc-semigroups)
14447 ("ghc-temporary" ,ghc-temporary)
14448 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
14449 ("ghc-base-compat" ,ghc-base-compat)
14450 ("ghc-libyaml" ,ghc-libyaml)))
14451 (native-inputs
14452 `(("ghc-hspec" ,ghc-hspec)
14453 ("ghc-hunit" ,ghc-hunit)
14454 ("hspec-discover" ,hspec-discover)
14455 ("ghc-mockery" ,ghc-mockery)
14456 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
14457 (home-page "https://github.com/snoyberg/yaml/")
14458 (synopsis "Parsing and rendering YAML documents")
14459 (description
14460 "This package provides a library to parse and render YAML documents.")
14461 (license license:bsd-3)))
14462
14463 (define-public ghc-zip-archive
14464 (package
14465 (name "ghc-zip-archive")
14466 (version "0.4.1")
14467 (source
14468 (origin
14469 (method url-fetch)
14470 (uri (string-append
14471 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14472 version
14473 ".tar.gz"))
14474 (sha256
14475 (base32
14476 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
14477 (build-system haskell-build-system)
14478 (arguments
14479 `(#:phases
14480 (modify-phases %standard-phases
14481 (add-before 'check 'set-PATH-for-tests
14482 (lambda* (#:key inputs #:allow-other-keys)
14483 (let ((unzip (assoc-ref inputs "unzip"))
14484 (which (assoc-ref inputs "which"))
14485 (path (getenv "PATH")))
14486 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14487 #t))))))
14488 (inputs
14489 `(("ghc-digest" ,ghc-digest)
14490 ("ghc-temporary" ,ghc-temporary)
14491 ("ghc-zlib" ,ghc-zlib)))
14492 (native-inputs
14493 `(("ghc-hunit" ,ghc-hunit)
14494 ("unzip" ,unzip)
14495 ("which" ,which)))
14496 (home-page "https://hackage.haskell.org/package/zip-archive")
14497 (synopsis "Zip archive library for Haskell")
14498 (description "The zip-archive library provides functions for creating,
14499 modifying, and extracting files from zip archives in Haskell.")
14500 (license license:bsd-3)))
14501
14502 (define-public ghc-zlib
14503 (package
14504 (name "ghc-zlib")
14505 (version "0.6.2.1")
14506 (outputs '("out" "doc"))
14507 (source
14508 (origin
14509 (method url-fetch)
14510 (uri (string-append
14511 "https://hackage.haskell.org/package/zlib/zlib-"
14512 version
14513 ".tar.gz"))
14514 (sha256
14515 (base32
14516 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
14517 (build-system haskell-build-system)
14518 (arguments
14519 `(#:phases
14520 (modify-phases %standard-phases
14521 (add-before 'configure 'strip-test-framework-constraints
14522 (lambda _
14523 (substitute* "zlib.cabal"
14524 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14525 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14526 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14527 (inputs `(("zlib" ,zlib)))
14528 (native-inputs
14529 `(("ghc-quickcheck" ,ghc-quickcheck)
14530 ("ghc-tasty" ,ghc-tasty)
14531 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14532 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14533 (home-page "https://hackage.haskell.org/package/zlib")
14534 (synopsis
14535 "Compression and decompression in the gzip and zlib formats")
14536 (description
14537 "This package provides a pure interface for compressing and decompressing
14538 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14539 library so it has high performance. It supports the @code{zlib}, @code{gzip}
14540 and @code{raw} compression formats. It provides a convenient high level API
14541 suitable for most tasks and for the few cases where more control is needed it
14542 provides access to the full zlib feature set.")
14543 (license license:bsd-3)))
14544
14545 (define-public ghc-zlib-bindings
14546 (package
14547 (name "ghc-zlib-bindings")
14548 (version "0.1.1.5")
14549 (source
14550 (origin
14551 (method url-fetch)
14552 (uri (string-append "https://hackage.haskell.org/package/"
14553 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14554 (sha256
14555 (base32
14556 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14557 (build-system haskell-build-system)
14558 (inputs
14559 `(("ghc-zlib" ,ghc-zlib)))
14560 (native-inputs
14561 `(("ghc-hspec" ,ghc-hspec)
14562 ("ghc-quickcheck" ,ghc-quickcheck)))
14563 (arguments
14564 `(#:cabal-revision
14565 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14566 (home-page "https://github.com/snapframework/zlib-bindings")
14567 (synopsis "Low-level bindings to the @code{zlib} package")
14568 (description "This package provides low-level bindings to the
14569 @code{zlib} package.")
14570 (license license:bsd-3)))
14571
14572 (define-public ghc-zstd
14573 (package
14574 (name "ghc-zstd")
14575 (version "0.1.1.2")
14576 (source
14577 (origin
14578 (method url-fetch)
14579 (uri (string-append "https://hackage.haskell.org/package/"
14580 "zstd/zstd-" version ".tar.gz"))
14581 (sha256
14582 (base32
14583 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14584 (build-system haskell-build-system)
14585 (native-inputs
14586 `(("ghc-quickcheck" ,ghc-quickcheck)
14587 ("ghc-test-framework" ,ghc-test-framework)
14588 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14589 (home-page "https://github.com/luispedro/hs-zstd")
14590 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14591 (description "This library provides Haskell bindings to the
14592 Zstandard compression algorithm, a fast lossless compression algorithm
14593 targeting real-time compression scenarios at zlib-level and better
14594 compression ratios.")
14595 (license license:bsd-3)))