gnu: r-squarem: Update home page and use HTTPS.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3 ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5 ;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6 ;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
7 ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
8 ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
9 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10 ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11 ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13 ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14 ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16 ;;; Copyright © 2018 Tonton <tonton@riseup.net>
17 ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19 ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
20 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
21 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
22 ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
23 ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
24 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
25 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
26 ;;; Copyright © 2020 JoJo <jo@jo.zone>
27 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
28 ;;;
29 ;;; This file is part of GNU Guix.
30 ;;;
31 ;;; GNU Guix is free software; you can redistribute it and/or modify it
32 ;;; under the terms of the GNU General Public License as published by
33 ;;; the Free Software Foundation; either version 3 of the License, or (at
34 ;;; your option) any later version.
35 ;;;
36 ;;; GNU Guix is distributed in the hope that it will be useful, but
37 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 ;;; GNU General Public License for more details.
40 ;;;
41 ;;; You should have received a copy of the GNU General Public License
42 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44 (define-module (gnu packages haskell-xyz)
45 #:use-module (gnu packages)
46 #:use-module (gnu packages base)
47 #:use-module (gnu packages compression)
48 #:use-module (gnu packages emacs)
49 #:use-module (gnu packages gcc)
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 "http://www.haskell.org/haskellwiki/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-async
459 (package
460 (name "ghc-async")
461 (version "2.2.2")
462 (source
463 (origin
464 (method url-fetch)
465 (uri (string-append
466 "https://hackage.haskell.org/package/async/async-"
467 version
468 ".tar.gz"))
469 (sha256
470 (base32
471 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
472 (build-system haskell-build-system)
473 (inputs
474 `(("ghc-hashable" ,ghc-hashable)
475 ("ghc-hunit" ,ghc-hunit)
476 ("ghc-test-framework" ,ghc-test-framework)
477 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
478 (home-page "https://github.com/simonmar/async")
479 (synopsis "Library to run IO operations asynchronously")
480 (description "Async provides a library to run IO operations
481 asynchronously, and wait for their results. It is a higher-level interface
482 over threads in Haskell, in which @code{Async a} is a concurrent thread that
483 will eventually deliver a value of type @code{a}.")
484 (license license:bsd-3)))
485
486 (define-public ghc-atomic-primops
487 (package
488 (name "ghc-atomic-primops")
489 (version "0.8.3")
490 (source
491 (origin
492 (method url-fetch)
493 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
494 "/atomic-primops-" version ".tar.gz"))
495 (sha256
496 (base32
497 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
498 (build-system haskell-build-system)
499 (inputs `(("ghc-primitive" ,ghc-primitive)))
500 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
501 (synopsis "Safe approach to CAS and other atomic ops")
502 (description
503 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
504 use safely, because pointer equality is a highly unstable property in Haskell.
505 This library provides a safer method based on the concept of @code{Ticket}s.")
506 (license license:bsd-3)))
507
508 (define-public ghc-atomic-write
509 (package
510 (name "ghc-atomic-write")
511 (version "0.2.0.6")
512 (source
513 (origin
514 (method url-fetch)
515 (uri (string-append
516 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
517 version
518 ".tar.gz"))
519 (sha256
520 (base32
521 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
522 (build-system haskell-build-system)
523 (inputs
524 `(("ghc-temporary" ,ghc-temporary)
525 ("ghc-unix-compat" ,ghc-unix-compat)))
526 (native-inputs
527 `(("ghc-temporary" ,ghc-temporary)
528 ("ghc-unix-compat" ,ghc-unix-compat)
529 ("ghc-hspec" ,ghc-hspec)
530 ("hspec-discover" ,hspec-discover)))
531 (home-page "https://github.com/stackbuilders/atomic-write")
532 (synopsis "Atomically write to a file")
533 (description
534 "Atomically write to a file on POSIX-compliant systems while preserving
535 permissions. @code{mv} is an atomic operation. This makes it simple to write
536 to a file atomically just by using the @code{mv} operation. However, this
537 will destroy the permissions on the original file. This library preserves
538 permissions while atomically writing to a file.")
539 (license license:expat)))
540
541 (define-public ghc-attoparsec
542 (package
543 (name "ghc-attoparsec")
544 (version "0.13.2.3")
545 (source
546 (origin
547 (method url-fetch)
548 (uri (string-append
549 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
550 version
551 ".tar.gz"))
552 (sha256
553 (base32
554 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
555 (build-system haskell-build-system)
556 (arguments
557 `(#:phases
558 (modify-phases %standard-phases
559 (add-after 'unpack 'patch-for-newer-quickcheck
560 (lambda _
561 (substitute* "attoparsec.cabal"
562 (("QuickCheck >= 2\\.7 && < 2\\.10")
563 "QuickCheck >= 2.7 && < 2.12"))
564 ;; This test fails because of the newer QuickCheck:
565 ;; <https://github.com/bos/attoparsec/issues/134>.
566 (substitute* "tests/QC/ByteString.hs"
567 ((", testProperty \"satisfyWith\" satisfyWith")
568 "")))))))
569 (inputs
570 `(("ghc-scientific" ,ghc-scientific)))
571 (native-inputs
572 `(("ghc-tasty" ,ghc-tasty)
573 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
574 ("ghc-quickcheck" ,ghc-quickcheck)
575 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
576 ("ghc-vector" ,ghc-vector)))
577 (home-page "https://github.com/bos/attoparsec")
578 (synopsis "Fast combinator parsing for bytestrings and text")
579 (description "This library provides a fast parser combinator library,
580 aimed particularly at dealing efficiently with network protocols and
581 complicated text/binary file formats.")
582 (license license:bsd-3)))
583
584 (define-public ghc-attoparsec-bootstrap
585 (package
586 (inherit ghc-attoparsec)
587 (name "ghc-attoparsec-bootstrap")
588 (arguments `(#:tests? #f))
589 (inputs
590 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
591 (native-inputs '())
592 (properties '((hidden? #t)))))
593
594 (define-public ghc-attoparsec-iso8601
595 (package
596 (name "ghc-attoparsec-iso8601")
597 (version "1.0.1.0")
598 (source
599 (origin
600 (method url-fetch)
601 (uri (string-append "https://hackage.haskell.org/package/"
602 "attoparsec-iso8601-" version "/"
603 "attoparsec-iso8601-" version ".tar.gz"))
604 (sha256
605 (base32
606 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
607 (build-system haskell-build-system)
608 (arguments
609 `(#:cabal-revision
610 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
611 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
612 ("ghc-base-compat" ,ghc-base-compat)))
613 (home-page "https://github.com/bos/aeson")
614 (synopsis "Parse ISO 8601 dates")
615 (description "Haskell library for parsing of ISO 8601 dates, originally
616 from aeson.")
617 (license license:bsd-3)))
618
619 (define-public ghc-auto-update
620 (package
621 (name "ghc-auto-update")
622 (version "0.1.6")
623 (source
624 (origin
625 (method url-fetch)
626 (uri (string-append
627 "https://hackage.haskell.org/package/auto-update/auto-update-"
628 version
629 ".tar.gz"))
630 (sha256
631 (base32
632 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
633 (build-system haskell-build-system)
634 (native-inputs
635 `(("ghc-hspec" ,ghc-hspec)
636 ("ghc-hunit" ,ghc-hunit)
637 ("ghc-retry" ,ghc-retry)
638 ("hspec-discover" ,hspec-discover)))
639 (home-page "https://github.com/yesodweb/wai")
640 (synopsis "Efficiently run periodic, on-demand actions")
641 (description "This library provides mechanisms to efficiently run
642 periodic, on-demand actions in Haskell.")
643 (license license:expat)))
644
645 (define-public ghc-aws
646 (package
647 (name "ghc-aws")
648 (version "0.20")
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append "https://hackage.haskell.org/package/"
653 "aws-" version "/aws-" version ".tar.gz"))
654 (sha256 (base32
655 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
656 (build-system haskell-build-system)
657 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
658 (inputs
659 `(("ghc-aeson" ,ghc-aeson)
660 ("ghc-attoparsec" ,ghc-attoparsec)
661 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
662 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
663 ("ghc-blaze-builder" ,ghc-blaze-builder)
664 ("ghc-byteable" ,ghc-byteable)
665 ("ghc-case-insensitive" ,ghc-case-insensitive)
666 ("ghc-cereal" ,ghc-cereal)
667 ("ghc-conduit" ,ghc-conduit)
668 ("ghc-conduit-extra" ,ghc-conduit-extra)
669 ("ghc-cryptonite" ,ghc-cryptonite)
670 ("ghc-data-default" ,ghc-data-default)
671 ("ghc-http-conduit" ,ghc-http-conduit)
672 ("ghc-http-types" ,ghc-http-types)
673 ("ghc-lifted-base" ,ghc-lifted-base)
674 ("ghc-monad-control" ,ghc-monad-control)
675 ("ghc-network" ,ghc-network)
676 ("ghc-old-locale" ,ghc-old-locale)
677 ("ghc-safe" ,ghc-safe)
678 ("ghc-scientific" ,ghc-scientific)
679 ("ghc-tagged" ,ghc-tagged)
680 ("ghc-unordered-containers" ,ghc-unordered-containers)
681 ("ghc-utf8-string" ,ghc-utf8-string)
682 ("ghc-vector" ,ghc-vector)
683 ("ghc-xml-conduit" ,ghc-xml-conduit)))
684 (native-inputs
685 `(("ghc-quickcheck" ,ghc-quickcheck)
686 ("ghc-errors" ,ghc-errors)
687 ("ghc-http-client" ,ghc-http-client)
688 ("ghc-http-client-tls" ,ghc-http-client-tls)
689 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
690 ("ghc-tasty" ,ghc-tasty)
691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
692 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
693 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
694 (home-page "https://github.com/aristidb/aws")
695 (synopsis "Amazon Web Services for Haskell")
696 (description "This package attempts to provide support for using
697 Amazon Web Services like S3 (storage), SQS (queuing) and others to
698 Haskell programmers. The ultimate goal is to support all Amazon
699 Web Services.")
700 (license license:bsd-3)))
701
702 (define-public ghc-base16-bytestring
703 (package
704 (name "ghc-base16-bytestring")
705 (version "0.1.1.6")
706 (source
707 (origin
708 (method url-fetch)
709 (uri (string-append
710 "https://hackage.haskell.org/package/base16-bytestring/"
711 "base16-bytestring-" version ".tar.gz"))
712 (sha256
713 (base32
714 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
715 (build-system haskell-build-system)
716 (home-page "https://github.com/bos/base16-bytestring")
717 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
718 (description
719 "This package provides a Haskell library for working with base16-encoded
720 data quickly and efficiently, using the ByteString type.")
721 (license license:bsd-3)))
722
723 (define-public ghc-base64-bytestring
724 (package
725 (name "ghc-base64-bytestring")
726 (version "1.0.0.2")
727 (source
728 (origin
729 (method url-fetch)
730 (uri (string-append
731 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
732 version
733 ".tar.gz"))
734 (sha256
735 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
736 (build-system haskell-build-system)
737 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
738 (home-page "https://github.com/bos/base64-bytestring")
739 (synopsis "Base64 encoding and decoding for ByteStrings")
740 (description "This library provides fast base64 encoding and decoding for
741 Haskell @code{ByteString}s.")
742 (license license:bsd-3)))
743
744 (define-public ghc-base-compat
745 (package
746 (name "ghc-base-compat")
747 (version "0.10.5")
748 (source
749 (origin
750 (method url-fetch)
751 (uri (string-append
752 "https://hackage.haskell.org/package/base-compat/base-compat-"
753 version
754 ".tar.gz"))
755 (sha256
756 (base32
757 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
758 (build-system haskell-build-system)
759 (native-inputs
760 `(("ghc-quickcheck" ,ghc-quickcheck)
761 ("ghc-hspec" ,ghc-hspec)
762 ("hspec-discover" ,hspec-discover)))
763 (home-page "https://hackage.haskell.org/package/base-compat")
764 (synopsis "Haskell compiler compatibility library")
765 (description "This library provides functions available in later versions
766 of base to a wider range of compilers, without requiring the use of CPP
767 pragmas in your code.")
768 (license license:bsd-3)))
769
770 (define-public ghc-base-compat-batteries
771 (package
772 (name "ghc-base-compat-batteries")
773 (version "0.10.5")
774 (source
775 (origin
776 (method url-fetch)
777 (uri (string-append "https://hackage.haskell.org/package/"
778 "base-compat-batteries/base-compat-batteries-"
779 version ".tar.gz"))
780 (sha256
781 (base32
782 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
783 (build-system haskell-build-system)
784 (inputs
785 `(("ghc-base-compat" ,ghc-base-compat)))
786 (native-inputs
787 `(("ghc-hspec" ,ghc-hspec)
788 ("ghc-quickcheck" ,ghc-quickcheck)
789 ("hspec-discover" ,hspec-discover)))
790 (arguments
791 `(#:cabal-revision
792 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
793 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
794 (synopsis "base-compat with extra batteries")
795 (description "This library provides functions available in later
796 versions of @code{base} to a wider range of compilers, without requiring
797 you to use CPP pragmas in your code. This package provides the same API
798 as the @code{base-compat} library, but depends on compatibility
799 packages (such as @code{semigroups}) to offer a wider support window
800 than @code{base-compat}, which has no dependencies.")
801 (license license:expat)))
802
803 (define-public ghc-basement
804 (package
805 (name "ghc-basement")
806 (version "0.0.11")
807 (source
808 (origin
809 (method url-fetch)
810 (uri (string-append "https://hackage.haskell.org/package/"
811 "basement/basement-" version ".tar.gz"))
812 (sha256
813 (base32
814 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
815 (build-system haskell-build-system)
816 (home-page "https://github.com/haskell-foundation/foundation")
817 (synopsis "Basic primitives for Foundation starter pack")
818 (description
819 "This package contains basic primitives for the Foundation set of
820 packages.")
821 (license license:bsd-3)))
822
823 (define-public ghc-base-orphans
824 (package
825 (name "ghc-base-orphans")
826 (version "0.8.1")
827 (source
828 (origin
829 (method url-fetch)
830 (uri (string-append
831 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
832 version
833 ".tar.gz"))
834 (sha256
835 (base32
836 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
837 (build-system haskell-build-system)
838 (native-inputs
839 `(("ghc-quickcheck" ,ghc-quickcheck)
840 ("ghc-hspec" ,ghc-hspec)
841 ("hspec-discover" ,hspec-discover)))
842 (home-page "https://hackage.haskell.org/package/base-orphans")
843 (synopsis "Orphan instances for backwards compatibility")
844 (description "This package defines orphan instances that mimic instances
845 available in later versions of base to a wider (older) range of compilers.")
846 (license license:bsd-3)))
847
848 (define-public ghc-base-prelude
849 (package
850 (name "ghc-base-prelude")
851 (version "1.3")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (string-append "https://hackage.haskell.org/package/"
856 "base-prelude-" version "/"
857 "base-prelude-" version ".tar.gz"))
858 (sha256
859 (base32
860 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
861 (build-system haskell-build-system)
862 (home-page "https://github.com/nikita-volkov/base-prelude")
863 (synopsis "The most complete prelude formed solely from the Haskell's base
864 package")
865 (description "This Haskell package aims to reexport all the non-conflicting
866 and most general definitions from the \"base\" package.
867
868 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
869 exceptions, generics, ST, MVars and STM.
870
871 This package will never have any dependencies other than \"base\".
872
873 Versioning policy:
874
875 The versioning policy of this package deviates from PVP in the sense
876 that its exports in part are transitively determined by the version of \"base\".
877 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
878 the bounds of \"base\" as well.")
879 (license license:expat)))
880
881 (define-public ghc-base-unicode-symbols
882 (package
883 (name "ghc-base-unicode-symbols")
884 (version "0.2.3")
885 (source
886 (origin
887 (method url-fetch)
888 (uri (string-append
889 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
890 version
891 ".tar.gz"))
892 (sha256
893 (base32
894 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
895 (build-system haskell-build-system)
896 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
897 (synopsis "Unicode alternatives for common functions and operators")
898 (description "This package defines new symbols for a number of functions,
899 operators and types in the base package. All symbols are documented with
900 their actual definition and information regarding their Unicode code point.
901 They should be completely interchangeable with their definitions. For
902 further Unicode goodness you can enable the @code{UnicodeSyntax}
903 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
904 language extension}. This extension enables Unicode characters to be used to
905 stand for certain ASCII character sequences, i.e. → instead of @code{->},
906 ∀ instead of @code{forall} and many others.")
907 (license license:bsd-3)))
908
909 (define-public ghc-bifunctors
910 (package
911 (name "ghc-bifunctors")
912 (version "5.5.5")
913 (source
914 (origin
915 (method url-fetch)
916 (uri (string-append
917 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
918 version
919 ".tar.gz"))
920 (sha256
921 (base32
922 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-base-orphans" ,ghc-base-orphans)
926 ("ghc-comonad" ,ghc-comonad)
927 ("ghc-th-abstraction" ,ghc-th-abstraction)
928 ("ghc-transformers-compat" ,ghc-transformers-compat)
929 ("ghc-tagged" ,ghc-tagged)
930 ("ghc-semigroups" ,ghc-semigroups)))
931 (native-inputs
932 `(("ghc-hspec" ,ghc-hspec)
933 ("hspec-discover" ,hspec-discover)
934 ("ghc-quickcheck" ,ghc-quickcheck)))
935 (home-page "https://github.com/ekmett/bifunctors/")
936 (synopsis "Bifunctors for Haskell")
937 (description "This package provides bifunctors for Haskell.")
938 (license license:bsd-3)))
939
940 (define-public ghc-bindings-dsl
941 (package
942 (name "ghc-bindings-dsl")
943 (version "1.0.25")
944 (source
945 (origin
946 (method url-fetch)
947 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
948 "bindings-DSL-" version ".tar.gz"))
949 (sha256
950 (base32
951 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
952 (build-system haskell-build-system)
953 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
954 (synopsis "FFI domain specific language, on top of hsc2hs")
955 (description
956 "This is a set of macros to be used when writing Haskell FFI. They were
957 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
958 extract from them all Haskell code needed to mimic such interfaces. All
959 Haskell names used are automatically derived from C names, structures are
960 mapped to Haskell instances of @code{Storable}, and there are also macros you
961 can use with C code to help write bindings to inline functions or macro
962 functions.")
963 (license license:bsd-3)))
964
965 (define-public ghc-bitarray
966 (package
967 (name "ghc-bitarray")
968 (version "0.0.1.1")
969 (source
970 (origin
971 (method url-fetch)
972 (uri (string-append "https://hackage.haskell.org/package/"
973 "bitarray/bitarray-" version ".tar.gz"))
974 (sha256
975 (base32
976 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
977 (build-system haskell-build-system)
978 (arguments
979 `(#:cabal-revision
980 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
981 (home-page "https://hackage.haskell.org/package/bitarray")
982 (synopsis "Mutable and immutable bit arrays")
983 (description "The package provides mutable and immutable bit arrays.")
984 (license license:bsd-3)))
985
986 (define-public ghc-blaze-builder
987 (package
988 (name "ghc-blaze-builder")
989 (version "0.4.1.0")
990 (source
991 (origin
992 (method url-fetch)
993 (uri (string-append
994 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
995 version
996 ".tar.gz"))
997 (sha256
998 (base32
999 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1000 (build-system haskell-build-system)
1001 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1002 (inputs
1003 `(("ghc-utf8-string" ,ghc-utf8-string)))
1004 (home-page "https://github.com/lpsmith/blaze-builder")
1005 (synopsis "Efficient buffered output")
1006 (description "This library provides an implementation of the older
1007 @code{blaze-builder} interface in terms of the new builder that shipped with
1008 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1009 bridge to the new builder, so that code that uses the old interface can
1010 interoperate with code that uses the new implementation.")
1011 (license license:bsd-3)))
1012
1013 (define-public ghc-blaze-markup
1014 (package
1015 (name "ghc-blaze-markup")
1016 (version "0.8.2.3")
1017 (source
1018 (origin
1019 (method url-fetch)
1020 (uri (string-append "https://hackage.haskell.org/package/"
1021 "blaze-markup/blaze-markup-"
1022 version ".tar.gz"))
1023 (sha256
1024 (base32
1025 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
1026 (build-system haskell-build-system)
1027 (arguments
1028 `(#:phases
1029 (modify-phases %standard-phases
1030 (add-before 'configure 'update-constraints
1031 (lambda _
1032 (substitute* "blaze-markup.cabal"
1033 (("tasty >= 1\\.0 && < 1\\.1")
1034 "tasty >= 1.0 && < 1.2")))))))
1035 (inputs
1036 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1037 (native-inputs
1038 `(("ghc-hunit" ,ghc-hunit)
1039 ("ghc-quickcheck" ,ghc-quickcheck)
1040 ("ghc-tasty" ,ghc-tasty)
1041 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1042 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1043 (home-page "https://jaspervdj.be/blaze")
1044 (synopsis "Fast markup combinator library for Haskell")
1045 (description "This library provides core modules of a markup combinator
1046 library for Haskell.")
1047 (license license:bsd-3)))
1048
1049 (define-public ghc-bloomfilter
1050 (package
1051 (name "ghc-bloomfilter")
1052 (version "2.0.1.0")
1053 (source
1054 (origin
1055 (method url-fetch)
1056 (uri (string-append "https://hackage.haskell.org/package/"
1057 "bloomfilter/bloomfilter-" version ".tar.gz"))
1058 (sha256
1059 (base32
1060 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1061 (build-system haskell-build-system)
1062 (native-inputs
1063 `(("ghc-quickcheck" ,ghc-quickcheck)
1064 ("ghc-random" ,ghc-random)
1065 ("ghc-test-framework" ,ghc-test-framework)
1066 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1067 (home-page "https://github.com/bos/bloomfilter")
1068 (synopsis "Pure and impure Bloom filter implementations")
1069 (description "This package provides both mutable and immutable Bloom
1070 filter data types, along with a family of hash functions and an easy-to-use
1071 interface.")
1072 (license license:bsd-3)))
1073
1074 (define-public ghc-boxes
1075 (package
1076 (name "ghc-boxes")
1077 (version "0.1.5")
1078 (source
1079 (origin
1080 (method url-fetch)
1081 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1082 version ".tar.gz"))
1083 (sha256
1084 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1085 (build-system haskell-build-system)
1086 (inputs
1087 `(("ghc-split" ,ghc-split)
1088 ("ghc-quickcheck" ,ghc-quickcheck)))
1089 (home-page "https://hackage.haskell.org/package/boxes")
1090 (synopsis "2D text pretty-printing library")
1091 (description
1092 "Boxes is a pretty-printing library for laying out text in two dimensions,
1093 using a simple box model.")
1094 (license license:bsd-3)))
1095
1096 (define-public ghc-byteable
1097 (package
1098 (name "ghc-byteable")
1099 (version "0.1.1")
1100 (source (origin
1101 (method url-fetch)
1102 (uri (string-append "https://hackage.haskell.org/package/"
1103 "byteable/byteable-" version ".tar.gz"))
1104 (sha256
1105 (base32
1106 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1107 (build-system haskell-build-system)
1108 (home-page "https://github.com/vincenthz/hs-byteable")
1109 (synopsis "Type class for sequence of bytes")
1110 (description
1111 "This package provides an abstract class to manipulate sequence of bytes.
1112 The use case of this class is abstracting manipulation of types that are just
1113 wrapping a bytestring with stronger and more meaniful name.")
1114 (license license:bsd-3)))
1115
1116 (define-public ghc-byteorder
1117 (package
1118 (name "ghc-byteorder")
1119 (version "1.0.4")
1120 (source
1121 (origin
1122 (method url-fetch)
1123 (uri (string-append
1124 "https://hackage.haskell.org/package/byteorder/byteorder-"
1125 version
1126 ".tar.gz"))
1127 (sha256
1128 (base32
1129 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1130 (build-system haskell-build-system)
1131 (home-page
1132 "http://community.haskell.org/~aslatter/code/byteorder")
1133 (synopsis
1134 "Exposes the native endianness of the system")
1135 (description
1136 "This package is for working with the native byte-ordering of the
1137 system.")
1138 (license license:bsd-3)))
1139
1140 (define-public ghc-bytes
1141 (package
1142 (name "ghc-bytes")
1143 (version "0.15.5")
1144 (source
1145 (origin
1146 (method url-fetch)
1147 (uri
1148 (string-append "https://hackage.haskell.org/package/bytes-"
1149 version "/bytes-"
1150 version ".tar.gz"))
1151 (file-name (string-append name "-" version ".tar.gz"))
1152 (sha256
1153 (base32
1154 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1155 (build-system haskell-build-system)
1156 (inputs `(("ghc-cereal" ,ghc-cereal)
1157 ("cabal-doctest" ,cabal-doctest)
1158 ("ghc-doctest" ,ghc-doctest)
1159 ("ghc-scientific" ,ghc-scientific)
1160 ("ghc-transformers-compat" ,ghc-transformers-compat)
1161 ("ghc-unordered-containers" ,ghc-unordered-containers)
1162 ("ghc-void" ,ghc-void)
1163 ("ghc-vector" ,ghc-vector)))
1164 (synopsis "Serialization between @code{binary} and @code{cereal}")
1165 (description "This package provides a simple compatibility shim that lets
1166 you work with both @code{binary} and @code{cereal} with one chunk of
1167 serialization code.")
1168 (home-page "https://hackage.haskell.org/package/bytes")
1169 (license license:bsd-3)))
1170
1171 (define-public ghc-bytestring-builder
1172 (package
1173 (name "ghc-bytestring-builder")
1174 (version "0.10.8.2.0")
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append
1179 "https://hackage.haskell.org/package/bytestring-builder"
1180 "/bytestring-builder-" version ".tar.gz"))
1181 (sha256
1182 (base32
1183 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1184 (build-system haskell-build-system)
1185 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1186 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1187 (synopsis "The new bytestring builder, packaged outside of GHC")
1188 (description "This package provides the bytestring builder that is
1189 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1190 Compatibility package for older packages.")
1191 (license license:bsd-3)))
1192
1193 (define-public ghc-bytestring-handle
1194 (package
1195 (name "ghc-bytestring-handle")
1196 (version "0.1.0.6")
1197 (source
1198 (origin
1199 (method url-fetch)
1200 (uri (string-append
1201 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1202 version ".tar.gz"))
1203 (sha256
1204 (base32
1205 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1206 (build-system haskell-build-system)
1207 (arguments
1208 `(#:cabal-revision
1209 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1210 #:phases
1211 (modify-phases %standard-phases
1212 (add-before 'configure 'update-constraints
1213 (lambda _
1214 (substitute* "bytestring-handle.cabal"
1215 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1216 "QuickCheck >= 2.1.2 && < 2.14")))))))
1217 (inputs
1218 `(("ghc-hunit" ,ghc-hunit)
1219 ("ghc-quickcheck" ,ghc-quickcheck)
1220 ("ghc-test-framework" ,ghc-test-framework)
1221 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1222 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1223 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1224 (synopsis "ByteString-backed Handles")
1225 (description "ByteString-backed Handles") ; There is no description
1226 (license license:bsd-3)))
1227
1228 (define-public ghc-bytestring-lexing
1229 (package
1230 (name "ghc-bytestring-lexing")
1231 (version "0.5.0.2")
1232 (source
1233 (origin
1234 (method url-fetch)
1235 (uri (string-append "https://hackage.haskell.org/package/"
1236 "bytestring-lexing/bytestring-lexing-"
1237 version ".tar.gz"))
1238 (sha256
1239 (base32
1240 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1241 (build-system haskell-build-system)
1242 (home-page "http://code.haskell.org/~wren/")
1243 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1244 (description
1245 "This package provides tools to parse and produce literals efficiently
1246 from strict or lazy bytestrings.")
1247 (license license:bsd-2)))
1248
1249 (define-public ghc-bzlib-conduit
1250 (package
1251 (name "ghc-bzlib-conduit")
1252 (version "0.3.0.2")
1253 (source
1254 (origin
1255 (method url-fetch)
1256 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1257 "bzlib-conduit-" version ".tar.gz"))
1258 (sha256
1259 (base32
1260 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1261 (build-system haskell-build-system)
1262 (inputs
1263 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1264 ("ghc-conduit" ,ghc-conduit)
1265 ("ghc-data-default-class" ,ghc-data-default-class)
1266 ("ghc-resourcet" ,ghc-resourcet)))
1267 (native-inputs
1268 `(("ghc-hspec" ,ghc-hspec)
1269 ("ghc-random" ,ghc-random)))
1270 (home-page "https://github.com/snoyberg/bzlib-conduit")
1271 (synopsis "Streaming compression/decompression via conduits")
1272 (description
1273 "This package provides Haskell bindings to bzlib and Conduit support for
1274 streaming compression and decompression.")
1275 (license license:bsd-3)))
1276
1277 (define-public ghc-c2hs
1278 (package
1279 (name "ghc-c2hs")
1280 (version "0.28.6")
1281 (source
1282 (origin
1283 (method url-fetch)
1284 (uri (string-append
1285 "https://hackage.haskell.org/package/c2hs/c2hs-"
1286 version
1287 ".tar.gz"))
1288 (sha256
1289 (base32
1290 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1291 (build-system haskell-build-system)
1292 (inputs
1293 `(("ghc-language-c" ,ghc-language-c)
1294 ("ghc-dlist" ,ghc-dlist)))
1295 (native-inputs
1296 `(("ghc-test-framework" ,ghc-test-framework)
1297 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1298 ("ghc-hunit" ,ghc-hunit)
1299 ("ghc-shelly" ,ghc-shelly)
1300 ("gcc" ,gcc)))
1301 (arguments
1302 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1303 ;; of glibc 2.28.
1304 #:tests? #f
1305
1306 #:phases
1307 (modify-phases %standard-phases
1308 (add-before 'check 'set-cc
1309 ;; add a cc executable in the path, needed for some tests to pass
1310 (lambda* (#:key inputs #:allow-other-keys)
1311 (let ((gcc (assoc-ref inputs "gcc"))
1312 (tmpbin (tmpnam))
1313 (curpath (getenv "PATH")))
1314 (mkdir-p tmpbin)
1315 (symlink (which "gcc") (string-append tmpbin "/cc"))
1316 (setenv "PATH" (string-append tmpbin ":" curpath)))
1317 #t))
1318 (add-after 'check 'remove-cc
1319 ;; clean the tmp dir made in 'set-cc
1320 (lambda _
1321 (let* ((cc-path (which "cc"))
1322 (cc-dir (dirname cc-path)))
1323 (delete-file-recursively cc-dir)
1324 #t))))))
1325 (home-page "https://github.com/haskell/c2hs")
1326 (synopsis "Create Haskell bindings to C libraries")
1327 (description "C->Haskell assists in the development of Haskell bindings to
1328 C libraries. It extracts interface information from C header files and
1329 generates Haskell code with foreign imports and marshaling. Unlike writing
1330 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1331 imported with the correct Haskell types.")
1332 (license license:gpl2)))
1333
1334 (define-public ghc-cairo
1335 (package
1336 (name "ghc-cairo")
1337 (version "0.13.5.0")
1338 (source
1339 (origin
1340 (method url-fetch)
1341 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1342 "cairo-" version ".tar.gz"))
1343 (sha256
1344 (base32
1345 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1346 (build-system haskell-build-system)
1347 (arguments
1348 `(#:modules ((guix build haskell-build-system)
1349 (guix build utils)
1350 (ice-9 match)
1351 (srfi srfi-26))
1352 #:phases
1353 (modify-phases %standard-phases
1354 ;; FIXME: This is a copy of the standard configure phase with a tiny
1355 ;; difference: this package needs the -package-db flag to be passed
1356 ;; to "runhaskell" in addition to the "configure" action, because it
1357 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1358 ;; this option the Setup.hs file cannot be evaluated. The
1359 ;; haskell-build-system should be changed to pass "-package-db" to
1360 ;; "runhaskell" in any case.
1361 (replace 'configure
1362 (lambda* (#:key outputs inputs tests? (configure-flags '())
1363 #:allow-other-keys)
1364 (let* ((out (assoc-ref outputs "out"))
1365 (name-version (strip-store-file-name out))
1366 (input-dirs (match inputs
1367 (((_ . dir) ...)
1368 dir)
1369 (_ '())))
1370 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1371 (params (append `(,(string-append "--prefix=" out))
1372 `(,(string-append "--libdir=" out "/lib"))
1373 `(,(string-append "--bindir=" out "/bin"))
1374 `(,(string-append
1375 "--docdir=" out
1376 "/share/doc/" name-version))
1377 '("--libsubdir=$compiler/$pkg-$version")
1378 '("--package-db=../package.conf.d")
1379 '("--global")
1380 `(,@(map
1381 (cut string-append "--extra-include-dirs=" <>)
1382 (search-path-as-list '("include") input-dirs)))
1383 `(,@(map
1384 (cut string-append "--extra-lib-dirs=" <>)
1385 (search-path-as-list '("lib") input-dirs)))
1386 (if tests?
1387 '("--enable-tests")
1388 '())
1389 configure-flags)))
1390 (unsetenv "GHC_PACKAGE_PATH")
1391 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1392 "Setup.hs" "configure" params)
1393 (setenv "GHC_PACKAGE_PATH" ghc-path)
1394 #t))))))
1395 (inputs
1396 `(("ghc-utf8-string" ,ghc-utf8-string)
1397 ("cairo" ,cairo)))
1398 (native-inputs
1399 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1400 ("pkg-config" ,pkg-config)))
1401 (home-page "http://projects.haskell.org/gtk2hs/")
1402 (synopsis "Haskell bindings to the Cairo vector graphics library")
1403 (description
1404 "Cairo is a library to render high quality vector graphics. There exist
1405 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1406 documents, amongst others.")
1407 (license license:bsd-3)))
1408
1409 (define-public ghc-call-stack
1410 (package
1411 (name "ghc-call-stack")
1412 (version "0.1.0")
1413 (source
1414 (origin
1415 (method url-fetch)
1416 (uri (string-append "https://hackage.haskell.org/package/"
1417 "call-stack/call-stack-"
1418 version ".tar.gz"))
1419 (sha256
1420 (base32
1421 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1422 (build-system haskell-build-system)
1423 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1424 (home-page "https://github.com/sol/call-stack#readme")
1425 (synopsis "Use GHC call-stacks in a backward compatible way")
1426 (description "This package provides a compatibility layer for using GHC
1427 call stacks with different versions of the compiler.")
1428 (license license:expat)))
1429
1430 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1431 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1432 (define-public ghc-call-stack-boot
1433 (hidden-package
1434 (package
1435 (inherit ghc-call-stack)
1436 (arguments '(#:tests? #f))
1437 (inputs '()))))
1438
1439 (define-public ghc-case-insensitive
1440 (package
1441 (name "ghc-case-insensitive")
1442 (version "1.2.0.11")
1443 (outputs '("out" "doc"))
1444 (source
1445 (origin
1446 (method url-fetch)
1447 (uri (string-append
1448 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1449 version
1450 ".tar.gz"))
1451 (sha256
1452 (base32
1453 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1454 (build-system haskell-build-system)
1455 ;; these inputs are necessary to use this library
1456 (inputs
1457 `(("ghc-hashable" ,ghc-hashable)))
1458 (arguments
1459 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1460 (home-page
1461 "https://github.com/basvandijk/case-insensitive")
1462 (synopsis "Case insensitive string comparison")
1463 (description
1464 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1465 constructor which can be parameterised by a string-like type like:
1466 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1467 the resulting type will be insensitive to cases.")
1468 (license license:bsd-3)))
1469
1470 (define-public ghc-cereal
1471 (package
1472 (name "ghc-cereal")
1473 (version "0.5.8.1")
1474 (source
1475 (origin
1476 (method url-fetch)
1477 (uri (string-append
1478 "https://hackage.haskell.org/package/cereal/cereal-"
1479 version
1480 ".tar.gz"))
1481 (sha256
1482 (base32
1483 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1484 (build-system haskell-build-system)
1485 (native-inputs
1486 `(("ghc-quickcheck" ,ghc-quickcheck)
1487 ("ghc-fail" ,ghc-fail)
1488 ("ghc-test-framework" ,ghc-test-framework)
1489 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1490 (home-page "https://hackage.haskell.org/package/cereal")
1491 (synopsis "Binary serialization library")
1492 (description "This package provides a binary serialization library,
1493 similar to @code{binary}, that introduces an @code{isolate} primitive for
1494 parser isolation, and labeled blocks for better error messages.")
1495 (license license:bsd-3)))
1496
1497 (define-public ghc-cereal-conduit
1498 (package
1499 (name "ghc-cereal-conduit")
1500 (version "0.8.0")
1501 (source
1502 (origin
1503 (method url-fetch)
1504 (uri (string-append "https://hackage.haskell.org/package/"
1505 "cereal-conduit/cereal-conduit-"
1506 version ".tar.gz"))
1507 (sha256
1508 (base32
1509 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1510 (build-system haskell-build-system)
1511 (inputs
1512 `(("ghc-conduit" ,ghc-conduit)
1513 ("ghc-resourcet" ,ghc-resourcet)
1514 ("ghc-cereal" ,ghc-cereal)))
1515 (native-inputs
1516 `(("ghc-hunit" ,ghc-hunit)))
1517 (home-page "https://github.com/snoyberg/conduit")
1518 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1519 (description
1520 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1521 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1522 (license license:bsd-3)))
1523
1524 (define-public ghc-cgi
1525 (package
1526 (name "ghc-cgi")
1527 (version "3001.4.0.0")
1528 (source
1529 (origin
1530 (method url-fetch)
1531 (uri (string-append
1532 "https://hackage.haskell.org/package/cgi/cgi-"
1533 version
1534 ".tar.gz"))
1535 (sha256
1536 (base32
1537 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1538 (build-system haskell-build-system)
1539 (inputs
1540 `(("ghc-exceptions" ,ghc-exceptions)
1541 ("ghc-multipart" ,ghc-multipart)
1542 ("ghc-network-uri" ,ghc-network-uri)
1543 ("ghc-network" ,ghc-network)))
1544 (native-inputs
1545 `(("ghc-doctest" ,ghc-doctest)
1546 ("ghc-quickcheck" ,ghc-quickcheck)))
1547 (home-page
1548 "https://github.com/cheecheeo/haskell-cgi")
1549 (synopsis "Library for writing CGI programs")
1550 (description
1551 "This is a Haskell library for writing CGI programs.")
1552 (license license:bsd-3)))
1553
1554 (define-public ghc-charset
1555 (package
1556 (name "ghc-charset")
1557 (version "0.3.7.1")
1558 (source
1559 (origin
1560 (method url-fetch)
1561 (uri (string-append
1562 "https://hackage.haskell.org/package/charset/charset-"
1563 version
1564 ".tar.gz"))
1565 (sha256
1566 (base32
1567 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1568 (build-system haskell-build-system)
1569 (arguments
1570 `(#:cabal-revision
1571 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1572 (inputs
1573 `(("ghc-semigroups" ,ghc-semigroups)
1574 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1575 (home-page "https://github.com/ekmett/charset")
1576 (synopsis "Fast unicode character sets for Haskell")
1577 (description "This package provides fast unicode character sets for
1578 Haskell, based on complemented PATRICIA tries.")
1579 (license license:bsd-3)))
1580
1581 (define-public ghc-chart
1582 (package
1583 (name "ghc-chart")
1584 (version "1.9.1")
1585 (source
1586 (origin
1587 (method url-fetch)
1588 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1589 "Chart-" version ".tar.gz"))
1590 (sha256
1591 (base32
1592 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1593 (build-system haskell-build-system)
1594 (inputs
1595 `(("ghc-old-locale" ,ghc-old-locale)
1596 ("ghc-lens" ,ghc-lens)
1597 ("ghc-colour" ,ghc-colour)
1598 ("ghc-data-default-class" ,ghc-data-default-class)
1599 ("ghc-operational" ,ghc-operational)
1600 ("ghc-vector" ,ghc-vector)))
1601 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1602 (synopsis "Library for generating 2D charts and plots")
1603 (description
1604 "This package provides a library for generating 2D charts and plots, with
1605 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1606 (license license:bsd-3)))
1607
1608 (define-public ghc-chart-cairo
1609 (package
1610 (name "ghc-chart-cairo")
1611 (version "1.9.1")
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1616 "Chart-cairo-" version ".tar.gz"))
1617 (sha256
1618 (base32
1619 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
1620 (build-system haskell-build-system)
1621 (inputs
1622 `(("ghc-old-locale" ,ghc-old-locale)
1623 ("ghc-cairo" ,ghc-cairo)
1624 ("ghc-colour" ,ghc-colour)
1625 ("ghc-data-default-class" ,ghc-data-default-class)
1626 ("ghc-operational" ,ghc-operational)
1627 ("ghc-lens" ,ghc-lens)
1628 ("ghc-chart" ,ghc-chart)))
1629 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1630 (synopsis "Cairo backend for Charts")
1631 (description "This package provides a Cairo vector graphics rendering
1632 backend for the Charts library.")
1633 (license license:bsd-3)))
1634
1635 (define-public ghc-chasingbottoms
1636 (package
1637 (name "ghc-chasingbottoms")
1638 (version "1.3.1.7")
1639 (source
1640 (origin
1641 (method url-fetch)
1642 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1643 "ChasingBottoms-" version ".tar.gz"))
1644 (sha256
1645 (base32
1646 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1647 (build-system haskell-build-system)
1648 (inputs
1649 `(("ghc-quickcheck" ,ghc-quickcheck)
1650 ("ghc-random" ,ghc-random)
1651 ("ghc-syb" ,ghc-syb)))
1652 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1653 (synopsis "Testing of partial and infinite values in Haskell")
1654 (description
1655 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1656 ;; rendered properly.
1657 "This is a library for testing code involving bottoms or infinite values.
1658 For the underlying theory and a larger example involving use of QuickCheck,
1659 see the article
1660 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1661 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1662 Partial and Infinite Values\"}.")
1663 (license license:expat)))
1664
1665 (define-public ghc-cheapskate
1666 (package
1667 (name "ghc-cheapskate")
1668 (version "0.1.1.1")
1669 (source
1670 (origin
1671 (method url-fetch)
1672 (uri (string-append
1673 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1674 version
1675 ".tar.gz"))
1676 (sha256
1677 (base32
1678 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1679 (build-system haskell-build-system)
1680 (inputs
1681 `(("ghc-blaze-html" ,ghc-blaze-html)
1682 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1683 ("ghc-data-default" ,ghc-data-default)
1684 ("ghc-syb" ,ghc-syb)
1685 ("ghc-uniplate" ,ghc-uniplate)))
1686 (home-page "https://github.com/jgm/cheapskate")
1687 (synopsis "Experimental markdown processor")
1688 (description "Cheapskate is an experimental Markdown processor in pure
1689 Haskell. It aims to process Markdown efficiently and in the most forgiving
1690 possible way. It is designed to deal with any input, including garbage, with
1691 linear performance. Output is sanitized by default for protection against
1692 cross-site scripting (@dfn{XSS}) attacks.")
1693 (license license:bsd-3)))
1694
1695 (define-public ghc-chell
1696 (package
1697 (name "ghc-chell")
1698 (version "0.5")
1699 (source
1700 (origin
1701 (method url-fetch)
1702 (uri (string-append
1703 "https://hackage.haskell.org/package/chell/chell-"
1704 version ".tar.gz"))
1705 (sha256
1706 (base32
1707 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
1708 (build-system haskell-build-system)
1709 (arguments
1710 `(#:cabal-revision
1711 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
1712 (inputs
1713 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1714 ("ghc-patience" ,ghc-patience)
1715 ("ghc-random" ,ghc-random)
1716 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1717 (home-page "https://john-millikin.com/software/chell/")
1718 (synopsis "Simple and intuitive library for automated testing")
1719 (description
1720 "Chell is a simple and intuitive library for automated testing.
1721 It natively supports assertion-based testing, and can use companion
1722 libraries such as @code{chell-quickcheck} to support more complex
1723 testing strategies.")
1724 (license license:expat)))
1725
1726 (define-public ghc-chell-quickcheck
1727 (package
1728 (name "ghc-chell-quickcheck")
1729 (version "0.2.5.2")
1730 (source
1731 (origin
1732 (method url-fetch)
1733 (uri (string-append
1734 "https://hackage.haskell.org/package/chell-quickcheck/"
1735 "chell-quickcheck-" version ".tar.gz"))
1736 (sha256
1737 (base32
1738 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1739 (build-system haskell-build-system)
1740 (arguments
1741 `(#:phases
1742 (modify-phases %standard-phases
1743 (add-before 'configure 'update-constraints
1744 (lambda _
1745 (substitute* "chell-quickcheck.cabal"
1746 (("QuickCheck >= 2\\.3 && < 2\\.13")
1747 "QuickCheck >= 2.3 && < 2.14")))))))
1748 (inputs
1749 `(("ghc-chell" ,ghc-chell)
1750 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1751 ("ghc-random" ,ghc-random)
1752 ("ghc-quickcheck" ,ghc-quickcheck)))
1753 (home-page "https://john-millikin.com/software/chell/")
1754 (synopsis "QuickCheck support for the Chell testing library")
1755 (description "More complex tests for @code{chell}.")
1756 (license license:expat)))
1757
1758 (define ghc-chell-quickcheck-bootstrap
1759 (package
1760 (name "ghc-chell-quickcheck-bootstrap")
1761 (version "0.2.5.2")
1762 (source
1763 (origin
1764 (method url-fetch)
1765 (uri (string-append
1766 "https://hackage.haskell.org/package/chell-quickcheck/"
1767 "chell-quickcheck-" version ".tar.gz"))
1768 (sha256
1769 (base32
1770 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1771 (build-system haskell-build-system)
1772 (inputs
1773 `(("ghc-chell" ,ghc-chell)
1774 ("ghc-random" ,ghc-random)
1775 ("ghc-quickcheck" ,ghc-quickcheck)))
1776 (arguments
1777 `(#:tests? #f
1778 #:phases
1779 (modify-phases %standard-phases
1780 (add-before 'configure 'update-constraints
1781 (lambda _
1782 (substitute* "chell-quickcheck.cabal"
1783 (("QuickCheck >= 2\\.3 && < 2\\.13")
1784 "QuickCheck >= 2.3 && < 2.14")))))))
1785 (home-page "https://john-millikin.com/software/chell/")
1786 (synopsis "QuickCheck support for the Chell testing library")
1787 (description "More complex tests for @code{chell}.")
1788 (license license:expat)))
1789
1790 (define-public ghc-chunked-data
1791 (package
1792 (name "ghc-chunked-data")
1793 (version "0.3.1")
1794 (source
1795 (origin
1796 (method url-fetch)
1797 (uri (string-append "https://hackage.haskell.org/package/"
1798 "chunked-data-" version "/"
1799 "chunked-data-" version ".tar.gz"))
1800 (sha256
1801 (base32
1802 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1803 (build-system haskell-build-system)
1804 (inputs `(("ghc-vector" ,ghc-vector)
1805 ("ghc-semigroups" ,ghc-semigroups)))
1806 (home-page "https://github.com/snoyberg/mono-traversable")
1807 (synopsis "Typeclasses for dealing with various chunked data
1808 representations for Haskell")
1809 (description "This Haskell package was originally present in
1810 classy-prelude.")
1811 (license license:expat)))
1812
1813 (define-public ghc-clock
1814 (package
1815 (name "ghc-clock")
1816 (version "0.8")
1817 (source
1818 (origin
1819 (method url-fetch)
1820 (uri (string-append
1821 "https://hackage.haskell.org/package/"
1822 "clock/"
1823 "clock-" version ".tar.gz"))
1824 (sha256
1825 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
1826 (build-system haskell-build-system)
1827 (inputs
1828 `(("ghc-tasty" ,ghc-tasty)
1829 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1830 (home-page "https://hackage.haskell.org/package/clock")
1831 (synopsis "High-resolution clock for Haskell")
1832 (description "A package for convenient access to high-resolution clock and
1833 timer functions of different operating systems via a unified API.")
1834 (license license:bsd-3)))
1835
1836 ;; This package builds `clock` without tests, since the tests rely on tasty
1837 ;; and tasty-quickcheck, which in turn require clock to build.
1838 (define-public ghc-clock-bootstrap
1839 (package
1840 (inherit ghc-clock)
1841 (name "ghc-clock-bootstrap")
1842 (arguments '(#:tests? #f))
1843 (inputs '())
1844 (properties '((hidden? #t)))))
1845
1846 (define-public ghc-cmark
1847 (package
1848 (name "ghc-cmark")
1849 (version "0.6")
1850 (source (origin
1851 (method url-fetch)
1852 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
1853 ;; See cbits/cmark_version.h.
1854 (uri (string-append "https://hackage.haskell.org/package/"
1855 "cmark/cmark-" version ".tar.gz"))
1856 (sha256
1857 (base32
1858 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
1859 (build-system haskell-build-system)
1860 (native-inputs
1861 `(("ghc-hunit" ,ghc-hunit)))
1862 (home-page "https://github.com/jgm/commonmark-hs")
1863 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1864 (description
1865 "This package provides Haskell bindings for
1866 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1867 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1868 sources, and does not require prior installation of the C library.")
1869 (license license:bsd-3)))
1870
1871 (define-public ghc-cmark-gfm
1872 (package
1873 (name "ghc-cmark-gfm")
1874 (version "0.2.0")
1875 (source
1876 (origin
1877 (method url-fetch)
1878 (uri (string-append "https://hackage.haskell.org/package/"
1879 "cmark-gfm/cmark-gfm-"
1880 version ".tar.gz"))
1881 (sha256
1882 (base32
1883 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
1884 (build-system haskell-build-system)
1885 (native-inputs
1886 `(("ghc-hunit" ,ghc-hunit)))
1887 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1888 (synopsis
1889 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1890 (description
1891 "This package provides Haskell bindings for libcmark-gfm, the reference
1892 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1893 It includes sources for libcmark-gfm and does not require prior installation
1894 of the C library.")
1895 (license license:bsd-3)))
1896
1897 (define-public ghc-cmdargs
1898 (package
1899 (name "ghc-cmdargs")
1900 (version "0.10.20")
1901 (source
1902 (origin
1903 (method url-fetch)
1904 (uri (string-append
1905 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1906 version ".tar.gz"))
1907 (sha256
1908 (base32
1909 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1910 (build-system haskell-build-system)
1911 (home-page
1912 "http://community.haskell.org/~ndm/cmdargs/")
1913 (synopsis "Command line argument processing")
1914 (description
1915 "This library provides an easy way to define command line parsers.")
1916 (license license:bsd-3)))
1917
1918 (define-public ghc-code-page
1919 (package
1920 (name "ghc-code-page")
1921 (version "0.2")
1922 (source
1923 (origin
1924 (method url-fetch)
1925 (uri (string-append
1926 "https://hackage.haskell.org/package/code-page/code-page-"
1927 version ".tar.gz"))
1928 (sha256
1929 (base32
1930 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
1931 (build-system haskell-build-system)
1932 (home-page "https://github.com/RyanGlScott/code-page")
1933 (synopsis "Windows code page library for Haskell")
1934 (description "A cross-platform library with functions for adjusting
1935 code pages on Windows. On all other operating systems, the library does
1936 nothing.")
1937 (license license:bsd-3)))
1938
1939 (define-public ghc-colour
1940 (package
1941 (name "ghc-colour")
1942 (version "2.3.5")
1943 (source
1944 (origin
1945 (method url-fetch)
1946 (uri (string-append
1947 "https://hackage.haskell.org/package/colour/colour-"
1948 version ".tar.gz"))
1949 (sha256
1950 (base32
1951 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
1952 (arguments
1953 ;; The tests for this package have the following dependency cycle:
1954 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1955 `(#:tests? #f))
1956 (build-system haskell-build-system)
1957 (home-page "https://www.haskell.org/haskellwiki/Colour")
1958 (synopsis "Model for human colour perception")
1959 (description
1960 "This package provides a data type for colours and transparency.
1961 Colours can be blended and composed. Various colour spaces are
1962 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1963 (license license:expat)))
1964
1965 (define-public ghc-comonad
1966 (package
1967 (name "ghc-comonad")
1968 (version "5.0.5")
1969 (source
1970 (origin
1971 (method url-fetch)
1972 (uri (string-append
1973 "https://hackage.haskell.org/package/comonad/comonad-"
1974 version
1975 ".tar.gz"))
1976 (sha256
1977 (base32
1978 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
1979 (build-system haskell-build-system)
1980 (native-inputs
1981 `(("cabal-doctest" ,cabal-doctest)
1982 ("ghc-doctest" ,ghc-doctest)))
1983 (inputs
1984 `(("ghc-contravariant" ,ghc-contravariant)
1985 ("ghc-distributive" ,ghc-distributive)
1986 ("ghc-semigroups" ,ghc-semigroups)
1987 ("ghc-tagged" ,ghc-tagged)
1988 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1989 (home-page "https://github.com/ekmett/comonad/")
1990 (synopsis "Comonads for Haskell")
1991 (description "This library provides @code{Comonad}s for Haskell.")
1992 (license license:bsd-3)))
1993
1994 (define-public ghc-concatenative
1995 (package
1996 (name "ghc-concatenative")
1997 (version "1.0.1")
1998 (source (origin
1999 (method url-fetch)
2000 (uri (string-append
2001 "https://hackage.haskell.org/package/concatenative/concatenative-"
2002 version ".tar.gz"))
2003 (sha256
2004 (base32
2005 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2006 (build-system haskell-build-system)
2007 (home-page
2008 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2009 (synopsis "Library for postfix control flow")
2010 (description
2011 "Concatenative gives Haskell Factor-style combinators and arrows for
2012 postfix notation. For more information on stack based languages, see
2013 @uref{https://concatenative.org}.")
2014 (license license:bsd-3)))
2015
2016 (define-public ghc-concurrent-extra
2017 (package
2018 (name "ghc-concurrent-extra")
2019 (version "0.7.0.12")
2020 (source
2021 (origin
2022 (method url-fetch)
2023 (uri (string-append "https://hackage.haskell.org/package/"
2024 "concurrent-extra/concurrent-extra-"
2025 version ".tar.gz"))
2026 (sha256
2027 (base32
2028 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2029 (build-system haskell-build-system)
2030 (arguments
2031 ;; XXX: The ReadWriteLock 'stressTest' fails.
2032 `(#:tests? #f))
2033 (inputs
2034 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2035 (native-inputs
2036 `(("ghc-async" ,ghc-async)
2037 ("ghc-hunit" ,ghc-hunit)
2038 ("ghc-random" ,ghc-random)
2039 ("ghc-test-framework" ,ghc-test-framework)
2040 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2041 (home-page "https://github.com/basvandijk/concurrent-extra")
2042 (synopsis "Extra concurrency primitives")
2043 (description "This Haskell library offers (among other things) the
2044 following selection of synchronisation primitives:
2045
2046 @itemize
2047 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2048 @item @code{Event}: Wake multiple threads by signalling an event.
2049 @item @code{Lock}: Enforce exclusive access to a resource. Also known
2050 as a binary semaphore or mutex. The package additionally provides an
2051 alternative that works in the STM monad.
2052 @item @code{RLock}: A lock which can be acquired multiple times by the
2053 same thread. Also known as a reentrant mutex.
2054 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2055 to protect shared resources which may be concurrently read, but only
2056 sequentially written.
2057 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2058 @end itemize
2059
2060 Please consult the API documentation of the individual modules for more
2061 detailed information.
2062
2063 This package was inspired by the concurrency libraries of Java and
2064 Python.")
2065 (license license:bsd-3)))
2066
2067 (define-public ghc-concurrent-output
2068 (package
2069 (name "ghc-concurrent-output")
2070 (version "1.10.11")
2071 (source
2072 (origin
2073 (method url-fetch)
2074 (uri (string-append
2075 "mirror://hackage/package/concurrent-output/concurrent-output-"
2076 version
2077 ".tar.gz"))
2078 (sha256
2079 (base32
2080 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2081 (build-system haskell-build-system)
2082 (inputs
2083 `(("ghc-async" ,ghc-async)
2084 ("ghc-exceptions" ,ghc-exceptions)
2085 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2086 ("ghc-terminal-size" ,ghc-terminal-size)))
2087 (home-page
2088 "https://hackage.haskell.org/package/concurrent-output")
2089 (synopsis
2090 "Ungarble output from several threads or commands")
2091 (description
2092 "Lets multiple threads and external processes concurrently output to the
2093 console, without it getting all garbled up.
2094
2095 Built on top of that is a way of defining multiple output regions, which are
2096 automatically laid out on the screen and can be individually updated by
2097 concurrent threads. Can be used for progress displays etc.")
2098 (license license:bsd-2)))
2099
2100 (define-public ghc-conduit
2101 (package
2102 (name "ghc-conduit")
2103 (version "1.3.1.1")
2104 (source (origin
2105 (method url-fetch)
2106 (uri (string-append "https://hackage.haskell.org/package/"
2107 "conduit/conduit-" version ".tar.gz"))
2108 (sha256
2109 (base32
2110 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2111 (build-system haskell-build-system)
2112 (inputs
2113 `(("ghc-exceptions" ,ghc-exceptions)
2114 ("ghc-lifted-base" ,ghc-lifted-base)
2115 ("ghc-mono-traversable" ,ghc-mono-traversable)
2116 ("ghc-mmorph" ,ghc-mmorph)
2117 ("ghc-resourcet" ,ghc-resourcet)
2118 ("ghc-silently" ,ghc-silently)
2119 ("ghc-transformers-base" ,ghc-transformers-base)
2120 ("ghc-unliftio" ,ghc-unliftio)
2121 ("ghc-unliftio-core" ,ghc-unliftio-core)
2122 ("ghc-vector" ,ghc-vector)
2123 ("ghc-void" ,ghc-void)))
2124 (native-inputs
2125 `(("ghc-quickcheck" ,ghc-quickcheck)
2126 ("ghc-hspec" ,ghc-hspec)
2127 ("ghc-safe" ,ghc-safe)
2128 ("ghc-split" ,ghc-split)))
2129 (home-page "https://github.com/snoyberg/conduit")
2130 (synopsis "Streaming data library ")
2131 (description
2132 "The conduit package is a solution to the streaming data problem,
2133 allowing for production, transformation, and consumption of streams of data
2134 in constant memory. It is an alternative to lazy I/O which guarantees
2135 deterministic resource handling, and fits in the same general solution
2136 space as enumerator/iteratee and pipes.")
2137 (license license:expat)))
2138
2139 (define-public ghc-conduit-algorithms
2140 (package
2141 (name "ghc-conduit-algorithms")
2142 (version "0.0.11.0")
2143 (source
2144 (origin
2145 (method url-fetch)
2146 (uri (string-append "https://hackage.haskell.org/package/"
2147 "conduit-algorithms/conduit-algorithms-"
2148 version ".tar.gz"))
2149 (sha256
2150 (base32
2151 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2152 (build-system haskell-build-system)
2153 (inputs
2154 `(("ghc-async" ,ghc-async)
2155 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2156 ("ghc-conduit" ,ghc-conduit)
2157 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2158 ("ghc-conduit-extra" ,ghc-conduit-extra)
2159 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2160 ("ghc-exceptions" ,ghc-exceptions)
2161 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2162 ("ghc-monad-control" ,ghc-monad-control)
2163 ("ghc-pqueue" ,ghc-pqueue)
2164 ("ghc-resourcet" ,ghc-resourcet)
2165 ("ghc-stm-conduit" ,ghc-stm-conduit)
2166 ("ghc-streaming-commons" ,ghc-streaming-commons)
2167 ("ghc-unliftio-core" ,ghc-unliftio-core)
2168 ("ghc-vector" ,ghc-vector)))
2169 (native-inputs
2170 `(("ghc-hunit" ,ghc-hunit)
2171 ("ghc-test-framework" ,ghc-test-framework)
2172 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2173 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2174 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2175 (synopsis "Conduit-based algorithms")
2176 (description
2177 "This package provides algorithms on @code{Conduits}, including higher
2178 level asynchronous processing and some other utilities.")
2179 (license license:expat)))
2180
2181 (define-public ghc-conduit-combinators
2182 (package
2183 (name "ghc-conduit-combinators")
2184 (version "1.3.0")
2185 (source
2186 (origin
2187 (method url-fetch)
2188 (uri (string-append "https://hackage.haskell.org/package/"
2189 "conduit-combinators-" version "/"
2190 "conduit-combinators-" version ".tar.gz"))
2191 (sha256
2192 (base32
2193 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2194 (build-system haskell-build-system)
2195 (inputs `(("ghc-conduit" ,ghc-conduit)
2196 ("ghc-conduit-extra" ,ghc-conduit-extra)
2197 ("ghc-transformers-base" ,ghc-transformers-base)
2198 ("ghc-primitive" ,ghc-primitive)
2199 ("ghc-vector" ,ghc-vector)
2200 ("ghc-void" ,ghc-void)
2201 ("ghc-mwc-random" ,ghc-mwc-random)
2202 ("ghc-unix-compat" ,ghc-unix-compat)
2203 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2204 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2205 ("ghc-resourcet" ,ghc-resourcet)
2206 ("ghc-monad-control" ,ghc-monad-control)
2207 ("ghc-chunked-data" ,ghc-chunked-data)
2208 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2209 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2210 ("ghc-silently" ,ghc-silently)
2211 ("ghc-safe" ,ghc-safe)
2212 ("ghc-quickcheck" ,ghc-quickcheck)))
2213 (home-page "https://github.com/snoyberg/mono-traversable")
2214 (synopsis "Commonly used conduit functions, for both chunked and
2215 unchunked data")
2216 (description "This Haskell package provides a replacement for Data.Conduit.List,
2217 as well as a convenient Conduit module.")
2218 (license license:expat)))
2219
2220 (define-public ghc-conduit-extra
2221 (package
2222 (name "ghc-conduit-extra")
2223 (version "1.3.4")
2224 (source
2225 (origin
2226 (method url-fetch)
2227 (uri (string-append "https://hackage.haskell.org/package/"
2228 "conduit-extra/conduit-extra-"
2229 version ".tar.gz"))
2230 (sha256
2231 (base32
2232 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2233 (build-system haskell-build-system)
2234 (inputs
2235 `(("ghc-conduit" ,ghc-conduit)
2236 ("ghc-exceptions" ,ghc-exceptions)
2237 ("ghc-monad-control" ,ghc-monad-control)
2238 ("ghc-transformers-base" ,ghc-transformers-base)
2239 ("ghc-typed-process" ,ghc-typed-process)
2240 ("ghc-async" ,ghc-async)
2241 ("ghc-attoparsec" ,ghc-attoparsec)
2242 ("ghc-blaze-builder" ,ghc-blaze-builder)
2243 ("ghc-network" ,ghc-network)
2244 ("ghc-primitive" ,ghc-primitive)
2245 ("ghc-resourcet" ,ghc-resourcet)
2246 ("ghc-streaming-commons" ,ghc-streaming-commons)
2247 ("ghc-hspec" ,ghc-hspec)
2248 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2249 ("ghc-quickcheck" ,ghc-quickcheck)))
2250 (native-inputs
2251 `(("hspec-discover" ,hspec-discover)))
2252 (home-page "https://github.com/snoyberg/conduit")
2253 (synopsis "Conduit adapters for common libraries")
2254 (description
2255 "The @code{conduit} package itself maintains relative small dependencies.
2256 The purpose of this package is to collect commonly used utility functions
2257 wrapping other library dependencies, without depending on heavier-weight
2258 dependencies. The basic idea is that this package should only depend on
2259 @code{haskell-platform} packages and @code{conduit}.")
2260 (license license:expat)))
2261
2262 (define-public ghc-conduit-zstd
2263 (package
2264 (name "ghc-conduit-zstd")
2265 (version "0.0.1.1")
2266 (source
2267 (origin
2268 (method url-fetch)
2269 (uri (string-append "https://hackage.haskell.org/package/"
2270 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2271 (sha256
2272 (base32
2273 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2274 (build-system haskell-build-system)
2275 (inputs
2276 `(("ghc-conduit" ,ghc-conduit)
2277 ("ghc-zstd" ,ghc-zstd)))
2278 (native-inputs
2279 `(("ghc-hunit" ,ghc-hunit)
2280 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2281 ("ghc-conduit-extra" ,ghc-conduit-extra)
2282 ("ghc-test-framework" ,ghc-test-framework)
2283 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2284 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2285 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2286 (synopsis "Conduit-based ZStd Compression")
2287 (description "Zstandard compression packaged as a conduit. This is
2288 a very thin wrapper around the
2289 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2290 interface}.")
2291 (license license:expat)))
2292
2293 (define-public ghc-configurator
2294 (package
2295 (name "ghc-configurator")
2296 (version "0.3.0.0")
2297 (source
2298 (origin
2299 (method url-fetch)
2300 (uri (string-append "https://hackage.haskell.org/package/"
2301 "configurator/configurator-"
2302 version ".tar.gz"))
2303 (sha256
2304 (base32
2305 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2306 (build-system haskell-build-system)
2307 (inputs
2308 `(("ghc-attoparsec" ,ghc-attoparsec)
2309 ("ghc-hashable" ,ghc-hashable)
2310 ("ghc-unix-compat" ,ghc-unix-compat)
2311 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2312 (native-inputs
2313 `(("ghc-hunit" ,ghc-hunit)
2314 ("ghc-test-framework" ,ghc-test-framework)
2315 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2316 (home-page "http://github.com/bos/configurator")
2317 (synopsis "Configuration management")
2318 (description
2319 "This package provides a configuration management library for programs
2320 and daemons. The features include:
2321
2322 @enumerate
2323 @item Automatic, dynamic reloading in response to modifications to
2324 configuration files.
2325 @item A simple, but flexible, configuration language, supporting several of
2326 the most commonly needed types of data, along with interpolation of strings
2327 from the configuration or the system environment (e.g. @code{$(HOME)}).
2328 @item Subscription-based notification of changes to configuration properties.
2329 @item An @code{import} directive allows the configuration of a complex
2330 application to be split across several smaller files, or common configuration
2331 data to be shared across several applications.
2332 @end enumerate\n")
2333 (license license:bsd-3)))
2334
2335 (define-public ghc-connection
2336 (package
2337 (name "ghc-connection")
2338 (version "0.3.1")
2339 (source (origin
2340 (method url-fetch)
2341 (uri (string-append "https://hackage.haskell.org/package/"
2342 "connection/connection-"
2343 version ".tar.gz"))
2344 (sha256
2345 (base32
2346 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2347 (build-system haskell-build-system)
2348 (inputs
2349 `(("ghc-byteable" ,ghc-byteable)
2350 ("ghc-data-default-class" ,ghc-data-default-class)
2351 ("ghc-network" ,ghc-network)
2352 ("ghc-tls" ,ghc-tls)
2353 ("ghc-socks" ,ghc-socks)
2354 ("ghc-x509" ,ghc-x509)
2355 ("ghc-x509-store" ,ghc-x509-store)
2356 ("ghc-x509-system" ,ghc-x509-system)
2357 ("ghc-x509-validation" ,ghc-x509-validation)))
2358 (home-page "https://github.com/vincenthz/hs-connection")
2359 (synopsis "Simple and easy network connections API")
2360 (description
2361 "This package provides a simple network library for all your connection
2362 needs. It provides a very simple API to create sockets to a destination with
2363 the choice of SSL/TLS, and SOCKS.")
2364 (license license:bsd-3)))
2365
2366 (define-public ghc-constraints
2367 (package
2368 (name "ghc-constraints")
2369 (version "0.10.1")
2370 (source
2371 (origin
2372 (method url-fetch)
2373 (uri (string-append
2374 "https://hackage.haskell.org/package/constraints/constraints-"
2375 version ".tar.gz"))
2376 (sha256
2377 (base32
2378 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2379 (build-system haskell-build-system)
2380 (inputs
2381 `(("ghc-hashable" ,ghc-hashable)
2382 ("ghc-semigroups" ,ghc-semigroups)
2383 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2384 (native-inputs
2385 `(("ghc-hspec" ,ghc-hspec)
2386 ("hspec-discover" ,hspec-discover)))
2387 (home-page "https://github.com/ekmett/constraints/")
2388 (synopsis "Constraint manipulation")
2389 (description
2390 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2391 They stopped crashing the compiler in GHC 7.6. This package provides
2392 a vocabulary for working with them.")
2393 (license license:bsd-3)))
2394
2395 (define-public ghc-contravariant
2396 (package
2397 (name "ghc-contravariant")
2398 (version "1.5.2")
2399 (source
2400 (origin
2401 (method url-fetch)
2402 (uri (string-append
2403 "https://hackage.haskell.org/package/contravariant/contravariant-"
2404 version
2405 ".tar.gz"))
2406 (sha256
2407 (base32
2408 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2409 (build-system haskell-build-system)
2410 (inputs
2411 `(("ghc-void" ,ghc-void)
2412 ("ghc-transformers-compat" ,ghc-transformers-compat)
2413 ("ghc-statevar" ,ghc-statevar)
2414 ("ghc-semigroups" ,ghc-semigroups)))
2415 (home-page
2416 "https://github.com/ekmett/contravariant/")
2417 (synopsis "Contravariant functors")
2418 (description "Contravariant functors for Haskell.")
2419 (license license:bsd-3)))
2420
2421 (define-public ghc-contravariant-extras
2422 (package
2423 (name "ghc-contravariant-extras")
2424 (version "0.3.4")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "contravariant-extras-" version "/"
2430 "contravariant-extras-" version ".tar.gz"))
2431 (sha256
2432 (base32
2433 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2434 (build-system haskell-build-system)
2435 (arguments
2436 `(#:cabal-revision
2437 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2438 (inputs
2439 `(("ghc-tuple-th" ,ghc-tuple-th)
2440 ("ghc-contravariant" ,ghc-contravariant)
2441 ("ghc-base-prelude" ,ghc-base-prelude)
2442 ("ghc-semigroups" ,ghc-semigroups)))
2443 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2444 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2445 (description "This Haskell package provides extras for the
2446 @code{ghc-contravariant} package.")
2447 (license license:expat)))
2448
2449 (define-public ghc-convertible
2450 (package
2451 (name "ghc-convertible")
2452 (version "1.1.1.0")
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2457 "convertible-" version ".tar.gz"))
2458 (sha256
2459 (base32
2460 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2461 (build-system haskell-build-system)
2462 (inputs
2463 `(("ghc-old-time" ,ghc-old-time)
2464 ("ghc-old-locale" ,ghc-old-locale)))
2465 (home-page "https://hackage.haskell.org/package/convertible")
2466 (synopsis "Typeclasses and instances for converting between types")
2467 (description
2468 "This package provides a typeclass with a single function that is
2469 designed to help convert between different types: numeric values, dates and
2470 times, and the like. The conversions perform bounds checking and return a
2471 pure @code{Either} value. This means that you need not remember which specific
2472 function performs the conversion you desire.")
2473 (license license:bsd-3)))
2474
2475 (define-public ghc-data-accessor
2476 (package
2477 (name "ghc-data-accessor")
2478 (version "0.2.2.8")
2479 (source
2480 (origin
2481 (method url-fetch)
2482 (uri (string-append
2483 "mirror://hackage/package/data-accessor/data-accessor-"
2484 version ".tar.gz"))
2485 (sha256
2486 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2487 (build-system haskell-build-system)
2488 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2489 (synopsis
2490 "Haskell utilities for accessing and manipulating fields of records")
2491 (description "This package provides Haskell modules for accessing and
2492 manipulating fields of records.")
2493 (license license:bsd-3)))
2494
2495 (define-public ghc-data-accessor-transformers
2496 (package
2497 (name "ghc-data-accessor-transformers")
2498 (version "0.2.1.7")
2499 (source
2500 (origin
2501 (method url-fetch)
2502 (uri (string-append
2503 "mirror://hackage/package/data-accessor-transformers/"
2504 "data-accessor-transformers-" version ".tar.gz"))
2505 (sha256
2506 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2507 (build-system haskell-build-system)
2508 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2509 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2510 (synopsis "Use Accessor to access state in transformers State monad")
2511 (description "This package provides Haskell modules to allow use of
2512 Accessor to access state in transformers State monad.")
2513 (license license:bsd-3)))
2514
2515 (define-public ghc-data-default
2516 (package
2517 (name "ghc-data-default")
2518 (version "0.7.1.1")
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append
2523 "https://hackage.haskell.org/package/data-default/data-default-"
2524 version
2525 ".tar.gz"))
2526 (sha256
2527 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2528 (build-system haskell-build-system)
2529 (inputs
2530 `(("ghc-data-default-class"
2531 ,ghc-data-default-class)
2532 ("ghc-data-default-instances-base"
2533 ,ghc-data-default-instances-base)
2534 ("ghc-data-default-instances-containers"
2535 ,ghc-data-default-instances-containers)
2536 ("ghc-data-default-instances-dlist"
2537 ,ghc-data-default-instances-dlist)
2538 ("ghc-data-default-instances-old-locale"
2539 ,ghc-data-default-instances-old-locale)))
2540 (home-page "https://hackage.haskell.org/package/data-default")
2541 (synopsis "Types with default values")
2542 (description
2543 "This package defines a class for types with a default value, and
2544 provides instances for types from the base, containers, dlist and old-locale
2545 packages.")
2546 (license license:bsd-3)))
2547
2548 (define-public ghc-data-default-class
2549 (package
2550 (name "ghc-data-default-class")
2551 (version "0.1.2.0")
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
2556 "https://hackage.haskell.org/package/data-default-class/"
2557 "data-default-class-" version ".tar.gz"))
2558 (sha256
2559 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2560 (build-system haskell-build-system)
2561 (home-page "https://hackage.haskell.org/package/data-default-class")
2562 (synopsis "Types with default values")
2563 (description
2564 "This package defines a class for types with default values.")
2565 (license license:bsd-3)))
2566
2567 (define-public ghc-data-default-instances-base
2568 (package
2569 (name "ghc-data-default-instances-base")
2570 (version "0.1.0.1")
2571 (source
2572 (origin
2573 (method url-fetch)
2574 (uri (string-append
2575 "https://hackage.haskell.org/package/"
2576 "data-default-instances-base/"
2577 "data-default-instances-base-" version ".tar.gz"))
2578 (sha256
2579 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2580 (build-system haskell-build-system)
2581 (inputs
2582 `(("ghc-data-default-class" ,ghc-data-default-class)))
2583 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2584 (synopsis "Default instances for types in base")
2585 (description
2586 "This package provides default instances for types from the base
2587 package.")
2588 (license license:bsd-3)))
2589
2590 (define-public ghc-data-default-instances-containers
2591 (package
2592 (name "ghc-data-default-instances-containers")
2593 (version "0.0.1")
2594 (source
2595 (origin
2596 (method url-fetch)
2597 (uri (string-append
2598 "https://hackage.haskell.org/package/"
2599 "data-default-instances-containers/"
2600 "data-default-instances-containers-" version ".tar.gz"))
2601 (sha256
2602 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2603 (build-system haskell-build-system)
2604 (inputs
2605 `(("ghc-data-default-class" ,ghc-data-default-class)))
2606 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2607 (synopsis "Default instances for types in containers")
2608 (description "Provides default instances for types from the containers
2609 package.")
2610 (license license:bsd-3)))
2611
2612 (define-public ghc-data-default-instances-dlist
2613 (package
2614 (name "ghc-data-default-instances-dlist")
2615 (version "0.0.1")
2616 (source
2617 (origin
2618 (method url-fetch)
2619 (uri (string-append
2620 "https://hackage.haskell.org/package/"
2621 "data-default-instances-dlist/"
2622 "data-default-instances-dlist-" version ".tar.gz"))
2623 (sha256
2624 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2625 (build-system haskell-build-system)
2626 (inputs
2627 `(("ghc-data-default-class" ,ghc-data-default-class)
2628 ("ghc-dlist" ,ghc-dlist)))
2629 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2630 (synopsis "Default instances for types in dlist")
2631 (description "Provides default instances for types from the dlist
2632 package.")
2633 (license license:bsd-3)))
2634
2635 (define-public ghc-data-default-instances-old-locale
2636 (package
2637 (name "ghc-data-default-instances-old-locale")
2638 (version "0.0.1")
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append
2643 "https://hackage.haskell.org/package/"
2644 "data-default-instances-old-locale/"
2645 "data-default-instances-old-locale-" version ".tar.gz"))
2646 (sha256
2647 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2648 (build-system haskell-build-system)
2649 (inputs
2650 `(("ghc-data-default-class" ,ghc-data-default-class)
2651 ("ghc-old-locale" ,ghc-old-locale)))
2652 (home-page
2653 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2654 (synopsis "Default instances for types in old-locale")
2655 (description "Provides Default instances for types from the old-locale
2656 package.")
2657 (license license:bsd-3)))
2658
2659 (define-public ghc-data-hash
2660 (package
2661 (name "ghc-data-hash")
2662 (version "0.2.0.1")
2663 (source
2664 (origin
2665 (method url-fetch)
2666 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2667 "/data-hash-" version ".tar.gz"))
2668 (sha256
2669 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2670 (build-system haskell-build-system)
2671 (inputs
2672 `(("ghc-quickcheck" ,ghc-quickcheck)
2673 ("ghc-test-framework" ,ghc-test-framework)
2674 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2675 (home-page "https://hackage.haskell.org/package/data-hash")
2676 (synopsis "Combinators for building fast hashing functions")
2677 (description
2678 "This package provides combinators for building fast hashing functions.
2679 It includes hashing functions for all basic Haskell98 types.")
2680 (license license:bsd-3)))
2681
2682 (define-public ghc-data-ordlist
2683 (package
2684 (name "ghc-data-ordlist")
2685 (version "0.4.7.0")
2686 (source
2687 (origin
2688 (method url-fetch)
2689 (uri (string-append
2690 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2691 version ".tar.gz"))
2692 (sha256
2693 (base32
2694 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2695 (build-system haskell-build-system)
2696 (home-page "https://hackage.haskell.org/package/data-ordlist")
2697 (synopsis "Set and bag operations on ordered lists")
2698 (description
2699 "This module provides set and multiset operations on ordered lists.")
2700 (license license:bsd-3)))
2701
2702 (define-public ghc-dbus
2703 (package
2704 (name "ghc-dbus")
2705 (version "1.2.7")
2706 (source
2707 (origin
2708 (method url-fetch)
2709 (uri
2710 (string-append
2711 "mirror://hackage/package/dbus/dbus-"
2712 version ".tar.gz"))
2713 (sha256
2714 (base32
2715 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2716 (build-system haskell-build-system)
2717 (inputs
2718 `(("ghc-cereal" ,ghc-cereal)
2719 ("ghc-conduit" ,ghc-conduit)
2720 ("ghc-exceptions" ,ghc-exceptions)
2721 ("ghc-lens" ,ghc-lens)
2722 ("ghc-network" ,ghc-network)
2723 ("ghc-random" ,ghc-random)
2724 ("ghc-split" ,ghc-split)
2725 ("ghc-th-lift" ,ghc-th-lift)
2726 ("ghc-vector" ,ghc-vector)
2727 ("ghc-xml-conduit" ,ghc-xml-conduit)
2728 ("ghc-xml-types" ,ghc-xml-types)))
2729 (native-inputs
2730 `(("ghc-extra" ,ghc-extra)
2731 ("ghc-quickcheck" ,ghc-quickcheck)
2732 ("ghc-resourcet" ,ghc-resourcet)
2733 ("ghc-tasty" ,ghc-tasty)
2734 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2735 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2736 ;; FIXME - Some tests try to talk to network.
2737 (arguments `(#:tests? #f))
2738 (home-page "https://github.com/rblaze/haskell-dbus")
2739 (synopsis "Client library for the D-Bus IPC system")
2740 (description
2741 "D-Bus is a simple, message-based protocol for inter-process
2742 communication, which allows applications to interact with other parts
2743 of the machine and the user's session using remote procedure
2744 calls. D-Bus is a essential part of the modern Linux desktop, where
2745 it replaces earlier protocols such as CORBA and DCOP. This library
2746 is an implementation of the D-Bus protocol in Haskell. It can be used
2747 to add D-Bus support to Haskell applications, without the awkward
2748 interfaces common to foreign bindings.")
2749 (license license:asl2.0)))
2750
2751 (define-public ghc-deepseq-generics
2752 (package
2753 (name "ghc-deepseq-generics")
2754 (version "0.2.0.0")
2755 (source (origin
2756 (method url-fetch)
2757 (uri (string-append "https://hackage.haskell.org/package/"
2758 "deepseq-generics/deepseq-generics-"
2759 version ".tar.gz"))
2760 (sha256
2761 (base32
2762 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2763 (build-system haskell-build-system)
2764 (arguments
2765 `(#:cabal-revision
2766 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
2767 (native-inputs
2768 `(("ghc-hunit" ,ghc-hunit)
2769 ("ghc-test-framework" ,ghc-test-framework)
2770 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2771 (home-page "https://github.com/hvr/deepseq-generics")
2772 (synopsis "Generic RNF implementation")
2773 (description
2774 "This package provides a @code{GHC.Generics}-based
2775 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2776 providing an @code{rnf} implementation.")
2777 (license license:bsd-3)))
2778
2779 (define-public ghc-dense-linear-algebra
2780 (package
2781 (name "ghc-dense-linear-algebra")
2782 (version "0.1.0.0")
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append "https://hackage.haskell.org/package/"
2787 "dense-linear-algebra/dense-linear-algebra-"
2788 version ".tar.gz"))
2789 (sha256
2790 (base32
2791 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2792 (build-system haskell-build-system)
2793 (inputs
2794 `(("ghc-math-functions" ,ghc-math-functions)
2795 ("ghc-primitive" ,ghc-primitive)
2796 ("ghc-vector" ,ghc-vector)
2797 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2798 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2799 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2800 (native-inputs
2801 `(("ghc-hspec" ,ghc-hspec)
2802 ("ghc-quickcheck" ,ghc-quickcheck)))
2803 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
2804 (synopsis "Simple and incomplete implementation of linear algebra")
2805 (description "This library is simply a collection of linear-algebra
2806 related modules split from the statistics library.")
2807 (license license:bsd-2)))
2808
2809 (define-public ghc-descriptive
2810 (package
2811 (name "ghc-descriptive")
2812 (version "0.9.5")
2813 (source
2814 (origin
2815 (method url-fetch)
2816 (uri (string-append
2817 "https://hackage.haskell.org/package/descriptive/descriptive-"
2818 version
2819 ".tar.gz"))
2820 (sha256
2821 (base32
2822 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2823 (build-system haskell-build-system)
2824 (inputs
2825 `(("ghc-aeson" ,ghc-aeson)
2826 ("ghc-bifunctors" ,ghc-bifunctors)
2827 ("ghc-scientific" ,ghc-scientific)
2828 ("ghc-vector" ,ghc-vector)))
2829 (native-inputs
2830 `(("ghc-hunit" ,ghc-hunit)
2831 ("ghc-hspec" ,ghc-hspec)))
2832 (home-page
2833 "https://github.com/chrisdone/descriptive")
2834 (synopsis
2835 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2836 (description
2837 "This package provides datatypes and functions for creating consumers
2838 and parsers with useful semantics.")
2839 (license license:bsd-3)))
2840
2841 (define-public ghc-diagrams-core
2842 (package
2843 (name "ghc-diagrams-core")
2844 (version "1.4.2")
2845 (source
2846 (origin
2847 (method url-fetch)
2848 (uri (string-append "https://hackage.haskell.org/package/"
2849 "diagrams-core/diagrams-core-" version ".tar.gz"))
2850 (sha256
2851 (base32
2852 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2853 (build-system haskell-build-system)
2854 (inputs
2855 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2856 ("ghc-semigroups" ,ghc-semigroups)
2857 ("ghc-monoid-extras" ,ghc-monoid-extras)
2858 ("ghc-dual-tree" ,ghc-dual-tree)
2859 ("ghc-lens" ,ghc-lens)
2860 ("ghc-linear" ,ghc-linear)
2861 ("ghc-adjunctions" ,ghc-adjunctions)
2862 ("ghc-distributive" ,ghc-distributive)
2863 ("ghc-profunctors" ,ghc-profunctors)))
2864 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2865 (synopsis "Core libraries for diagrams embedded domain-specific language")
2866 (description "This package provides the core modules underlying
2867 diagrams, an embedded domain-specific language for compositional,
2868 declarative drawing.")
2869 (license license:bsd-3)))
2870
2871 (define-public ghc-diagrams-lib
2872 (package
2873 (name "ghc-diagrams-lib")
2874 (version "1.4.2.3")
2875 (source
2876 (origin
2877 (method url-fetch)
2878 (uri (string-append "https://hackage.haskell.org/package/"
2879 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2880 (sha256
2881 (base32
2882 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2883 (build-system haskell-build-system)
2884 (inputs
2885 `(("ghc-semigroups" ,ghc-semigroups)
2886 ("ghc-monoid-extras" ,ghc-monoid-extras)
2887 ("ghc-dual-tree" ,ghc-dual-tree)
2888 ("ghc-diagrams-core" ,ghc-diagrams-core)
2889 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2890 ("ghc-active" ,ghc-active)
2891 ("ghc-colour" ,ghc-colour)
2892 ("ghc-data-default-class" ,ghc-data-default-class)
2893 ("ghc-fingertree" ,ghc-fingertree)
2894 ("ghc-intervals" ,ghc-intervals)
2895 ("ghc-lens" ,ghc-lens)
2896 ("ghc-tagged" ,ghc-tagged)
2897 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2898 ("ghc-juicypixels" ,ghc-juicypixels)
2899 ("ghc-hashable" ,ghc-hashable)
2900 ("ghc-linear" ,ghc-linear)
2901 ("ghc-adjunctions" ,ghc-adjunctions)
2902 ("ghc-distributive" ,ghc-distributive)
2903 ("ghc-fsnotify" ,ghc-fsnotify)
2904 ("ghc-unordered-containers" ,ghc-unordered-containers)
2905 ("ghc-profunctors" ,ghc-profunctors)
2906 ("ghc-exceptions" ,ghc-exceptions)
2907 ("ghc-cereal" ,ghc-cereal)))
2908 (native-inputs
2909 `(("ghc-tasty" ,ghc-tasty)
2910 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2911 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2912 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2913 (arguments
2914 `(#:cabal-revision
2915 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2916 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2917 (synopsis "Embedded domain-specific language for declarative graphics")
2918 (description "Diagrams is a flexible, extensible embedded
2919 domain-specific language (EDSL) for creating graphics of many types.
2920 Graphics can be created in arbitrary vector spaces and rendered with
2921 multiple backends. This package provides a standard library of
2922 primitives and operations for creating diagrams.")
2923 (license license:bsd-3)))
2924
2925 (define-public ghc-diagrams-solve
2926 (package
2927 (name "ghc-diagrams-solve")
2928 (version "0.1.1")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/"
2933 "diagrams-solve/diagrams-solve-"
2934 version ".tar.gz"))
2935 (sha256
2936 (base32
2937 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2938 (build-system haskell-build-system)
2939 (native-inputs
2940 `(("ghc-tasty" ,ghc-tasty)
2941 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2942 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2943 (arguments
2944 `(#:cabal-revision
2945 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2946 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2947 (synopsis "Pure Haskell solver routines used by diagrams")
2948 (description "This library provides Pure Haskell solver routines for
2949 use by the
2950 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2951 diagrams framework}. It currently includes routines for finding real
2952 roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2953 and cyclic tridiagonal linear systems.")
2954 (license license:bsd-3)))
2955
2956 (define-public ghc-diagrams-svg
2957 (package
2958 (name "ghc-diagrams-svg")
2959 (version "1.4.2")
2960 (source
2961 (origin
2962 (method url-fetch)
2963 (uri (string-append "https://hackage.haskell.org/package/"
2964 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
2965 (sha256
2966 (base32
2967 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
2968 (build-system haskell-build-system)
2969 (inputs
2970 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
2971 ("ghc-colour" ,ghc-colour)
2972 ("ghc-diagrams-core" ,ghc-diagrams-core)
2973 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
2974 ("ghc-monoid-extras" ,ghc-monoid-extras)
2975 ("ghc-svg-builder" ,ghc-svg-builder)
2976 ("ghc-juicypixels" ,ghc-juicypixels)
2977 ("ghc-split" ,ghc-split)
2978 ("ghc-lens" ,ghc-lens)
2979 ("ghc-hashable" ,ghc-hashable)
2980 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2981 ("ghc-semigroups" ,ghc-semigroups)))
2982 (arguments
2983 `(#:cabal-revision
2984 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
2985 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2986 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
2987 (description "This package provides a modular backend for rendering
2988 diagrams created with the diagrams embedded domain-specific
2989 language (EDSL) to Scalable Vector Graphics (SVG) files.")
2990 (license license:bsd-3)))
2991
2992 (define-public ghc-dictionary-sharing
2993 (package
2994 (name "ghc-dictionary-sharing")
2995 (version "0.1.0.0")
2996 (source
2997 (origin
2998 (method url-fetch)
2999 (uri (string-append "https://hackage.haskell.org/package/"
3000 "dictionary-sharing/dictionary-sharing-"
3001 version ".tar.gz"))
3002 (sha256
3003 (base32
3004 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3005 (build-system haskell-build-system)
3006 (arguments
3007 `(#:cabal-revision
3008 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3009 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3010 (synopsis "Sharing/memoization of class members")
3011 (description "This library provides tools for ensuring that class
3012 members are shared.")
3013 (license license:bsd-3)))
3014
3015 (define-public ghc-diff
3016 (package
3017 (name "ghc-diff")
3018 (version "0.3.4")
3019 (source (origin
3020 (method url-fetch)
3021 (uri (string-append "https://hackage.haskell.org/package/"
3022 "Diff/Diff-" version ".tar.gz"))
3023 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
3024 (sha256
3025 (base32
3026 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3027 (build-system haskell-build-system)
3028 (native-inputs
3029 `(("ghc-quickcheck" ,ghc-quickcheck)
3030 ("ghc-test-framework" ,ghc-test-framework)
3031 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3032 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3033 (synopsis "O(ND) diff algorithm in Haskell")
3034 (description
3035 "This package provides an implementation of the standard diff algorithm,
3036 and utilities for pretty printing.")
3037 (license license:bsd-3)))
3038
3039 (define-public ghc-disk-free-space
3040 (package
3041 (name "ghc-disk-free-space")
3042 (version "0.1.0.1")
3043 (source
3044 (origin
3045 (method url-fetch)
3046 (uri (string-append "https://hackage.haskell.org/package/"
3047 "disk-free-space/disk-free-space-"
3048 version ".tar.gz"))
3049 (sha256
3050 (base32
3051 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3052 (build-system haskell-build-system)
3053 (home-page "https://github.com/redneb/disk-free-space")
3054 (synopsis "Retrieve information about disk space usage")
3055 (description "A cross-platform library for retrieving information about
3056 disk space usage.")
3057 (license license:bsd-3)))
3058
3059 (define-public ghc-distributive
3060 (package
3061 (name "ghc-distributive")
3062 (version "0.6.1")
3063 (source
3064 (origin
3065 (method url-fetch)
3066 (uri (string-append
3067 "https://hackage.haskell.org/package/distributive/distributive-"
3068 version
3069 ".tar.gz"))
3070 (sha256
3071 (base32
3072 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
3073 (build-system haskell-build-system)
3074 (inputs
3075 `(("ghc-tagged" ,ghc-tagged)
3076 ("ghc-base-orphans" ,ghc-base-orphans)
3077 ("ghc-transformers-compat" ,ghc-transformers-compat)
3078 ("ghc-semigroups" ,ghc-semigroups)
3079 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3080 (native-inputs
3081 `(("cabal-doctest" ,cabal-doctest)
3082 ("ghc-doctest" ,ghc-doctest)
3083 ("ghc-hspec" ,ghc-hspec)
3084 ("hspec-discover" ,hspec-discover)))
3085 (home-page "https://github.com/ekmett/distributive/")
3086 (synopsis "Distributive functors for Haskell")
3087 (description "This package provides distributive functors for Haskell.
3088 Dual to @code{Traversable}.")
3089 (license license:bsd-3)))
3090
3091 (define-public ghc-dlist
3092 (package
3093 (name "ghc-dlist")
3094 (version "0.8.0.7")
3095 (source
3096 (origin
3097 (method url-fetch)
3098 (uri (string-append
3099 "https://hackage.haskell.org/package/dlist/dlist-"
3100 version
3101 ".tar.gz"))
3102 (sha256
3103 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
3104 (build-system haskell-build-system)
3105 (inputs
3106 `(("ghc-quickcheck" ,ghc-quickcheck)))
3107 (home-page "https://github.com/spl/dlist")
3108 (synopsis "Difference lists")
3109 (description
3110 "Difference lists are a list-like type supporting O(1) append. This is
3111 particularly useful for efficient logging and pretty printing (e.g. with the
3112 Writer monad), where list append quickly becomes too expensive.")
3113 (license license:bsd-3)))
3114
3115 (define-public ghc-doctemplates
3116 (package
3117 (name "ghc-doctemplates")
3118 (version "0.2.2.1")
3119 (source
3120 (origin
3121 (method url-fetch)
3122 (uri (string-append "https://hackage.haskell.org/package/"
3123 "doctemplates/doctemplates-"
3124 version ".tar.gz"))
3125 (sha256
3126 (base32
3127 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3128 (build-system haskell-build-system)
3129 (inputs
3130 `(("ghc-aeson" ,ghc-aeson)
3131 ("ghc-blaze-markup" ,ghc-blaze-markup)
3132 ("ghc-blaze-html" ,ghc-blaze-html)
3133 ("ghc-vector" ,ghc-vector)
3134 ("ghc-unordered-containers" ,ghc-unordered-containers)
3135 ("ghc-scientific" ,ghc-scientific)))
3136 (native-inputs
3137 `(("ghc-hspec" ,ghc-hspec)))
3138 (home-page "https://github.com/jgm/doctemplates#readme")
3139 (synopsis "Pandoc-style document templates")
3140 (description
3141 "This package provides a simple text templating system used by pandoc.")
3142 (license license:bsd-3)))
3143
3144 (define-public ghc-doctest
3145 (package
3146 (name "ghc-doctest")
3147 (version "0.16.2")
3148 (source
3149 (origin
3150 (method url-fetch)
3151 (uri (string-append
3152 "https://hackage.haskell.org/package/doctest/doctest-"
3153 version
3154 ".tar.gz"))
3155 (sha256
3156 (base32
3157 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
3158 (build-system haskell-build-system)
3159 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3160 (inputs
3161 `(("ghc-syb" ,ghc-syb)
3162 ("ghc-paths" ,ghc-paths)
3163 ("ghc-base-compat" ,ghc-base-compat)
3164 ("ghc-code-page" ,ghc-code-page)
3165 ("ghc-hunit" ,ghc-hunit)
3166 ("ghc-hspec" ,ghc-hspec)
3167 ("ghc-quickcheck" ,ghc-quickcheck)
3168 ("ghc-stringbuilder" ,ghc-stringbuilder)
3169 ("ghc-silently" ,ghc-silently)
3170 ("ghc-setenv" ,ghc-setenv)))
3171 (home-page
3172 "https://github.com/sol/doctest#readme")
3173 (synopsis "Test interactive Haskell examples")
3174 (description "The doctest program checks examples in source code comments.
3175 It is modeled after doctest for Python, see
3176 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3177 (license license:expat)))
3178
3179 (define-public ghc-double-conversion
3180 (package
3181 (name "ghc-double-conversion")
3182 (version "2.0.2.0")
3183 (source
3184 (origin
3185 (method url-fetch)
3186 (uri (string-append "https://hackage.haskell.org/package/"
3187 "double-conversion/double-conversion-"
3188 version ".tar.gz"))
3189 (sha256
3190 (base32
3191 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3192 (build-system haskell-build-system)
3193 (native-inputs
3194 `(("ghc-hunit" ,ghc-hunit)
3195 ("ghc-test-framework" ,ghc-test-framework)
3196 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3197 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3198 (home-page "https://github.com/bos/double-conversion")
3199 (synopsis "Fast conversion between double precision floating point and text")
3200 (description
3201 "This package provides a library that performs fast, accurate conversion
3202 between double precision floating point and text.")
3203 (license license:bsd-3)))
3204
3205 (define-public ghc-dual-tree
3206 (package
3207 (name "ghc-dual-tree")
3208 (version "0.2.2.1")
3209 (source
3210 (origin
3211 (method url-fetch)
3212 (uri (string-append "https://hackage.haskell.org/package/"
3213 "dual-tree/dual-tree-" version ".tar.gz"))
3214 (sha256
3215 (base32
3216 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3217 (build-system haskell-build-system)
3218 (inputs
3219 `(("ghc-semigroups" ,ghc-semigroups)
3220 ("ghc-newtype-generics" ,ghc-newtype-generics)
3221 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3222 (native-inputs
3223 `(("ghc-quickcheck" ,ghc-quickcheck)
3224 ("ghc-testing-feat" ,ghc-testing-feat)))
3225 (home-page "https://hackage.haskell.org/package/dual-tree")
3226 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3227 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3228 cached) and downwards-traveling (i.e. accumulating) monoidal
3229 annotations. This is used as the core data structure underlying the
3230 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3231 diagrams framework}, but potentially has other applications as well.")
3232 (license license:bsd-3)))
3233
3234 (define-public ghc-easy-file
3235 (package
3236 (name "ghc-easy-file")
3237 (version "0.2.2")
3238 (source
3239 (origin
3240 (method url-fetch)
3241 (uri (string-append
3242 "https://hackage.haskell.org/package/easy-file/easy-file-"
3243 version
3244 ".tar.gz"))
3245 (sha256
3246 (base32
3247 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3248 (build-system haskell-build-system)
3249 (home-page
3250 "https://github.com/kazu-yamamoto/easy-file")
3251 (synopsis "File handling library for Haskell")
3252 (description "This library provides file handling utilities for Haskell.")
3253 (license license:bsd-3)))
3254
3255 (define-public ghc-easyplot
3256 (package
3257 (name "ghc-easyplot")
3258 (version "1.0")
3259 (source
3260 (origin
3261 (method url-fetch)
3262 (uri (string-append
3263 "https://hackage.haskell.org/package/easyplot/easyplot-"
3264 version ".tar.gz"))
3265 (sha256
3266 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3267 (build-system haskell-build-system)
3268 (propagated-inputs `(("gnuplot" ,gnuplot)))
3269 (arguments
3270 `(#:phases (modify-phases %standard-phases
3271 (add-after 'unpack 'fix-setup-suffix
3272 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3273 (home-page "https://hub.darcs.net/scravy/easyplot")
3274 (synopsis "Haskell plotting library based on gnuplot")
3275 (description "This package provides a plotting library for
3276 Haskell, using gnuplot for rendering.")
3277 (license license:expat)))
3278
3279 (define-public ghc-echo
3280 (package
3281 (name "ghc-echo")
3282 (version "0.1.3")
3283 (source
3284 (origin
3285 (method url-fetch)
3286 (uri (string-append
3287 "https://hackage.haskell.org/package/echo/echo-"
3288 version ".tar.gz"))
3289 (sha256
3290 (base32
3291 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3292 (build-system haskell-build-system)
3293 (arguments
3294 `(#:cabal-revision
3295 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3296 (home-page "https://github.com/RyanGlScott/echo")
3297 (synopsis "Echo terminal input portably")
3298 (description "The @code{base} library exposes the @code{hGetEcho} and
3299 @code{hSetEcho} functions for querying and setting echo status, but
3300 unfortunately, neither function works with MinTTY consoles on Windows.
3301 This library provides an alternative interface which works with both
3302 MinTTY and other consoles.")
3303 (license license:bsd-3)))
3304
3305 (define-public ghc-edisonapi
3306 (package
3307 (name "ghc-edisonapi")
3308 (version "1.3.1")
3309 (source
3310 (origin
3311 (method url-fetch)
3312 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3313 "/EdisonAPI-" version ".tar.gz"))
3314 (sha256
3315 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3316 (build-system haskell-build-system)
3317 (home-page "http://rwd.rdockins.name/edison/home/")
3318 (synopsis "Library of efficient, purely-functional data structures (API)")
3319 (description
3320 "Edison is a library of purely functional data structures written by
3321 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3322 value EDiSon (Efficient Data Structures). Edison provides several families of
3323 abstractions, each with multiple implementations. The main abstractions
3324 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3325 Collections such as sets, bags and heaps; and Associative Collections such as
3326 finite maps and priority queues where the priority and element are distinct.")
3327 (license license:expat)))
3328
3329 (define-public ghc-edisoncore
3330 (package
3331 (name "ghc-edisoncore")
3332 (version "1.3.2.1")
3333 (source
3334 (origin
3335 (method url-fetch)
3336 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3337 "/EdisonCore-" version ".tar.gz"))
3338 (sha256
3339 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3340 (build-system haskell-build-system)
3341 (inputs
3342 `(("ghc-quickcheck" ,ghc-quickcheck)
3343 ("ghc-edisonapi" ,ghc-edisonapi)))
3344 (home-page "http://rwd.rdockins.name/edison/home/")
3345 (synopsis "Library of efficient, purely-functional data structures")
3346 (description
3347 "This package provides the core Edison data structure implementations,
3348 including multiple sequence, set, bag, and finite map concrete implementations
3349 with various performance characteristics.")
3350 (license license:expat)))
3351
3352 (define-public ghc-edit-distance
3353 (package
3354 (name "ghc-edit-distance")
3355 (version "0.2.2.1")
3356 (source
3357 (origin
3358 (method url-fetch)
3359 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3360 "/edit-distance-" version ".tar.gz"))
3361 (sha256
3362 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3363 (build-system haskell-build-system)
3364 (arguments
3365 `(#:phases
3366 (modify-phases %standard-phases
3367 (add-before 'configure 'update-constraints
3368 (lambda _
3369 (substitute* "edit-distance.cabal"
3370 (("QuickCheck >= 2\\.4 && <2\\.9")
3371 "QuickCheck >= 2.4 && < 2.14")))))))
3372 (inputs
3373 `(("ghc-random" ,ghc-random)
3374 ("ghc-test-framework" ,ghc-test-framework)
3375 ("ghc-quickcheck" ,ghc-quickcheck)
3376 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3377 (home-page "https://github.com/phadej/edit-distance")
3378 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3379 (description
3380 "This package provides optimized functions to determine the edit
3381 distances for fuzzy matching, including Levenshtein and restricted
3382 Damerau-Levenshtein algorithms.")
3383 (license license:bsd-3)))
3384
3385 (define-public ghc-edit-distance-vector
3386 (package
3387 (name "ghc-edit-distance-vector")
3388 (version "1.0.0.4")
3389 (source
3390 (origin
3391 (method url-fetch)
3392 (uri (string-append "https://hackage.haskell.org/package/"
3393 "edit-distance-vector/edit-distance-vector-"
3394 version ".tar.gz"))
3395 (sha256
3396 (base32
3397 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3398 (build-system haskell-build-system)
3399 (inputs
3400 `(("ghc-vector" ,ghc-vector)))
3401 (native-inputs
3402 `(("ghc-quickcheck" ,ghc-quickcheck)
3403 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3404 (home-page "https://github.com/thsutton/edit-distance-vector")
3405 (synopsis "Calculate edit distances and edit scripts between vectors")
3406 (description "This package provides implementation of the
3407 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3408 script and cost between two sequences. The implementation in this
3409 package is specialised to sequences represented with @code{Data.Vector}
3410 but is otherwise agnostic to:
3411 @itemize
3412 @item The type of values in the vectors;
3413 @item The type representing edit operations; and
3414 @item The type representing the cost of operations.
3415 @end itemize")
3416 (license license:bsd-3)) )
3417
3418 (define-public ghc-either
3419 (package
3420 (name "ghc-either")
3421 (version "5.0.1.1")
3422 (source
3423 (origin
3424 (method url-fetch)
3425 (uri (string-append "https://hackage.haskell.org/package/"
3426 "either-" version "/"
3427 "either-" version ".tar.gz"))
3428 (sha256
3429 (base32
3430 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3431 (build-system haskell-build-system)
3432 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3433 ("ghc-exceptions" ,ghc-exceptions)
3434 ("ghc-free" ,ghc-free)
3435 ("ghc-monad-control" ,ghc-monad-control)
3436 ("ghc-manodrandom" ,ghc-monadrandom)
3437 ("ghc-mmorph" ,ghc-mmorph)
3438 ("ghc-profunctors" ,ghc-profunctors)
3439 ("ghc-semigroups" ,ghc-semigroups)
3440 ("ghc-semigroupoids" ,ghc-semigroupoids)
3441 ("ghc-transformers-base" ,ghc-transformers-base)))
3442 (native-inputs
3443 `(("ghc-quickcheck" ,ghc-quickcheck)
3444 ("ghc-test-framework" ,ghc-test-framework)
3445 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3446 (home-page "https://github.com/ekmett/either")
3447 (synopsis "Provides an either monad transformer for Haskell")
3448 (description "This Haskell package provides an either monad transformer.")
3449 (license license:bsd-3)))
3450
3451 (define-public ghc-email-validate
3452 (package
3453 (name "ghc-email-validate")
3454 (version "2.3.2.12")
3455 (source
3456 (origin
3457 (method url-fetch)
3458 (uri (string-append
3459 "https://hackage.haskell.org/package/"
3460 "email-validate/email-validate-"
3461 version
3462 ".tar.gz"))
3463 (sha256
3464 (base32
3465 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3466 (build-system haskell-build-system)
3467 (inputs
3468 `(("ghc-attoparsec" ,ghc-attoparsec)
3469 ("ghc-hspec" ,ghc-hspec)
3470 ("ghc-quickcheck" ,ghc-quickcheck)
3471 ("ghc-doctest" ,ghc-doctest)))
3472 (home-page
3473 "https://github.com/Porges/email-validate-hs")
3474 (synopsis "Email address validator for Haskell")
3475 (description
3476 "This Haskell package provides a validator that can validate an email
3477 address string against RFC 5322.")
3478 (license license:bsd-3)))
3479
3480 (define-public ghc-enclosed-exceptions
3481 (package
3482 (name "ghc-enclosed-exceptions")
3483 (version "1.0.3")
3484 (source (origin
3485 (method url-fetch)
3486 (uri (string-append "https://hackage.haskell.org/package/"
3487 "enclosed-exceptions/enclosed-exceptions-"
3488 version ".tar.gz"))
3489 (sha256
3490 (base32
3491 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3492 (build-system haskell-build-system)
3493 ;; FIXME: one of the tests blocks forever:
3494 ;; "thread blocked indefinitely in an MVar operation"
3495 (arguments '(#:tests? #f))
3496 (inputs
3497 `(("ghc-lifted-base" ,ghc-lifted-base)
3498 ("ghc-monad-control" ,ghc-monad-control)
3499 ("ghc-async" ,ghc-async)
3500 ("ghc-transformers-base" ,ghc-transformers-base)))
3501 (native-inputs
3502 `(("ghc-hspec" ,ghc-hspec)
3503 ("ghc-quickcheck" ,ghc-quickcheck)))
3504 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3505 (synopsis "Catch all exceptions from within an enclosed computation")
3506 (description
3507 "This library implements a technique to catch all exceptions raised
3508 within an enclosed computation, while remaining responsive to (external)
3509 asynchronous exceptions.")
3510 (license license:expat)))
3511
3512 (define-public ghc-equivalence
3513 (package
3514 (name "ghc-equivalence")
3515 (version "0.3.5")
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3520 "/equivalence-" version ".tar.gz"))
3521 (sha256
3522 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
3523 (build-system haskell-build-system)
3524 (inputs
3525 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3526 ("ghc-transformers-compat" ,ghc-transformers-compat)
3527 ("ghc-fail" ,ghc-fail)
3528 ("ghc-quickcheck" ,ghc-quickcheck)))
3529 (home-page "https://github.com/pa-ba/equivalence")
3530 (synopsis "Maintaining an equivalence relation implemented as union-find")
3531 (description
3532 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3533 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
3534 22(2), 1975) in order to maintain an equivalence relation. This
3535 implementation is a port of the @code{union-find} package using the @code{ST}
3536 monad transformer (instead of the IO monad).")
3537 (license license:bsd-3)))
3538
3539 (define-public ghc-erf
3540 (package
3541 (name "ghc-erf")
3542 (version "2.0.0.0")
3543 (source
3544 (origin
3545 (method url-fetch)
3546 (uri (string-append "https://hackage.haskell.org/package/"
3547 "erf-" version "/"
3548 "erf-" version ".tar.gz"))
3549 (sha256
3550 (base32
3551 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3552 (build-system haskell-build-system)
3553 (home-page "https://hackage.haskell.org/package/erf")
3554 (synopsis "The error function, erf, and related functions for Haskell")
3555 (description "This Haskell library provides a type class for the
3556 error function, erf, and related functions. Instances for Float and
3557 Double.")
3558 (license license:bsd-3)))
3559
3560 (define-public ghc-errorcall-eq-instance
3561 (package
3562 (name "ghc-errorcall-eq-instance")
3563 (version "0.3.0")
3564 (source
3565 (origin
3566 (method url-fetch)
3567 (uri (string-append "https://hackage.haskell.org/package/"
3568 "errorcall-eq-instance/errorcall-eq-instance-"
3569 version ".tar.gz"))
3570 (sha256
3571 (base32
3572 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3573 (build-system haskell-build-system)
3574 (inputs
3575 `(("ghc-base-orphans" ,ghc-base-orphans)))
3576 (native-inputs
3577 `(("ghc-quickcheck" ,ghc-quickcheck)
3578 ("ghc-hspec" ,ghc-hspec)
3579 ("hspec-discover" ,hspec-discover)))
3580 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3581 (synopsis "Orphan Eq instance for ErrorCall")
3582 (description
3583 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3584 This package provides an orphan instance.")
3585 (license license:expat)))
3586
3587 (define-public ghc-errors
3588 (package
3589 (name "ghc-errors")
3590 (version "2.3.0")
3591 (source
3592 (origin
3593 (method url-fetch)
3594 (uri (string-append "https://hackage.haskell.org/package/"
3595 "errors-" version "/"
3596 "errors-" version ".tar.gz"))
3597 (sha256
3598 (base32
3599 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3600 (build-system haskell-build-system)
3601 (inputs
3602 `(("ghc-exceptions" ,ghc-exceptions)
3603 ("ghc-transformers-compat" ,ghc-transformers-compat)
3604 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3605 ("ghc-safe" ,ghc-safe)))
3606 (home-page "https://github.com/gabriel439/haskell-errors-library")
3607 (synopsis "Error handling library for Haskell")
3608 (description "This library encourages an error-handling style that
3609 directly uses the type system, rather than out-of-band exceptions.")
3610 (license license:bsd-3)))
3611
3612 (define-public ghc-esqueleto
3613 (package
3614 (name "ghc-esqueleto")
3615 (version "3.0.0")
3616 (source
3617 (origin
3618 (method url-fetch)
3619 (uri (string-append "https://hackage.haskell.org/package/"
3620 "esqueleto/esqueleto-" version ".tar.gz"))
3621 (sha256
3622 (base32
3623 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3624 (build-system haskell-build-system)
3625 (arguments
3626 `(#:haddock? #f ; Haddock reports an internal error.
3627 #:phases
3628 (modify-phases %standard-phases
3629 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3630 ;; SQLite backends. Since we only have Haskell packages for
3631 ;; SQLite, we remove the other two test suites. FIXME: Add the
3632 ;; other backends and run all three test suites.
3633 (add-before 'configure 'remove-non-sqlite-test-suites
3634 (lambda _
3635 (use-modules (ice-9 rdelim))
3636 (with-atomic-file-replacement "esqueleto.cabal"
3637 (lambda (in out)
3638 (let loop ((line (read-line in 'concat)) (deleting? #f))
3639 (cond
3640 ((eof-object? line) #t)
3641 ((string-every char-set:whitespace line)
3642 (unless deleting? (display line out))
3643 (loop (read-line in 'concat) #f))
3644 ((member line '("test-suite mysql\n"
3645 "test-suite postgresql\n"))
3646 (loop (read-line in 'concat) #t))
3647 (else
3648 (unless deleting? (display line out))
3649 (loop (read-line in 'concat) deleting?)))))))))))
3650 (inputs
3651 `(("ghc-blaze-html" ,ghc-blaze-html)
3652 ("ghc-conduit" ,ghc-conduit)
3653 ("ghc-monad-logger" ,ghc-monad-logger)
3654 ("ghc-persistent" ,ghc-persistent)
3655 ("ghc-resourcet" ,ghc-resourcet)
3656 ("ghc-tagged" ,ghc-tagged)
3657 ("ghc-unliftio" ,ghc-unliftio)
3658 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3659 (native-inputs
3660 `(("ghc-hspec" ,ghc-hspec)
3661 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3662 ("ghc-persistent-template" ,ghc-persistent-template)))
3663 (home-page "https://github.com/bitemyapp/esqueleto")
3664 (synopsis "Type-safe embedded domain specific language for SQL queries")
3665 (description "This library provides a type-safe embedded domain specific
3666 language (EDSL) for SQL queries that works with SQL backends as provided by
3667 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3668 to learn new concepts, just new syntax, and it's fairly easy to predict the
3669 generated SQL and optimize it for your backend.")
3670 (license license:bsd-3)))
3671
3672 (define-public ghc-exactprint
3673 (package
3674 (name "ghc-exactprint")
3675 (version "0.6.1")
3676 (source
3677 (origin
3678 (method url-fetch)
3679 (uri (string-append
3680 "https://hackage.haskell.org/package/"
3681 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3682 (sha256
3683 (base32
3684 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
3685 (build-system haskell-build-system)
3686 (inputs
3687 `(("ghc-paths" ,ghc-paths)
3688 ("ghc-syb" ,ghc-syb)
3689 ("ghc-free" ,ghc-free)))
3690 (native-inputs
3691 `(("ghc-hunit" ,ghc-hunit)
3692 ("ghc-diff" ,ghc-diff)
3693 ("ghc-silently" ,ghc-silently)
3694 ("ghc-filemanip" ,ghc-filemanip)))
3695 (home-page
3696 "http://hackage.haskell.org/package/ghc-exactprint")
3697 (synopsis "ExactPrint for GHC")
3698 (description
3699 "Using the API Annotations available from GHC 7.10.2, this library
3700 provides a means to round-trip any code that can be compiled by GHC, currently
3701 excluding @file{.lhs} files.")
3702 (license license:bsd-3)))
3703
3704 (define-public ghc-exceptions
3705 (package
3706 (name "ghc-exceptions")
3707 (version "0.10.3")
3708 (source
3709 (origin
3710 (method url-fetch)
3711 (uri (string-append
3712 "https://hackage.haskell.org/package/exceptions/exceptions-"
3713 version
3714 ".tar.gz"))
3715 (sha256
3716 (base32
3717 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
3718 (build-system haskell-build-system)
3719 (native-inputs
3720 `(("ghc-quickcheck" ,ghc-quickcheck)
3721 ("ghc-test-framework" ,ghc-test-framework)
3722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3723 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3724 (inputs
3725 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3726 (home-page "https://github.com/ekmett/exceptions/")
3727 (synopsis "Extensible optionally-pure exceptions")
3728 (description "This library provides extensible optionally-pure exceptions
3729 for Haskell.")
3730 (license license:bsd-3)))
3731
3732 (define-public ghc-executable-path
3733 (package
3734 (name "ghc-executable-path")
3735 (version "0.0.3.1")
3736 (source (origin
3737 (method url-fetch)
3738 (uri (string-append "https://hackage.haskell.org/package/"
3739 "executable-path/executable-path-"
3740 version ".tar.gz"))
3741 (sha256
3742 (base32
3743 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3744 (build-system haskell-build-system)
3745 (home-page "https://hackage.haskell.org/package/executable-path")
3746 (synopsis "Find out the full path of the executable")
3747 (description
3748 "The documentation of @code{System.Environment.getProgName} says that
3749 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3750 instead, for maximum portability, we just return the leafname of the program
3751 as invoked.\" This library tries to provide the missing path.")
3752 (license license:public-domain)))
3753
3754 (define-public ghc-extensible-exceptions
3755 (package
3756 (name "ghc-extensible-exceptions")
3757 (version "0.1.1.4")
3758 (source
3759 (origin
3760 (method url-fetch)
3761 (uri (string-append "https://hackage.haskell.org/package/"
3762 "extensible-exceptions/extensible-exceptions-"
3763 version ".tar.gz"))
3764 (sha256
3765 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3766 (build-system haskell-build-system)
3767 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3768 (synopsis "Extensible exceptions for Haskell")
3769 (description
3770 "This package provides extensible exceptions for both new and old
3771 versions of GHC (i.e., < 6.10).")
3772 (license license:bsd-3)))
3773
3774 (define-public ghc-extra
3775 (package
3776 (name "ghc-extra")
3777 (version "1.6.18")
3778 (source
3779 (origin
3780 (method url-fetch)
3781 (uri (string-append
3782 "https://hackage.haskell.org/package/extra/extra-"
3783 version
3784 ".tar.gz"))
3785 (sha256
3786 (base32
3787 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
3788 (build-system haskell-build-system)
3789 (inputs
3790 `(("ghc-clock" ,ghc-clock)
3791 ("ghc-semigroups" ,ghc-semigroups)
3792 ("ghc-quickcheck" ,ghc-quickcheck)))
3793 (home-page "https://github.com/ndmitchell/extra")
3794 (synopsis "Extra Haskell functions")
3795 (description "This library provides extra functions for the standard
3796 Haskell libraries. Most functions are simple additions, filling out missing
3797 functionality. A few functions are available in later versions of GHC, but
3798 this package makes them available back to GHC 7.2.")
3799 (license license:bsd-3)))
3800
3801 (define-public ghc-fail
3802 (package
3803 (name "ghc-fail")
3804 (version "4.9.0.0")
3805 (source
3806 (origin
3807 (method url-fetch)
3808 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3809 version ".tar.gz"))
3810 (sha256
3811 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3812 (build-system haskell-build-system)
3813 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3814 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3815 (synopsis "Forward-compatible MonadFail class")
3816 (description
3817 "This package contains the @code{Control.Monad.Fail} module providing the
3818 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3819 class that became available in
3820 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3821 older @code{base} package versions. This package turns into an empty package
3822 when used with GHC versions which already provide the
3823 @code{Control.Monad.Fail} module.")
3824 (license license:bsd-3)))
3825
3826 (define-public ghc-fast-logger
3827 (package
3828 (name "ghc-fast-logger")
3829 (version "2.4.17")
3830 (source
3831 (origin
3832 (method url-fetch)
3833 (uri (string-append
3834 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3835 version
3836 ".tar.gz"))
3837 (sha256
3838 (base32
3839 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
3840 (build-system haskell-build-system)
3841 (inputs
3842 `(("ghc-auto-update" ,ghc-auto-update)
3843 ("ghc-easy-file" ,ghc-easy-file)
3844 ("ghc-unix-time" ,ghc-unix-time)
3845 ("ghc-unix-compat" ,ghc-unix-compat)))
3846 (native-inputs
3847 `(("hspec-discover" ,hspec-discover)
3848 ("ghc-hspec" ,ghc-hspec)))
3849 (home-page "https://hackage.haskell.org/package/fast-logger")
3850 (synopsis "Fast logging system")
3851 (description "This library provides a fast logging system for Haskell.")
3852 (license license:bsd-3)))
3853
3854 (define-public ghc-feed
3855 (package
3856 (name "ghc-feed")
3857 (version "1.2.0.1")
3858 (source
3859 (origin
3860 (method url-fetch)
3861 (uri (string-append "https://hackage.haskell.org/package/"
3862 "feed/feed-" version ".tar.gz"))
3863 (sha256
3864 (base32
3865 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
3866 (build-system haskell-build-system)
3867 (inputs
3868 `(("ghc-base-compat" ,ghc-base-compat)
3869 ("ghc-old-locale" ,ghc-old-locale)
3870 ("ghc-old-time" ,ghc-old-time)
3871 ("ghc-safe" ,ghc-safe)
3872 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3873 ("ghc-utf8-string" ,ghc-utf8-string)
3874 ("ghc-xml-conduit" ,ghc-xml-conduit)
3875 ("ghc-xml-types" ,ghc-xml-types)))
3876 (native-inputs
3877 `(("ghc-hunit" ,ghc-hunit)
3878 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
3879 ("ghc-test-framework" ,ghc-test-framework)
3880 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3881 (home-page "https://github.com/bergmark/feed")
3882 (synopsis "Haskell package for handling various syndication formats")
3883 (description "This Haskell package includes tools for generating and
3884 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3885 (license license:bsd-3)))
3886
3887 (define-public ghc-fgl
3888 (package
3889 (name "ghc-fgl")
3890 (version "5.7.0.1")
3891 (outputs '("out" "doc"))
3892 (source
3893 (origin
3894 (method url-fetch)
3895 (uri (string-append
3896 "https://hackage.haskell.org/package/fgl/fgl-"
3897 version
3898 ".tar.gz"))
3899 (sha256
3900 (base32
3901 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
3902 (build-system haskell-build-system)
3903 (arguments
3904 `(#:phases
3905 (modify-phases %standard-phases
3906 (add-before 'configure 'update-constraints
3907 (lambda _
3908 (substitute* "fgl.cabal"
3909 (("QuickCheck >= 2\\.8 && < 2\\.13")
3910 "QuickCheck >= 2.8 && < 2.14")
3911 (("hspec >= 2\\.1 && < 2\\.7")
3912 "hspec >= 2.1 && < 2.8")))))))
3913 (inputs
3914 `(("ghc-hspec" ,ghc-hspec)
3915 ("ghc-quickcheck" ,ghc-quickcheck)))
3916 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3917 (synopsis
3918 "Martin Erwig's Functional Graph Library")
3919 (description "The functional graph library, FGL, is a collection of type
3920 and function definitions to address graph problems. The basis of the library
3921 is an inductive definition of graphs in the style of algebraic data types that
3922 encourages inductive, recursive definitions of graph algorithms.")
3923 (license license:bsd-3)))
3924
3925 (define-public ghc-fgl-arbitrary
3926 (package
3927 (name "ghc-fgl-arbitrary")
3928 (version "0.2.0.3")
3929 (source
3930 (origin
3931 (method url-fetch)
3932 (uri (string-append
3933 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3934 version ".tar.gz"))
3935 (sha256
3936 (base32
3937 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3938 (build-system haskell-build-system)
3939 (arguments
3940 `(#:phases
3941 (modify-phases %standard-phases
3942 (add-before 'configure 'update-constraints
3943 (lambda _
3944 (substitute* "fgl-arbitrary.cabal"
3945 (("QuickCheck >= 2\\.3 && < 2\\.10")
3946 "QuickCheck >= 2.3 && < 2.14")
3947 (("hspec >= 2\\.1 && < 2\\.5")
3948 "hspec >= 2.1 && < 2.8")))))))
3949 (inputs
3950 `(("ghc-fgl" ,ghc-fgl)
3951 ("ghc-quickcheck" ,ghc-quickcheck)
3952 ("ghc-hspec" ,ghc-hspec)))
3953 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3954 (synopsis "QuickCheck support for fgl")
3955 (description
3956 "Provides Arbitrary instances for fgl graphs to avoid adding a
3957 QuickCheck dependency for fgl whilst still making the instances
3958 available to others. Also available are non-fgl-specific functions
3959 for generating graph-like data structures.")
3960 (license license:bsd-3)))
3961
3962 (define-public ghc-file-embed
3963 (package
3964 (name "ghc-file-embed")
3965 (version "0.0.11")
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3970 "file-embed-" version ".tar.gz"))
3971 (sha256
3972 (base32
3973 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
3974 (build-system haskell-build-system)
3975 (home-page "https://github.com/snoyberg/file-embed")
3976 (synopsis "Use Template Haskell to embed file contents directly")
3977 (description
3978 "This package allows you to use Template Haskell to read a file or all
3979 the files in a directory, and turn them into @code{(path, bytestring)} pairs
3980 embedded in your Haskell code.")
3981 (license license:bsd-3)))
3982
3983 (define-public ghc-filemanip
3984 (package
3985 (name "ghc-filemanip")
3986 (version "0.3.6.3")
3987 (source (origin
3988 (method url-fetch)
3989 (uri (string-append "https://hackage.haskell.org/package/"
3990 "filemanip/filemanip-" version ".tar.gz"))
3991 (sha256
3992 (base32
3993 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3994 (build-system haskell-build-system)
3995 (inputs
3996 `(("ghc-unix-compat" ,ghc-unix-compat)))
3997 (home-page "https://github.com/bos/filemanip")
3998 (synopsis "File and directory manipulation for Haskell")
3999 (description
4000 "This package provides a Haskell library for working with files and
4001 directories. It includes code for pattern matching, finding files, modifying
4002 file contents, and more.")
4003 (license license:bsd-3)))
4004
4005 (define-public ghc-filepath-bytestring
4006 (package
4007 (name "ghc-filepath-bytestring")
4008 (version "1.4.2.1.1")
4009 (source
4010 (origin
4011 (method url-fetch)
4012 (uri (string-append
4013 "https://hackage.haskell.org/package/filepath-bytestring/"
4014 "filepath-bytestring-" version ".tar.gz"))
4015 (sha256
4016 (base32
4017 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4018 (build-system haskell-build-system)
4019 (native-inputs
4020 `(("ghc-quickcheck" ,ghc-quickcheck)))
4021 (home-page "http://hackage.haskell.org/package/filepath-bytestring")
4022 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4023 (description "This package provides a drop-in replacement for the standard
4024 @code{filepath} library, operating on @code{RawFilePath} values rather than
4025 @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4026 (license license:bsd-3)))
4027
4028 (define-public ghc-findbin
4029 (package
4030 (name "ghc-findbin")
4031 (version "0.0.5")
4032 (source
4033 (origin
4034 (method url-fetch)
4035 (uri (string-append
4036 "https://hackage.haskell.org/package/FindBin/FindBin-"
4037 version ".tar.gz"))
4038 (sha256
4039 (base32
4040 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4041 (build-system haskell-build-system)
4042 (home-page "https://github.com/audreyt/findbin")
4043 (synopsis "Get the absolute path of the running program")
4044 (description
4045 "This module locates the full directory of the running program, to allow
4046 the use of paths relative to it. FindBin supports invocation of Haskell
4047 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4048 an executable.")
4049 (license license:bsd-3)))
4050
4051 (define-public ghc-fingertree
4052 (package
4053 (name "ghc-fingertree")
4054 (version "0.1.4.2")
4055 (source
4056 (origin
4057 (method url-fetch)
4058 (uri (string-append
4059 "https://hackage.haskell.org/package/fingertree/fingertree-"
4060 version ".tar.gz"))
4061 (sha256
4062 (base32
4063 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
4064 (build-system haskell-build-system)
4065 (native-inputs
4066 `(("ghc-hunit" ,ghc-hunit)
4067 ("ghc-quickcheck" ,ghc-quickcheck)
4068 ("ghc-test-framework" ,ghc-test-framework)
4069 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4070 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4071 (home-page "https://hackage.haskell.org/package/fingertree")
4072 (synopsis "Generic finger-tree structure")
4073 (description "This library provides finger trees, a general sequence
4074 representation with arbitrary annotations, for use as a base for
4075 implementations of various collection types. It includes examples, as
4076 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4077 simple general-purpose data structure\".")
4078 (license license:bsd-3)))
4079
4080 (define-public ghc-fixed
4081 (package
4082 (name "ghc-fixed")
4083 (version "0.3")
4084 (source
4085 (origin
4086 (method url-fetch)
4087 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4088 version ".tar.gz"))
4089 (sha256
4090 (base32
4091 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4092 (build-system haskell-build-system)
4093 (home-page "https://github.com/ekmett/fixed")
4094 (synopsis "Signed 15.16 precision fixed point arithmetic")
4095 (description
4096 "This package provides functions for signed 15.16 precision fixed point
4097 arithmetic.")
4098 (license license:bsd-3)))
4099
4100 (define-public ghc-fmlist
4101 (package
4102 (name "ghc-fmlist")
4103 (version "0.9.3")
4104 (source
4105 (origin
4106 (method url-fetch)
4107 (uri
4108 (string-append
4109 "https://hackage.haskell.org/package/fmlist/fmlist-"
4110 version ".tar.gz"))
4111 (sha256
4112 (base32
4113 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
4114 (build-system haskell-build-system)
4115 (home-page "https://github.com/sjoerdvisscher/fmlist")
4116 (synopsis "FoldMap lists")
4117 (description "FoldMap lists are lists represented by their
4118 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4119 append, just like DLists, but other operations might have favorable
4120 performance characteristics as well. These wild claims are still
4121 completely unverified though.")
4122 (license license:bsd-3)))
4123
4124 (define-public ghc-foldl
4125 (package
4126 (name "ghc-foldl")
4127 (version "1.4.5")
4128 (source
4129 (origin
4130 (method url-fetch)
4131 (uri (string-append "https://hackage.haskell.org/package/"
4132 "foldl-" version "/"
4133 "foldl-" version ".tar.gz"))
4134 (sha256
4135 (base32
4136 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
4137 (build-system haskell-build-system)
4138 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4139 ("ghc-primitive" ,ghc-primitive)
4140 ("ghc-vector" ,ghc-vector)
4141 ("ghc-unordered-containers" ,ghc-unordered-containers)
4142 ("ghc-hashable" ,ghc-hashable)
4143 ("ghc-contravariant" ,ghc-contravariant)
4144 ("ghc-semigroups" ,ghc-semigroups)
4145 ("ghc-profunctors" ,ghc-profunctors)
4146 ("ghc-semigroupoids" ,ghc-semigroupoids)
4147 ("ghc-comonad" ,ghc-comonad)
4148 ("ghc-vector-builder" ,ghc-vector-builder)))
4149 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4150 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4151 (description "This Haskell library provides strict left folds that stream
4152 in constant memory, and you can combine folds using @code{Applicative} style
4153 to derive new folds. Derived folds still traverse the container just once
4154 and are often as efficient as hand-written folds.")
4155 (license license:bsd-3)))
4156
4157 (define-public ghc-foundation
4158 (package
4159 (name "ghc-foundation")
4160 (version "0.0.25")
4161 (source
4162 (origin
4163 (method url-fetch)
4164 (uri (string-append "https://hackage.haskell.org/package/"
4165 "foundation/foundation-" version ".tar.gz"))
4166 (sha256
4167 (base32
4168 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
4169 (build-system haskell-build-system)
4170 (arguments
4171 `(#:phases
4172 (modify-phases %standard-phases
4173 ;; This test is broken. For details, see
4174 ;; https://github.com/haskell-foundation/foundation/issues/530
4175 (add-after 'unpack 'patch-tests
4176 (lambda _
4177 (substitute* "tests/Test/Foundation/Number.hs"
4178 ((", testDividible proxy") ""))
4179 #t)))))
4180 (inputs `(("ghc-basement" ,ghc-basement)))
4181 (home-page "https://github.com/haskell-foundation/foundation")
4182 (synopsis "Alternative prelude with batteries and no dependencies")
4183 (description
4184 "This package provides a custom prelude with no dependencies apart from
4185 the base package.
4186
4187 Foundation has the following goals:
4188
4189 @enumerate
4190 @item provide a base like sets of modules that provide a consistent set of
4191 features and bugfixes across multiple versions of GHC (unlike base).
4192 @item provide a better and more efficient prelude than base's prelude.
4193 @item be self-sufficient: no external dependencies apart from base;
4194 @item provide better data-types: packed unicode string by default, arrays;
4195 @item Numerical classes that better represent mathematical things (no more
4196 all-in-one @code{Num});
4197 @item I/O system with less lazy IO.
4198 @end enumerate\n")
4199 (license license:bsd-3)))
4200
4201 (define-public ghc-free
4202 (package
4203 (name "ghc-free")
4204 (version "5.1.2")
4205 (source
4206 (origin
4207 (method url-fetch)
4208 (uri (string-append
4209 "https://hackage.haskell.org/package/free/free-"
4210 version
4211 ".tar.gz"))
4212 (sha256
4213 (base32
4214 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
4215 (build-system haskell-build-system)
4216 (inputs
4217 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4218 ("ghc-profunctors" ,ghc-profunctors)
4219 ("ghc-exceptions" ,ghc-exceptions)
4220 ("ghc-bifunctors" ,ghc-bifunctors)
4221 ("ghc-comonad" ,ghc-comonad)
4222 ("ghc-distributive" ,ghc-distributive)
4223 ("ghc-semigroupoids" ,ghc-semigroupoids)
4224 ("ghc-semigroups" ,ghc-semigroups)
4225 ("ghc-transformers-base" ,ghc-transformers-base)
4226 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4227 (home-page "https://github.com/ekmett/free/")
4228 (synopsis "Unrestricted monads for Haskell")
4229 (description "This library provides free monads, which are useful for many
4230 tree-like structures and domain specific languages. If @code{f} is a
4231 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4232 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4233 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4234 f} makes no constraining assumptions beyond those given by @code{f} and the
4235 definition of @code{Monad}.")
4236 (license license:bsd-3)))
4237
4238 (define-public ghc-fsnotify
4239 (package
4240 (name "ghc-fsnotify")
4241 (version "0.3.0.1")
4242 (source (origin
4243 (method url-fetch)
4244 (uri (string-append
4245 "https://hackage.haskell.org/package/fsnotify/"
4246 "fsnotify-" version ".tar.gz"))
4247 (sha256
4248 (base32
4249 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4250 (build-system haskell-build-system)
4251 (inputs
4252 `(("ghc-async" ,ghc-async)
4253 ("ghc-unix-compat" ,ghc-unix-compat)
4254 ("ghc-hinotify" ,ghc-hinotify)
4255 ("ghc-tasty" ,ghc-tasty)
4256 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4257 ("ghc-random" ,ghc-random)
4258 ("ghc-shelly" ,ghc-shelly)
4259 ("ghc-temporary" ,ghc-temporary)))
4260 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4261 (synopsis "Cross platform library for file change notification.")
4262 (description "Cross platform library for file creation, modification, and
4263 deletion notification. This library builds upon existing libraries for platform
4264 specific Windows, Mac, and Linux file system event notification.")
4265 (license license:bsd-3)))
4266
4267 (define-public ghc-generic-deriving
4268 (package
4269 (name "ghc-generic-deriving")
4270 (version "1.12.4")
4271 (source
4272 (origin
4273 (method url-fetch)
4274 (uri (string-append
4275 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4276 version
4277 ".tar.gz"))
4278 (sha256
4279 (base32
4280 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
4281 (build-system haskell-build-system)
4282 (inputs
4283 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4284 (native-inputs
4285 `(("ghc-hspec" ,ghc-hspec)
4286 ("hspec-discover" ,hspec-discover)))
4287 (home-page "https://hackage.haskell.org/package/generic-deriving")
4288 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4289 (description "This package provides functionality for generalising the
4290 deriving mechanism in Haskell to arbitrary classes.")
4291 (license license:bsd-3)))
4292
4293 (define-public ghc-generics-sop
4294 (package
4295 (name "ghc-generics-sop")
4296 (version "0.4.0.1")
4297 (source
4298 (origin
4299 (method url-fetch)
4300 (uri (string-append "https://hackage.haskell.org/package/"
4301 "generics-sop-" version "/"
4302 "generics-sop-" version ".tar.gz"))
4303 (sha256
4304 (base32
4305 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
4306 (build-system haskell-build-system)
4307 (inputs
4308 `(("ghc-sop-core" ,ghc-sop-core)
4309 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4310 (home-page "https://github.com/well-typed/generics-sop")
4311 (synopsis "Generic Programming using True Sums of Products for Haskell")
4312 (description "This Haskell package supports the definition of generic
4313 functions. Datatypes are viewed in a uniform, structured way: the choice
4314 between constructors is represented using an n-ary sum, and the arguments of
4315 each constructor are represented using an n-ary product.")
4316 (license license:bsd-3)))
4317
4318 (define-public ghc-geniplate-mirror
4319 (package
4320 (name "ghc-geniplate-mirror")
4321 (version "0.7.6")
4322 (source
4323 (origin
4324 (method url-fetch)
4325 (uri (string-append "https://hackage.haskell.org/package"
4326 "/geniplate-mirror"
4327 "/geniplate-mirror-" version ".tar.gz"))
4328 (sha256
4329 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4330 (build-system haskell-build-system)
4331 (arguments
4332 `(#:cabal-revision
4333 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
4334 (home-page "https://github.com/danr/geniplate")
4335 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4336 (description
4337 "Use Template Haskell to generate Uniplate-like functions. This is a
4338 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4339 geniplate} package, written by Lennart Augustsson.")
4340 (license license:bsd-3)))
4341
4342 (define-public ghc-genvalidity
4343 (package
4344 (name "ghc-genvalidity")
4345 (version "0.8.0.0")
4346 (source
4347 (origin
4348 (method url-fetch)
4349 (uri (string-append
4350 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4351 version
4352 ".tar.gz"))
4353 (sha256
4354 (base32
4355 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4356 (build-system haskell-build-system)
4357 (inputs
4358 `(("ghc-quickcheck" ,ghc-quickcheck)
4359 ("ghc-validity" ,ghc-validity)))
4360 (native-inputs
4361 `(("ghc-hspec" ,ghc-hspec)
4362 ("hspec-discover" ,hspec-discover)
4363 ("ghc-hspec-core" ,ghc-hspec-core)))
4364 (home-page
4365 "https://github.com/NorfairKing/validity")
4366 (synopsis
4367 "Testing utilities for the @code{validity} library")
4368 (description
4369 "This package provides testing utilities that are useful in conjunction
4370 with the @code{Validity} typeclass.")
4371 (license license:expat)))
4372
4373 (define-public ghc-genvalidity-property
4374 (package
4375 (name "ghc-genvalidity-property")
4376 (version "0.4.0.0")
4377 (source
4378 (origin
4379 (method url-fetch)
4380 (uri (string-append
4381 "https://hackage.haskell.org/package/"
4382 "genvalidity-property/genvalidity-property-"
4383 version
4384 ".tar.gz"))
4385 (sha256
4386 (base32
4387 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4388 (build-system haskell-build-system)
4389 (inputs
4390 `(("ghc-quickcheck" ,ghc-quickcheck)
4391 ("ghc-genvalidity" ,ghc-genvalidity)
4392 ("ghc-hspec" ,ghc-hspec)
4393 ("hspec-discover" ,hspec-discover)
4394 ("ghc-validity" ,ghc-validity)))
4395 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4396 (home-page
4397 "https://github.com/NorfairKing/validity")
4398 (synopsis
4399 "Standard properties for functions on @code{Validity} types")
4400 (description
4401 "This package supplements the @code{Validity} typeclass with standard
4402 properties for functions operating on them.")
4403 (license license:expat)))
4404
4405 (define-public ghc-getopt-generics
4406 (package
4407 (name "ghc-getopt-generics")
4408 (version "0.13.0.4")
4409 (source
4410 (origin
4411 (method url-fetch)
4412 (uri (string-append "https://hackage.haskell.org/package/"
4413 "getopt-generics/getopt-generics-"
4414 version ".tar.gz"))
4415 (sha256
4416 (base32
4417 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4418 (build-system haskell-build-system)
4419 (inputs
4420 `(("ghc-base-compat" ,ghc-base-compat)
4421 ("ghc-base-orphans" ,ghc-base-orphans)
4422 ("ghc-generics-sop" ,ghc-generics-sop)
4423 ("ghc-tagged" ,ghc-tagged)))
4424 (native-inputs
4425 `(("ghc-quickcheck" ,ghc-quickcheck)
4426 ("ghc-hspec" ,ghc-hspec)
4427 ("ghc-safe" ,ghc-safe)
4428 ("ghc-silently" ,ghc-silently)
4429 ("hspec-discover" ,hspec-discover)))
4430 (home-page "https://github.com/soenkehahn/getopt-generics")
4431 (synopsis "Create command line interfaces with ease")
4432 (description "This library provides tools to create command line
4433 interfaces with ease.")
4434 (license license:bsd-3)))
4435
4436 (define-public ghc-gitrev
4437 (package
4438 (name "ghc-gitrev")
4439 (version "1.3.1")
4440 (source
4441 (origin
4442 (method url-fetch)
4443 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4444 version ".tar.gz"))
4445 (sha256
4446 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4447 (build-system haskell-build-system)
4448 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4449 (home-page "https://github.com/acfoltzer/gitrev")
4450 (synopsis "Compile git revision info into Haskell projects")
4451 (description
4452 "This package provides some handy Template Haskell splices for including
4453 the current git hash and branch in the code of your project. This is useful
4454 for including in panic messages, @command{--version} output, or diagnostic
4455 info for more informative bug reports.")
4456 (license license:bsd-3)))
4457
4458 (define-public ghc-glob
4459 (package
4460 (name "ghc-glob")
4461 (version "0.10.0")
4462 (source
4463 (origin
4464 (method url-fetch)
4465 (uri (string-append "https://hackage.haskell.org/package/"
4466 "Glob-" version "/"
4467 "Glob-" version ".tar.gz"))
4468 (sha256
4469 (base32
4470 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
4471 (build-system haskell-build-system)
4472 (inputs
4473 `(("ghc-dlist" ,ghc-dlist)
4474 ("ghc-semigroups" ,ghc-semigroups)
4475 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4476 (native-inputs
4477 `(("ghc-hunit" ,ghc-hunit)
4478 ("ghc-quickcheck" ,ghc-quickcheck)
4479 ("ghc-test-framework" ,ghc-test-framework)
4480 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4481 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4482 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4483 (synopsis "Haskell library matching glob patterns against file paths")
4484 (description "This package provides a Haskell library for @dfn{globbing}:
4485 matching patterns against file paths.")
4486 (license license:bsd-3)))
4487
4488 (define-public ghc-gluraw
4489 (package
4490 (name "ghc-gluraw")
4491 (version "2.0.0.4")
4492 (source
4493 (origin
4494 (method url-fetch)
4495 (uri (string-append
4496 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4497 version
4498 ".tar.gz"))
4499 (sha256
4500 (base32
4501 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4502 (build-system haskell-build-system)
4503 (inputs
4504 `(("ghc-openglraw" ,ghc-openglraw)))
4505 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4506 (synopsis "Raw Haskell bindings GLU")
4507 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4508 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4509 basis for a nicer interface.")
4510 (license license:bsd-3)))
4511
4512 (define-public ghc-glut
4513 (package
4514 (name "ghc-glut")
4515 (version "2.7.0.15")
4516 (source
4517 (origin
4518 (method url-fetch)
4519 (uri (string-append
4520 "https://hackage.haskell.org/package/GLUT/GLUT-"
4521 version
4522 ".tar.gz"))
4523 (sha256
4524 (base32
4525 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
4526 (build-system haskell-build-system)
4527 (inputs
4528 `(("ghc-statevar" ,ghc-statevar)
4529 ("ghc-opengl" ,ghc-opengl)
4530 ("ghc-openglraw" ,ghc-openglraw)
4531 ("freeglut" ,freeglut)))
4532 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4533 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4534 (description "This library provides Haskell bindings for the OpenGL
4535 Utility Toolkit, a window system-independent toolkit for writing OpenGL
4536 programs.")
4537 (license license:bsd-3)))
4538
4539 (define-public ghc-gnuplot
4540 (package
4541 (name "ghc-gnuplot")
4542 (version "0.5.6")
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "mirror://hackage/package/gnuplot/gnuplot-"
4548 version ".tar.gz"))
4549 (sha256
4550 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
4551 (build-system haskell-build-system)
4552 (inputs
4553 `(("ghc-temporary" ,ghc-temporary)
4554 ("ghc-utility-ht" ,ghc-utility-ht)
4555 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4556 ("ghc-data-accessor" ,ghc-data-accessor)
4557 ("ghc-semigroups" ,ghc-semigroups)
4558 ("gnuplot" ,gnuplot)))
4559 (arguments
4560 `(#:phases
4561 (modify-phases %standard-phases
4562 (add-before 'configure 'fix-path-to-gnuplot
4563 (lambda* (#:key inputs #:allow-other-keys)
4564 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4565 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4566 (("(gnuplotName = ).*$" all cmd)
4567 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4568 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4569 (synopsis "2D and 3D plots using gnuplot")
4570 (description "This package provides a Haskell module for creating 2D and
4571 3D plots using gnuplot.")
4572 (license license:bsd-3)))
4573
4574 (define-public ghc-graphviz
4575 (package
4576 (name "ghc-graphviz")
4577 (version "2999.20.0.3")
4578 (source (origin
4579 (method url-fetch)
4580 (uri (string-append "https://hackage.haskell.org/package/"
4581 "graphviz/graphviz-" version ".tar.gz"))
4582 (sha256
4583 (base32
4584 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
4585 (build-system haskell-build-system)
4586 (arguments
4587 `(#:phases
4588 (modify-phases %standard-phases
4589 (add-before 'configure 'update-constraints
4590 (lambda _
4591 (substitute* "graphviz.cabal"
4592 (("QuickCheck >= 2\\.3 && < 2\\.13")
4593 "QuickCheck >= 2.3 && < 2.14")
4594 (("hspec >= 2\\.1 && < 2\\.7")
4595 "hspec >= 2.1 && < 2.8")))))))
4596 (inputs
4597 `(("ghc-quickcheck" ,ghc-quickcheck)
4598 ("ghc-colour" ,ghc-colour)
4599 ("ghc-dlist" ,ghc-dlist)
4600 ("ghc-fgl" ,ghc-fgl)
4601 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4602 ("ghc-polyparse" ,ghc-polyparse)
4603 ("ghc-temporary" ,ghc-temporary)
4604 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4605 (native-inputs
4606 `(("ghc-hspec" ,ghc-hspec)
4607 ("graphviz" ,graphviz)
4608 ("hspec-discover" ,hspec-discover)))
4609 (home-page "https://hackage.haskell.org/package/graphviz")
4610 (synopsis "Bindings to Graphviz for graph visualisation")
4611 (description
4612 "This library provides bindings for the Dot language used by
4613 the @uref{https://graphviz.org/, Graphviz} suite of programs for
4614 visualising graphs, as well as functions to call those programs.
4615 Main features of the graphviz library include:
4616
4617 @enumerate
4618 @item Almost complete coverage of all Graphviz attributes and syntax
4619 @item Support for specifying clusters
4620 @item The ability to use a custom node type
4621 @item Functions for running a Graphviz layout tool with all specified output types
4622 @item Generate and parse Dot code with two options: strict and liberal
4623 @item Functions to convert FGL graphs and other graph-like data structures
4624 @item Round-trip support for passing an FGL graph through Graphviz to augment node
4625 and edge labels with positional information, etc.
4626 @end enumerate\n")
4627 (license license:bsd-3)))
4628
4629 (define-public ghc-groups
4630 (package
4631 (name "ghc-groups")
4632 (version "0.4.1.0")
4633 (source
4634 (origin
4635 (method url-fetch)
4636 (uri (string-append "https://hackage.haskell.org/package/"
4637 "groups/groups-" version ".tar.gz"))
4638 (sha256
4639 (base32
4640 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4641 (build-system haskell-build-system)
4642 (home-page "https://hackage.haskell.org/package/groups")
4643 (synopsis "Haskell 98 groups")
4644 (description "This package provides Haskell 98 groups. A group is a
4645 monoid with invertibility.")
4646 (license license:bsd-3)))
4647
4648 (define-public ghc-gtk2hs-buildtools
4649 (package
4650 (name "ghc-gtk2hs-buildtools")
4651 (version "0.13.5.4")
4652 (source
4653 (origin
4654 (method url-fetch)
4655 (uri (string-append "https://hackage.haskell.org/package/"
4656 "gtk2hs-buildtools/gtk2hs-buildtools-"
4657 version ".tar.gz"))
4658 (sha256
4659 (base32
4660 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
4661 (build-system haskell-build-system)
4662 (inputs
4663 `(("ghc-random" ,ghc-random)
4664 ("ghc-hashtables" ,ghc-hashtables)))
4665 (native-inputs
4666 `(("ghc-alex" ,ghc-alex)
4667 ("ghc-happy" ,ghc-happy)))
4668 (home-page "http://projects.haskell.org/gtk2hs/")
4669 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4670 (description
4671 "This package provides a set of helper programs necessary to build the
4672 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4673 that is used to generate FFI declarations, a tool to build a type hierarchy
4674 that mirrors the C type hierarchy of GObjects found in glib, and a generator
4675 for signal declarations that are used to call back from C to Haskell. These
4676 tools are not needed to actually run Gtk2Hs programs.")
4677 (license license:gpl2)))
4678
4679 (define-public ghc-hackage-security
4680 (package
4681 (name "ghc-hackage-security")
4682 (version "0.5.3.0")
4683 (source
4684 (origin
4685 (method url-fetch)
4686 (uri (string-append "https://hackage.haskell.org/package/"
4687 "hackage-security/hackage-security-"
4688 version ".tar.gz"))
4689 (sha256
4690 (base32
4691 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4692 (build-system haskell-build-system)
4693 (arguments
4694 `(#:cabal-revision
4695 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4696 #:tests? #f)) ; Tests fail because of framework updates.
4697 (inputs
4698 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4699 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4700 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4701 ("ghc-ed25519" ,ghc-ed25519)
4702 ("ghc-network" ,ghc-network)
4703 ("ghc-network-uri" ,ghc-network-uri)
4704 ("ghc-tar" ,ghc-tar)
4705 ("ghc-zlib" ,ghc-zlib)))
4706 (native-inputs
4707 `(("ghc-network-uri" ,ghc-network-uri)
4708 ("ghc-quickcheck" ,ghc-quickcheck)
4709 ("ghc-tar" ,ghc-tar)
4710 ("ghc-tasty" ,ghc-tasty)
4711 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4712 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4713 ("ghc-temporary" ,ghc-temporary)
4714 ("ghc-zlib" ,ghc-zlib)))
4715 (home-page "https://github.com/haskell/hackage-security")
4716 (synopsis "Hackage security library")
4717 (description "This Hackage security library provides both server and
4718 client utilities for securing @uref{http://hackage.haskell.org/, the
4719 Hackage package server}. It is based on
4720 @uref{http://theupdateframework.com/, The Update Framework}, a set of
4721 recommendations developed by security researchers at various universities
4722 in the US as well as developers on the @uref{https://www.torproject.org/,
4723 Tor project}.")
4724 (license license:bsd-3)))
4725
4726 (define-public ghc-haddock
4727 (package
4728 (name "ghc-haddock")
4729 (version "2.22.0")
4730 (source
4731 (origin
4732 (method url-fetch)
4733 (uri (string-append
4734 "https://hackage.haskell.org/package/haddock/haddock-"
4735 version
4736 ".tar.gz"))
4737 (sha256
4738 (base32
4739 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
4740 (build-system haskell-build-system)
4741 (arguments
4742 `(#:phases
4743 (modify-phases %standard-phases
4744 ;; The release tarball for 2.22.0 is missing the test data for
4745 ;; the Hoogle test, causing it to fail. This is fixed in the
4746 ;; next release, but for now we disable it.
4747 (add-before 'configure 'remove-hoogle-test
4748 (lambda _
4749 (use-modules (ice-9 rdelim))
4750 (with-atomic-file-replacement "haddock.cabal"
4751 (lambda (in out)
4752 (let loop ((line (read-line in 'concat)) (deleting? #f))
4753 (cond
4754 ((eof-object? line) #t)
4755 ((string-every char-set:whitespace line)
4756 (unless deleting? (display line out))
4757 (loop (read-line in 'concat) #f))
4758 ((string=? line "test-suite hoogle-test\n")
4759 (loop (read-line in 'concat) #t))
4760 (else
4761 (unless deleting? (display line out))
4762 (loop (read-line in 'concat) deleting?))))))))
4763 (add-before 'check 'add-haddock-to-path
4764 (lambda _
4765 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4766 ":" (getenv "PATH")))
4767 #t)))))
4768 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4769 (native-inputs
4770 `(("ghc-haddock-test" ,ghc-haddock-test)
4771 ("ghc-hspec" ,ghc-hspec)))
4772 (home-page "https://www.haskell.org/haddock/")
4773 (synopsis
4774 "Documentation-generation tool for Haskell libraries")
4775 (description
4776 "Haddock is a documentation-generation tool for Haskell libraries.")
4777 (license license:bsd-3)))
4778
4779 (define-public ghc-haddock-api
4780 (package
4781 (name "ghc-haddock-api")
4782 (version "2.22.0")
4783 (source
4784 (origin
4785 (method url-fetch)
4786 (uri (string-append
4787 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4788 version
4789 ".tar.gz"))
4790 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
4791 (sha256
4792 (base32
4793 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
4794 (build-system haskell-build-system)
4795 (arguments
4796 `(#:phases
4797 (modify-phases %standard-phases
4798 (add-before 'configure 'update-constraints
4799 (lambda _
4800 (substitute* "haddock-api.cabal"
4801 (("QuickCheck \\^>= 2\\.11")
4802 "QuickCheck ^>= 2.13")
4803 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4804 "hspec >= 2.4.4 && < 2.8")))))))
4805 (inputs
4806 `(("ghc-paths" ,ghc-paths)
4807 ("ghc-haddock-library" ,ghc-haddock-library)))
4808 (native-inputs
4809 `(("ghc-quickcheck" ,ghc-quickcheck)
4810 ("ghc-hspec" ,ghc-hspec)
4811 ("hspec-discover" ,hspec-discover)))
4812 (home-page "https://www.haskell.org/haddock/")
4813 (synopsis "API for documentation-generation tool Haddock")
4814 (description "This package provides an API to Haddock, the
4815 documentation-generation tool for Haskell libraries.")
4816 (license license:bsd-3)))
4817
4818 (define-public ghc-haddock-library
4819 (package
4820 (name "ghc-haddock-library")
4821 (version "1.7.0")
4822 (source
4823 (origin
4824 (method url-fetch)
4825 (uri (string-append
4826 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4827 version
4828 ".tar.gz"))
4829 (sha256
4830 (base32
4831 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
4832 (build-system haskell-build-system)
4833 (arguments
4834 `(#:phases
4835 (modify-phases %standard-phases
4836 ;; Since there is no revised Cabal file upstream, we have to
4837 ;; patch it manually.
4838 (add-before 'configure 'relax-test-suite-dependencies
4839 (lambda _
4840 (substitute* "haddock-library.cabal"
4841 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4842 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
4843 #t)))))
4844 (native-inputs
4845 `(("ghc-base-compat" ,ghc-base-compat)
4846 ("ghc-hspec" ,ghc-hspec)
4847 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4848 ("ghc-quickcheck" ,ghc-quickcheck)
4849 ("ghc-tree-diff" ,ghc-tree-diff)
4850 ("hspec-discover" ,hspec-discover)))
4851 (home-page "https://www.haskell.org/haddock/")
4852 (synopsis "Library exposing some functionality of Haddock")
4853 (description
4854 "Haddock is a documentation-generation tool for Haskell libraries. These
4855 modules expose some functionality of it without pulling in the GHC dependency.
4856 Please note that the API is likely to change so specify upper bounds in your
4857 project if you can't release often. For interacting with Haddock itself, see
4858 the ‘haddock’ package.")
4859 (license license:bsd-3)))
4860
4861 ;; This package is needed for testing 'ghc-haddock'. It is no longer
4862 ;; published to Hackage, but it is maintained in the Haddock Git
4863 ;; repository.
4864 (define ghc-haddock-test
4865 (package
4866 (name "ghc-haddock-test")
4867 (version "2.22.0")
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/haskell/haddock.git")
4873 (commit (string-append "haddock-" version "-release"))))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32
4877 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4878 (build-system haskell-build-system)
4879 (arguments
4880 `(#:phases
4881 (modify-phases %standard-phases
4882 (add-after 'unpack 'change-directory
4883 (lambda _
4884 (chdir "haddock-test"))))))
4885 (inputs
4886 `(("ghc-syb" ,ghc-syb)
4887 ("ghc-xml" ,ghc-xml)))
4888 (home-page "http://www.haskell.org/haddock/")
4889 (synopsis "Test utilities for Haddock")
4890 (description "This package provides test utilities for Haddock.")
4891 (license license:bsd-3)
4892 (properties '((hidden? #t)))))
4893
4894 (define-public ghc-half
4895 (package
4896 (name "ghc-half")
4897 (version "0.3")
4898 (source
4899 (origin
4900 (method url-fetch)
4901 (uri (string-append
4902 "https://hackage.haskell.org/package/half/half-"
4903 version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4907 (build-system haskell-build-system)
4908 (native-inputs
4909 `(("ghc-hspec" ,ghc-hspec)
4910 ("ghc-quickcheck" ,ghc-quickcheck)))
4911 (home-page "https://github.com/ekmett/half")
4912 (synopsis "Half-precision floating-point computations")
4913 (description "This library provides a half-precision floating-point
4914 computation library for Haskell.")
4915 (license license:bsd-3)))
4916
4917 (define-public ghc-happy
4918 (package
4919 (name "ghc-happy")
4920 (version "1.19.12")
4921 (source
4922 (origin
4923 (method url-fetch)
4924 (uri (string-append
4925 "https://hackage.haskell.org/package/happy/happy-"
4926 version
4927 ".tar.gz"))
4928 (sha256
4929 (base32
4930 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
4931 (build-system haskell-build-system)
4932 (arguments
4933 `(#:phases
4934 (modify-phases %standard-phases
4935 (add-after 'unpack 'skip-test-issue93
4936 (lambda _
4937 ;; Tests run out of memory on a system with 2GB of available RAM,
4938 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4939 (substitute* "tests/Makefile"
4940 ((" issue93.y ") " "))
4941 #t)))))
4942 (home-page "https://hackage.haskell.org/package/happy")
4943 (synopsis "Parser generator for Haskell")
4944 (description "Happy is a parser generator for Haskell. Given a grammar
4945 specification in BNF, Happy generates Haskell code to parse the grammar.
4946 Happy works in a similar way to the yacc tool for C.")
4947 (license license:bsd-3)))
4948
4949 (define-public ghc-hashable
4950 (package
4951 (name "ghc-hashable")
4952 (version "1.2.7.0")
4953 (outputs '("out" "doc"))
4954 (source
4955 (origin
4956 (method url-fetch)
4957 (uri (string-append
4958 "https://hackage.haskell.org/package/hashable/hashable-"
4959 version
4960 ".tar.gz"))
4961 (sha256
4962 (base32
4963 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4964 (build-system haskell-build-system)
4965 (arguments
4966 `(#:cabal-revision
4967 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
4968 (inputs
4969 `(("ghc-random" ,ghc-random)))
4970 (native-inputs
4971 `(("ghc-test-framework" ,ghc-test-framework)
4972 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4973 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4974 ("ghc-hunit" ,ghc-hunit)
4975 ("ghc-quickcheck" ,ghc-quickcheck)))
4976 (home-page "https://github.com/tibbe/hashable")
4977 (synopsis "Class for types that can be converted to a hash value")
4978 (description
4979 "This package defines a class, @code{Hashable}, for types that can be
4980 converted to a hash value. This class exists for the benefit of hashing-based
4981 data structures. The package provides instances for basic types and a way to
4982 combine hash values.")
4983 (license license:bsd-3)))
4984
4985 (define-public ghc-hashable-bootstrap
4986 (package
4987 (inherit ghc-hashable)
4988 (name "ghc-hashable-bootstrap")
4989 (arguments
4990 `(#:tests? #f
4991 ,@(package-arguments ghc-hashable)))
4992 (native-inputs '())
4993 (properties '((hidden? #t)))))
4994
4995 (define-public ghc-hashable-time
4996 (package
4997 (name "ghc-hashable-time")
4998 (version "0.2.0.2")
4999 (source
5000 (origin
5001 (method url-fetch)
5002 (uri (string-append
5003 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5004 version
5005 ".tar.gz"))
5006 (sha256
5007 (base32
5008 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
5009 (build-system haskell-build-system)
5010 (arguments
5011 `(#:cabal-revision
5012 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
5013 (inputs `(("ghc-hashable" ,ghc-hashable)))
5014 (home-page "https://hackage.haskell.org/package/hashable-time")
5015 (synopsis "Hashable instances for Data.Time")
5016 (description
5017 "This package provides @code{Hashable} instances for types in
5018 @code{Data.Time}.")
5019 (license license:bsd-3)))
5020
5021 (define-public ghc-hashtables
5022 (package
5023 (name "ghc-hashtables")
5024 (version "1.2.3.4")
5025 (source
5026 (origin
5027 (method url-fetch)
5028 (uri (string-append
5029 "https://hackage.haskell.org/package/hashtables/hashtables-"
5030 version ".tar.gz"))
5031 (sha256
5032 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
5033 (build-system haskell-build-system)
5034 (inputs
5035 `(("ghc-hashable" ,ghc-hashable)
5036 ("ghc-primitive" ,ghc-primitive)
5037 ("ghc-vector" ,ghc-vector)))
5038 (home-page "https://github.com/gregorycollins/hashtables")
5039 (synopsis "Haskell Mutable hash tables in the ST monad")
5040 (description "This package provides a Haskell library including a
5041 couple of different implementations of mutable hash tables in the ST
5042 monad, as well as a typeclass abstracting their common operations, and
5043 a set of wrappers to use the hash tables in the IO monad.")
5044 (license license:bsd-3)))
5045
5046 (define-public ghc-haskell-lexer
5047 (package
5048 (name "ghc-haskell-lexer")
5049 (version "1.0.2")
5050 (source
5051 (origin
5052 (method url-fetch)
5053 (uri (string-append
5054 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5055 version ".tar.gz"))
5056 (sha256
5057 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5058 (build-system haskell-build-system)
5059 (home-page "http://hackage.haskell.org/package/haskell-lexer")
5060 (synopsis "Fully compliant Haskell 98 lexer")
5061 (description
5062 "This package provides a fully compliant Haskell 98 lexer.")
5063 (license license:bsd-3)))
5064
5065 (define-public ghc-haskell-src
5066 (package
5067 (name "ghc-haskell-src")
5068 (version "1.0.3.0")
5069 (source
5070 (origin
5071 (method url-fetch)
5072 (uri (string-append
5073 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5074 version
5075 ".tar.gz"))
5076 (sha256
5077 (base32
5078 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5079 (build-system haskell-build-system)
5080 (inputs
5081 `(("ghc-happy" ,ghc-happy)
5082 ("ghc-syb" ,ghc-syb)))
5083 (home-page
5084 "https://hackage.haskell.org/package/haskell-src")
5085 (synopsis
5086 "Support for manipulating Haskell source code")
5087 (description
5088 "The @code{haskell-src} package provides support for manipulating Haskell
5089 source code. The package provides a lexer, parser and pretty-printer, and a
5090 definition of a Haskell abstract syntax tree (AST). Common uses of this
5091 package are to parse or generate Haskell 98 code.")
5092 (license license:bsd-3)))
5093
5094 (define-public ghc-haskell-src-exts
5095 (package
5096 (name "ghc-haskell-src-exts")
5097 (version "1.21.1")
5098 (source
5099 (origin
5100 (method url-fetch)
5101 (uri (string-append
5102 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5103 version
5104 ".tar.gz"))
5105 (sha256
5106 (base32
5107 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
5108 (build-system haskell-build-system)
5109 (inputs
5110 `(("cpphs" ,cpphs)
5111 ("ghc-happy" ,ghc-happy)
5112 ("ghc-pretty-show" ,ghc-pretty-show)))
5113 (native-inputs
5114 `(("ghc-smallcheck" ,ghc-smallcheck)
5115 ("ghc-tasty" ,ghc-tasty)
5116 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5117 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5118 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5119 (synopsis "Library for manipulating Haskell source")
5120 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5121 extension of the standard @code{haskell-src} package, and handles most
5122 registered syntactic extensions to Haskell. All extensions implemented in GHC
5123 are supported. Apart from these standard extensions, it also handles regular
5124 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5125 (license license:bsd-3)))
5126
5127 (define-public ghc-haskell-src-exts-util
5128 (package
5129 (name "ghc-haskell-src-exts-util")
5130 (version "0.2.5")
5131 (source
5132 (origin
5133 (method url-fetch)
5134 (uri (string-append "https://hackage.haskell.org/package/"
5135 "haskell-src-exts-util/haskell-src-exts-util-"
5136 version ".tar.gz"))
5137 (sha256
5138 (base32
5139 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5140 (build-system haskell-build-system)
5141 (inputs
5142 `(("ghc-data-default" ,ghc-data-default)
5143 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5144 ("ghc-semigroups" ,ghc-semigroups)
5145 ("ghc-uniplate" ,ghc-uniplate)))
5146 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5147 (synopsis "Helper functions for working with haskell-src-exts trees")
5148 (description
5149 "This package provides helper functions for working with
5150 @code{haskell-src-exts} trees.")
5151 (license license:bsd-3)))
5152
5153 (define-public ghc-haskell-src-meta
5154 (package
5155 (name "ghc-haskell-src-meta")
5156 (version "0.8.3")
5157 (source (origin
5158 (method url-fetch)
5159 (uri (string-append "https://hackage.haskell.org/package/"
5160 "haskell-src-meta/haskell-src-meta-"
5161 version ".tar.gz"))
5162 (sha256
5163 (base32
5164 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
5165 (build-system haskell-build-system)
5166 (inputs
5167 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5168 ("ghc-syb" ,ghc-syb)
5169 ("ghc-th-orphans" ,ghc-th-orphans)))
5170 (native-inputs
5171 `(("ghc-hunit" ,ghc-hunit)
5172 ("ghc-tasty" ,ghc-tasty)
5173 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5174 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5175 (synopsis "Parse source to template-haskell abstract syntax")
5176 (description
5177 "This package provides tools to parse Haskell sources to the
5178 template-haskell abstract syntax.")
5179 (license license:bsd-3)))
5180
5181 (define-public ghc-hasktags
5182 (package
5183 (name "ghc-hasktags")
5184 (version "0.71.2")
5185 (source
5186 (origin
5187 (method url-fetch)
5188 (uri (string-append
5189 "https://hackage.haskell.org/package/hasktags/hasktags-"
5190 version
5191 ".tar.gz"))
5192 (sha256
5193 (base32
5194 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5195 (build-system haskell-build-system)
5196 (inputs
5197 `(("ghc-system-filepath" ,ghc-system-filepath)
5198 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5199 (native-inputs
5200 `(("ghc-json" ,ghc-json)
5201 ("ghc-utf8-string" ,ghc-utf8-string)
5202 ("ghc-microlens-platform" ,ghc-microlens-platform)
5203 ("ghc-hunit" ,ghc-hunit)))
5204 (home-page "http://github.com/MarcWeber/hasktags")
5205 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5206 (description
5207 "This package provides a means of generating tag files for Emacs and
5208 Vim.")
5209 (license license:bsd-3)))
5210
5211 (define-public ghc-hex
5212 (package
5213 (name "ghc-hex")
5214 (version "0.1.2")
5215 (source
5216 (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/"
5219 "hex-" version "/"
5220 "hex-" version ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5224 (build-system haskell-build-system)
5225 (home-page "https://hackage.haskell.org/package/hex")
5226 (synopsis "Convert strings into hexadecimal and back")
5227 (description "This package provides conversion functions between
5228 bytestrings and their hexademical representation.")
5229 (license license:bsd-3)))
5230
5231 (define-public ghc-highlighting-kate
5232 (package
5233 (name "ghc-highlighting-kate")
5234 (version "0.6.4")
5235 (source (origin
5236 (method url-fetch)
5237 (uri (string-append "https://hackage.haskell.org/package/"
5238 "highlighting-kate/highlighting-kate-"
5239 version ".tar.gz"))
5240 (sha256
5241 (base32
5242 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5243 (build-system haskell-build-system)
5244 (inputs
5245 `(("ghc-diff" ,ghc-diff)
5246 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5247 (native-inputs
5248 `(("ghc-blaze-html" ,ghc-blaze-html)
5249 ("ghc-utf8-string" ,ghc-utf8-string)))
5250 (home-page "https://github.com/jgm/highlighting-kate")
5251 (synopsis "Syntax highlighting library")
5252 (description
5253 "Highlighting-kate is a syntax highlighting library with support for
5254 nearly one hundred languages. The syntax parsers are automatically generated
5255 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5256 supported by Kate can be added. An (optional) command-line program is
5257 provided, along with a utility for generating new parsers from Kate XML syntax
5258 descriptions.")
5259 (license license:gpl2+)))
5260
5261 (define-public ghc-hindent
5262 (package
5263 (name "ghc-hindent")
5264 (version "5.3.1")
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append
5269 "https://hackage.haskell.org/package/hindent/hindent-"
5270 version
5271 ".tar.gz"))
5272 (sha256
5273 (base32
5274 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
5275 (build-system haskell-build-system)
5276 (arguments
5277 `(#:modules ((guix build haskell-build-system)
5278 (guix build utils)
5279 (guix build emacs-utils))
5280 #:imported-modules (,@%haskell-build-system-modules
5281 (guix build emacs-utils))
5282 #:phases
5283 (modify-phases %standard-phases
5284 (add-after 'install 'emacs-install
5285 (lambda* (#:key inputs outputs #:allow-other-keys)
5286 (let* ((out (assoc-ref outputs "out"))
5287 (elisp-file "elisp/hindent.el")
5288 (dest (string-append out "/share/emacs/site-lisp"
5289 "/guix.d/hindent-" ,version))
5290 (emacs (string-append (assoc-ref inputs "emacs")
5291 "/bin/emacs")))
5292 (make-file-writable elisp-file)
5293 (emacs-substitute-variables elisp-file
5294 ("hindent-process-path"
5295 (string-append out "/bin/hindent")))
5296 (install-file elisp-file dest)
5297 (emacs-generate-autoloads "hindent" dest)))))))
5298 (inputs
5299 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5300 ("ghc-monad-loops" ,ghc-monad-loops)
5301 ("ghc-utf8-string" ,ghc-utf8-string)
5302 ("ghc-exceptions" ,ghc-exceptions)
5303 ("ghc-yaml" ,ghc-yaml)
5304 ("ghc-unix-compat" ,ghc-unix-compat)
5305 ("ghc-path" ,ghc-path)
5306 ("ghc-path-io" ,ghc-path-io)
5307 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5308 (native-inputs
5309 `(("ghc-hspec" ,ghc-hspec)
5310 ("ghc-diff" ,ghc-diff)
5311 ("emacs" ,emacs-minimal)))
5312 (home-page
5313 "https://github.com/commercialhaskell/hindent")
5314 (synopsis "Extensible Haskell pretty printer")
5315 (description
5316 "This package provides automatic formatting for Haskell files. Both a
5317 library and an executable.")
5318 (license license:bsd-3)))
5319
5320 (define-public ghc-hinotify
5321 (package
5322 (name "ghc-hinotify")
5323 (version "0.4")
5324 (source (origin
5325 (method url-fetch)
5326 (uri (string-append
5327 "https://hackage.haskell.org/package/hinotify/"
5328 "hinotify-" version ".tar.gz"))
5329 (sha256
5330 (base32
5331 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
5332 (build-system haskell-build-system)
5333 (inputs
5334 `(("ghc-async" ,ghc-async)))
5335 (home-page "https://github.com/kolmodin/hinotify.git")
5336 (synopsis "Haskell binding to inotify")
5337 (description "This library provides a wrapper to the Linux kernel's inotify
5338 feature, allowing applications to subscribe to notifications when a file is
5339 accessed or modified.")
5340 (license license:bsd-3)))
5341
5342 (define-public ghc-hmatrix
5343 (package
5344 (name "ghc-hmatrix")
5345 (version "0.20.0.0")
5346 (source
5347 (origin
5348 (method url-fetch)
5349 (uri (string-append
5350 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5351 version ".tar.gz"))
5352 (sha256
5353 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
5354 (build-system haskell-build-system)
5355 (inputs
5356 `(("ghc-random" ,ghc-random)
5357 ("ghc-split" ,ghc-split)
5358 ("ghc-storable-complex" ,ghc-storable-complex)
5359 ("ghc-semigroups" ,ghc-semigroups)
5360 ("ghc-vector" ,ghc-vector)
5361 ;;("openblas" ,openblas)
5362 ("lapack" ,lapack)))
5363 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5364 ;; disables inclusion of the LAPACK functions.
5365 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5366 (home-page "https://github.com/albertoruiz/hmatrix")
5367 (synopsis "Haskell numeric linear algebra library")
5368 (description "The HMatrix package provices a Haskell library for
5369 dealing with linear systems, matrix decompositions, and other
5370 numerical computations based on BLAS and LAPACK.")
5371 (license license:bsd-3)))
5372
5373 (define-public ghc-hmatrix-gsl
5374 (package
5375 (name "ghc-hmatrix-gsl")
5376 (version "0.19.0.1")
5377 (source
5378 (origin
5379 (method url-fetch)
5380 (uri (string-append
5381 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5382 version ".tar.gz"))
5383 (sha256
5384 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5385 (build-system haskell-build-system)
5386 (inputs
5387 `(("ghc-hmatrix" ,ghc-hmatrix)
5388 ("ghc-vector" ,ghc-vector)
5389 ("ghc-random" ,ghc-random)
5390 ("gsl" ,gsl)))
5391 (native-inputs `(("pkg-config" ,pkg-config)))
5392 (home-page "https://github.com/albertoruiz/hmatrix")
5393 (synopsis "Haskell GSL binding")
5394 (description "This Haskell library provides a purely functional
5395 interface to selected numerical computations, internally implemented
5396 using GSL.")
5397 (license license:gpl3+)))
5398
5399 (define-public ghc-hmatrix-gsl-stats
5400 (package
5401 (name "ghc-hmatrix-gsl-stats")
5402 (version "0.4.1.8")
5403 (source
5404 (origin
5405 (method url-fetch)
5406 (uri
5407 (string-append
5408 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5409 version ".tar.gz"))
5410 (sha256
5411 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5412 (build-system haskell-build-system)
5413 (inputs
5414 `(("ghc-vector" ,ghc-vector)
5415 ("ghc-storable-complex" ,ghc-storable-complex)
5416 ("ghc-hmatrix" ,ghc-hmatrix)
5417 ("gsl" ,gsl)))
5418 (native-inputs `(("pkg-config" ,pkg-config)))
5419 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5420 (synopsis "GSL Statistics interface for Haskell")
5421 (description "This Haskell library provides a purely functional
5422 interface for statistics based on hmatrix and GSL.")
5423 (license license:bsd-3)))
5424
5425 (define-public ghc-hmatrix-special
5426 (package
5427 (name "ghc-hmatrix-special")
5428 (version "0.19.0.0")
5429 (source
5430 (origin
5431 (method url-fetch)
5432 (uri
5433 (string-append
5434 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5435 version ".tar.gz"))
5436 (sha256
5437 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5438 (build-system haskell-build-system)
5439 (inputs
5440 `(("ghc-hmatrix" ,ghc-hmatrix)
5441 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5442 (home-page "https://github.com/albertoruiz/hmatrix")
5443 (synopsis "Haskell interface to GSL special functions")
5444 (description "This library provides an interface to GSL special
5445 functions for Haskell.")
5446 (license license:gpl3+)))
5447
5448 (define-public ghc-hostname
5449 (package
5450 (name "ghc-hostname")
5451 (version "1.0")
5452 (source
5453 (origin
5454 (method url-fetch)
5455 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5456 "hostname-" version ".tar.gz"))
5457 (sha256
5458 (base32
5459 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5460 (build-system haskell-build-system)
5461 (home-page "https://hackage.haskell.org/package/hostname")
5462 (synopsis "Hostname in Haskell")
5463 (description "Network.HostName is a simple package providing a means to
5464 determine the hostname.")
5465 (license license:bsd-3)))
5466
5467 (define-public ghc-hourglass
5468 (package
5469 (name "ghc-hourglass")
5470 (version "0.2.12")
5471 (source (origin
5472 (method url-fetch)
5473 (uri (string-append "https://hackage.haskell.org/package/"
5474 "hourglass/hourglass-" version ".tar.gz"))
5475 (sha256
5476 (base32
5477 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-old-locale" ,ghc-old-locale)))
5481 (native-inputs
5482 `(("ghc-tasty" ,ghc-tasty)
5483 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5484 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5485 (home-page "https://github.com/vincenthz/hs-hourglass")
5486 (synopsis "Simple time-related library for Haskell")
5487 (description
5488 "This is a simple time library providing a simple but powerful and
5489 performant API. The backbone of the library are the @code{Timeable} and
5490 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5491 a type that has a @code{Time} instances, and thus are different
5492 representations of current time.")
5493 (license license:bsd-3)))
5494
5495 (define-public ghc-hpack
5496 (package
5497 (name "ghc-hpack")
5498 (version "0.31.2")
5499 (source
5500 (origin
5501 (method url-fetch)
5502 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5503 "hpack-" version ".tar.gz"))
5504 (patches (search-patches "ghc-hpack-fix-tests.patch"))
5505 (sha256
5506 (base32
5507 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
5508 (build-system haskell-build-system)
5509 (inputs
5510 `(("ghc-aeson" ,ghc-aeson)
5511 ("ghc-bifunctors" ,ghc-bifunctors)
5512 ("ghc-cryptonite" ,ghc-cryptonite)
5513 ("ghc-glob" ,ghc-glob)
5514 ("ghc-http-client" ,ghc-http-client)
5515 ("ghc-http-client-tls" ,ghc-http-client-tls)
5516 ("ghc-http-types" ,ghc-http-types)
5517 ("ghc-infer-license" ,ghc-infer-license)
5518 ("ghc-scientific" ,ghc-scientific)
5519 ("ghc-unordered-containers" ,ghc-unordered-containers)
5520 ("ghc-vector" ,ghc-vector)
5521 ("ghc-yaml" ,ghc-yaml)))
5522 (native-inputs
5523 `(("ghc-hspec" ,ghc-hspec)
5524 ("ghc-hunit" ,ghc-hunit)
5525 ("ghc-interpolate" ,ghc-interpolate)
5526 ("ghc-mockery" ,ghc-mockery)
5527 ("ghc-quickcheck" ,ghc-quickcheck)
5528 ("ghc-temporary" ,ghc-temporary)
5529 ("hspec-discover" ,hspec-discover)))
5530 (home-page "https://github.com/sol/hpack")
5531 (synopsis "Tools for an alternative Haskell package format")
5532 (description
5533 "Hpack is a format for Haskell packages. It is an alternative to the
5534 Cabal package format and follows different design principles. Hpack packages
5535 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5536 @code{stack} support @code{package.yaml} natively. For other build tools the
5537 @code{hpack} executable can be used to generate a @code{.cabal} file from
5538 @code{package.yaml}.")
5539 (license license:expat)))
5540
5541 (define-public ghc-hs-bibutils
5542 (package
5543 (name "ghc-hs-bibutils")
5544 (version "6.7.0.0")
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append
5549 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5550 version ".tar.gz"))
5551 (sha256
5552 (base32
5553 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
5554 (build-system haskell-build-system)
5555 (inputs `(("ghc-syb" ,ghc-syb)))
5556 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5557 (synopsis "Haskell bindings to bibutils")
5558 (description
5559 "This package provides Haskell bindings to @code{bibutils}, a library
5560 that interconverts between various bibliography formats using a common
5561 MODS-format XML intermediate.")
5562 (license license:gpl2+)))
5563
5564 (define-public ghc-hslogger
5565 (package
5566 (name "ghc-hslogger")
5567 (version "1.2.12")
5568 (source
5569 (origin
5570 (method url-fetch)
5571 (uri (string-append "https://hackage.haskell.org/package/"
5572 "hslogger-" version "/" "hslogger-"
5573 version ".tar.gz"))
5574 (sha256 (base32
5575 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
5576 (build-system haskell-build-system)
5577 (inputs
5578 `(("ghc-network" ,ghc-network)
5579 ("ghc-old-locale" ,ghc-old-locale)))
5580 (native-inputs
5581 `(("ghc-hunit" ,ghc-hunit)))
5582 (home-page "https://software.complete.org/hslogger")
5583 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5584 (description "Hslogger lets each log message have a priority and source be
5585 associated with it. The programmer can then define global handlers that route
5586 or filter messages based on the priority and source. It also has a syslog
5587 handler built in.")
5588 (license license:bsd-3)))
5589
5590 (define-public ghc-hslua
5591 (package
5592 (name "ghc-hslua")
5593 (version "1.0.3.2")
5594 (source (origin
5595 (method url-fetch)
5596 (uri (string-append "https://hackage.haskell.org/package/"
5597 "hslua/hslua-" version ".tar.gz"))
5598 (sha256
5599 (base32
5600 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
5601 (build-system haskell-build-system)
5602 (arguments
5603 `(#:configure-flags '("-fsystem-lua")))
5604 (inputs
5605 `(("lua" ,lua)
5606 ("ghc-exceptions" ,ghc-exceptions)
5607 ("ghc-fail" ,ghc-fail)))
5608 (native-inputs
5609 `(("ghc-tasty" ,ghc-tasty)
5610 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5611 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5612 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5613 ("ghc-quickcheck" ,ghc-quickcheck)
5614 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5615 (home-page "https://hackage.haskell.org/package/hslua")
5616 (synopsis "Lua language interpreter embedding in Haskell")
5617 (description
5618 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5619 described in @url{https://www.lua.org/}.")
5620 (license license:expat)))
5621
5622 (define-public ghc-hslua-module-system
5623 (package
5624 (name "ghc-hslua-module-system")
5625 (version "0.2.1")
5626 (source
5627 (origin
5628 (method url-fetch)
5629 (uri (string-append "https://hackage.haskell.org/package/"
5630 "hslua-module-system/hslua-module-system-"
5631 version ".tar.gz"))
5632 (sha256
5633 (base32
5634 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5635 (build-system haskell-build-system)
5636 (inputs
5637 `(("ghc-exceptions" ,ghc-exceptions)
5638 ("ghc-hslua" ,ghc-hslua)
5639 ("ghc-temporary" ,ghc-temporary)))
5640 (native-inputs
5641 `(("ghc-tasty" ,ghc-tasty)
5642 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5643 (home-page "https://github.com/hslua/hslua-module-system")
5644 (synopsis "Lua module wrapper around Haskell's System module")
5645 (description "This library provides access to system information and
5646 functionality to Lua scripts via Haskell's @code{System} module. Intended
5647 usage for this package is to preload it by adding the loader function to
5648 @code{package.preload}. Note that the Lua @code{package} library must have
5649 already been loaded before the loader can be added.")
5650 (license license:expat)))
5651
5652 (define-public ghc-hslua-module-text
5653 (package
5654 (name "ghc-hslua-module-text")
5655 (version "0.2.1")
5656 (source
5657 (origin
5658 (method url-fetch)
5659 (uri (string-append "https://hackage.haskell.org/package/"
5660 "hslua-module-text/hslua-module-text-"
5661 version ".tar.gz"))
5662 (sha256
5663 (base32
5664 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
5665 (build-system haskell-build-system)
5666 (inputs
5667 `(("ghc-hslua" ,ghc-hslua)))
5668 (native-inputs
5669 `(("ghc-tasty" ,ghc-tasty)
5670 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5671 (home-page "https://github.com/hslua/hslua-module-text")
5672 (synopsis "Lua module for text")
5673 (description
5674 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5675 for Haskell. The functions provided by this module are @code{upper},
5676 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5677 (license license:expat)))
5678
5679 (define-public ghc-hsyaml
5680 (package
5681 (name "ghc-hsyaml")
5682 (version "0.1.2.0")
5683 (source
5684 (origin
5685 (method url-fetch)
5686 (uri (string-append "https://hackage.haskell.org/package/"
5687 "HsYAML/HsYAML-" version ".tar.gz"))
5688 (sha256
5689 (base32
5690 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5691 (build-system haskell-build-system)
5692 (arguments
5693 `(#:cabal-revision
5694 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5695 (home-page "https://github.com/haskell-hvr/HsYAML")
5696 (synopsis "Pure Haskell YAML 1.2 parser")
5697 (description "This library provides a
5698 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5699 for Haskell. Its features include:
5700
5701 @itemize
5702 @item Pure Haskell implementation with small dependency footprint and
5703 emphasis on strict compliance with the YAML 1.2 specification.
5704
5705 @item Direct decoding to native Haskell types via (aeson-inspired)
5706 typeclass-based API (see @code{Data.YAML}).
5707
5708 @item Support for constructing custom YAML node graph
5709 representation (including support for cyclic YAML data structures).
5710
5711 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
5712 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5713 typing rules as defined in the YAML 1.2 specification (including support
5714 for user-defined custom schemas).
5715
5716 @item Event-based API resembling LibYAML's Event-based API (see
5717 @code{Data.YAML.Event}).
5718
5719 @item Low-level API access to lexical token-based scanner (see
5720 @code{Data.YAML.Token}).
5721 @end itemize")
5722 (license license:gpl2+)))
5723
5724 (define-public ghc-http-api-data
5725 (package
5726 (name "ghc-http-api-data")
5727 (version "0.4.1")
5728 (source
5729 (origin
5730 (method url-fetch)
5731 (uri (string-append "https://hackage.haskell.org/package/"
5732 "http-api-data-" version "/"
5733 "http-api-data-" version ".tar.gz"))
5734 (sha256
5735 (base32
5736 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
5737 (build-system haskell-build-system)
5738 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5739 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5740 ("ghc-cookie" ,ghc-cookie)
5741 ("ghc-hashable" ,ghc-hashable)
5742 ("ghc-http-types" ,ghc-http-types)
5743 ("ghc-time-compat" ,ghc-time-compat)
5744 ("ghc-unordered-containers" ,ghc-unordered-containers)
5745 ("ghc-uuid-types" ,ghc-uuid-types)))
5746 (native-inputs
5747 `(("cabal-doctest" ,cabal-doctest)
5748 ("ghc-nats" ,ghc-nats)
5749 ("ghc-hunit" ,ghc-hunit)
5750 ("ghc-hspec" ,ghc-hspec)
5751 ("ghc-quickcheck" ,ghc-quickcheck)
5752 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5753 ("ghc-doctest" ,ghc-doctest)
5754 ("hspec-discover" ,hspec-discover)))
5755 (home-page "https://github.com/fizruk/http-api-data")
5756 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5757 query parameters")
5758 (description "This Haskell package defines typeclasses used for converting
5759 Haskell data types to and from HTTP API data.")
5760 (license license:bsd-3)))
5761
5762 (define-public ghc-ieee754
5763 (package
5764 (name "ghc-ieee754")
5765 (version "0.8.0")
5766 (source (origin
5767 (method url-fetch)
5768 (uri (string-append
5769 "https://hackage.haskell.org/package/ieee754/"
5770 "ieee754-" version ".tar.gz"))
5771 (sha256
5772 (base32
5773 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5774 (build-system haskell-build-system)
5775 (home-page "https://github.com/patperry/hs-ieee754")
5776 (synopsis "Utilities for dealing with IEEE floating point numbers")
5777 (description "Utilities for dealing with IEEE floating point numbers,
5778 ported from the Tango math library; approximate and exact equality comparisons
5779 for general types.")
5780 (license license:bsd-3)))
5781
5782 (define-public ghc-ifelse
5783 (package
5784 (name "ghc-ifelse")
5785 (version "0.85")
5786 (source
5787 (origin
5788 (method url-fetch)
5789 (uri (string-append "https://hackage.haskell.org/package/"
5790 "IfElse/IfElse-" version ".tar.gz"))
5791 (sha256
5792 (base32
5793 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5794 (build-system haskell-build-system)
5795 (home-page "http://hackage.haskell.org/package/IfElse")
5796 (synopsis "Monadic control flow with anaphoric variants")
5797 (description "This library provides functions for control flow inside of
5798 monads with anaphoric variants on @code{if} and @code{when} and a C-like
5799 @code{switch} function.")
5800 (license license:bsd-3)))
5801
5802 (define-public ghc-indents
5803 (package
5804 (name "ghc-indents")
5805 (version "0.5.0.1")
5806 (source (origin
5807 (method url-fetch)
5808 (uri (string-append
5809 "https://hackage.haskell.org/package/indents/indents-"
5810 version ".tar.gz"))
5811 (sha256
5812 (base32
5813 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
5814 (build-system haskell-build-system)
5815 ;; This package needs an older version of tasty.
5816 (arguments '(#:tests? #f))
5817 (inputs
5818 `(("ghc-concatenative" ,ghc-concatenative)))
5819 (native-inputs
5820 `(("ghc-tasty" ,ghc-tasty)
5821 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5822 (home-page "http://patch-tag.com/r/salazar/indents")
5823 (synopsis "Indentation sensitive parser-combinators for parsec")
5824 (description
5825 "This library provides functions for use in parsing indentation sensitive
5826 contexts. It parses blocks of lines all indented to the same level as well as
5827 lines continued at an indented level below.")
5828 (license license:bsd-3)))
5829
5830 (define-public ghc-infer-license
5831 (package
5832 (name "ghc-infer-license")
5833 (version "0.2.0")
5834 (source
5835 (origin
5836 (method url-fetch)
5837 (uri (string-append "https://hackage.haskell.org/package/"
5838 "infer-license/infer-license-" version ".tar.gz"))
5839 (sha256
5840 (base32
5841 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5842 (build-system haskell-build-system)
5843 (inputs
5844 `(("ghc-text-metrics" ,ghc-text-metrics)))
5845 (native-inputs
5846 `(("ghc-hspec" ,ghc-hspec)
5847 ("hspec-discover" ,hspec-discover)))
5848 (home-page "http://hackage.haskell.org/package/infer-license")
5849 (synopsis "Infer software license from a given license file")
5850 (description "This library provides tools to infer a software
5851 license from a given license file.")
5852 (license license:expat)))
5853
5854 (define-public ghc-inline-c
5855 (package
5856 (name "ghc-inline-c")
5857 (version "0.7.0.1")
5858 (source
5859 (origin
5860 (method url-fetch)
5861 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5862 "inline-c-" version ".tar.gz"))
5863 (sha256
5864 (base32
5865 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
5866 (build-system haskell-build-system)
5867 (inputs
5868 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5869 ("ghc-cryptohash" ,ghc-cryptohash)
5870 ("ghc-hashable" ,ghc-hashable)
5871 ("ghc-parsers" ,ghc-parsers)
5872 ("ghc-unordered-containers" ,ghc-unordered-containers)
5873 ("ghc-vector" ,ghc-vector)))
5874 (native-inputs
5875 `(("ghc-quickcheck" ,ghc-quickcheck)
5876 ("ghc-hspec" ,ghc-hspec)
5877 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5878 ("ghc-regex-posix" ,ghc-regex-posix)))
5879 (home-page "http://hackage.haskell.org/package/inline-c")
5880 (synopsis "Write Haskell source files including C code inline")
5881 (description
5882 "inline-c lets you seamlessly call C libraries and embed high-performance
5883 inline C code in Haskell modules. Haskell and C can be freely intermixed in
5884 the same source file, and data passed to and from code in either language with
5885 minimal overhead. No FFI required.")
5886 (license license:expat)))
5887
5888 (define-public ghc-inline-c-cpp
5889 (package
5890 (name "ghc-inline-c-cpp")
5891 (version "0.3.0.3")
5892 (source
5893 (origin
5894 (method url-fetch)
5895 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5896 "inline-c-cpp-" version ".tar.gz"))
5897 (sha256
5898 (base32
5899 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
5900 (build-system haskell-build-system)
5901 (inputs
5902 `(("ghc-inline-c" ,ghc-inline-c)
5903 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5904 (native-inputs
5905 `(("ghc-hspec" ,ghc-hspec)))
5906 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5907 (synopsis "Lets you embed C++ code into Haskell")
5908 (description
5909 "This package provides utilities to inline C++ code into Haskell using
5910 @code{inline-c}.")
5911 (license license:expat)))
5912
5913 (define-public ghc-integer-logarithms
5914 (package
5915 (name "ghc-integer-logarithms")
5916 (version "1.0.3")
5917 (source
5918 (origin
5919 (method url-fetch)
5920 (uri (string-append "https://hackage.haskell.org/package/"
5921 "integer-logarithms/integer-logarithms-"
5922 version ".tar.gz"))
5923 (sha256
5924 (base32
5925 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
5926 (build-system haskell-build-system)
5927 (arguments
5928 `(#:phases
5929 (modify-phases %standard-phases
5930 (add-before 'configure 'update-constraints
5931 (lambda _
5932 (substitute* "integer-logarithms.cabal"
5933 (("tasty >= 0\\.10 && < 1\\.1")
5934 "tasty >= 0.10 && < 1.2")))))))
5935 (native-inputs
5936 `(("ghc-quickcheck" ,ghc-quickcheck)
5937 ("ghc-smallcheck" ,ghc-smallcheck)
5938 ("ghc-tasty" ,ghc-tasty)
5939 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5940 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5941 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5942 (home-page "https://github.com/Bodigrim/integer-logarithms")
5943 (synopsis "Integer logarithms")
5944 (description
5945 "This package provides the following modules:
5946 @code{Math.NumberTheory.Logarithms} and
5947 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5948 @code{GHC.Integer.Logarithms.Compat} and
5949 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5950 in migrated modules.")
5951 (license license:expat)))
5952
5953 (define-public ghc-integer-logarithms-bootstrap
5954 (package
5955 (inherit ghc-integer-logarithms)
5956 (name "ghc-integer-logarithms-bootstrap")
5957 (arguments `(#:tests? #f))
5958 (native-inputs '())
5959 (properties '((hidden? #t)))))
5960
5961 (define-public ghc-interpolate
5962 (package
5963 (name "ghc-interpolate")
5964 (version "0.2.0")
5965 (source
5966 (origin
5967 (method url-fetch)
5968 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5969 "interpolate-" version ".tar.gz"))
5970 (sha256
5971 (base32
5972 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5973 (build-system haskell-build-system)
5974 (inputs
5975 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5976 (native-inputs
5977 `(("ghc-base-compat" ,ghc-base-compat)
5978 ("ghc-hspec" ,ghc-hspec)
5979 ("ghc-quickcheck" ,ghc-quickcheck)
5980 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5981 ("hspec-discover" ,hspec-discover)))
5982 (home-page "https://github.com/sol/interpolate")
5983 (synopsis "String interpolation library")
5984 (description "This package provides a string interpolation library for
5985 Haskell.")
5986 (license license:expat)))
5987
5988 (define-public ghc-intervalmap
5989 (package
5990 (name "ghc-intervalmap")
5991 (version "0.6.1.1")
5992 (source
5993 (origin
5994 (method url-fetch)
5995 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5996 "IntervalMap-" version ".tar.gz"))
5997 (sha256
5998 (base32
5999 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
6000 (build-system haskell-build-system)
6001 (native-inputs
6002 `(("ghc-quickcheck" ,ghc-quickcheck)))
6003 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6004 (synopsis "Containers for intervals, with efficient search")
6005 (description
6006 "This package provides ordered containers of intervals, with efficient
6007 search for all keys containing a point or overlapping an interval. See the
6008 example code on the home page for a quick introduction.")
6009 (license license:bsd-3)))
6010
6011 (define-public ghc-intervals
6012 (package
6013 (name "ghc-intervals")
6014 (version "0.8.1")
6015 (source
6016 (origin
6017 (method url-fetch)
6018 (uri (string-append "https://hackage.haskell.org/package/"
6019 "intervals/intervals-" version ".tar.gz"))
6020 (sha256
6021 (base32
6022 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6023 (build-system haskell-build-system)
6024 (inputs
6025 `(("ghc-distributive" ,ghc-distributive)))
6026 (native-inputs
6027 `(("cabal-doctest" ,cabal-doctest)
6028 ("ghc-doctest" ,ghc-doctest)
6029 ("ghc-quickcheck" ,ghc-quickcheck)))
6030 (arguments
6031 `(#:cabal-revision
6032 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6033 (home-page "https://github.com/ekmett/intervals")
6034 (synopsis "Interval arithmetic")
6035 (description "This library provides
6036 @code{Numeric.Interval.Interval}, which represets a closed, convex set
6037 of floating point values.")
6038 (license license:bsd-3)))
6039
6040 (define-public ghc-invariant
6041 (package
6042 (name "ghc-invariant")
6043 (version "0.5.3")
6044 (source
6045 (origin
6046 (method url-fetch)
6047 (uri (string-append
6048 "https://hackage.haskell.org/package/invariant/invariant-"
6049 version ".tar.gz"))
6050 (sha256
6051 (base32
6052 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
6053 (build-system haskell-build-system)
6054 (inputs
6055 `(("ghc-bifunctors" ,ghc-bifunctors)
6056 ("ghc-comonad" ,ghc-comonad)
6057 ("ghc-contravariant" ,ghc-contravariant)
6058 ("ghc-profunctors" ,ghc-profunctors)
6059 ("ghc-semigroups" ,ghc-semigroups)
6060 ("ghc-statevar" ,ghc-statevar)
6061 ("ghc-tagged" ,ghc-tagged)
6062 ("ghc-th-abstraction" ,ghc-th-abstraction)
6063 ("ghc-transformers-compat" ,ghc-transformers-compat)
6064 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6065 (native-inputs
6066 `(("ghc-hspec" ,ghc-hspec)
6067 ("ghc-quickcheck" ,ghc-quickcheck)
6068 ("hspec-discover" ,hspec-discover)))
6069 (home-page "https://github.com/nfrisby/invariant-functors")
6070 (synopsis "Haskell98 invariant functors")
6071 (description "Haskell98 invariant functors (also known as exponential
6072 functors). For more information, see Edward Kmett's article
6073 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6074 (license license:bsd-2)))
6075
6076 (define-public ghc-io-streams
6077 (package
6078 (name "ghc-io-streams")
6079 (version "1.5.1.0")
6080 (source
6081 (origin
6082 (method url-fetch)
6083 (uri (string-append "https://hackage.haskell.org/package/"
6084 "io-streams/io-streams-" version ".tar.gz"))
6085 (sha256
6086 (base32
6087 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
6088 (build-system haskell-build-system)
6089 (inputs
6090 `(("ghc-attoparsec" ,ghc-attoparsec)
6091 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6092 ("ghc-network" ,ghc-network)
6093 ("ghc-primitive" ,ghc-primitive)
6094 ("ghc-vector" ,ghc-vector)
6095 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6096 (native-inputs
6097 `(("ghc-hunit" ,ghc-hunit)
6098 ("ghc-quickcheck" ,ghc-quickcheck)
6099 ("ghc-test-framework" ,ghc-test-framework)
6100 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6101 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6102 ("ghc-zlib" ,ghc-zlib)))
6103 (home-page "http://hackage.haskell.org/package/io-streams")
6104 (synopsis "Simple and composable stream I/O")
6105 (description "This library contains simple and easy-to-use
6106 primitives for I/O using streams.")
6107 (license license:bsd-3)))
6108
6109 (define-public ghc-io-streams-haproxy
6110 (package
6111 (name "ghc-io-streams-haproxy")
6112 (version "1.0.1.0")
6113 (source
6114 (origin
6115 (method url-fetch)
6116 (uri (string-append "https://hackage.haskell.org/package/"
6117 "io-streams-haproxy/io-streams-haproxy-"
6118 version ".tar.gz"))
6119 (sha256
6120 (base32
6121 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6122 (build-system haskell-build-system)
6123 (inputs
6124 `(("ghc-attoparsec" ,ghc-attoparsec)
6125 ("ghc-io-streams" ,ghc-io-streams)
6126 ("ghc-network" ,ghc-network)))
6127 (native-inputs
6128 `(("ghc-hunit" ,ghc-hunit)
6129 ("ghc-test-framework" ,ghc-test-framework)
6130 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6131 (home-page "http://snapframework.com/")
6132 (synopsis "HAProxy protocol 1.5 support for io-streams")
6133 (description "HAProxy protocol version 1.5 support
6134 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6135 for applications using io-streams. The proxy protocol allows information
6136 about a networked peer (like remote address and port) to be propagated
6137 through a forwarding proxy that is configured to speak this protocol.")
6138 (license license:bsd-3)))
6139
6140 (define-public ghc-iproute
6141 (package
6142 (name "ghc-iproute")
6143 (version "1.7.7")
6144 (source
6145 (origin
6146 (method url-fetch)
6147 (uri (string-append
6148 "https://hackage.haskell.org/package/iproute/iproute-"
6149 version
6150 ".tar.gz"))
6151 (sha256
6152 (base32
6153 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
6154 (build-system haskell-build-system)
6155 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6156 ; exported by ghc-byteorder. Doctest issue.
6157 (inputs
6158 `(("ghc-appar" ,ghc-appar)
6159 ("ghc-byteorder" ,ghc-byteorder)
6160 ("ghc-network" ,ghc-network)
6161 ("ghc-safe" ,ghc-safe)))
6162 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6163 (synopsis "IP routing table")
6164 (description "IP Routing Table is a tree of IP ranges to search one of
6165 them on the longest match base. It is a kind of TRIE with one way branching
6166 removed. Both IPv4 and IPv6 are supported.")
6167 (license license:bsd-3)))
6168
6169 (define-public ghc-ipynb
6170 (package
6171 (name "ghc-ipynb")
6172 (version "0.1")
6173 (source
6174 (origin
6175 (method url-fetch)
6176 (uri (string-append "https://hackage.haskell.org/package/"
6177 "ipynb/ipynb-" version ".tar.gz"))
6178 (sha256
6179 (base32
6180 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6181 (build-system haskell-build-system)
6182 (inputs
6183 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6184 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6185 ("ghc-aeson" ,ghc-aeson)
6186 ("ghc-semigroups" ,ghc-semigroups)))
6187 (native-inputs
6188 `(("ghc-tasty" ,ghc-tasty)
6189 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6190 ("ghc-aeson-diff" ,ghc-aeson-diff)
6191 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6192 ("ghc-microlens" ,ghc-microlens)
6193 ("ghc-vector" ,ghc-vector)))
6194 (home-page "https://hackage.haskell.org/package/ipynb")
6195 (synopsis "Data structure for working with Jupyter notebooks")
6196 (description "This library defines a data structure for representing
6197 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6198 instances for conversion to and from JSON .ipynb files.")
6199 (license license:bsd-3)))
6200
6201 (define-public ghc-iwlib
6202 (package
6203 (name "ghc-iwlib")
6204 (version "0.1.0")
6205 (source
6206 (origin
6207 (method url-fetch)
6208 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6209 version ".tar.gz"))
6210 (sha256
6211 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6212 (build-system haskell-build-system)
6213 (inputs
6214 `(("wireless-tools" ,wireless-tools)))
6215 (home-page "https://github.com/jaor/iwlib")
6216 (synopsis "Haskell binding to the iw wireless networking library")
6217 (description
6218 "IWlib is a thin Haskell binding to the iw C library. It provides
6219 information about the current wireless network connections, and adapters on
6220 supported systems.")
6221 (license license:bsd-3)))
6222
6223 (define-public ghc-json
6224 (package
6225 (name "ghc-json")
6226 (version "0.9.3")
6227 (source
6228 (origin
6229 (method url-fetch)
6230 (uri (string-append "https://hackage.haskell.org/package/json/"
6231 "json-" version ".tar.gz"))
6232 (sha256
6233 (base32
6234 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
6235 (build-system haskell-build-system)
6236 (inputs
6237 `(("ghc-syb" ,ghc-syb)))
6238 (home-page "https://hackage.haskell.org/package/json")
6239 (synopsis "Serializes Haskell data to and from JSON")
6240 (description "This package provides a parser and pretty printer for
6241 converting between Haskell values and JSON.
6242 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6243 (license license:bsd-3)))
6244
6245 (define-public ghc-juicypixels
6246 (package
6247 (name "ghc-juicypixels")
6248 (version "3.3.4")
6249 (source (origin
6250 (method url-fetch)
6251 (uri (string-append "https://hackage.haskell.org/package/"
6252 "JuicyPixels/JuicyPixels-"
6253 version ".tar.gz"))
6254 (sha256
6255 (base32
6256 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
6257 (build-system haskell-build-system)
6258 (inputs
6259 `(("ghc-zlib" ,ghc-zlib)
6260 ("ghc-vector" ,ghc-vector)
6261 ("ghc-primitive" ,ghc-primitive)
6262 ("ghc-mmap" ,ghc-mmap)))
6263 (home-page "https://github.com/Twinside/Juicy.Pixels")
6264 (synopsis "Picture loading and serialization library")
6265 (description
6266 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6267 TIFF and GIF formats.")
6268 (license license:bsd-3)))
6269
6270 (define-public ghc-kan-extensions
6271 (package
6272 (name "ghc-kan-extensions")
6273 (version "5.2")
6274 (source
6275 (origin
6276 (method url-fetch)
6277 (uri (string-append
6278 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6279 version
6280 ".tar.gz"))
6281 (sha256
6282 (base32
6283 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6284 (build-system haskell-build-system)
6285 (inputs
6286 `(("ghc-adjunctions" ,ghc-adjunctions)
6287 ("ghc-comonad" ,ghc-comonad)
6288 ("ghc-contravariant" ,ghc-contravariant)
6289 ("ghc-distributive" ,ghc-distributive)
6290 ("ghc-free" ,ghc-free)
6291 ("ghc-invariant" ,ghc-invariant)
6292 ("ghc-semigroupoids" ,ghc-semigroupoids)
6293 ("ghc-tagged" ,ghc-tagged)
6294 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6295 (home-page "https://github.com/ekmett/kan-extensions/")
6296 (synopsis "Kan extensions library")
6297 (description "This library provides Kan extensions, Kan lifts, various
6298 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6299 (license license:bsd-3)))
6300
6301 (define-public ghc-language-c
6302 (package
6303 (name "ghc-language-c")
6304 (version "0.8.3")
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "https://hackage.haskell.org/package/"
6309 "language-c/language-c-" version ".tar.gz"))
6310 (sha256
6311 (base32
6312 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
6313 (build-system haskell-build-system)
6314 (inputs `(("ghc-syb" ,ghc-syb)))
6315 (native-inputs
6316 `(("ghc-happy" ,ghc-happy)
6317 ("ghc-alex" ,ghc-alex)))
6318 (home-page "https://visq.github.io/language-c/")
6319 (synopsis "Analysis and generation of C code")
6320 (description
6321 "Language C is a Haskell library for the analysis and generation of C code.
6322 It features a complete, well-tested parser and pretty printer for all of C99
6323 and a large set of GNU extensions.")
6324 (license license:bsd-3)))
6325
6326 (define-public ghc-language-glsl
6327 (package
6328 (name "ghc-language-glsl")
6329 (version "0.3.0")
6330 (source
6331 (origin
6332 (method url-fetch)
6333 (uri (string-append "https://hackage.haskell.org/package/"
6334 "language-glsl/language-glsl-" version ".tar.gz"))
6335 (sha256
6336 (base32
6337 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6338 (build-system haskell-build-system)
6339 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6340 (arguments
6341 `(#:tests? #f
6342 #:cabal-revision
6343 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6344 (home-page "http://hackage.haskell.org/package/language-glsl")
6345 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6346 (description "This package is a Haskell library for the
6347 representation, parsing, and pretty-printing of GLSL 1.50 code.")
6348 (license license:bsd-3)))
6349
6350 (define-public ghc-language-haskell-extract
6351 (package
6352 (name "ghc-language-haskell-extract")
6353 (version "0.2.4")
6354 (source
6355 (origin
6356 (method url-fetch)
6357 (uri (string-append "https://hackage.haskell.org/package/"
6358 "language-haskell-extract-" version "/"
6359 "language-haskell-extract-" version ".tar.gz"))
6360 (sha256
6361 (base32
6362 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6363 (build-system haskell-build-system)
6364 (inputs
6365 `(("ghc-regex-posix" ,ghc-regex-posix)))
6366 (home-page "https://github.com/finnsson/template-helper")
6367 (synopsis "Haskell module to automatically extract functions from
6368 the local code")
6369 (description "This package contains helper functions on top of
6370 Template Haskell.
6371
6372 For example, @code{functionExtractor} extracts all functions after a
6373 regexp-pattern, which can be useful if you wish to extract all functions
6374 beginning with @code{test} (for a test framework) or all functions beginning
6375 with @code{wc} (for a web service).")
6376 (license license:bsd-3)))
6377
6378 (define-public ghc-lens
6379 (package
6380 (name "ghc-lens")
6381 (version "4.17.1")
6382 (source
6383 (origin
6384 (method url-fetch)
6385 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6386 version ".tar.gz"))
6387 (sha256
6388 (base32
6389 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
6390 (build-system haskell-build-system)
6391 (inputs
6392 `(("ghc-base-orphans" ,ghc-base-orphans)
6393 ("ghc-bifunctors" ,ghc-bifunctors)
6394 ("ghc-distributive" ,ghc-distributive)
6395 ("ghc-exceptions" ,ghc-exceptions)
6396 ("ghc-free" ,ghc-free)
6397 ("ghc-kan-extensions" ,ghc-kan-extensions)
6398 ("ghc-parallel" ,ghc-parallel)
6399 ("ghc-reflection" ,ghc-reflection)
6400 ("ghc-semigroupoids" ,ghc-semigroupoids)
6401 ("ghc-vector" ,ghc-vector)
6402 ("ghc-call-stack" ,ghc-call-stack)
6403 ("ghc-comonad" ,ghc-comonad)
6404 ("ghc-contravariant" ,ghc-contravariant)
6405 ("ghc-hashable" ,ghc-hashable)
6406 ("ghc-profunctors" ,ghc-profunctors)
6407 ("ghc-semigroups" ,ghc-semigroups)
6408 ("ghc-tagged" ,ghc-tagged)
6409 ("ghc-transformers-compat" ,ghc-transformers-compat)
6410 ("ghc-unordered-containers" ,ghc-unordered-containers)
6411 ("ghc-void" ,ghc-void)
6412 ("ghc-generic-deriving" ,ghc-generic-deriving)
6413 ("ghc-nats" ,ghc-nats)
6414 ("ghc-simple-reflect" ,ghc-simple-reflect)
6415 ("hlint" ,hlint)))
6416 (native-inputs
6417 `(("cabal-doctest" ,cabal-doctest)
6418 ("ghc-doctest" ,ghc-doctest)
6419 ("ghc-hunit" ,ghc-hunit)
6420 ("ghc-test-framework" ,ghc-test-framework)
6421 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6422 ("ghc-test-framework-th" ,ghc-test-framework-th)
6423 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6424 ("ghc-quickcheck" ,ghc-quickcheck)))
6425 (home-page "https://github.com/ekmett/lens/")
6426 (synopsis "Lenses, Folds and Traversals")
6427 (description "This library provides @code{Control.Lens}. The combinators
6428 in @code{Control.Lens} provide a highly generic toolbox for composing families
6429 of getters, folds, isomorphisms, traversals, setters and lenses and their
6430 indexed variants.")
6431 (license license:bsd-3)))
6432
6433 (define-public ghc-libffi
6434 (package
6435 (name "ghc-libffi")
6436 (version "0.1")
6437 (source
6438 (origin
6439 (method url-fetch)
6440 (uri (string-append "https://hackage.haskell.org/package/"
6441 "libffi/libffi-" version ".tar.gz"))
6442 (sha256
6443 (base32
6444 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6445 (build-system haskell-build-system)
6446 (native-inputs `(("pkg-config" ,pkg-config)))
6447 (inputs `(("libffi" ,libffi)))
6448 (home-page "http://hackage.haskell.org/package/libffi")
6449 (synopsis "Haskell binding to libffi")
6450 (description
6451 "A binding to libffi, allowing C functions of types only known at runtime
6452 to be called from Haskell.")
6453 (license license:bsd-3)))
6454
6455 (define-public ghc-libmpd
6456 (package
6457 (name "ghc-libmpd")
6458 (version "0.9.0.10")
6459 (source
6460 (origin
6461 (method url-fetch)
6462 (uri (string-append
6463 "mirror://hackage/package/libmpd/libmpd-"
6464 version
6465 ".tar.gz"))
6466 (sha256
6467 (base32
6468 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
6469 (build-system haskell-build-system)
6470 ;; Tests fail on i686.
6471 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6472 (arguments `(#:tests? #f))
6473 (inputs
6474 `(("ghc-attoparsec" ,ghc-attoparsec)
6475 ("ghc-old-locale" ,ghc-old-locale)
6476 ("ghc-data-default-class" ,ghc-data-default-class)
6477 ("ghc-network" ,ghc-network)
6478 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
6479 ("ghc-utf8-string" ,ghc-utf8-string)))
6480 (native-inputs
6481 `(("ghc-quickcheck" ,ghc-quickcheck)
6482 ("ghc-hspec" ,ghc-hspec)
6483 ("hspec-discover" ,hspec-discover)))
6484 (home-page "https://github.com/vimus/libmpd-haskell")
6485 (synopsis "Haskell client library for the Music Player Daemon")
6486 (description "This package provides a pure Haskell client library for the
6487 Music Player Daemon.")
6488 (license license:expat)))
6489
6490 (define-public ghc-lib-parser
6491 (package
6492 (name "ghc-lib-parser")
6493 (version "8.8.0.20190424")
6494 (source
6495 (origin
6496 (method url-fetch)
6497 (uri (string-append "https://hackage.haskell.org/package/"
6498 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6499 (sha256
6500 (base32
6501 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6502 (build-system haskell-build-system)
6503 (native-inputs
6504 `(("ghc-alex" ,ghc-alex)
6505 ("ghc-happy" ,ghc-happy)))
6506 (home-page "https://github.com/digital-asset/ghc-lib")
6507 (synopsis "The GHC API, decoupled from GHC versions")
6508 (description "This library implements the GHC API. It is like the
6509 compiler-provided @code{ghc} package, but it can be loaded on many
6510 compiler versions.")
6511 (license license:bsd-3)))
6512
6513 (define-public ghc-libxml
6514 (package
6515 (name "ghc-libxml")
6516 (version "0.1.1")
6517 (source
6518 (origin
6519 (method url-fetch)
6520 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6521 "libxml-" version ".tar.gz"))
6522 (sha256
6523 (base32
6524 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6525 (build-system haskell-build-system)
6526 (inputs
6527 `(("libxml2" ,libxml2)))
6528 (arguments
6529 `(#:configure-flags
6530 `(,(string-append "--extra-include-dirs="
6531 (assoc-ref %build-inputs "libxml2")
6532 "/include/libxml2"))))
6533 (home-page "https://hackage.haskell.org/package/libxml")
6534 (synopsis "Haskell bindings to libxml2")
6535 (description
6536 "This library provides minimal Haskell binding to libxml2.")
6537 (license license:bsd-3)))
6538
6539 (define-public ghc-libyaml
6540 (package
6541 (name "ghc-libyaml")
6542 (version "0.1.1.0")
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append "https://hackage.haskell.org/package/"
6547 "libyaml/libyaml-" version ".tar.gz"))
6548 (sha256
6549 (base32
6550 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6551 (modules '((guix build utils)))
6552 (snippet
6553 ;; Delete bundled LibYAML.
6554 '(begin
6555 (delete-file-recursively "libyaml_src")
6556 #t))))
6557 (build-system haskell-build-system)
6558 (arguments
6559 `(#:configure-flags `("--flags=system-libyaml")))
6560 (inputs
6561 `(("ghc-conduit" ,ghc-conduit)
6562 ("ghc-resourcet" ,ghc-resourcet)
6563 ("libyaml" ,libyaml-2.1)))
6564 (home-page "https://github.com/snoyberg/yaml#readme")
6565 (synopsis "Low-level, streaming YAML interface.")
6566 (description "This package provides a Haskell wrapper over the
6567 LibYAML C library.")
6568 (license license:bsd-3)))
6569
6570 (define-public ghc-lifted-async
6571 (package
6572 (name "ghc-lifted-async")
6573 (version "0.10.0.4")
6574 (source
6575 (origin
6576 (method url-fetch)
6577 (uri (string-append
6578 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6579 version ".tar.gz"))
6580 (sha256
6581 (base32
6582 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
6583 (build-system haskell-build-system)
6584 (inputs
6585 `(("ghc-async" ,ghc-async)
6586 ("ghc-lifted-base" ,ghc-lifted-base)
6587 ("ghc-transformers-base" ,ghc-transformers-base)
6588 ("ghc-monad-control" ,ghc-monad-control)
6589 ("ghc-constraints" ,ghc-constraints)
6590 ("ghc-hunit" ,ghc-hunit)
6591 ("ghc-tasty" ,ghc-tasty)
6592 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6593 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6594 ("ghc-tasty-th" ,ghc-tasty-th)))
6595 (home-page "https://github.com/maoe/lifted-async")
6596 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6597 (description
6598 "This package provides IO operations from @code{async} package lifted to any
6599 instance of @code{MonadBase} or @code{MonadBaseControl}.")
6600 (license license:bsd-3)))
6601
6602 (define-public ghc-lifted-base
6603 (package
6604 (name "ghc-lifted-base")
6605 (version "0.2.3.12")
6606 (source
6607 (origin
6608 (method url-fetch)
6609 (uri (string-append
6610 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6611 version
6612 ".tar.gz"))
6613 (sha256
6614 (base32
6615 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6616 (build-system haskell-build-system)
6617 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6618 (inputs
6619 `(("ghc-transformers-base" ,ghc-transformers-base)
6620 ("ghc-monad-control" ,ghc-monad-control)
6621 ("ghc-transformers-compat" ,ghc-transformers-compat)
6622 ("ghc-hunit" ,ghc-hunit)))
6623 (home-page "https://github.com/basvandijk/lifted-base")
6624 (synopsis "Lifted IO operations from the base library")
6625 (description "Lifted-base exports IO operations from the @code{base}
6626 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6627 Note that not all modules from @code{base} are converted yet. The package
6628 includes a copy of the @code{monad-peel} test suite written by Anders
6629 Kaseorg.")
6630 (license license:bsd-3)))
6631
6632 (define-public ghc-linear
6633 (package
6634 (name "ghc-linear")
6635 (version "1.20.9")
6636 (source
6637 (origin
6638 (method url-fetch)
6639 (uri (string-append "https://hackage.haskell.org/package/linear/"
6640 "linear-" version ".tar.gz"))
6641 (sha256
6642 (base32
6643 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
6644 (build-system haskell-build-system)
6645 (inputs
6646 `(("ghc-adjunctions" ,ghc-adjunctions)
6647 ("ghc-base-orphans" ,ghc-base-orphans)
6648 ("ghc-bytes" ,ghc-bytes)
6649 ("ghc-cereal" ,ghc-cereal)
6650 ("ghc-distributive" ,ghc-distributive)
6651 ("ghc-hashable" ,ghc-hashable)
6652 ("ghc-lens" ,ghc-lens)
6653 ("ghc-reflection" ,ghc-reflection)
6654 ("ghc-semigroups" ,ghc-semigroups)
6655 ("ghc-semigroupoids" ,ghc-semigroupoids)
6656 ("ghc-tagged" ,ghc-tagged)
6657 ("ghc-transformers-compat" ,ghc-transformers-compat)
6658 ("ghc-unordered-containers" ,ghc-unordered-containers)
6659 ("ghc-vector" ,ghc-vector)
6660 ("ghc-void" ,ghc-void)))
6661 (native-inputs
6662 `(("cabal-doctest" ,cabal-doctest)
6663 ("ghc-doctest" ,ghc-doctest)
6664 ("ghc-simple-reflect" ,ghc-simple-reflect)
6665 ("ghc-test-framework" ,ghc-test-framework)
6666 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6667 ("ghc-hunit" ,ghc-hunit)))
6668 (home-page "http://github.com/ekmett/linear/")
6669 (synopsis "Linear algebra library for Haskell")
6670 (description
6671 "This package provides types and combinators for linear algebra on free
6672 vector spaces.")
6673 (license license:bsd-3)))
6674
6675 (define-public ghc-listlike
6676 (package
6677 (name "ghc-listlike")
6678 (version "4.6.2")
6679 (source
6680 (origin
6681 (method url-fetch)
6682 (uri
6683 (string-append
6684 "https://hackage.haskell.org/package/ListLike/ListLike-"
6685 version ".tar.gz"))
6686 (sha256
6687 (base32
6688 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6689 (build-system haskell-build-system)
6690 (inputs
6691 `(("ghc-vector" ,ghc-vector)
6692 ("ghc-dlist" ,ghc-dlist)
6693 ("ghc-fmlist" ,ghc-fmlist)
6694 ("ghc-hunit" ,ghc-hunit)
6695 ("ghc-quickcheck" ,ghc-quickcheck)
6696 ("ghc-random" ,ghc-random)
6697 ("ghc-utf8-string" ,ghc-utf8-string)))
6698 (home-page "https://github.com/JohnLato/listlike")
6699 (synopsis "Generic support for list-like structures")
6700 (description "The ListLike module provides a common interface to the
6701 various Haskell types that are list-like. Predefined interfaces include
6702 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6703 Custom types can easily be made ListLike instances as well.
6704
6705 ListLike also provides for String-like types, such as String and
6706 ByteString, for types that support input and output, and for types that
6707 can handle infinite lists.")
6708 (license license:bsd-3)))
6709
6710 (define-public ghc-llvm-hs-pure
6711 (package
6712 (name "ghc-llvm-hs-pure")
6713 (version "9.0.0")
6714 (source
6715 (origin
6716 (method url-fetch)
6717 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6718 "llvm-hs-pure-" version ".tar.gz"))
6719 (sha256
6720 (base32
6721 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6722 (build-system haskell-build-system)
6723 (inputs
6724 `(("ghc-attoparsec" ,ghc-attoparsec)
6725 ("ghc-fail" ,ghc-fail)
6726 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6727 (native-inputs
6728 `(("ghc-tasty" ,ghc-tasty)
6729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6730 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6731 (home-page "https://github.com/llvm-hs/llvm-hs/")
6732 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6733 (description "llvm-hs-pure is a set of pure Haskell types and functions
6734 for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6735 LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6736 llvm-hs-pure does not require LLVM to be available.")
6737 (license license:bsd-3)))
6738
6739 (define-public ghc-llvm-hs
6740 (package
6741 (name "ghc-llvm-hs")
6742 (version "9.0.1")
6743 (source
6744 (origin
6745 (method url-fetch)
6746 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6747 version ".tar.gz"))
6748 (sha256
6749 (base32
6750 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6751 (build-system haskell-build-system)
6752 (inputs
6753 `(("ghc-attoparsec" ,ghc-attoparsec)
6754 ("ghc-exceptions" ,ghc-exceptions)
6755 ("ghc-utf8-string" ,ghc-utf8-string)
6756 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6757 ("llvm" ,llvm-9)))
6758 (native-inputs
6759 `(("ghc-tasty" ,ghc-tasty)
6760 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6761 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6762 ("ghc-quickcheck" ,ghc-quickcheck)
6763 ("ghc-temporary" ,ghc-temporary)
6764 ("ghc-pretty-show" ,ghc-pretty-show)
6765 ("ghc-temporary" ,ghc-temporary)))
6766 (home-page "https://github.com/llvm-hs/llvm-hs/")
6767 (synopsis "General purpose LLVM bindings for Haskell")
6768 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6769 current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
6770 IR, and so offers two advantages: it handles almost all of the stateful
6771 complexities of using the LLVM API to build IR; and it supports moving IR not
6772 only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
6773 into Haskell.")
6774 (license license:bsd-3)))
6775
6776 (define-public ghc-logging-facade
6777 (package
6778 (name "ghc-logging-facade")
6779 (version "0.3.0")
6780 (source (origin
6781 (method url-fetch)
6782 (uri (string-append "https://hackage.haskell.org/package/"
6783 "logging-facade/logging-facade-"
6784 version ".tar.gz"))
6785 (sha256
6786 (base32
6787 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6788 (build-system haskell-build-system)
6789 (native-inputs
6790 `(("ghc-hspec" ,ghc-hspec)
6791 ("hspec-discover" ,hspec-discover)))
6792 (home-page "https://hackage.haskell.org/package/logging-facade")
6793 (synopsis "Simple logging abstraction that allows multiple back-ends")
6794 (description
6795 "This package provides a simple logging abstraction that allows multiple
6796 back-ends.")
6797 (license license:expat)))
6798
6799 (define-public ghc-logict
6800 (package
6801 (name "ghc-logict")
6802 (version "0.7.0.2")
6803 (source
6804 (origin
6805 (method url-fetch)
6806 (uri (string-append
6807 "https://hackage.haskell.org/package/logict/logict-"
6808 version
6809 ".tar.gz"))
6810 (sha256
6811 (base32
6812 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
6813 (build-system haskell-build-system)
6814 (native-inputs
6815 `(("ghc-tasty" ,ghc-tasty)
6816 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6817 (home-page "http://code.haskell.org/~dolio/")
6818 (synopsis "Backtracking logic-programming monad")
6819 (description "This library provides a continuation-based, backtracking,
6820 logic programming monad. An adaptation of the two-continuation implementation
6821 found in the paper \"Backtracking, Interleaving, and Terminating Monad
6822 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6823 online}.")
6824 (license license:bsd-3)))
6825
6826 (define-public ghc-lzma
6827 (package
6828 (name "ghc-lzma")
6829 (version "0.0.0.3")
6830 (source
6831 (origin
6832 (method url-fetch)
6833 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6834 "lzma-" version ".tar.gz"))
6835 (sha256
6836 (base32
6837 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6838 (build-system haskell-build-system)
6839 (arguments
6840 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6841 #:cabal-revision
6842 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6843 (native-inputs
6844 `(("ghc-hunit" ,ghc-hunit)
6845 ("ghc-quickcheck" ,ghc-quickcheck)
6846 ("ghc-tasty" ,ghc-tasty)
6847 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6848 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6849 (home-page "https://github.com/hvr/lzma")
6850 (synopsis "LZMA/XZ compression and decompression")
6851 (description
6852 "This package provides a pure interface for compressing and
6853 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6854 monadic incremental interface is provided as well.")
6855 (license license:bsd-3)))
6856
6857 (define-public ghc-lzma-conduit
6858 (package
6859 (name "ghc-lzma-conduit")
6860 (version "1.2.1")
6861 (source
6862 (origin
6863 (method url-fetch)
6864 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6865 "lzma-conduit-" version ".tar.gz"))
6866 (sha256
6867 (base32
6868 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6869 (build-system haskell-build-system)
6870 (inputs
6871 `(("ghc-conduit" ,ghc-conduit)
6872 ("ghc-lzma" ,ghc-lzma)
6873 ("ghc-resourcet" ,ghc-resourcet)))
6874 (native-inputs
6875 `(("ghc-base-compat" ,ghc-base-compat)
6876 ("ghc-test-framework" ,ghc-test-framework)
6877 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6878 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6879 ("ghc-hunit" ,ghc-hunit)
6880 ("ghc-quickcheck" ,ghc-quickcheck)))
6881 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6882 (synopsis "Conduit interface for lzma/xz compression")
6883 (description
6884 "This package provides a @code{Conduit} interface for the LZMA
6885 compression algorithm used in the @code{.xz} file format.")
6886 (license license:bsd-3)))
6887
6888 (define-public ghc-magic
6889 (package
6890 (name "ghc-magic")
6891 (version "1.1")
6892 (source
6893 (origin
6894 (method url-fetch)
6895 (uri (string-append
6896 "https://hackage.haskell.org/package/magic/magic-"
6897 version ".tar.gz"))
6898 (sha256
6899 (base32
6900 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6901 (build-system haskell-build-system)
6902 (home-page "http://hackage.haskell.org/package/magic")
6903 (synopsis "Interface to C file/magic library")
6904 (description
6905 "This package provides a full-featured binding to the C libmagic library.
6906 With it, you can determine the type of a file by examining its contents rather
6907 than its name.")
6908 (license license:bsd-3)))
6909
6910 (define-public ghc-markdown-unlit
6911 (package
6912 (name "ghc-markdown-unlit")
6913 (version "0.5.0")
6914 (source (origin
6915 (method url-fetch)
6916 (uri (string-append
6917 "mirror://hackage/package/markdown-unlit/"
6918 "markdown-unlit-" version ".tar.gz"))
6919 (sha256
6920 (base32
6921 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6922 (build-system haskell-build-system)
6923 (inputs
6924 `(("ghc-base-compat" ,ghc-base-compat)
6925 ("ghc-hspec" ,ghc-hspec)
6926 ("ghc-quickcheck" ,ghc-quickcheck)
6927 ("ghc-silently" ,ghc-silently)
6928 ("ghc-stringbuilder" ,ghc-stringbuilder)
6929 ("ghc-temporary" ,ghc-temporary)
6930 ("hspec-discover" ,hspec-discover)))
6931 (home-page "https://github.com/sol/markdown-unlit#readme")
6932 (synopsis "Literate Haskell support for Markdown")
6933 (description "This package allows you to have a README.md that at the
6934 same time is a literate Haskell program.")
6935 (license license:expat)))
6936
6937 (define-public ghc-math-functions
6938 (package
6939 (name "ghc-math-functions")
6940 (version "0.3.3.0")
6941 (source
6942 (origin
6943 (method url-fetch)
6944 (uri (string-append "https://hackage.haskell.org/package/"
6945 "math-functions-" version "/"
6946 "math-functions-" version ".tar.gz"))
6947 (sha256
6948 (base32
6949 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
6950 (build-system haskell-build-system)
6951 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6952 (inputs
6953 `(("ghc-data-default-class" ,ghc-data-default-class)
6954 ("ghc-vector" ,ghc-vector)
6955 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6956 (native-inputs
6957 `(("ghc-hunit" ,ghc-hunit)
6958 ("ghc-quickcheck" ,ghc-quickcheck)
6959 ("ghc-erf" ,ghc-erf)
6960 ("ghc-test-framework" ,ghc-test-framework)
6961 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6962 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6963 (home-page "https://github.com/bos/math-functions")
6964 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6965 (description "This Haskell library provides implementations of
6966 special mathematical functions and Chebyshev polynomials. These
6967 functions are often useful in statistical and numerical computing.")
6968 (license license:bsd-3)))
6969
6970 (define-public ghc-megaparsec
6971 (package
6972 (name "ghc-megaparsec")
6973 (version "7.0.5")
6974 (source
6975 (origin
6976 (method url-fetch)
6977 (uri (string-append "https://hackage.haskell.org/package/"
6978 "megaparsec/megaparsec-"
6979 version ".tar.gz"))
6980 (sha256
6981 (base32
6982 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6983 (build-system haskell-build-system)
6984 (inputs
6985 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6986 ("ghc-parser-combinators" ,ghc-parser-combinators)
6987 ("ghc-scientific" ,ghc-scientific)))
6988 (native-inputs
6989 `(("ghc-quickcheck" ,ghc-quickcheck)
6990 ("ghc-hspec" ,ghc-hspec)
6991 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6992 ("hspec-discover" ,hspec-discover)))
6993 (home-page "https://github.com/mrkkrp/megaparsec")
6994 (synopsis "Monadic parser combinators")
6995 (description
6996 "This is an industrial-strength monadic parser combinator library.
6997 Megaparsec is a feature-rich package that strikes a nice balance between
6998 speed, flexibility, and quality of parse errors.")
6999 (license license:bsd-2)))
7000
7001 (define-public ghc-memory
7002 (package
7003 (name "ghc-memory")
7004 (version "0.14.18")
7005 (source (origin
7006 (method url-fetch)
7007 (uri (string-append "https://hackage.haskell.org/package/"
7008 "memory/memory-" version ".tar.gz"))
7009 (sha256
7010 (base32
7011 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
7012 (build-system haskell-build-system)
7013 (inputs
7014 `(("ghc-basement" ,ghc-basement)
7015 ("ghc-foundation" ,ghc-foundation)))
7016 (native-inputs
7017 `(("ghc-tasty" ,ghc-tasty)
7018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7019 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7020 (home-page "https://github.com/vincenthz/hs-memory")
7021 (synopsis "Memory abstractions for Haskell")
7022 (description
7023 "This package provides memory abstractions, such as chunk of memory,
7024 polymorphic byte array management and manipulation functions. It contains a
7025 polymorphic byte array abstraction and functions similar to strict ByteString,
7026 different type of byte array abstraction, raw memory IO operations (memory
7027 set, memory copy, ..) and more")
7028 (license license:bsd-3)))
7029
7030 (define-public ghc-memotrie
7031 (package
7032 (name "ghc-memotrie")
7033 (version "0.6.9")
7034 (source
7035 (origin
7036 (method url-fetch)
7037 (uri (string-append
7038 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7039 version
7040 ".tar.gz"))
7041 (sha256
7042 (base32
7043 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7044 (build-system haskell-build-system)
7045 (inputs
7046 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7047 (home-page "https://github.com/conal/MemoTrie")
7048 (synopsis "Trie-based memo functions")
7049 (description "This package provides a functional library for creating
7050 efficient memo functions using tries.")
7051 (license license:bsd-3)))
7052
7053 (define-public ghc-microlens
7054 (package
7055 (name "ghc-microlens")
7056 (version "0.4.10")
7057 (source
7058 (origin
7059 (method url-fetch)
7060 (uri (string-append "https://hackage.haskell.org/package/"
7061 "microlens-" version "/"
7062 "microlens-" version ".tar.gz"))
7063 (sha256
7064 (base32
7065 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
7066 (build-system haskell-build-system)
7067 (home-page
7068 "https://github.com/aelve/microlens")
7069 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7070 (description "This Haskell package provides a lens library, just like
7071 @code{ghc-lens}, but smaller. It provides essential lenses and
7072 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7073 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7074 combinators (like @code{failing} and @code{singular}), but everything else is
7075 stripped. As the result, this package has no dependencies.")
7076 (license license:bsd-3)))
7077
7078 (define-public ghc-microlens-aeson
7079 (package
7080 (name "ghc-microlens-aeson")
7081 (version "2.3.0.4")
7082 (source
7083 (origin
7084 (method url-fetch)
7085 (uri (string-append "https://hackage.haskell.org/package/"
7086 "microlens-aeson/microlens-aeson-"
7087 version ".tar.gz"))
7088 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
7089 (sha256
7090 (base32
7091 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7092 (build-system haskell-build-system)
7093 (inputs
7094 `(("ghc-aeson" ,ghc-aeson)
7095 ("ghc-attoparsec" ,ghc-attoparsec)
7096 ("ghc-hashable" ,ghc-hashable)
7097 ("ghc-microlens" ,ghc-microlens)
7098 ("ghc-scientific" ,ghc-scientific)
7099 ("ghc-unordered-containers" ,ghc-unordered-containers)
7100 ("ghc-vector" ,ghc-vector)))
7101 (native-inputs
7102 `(("ghc-tasty" ,ghc-tasty)
7103 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7104 (home-page "https://github.com/fosskers/microlens-aeson")
7105 (synopsis "Law-abiding lenses for Aeson, using microlens")
7106 (description "This library provides law-abiding lenses for Aeson, using
7107 microlens.")
7108 (license license:expat)))
7109
7110 (define-public ghc-microlens-ghc
7111 (package
7112 (name "ghc-microlens-ghc")
7113 (version "0.4.10")
7114 (source
7115 (origin
7116 (method url-fetch)
7117 (uri (string-append
7118 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7119 version
7120 ".tar.gz"))
7121 (sha256
7122 (base32
7123 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
7124 (build-system haskell-build-system)
7125 (inputs `(("ghc-microlens" ,ghc-microlens)))
7126 (home-page "https://github.com/monadfix/microlens")
7127 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7128 (description "This library provides everything that @code{microlens}
7129 provides plus instances to make @code{each}, @code{at}, and @code{ix}
7130 usable with arrays, @code{ByteString}, and containers. This package is
7131 a part of the @uref{http://hackage.haskell.org/package/microlens,
7132 microlens} family; see the readme
7133 @uref{https://github.com/aelve/microlens#readme, on Github}.")
7134 (license license:bsd-3)))
7135
7136 (define-public ghc-microlens-mtl
7137 (package
7138 (name "ghc-microlens-mtl")
7139 (version "0.1.11.1")
7140 (source
7141 (origin
7142 (method url-fetch)
7143 (uri (string-append
7144 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7145 version
7146 ".tar.gz"))
7147 (sha256
7148 (base32
7149 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7150 (build-system haskell-build-system)
7151 (inputs
7152 `(("ghc-microlens" ,ghc-microlens)
7153 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7154 (home-page "https://github.com/monadfix/microlens")
7155 (synopsis
7156 "@code{microlens} support for Reader/Writer/State from mtl")
7157 (description
7158 "This package contains functions (like @code{view} or @code{+=}) which
7159 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7160 mtl package. This package is a part of the
7161 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7162 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7163 (license license:bsd-3)))
7164
7165 (define-public ghc-microlens-platform
7166 (package
7167 (name "ghc-microlens-platform")
7168 (version "0.3.11")
7169 (source
7170 (origin
7171 (method url-fetch)
7172 (uri (string-append
7173 "https://hackage.haskell.org/package/"
7174 "microlens-platform/microlens-platform-" version ".tar.gz"))
7175 (sha256
7176 (base32
7177 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
7178 (build-system haskell-build-system)
7179 (inputs
7180 `(("ghc-hashable" ,ghc-hashable)
7181 ("ghc-microlens" ,ghc-microlens)
7182 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7183 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7184 ("ghc-microlens-th" ,ghc-microlens-th)
7185 ("ghc-unordered-containers" ,ghc-unordered-containers)
7186 ("ghc-vector" ,ghc-vector)))
7187 (home-page "https://github.com/monadfix/microlens")
7188 (synopsis "Feature-complete microlens")
7189 (description
7190 "This package exports a module which is the recommended starting point
7191 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7192 you aren't trying to keep your dependencies minimal. By importing
7193 @code{Lens.Micro.Platform} you get all functions and instances from
7194 @uref{http://hackage.haskell.org/package/microlens, microlens},
7195 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7196 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7197 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7198 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7199 minor and major versions of @code{microlens-platform} are incremented whenever
7200 the minor and major versions of any other @code{microlens} package are
7201 incremented, so you can depend on the exact version of
7202 @code{microlens-platform} without specifying the version of @code{microlens}
7203 you need. This package is a part of the
7204 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7205 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7206 (license license:bsd-3)))
7207
7208 (define-public ghc-microlens-th
7209 (package
7210 (name "ghc-microlens-th")
7211 (version "0.4.2.3")
7212 (source
7213 (origin
7214 (method url-fetch)
7215 (uri (string-append "https://hackage.haskell.org/package/"
7216 "microlens-th-" version "/"
7217 "microlens-th-" version ".tar.gz"))
7218 (sha256
7219 (base32
7220 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
7221 (build-system haskell-build-system)
7222 (arguments
7223 `(#:cabal-revision
7224 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
7225 (inputs `(("ghc-microlens" ,ghc-microlens)
7226 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7227 (home-page
7228 "https://github.com/aelve/microlens")
7229 (synopsis "Automatic generation of record lenses for
7230 @code{ghc-microlens}")
7231 (description "This Haskell package lets you automatically generate lenses
7232 for data types; code was extracted from the lens package, and therefore
7233 generated lenses are fully compatible with ones generated by lens (and can be
7234 used both from lens and microlens).")
7235 (license license:bsd-3)))
7236
7237 (define-public ghc-missingh
7238 (package
7239 (name "ghc-missingh")
7240 (version "1.4.1.0")
7241 (source
7242 (origin
7243 (method url-fetch)
7244 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7245 "MissingH-" version ".tar.gz"))
7246 (sha256
7247 (base32
7248 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
7249 (build-system haskell-build-system)
7250 ;; Tests require the unmaintained testpack package, which depends on the
7251 ;; outdated QuickCheck version 2.7, which can no longer be built with
7252 ;; recent versions of GHC and Haskell libraries.
7253 (arguments '(#:tests? #f))
7254 (inputs
7255 `(("ghc-network" ,ghc-network)
7256 ("ghc-hunit" ,ghc-hunit)
7257 ("ghc-regex-compat" ,ghc-regex-compat)
7258 ("ghc-hslogger" ,ghc-hslogger)
7259 ("ghc-random" ,ghc-random)
7260 ("ghc-old-time" ,ghc-old-time)
7261 ("ghc-old-locale" ,ghc-old-locale)))
7262 (native-inputs
7263 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7264 ("ghc-quickcheck" ,ghc-quickcheck)
7265 ("ghc-hunit" ,ghc-hunit)))
7266 (home-page "https://software.complete.org/missingh")
7267 (synopsis "Large utility library")
7268 (description
7269 "MissingH is a library of all sorts of utility functions for Haskell
7270 programmers. It is written in pure Haskell and thus should be extremely
7271 portable and easy to use.")
7272 (license license:bsd-3)))
7273
7274 (define-public ghc-mmap
7275 (package
7276 (name "ghc-mmap")
7277 (version "0.5.9")
7278 (source (origin
7279 (method url-fetch)
7280 (uri (string-append "https://hackage.haskell.org/package/"
7281 "mmap/mmap-" version ".tar.gz"))
7282 (sha256
7283 (base32
7284 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7285 (build-system haskell-build-system)
7286 (home-page "https://hackage.haskell.org/package/mmap")
7287 (synopsis "Memory mapped files for Haskell")
7288 (description
7289 "This library provides a wrapper to @code{mmap}, allowing files or
7290 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7291 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7292 do on-demand loading.")
7293 (license license:bsd-3)))
7294
7295 (define-public ghc-mmorph
7296 (package
7297 (name "ghc-mmorph")
7298 (version "1.1.3")
7299 (source
7300 (origin
7301 (method url-fetch)
7302 (uri (string-append
7303 "https://hackage.haskell.org/package/mmorph/mmorph-"
7304 version
7305 ".tar.gz"))
7306 (sha256
7307 (base32
7308 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
7309 (build-system haskell-build-system)
7310 (inputs
7311 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7312 (home-page "https://hackage.haskell.org/package/mmorph")
7313 (synopsis "Monad morphisms")
7314 (description
7315 "This library provides monad morphism utilities, most commonly used for
7316 manipulating monad transformer stacks.")
7317 (license license:bsd-3)))
7318
7319 (define-public ghc-mockery
7320 (package
7321 (name "ghc-mockery")
7322 (version "0.3.5")
7323 (source (origin
7324 (method url-fetch)
7325 (uri (string-append "https://hackage.haskell.org/package/"
7326 "mockery/mockery-" version ".tar.gz"))
7327 (sha256
7328 (base32
7329 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7330 (build-system haskell-build-system)
7331 (inputs
7332 `(("ghc-temporary" ,ghc-temporary)
7333 ("ghc-logging-facade" ,ghc-logging-facade)
7334 ("ghc-base-compat" ,ghc-base-compat)))
7335 (native-inputs
7336 `(("ghc-hspec" ,ghc-hspec)
7337 ("hspec-discover" ,hspec-discover)))
7338 (home-page "https://hackage.haskell.org/package/mockery")
7339 (synopsis "Support functions for automated testing")
7340 (description
7341 "The mockery package provides support functions for automated testing.")
7342 (license license:expat)))
7343
7344 (define-public ghc-monad-control
7345 (package
7346 (name "ghc-monad-control")
7347 (version "1.0.2.3")
7348 (source
7349 (origin
7350 (method url-fetch)
7351 (uri (string-append
7352 "https://hackage.haskell.org/package/monad-control"
7353 "/monad-control-" version ".tar.gz"))
7354 (sha256
7355 (base32
7356 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7357 (build-system haskell-build-system)
7358 (inputs
7359 `(("ghc-transformers-base" ,ghc-transformers-base)
7360 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7361 (home-page "https://github.com/basvandijk/monad-control")
7362 (synopsis "Monad transformers to lift control operations like exception
7363 catching")
7364 (description "This package defines the type class @code{MonadBaseControl},
7365 a subset of @code{MonadBase} into which generic control operations such as
7366 @code{catch} can be lifted from @code{IO} or any other base monad.")
7367 (license license:bsd-3)))
7368
7369 (define-public ghc-monad-logger
7370 (package
7371 (name "ghc-monad-logger")
7372 (version "0.3.30")
7373 (source
7374 (origin
7375 (method url-fetch)
7376 (uri (string-append "https://hackage.haskell.org/package/"
7377 "monad-logger-" version "/"
7378 "monad-logger-" version ".tar.gz"))
7379 (sha256
7380 (base32
7381 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
7382 (build-system haskell-build-system)
7383 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7384 ("ghc-stm-chans" ,ghc-stm-chans)
7385 ("ghc-lifted-base" ,ghc-lifted-base)
7386 ("ghc-resourcet" ,ghc-resourcet)
7387 ("ghc-conduit" ,ghc-conduit)
7388 ("ghc-conduit-extra" ,ghc-conduit-extra)
7389 ("ghc-fast-logger" ,ghc-fast-logger)
7390 ("ghc-transformers-base" ,ghc-transformers-base)
7391 ("ghc-monad-control" ,ghc-monad-control)
7392 ("ghc-monad-loops" ,ghc-monad-loops)
7393 ("ghc-blaze-builder" ,ghc-blaze-builder)
7394 ("ghc-exceptions" ,ghc-exceptions)))
7395 (home-page "https://github.com/kazu-yamamoto/logger")
7396 (synopsis "Provides a class of monads which can log messages for Haskell")
7397 (description "This Haskell package uses a monad transformer approach
7398 for logging.
7399
7400 This package provides Template Haskell functions for determining source
7401 code locations of messages.")
7402 (license license:expat)))
7403
7404 (define-public ghc-monad-loops
7405 (package
7406 (name "ghc-monad-loops")
7407 (version "0.4.3")
7408 (source
7409 (origin
7410 (method url-fetch)
7411 (uri (string-append "https://hackage.haskell.org/package/"
7412 "monad-loops-" version "/"
7413 "monad-loops-" version ".tar.gz"))
7414 (sha256
7415 (base32
7416 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7417 (build-system haskell-build-system)
7418 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7420 (home-page "https://github.com/mokus0/monad-loops")
7421 (synopsis "Monadic loops for Haskell")
7422 (description "This Haskell package provides some useful control
7423 operators for looping.")
7424 (license license:public-domain)))
7425
7426 (define-public ghc-monad-par
7427 (package
7428 (name "ghc-monad-par")
7429 (version "0.3.4.8")
7430 (source
7431 (origin
7432 (method url-fetch)
7433 (uri (string-append "https://hackage.haskell.org/package/"
7434 "monad-par-" version "/"
7435 "monad-par-" version ".tar.gz"))
7436 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
7437 (sha256
7438 (base32
7439 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7440 (build-system haskell-build-system)
7441 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7442 ("ghc-abstract-deque" ,ghc-abstract-deque)
7443 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7444 ("ghc-mwc-random" ,ghc-mwc-random)
7445 ("ghc-parallel" ,ghc-parallel)))
7446 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7447 ("ghc-hunit" ,ghc-hunit)
7448 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7449 ("ghc-test-framework-quickcheck2"
7450 ,ghc-test-framework-quickcheck2)
7451 ("ghc-test-framework" ,ghc-test-framework)
7452 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7453 (home-page "https://github.com/simonmar/monad-par")
7454 (synopsis "Haskell library for parallel programming based on a monad")
7455 (description "The @code{Par} monad offers an API for parallel
7456 programming. The library works for parallelising both pure and @code{IO}
7457 computations, although only the pure version is deterministic. The default
7458 implementation provides a work-stealing scheduler and supports forking tasks
7459 that are much lighter weight than IO-threads.")
7460 (license license:bsd-3)))
7461
7462 (define-public ghc-monad-par-extras
7463 (package
7464 (name "ghc-monad-par-extras")
7465 (version "0.3.3")
7466 (source
7467 (origin
7468 (method url-fetch)
7469 (uri (string-append "https://hackage.haskell.org/package/"
7470 "monad-par-extras-" version "/"
7471 "monad-par-extras-" version ".tar.gz"))
7472 (sha256
7473 (base32
7474 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7475 (build-system haskell-build-system)
7476 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7477 ("ghc-cereal" ,ghc-cereal)
7478 ("ghc-random" ,ghc-random)))
7479 (home-page "https://github.com/simonmar/monad-par")
7480 (synopsis "Combinators and extra features for Par monads for Haskell")
7481 (description "This Haskell package provides additional data structures,
7482 and other added capabilities layered on top of the @code{Par} monad.")
7483 (license license:bsd-3)))
7484
7485 (define-public ghc-monadrandom
7486 (package
7487 (name "ghc-monadrandom")
7488 (version "0.5.1.1")
7489 (source
7490 (origin
7491 (method url-fetch)
7492 (uri (string-append "https://hackage.haskell.org/package/"
7493 "MonadRandom-" version "/"
7494 "MonadRandom-" version ".tar.gz"))
7495 (sha256
7496 (base32
7497 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7498 (build-system haskell-build-system)
7499 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7500 ("ghc-primitive" ,ghc-primitive)
7501 ("ghc-fail" ,ghc-fail)
7502 ("ghc-random" ,ghc-random)))
7503 (home-page "https://github.com/byorgey/MonadRandom")
7504 (synopsis "Random-number generation monad for Haskell")
7505 (description "This Haskell package provides support for computations
7506 which consume random values.")
7507 (license license:bsd-3)))
7508
7509 (define-public ghc-monads-tf
7510 (package
7511 (name "ghc-monads-tf")
7512 (version "0.1.0.3")
7513 (source
7514 (origin
7515 (method url-fetch)
7516 (uri (string-append
7517 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7518 version ".tar.gz"))
7519 (sha256
7520 (base32
7521 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7522 (build-system haskell-build-system)
7523 (home-page "https://hackage.haskell.org/package/monads-tf")
7524 (synopsis "Monad classes, using type families")
7525 (description
7526 "Monad classes using type families, with instances for various monad transformers,
7527 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7528 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7529 the @code{mtl-tf} package.")
7530 (license license:bsd-3)))
7531
7532 (define-public ghc-mono-traversable
7533 (package
7534 (name "ghc-mono-traversable")
7535 (version "1.0.13.0")
7536 (source
7537 (origin
7538 (method url-fetch)
7539 (uri (string-append "https://hackage.haskell.org/package/"
7540 "mono-traversable-" version "/"
7541 "mono-traversable-" version ".tar.gz"))
7542 (sha256
7543 (base32
7544 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
7545 (build-system haskell-build-system)
7546 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7547 ("ghc-hashable" ,ghc-hashable)
7548 ("ghc-vector" ,ghc-vector)
7549 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7550 ("ghc-split" ,ghc-split)))
7551 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7552 ("ghc-hunit" ,ghc-hunit)
7553 ("ghc-quickcheck" ,ghc-quickcheck)
7554 ("ghc-semigroups" ,ghc-semigroups)
7555 ("ghc-foldl" ,ghc-foldl)))
7556 (home-page "https://github.com/snoyberg/mono-traversable")
7557 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7558 containers")
7559 (description "This Haskell package provides Monomorphic variants of the
7560 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7561 basic typeclasses, you understand mono-traversable. In addition to what
7562 you are used to, it adds on an IsSequence typeclass and has code for marking
7563 data structures as non-empty.")
7564 (license license:expat)))
7565
7566 (define-public ghc-monoid-extras
7567 (package
7568 (name "ghc-monoid-extras")
7569 (version "0.5.1")
7570 (source
7571 (origin
7572 (method url-fetch)
7573 (uri (string-append "https://hackage.haskell.org/package/"
7574 "monoid-extras/monoid-extras-" version ".tar.gz"))
7575 (sha256
7576 (base32
7577 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7578 (build-system haskell-build-system)
7579 (inputs
7580 `(("ghc-groups" ,ghc-groups)
7581 ("ghc-semigroups" ,ghc-semigroups)
7582 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7583 (arguments
7584 `(#:cabal-revision
7585 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7586 (home-page "https://hackage.haskell.org/package/monoid-extras")
7587 (synopsis "Various extra monoid-related definitions and utilities")
7588 (description "This package provides various extra monoid-related
7589 definitions and utilities, such as monoid actions, monoid coproducts,
7590 semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7591 \"cut\" monoids.")
7592 (license license:bsd-3)))
7593
7594 (define-public ghc-murmur-hash
7595 (package
7596 (name "ghc-murmur-hash")
7597 (version "0.1.0.9")
7598 (source
7599 (origin
7600 (method url-fetch)
7601 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7602 "/murmur-hash-" version ".tar.gz"))
7603 (sha256
7604 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7605 (build-system haskell-build-system)
7606 (home-page "https://github.com/nominolo/murmur-hash")
7607 (synopsis "MurmurHash2 implementation for Haskell")
7608 (description
7609 "This package provides an implementation of MurmurHash2, a good, fast,
7610 general-purpose, non-cryptographic hashing function. See
7611 @url{https://sites.google.com/site/murmurhash/} for details. This
7612 implementation is pure Haskell, so it might be a bit slower than a C FFI
7613 binding.")
7614 (license license:bsd-3)))
7615
7616 (define-public ghc-mwc-random
7617 (package
7618 (name "ghc-mwc-random")
7619 (version "0.14.0.0")
7620 (source
7621 (origin
7622 (method url-fetch)
7623 (uri (string-append "https://hackage.haskell.org/package/"
7624 "mwc-random-" version "/"
7625 "mwc-random-" version ".tar.gz"))
7626 (sha256
7627 (base32
7628 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
7629 (build-system haskell-build-system)
7630 (inputs
7631 `(("ghc-primitive" ,ghc-primitive)
7632 ("ghc-vector" ,ghc-vector)
7633 ("ghc-math-functions" ,ghc-math-functions)))
7634 (arguments
7635 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7636 (native-inputs
7637 `(("ghc-hunit" ,ghc-hunit)
7638 ("ghc-quickcheck" ,ghc-quickcheck)
7639 ("ghc-test-framework" ,ghc-test-framework)
7640 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7641 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7642 (home-page "https://github.com/bos/mwc-random")
7643 (synopsis "Random number generation library for Haskell")
7644 (description "This Haskell package contains code for generating
7645 high quality random numbers that follow either a uniform or normal
7646 distribution. The generated numbers are suitable for use in
7647 statistical applications.
7648
7649 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7650 multiply-with-carry generator, which has a period of 2^{8222} and
7651 fares well in tests of randomness. It is also extremely fast,
7652 between 2 and 3 times faster than the Mersenne Twister.")
7653 (license license:bsd-3)))
7654
7655 (define-public ghc-nats
7656 (package
7657 (name "ghc-nats")
7658 (version "1.1.2")
7659 (source
7660 (origin
7661 (method url-fetch)
7662 (uri (string-append
7663 "https://hackage.haskell.org/package/nats/nats-"
7664 version
7665 ".tar.gz"))
7666 (sha256
7667 (base32
7668 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7669 (build-system haskell-build-system)
7670 (arguments `(#:haddock? #f))
7671 (inputs
7672 `(("ghc-hashable" ,ghc-hashable)))
7673 (home-page "https://hackage.haskell.org/package/nats")
7674 (synopsis "Natural numbers")
7675 (description "This library provides the natural numbers for Haskell.")
7676 (license license:bsd-3)))
7677
7678 (define-public ghc-nats-bootstrap
7679 (package
7680 (inherit ghc-nats)
7681 (name "ghc-nats-bootstrap")
7682 (inputs
7683 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7684 (properties '((hidden? #t)))))
7685
7686 (define-public ghc-ncurses
7687 (package
7688 (name "ghc-ncurses")
7689 (version "0.2.16")
7690 (source
7691 (origin
7692 (method url-fetch)
7693 (uri (string-append
7694 "https://hackage.haskell.org/package/ncurses/ncurses-"
7695 version ".tar.gz"))
7696 (sha256
7697 (base32
7698 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7699 (build-system haskell-build-system)
7700 (arguments
7701 '(#:phases
7702 (modify-phases %standard-phases
7703 (add-before 'build 'fix-includes
7704 (lambda _
7705 (substitute* '("cbits/hsncurses-shim.h"
7706 "lib/UI/NCurses.chs"
7707 "lib/UI/NCurses/Enums.chs"
7708 "lib/UI/NCurses/Panel.chs")
7709 (("<ncursesw/") "<"))
7710 #t)))
7711 #:cabal-revision
7712 ("1"
7713 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7714 (inputs `(("ncurses" ,ncurses)))
7715 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7716 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7717 (synopsis "Modernised bindings to GNU ncurses")
7718 (description "GNU ncurses is a library for creating command-line application
7719 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7720 ncurses.")
7721 (license license:gpl3)))
7722
7723 (define-public ghc-network
7724 (package
7725 (name "ghc-network")
7726 (version "2.8.0.1")
7727 (outputs '("out" "doc"))
7728 (source
7729 (origin
7730 (method url-fetch)
7731 (uri (string-append
7732 "https://hackage.haskell.org/package/network/network-"
7733 version
7734 ".tar.gz"))
7735 (sha256
7736 (base32
7737 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
7738 (build-system haskell-build-system)
7739 ;; The regression tests depend on an unpublished module.
7740 (arguments `(#:tests? #f))
7741 (native-inputs
7742 `(("ghc-hunit" ,ghc-hunit)
7743 ("ghc-doctest" ,ghc-doctest)
7744 ("ghc-test-framework" ,ghc-test-framework)
7745 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7746 (home-page "https://github.com/haskell/network")
7747 (synopsis "Low-level networking interface")
7748 (description
7749 "This package provides a low-level networking interface.")
7750 (license license:bsd-3)))
7751
7752 (define-public ghc-network-bsd
7753 (package
7754 (name "ghc-network-bsd")
7755 (version "2.8.0.0")
7756 (source
7757 (origin
7758 (method url-fetch)
7759 (uri (string-append "https://hackage.haskell.org/package/"
7760 "network-bsd/network-bsd-" version ".tar.gz"))
7761 (sha256
7762 (base32
7763 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7764 (build-system haskell-build-system)
7765 (inputs
7766 `(("ghc-network" ,ghc-network)))
7767 (home-page "https://github.com/haskell/network-bsd")
7768 (synopsis "POSIX network database (<netdb.h>) API")
7769 (description "This package provides Haskell bindings to the the POSIX
7770 network database (<netdb.h>) API.")
7771 (license license:bsd-3)))
7772
7773 (define-public ghc-network-byte-order
7774 (package
7775 (name "ghc-network-byte-order")
7776 (version "0.1.1.1")
7777 (source
7778 (origin
7779 (method url-fetch)
7780 (uri (string-append "https://hackage.haskell.org/package/"
7781 "network-byte-order/network-byte-order-"
7782 version ".tar.gz"))
7783 (sha256
7784 (base32
7785 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7786 (build-system haskell-build-system)
7787 (native-inputs
7788 `(("ghc-doctest" ,ghc-doctest)))
7789 (home-page "http://hackage.haskell.org/package/network-byte-order")
7790 (synopsis "Network byte order utilities")
7791 (description "This library provides peek and poke functions for network
7792 byte order.")
7793 (license license:bsd-3)))
7794
7795 (define-public ghc-network-info
7796 (package
7797 (name "ghc-network-info")
7798 (version "0.2.0.10")
7799 (source
7800 (origin
7801 (method url-fetch)
7802 (uri (string-append "https://hackage.haskell.org/package/"
7803 "network-info-" version "/"
7804 "network-info-" version ".tar.gz"))
7805 (sha256
7806 (base32
7807 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7808 (build-system haskell-build-system)
7809 (home-page "https://github.com/jystic/network-info")
7810 (synopsis "Access the local computer's basic network configuration")
7811 (description "This Haskell library provides simple read-only access to the
7812 local computer's networking configuration. It is currently capable of
7813 getting a list of all the network interfaces and their respective
7814 IPv4, IPv6 and MAC addresses.")
7815 (license license:bsd-3)))
7816
7817 (define-public ghc-network-uri
7818 (package
7819 (name "ghc-network-uri")
7820 (version "2.6.1.0")
7821 (outputs '("out" "doc"))
7822 (source
7823 (origin
7824 (method url-fetch)
7825 (uri (string-append
7826 "https://hackage.haskell.org/package/network-uri/network-uri-"
7827 version
7828 ".tar.gz"))
7829 (sha256
7830 (base32
7831 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7832 (build-system haskell-build-system)
7833 (arguments
7834 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7835 (inputs
7836 `(("ghc-network" ,ghc-network)))
7837 (native-inputs
7838 `(("ghc-hunit" ,ghc-hunit)))
7839 (home-page
7840 "https://github.com/haskell/network-uri")
7841 (synopsis "Library for URI manipulation")
7842 (description "This package provides an URI manipulation interface. In
7843 @code{network-2.6} the @code{Network.URI} module was split off from the
7844 @code{network} package into this package.")
7845 (license license:bsd-3)))
7846
7847 (define-public ghc-newtype-generics
7848 (package
7849 (name "ghc-newtype-generics")
7850 (version "0.5.4")
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "newtype-generics/newtype-generics-"
7856 version ".tar.gz"))
7857 (sha256
7858 (base32
7859 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
7860 (build-system haskell-build-system)
7861 (native-inputs
7862 `(("ghc-hspec" ,ghc-hspec)
7863 ("hspec-discover" ,hspec-discover)))
7864 (home-page "http://github.com/sjakobi/newtype-generics")
7865 (synopsis "Typeclass and set of functions for working with newtypes")
7866 (description "The @code{Newtype} typeclass represents the packing and
7867 unpacking of a newtype, and allows you to operate under that newtype with
7868 functions such as @code{ala}. Generics support was added in version 0.4,
7869 making this package a full replacement for the original newtype package,
7870 and an alternative to newtype-th.")
7871 (license license:bsd-3)))
7872
7873 (define-public ghc-non-negative
7874 (package
7875 (name "ghc-non-negative")
7876 (version "0.1.2")
7877 (source
7878 (origin
7879 (method url-fetch)
7880 (uri
7881 (string-append
7882 "https://hackage.haskell.org/package/non-negative/non-negative-"
7883 version ".tar.gz"))
7884 (sha256
7885 (base32
7886 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7887 (build-system haskell-build-system)
7888 (inputs
7889 `(("ghc-semigroups" ,ghc-semigroups)
7890 ("ghc-utility-ht" ,ghc-utility-ht)
7891 ("ghc-quickcheck" ,ghc-quickcheck)))
7892 (home-page "https://hackage.haskell.org/package/non-negative")
7893 (synopsis "Non-negative numbers class")
7894 (description "This library provides a class for non-negative numbers,
7895 a wrapper which can turn any ordered numeric type into a member of that
7896 class, and a lazy number type for non-negative numbers (a generalization
7897 of Peano numbers).")
7898 (license license:gpl3+)))
7899
7900 (define-public ghc-numeric-extras
7901 (package
7902 (name "ghc-numeric-extras")
7903 (version "0.1")
7904 (source
7905 (origin
7906 (method url-fetch)
7907 (uri (string-append "https://hackage.haskell.org/package/"
7908 "numeric-extras/numeric-extras-"
7909 version ".tar.gz"))
7910 (sha256
7911 (base32
7912 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7913 (build-system haskell-build-system)
7914 (home-page "https://github.com/ekmett/numeric-extras")
7915 (synopsis "Useful tools from the C standard library")
7916 (description "This library provides some useful tools from the C
7917 standard library.")
7918 (license license:bsd-3)))
7919
7920 (define-public ghc-objectname
7921 (package
7922 (name "ghc-objectname")
7923 (version "1.1.0.1")
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri (string-append
7928 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7929 version
7930 ".tar.gz"))
7931 (sha256
7932 (base32
7933 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7934 (build-system haskell-build-system)
7935 (home-page "https://hackage.haskell.org/package/ObjectName")
7936 (synopsis "Helper library for Haskell OpenGL")
7937 (description "This tiny package contains the class ObjectName, which
7938 corresponds to the general notion of explicitly handled identifiers for API
7939 objects, e.g. a texture object name in OpenGL or a buffer object name in
7940 OpenAL.")
7941 (license license:bsd-3)))
7942
7943 (define-public ghc-old-locale
7944 (package
7945 (name "ghc-old-locale")
7946 (version "1.0.0.7")
7947 (source
7948 (origin
7949 (method url-fetch)
7950 (uri (string-append
7951 "https://hackage.haskell.org/package/old-locale/old-locale-"
7952 version
7953 ".tar.gz"))
7954 (sha256
7955 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7956 (build-system haskell-build-system)
7957 (arguments
7958 `(#:cabal-revision
7959 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7960 (home-page "https://hackage.haskell.org/package/old-locale")
7961 (synopsis "Adapt to locale conventions")
7962 (description
7963 "This package provides the ability to adapt to locale conventions such as
7964 date and time formats.")
7965 (license license:bsd-3)))
7966
7967 (define-public ghc-old-time
7968 (package
7969 (name "ghc-old-time")
7970 (version "1.1.0.3")
7971 (source
7972 (origin
7973 (method url-fetch)
7974 (uri (string-append
7975 "https://hackage.haskell.org/package/old-time/old-time-"
7976 version
7977 ".tar.gz"))
7978 (sha256
7979 (base32
7980 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7981 (build-system haskell-build-system)
7982 (arguments
7983 `(#:cabal-revision
7984 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7985 (inputs
7986 `(("ghc-old-locale" ,ghc-old-locale)))
7987 (home-page "https://hackage.haskell.org/package/old-time")
7988 (synopsis "Time compatibility library for Haskell")
7989 (description "Old-time is a package for backwards compatibility with the
7990 old @code{time} library. For new projects, the newer
7991 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7992 (license license:bsd-3)))
7993
7994 (define-public ghc-opengl
7995 (package
7996 (name "ghc-opengl")
7997 (version "3.0.3.0")
7998 (source
7999 (origin
8000 (method url-fetch)
8001 (uri (string-append
8002 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8003 version
8004 ".tar.gz"))
8005 (sha256
8006 (base32
8007 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
8008 (build-system haskell-build-system)
8009 (arguments
8010 `(#:cabal-revision
8011 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
8012 (inputs
8013 `(("ghc-objectname" ,ghc-objectname)
8014 ("ghc-gluraw" ,ghc-gluraw)
8015 ("ghc-statevar" ,ghc-statevar)
8016 ("ghc-openglraw" ,ghc-openglraw)))
8017 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8018 (synopsis "Haskell bindings for the OpenGL graphics system")
8019 (description "This package provides Haskell bindings for the OpenGL
8020 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8021 version 1.3).")
8022 (license license:bsd-3)))
8023
8024 (define-public ghc-openglraw
8025 (package
8026 (name "ghc-openglraw")
8027 (version "3.3.3.0")
8028 (source
8029 (origin
8030 (method url-fetch)
8031 (uri (string-append
8032 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8033 version
8034 ".tar.gz"))
8035 (sha256
8036 (base32
8037 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
8038 (build-system haskell-build-system)
8039 (inputs
8040 `(("ghc-half" ,ghc-half)
8041 ("ghc-fixed" ,ghc-fixed)
8042 ("glu" ,glu)))
8043 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8044 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8045 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8046 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8047 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8048 offers access to all necessary functions, tokens and types plus a general
8049 facility for loading extension entries. The module hierarchy closely mirrors
8050 the naming structure of the OpenGL extensions, making it easy to find the
8051 right module to import. All API entries are loaded dynamically, so no special
8052 C header files are needed for building this package. If an API entry is not
8053 found at runtime, a userError is thrown.")
8054 (license license:bsd-3)))
8055
8056 (define-public ghc-operational
8057 (package
8058 (name "ghc-operational")
8059 (version "0.2.3.5")
8060 (source
8061 (origin
8062 (method url-fetch)
8063 (uri (string-append "https://hackage.haskell.org/package/operational/"
8064 "operational-" version ".tar.gz"))
8065 (sha256
8066 (base32
8067 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8068 (build-system haskell-build-system)
8069 (inputs
8070 `(("ghc-random" ,ghc-random)))
8071 (home-page "http://wiki.haskell.org/Operational")
8072 (synopsis "Implementation of difficult monads made easy with operational semantics")
8073 (description
8074 "This library makes it easy to implement monads with tricky control
8075 flow. This is useful for: writing web applications in a sequential style,
8076 programming games with a uniform interface for human and AI players and easy
8077 replay capababilities, implementing fast parser monads, designing monadic
8078 DSLs, etc.")
8079 (license license:bsd-3)))
8080
8081 (define-public ghc-options
8082 (package
8083 (name "ghc-options")
8084 (version "1.2.1.1")
8085 (source
8086 (origin
8087 (method url-fetch)
8088 (uri (string-append
8089 "https://hackage.haskell.org/package/options/options-"
8090 version ".tar.gz"))
8091 (sha256
8092 (base32
8093 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8094 (build-system haskell-build-system)
8095 (arguments
8096 `(#:phases
8097 (modify-phases %standard-phases
8098 (add-before 'configure 'update-constraints
8099 (lambda _
8100 (substitute* "options.cabal"
8101 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8102 #t)))))
8103 (inputs
8104 `(("ghc-monads-tf" ,ghc-monads-tf)
8105 ("ghc-chell" ,ghc-chell)
8106 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8107 (home-page "https://john-millikin.com/software/haskell-options/")
8108 (synopsis "Powerful and easy-to-use command-line option parser")
8109 (description
8110 "The @code{options} package lets library and application developers
8111 easily work with command-line options.")
8112 (license license:expat)))
8113
8114 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8115 (define ghc-options-bootstrap
8116 (package
8117 (name "ghc-options-bootstrap")
8118 (version "1.2.1.1")
8119 (source
8120 (origin
8121 (method url-fetch)
8122 (uri (string-append
8123 "https://hackage.haskell.org/package/options/options-"
8124 version ".tar.gz"))
8125 (sha256
8126 (base32
8127 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8128 (build-system haskell-build-system)
8129 (arguments
8130 `(#:tests? #f))
8131 (inputs
8132 `(("ghc-monads-tf" ,ghc-monads-tf)))
8133 (home-page "https://john-millikin.com/software/haskell-options/")
8134 (synopsis "Powerful and easy-to-use command-line option parser")
8135 (description
8136 "The @code{options} package lets library and application developers
8137 easily work with command-line options.")
8138 (license license:expat)))
8139
8140
8141 (define-public ghc-optparse-applicative
8142 (package
8143 (name "ghc-optparse-applicative")
8144 (version "0.14.3.0")
8145 (source
8146 (origin
8147 (method url-fetch)
8148 (uri (string-append
8149 "https://hackage.haskell.org/package/optparse-applicative"
8150 "/optparse-applicative-" version ".tar.gz"))
8151 (sha256
8152 (base32
8153 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
8154 (build-system haskell-build-system)
8155 (arguments
8156 `(#:cabal-revision
8157 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
8158 (inputs
8159 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8160 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8161 (native-inputs
8162 `(("ghc-quickcheck" ,ghc-quickcheck)))
8163 (home-page "https://github.com/pcapriotti/optparse-applicative")
8164 (synopsis "Utilities and combinators for parsing command line options")
8165 (description "This package provides utilities and combinators for parsing
8166 command line options in Haskell.")
8167 (license license:bsd-3)))
8168
8169 (define-public ghc-jira-wiki-markup
8170 (package
8171 (name "ghc-jira-wiki-markup")
8172 (version "1.0.0")
8173 (source
8174 (origin
8175 (method url-fetch)
8176 (uri (string-append
8177 "https://hackage.haskell.org/package/jira-wiki-markup/"
8178 "jira-wiki-markup-" version ".tar.gz"))
8179 (sha256
8180 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8181 (build-system haskell-build-system)
8182 (native-inputs
8183 `(("ghc-tasty" ,ghc-tasty)
8184 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8185 (home-page "https://github.com/tarleb/jira-wiki-markup")
8186 (synopsis "Handle Jira wiki markup")
8187 (description
8188 "Parse jira wiki text into an abstract syntax tree for easy transformation
8189 to other formats.")
8190 (license license:expat)))
8191
8192 (define-public ghc-emojis
8193 (package
8194 (name "ghc-emojis")
8195 (version "0.1")
8196 (source
8197 (origin
8198 (method url-fetch)
8199 (uri (string-append
8200 "https://hackage.haskell.org/package/emojis/"
8201 "emojis-" version ".tar.gz"))
8202 (sha256
8203 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8204 (build-system haskell-build-system)
8205 (native-inputs
8206 `(("ghc-hunit" ,ghc-hunit)))
8207 (home-page "https://github.com/jgm/emojis#readme")
8208 (synopsis "Conversion between emoji characters and their names.")
8209 (description
8210 "This package provides functions for converting emoji names to emoji
8211 characters and vice versa.
8212
8213 How does it differ from the @code{emoji} package?
8214 @itemize
8215 @item It supports a fuller range of emojis, including all those supported by
8216 GitHub
8217 @item It supports lookup of emoji aliases from emoji
8218 @item It uses Text rather than String
8219 @item It has a lighter dependency footprint: in particular, it does not
8220 require aeson
8221 @item It does not require TemplateHaskell
8222 @end itemize")
8223 (license license:bsd-3)))
8224
8225 (define-public ghc-text-conversions
8226 (package
8227 (name "ghc-text-conversions")
8228 (version "0.3.0")
8229 (source
8230 (origin
8231 (method url-fetch)
8232 (uri (string-append
8233 "https://hackage.haskell.org/package/text-conversions/"
8234 "text-conversions-" version ".tar.gz"))
8235 (sha256
8236 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8237 (build-system haskell-build-system)
8238 (inputs
8239 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8240 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8241 ("ghc-errors" ,ghc-errors)))
8242 (native-inputs
8243 `(("ghc-hspec" ,ghc-hspec)
8244 ("hspec-discover" ,hspec-discover)))
8245 (home-page "https://github.com/cjdev/text-conversions#readme")
8246 (synopsis "Safe conversions between textual types")
8247 (description "Safe conversions between textual types")
8248 (license license:isc)))
8249
8250 (define-public ghc-doclayout
8251 (package
8252 (name "ghc-doclayout")
8253 (version "0.3")
8254 (source
8255 (origin
8256 (method url-fetch)
8257 (uri (string-append
8258 "https://hackage.haskell.org/package/doclayout/"
8259 "doclayout-" version ".tar.gz"))
8260 (sha256
8261 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8262 (build-system haskell-build-system)
8263 (inputs
8264 `(("ghc-safe" ,ghc-safe)))
8265 (native-inputs
8266 `(("ghc-tasty" ,ghc-tasty)
8267 ("ghc-tasty-golden" ,ghc-tasty-golden)
8268 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8269 (home-page "https://github.com/jgm/doclayout")
8270 (synopsis "Pretty-printing library for laying out text documents")
8271 (description
8272 "doclayout is a pretty-printing library for laying out text documents,
8273 with several features not present in pretty-printing libraries designed for
8274 code. It was designed for use in @code{Pandoc}.")
8275 (license license:bsd-3)))
8276
8277 (define-public ghc-pandoc
8278 (package
8279 (name "ghc-pandoc")
8280 (version "2.7.3")
8281 (source
8282 (origin
8283 (method url-fetch)
8284 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8285 version ".tar.gz"))
8286 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8287 "ghc-pandoc-fix-latex-test.patch"))
8288 (sha256
8289 (base32
8290 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
8291 (build-system haskell-build-system)
8292 (inputs
8293 `(("ghc-aeson" ,ghc-aeson)
8294 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8295 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8296 ("ghc-blaze-html" ,ghc-blaze-html)
8297 ("ghc-blaze-markup" ,ghc-blaze-markup)
8298 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8299 ("ghc-data-default" ,ghc-data-default)
8300 ("ghc-diff" ,ghc-diff)
8301 ("ghc-doctemplates" ,ghc-doctemplates)
8302 ("ghc-executable-path" ,ghc-executable-path)
8303 ("ghc-glob" ,ghc-glob)
8304 ("ghc-haddock-library" ,ghc-haddock-library)
8305 ("ghc-hslua" ,ghc-hslua)
8306 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
8307 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
8308 ("ghc-hsyaml" ,ghc-hsyaml)
8309 ("ghc-http" ,ghc-http)
8310 ("ghc-http-client" ,ghc-http-client)
8311 ("ghc-http-client-tls" ,ghc-http-client-tls)
8312 ("ghc-http-types" ,ghc-http-types)
8313 ("ghc-ipynb" ,ghc-ipynb)
8314 ("ghc-juicypixels" ,ghc-juicypixels)
8315 ("ghc-network" ,ghc-network)
8316 ("ghc-network-uri" ,ghc-network-uri)
8317 ("ghc-pandoc-types" ,ghc-pandoc-types)
8318 ("ghc-random" ,ghc-random)
8319 ("ghc-scientific" ,ghc-scientific)
8320 ("ghc-sha" ,ghc-sha)
8321 ("ghc-skylighting" ,ghc-skylighting)
8322 ("ghc-split" ,ghc-split)
8323 ("ghc-syb" ,ghc-syb)
8324 ("ghc-tagsoup" ,ghc-tagsoup)
8325 ("ghc-temporary" ,ghc-temporary)
8326 ("ghc-texmath" ,ghc-texmath)
8327 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
8328 ("ghc-unordered-containers" ,ghc-unordered-containers)
8329 ("ghc-vector" ,ghc-vector)
8330 ("ghc-xml" ,ghc-xml)
8331 ("ghc-zip-archive" ,ghc-zip-archive)
8332 ("ghc-zlib" ,ghc-zlib)))
8333 (native-inputs
8334 `(("ghc-tasty" ,ghc-tasty)
8335 ("ghc-tasty-golden" ,ghc-tasty-golden)
8336 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8337 ("ghc-tasty-lua" ,ghc-tasty-lua)
8338 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8339 ("ghc-quickcheck" ,ghc-quickcheck)
8340 ("ghc-hunit" ,ghc-hunit)))
8341 (home-page "https://pandoc.org")
8342 (synopsis "Conversion between markup formats")
8343 (description
8344 "Pandoc is a Haskell library for converting from one markup format to
8345 another, and a command-line tool that uses this library. It can read and
8346 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8347 LaTeX, DocBook, and many more.
8348
8349 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8350 definition lists, tables, and other features. A compatibility mode is
8351 provided for those who need a drop-in replacement for Markdown.pl.")
8352 (license license:gpl2+)))
8353
8354 (define-public ghc-pandoc-citeproc
8355 (package
8356 (name "ghc-pandoc-citeproc")
8357 (version "0.16.2")
8358 (source
8359 (origin
8360 (method url-fetch)
8361 (uri (string-append "https://hackage.haskell.org/package/"
8362 "pandoc-citeproc/pandoc-citeproc-"
8363 version ".tar.gz"))
8364 (sha256
8365 (base32
8366 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
8367 (build-system haskell-build-system)
8368 (arguments
8369 `(#:phases
8370 (modify-phases %standard-phases
8371 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8372 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8373 (add-before 'configure 'patch-tests
8374 (lambda _
8375 (substitute* "tests/test-pandoc-citeproc.hs"
8376 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8377 "let allTests = citeprocTests"))))
8378 ;; Tests need to be run after installation.
8379 (delete 'check)
8380 (add-after 'install 'post-install-check
8381 (assoc-ref %standard-phases 'check)))))
8382 (inputs
8383 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8384 ("ghc-pandoc" ,ghc-pandoc)
8385 ("ghc-tagsoup" ,ghc-tagsoup)
8386 ("ghc-aeson" ,ghc-aeson)
8387 ("ghc-vector" ,ghc-vector)
8388 ("ghc-xml-conduit" ,ghc-xml-conduit)
8389 ("ghc-unordered-containers" ,ghc-unordered-containers)
8390 ("ghc-data-default" ,ghc-data-default)
8391 ("ghc-setenv" ,ghc-setenv)
8392 ("ghc-split" ,ghc-split)
8393 ("ghc-yaml" ,ghc-yaml)
8394 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8395 ("ghc-rfc5051" ,ghc-rfc5051)
8396 ("ghc-syb" ,ghc-syb)
8397 ("ghc-old-locale" ,ghc-old-locale)
8398 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8399 ("ghc-attoparsec" ,ghc-attoparsec)
8400 ("ghc-temporary" ,ghc-temporary)))
8401 (home-page "https://github.com/jgm/pandoc-citeproc")
8402 (synopsis "Library for using pandoc with citeproc")
8403 (description
8404 "The @code{pandoc-citeproc} library exports functions for using the
8405 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8406 rendering bibliographic reference citations into a variety of styles using a
8407 macro language called @dfn{Citation Style Language} (CSL). This package also
8408 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8409 and also has a mode for converting bibliographic databases a YAML format
8410 suitable for inclusion in pandoc YAML metadata.")
8411 (license license:bsd-3)))
8412
8413 (define-public ghc-pandoc-types
8414 (package
8415 (name "ghc-pandoc-types")
8416 (version "1.17.6.1")
8417 (source (origin
8418 (method url-fetch)
8419 (uri (string-append "https://hackage.haskell.org/package/"
8420 "pandoc-types/pandoc-types-"
8421 version ".tar.gz"))
8422 (sha256
8423 (base32
8424 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
8425 (build-system haskell-build-system)
8426 (inputs
8427 `(("ghc-syb" ,ghc-syb)
8428 ("ghc-aeson" ,ghc-aeson)
8429 ("ghc-string-qq" ,ghc-string-qq)))
8430 (native-inputs
8431 `(("ghc-quickcheck" ,ghc-quickcheck)
8432 ("ghc-test-framework" ,ghc-test-framework)
8433 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8434 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8435 ("ghc-hunit" ,ghc-hunit)))
8436 (home-page "http://johnmacfarlane.net/pandoc")
8437 (synopsis "Types for representing a structured document")
8438 (description
8439 "This module defines the @code{Pandoc} data structure, which is used by
8440 pandoc to represent structured documents. It also provides functions for
8441 building up, manipulating and serialising @code{Pandoc} structures.")
8442 (license license:bsd-3)))
8443
8444 (define-public ghc-parallel
8445 (package
8446 (name "ghc-parallel")
8447 (version "3.2.2.0")
8448 (outputs '("out" "doc"))
8449 (source
8450 (origin
8451 (method url-fetch)
8452 (uri (string-append
8453 "https://hackage.haskell.org/package/parallel/parallel-"
8454 version
8455 ".tar.gz"))
8456 (sha256
8457 (base32
8458 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8459 (build-system haskell-build-system)
8460 (home-page "https://hackage.haskell.org/package/parallel")
8461 (synopsis "Parallel programming library")
8462 (description
8463 "This package provides a library for parallel programming.")
8464 (license license:bsd-3)))
8465
8466 (define-public ghc-parsec-numbers
8467 (package
8468 (name "ghc-parsec-numbers")
8469 (version "0.1.0")
8470 (source
8471 (origin
8472 (method url-fetch)
8473 (uri (string-append "https://hackage.haskell.org/package/"
8474 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8475 (sha256
8476 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8477 (build-system haskell-build-system)
8478 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8479 (synopsis "Utilities for parsing numbers from strings")
8480 (description
8481 "This package provides the number parsers without the need to use a large
8482 (and unportable) token parser.")
8483 (license license:bsd-3)))
8484
8485 (define-public ghc-parser-combinators
8486 (package
8487 (name "ghc-parser-combinators")
8488 (version "1.1.0")
8489 (source
8490 (origin
8491 (method url-fetch)
8492 (uri (string-append "https://hackage.haskell.org/package/"
8493 "parser-combinators/parser-combinators-"
8494 version ".tar.gz"))
8495 (sha256
8496 (base32
8497 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
8498 (build-system haskell-build-system)
8499 (home-page "https://github.com/mrkkrp/parser-combinators")
8500 (synopsis "Commonly useful parser combinators")
8501 (description
8502 "This is a lightweight package providing commonly useful parser
8503 combinators.")
8504 (license license:bsd-3)))
8505
8506 (define-public ghc-parsers
8507 (package
8508 (name "ghc-parsers")
8509 (version "0.12.10")
8510 (source
8511 (origin
8512 (method url-fetch)
8513 (uri (string-append
8514 "https://hackage.haskell.org/package/parsers/parsers-"
8515 version
8516 ".tar.gz"))
8517 (sha256
8518 (base32
8519 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
8520 (build-system haskell-build-system)
8521 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8522 ; -package attoparsec-0.13.0.1"
8523 (inputs
8524 `(("ghc-base-orphans" ,ghc-base-orphans)
8525 ("ghc-attoparsec" ,ghc-attoparsec)
8526 ("ghc-scientific" ,ghc-scientific)
8527 ("ghc-charset" ,ghc-charset)
8528 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8529 (home-page "https://github.com/ekmett/parsers/")
8530 (synopsis "Parsing combinators")
8531 (description "This library provides convenient combinators for working
8532 with and building parsing combinator libraries. Given a few simple instances,
8533 you get access to a large number of canned definitions. Instances exist for
8534 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8535 @code{Text.Read}.")
8536 (license license:bsd-3)))
8537
8538 (define-public ghc-path
8539 (package
8540 (name "ghc-path")
8541 (version "0.6.1")
8542 (source
8543 (origin
8544 (method url-fetch)
8545 (uri (string-append
8546 "https://hackage.haskell.org/package/path/path-"
8547 version
8548 ".tar.gz"))
8549 (sha256
8550 (base32
8551 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8552 (build-system haskell-build-system)
8553 (arguments
8554 ;; TODO: There are some Windows-related tests and modules that need to be
8555 ;; danced around.
8556 `(#:tests? #f
8557 #:cabal-revision
8558 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8559 (inputs
8560 `(("ghc-aeson" ,ghc-aeson)
8561 ("ghc-exceptions" ,ghc-exceptions)
8562 ("ghc-hashable" ,ghc-hashable)))
8563 (native-inputs
8564 `(("ghc-hspec" ,ghc-hspec)
8565 ("ghc-quickcheck" ,ghc-quickcheck)
8566 ("ghc-genvalidity" ,ghc-genvalidity)
8567 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8568 ("ghc-hspec" ,ghc-hspec)
8569 ("ghc-validity" ,ghc-validity)))
8570 (home-page
8571 "http://hackage.haskell.org/package/path")
8572 (synopsis "Support for well-typed paths")
8573 (description "This package introduces a type for paths upholding useful
8574 invariants.")
8575 (license license:bsd-3)))
8576
8577 (define-public ghc-path-io
8578 (package
8579 (name "ghc-path-io")
8580 (version "1.4.2")
8581 (source
8582 (origin
8583 (method url-fetch)
8584 (uri (string-append
8585 "https://hackage.haskell.org/package/path-io/path-io-"
8586 version
8587 ".tar.gz"))
8588 (sha256
8589 (base32
8590 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
8591 (build-system haskell-build-system)
8592 (inputs
8593 `(("ghc-dlist" ,ghc-dlist)
8594 ("ghc-exceptions" ,ghc-exceptions)
8595 ("ghc-path" ,ghc-path)
8596 ("ghc-transformers-base" ,ghc-transformers-base)
8597 ("ghc-unix-compat" ,ghc-unix-compat)
8598 ("ghc-temporary" ,ghc-temporary)))
8599 (native-inputs
8600 `(("ghc-hspec" ,ghc-hspec)))
8601 (home-page
8602 "https://github.com/mrkkrp/path-io")
8603 (synopsis "Functions for manipulating well-typed paths")
8604 (description "This package provides an interface to the @code{directory}
8605 package for users of @code{path}. It also implements some missing stuff like
8606 recursive scanning and copying of directories, working with temporary
8607 files/directories, and more.")
8608 (license license:bsd-3)))
8609
8610 (define-public ghc-paths
8611 (package
8612 (name "ghc-paths")
8613 (version "0.1.0.12")
8614 (outputs '("out" "doc"))
8615 (source
8616 (origin
8617 (method url-fetch)
8618 (uri (string-append
8619 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8620 version
8621 ".tar.gz"))
8622 (sha256
8623 (base32
8624 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
8625 (build-system haskell-build-system)
8626 (home-page "https://github.com/simonmar/ghc-paths")
8627 (synopsis
8628 "Knowledge of GHC's installation directories")
8629 (description
8630 "Knowledge of GHC's installation directories.")
8631 (license license:bsd-3)))
8632
8633 (define-public ghc-patience
8634 (package
8635 (name "ghc-patience")
8636 (version "0.3")
8637 (source
8638 (origin
8639 (method url-fetch)
8640 (uri (string-append
8641 "https://hackage.haskell.org/package/patience/patience-"
8642 version ".tar.gz"))
8643 (sha256
8644 (base32
8645 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
8646 (build-system haskell-build-system)
8647 (home-page "https://hackage.haskell.org/package/patience")
8648 (synopsis "Patience diff and longest increasing subsequence")
8649 (description
8650 "This library implements the 'patience diff' algorithm, as well as the
8651 patience algorithm for the longest increasing subsequence problem.
8652 Patience diff computes the difference between two lists, for example the lines
8653 of two versions of a source file. It provides a good balance between
8654 performance, nice output for humans, and simplicity of implementation.")
8655 (license license:bsd-3)))
8656
8657 (define-public ghc-pcre-light
8658 (package
8659 (name "ghc-pcre-light")
8660 (version "0.4.0.4")
8661 (source
8662 (origin
8663 (method url-fetch)
8664 (uri (string-append
8665 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8666 version
8667 ".tar.gz"))
8668 (sha256
8669 (base32
8670 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8671 (build-system haskell-build-system)
8672 (inputs
8673 `(("pcre" ,pcre)))
8674 (native-inputs
8675 `(("pkg-config" ,pkg-config)))
8676 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8677 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8678 (description "This package provides a small, efficient, and portable regex
8679 library for Perl 5 compatible regular expressions. The PCRE library is a set
8680 of functions that implement regular expression pattern matching using the same
8681 syntax and semantics as Perl 5.")
8682 (license license:bsd-3)))
8683
8684 (define-public ghc-persistent
8685 (package
8686 (name "ghc-persistent")
8687 (version "2.9.2")
8688 (source
8689 (origin
8690 (method url-fetch)
8691 (uri (string-append "https://hackage.haskell.org/package/"
8692 "persistent-" version "/"
8693 "persistent-" version ".tar.gz"))
8694 (sha256
8695 (base32
8696 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
8697 (build-system haskell-build-system)
8698 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8699 ("ghc-conduit" ,ghc-conduit)
8700 ("ghc-resourcet" ,ghc-resourcet)
8701 ("ghc-exceptions" ,ghc-exceptions)
8702 ("ghc-monad-control" ,ghc-monad-control)
8703 ("ghc-lifted-base" ,ghc-lifted-base)
8704 ("ghc-resource-pool" ,ghc-resource-pool)
8705 ("ghc-path-pieces" ,ghc-path-pieces)
8706 ("ghc-http-api-data" ,ghc-http-api-data)
8707 ("ghc-aeson" ,ghc-aeson)
8708 ("ghc-monad-logger" ,ghc-monad-logger)
8709 ("ghc-transformers-base" ,ghc-transformers-base)
8710 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8711 ("ghc-unordered-containers" ,ghc-unordered-containers)
8712 ("ghc-vector" ,ghc-vector)
8713 ("ghc-attoparsec" ,ghc-attoparsec)
8714 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8715 ("ghc-blaze-html" ,ghc-blaze-html)
8716 ("ghc-blaze-markup" ,ghc-blaze-markup)
8717 ("ghc-silently" ,ghc-silently)
8718 ("ghc-fast-logger" ,ghc-fast-logger)
8719 ("ghc-scientific" ,ghc-scientific)
8720 ("ghc-tagged" ,ghc-tagged)
8721 ("ghc-void" ,ghc-void)))
8722 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8723 (home-page "https://www.yesodweb.com/book/persistent")
8724 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8725 (description "This Haskell package allows Haskell programs to access data
8726 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8727 way.")
8728 (license license:expat)))
8729
8730 (define-public ghc-persistent-sqlite
8731 (package
8732 (name "ghc-persistent-sqlite")
8733 (version "2.9.3")
8734 (source
8735 (origin
8736 (method url-fetch)
8737 (uri (string-append "https://hackage.haskell.org/package/"
8738 "persistent-sqlite-" version "/"
8739 "persistent-sqlite-" version ".tar.gz"))
8740 (sha256
8741 (base32
8742 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
8743 (build-system haskell-build-system)
8744 (inputs `(("ghc-persistent" ,ghc-persistent)
8745 ("ghc-unliftio-core" ,ghc-unliftio-core)
8746 ("ghc-aeson" ,ghc-aeson)
8747 ("ghc-conduit" ,ghc-conduit)
8748 ("ghc-monad-logger" ,ghc-monad-logger)
8749 ("ghc-microlens-th" ,ghc-microlens-th)
8750 ("ghc-resourcet" ,ghc-resourcet)
8751 ("ghc-old-locale" ,ghc-old-locale)
8752 ("ghc-resource-pool" ,ghc-resource-pool)
8753 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8754 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8755 ("ghc-persistent-template" ,ghc-persistent-template)
8756 ("ghc-temporary" ,ghc-temporary)))
8757 (home-page
8758 "https://www.yesodweb.com/book/persistent")
8759 (synopsis "Backend for the persistent library using sqlite3")
8760 (description "This Haskell package includes a thin sqlite3 wrapper based
8761 on the direct-sqlite package, as well as the entire C library, so there are no
8762 system dependencies.")
8763 (license license:expat)))
8764
8765 (define-public ghc-persistent-template
8766 (package
8767 (name "ghc-persistent-template")
8768 (version "2.6.0")
8769 (source
8770 (origin
8771 (method url-fetch)
8772 (uri (string-append "https://hackage.haskell.org/package/"
8773 "persistent-template-" version "/"
8774 "persistent-template-" version ".tar.gz"))
8775 (sha256
8776 (base32
8777 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
8778 (build-system haskell-build-system)
8779 (inputs `(("ghc-persistent" ,ghc-persistent)
8780 ("ghc-monad-control" ,ghc-monad-control)
8781 ("ghc-aeson" ,ghc-aeson)
8782 ("ghc-aeson-compat" ,ghc-aeson-compat)
8783 ("ghc-monad-logger" ,ghc-monad-logger)
8784 ("ghc-unordered-containers" ,ghc-unordered-containers)
8785 ("ghc-tagged" ,ghc-tagged)
8786 ("ghc-path-pieces" ,ghc-path-pieces)
8787 ("ghc-http-api-data" ,ghc-http-api-data)))
8788 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8789 ("ghc-quickcheck" ,ghc-quickcheck)))
8790 (home-page "https://www.yesodweb.com/book/persistent")
8791 (synopsis "Type-safe, non-relational, multi-backend persistence")
8792 (description "This Haskell package provides interfaces and helper
8793 functions for the ghc-persistent package.")
8794 (license license:expat)))
8795
8796 (define-public ghc-pipes
8797 (package
8798 (name "ghc-pipes")
8799 (version "4.3.13")
8800 (source
8801 (origin
8802 (method url-fetch)
8803 (uri (string-append
8804 "https://hackage.haskell.org/package/pipes/"
8805 "pipes-" version ".tar.gz"))
8806 (sha256
8807 (base32
8808 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8809 (build-system haskell-build-system)
8810 (inputs
8811 `(("ghc-exceptions" ,ghc-exceptions)
8812 ("ghc-mmorph" ,ghc-mmorph)
8813 ("ghc-void" ,ghc-void)
8814 ("ghc-semigroups" ,ghc-semigroups)))
8815 (native-inputs
8816 `(("ghc-quickcheck" ,ghc-quickcheck)
8817 ("ghc-test-framework" ,ghc-test-framework)
8818 ("ghc-test-framework-quickcheck2"
8819 ,ghc-test-framework-quickcheck2)))
8820 (home-page
8821 "https://hackage.haskell.org/package/pipes")
8822 (synopsis "Compositional pipelines")
8823 (description
8824 "A clean and powerful stream processing library that lets you build
8825 and connect reusable streaming components. Advantages over traditional streaming
8826 libraries:
8827 @itemize
8828 @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8829 and @code{yield}
8830 @item Blazing fast: Implementation tuned for speed, including shortcut fusion
8831 @item Lightweight Dependency: pipes is small and compiles very rapidly, including
8832 dependencies
8833 @item Elegant semantics: Use practical category theory
8834 @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8835 @item Bidirectionality: Implement duplex channels
8836 @end itemize")
8837 (license license:bsd-3)))
8838
8839 (define-public ghc-pointedlist
8840 (package
8841 (name "ghc-pointedlist")
8842 (version "0.6.1")
8843 (source
8844 (origin
8845 (method url-fetch)
8846 (uri (string-append
8847 "https://hackage.haskell.org/package/pointedlist/"
8848 "pointedlist-" version ".tar.gz"))
8849 (sha256
8850 (base32
8851 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8852 (build-system haskell-build-system)
8853 (home-page
8854 "http://hackage.haskell.org/package/pointedlist")
8855 (synopsis
8856 "Zipper-like comonad which works as a list, tracking a position")
8857 (description
8858 "A PointedList tracks the position in a non-empty list which works
8859 similarly to a zipper. A current item is always required, and therefore
8860 the list may never be empty. A circular PointedList wraps around to the
8861 other end when progressing past the actual edge.")
8862 (license license:bsd-3)))
8863
8864 (define-public ghc-polyparse
8865 (package
8866 (name "ghc-polyparse")
8867 (version "1.12.1")
8868 (source
8869 (origin
8870 (method url-fetch)
8871 (uri (string-append
8872 "https://hackage.haskell.org/package/polyparse/polyparse-"
8873 version
8874 ".tar.gz"))
8875 (sha256
8876 (base32
8877 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
8878 (build-system haskell-build-system)
8879 (home-page
8880 "http://code.haskell.org/~malcolm/polyparse/")
8881 (synopsis
8882 "Alternative parser combinator libraries")
8883 (description
8884 "This package provides a variety of alternative parser combinator
8885 libraries, including the original HuttonMeijer set. The Poly sets have
8886 features like good error reporting, arbitrary token type, running state, lazy
8887 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8888 standard Read class, for better deserialisation of Haskell values from
8889 Strings.")
8890 (license license:lgpl2.1)))
8891
8892 (define-public ghc-pqueue
8893 (package
8894 (name "ghc-pqueue")
8895 (version "1.4.1.2")
8896 (source
8897 (origin
8898 (method url-fetch)
8899 (uri (string-append "https://hackage.haskell.org/package/"
8900 "pqueue/pqueue-" version ".tar.gz"))
8901 (sha256
8902 (base32
8903 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
8904 (build-system haskell-build-system)
8905 (native-inputs
8906 `(("ghc-quickcheck" ,ghc-quickcheck)))
8907 (home-page "https://hackage.haskell.org/package/pqueue")
8908 (synopsis "Reliable, persistent, fast priority queues")
8909 (description
8910 "This package provides a fast, reliable priority queue implementation
8911 based on a binomial heap.")
8912 (license license:bsd-3)))
8913
8914 (define-public ghc-prelude-extras
8915 (package
8916 (name "ghc-prelude-extras")
8917 (version "0.4.0.3")
8918 (source
8919 (origin
8920 (method url-fetch)
8921 (uri (string-append
8922 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8923 version
8924 ".tar.gz"))
8925 (sha256
8926 (base32
8927 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8928 (build-system haskell-build-system)
8929 (home-page "https://github.com/ekmett/prelude-extras")
8930 (synopsis "Higher order versions of Prelude classes")
8931 (description "This library provides higher order versions of
8932 @code{Prelude} classes to ease programming with polymorphic recursion and
8933 reduce @code{UndecidableInstances}.")
8934 (license license:bsd-3)))
8935
8936 (define-public ghc-prettyclass
8937 (package
8938 (name "ghc-prettyclass")
8939 (version "1.0.0.0")
8940 (source
8941 (origin
8942 (method url-fetch)
8943 (uri (string-append "https://hackage.haskell.org/package/"
8944 "prettyclass/prettyclass-" version ".tar.gz"))
8945 (sha256
8946 (base32
8947 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8948 (build-system haskell-build-system)
8949 (home-page "http://hackage.haskell.org/package/prettyclass")
8950 (synopsis "Pretty printing class similar to Show")
8951 (description "This package provides a pretty printing class similar
8952 to @code{Show}, based on the HughesPJ pretty printing library. It
8953 provides the pretty printing class and instances for the Prelude
8954 types.")
8955 (license license:bsd-3)))
8956
8957 (define-public ghc-pretty-hex
8958 (package
8959 (name "ghc-pretty-hex")
8960 (version "1.0")
8961 (source
8962 (origin
8963 (method url-fetch)
8964 (uri (string-append "https://hackage.haskell.org/package/"
8965 "pretty-hex-" version "/"
8966 "pretty-hex-" version ".tar.gz"))
8967 (sha256
8968 (base32
8969 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8970 (build-system haskell-build-system)
8971 (home-page "https://github.com/GaloisInc/hexdump")
8972 (synopsis "Haskell library for hex dumps of ByteStrings")
8973 (description "This Haskell library generates pretty hex dumps of
8974 ByteStrings in the style of other common *nix hex dump tools.")
8975 (license license:bsd-3)))
8976
8977 (define-public ghc-pretty-show
8978 (package
8979 (name "ghc-pretty-show")
8980 (version "1.9.5")
8981 (source
8982 (origin
8983 (method url-fetch)
8984 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8985 "pretty-show-" version ".tar.gz"))
8986 (sha256
8987 (base32
8988 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
8989 (build-system haskell-build-system)
8990 (inputs
8991 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8992 ("ghc-happy" ,ghc-happy)))
8993 (home-page "http://wiki.github.com/yav/pretty-show")
8994 (synopsis "Tools for working with derived `Show` instances")
8995 (description
8996 "This package provides a library and an executable for working with
8997 derived @code{Show} instances. By using the library, derived @code{Show}
8998 instances can be parsed into a generic data structure. The @code{ppsh} tool
8999 uses the library to produce human-readable versions of @code{Show} instances,
9000 which can be quite handy for debugging Haskell programs. We can also render
9001 complex generic values into an interactive Html page, for easier
9002 examination.")
9003 (license license:expat)))
9004
9005 (define-public ghc-primitive
9006 (package
9007 (name "ghc-primitive")
9008 (version "0.6.4.0")
9009 (outputs '("out" "doc"))
9010 (source
9011 (origin
9012 (method url-fetch)
9013 (uri (string-append
9014 "https://hackage.haskell.org/package/primitive/primitive-"
9015 version
9016 ".tar.gz"))
9017 (sha256
9018 (base32
9019 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9020 (build-system haskell-build-system)
9021 (arguments
9022 `(#:cabal-revision
9023 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
9024 (home-page
9025 "https://github.com/haskell/primitive")
9026 (synopsis "Primitive memory-related operations")
9027 (description
9028 "This package provides various primitive memory-related operations.")
9029 (license license:bsd-3)))
9030
9031 (define-public ghc-process-extras
9032 (package
9033 (name "ghc-process-extras")
9034 (version "0.7.4")
9035 (source
9036 (origin
9037 (method url-fetch)
9038 (uri
9039 (string-append
9040 "https://hackage.haskell.org/package/process-extras/"
9041 "process-extras-" version ".tar.gz"))
9042 (sha256
9043 (base32
9044 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9045 (build-system haskell-build-system)
9046 (inputs
9047 `(("ghc-data-default" ,ghc-data-default)
9048 ("ghc-generic-deriving" ,ghc-generic-deriving)
9049 ("ghc-hunit" ,ghc-hunit)
9050 ("ghc-listlike" ,ghc-listlike)))
9051 (home-page "https://github.com/seereason/process-extras")
9052 (synopsis "Extra tools for managing processes")
9053 (description "This package extends
9054 @url{http://hackage.haskell.org/package/process}. It allows you to read
9055 process input and output as ByteStrings or Text, or write your own
9056 ProcessOutput instance. It also provides lazy process input and output,
9057 and a ProcessMaker class for more flexibility in the process creation
9058 API.")
9059 (license license:expat)))
9060
9061 (define-public ghc-profunctors
9062 (package
9063 (name "ghc-profunctors")
9064 (version "5.3")
9065 (source
9066 (origin
9067 (method url-fetch)
9068 (uri (string-append
9069 "https://hackage.haskell.org/package/profunctors/profunctors-"
9070 version
9071 ".tar.gz"))
9072 (sha256
9073 (base32
9074 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
9075 (build-system haskell-build-system)
9076 (inputs
9077 `(("ghc-base-orphans" ,ghc-base-orphans)
9078 ("ghc-bifunctors" ,ghc-bifunctors)
9079 ("ghc-comonad" ,ghc-comonad)
9080 ("ghc-contravariant" ,ghc-contravariant)
9081 ("ghc-distributive" ,ghc-distributive)
9082 ("ghc-semigroups" ,ghc-semigroups)
9083 ("ghc-tagged" ,ghc-tagged)))
9084 (home-page "https://github.com/ekmett/profunctors/")
9085 (synopsis "Profunctors for Haskell")
9086 (description "This library provides profunctors for Haskell.")
9087 (license license:bsd-3)))
9088
9089 (define-public ghc-psqueues
9090 (package
9091 (name "ghc-psqueues")
9092 (version "0.2.7.2")
9093 (source
9094 (origin
9095 (method url-fetch)
9096 (uri (string-append "https://hackage.haskell.org/package/"
9097 "psqueues-" version "/"
9098 "psqueues-" version ".tar.gz"))
9099 (sha256
9100 (base32
9101 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
9102 (build-system haskell-build-system)
9103 (inputs
9104 `(("ghc-hashable" ,ghc-hashable)))
9105 (native-inputs
9106 `(("ghc-hunit" ,ghc-hunit)
9107 ("ghc-quickcheck" ,ghc-quickcheck)
9108 ("ghc-tagged" ,ghc-tagged)
9109 ("ghc-tasty" ,ghc-tasty)
9110 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9111 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9112 (home-page "https://github.com/jaspervdj/psqueues")
9113 (synopsis "Pure priority search queues")
9114 (description "The psqueues package provides
9115 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9116 three different flavors:
9117
9118 @itemize
9119 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9120 fast insertion, deletion and lookup. This implementation is based on Ralf
9121 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9122 Implementation Technique for Priority Search Queues}.
9123
9124 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9125 PSQueue} library, although it is considerably faster and provides a slightly
9126 different API.
9127
9128 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9129 key type to @code{Int} and uses a
9130 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9131 with an additional min-heap property.
9132
9133 @item @code{HashPSQ k p v} is a fairly straightforward extension
9134 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9135 @code{IntPSQ}. If there are any hash collisions, it uses an
9136 @code{OrdPSQ} to resolve those. The performance of this implementation
9137 is comparable to that of @code{IntPSQ}, but it is more widely
9138 applicable since the keys are not restricted to @code{Int},
9139 but rather to any @code{Hashable} datatype.
9140 @end itemize
9141
9142 Each of the three implementations provides the same API, so they can
9143 be used interchangeably.
9144
9145 Typical applications of Priority Search Queues include:
9146
9147 @itemize
9148 @item Caches, and more specifically LRU Caches;
9149 @item Schedulers;
9150 @item Pathfinding algorithms, such as Dijkstra's and A*.
9151 @end itemize")
9152 (license license:bsd-3)))
9153
9154 (define-public ghc-random
9155 (package
9156 (name "ghc-random")
9157 (version "1.1")
9158 (outputs '("out" "doc"))
9159 (source
9160 (origin
9161 (method url-fetch)
9162 (uri (string-append
9163 "https://hackage.haskell.org/package/random/random-"
9164 version
9165 ".tar.gz"))
9166 (sha256
9167 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9168 (build-system haskell-build-system)
9169 (home-page "https://hackage.haskell.org/package/random")
9170 (synopsis "Random number library")
9171 (description "This package provides a basic random number generation
9172 library, including the ability to split random number generators.")
9173 (license license:bsd-3)))
9174
9175 (define-public ghc-raw-strings-qq
9176 (package
9177 (name "ghc-raw-strings-qq")
9178 (version "1.1")
9179 (source
9180 (origin
9181 (method url-fetch)
9182 (uri (string-append "https://hackage.haskell.org/package/"
9183 "raw-strings-qq/raw-strings-qq-"
9184 version ".tar.gz"))
9185 (sha256
9186 (base32
9187 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9188 (build-system haskell-build-system)
9189 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9190 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9191 (synopsis "Raw string literals for Haskell")
9192 (description
9193 "This package provides a quasiquoter for raw string literals, i.e. string
9194 literals that don't recognise the standard escape sequences. Basically, they
9195 make your code more readable by freeing you from the responsibility to escape
9196 backslashes. They are useful when working with regular expressions,
9197 DOS/Windows paths and markup languages (such as XML).")
9198 (license license:bsd-3)))
9199
9200 (define-public ghc-readable
9201 (package
9202 (name "ghc-readable")
9203 (version "0.3.1")
9204 (source
9205 (origin
9206 (method url-fetch)
9207 (uri (string-append "https://hackage.haskell.org/package/"
9208 "readable/readable-" version ".tar.gz"))
9209 (sha256
9210 (base32
9211 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9212 (build-system haskell-build-system)
9213 (home-page "https://github.com/mightybyte/readable")
9214 (synopsis "Type class for reading from Text and ByteString")
9215 (description "This package provides a @code{Readable} type class for
9216 reading data types from @code{ByteString} and @code{Text}. It also
9217 includes efficient implementations for common data types.")
9218 (license license:bsd-3)))
9219
9220 (define-public ghc-rebase
9221 (package
9222 (name "ghc-rebase")
9223 (version "1.3.1.1")
9224 (source
9225 (origin
9226 (method url-fetch)
9227 (uri (string-append "https://hackage.haskell.org/package/"
9228 "rebase-" version "/"
9229 "rebase-" version ".tar.gz"))
9230 (sha256
9231 (base32
9232 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
9233 (build-system haskell-build-system)
9234 (inputs `(("ghc-hashable" ,ghc-hashable)
9235 ("ghc-vector" ,ghc-vector)
9236 ("ghc-unordered-containers" ,ghc-unordered-containers)
9237 ("ghc-scientific" ,ghc-scientific)
9238 ("ghc-uuid" ,ghc-uuid)
9239 ("ghc-dlist" ,ghc-dlist)
9240 ("ghc-void" ,ghc-void)
9241 ("ghc-bifunctors" ,ghc-bifunctors)
9242 ("ghc-profunctors" ,ghc-profunctors)
9243 ("ghc-contravariant" ,ghc-contravariant)
9244 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9245 ("ghc-semigroups" ,ghc-semigroups)
9246 ("ghc-either" ,ghc-either)
9247 ("ghc-fail" ,ghc-fail)
9248 ("ghc-base-prelude" ,ghc-base-prelude)))
9249 (home-page "https://github.com/nikita-volkov/rebase")
9250 (synopsis "Progressive alternative to the base package
9251 for Haskell")
9252 (description "This Haskell package is intended for those who are
9253 tired of keeping long lists of dependencies to the same essential libraries
9254 in each package as well as the endless imports of the same APIs all over again.
9255
9256 It also supports the modern tendencies in the language.
9257
9258 To solve those problems this package does the following:
9259
9260 @itemize
9261 @item Reexport the original APIs under the @code{Rebase} namespace.
9262
9263 @item Export all the possible non-conflicting symbols from the
9264 @code{Rebase.Prelude} module.
9265
9266 @item Give priority to the modern practices in the conflicting cases.
9267 @end itemize
9268
9269 The policy behind the package is only to reexport the non-ambiguous and
9270 non-controversial APIs, which the community has obviously settled on.
9271 The package is intended to rapidly evolve with the contribution from
9272 the community, with the missing features being added with pull-requests.")
9273 (license license:expat)))
9274
9275 (define-public ghc-reducers
9276 (package
9277 (name "ghc-reducers")
9278 (version "3.12.3")
9279 (source
9280 (origin
9281 (method url-fetch)
9282 (uri (string-append
9283 "https://hackage.haskell.org/package/reducers/reducers-"
9284 version
9285 ".tar.gz"))
9286 (sha256
9287 (base32
9288 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9289 (build-system haskell-build-system)
9290 (inputs
9291 `(("ghc-fingertree" ,ghc-fingertree)
9292 ("ghc-hashable" ,ghc-hashable)
9293 ("ghc-unordered-containers" ,ghc-unordered-containers)
9294 ("ghc-semigroupoids" ,ghc-semigroupoids)
9295 ("ghc-semigroups" ,ghc-semigroups)))
9296 (home-page "https://github.com/ekmett/reducers/")
9297 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9298 (description "This library provides various semigroups, specialized
9299 containers and a general map/reduce framework for Haskell.")
9300 (license license:bsd-3)))
9301
9302 (define-public ghc-refact
9303 (package
9304 (name "ghc-refact")
9305 (version "0.3.0.2")
9306 (source
9307 (origin
9308 (method url-fetch)
9309 (uri (string-append "https://hackage.haskell.org/package/"
9310 "refact/refact-"
9311 version ".tar.gz"))
9312 (sha256
9313 (base32
9314 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9315 (build-system haskell-build-system)
9316 (home-page "http://hackage.haskell.org/package/refact")
9317 (synopsis "Specify refactorings to perform with apply-refact")
9318 (description
9319 "This library provides a datatype which can be interpreted by
9320 @code{apply-refact}. It exists as a separate library so that applications can
9321 specify refactorings without depending on GHC.")
9322 (license license:bsd-3)))
9323
9324 (define-public ghc-reflection
9325 (package
9326 (name "ghc-reflection")
9327 (version "2.1.5")
9328 (source
9329 (origin
9330 (method url-fetch)
9331 (uri (string-append
9332 "https://hackage.haskell.org/package/reflection/reflection-"
9333 version
9334 ".tar.gz"))
9335 (sha256
9336 (base32
9337 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
9338 (build-system haskell-build-system)
9339 (inputs `(("ghc-tagged" ,ghc-tagged)))
9340 (native-inputs
9341 `(("ghc-hspec" ,ghc-hspec)
9342 ("ghc-quickcheck" ,ghc-quickcheck)
9343 ("hspec-discover" ,hspec-discover)))
9344 (home-page "https://github.com/ekmett/reflection")
9345 (synopsis "Reify arbitrary terms into types that can be reflected back
9346 into terms")
9347 (description "This package addresses the 'configuration problem' which is
9348 propagating configurations that are available at run-time, allowing multiple
9349 configurations to coexist without resorting to mutable global variables or
9350 @code{System.IO.Unsafe.unsafePerformIO}.")
9351 (license license:bsd-3)))
9352
9353 (define-public ghc-regex
9354 (package
9355 (name "ghc-regex")
9356 (version "1.0.2.0")
9357 (source
9358 (origin
9359 (method url-fetch)
9360 (uri (string-append "https://hackage.haskell.org/package/regex/"
9361 "regex-" version ".tar.gz"))
9362 (sha256
9363 (base32
9364 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
9365 (build-system haskell-build-system)
9366 (arguments
9367 `(#:phases
9368 (modify-phases %standard-phases
9369 (add-after 'unpack 'relax-dependencies
9370 (lambda _
9371 (substitute* "regex.cabal"
9372 (("base-compat.*>=.*0.6.*")
9373 "base-compat >= 0.6\n")
9374 (("template-haskell.*>=.*2.7.*")
9375 "template-haskell >= 2.7\n"))
9376 #t)))))
9377 (inputs
9378 `(("ghc-base-compat" ,ghc-base-compat)
9379 ("ghc-hashable" ,ghc-hashable)
9380 ("ghc-regex-base" ,ghc-regex-base)
9381 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9382 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9383 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9384 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9385 ("ghc-unordered-containers" ,ghc-unordered-containers)
9386 ("ghc-utf8-string" ,ghc-utf8-string)))
9387 (home-page "http://regex.uk")
9388 (synopsis "Toolkit for regex-base")
9389 (description
9390 "This package provides a regular expression toolkit for @code{regex-base}
9391 with compile-time checking of regular expression syntax, data types for
9392 matches and captures, a text replacement toolkit, portable options, high-level
9393 AWK-like tools for building text processing apps, regular expression macros
9394 with parsers and test bench, comprehensive documentation, tutorials and
9395 copious examples.")
9396 (license license:bsd-3)))
9397
9398 (define-public ghc-regex-applicative
9399 (package
9400 (name "ghc-regex-applicative")
9401 (version "0.3.3.1")
9402 (source
9403 (origin
9404 (method url-fetch)
9405 (uri (string-append
9406 "https://hackage.haskell.org/package/regex-applicative/"
9407 "regex-applicative-" version ".tar.gz"))
9408 (sha256
9409 (base32
9410 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
9411 (build-system haskell-build-system)
9412 (inputs
9413 `(("ghc-smallcheck" ,ghc-smallcheck)
9414 ("ghc-tasty" ,ghc-tasty)
9415 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9416 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9417 (home-page "https://github.com/feuerbach/regex-applicative")
9418 (synopsis "Regex-based parsing with applicative interface")
9419 (description
9420 "@code{regex-applicative} is a Haskell library for parsing using
9421 regular expressions. Parsers can be built using Applicative interface.")
9422 (license license:expat)))
9423
9424 (define-public ghc-regex-base
9425 (package
9426 (name "ghc-regex-base")
9427 (version "0.93.2")
9428 (source
9429 (origin
9430 (method url-fetch)
9431 (uri (string-append
9432 "https://hackage.haskell.org/package/regex-base/regex-base-"
9433 version
9434 ".tar.gz"))
9435 (sha256
9436 (base32
9437 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9438 (build-system haskell-build-system)
9439 (home-page
9440 "https://sourceforge.net/projects/lazy-regex")
9441 (synopsis "Replaces/Enhances Text.Regex")
9442 (description "@code{Text.Regex.Base} provides the interface API for
9443 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9444 (license license:bsd-3)))
9445
9446 (define-public ghc-regex-compat
9447 (package
9448 (name "ghc-regex-compat")
9449 (version "0.95.1")
9450 (source
9451 (origin
9452 (method url-fetch)
9453 (uri (string-append
9454 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9455 version
9456 ".tar.gz"))
9457 (sha256
9458 (base32
9459 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9460 (build-system haskell-build-system)
9461 (inputs
9462 `(("ghc-regex-base" ,ghc-regex-base)
9463 ("ghc-regex-posix" ,ghc-regex-posix)))
9464 (home-page "https://sourceforge.net/projects/lazy-regex")
9465 (synopsis "Replaces/Enhances Text.Regex")
9466 (description "This library provides one module layer over
9467 @code{regex-posix} to replace @code{Text.Regex}.")
9468 (license license:bsd-3)))
9469
9470 (define-public ghc-regex-compat-tdfa
9471 (package
9472 (name "ghc-regex-compat-tdfa")
9473 (version "0.95.1.4")
9474 (source
9475 (origin
9476 (method url-fetch)
9477 (uri (string-append
9478 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9479 version ".tar.gz"))
9480 (sha256
9481 (base32
9482 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9483 (build-system haskell-build-system)
9484 (inputs
9485 `(("ghc-regex-base" ,ghc-regex-base)
9486 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9487 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9488 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9489 (description
9490 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9491 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9492 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9493 this problem.")
9494 (license license:bsd-3)))
9495
9496 (define-public ghc-regex-pcre-builtin
9497 (package
9498 (name "ghc-regex-pcre-builtin")
9499 (version "0.94.5.8.8.35")
9500 (source (origin
9501 (method url-fetch)
9502 (uri (string-append "https://hackage.haskell.org/package/"
9503 "regex-pcre-builtin/regex-pcre-builtin-"
9504 version ".tar.gz"))
9505 (sha256
9506 (base32
9507 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
9508 (build-system haskell-build-system)
9509 (inputs
9510 `(("ghc-regex-base" ,ghc-regex-base)))
9511 (home-page "https://hackage.haskell.org/package/regex-pcre")
9512 (synopsis "Enhancement of the builtin Text.Regex library")
9513 (description
9514 "This package is an enhancement of the @code{Text.Regex} library,
9515 providing the PCRE backend to accompany regex-base, with bundled code from
9516 @url{https://www.pcre.org}.")
9517 (license license:bsd-3)))
9518
9519 (define-public ghc-regex-posix
9520 (package
9521 (name "ghc-regex-posix")
9522 (version "0.95.2")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append
9527 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9528 version
9529 ".tar.gz"))
9530 (sha256
9531 (base32
9532 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9533 (build-system haskell-build-system)
9534 (inputs
9535 `(("ghc-regex-base" ,ghc-regex-base)))
9536 (home-page "https://sourceforge.net/projects/lazy-regex")
9537 (synopsis "POSIX regular expressions for Haskell")
9538 (description "This library provides the POSIX regex backend used by the
9539 Haskell library @code{regex-base}.")
9540 (license license:bsd-3)))
9541
9542 (define-public ghc-regex-tdfa
9543 (package
9544 (name "ghc-regex-tdfa")
9545 (version "1.2.3.2")
9546 (source
9547 (origin
9548 (method url-fetch)
9549 (uri (string-append
9550 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9551 version ".tar.gz"))
9552 (sha256
9553 (base32
9554 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
9555 (build-system haskell-build-system)
9556 (inputs
9557 `(("ghc-regex-base" ,ghc-regex-base)))
9558 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9559 (synopsis "POSIX extended regular expressions in Haskell.")
9560 (description
9561 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9562 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9563 inspired by libtre.")
9564 (license license:bsd-3)))
9565
9566 (define-public ghc-regex-tdfa-text
9567 (package
9568 (name "ghc-regex-tdfa-text")
9569 (version "1.0.0.3")
9570 (source
9571 (origin
9572 (method url-fetch)
9573 (uri (string-append
9574 "https://hackage.haskell.org/package/regex-tdfa-text/"
9575 "regex-tdfa-text-" version ".tar.gz"))
9576 (sha256
9577 (base32
9578 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9579 (build-system haskell-build-system)
9580 (inputs
9581 `(("ghc-regex-base" ,ghc-regex-base)
9582 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9583 (home-page
9584 "http://hackage.haskell.org/package/regex-tdfa-text")
9585 (synopsis "Text interface for regex-tdfa")
9586 (description
9587 "This provides an extra text interface for regex-tdfa.")
9588 (license license:bsd-3)))
9589
9590 (define-public ghc-rerebase
9591 (package
9592 (name "ghc-rerebase")
9593 (version "1.3.1.1")
9594 (source
9595 (origin
9596 (method url-fetch)
9597 (uri (string-append
9598 "https://hackage.haskell.org/package/rerebase/rerebase-"
9599 version ".tar.gz"))
9600 (sha256
9601 (base32
9602 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
9603 (build-system haskell-build-system)
9604 (inputs
9605 `(("ghc-rebase" ,ghc-rebase)))
9606 (home-page "https://github.com/nikita-volkov/rerebase")
9607 (synopsis "Reexports from ``base'' with many other standard libraries")
9608 (description "A rich drop-in replacement for @code{base}. For details and
9609 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9610 the project's home page}.")
9611 (license license:expat)))
9612
9613 (define-public ghc-resolv
9614 (package
9615 (name "ghc-resolv")
9616 (version "0.1.1.2")
9617 (source
9618 (origin
9619 (method url-fetch)
9620 (uri (string-append
9621 "https://hackage.haskell.org/package/resolv/resolv-"
9622 version ".tar.gz"))
9623 (sha256
9624 (base32
9625 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
9626 (build-system haskell-build-system)
9627 (arguments
9628 `(#:phases
9629 (modify-phases %standard-phases
9630 (add-before 'configure 'update-constraints
9631 (lambda _
9632 (substitute* "resolv.cabal"
9633 (("tasty >= 1\\.1 && < 1\\.2")
9634 "tasty >= 1.1 && < 1.3"))
9635 #t)))))
9636 (inputs
9637 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
9638 (native-inputs
9639 `(("ghc-tasty" ,ghc-tasty)
9640 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9641 (home-page "https://github.com/haskell/hackage-security")
9642 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9643 (description "This package implements an API for accessing the
9644 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9645 resolver service via the standard @code{libresolv} system library (whose
9646 API is often available directly via the standard @code{libc} C library) on
9647 Unix systems.")
9648 (license license:gpl3)))
9649
9650 (define-public ghc-resource-pool
9651 (package
9652 (name "ghc-resource-pool")
9653 (version "0.2.3.2")
9654 (source
9655 (origin
9656 (method url-fetch)
9657 (uri (string-append "https://hackage.haskell.org/package/"
9658 "resource-pool-" version "/"
9659 "resource-pool-" version ".tar.gz"))
9660 (sha256
9661 (base32
9662 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9663 (build-system haskell-build-system)
9664 (inputs `(("ghc-hashable" ,ghc-hashable)
9665 ("ghc-monad-control" ,ghc-monad-control)
9666 ("ghc-transformers-base" ,ghc-transformers-base)
9667 ("ghc-vector" ,ghc-vector)))
9668 (home-page "https://github.com/bos/pool")
9669 (synopsis "Striped resource pooling implementation in Haskell")
9670 (description "This Haskell package provides striped pooling abstraction
9671 for managing flexibly-sized collections of resources such as database
9672 connections.")
9673 (license license:bsd-3)))
9674
9675 (define-public ghc-resourcet
9676 (package
9677 (name "ghc-resourcet")
9678 (version "1.2.2")
9679 (source
9680 (origin
9681 (method url-fetch)
9682 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9683 "resourcet-" version ".tar.gz"))
9684 (sha256
9685 (base32
9686 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
9687 (build-system haskell-build-system)
9688 (inputs
9689 `(("ghc-transformers-base" ,ghc-transformers-base)
9690 ("ghc-monad-control" ,ghc-monad-control)
9691 ("ghc-transformers-compat" ,ghc-transformers-compat)
9692 ("ghc-mmorph" ,ghc-mmorph)
9693 ("ghc-exceptions" ,ghc-exceptions)
9694 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9695 (native-inputs
9696 `(("ghc-lifted-base" ,ghc-lifted-base)
9697 ("ghc-hspec" ,ghc-hspec)))
9698 (home-page "https://github.com/snoyberg/conduit")
9699 (synopsis "Deterministic allocation and freeing of scarce resources")
9700 (description "ResourceT is a monad transformer which creates a region of
9701 code where you can safely allocate resources.")
9702 (license license:bsd-3)))
9703
9704 (define-public ghc-retry
9705 (package
9706 (name "ghc-retry")
9707 (version "0.8.1.0")
9708 (source
9709 (origin
9710 (method url-fetch)
9711 (uri (string-append "https://hackage.haskell.org/package/"
9712 "retry/retry-" version ".tar.gz"))
9713 (sha256
9714 (base32
9715 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9716 (build-system haskell-build-system)
9717 (inputs
9718 `(("ghc-exceptions" ,ghc-exceptions)
9719 ("ghc-random" ,ghc-random)))
9720 (native-inputs
9721 `(("ghc-hunit" ,ghc-hunit)
9722 ("ghc-tasty" ,ghc-tasty)
9723 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9724 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9725 ("ghc-hedgehog" ,ghc-hedgehog)))
9726 (home-page "http://github.com/Soostone/retry")
9727 (synopsis "Retry combinators for monadic actions that may fail")
9728 (description "This package exposes combinators that can wrap
9729 arbitrary monadic actions. They run the action and potentially retry
9730 running it with some configurable delay for a configurable number of
9731 times. The purpose is to make it easier to work with IO and especially
9732 network IO actions that often experience temporary failure and warrant
9733 retrying of the original action. For example, a database query may time
9734 out for a while, in which case we should hang back for a bit and retry
9735 the query instead of simply raising an exception.")
9736 (license license:bsd-3)))
9737
9738 (define-public ghc-rfc5051
9739 (package
9740 (name "ghc-rfc5051")
9741 (version "0.1.0.4")
9742 (source
9743 (origin
9744 (method url-fetch)
9745 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9746 "rfc5051-" version ".tar.gz"))
9747 (sha256
9748 (base32
9749 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
9750 (build-system haskell-build-system)
9751 (home-page "https://hackage.haskell.org/package/rfc5051")
9752 (synopsis "Simple unicode collation as per RFC5051")
9753 (description
9754 "This library implements @code{unicode-casemap}, the simple, non
9755 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9756 unicode collation can be done using @code{text-icu}, but that is a big
9757 dependency that depends on a large C library, and @code{rfc5051} might be
9758 better for some purposes.")
9759 (license license:bsd-3)))
9760
9761 (define-public ghc-rio
9762 (package
9763 (name "ghc-rio")
9764 (version "0.1.12.0")
9765 (source
9766 (origin
9767 (method url-fetch)
9768 (uri (string-append
9769 "https://hackage.haskell.org/package/rio/rio-"
9770 version ".tar.gz"))
9771 (sha256
9772 (base32
9773 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
9774 (build-system haskell-build-system)
9775 (inputs
9776 `(("ghc-exceptions" ,ghc-exceptions)
9777 ("ghc-hashable" ,ghc-hashable)
9778 ("ghc-microlens" ,ghc-microlens)
9779 ("ghc-primitive" ,ghc-primitive)
9780 ("ghc-typed-process" ,ghc-typed-process)
9781 ("ghc-unliftio" ,ghc-unliftio)
9782 ("ghc-unordered-containers" ,ghc-unordered-containers)
9783 ("ghc-vector" ,ghc-vector)))
9784 (native-inputs
9785 `(("ghc-hspec" ,ghc-hspec)
9786 ("hspec-discover" ,hspec-discover)))
9787 (home-page "https://github.com/commercialhaskell/rio#readme")
9788 (synopsis "A standard library for Haskell")
9789 (description "This package works as a prelude replacement for Haskell,
9790 providing more functionality and types out of the box than the standard
9791 prelude (such as common data types like @code{ByteString} and
9792 @code{Text}), as well as removing common ``gotchas'', like partial
9793 functions and lazy I/O. The guiding principle here is:
9794 @itemize
9795 @item If something is safe to use in general and has no expected naming
9796 conflicts, expose it.
9797 @item If something should not always be used, or has naming conflicts,
9798 expose it from another module in the hierarchy.
9799 @end itemize")
9800 (license license:expat)))
9801
9802 (define-public ghc-safe
9803 (package
9804 (name "ghc-safe")
9805 (version "0.3.17")
9806 (source
9807 (origin
9808 (method url-fetch)
9809 (uri (string-append
9810 "https://hackage.haskell.org/package/safe/safe-"
9811 version
9812 ".tar.gz"))
9813 (sha256
9814 (base32
9815 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9816 (build-system haskell-build-system)
9817 (native-inputs
9818 `(("ghc-quickcheck" ,ghc-quickcheck)))
9819 (home-page "https://github.com/ndmitchell/safe#readme")
9820 (synopsis "Library of safe (exception free) functions")
9821 (description "This library provides wrappers around @code{Prelude} and
9822 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9823 exceptions.")
9824 (license license:bsd-3)))
9825
9826 (define-public ghc-safe-exceptions
9827 (package
9828 (name "ghc-safe-exceptions")
9829 (version "0.1.7.0")
9830 (source
9831 (origin
9832 (method url-fetch)
9833 (uri (string-append "https://hackage.haskell.org/package/"
9834 "safe-exceptions/safe-exceptions-"
9835 version ".tar.gz"))
9836 (sha256
9837 (base32
9838 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9839 (build-system haskell-build-system)
9840 (arguments
9841 '(#:cabal-revision
9842 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9843 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9844 (native-inputs
9845 `(("ghc-hspec" ,ghc-hspec)
9846 ("ghc-void" ,ghc-void)
9847 ("hspec-discover" ,hspec-discover)))
9848 (home-page "https://github.com/fpco/safe-exceptions")
9849 (synopsis "Safe, consistent, and easy exception handling")
9850 (description "Runtime exceptions - as exposed in @code{base} by the
9851 @code{Control.Exception} module - have long been an intimidating part of the
9852 Haskell ecosystem. This package is intended to overcome this. It provides a
9853 safe and simple API on top of the existing exception handling machinery. The
9854 API is equivalent to the underlying implementation in terms of power but
9855 encourages best practices to minimize the chances of getting the exception
9856 handling wrong.")
9857 (license license:expat)))
9858
9859 (define-public ghc-safeio
9860 (package
9861 (name "ghc-safeio")
9862 (version "0.0.5.0")
9863 (source
9864 (origin
9865 (method url-fetch)
9866 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9867 "safeio-" version ".tar.gz"))
9868 (sha256
9869 (base32
9870 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9871 (build-system haskell-build-system)
9872 (inputs
9873 `(("ghc-conduit" ,ghc-conduit)
9874 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9875 ("ghc-exceptions" ,ghc-exceptions)
9876 ("ghc-resourcet" ,ghc-resourcet)))
9877 (native-inputs
9878 `(("ghc-hunit" ,ghc-hunit)
9879 ("ghc-test-framework" ,ghc-test-framework)
9880 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9881 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9882 (home-page "https://github.com/luispedro/safeio")
9883 (synopsis "Write output to disk atomically")
9884 (description
9885 "This package implements utilities to perform atomic output so as to
9886 avoid the problem of partial intermediate files.")
9887 (license license:expat)))
9888
9889 (define-public ghc-safesemaphore
9890 (package
9891 (name "ghc-safesemaphore")
9892 (version "0.10.1")
9893 (source
9894 (origin
9895 (method url-fetch)
9896 (uri (string-append "https://hackage.haskell.org/package/"
9897 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9898 (sha256
9899 (base32
9900 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9901 (build-system haskell-build-system)
9902 (native-inputs
9903 `(("ghc-hunit" ,ghc-hunit)))
9904 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9905 (synopsis "Exception safe semaphores")
9906 (description "This library provides exception safe semaphores that can be
9907 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9908 are not exception safe and can be broken by @code{killThread}.")
9909 (license license:bsd-3)))
9910
9911 (define-public ghc-sandi
9912 (package
9913 (name "ghc-sandi")
9914 (version "0.5")
9915 (source
9916 (origin
9917 (method url-fetch)
9918 (uri (string-append
9919 "https://hackage.haskell.org/package/sandi/sandi-"
9920 version ".tar.gz"))
9921 (sha256
9922 (base32
9923 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
9924 (build-system haskell-build-system)
9925 (inputs
9926 `(("ghc-stringsearch" ,ghc-stringsearch)
9927 ("ghc-conduit" ,ghc-conduit)
9928 ("ghc-exceptions" ,ghc-exceptions)
9929 ("ghc-hunit" ,ghc-hunit)
9930 ("ghc-tasty" ,ghc-tasty)
9931 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9932 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9933 ("ghc-tasty-th" ,ghc-tasty-th)))
9934 (home-page "https://hackage.haskell.org/package/sandi")
9935 (synopsis "Data encoding library")
9936 (description "Reasonably fast data encoding library.")
9937 (license license:bsd-3)))
9938
9939 (define-public ghc-say
9940 (package
9941 (name "ghc-say")
9942 (version "0.1.0.1")
9943 (source
9944 (origin
9945 (method url-fetch)
9946 (uri (string-append
9947 "https://hackage.haskell.org/package/say/say-"
9948 version
9949 ".tar.gz"))
9950 (sha256
9951 (base32
9952 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
9953 (build-system haskell-build-system)
9954 (native-inputs
9955 `(("ghc-hspec" ,ghc-hspec)
9956 ("hspec-discover" ,hspec-discover)
9957 ("ghc-unliftio" ,ghc-unliftio)))
9958 (home-page "https://github.com/fpco/say")
9959 (synopsis
9960 "Send textual messages to a Handle in a thread-friendly way")
9961 (description
9962 "A thread safe API to write a line of textual data to a Handle, such
9963 as sending some messages to the terminal - that has the following properties:
9964 @itemize
9965 @item Properly handle character encoding settings on the Handle
9966 @item For reasonably sized messages, ensure that the entire message is written
9967 in one chunk to avoid interleaving data with other threads
9968 @item Avoid unnecessary memory allocations and copies
9969 @item Minimize locking.
9970 @end itemize")
9971 (license license:expat)))
9972
9973 (define-public ghc-scientific
9974 (package
9975 (name "ghc-scientific")
9976 (version "0.3.6.2")
9977 (source
9978 (origin
9979 (method url-fetch)
9980 (uri (string-append
9981 "https://hackage.haskell.org/package/scientific/scientific-"
9982 version
9983 ".tar.gz"))
9984 (sha256
9985 (base32
9986 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9987 (build-system haskell-build-system)
9988 (inputs
9989 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9990 ("ghc-hashable" ,ghc-hashable)
9991 ("ghc-primitive" ,ghc-primitive)))
9992 (native-inputs
9993 `(("ghc-tasty" ,ghc-tasty)
9994 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9995 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9996 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9997 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9998 ("ghc-smallcheck" ,ghc-smallcheck)
9999 ("ghc-quickcheck" ,ghc-quickcheck)))
10000 (home-page "https://github.com/basvandijk/scientific")
10001 (synopsis "Numbers represented using scientific notation")
10002 (description "This package provides @code{Data.Scientific}, which provides
10003 the number type @code{Scientific}. Scientific numbers are arbitrary precision
10004 and space efficient. They are represented using
10005 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10006 notation}.")
10007 (license license:bsd-3)))
10008
10009 (define-public ghc-scientific-bootstrap
10010 (package
10011 (inherit ghc-scientific)
10012 (name "ghc-scientific-bootstrap")
10013 (arguments `(#:tests? #f))
10014 (inputs
10015 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10016 ("ghc-hashable" ,ghc-hashable)
10017 ("ghc-primitive" ,ghc-primitive)))
10018 (native-inputs '())
10019 (properties '((hidden? #t)))))
10020
10021 (define-public ghc-sdl
10022 (package
10023 (name "ghc-sdl")
10024 (version "0.6.7.0")
10025 (source
10026 (origin
10027 (method url-fetch)
10028 (uri (string-append
10029 "https://hackage.haskell.org/package/SDL/SDL-"
10030 version
10031 ".tar.gz"))
10032 (sha256
10033 (base32
10034 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10035 (build-system haskell-build-system)
10036 (inputs
10037 `(("sdl" ,sdl)))
10038 (home-page "https://hackage.haskell.org/package/SDL")
10039 (synopsis "LibSDL for Haskell")
10040 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10041 multimedia library designed to provide low level access to audio, keyboard,
10042 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10043 by MPEG playback software, emulators, and many popular games, including the
10044 award winning Linux port of \"Civilization: Call To Power.\"")
10045 (license license:bsd-3)))
10046
10047 (define-public ghc-sdl2
10048 (package
10049 (name "ghc-sdl2")
10050 (version "2.5.0.0")
10051 (source
10052 (origin
10053 (method url-fetch)
10054 (uri (string-append "https://hackage.haskell.org/package/"
10055 "sdl2/sdl2-" version ".tar.gz"))
10056 (sha256
10057 (base32
10058 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
10059 (build-system haskell-build-system)
10060 (arguments '(#:tests? #f)) ; tests require graphical environment
10061 (inputs
10062 `(("ghc-exceptions" ,ghc-exceptions)
10063 ("ghc-linear" ,ghc-linear)
10064 ("ghc-statevar" ,ghc-statevar)
10065 ("ghc-vector" ,ghc-vector)
10066 ("sdl2" ,sdl2)))
10067 (native-inputs
10068 `(("ghc-weigh" ,ghc-weigh)
10069 ("pkg-config" ,pkg-config)))
10070 (home-page "https://hackage.haskell.org/package/sdl2")
10071 (synopsis "High- and low-level bindings to the SDL library")
10072 (description
10073 "This package contains bindings to the SDL 2 library, in both high- and
10074 low-level forms. The @code{SDL} namespace contains high-level bindings, where
10075 enumerations are split into sum types, and we perform automatic
10076 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10077 translation of the C API into Haskell FFI calls. As such, this does not
10078 contain sum types nor error checking. Thus this namespace is suitable for
10079 building your own abstraction over SDL, but is not recommended for day-to-day
10080 programming.")
10081 (license license:bsd-3)))
10082
10083 (define-public ghc-sdl2-image
10084 (package
10085 (name "ghc-sdl2-image")
10086 (version "2.0.0")
10087 (source
10088 (origin
10089 (method url-fetch)
10090 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10091 "sdl2-image-" version ".tar.gz"))
10092 (sha256
10093 (base32
10094 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10095 (build-system haskell-build-system)
10096 (inputs
10097 `(("ghc-sdl2" ,ghc-sdl2)
10098 ("sdl2-image" ,sdl2-image)))
10099 (native-inputs
10100 `(("pkg-config" ,pkg-config)))
10101 (home-page "http://hackage.haskell.org/package/sdl2-image")
10102 (synopsis "Bindings to SDL2_image")
10103 (description "This package provides Haskell bindings to
10104 @code{SDL2_image}.")
10105 (license license:expat)))
10106
10107 (define-public ghc-sdl2-mixer
10108 (package
10109 (name "ghc-sdl2-mixer")
10110 (version "1.1.0")
10111 (source
10112 (origin
10113 (method url-fetch)
10114 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10115 "sdl2-mixer-" version ".tar.gz"))
10116 (sha256
10117 (base32
10118 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10119 (build-system haskell-build-system)
10120 (inputs
10121 `(("ghc-data-default-class" ,ghc-data-default-class)
10122 ("ghc-lifted-base" ,ghc-lifted-base)
10123 ("ghc-monad-control" ,ghc-monad-control)
10124 ("ghc-sdl2" ,ghc-sdl2)
10125 ("ghc-vector" ,ghc-vector)
10126 ("sdl2-mixer" ,sdl2-mixer)))
10127 (native-inputs
10128 `(("pkg-config" ,pkg-config)))
10129 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
10130 (synopsis "Bindings to SDL2 mixer")
10131 (description "This package provides Haskell bindings to
10132 @code{SDL2_mixer}.")
10133 (license license:bsd-3)))
10134
10135 (define-public ghc-sdl-image
10136 (package
10137 (name "ghc-sdl-image")
10138 (version "0.6.2.0")
10139 (source
10140 (origin
10141 (method url-fetch)
10142 (uri (string-append
10143 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10144 version
10145 ".tar.gz"))
10146 (sha256
10147 (base32
10148 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10149 (build-system haskell-build-system)
10150 (arguments
10151 `(#:configure-flags
10152 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10153 (sdl-image-include (string-append sdl-image "/include/SDL")))
10154 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10155 (inputs
10156 `(("ghc-sdl" ,ghc-sdl)
10157 ("sdl-image" ,sdl-image)))
10158 (home-page "https://hackage.haskell.org/package/SDL-image")
10159 (synopsis "Haskell bindings to libSDL_image")
10160 (description "SDL_image is an image file loading library. It loads images
10161 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10162 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10163 (license license:bsd-3)))
10164
10165 (define-public ghc-sdl-mixer
10166 (package
10167 (name "ghc-sdl-mixer")
10168 (version "0.6.3.0")
10169 (source
10170 (origin
10171 (method url-fetch)
10172 (uri (string-append
10173 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10174 version
10175 ".tar.gz"))
10176 (sha256
10177 (base32
10178 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10179 (build-system haskell-build-system)
10180 (arguments
10181 `(#:configure-flags
10182 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10183 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10184 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10185 (inputs
10186 `(("ghc-sdl" ,ghc-sdl)
10187 ("sdl-mixer" ,sdl-mixer)))
10188 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10189 (synopsis "Haskell bindings to libSDL_mixer")
10190 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10191 supports any number of simultaneously playing channels of 16 bit stereo audio,
10192 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10193 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10194 (license license:bsd-3)))
10195
10196 (define-public ghc-securemem
10197 (package
10198 (name "ghc-securemem")
10199 (version "0.1.10")
10200 (source
10201 (origin
10202 (method url-fetch)
10203 (uri (string-append "https://hackage.haskell.org/package/"
10204 "securemem-" version "/"
10205 "securemem-" version ".tar.gz"))
10206 (sha256
10207 (base32
10208 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10209 (build-system haskell-build-system)
10210 (inputs `(("ghc-byteable" ,ghc-byteable)
10211 ("ghc-memory" ,ghc-memory)))
10212 (home-page "https://github.com/vincenthz/hs-securemem")
10213 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10214 Haskell")
10215 (description "SecureMem is similar to ByteString, except that it provides
10216 a memory chunk that will be auto-scrubbed after it run out of scope.")
10217 (license license:bsd-3)))
10218
10219 (define-public ghc-semigroupoids
10220 (package
10221 (name "ghc-semigroupoids")
10222 (version "5.3.3")
10223 (source
10224 (origin
10225 (method url-fetch)
10226 (uri (string-append
10227 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10228 version
10229 ".tar.gz"))
10230 (sha256
10231 (base32
10232 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
10233 (build-system haskell-build-system)
10234 (inputs
10235 `(("ghc-base-orphans" ,ghc-base-orphans)
10236 ("ghc-transformers-compat" ,ghc-transformers-compat)
10237 ("ghc-bifunctors" ,ghc-bifunctors)
10238 ("ghc-comonad" ,ghc-comonad)
10239 ("ghc-contravariant" ,ghc-contravariant)
10240 ("ghc-distributive" ,ghc-distributive)
10241 ("ghc-hashable" ,ghc-hashable)
10242 ("ghc-semigroups" ,ghc-semigroups)
10243 ("ghc-tagged" ,ghc-tagged)
10244 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10245 (native-inputs
10246 `(("cabal-doctest" ,cabal-doctest)
10247 ("ghc-doctest" ,ghc-doctest)))
10248 (home-page "https://github.com/ekmett/semigroupoids")
10249 (synopsis "Semigroupoids operations for Haskell")
10250 (description "This library provides a wide array of (semi)groupoids and
10251 operations for working with them. A @code{Semigroupoid} is a @code{Category}
10252 without the requirement of identity arrows for every object in the category.
10253 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10254 Finally, to work with these weaker structures it is beneficial to have
10255 containers that can provide stronger guarantees about their contents, so
10256 versions of @code{Traversable} and @code{Foldable} that can be folded with
10257 just a @code{Semigroup} are added.")
10258 (license license:bsd-3)))
10259
10260 (define-public ghc-semigroups
10261 (package
10262 (name "ghc-semigroups")
10263 (version "0.18.5")
10264 (source
10265 (origin
10266 (method url-fetch)
10267 (uri (string-append
10268 "https://hackage.haskell.org/package/semigroups/semigroups-"
10269 version
10270 ".tar.gz"))
10271 (sha256
10272 (base32
10273 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10274 (build-system haskell-build-system)
10275 (inputs
10276 `(("ghc-nats" ,ghc-nats)
10277 ("ghc-tagged" ,ghc-tagged)
10278 ("ghc-unordered-containers" ,ghc-unordered-containers)
10279 ("ghc-hashable" ,ghc-hashable)))
10280 (home-page "https://github.com/ekmett/semigroups/")
10281 (synopsis "Semigroup operations for Haskell")
10282 (description "This package provides semigroups for Haskell. In
10283 mathematics, a semigroup is an algebraic structure consisting of a set
10284 together with an associative binary operation. A semigroup generalizes a
10285 monoid in that there might not exist an identity element. It
10286 also (originally) generalized a group (a monoid with all inverses) to a type
10287 where every element did not have to have an inverse, thus the name
10288 semigroup.")
10289 (license license:bsd-3)))
10290
10291 (define-public ghc-semigroups-bootstrap
10292 (package
10293 (inherit ghc-semigroups)
10294 (name "ghc-semigroups-bootstrap")
10295 (inputs
10296 `(("ghc-nats" ,ghc-nats-bootstrap)
10297 ("ghc-tagged" ,ghc-tagged)
10298 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10299 ("ghc-hashable" ,ghc-hashable-bootstrap)))
10300 (properties '((hidden? #t)))))
10301
10302 (define-public ghc-setenv
10303 (package
10304 (name "ghc-setenv")
10305 (version "0.1.1.3")
10306 (source
10307 (origin
10308 (method url-fetch)
10309 (uri (string-append
10310 "https://hackage.haskell.org/package/setenv/setenv-"
10311 version
10312 ".tar.gz"))
10313 (sha256
10314 (base32
10315 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10316 (build-system haskell-build-system)
10317 (home-page "https://hackage.haskell.org/package/setenv")
10318 (synopsis "Library for setting environment variables")
10319 (description "This package provides a Haskell library for setting
10320 environment variables.")
10321 (license license:expat)))
10322
10323 (define-public ghc-setlocale
10324 (package
10325 (name "ghc-setlocale")
10326 (version "1.0.0.9")
10327 (source (origin
10328 (method url-fetch)
10329 (uri (string-append
10330 "https://hackage.haskell.org/package/setlocale-"
10331 version "/setlocale-" version ".tar.gz"))
10332 (sha256
10333 (base32
10334 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
10335 (build-system haskell-build-system)
10336 (home-page "https://hackage.haskell.org/package/setlocale")
10337 (synopsis "Haskell bindings to setlocale")
10338 (description "This package provides Haskell bindings to the
10339 @code{setlocale} C function.")
10340 (license license:bsd-3)))
10341
10342 (define-public ghc-shakespeare
10343 (package
10344 (name "ghc-shakespeare")
10345 (version "2.0.22")
10346 (source
10347 (origin
10348 (method url-fetch)
10349 (uri (string-append "https://hackage.haskell.org/package/"
10350 "shakespeare-" version "/"
10351 "shakespeare-" version ".tar.gz"))
10352 (sha256
10353 (base32
10354 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
10355 (build-system haskell-build-system)
10356 (inputs `(("ghc-aeson" ,ghc-aeson)
10357 ("ghc-blaze-markup" ,ghc-blaze-markup)
10358 ("ghc-blaze-html" ,ghc-blaze-html)
10359 ("ghc-exceptions" ,ghc-exceptions)
10360 ("ghc-vector" ,ghc-vector)
10361 ("ghc-unordered-containers" ,ghc-unordered-containers)
10362 ("ghc-scientific" ,ghc-scientific)))
10363 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10364 ("ghc-hunit" ,ghc-hunit)
10365 ("hspec-discover" ,hspec-discover)))
10366 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10367 (synopsis "Family of type-safe template languages for Haskell")
10368 (description "This Haskell package provides a family of type-safe
10369 templates with simple variable interpolation. Shakespeare templates can
10370 be used inline with a quasi-quoter or in an external file and it
10371 interpolates variables according to the type being inserted.")
10372 (license license:expat)))
10373
10374 (define-public ghc-shelly
10375 (package
10376 (name "ghc-shelly")
10377 (version "1.8.1")
10378 (source
10379 (origin
10380 (method url-fetch)
10381 (uri (string-append
10382 "https://hackage.haskell.org/package/shelly/shelly-"
10383 version ".tar.gz"))
10384 (sha256
10385 (base32
10386 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10387 (build-system haskell-build-system)
10388 (inputs
10389 `(("ghc-unix-compat" ,ghc-unix-compat)
10390 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10391 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10392 ("ghc-monad-control" ,ghc-monad-control)
10393 ("ghc-lifted-base" ,ghc-lifted-base)
10394 ("ghc-lifted-async" ,ghc-lifted-async)
10395 ("ghc-exceptions" ,ghc-exceptions)
10396 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10397 ("ghc-async" ,ghc-async)
10398 ("ghc-transformers-base" ,ghc-transformers-base)
10399 ("ghc-hunit" ,ghc-hunit)
10400 ("ghc-hspec" ,ghc-hspec)
10401 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10402 (home-page "https://github.com/yesodweb/Shelly.hs")
10403 (synopsis "Shell-like (systems) programming in Haskell")
10404 (description
10405 "Shelly provides convenient systems programming in Haskell, similar in
10406 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10407 (license license:bsd-3)))
10408
10409 (define-public ghc-silently
10410 (package
10411 (name "ghc-silently")
10412 (version "1.2.5.1")
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "https://hackage.haskell.org/package/silently/silently-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
10422 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
10423 (build-system haskell-build-system)
10424 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10425 ;; (inputs
10426 ;; `(("ghc-temporary" ,ghc-temporary)))
10427 (home-page "https://github.com/hspec/silently")
10428 (synopsis "Prevent writing to stdout")
10429 (description "This package provides functions to prevent or capture
10430 writing to stdout and other handles.")
10431 (license license:bsd-3)))
10432
10433 (define-public ghc-simple-reflect
10434 (package
10435 (name "ghc-simple-reflect")
10436 (version "0.3.3")
10437 (source
10438 (origin
10439 (method url-fetch)
10440 (uri (string-append
10441 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10442 version
10443 ".tar.gz"))
10444 (sha256
10445 (base32
10446 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10447 (build-system haskell-build-system)
10448 (home-page
10449 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10450 (synopsis
10451 "Simple reflection of expressions containing variables")
10452 (description
10453 "This package allows simple reflection of expressions containing
10454 variables. Reflection here means that a Haskell expression is turned into a
10455 string. The primary aim of this package is teaching and understanding; there
10456 are no options for manipulating the reflected expressions beyond showing
10457 them.")
10458 (license license:bsd-3)))
10459
10460 (define-public ghc-simple-sendfile
10461 (package
10462 (name "ghc-simple-sendfile")
10463 (version "0.2.30")
10464 (source
10465 (origin
10466 (method url-fetch)
10467 (uri (string-append "https://hackage.haskell.org/package/"
10468 "simple-sendfile-" version "/"
10469 "simple-sendfile-" version ".tar.gz"))
10470 (sha256
10471 (base32
10472 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
10473 (build-system haskell-build-system)
10474 (inputs
10475 `(("ghc-conduit" ,ghc-conduit)
10476 ("ghc-conduit-extra" ,ghc-conduit-extra)
10477 ("ghc-network" ,ghc-network)
10478 ("ghc-resourcet" ,ghc-resourcet)))
10479 (native-inputs
10480 `(("ghc-hspec" ,ghc-hspec)
10481 ("hspec-discover" ,hspec-discover)))
10482 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10483 (synopsis "Cross platform library for the sendfile system call")
10484 (description "This library tries to call minimum system calls which
10485 are the bottleneck of web servers.")
10486 (license license:bsd-3)))
10487
10488 (define-public ghc-size-based
10489 (package
10490 (name "ghc-size-based")
10491 (version "0.1.2.0")
10492 (source
10493 (origin
10494 (method url-fetch)
10495 (uri (string-append "https://hackage.haskell.org/package/"
10496 "size-based/size-based-" version ".tar.gz"))
10497 (sha256
10498 (base32
10499 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10500 (build-system haskell-build-system)
10501 (inputs
10502 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10503 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10504 ("ghc-semigroups" ,ghc-semigroups)))
10505 (arguments
10506 `(#:cabal-revision
10507 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10508 (home-page "https://hackage.haskell.org/package/size-based")
10509 (synopsis "Sized functors for size-based enumerations")
10510 (description "This library provides a framework for size-based
10511 enumerations.")
10512 (license license:bsd-3)))
10513
10514 (define-public ghc-skylighting-core
10515 (package
10516 (name "ghc-skylighting-core")
10517 (version "0.8.2.1")
10518 (source (origin
10519 (method url-fetch)
10520 (uri (string-append "https://hackage.haskell.org/package/"
10521 "skylighting-core/skylighting-core-"
10522 version ".tar.gz"))
10523 (sha256
10524 (base32
10525 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
10526 (build-system haskell-build-system)
10527 (inputs
10528 `(("ghc-aeson" ,ghc-aeson)
10529 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10530 ("ghc-attoparsec" ,ghc-attoparsec)
10531 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10532 ("ghc-blaze-html" ,ghc-blaze-html)
10533 ("ghc-case-insensitive" ,ghc-case-insensitive)
10534 ("ghc-colour" ,ghc-colour)
10535 ("ghc-hxt" ,ghc-hxt)
10536 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10537 ("ghc-safe" ,ghc-safe)
10538 ("ghc-utf8-string" ,ghc-utf8-string)))
10539 (native-inputs
10540 `(("ghc-diff" ,ghc-diff)
10541 ("ghc-hunit" ,ghc-hunit)
10542 ("ghc-pretty-show" ,ghc-pretty-show)
10543 ("ghc-quickcheck" ,ghc-quickcheck)
10544 ("ghc-tasty" ,ghc-tasty)
10545 ("ghc-tasty-golden" ,ghc-tasty-golden)
10546 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10547 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10548 (home-page "https://github.com/jgm/skylighting")
10549 (synopsis "Syntax highlighting library")
10550 (description "Skylighting is a syntax highlighting library with support
10551 for over one hundred languages. It derives its tokenizers from XML syntax
10552 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10553 supported by that framework can be added. An optional command-line program is
10554 provided. Skylighting is intended to be the successor to highlighting-kate.")
10555 (license license:gpl2)))
10556
10557 (define-public ghc-skylighting
10558 (package
10559 (inherit ghc-skylighting-core)
10560 (name "ghc-skylighting")
10561 (version "0.8.2.1")
10562 (source (origin
10563 (method url-fetch)
10564 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10565 version "/skylighting-" version ".tar.gz"))
10566 (sha256
10567 (base32
10568 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
10569 (inputs
10570 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10571 ,@(package-inputs ghc-skylighting-core)))))
10572
10573 (define-public ghc-smallcheck
10574 (package
10575 (name "ghc-smallcheck")
10576 (version "1.1.5")
10577 (source
10578 (origin
10579 (method url-fetch)
10580 (uri (string-append
10581 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10582 version
10583 ".tar.gz"))
10584 (sha256
10585 (base32
10586 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10587 (build-system haskell-build-system)
10588 (inputs
10589 `(("ghc-logict" ,ghc-logict)))
10590 (home-page
10591 "https://github.com/feuerbach/smallcheck")
10592 (synopsis "Property-based testing library")
10593 (description "SmallCheck is a testing library that allows to verify
10594 properties for all test cases up to some depth. The test cases are generated
10595 automatically by SmallCheck.")
10596 (license license:bsd-3)))
10597
10598 (define-public ghc-socks
10599 (package
10600 (name "ghc-socks")
10601 (version "0.6.1")
10602 (source (origin
10603 (method url-fetch)
10604 (uri (string-append "https://hackage.haskell.org/package/"
10605 "socks/socks-" version ".tar.gz"))
10606 (sha256
10607 (base32
10608 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
10609 (build-system haskell-build-system)
10610 (inputs
10611 `(("ghc-cereal" ,ghc-cereal)
10612 ("ghc-basement" ,ghc-basement)
10613 ("ghc-network" ,ghc-network)))
10614 (home-page "https://github.com/vincenthz/hs-socks")
10615 (synopsis "SOCKS proxy (version 5) implementation")
10616 (description
10617 "This library provides a SOCKS proxy (version 5) implementation.")
10618 (license license:bsd-3)))
10619
10620 (define-public ghc-sop-core
10621 (package
10622 (name "ghc-sop-core")
10623 (version "0.4.0.0")
10624 (source
10625 (origin
10626 (method url-fetch)
10627 (uri (string-append "https://hackage.haskell.org/package/"
10628 "sop-core/sop-core-" version ".tar.gz"))
10629 (sha256
10630 (base32
10631 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10632 (build-system haskell-build-system)
10633 (home-page "http://hackage.haskell.org/package/sop-core")
10634 (synopsis "True Sums of Products")
10635 (description "This package provides an implementation of
10636 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10637 is the main module of this library and contains more detailed
10638 documentation. The main use case of this package is to serve as the
10639 core of @url{https://hackage.haskell.org/package/generics-sop,
10640 generics-sop}.")
10641 (license license:bsd-3)))
10642
10643 (define-public ghc-split
10644 (package
10645 (name "ghc-split")
10646 (version "0.2.3.3")
10647 (outputs '("out" "doc"))
10648 (source
10649 (origin
10650 (method url-fetch)
10651 (uri (string-append
10652 "https://hackage.haskell.org/package/split/split-"
10653 version
10654 ".tar.gz"))
10655 (sha256
10656 (base32
10657 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10658 (build-system haskell-build-system)
10659 (arguments
10660 `(#:cabal-revision
10661 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
10662 (native-inputs
10663 `(("ghc-quickcheck" ,ghc-quickcheck)))
10664 (home-page "https://hackage.haskell.org/package/split")
10665 (synopsis "Combinator library for splitting lists")
10666 (description "This package provides a collection of Haskell functions for
10667 splitting lists into parts, akin to the @code{split} function found in several
10668 mainstream languages.")
10669 (license license:bsd-3)))
10670
10671 (define-public ghc-splitmix
10672 (package
10673 (name "ghc-splitmix")
10674 (version "0.0.3")
10675 (source
10676 (origin
10677 (method url-fetch)
10678 (uri (string-append "https://hackage.haskell.org/package/"
10679 "splitmix/splitmix-" version ".tar.gz"))
10680 (sha256
10681 (base32
10682 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
10683 (build-system haskell-build-system)
10684 (inputs
10685 `(("ghc-random" ,ghc-random)))
10686 (native-inputs
10687 `(("ghc-hunit" ,ghc-hunit)
10688 ("ghc-async" ,ghc-async)
10689 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10690 ("ghc-tf-random" ,ghc-tf-random)
10691 ("ghc-vector" ,ghc-vector)))
10692 (home-page "http://hackage.haskell.org/package/splitmix")
10693 (synopsis "Fast and splittable pseudorandom number generator")
10694 (description "This package provides a Pure Haskell implementation of the
10695 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10696 pseudorandom number generator that is quite fast: 9 64-bit
10697 arithmetic/logical operations per 64 bits generated. SplitMix is tested
10698 with two standard statistical test suites (DieHarder and TestU01, this
10699 implementation only using the former) and it appears to be adequate for
10700 \"everyday\" use, such as Monte Carlo algorithms and randomized data
10701 structures where speed is important. In particular, it @strong{should not
10702 be used for cryptographic or security applications}, because generated
10703 sequences of pseudorandom values are too predictable (the mixing functions
10704 are easily inverted, and two successive outputs suffice to reconstruct the
10705 internal state).")
10706 (license license:bsd-3)))
10707
10708 (define-public ghc-splitmix-bootstrap
10709 (package
10710 (inherit ghc-splitmix)
10711 (name "ghc-splitmix-bootstrap")
10712 (arguments `(#:tests? #f))
10713 (native-inputs '())
10714 (properties '((hidden? #t)))))
10715
10716 (define-public ghc-statevar
10717 (package
10718 (name "ghc-statevar")
10719 (version "1.2")
10720 (source
10721 (origin
10722 (method url-fetch)
10723 (uri (string-append
10724 "https://hackage.haskell.org/package/StateVar/StateVar-"
10725 version
10726 ".tar.gz"))
10727 (sha256
10728 (base32
10729 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
10730 (build-system haskell-build-system)
10731 (home-page "https://hackage.haskell.org/package/StateVar")
10732 (synopsis "State variables for Haskell")
10733 (description "This package provides state variables, which are references
10734 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10735 (license license:bsd-3)))
10736
10737 (define-public ghc-statistics
10738 (package
10739 (name "ghc-statistics")
10740 (version "0.15.1.1")
10741 (source
10742 (origin
10743 (method url-fetch)
10744 (uri (string-append "https://hackage.haskell.org/package/"
10745 "statistics-" version "/"
10746 "statistics-" version ".tar.gz"))
10747 (sha256
10748 (base32
10749 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
10750 (build-system haskell-build-system)
10751 (arguments
10752 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
10753 #:tests? #f))
10754 (inputs
10755 `(("ghc-aeson" ,ghc-aeson)
10756 ("ghc-async" ,ghc-async)
10757 ("ghc-base-orphans" ,ghc-base-orphans)
10758 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
10759 ("ghc-math-functions" ,ghc-math-functions)
10760 ("ghc-monad-par" ,ghc-monad-par)
10761 ("ghc-mwc-random" ,ghc-mwc-random)
10762 ("ghc-primitive" ,ghc-primitive)
10763 ("ghc-vector" ,ghc-vector)
10764 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10765 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10766 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10767 (native-inputs
10768 `(("ghc-hunit" ,ghc-hunit)
10769 ("ghc-quickcheck" ,ghc-quickcheck)
10770 ("ghc-ieee754" ,ghc-ieee754)
10771 ("ghc-test-framework" ,ghc-test-framework)
10772 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10773 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10774 (home-page "https://github.com/bos/mwc-random")
10775 (synopsis "Haskell library of statistical types, data, and functions")
10776 (description "This library provides a number of common functions
10777 and types useful in statistics. We focus on high performance, numerical
10778 robustness, and use of good algorithms. Where possible, we provide references
10779 to the statistical literature.
10780
10781 The library's facilities can be divided into four broad categories:
10782
10783 @itemize
10784 @item Working with widely used discrete and continuous probability
10785 distributions. (There are dozens of exotic distributions in use; we focus
10786 on the most common.)
10787
10788 @item Computing with sample data: quantile estimation, kernel density
10789 estimation, histograms, bootstrap methods, significance testing,
10790 and regression and autocorrelation analysis.
10791
10792 @item Random variate generation under several different distributions.
10793
10794 @item Common statistical tests for significant differences between samples.
10795 @end itemize")
10796 (license license:bsd-2)))
10797
10798 (define-public ghc-stm-chans
10799 (package
10800 (name "ghc-stm-chans")
10801 (version "3.0.0.4")
10802 (source
10803 (origin
10804 (method url-fetch)
10805 (uri (string-append "https://hackage.haskell.org/package/"
10806 "stm-chans-" version "/"
10807 "stm-chans-" version ".tar.gz"))
10808 (sha256
10809 (base32
10810 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10811 (build-system haskell-build-system)
10812 (home-page "https://hackage.haskell.org/package/stm-chans")
10813 (synopsis "Additional types of channels for ghc-stm")
10814 (description "This Haskell package offers a collection of channel types,
10815 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10816 features.")
10817 (license license:bsd-3)))
10818
10819 (define-public ghc-stm-conduit
10820 (package
10821 (name "ghc-stm-conduit")
10822 (version "4.0.1")
10823 (source
10824 (origin
10825 (method url-fetch)
10826 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10827 "stm-conduit-" version ".tar.gz"))
10828 (sha256
10829 (base32
10830 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
10831 (build-system haskell-build-system)
10832 (inputs
10833 `(("ghc-stm-chans" ,ghc-stm-chans)
10834 ("ghc-cereal" ,ghc-cereal)
10835 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10836 ("ghc-conduit" ,ghc-conduit)
10837 ("ghc-conduit-extra" ,ghc-conduit-extra)
10838 ("ghc-exceptions" ,ghc-exceptions)
10839 ("ghc-resourcet" ,ghc-resourcet)
10840 ("ghc-async" ,ghc-async)
10841 ("ghc-monad-loops" ,ghc-monad-loops)
10842 ("ghc-unliftio" ,ghc-unliftio)))
10843 (native-inputs
10844 `(("ghc-doctest" ,ghc-doctest)
10845 ("ghc-quickcheck" ,ghc-quickcheck)
10846 ("ghc-hunit" ,ghc-hunit)
10847 ("ghc-test-framework" ,ghc-test-framework)
10848 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10849 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10850 (home-page "https://github.com/cgaebel/stm-conduit")
10851 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10852 (description
10853 "This package provides two simple conduit wrappers around STM channels: a
10854 source and a sink.")
10855 (license license:bsd-3)))
10856
10857 (define-public ghc-stmonadtrans
10858 (package
10859 (name "ghc-stmonadtrans")
10860 (version "0.4.3")
10861 (source
10862 (origin
10863 (method url-fetch)
10864 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10865 "/STMonadTrans-" version ".tar.gz"))
10866 (sha256
10867 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10868 (build-system haskell-build-system)
10869 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10870 (synopsis "Monad transformer version of the ST monad")
10871 (description
10872 "This package provides a monad transformer version of the @code{ST} monad
10873 for strict state threads.")
10874 (license license:bsd-3)))
10875
10876 (define-public ghc-storable-complex
10877 (package
10878 (name "ghc-storable-complex")
10879 (version "0.2.3.0")
10880 (source
10881 (origin
10882 (method url-fetch)
10883 (uri (string-append
10884 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10885 version ".tar.gz"))
10886 (sha256
10887 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
10888 (build-system haskell-build-system)
10889 (inputs
10890 `(("ghc-base-orphans" ,ghc-base-orphans)))
10891 (home-page "https://github.com/cartazio/storable-complex")
10892 (synopsis "Haskell Storable instance for Complex")
10893 (description "This package provides a Haskell library including a
10894 Storable instance for Complex which is binary compatible with C99, C++
10895 and Fortran complex data types.")
10896 (license license:bsd-3)))
10897
10898 (define-public ghc-storable-record
10899 (package
10900 (name "ghc-storable-record")
10901 (version "0.0.4")
10902 (source
10903 (origin
10904 (method url-fetch)
10905 (uri
10906 (string-append
10907 "https://hackage.haskell.org/package/storable-record/"
10908 "storable-record-" version ".tar.gz"))
10909 (sha256
10910 (base32
10911 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10912 (build-system haskell-build-system)
10913 (inputs
10914 `(("ghc-semigroups" ,ghc-semigroups)
10915 ("ghc-utility-ht" ,ghc-utility-ht)
10916 ("ghc-storablevector" ,ghc-storablevector)
10917 ("ghc-timeit" ,ghc-timeit)))
10918 (home-page "https://hackage.haskell.org/package/storable-record")
10919 (synopsis "Elegant definition of Storable instances for records")
10920 (description "With this package you can build a Storable instance of
10921 a record type from Storable instances of its elements in an elegant way.
10922 It does not do any magic, just a bit arithmetic to compute the right
10923 offsets, that would be otherwise done manually or by a preprocessor like
10924 C2HS. There is no guarantee that the generated memory layout is
10925 compatible with that of a corresponding C struct. However, the module
10926 generates the smallest layout that is possible with respect to the
10927 alignment of the record elements.")
10928 (license license:bsd-3)))
10929
10930 (define-public ghc-storable-tuple
10931 (package
10932 (name "ghc-storable-tuple")
10933 (version "0.0.3.3")
10934 (source
10935 (origin
10936 (method url-fetch)
10937 (uri
10938 (string-append
10939 "https://hackage.haskell.org/package/storable-tuple/"
10940 "storable-tuple-" version ".tar.gz"))
10941 (sha256
10942 (base32
10943 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10944 (build-system haskell-build-system)
10945 (inputs
10946 `(("ghc-storable-record" ,ghc-storable-record)
10947 ("ghc-utility-ht" ,ghc-utility-ht)
10948 ("ghc-base-orphans" ,ghc-base-orphans)))
10949 (home-page "https://hackage.haskell.org/package/storable-tuple")
10950 (synopsis "Storable instance for pairs and triples")
10951 (description "This package provides a Storable instance for pairs
10952 and triples which should be binary compatible with C99 and C++. The
10953 only purpose of this package is to provide a standard location for this
10954 instance so that other packages needing this instance can play nicely
10955 together.")
10956 (license license:bsd-3)))
10957
10958 (define-public ghc-storablevector
10959 (package
10960 (name "ghc-storablevector")
10961 (version "0.2.13")
10962 (source
10963 (origin
10964 (method url-fetch)
10965 (uri
10966 (string-append
10967 "https://hackage.haskell.org/package/storablevector/storablevector-"
10968 version ".tar.gz"))
10969 (sha256
10970 (base32
10971 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10972 (build-system haskell-build-system)
10973 (inputs
10974 `(("ghc-non-negative" ,ghc-non-negative)
10975 ("ghc-utility-ht" ,ghc-utility-ht)
10976 ("ghc-semigroups" ,ghc-semigroups)
10977 ("ghc-unsafe" ,ghc-unsafe)
10978 ("ghc-quickcheck" ,ghc-quickcheck)
10979 ("ghc-syb" ,ghc-syb)))
10980 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10981 (synopsis "Fast, packed, strict storable arrays with a list interface")
10982 (description "This library provides fast, packed, strict storable
10983 arrays with a list interface, a chunky lazy list interface with variable
10984 chunk size and an interface for write access via the ST monad. This is
10985 much like bytestring and binary but can be used for every
10986 @code{Foreign.Storable.Storable} type. See also
10987 @url{http://hackage.haskell.org/package/vector}, a library with a
10988 similar intention.
10989
10990 This library does not do advanced fusion optimization, since especially
10991 for lazy vectors this would either be incorrect or not applicable. See
10992 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10993 a library that provides fusion with lazy lists.")
10994 (license license:bsd-3)))
10995
10996 (define-public ghc-streaming-commons
10997 (package
10998 (name "ghc-streaming-commons")
10999 (version "0.2.1.1")
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append "https://hackage.haskell.org/package/"
11004 "streaming-commons/streaming-commons-"
11005 version ".tar.gz"))
11006 (sha256
11007 (base32
11008 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11009 (build-system haskell-build-system)
11010 (inputs
11011 `(("ghc-async" ,ghc-async)
11012 ("ghc-blaze-builder" ,ghc-blaze-builder)
11013 ("ghc-network" ,ghc-network)
11014 ("ghc-random" ,ghc-random)
11015 ("ghc-zlib" ,ghc-zlib)))
11016 (native-inputs
11017 `(("ghc-quickcheck" ,ghc-quickcheck)
11018 ("ghc-hspec" ,ghc-hspec)
11019 ("hspec-discover" ,hspec-discover)))
11020 (home-page "https://hackage.haskell.org/package/streaming-commons")
11021 (synopsis "Conduit and pipes needed by some streaming data libraries")
11022 (description "This package provides low-dependency functionality commonly
11023 needed by various Haskell streaming data libraries, such as @code{conduit} and
11024 @code{pipe}s.")
11025 (license license:expat)))
11026
11027 (define-public ghc-strict
11028 (package
11029 (name "ghc-strict")
11030 (version "0.3.2")
11031 (source
11032 (origin
11033 (method url-fetch)
11034 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11035 version ".tar.gz"))
11036 (sha256
11037 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11038 (build-system haskell-build-system)
11039 (home-page "https://hackage.haskell.org/package/strict")
11040 (synopsis "Strict data types and String IO")
11041 (description
11042 "This package provides strict versions of some standard Haskell data
11043 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11044 IO operations.")
11045 (license license:bsd-3)))
11046
11047 (define-public ghc-stringbuilder
11048 (package
11049 (name "ghc-stringbuilder")
11050 (version "0.5.1")
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append
11055 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11056 version
11057 ".tar.gz"))
11058 (sha256
11059 (base32
11060 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11061 (build-system haskell-build-system)
11062 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11063 ; enabled
11064 (home-page "https://hackage.haskell.org/package/stringbuilder")
11065 (synopsis "Writer monad for multi-line string literals")
11066 (description "This package provides a writer monad for multi-line string
11067 literals.")
11068 (license license:expat)))
11069
11070 (define-public ghc-string-qq
11071 (package
11072 (name "ghc-string-qq")
11073 (version "0.0.4")
11074 (source
11075 (origin
11076 (method url-fetch)
11077 (uri (string-append
11078 "https://hackage.haskell.org/package/string-qq/string-qq-"
11079 version
11080 ".tar.gz"))
11081 (sha256
11082 (base32
11083 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
11084 (build-system haskell-build-system)
11085 (native-inputs
11086 `(("ghc-hunit" ,ghc-hunit)))
11087 (home-page "http://hackage.haskell.org/package/string-qq")
11088 (synopsis
11089 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11090 (description
11091 "This package provides a quasiquoter for non-interpolated strings, texts
11092 and bytestrings.")
11093 (license license:public-domain)))
11094
11095 (define-public ghc-stringsearch
11096 (package
11097 (name "ghc-stringsearch")
11098 (version "0.3.6.6")
11099 (source
11100 (origin
11101 (method url-fetch)
11102 (uri (string-append
11103 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11104 version
11105 ".tar.gz"))
11106 (sha256
11107 (base32
11108 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11109 (build-system haskell-build-system)
11110 (arguments
11111 `(#:cabal-revision
11112 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
11113 (home-page "https://bitbucket.org/dafis/stringsearch")
11114 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11115 (description "This package provides several functions to quickly search
11116 for substrings in strict or lazy @code{ByteStrings}. It also provides
11117 functions for breaking or splitting on substrings and replacing all
11118 occurrences of a substring (the first in case of overlaps) with another.")
11119 (license license:bsd-3)))
11120
11121 (define-public ghc-stylish-haskell
11122 (package
11123 (name "ghc-stylish-haskell")
11124 (version "0.9.2.1")
11125 (source
11126 (origin
11127 (method url-fetch)
11128 (uri (string-append
11129 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
11130 version
11131 ".tar.gz"))
11132 (sha256
11133 (base32
11134 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
11135 (build-system haskell-build-system)
11136 (arguments
11137 `(#:phases
11138 (modify-phases %standard-phases
11139 (add-before 'configure 'update-constraints
11140 (lambda _
11141 (substitute* "stylish-haskell.cabal"
11142 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
11143 "haskell-src-exts >= 1.18 && < 1.22,"))
11144 #t)))))
11145 (inputs
11146 `(("ghc-aeson" ,ghc-aeson)
11147 ("ghc-file-embed" ,ghc-file-embed)
11148 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
11149 ("ghc-semigroups" ,ghc-semigroups)
11150 ("ghc-syb" ,ghc-syb)
11151 ("ghc-yaml" ,ghc-yaml)
11152 ("ghc-strict" ,ghc-strict)
11153 ("ghc-optparse-applicative"
11154 ,ghc-optparse-applicative)))
11155 (native-inputs
11156 `(("ghc-hunit" ,ghc-hunit)
11157 ("ghc-test-framework" ,ghc-test-framework)
11158 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11159 (home-page "https://github.com/jaspervdj/stylish-haskell")
11160 (synopsis "Haskell code prettifier")
11161 (description "Stylish-haskell is a Haskell code prettifier. The goal is
11162 not to format all of the code in a file, to avoid \"getting in the way\".
11163 However, this tool can e.g. clean up import statements and help doing various
11164 tasks that get tedious very quickly. It can
11165 @itemize
11166 @item
11167 Align and sort @code{import} statements
11168 @item
11169 Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
11170 pragmas
11171 @item
11172 Remove trailing whitespaces
11173 @item
11174 Align branches in @code{case} and fields in records
11175 @item
11176 Convert line endings (customisable)
11177 @item
11178 Replace tabs by four spaces (turned off by default)
11179 @item
11180 Replace some ASCII sequences by their Unicode equivalent (turned off by
11181 default)
11182 @end itemize")
11183 (license license:bsd-3)))
11184
11185 (define-public ghc-svg-builder
11186 (package
11187 (name "ghc-svg-builder")
11188 (version "0.1.1")
11189 (source
11190 (origin
11191 (method url-fetch)
11192 (uri (string-append "https://hackage.haskell.org/package/"
11193 "svg-builder/svg-builder-" version ".tar.gz"))
11194 (sha256
11195 (base32
11196 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11197 (build-system haskell-build-system)
11198 (inputs
11199 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11200 ("ghc-hashable" ,ghc-hashable)
11201 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11202 (arguments
11203 `(#:cabal-revision
11204 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11205 (home-page "https://github.com/diagrams/svg-builder.git")
11206 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11207 (description "Easy-to-write domain-specific language (DSL) for
11208 building Scalable Vector Graphics (SVG).")
11209 (license license:bsd-3)))
11210
11211 (define-public ghc-syb
11212 (package
11213 (name "ghc-syb")
11214 (version "0.7.1")
11215 (outputs '("out" "doc"))
11216 (source
11217 (origin
11218 (method url-fetch)
11219 (uri (string-append
11220 "https://hackage.haskell.org/package/syb/syb-"
11221 version
11222 ".tar.gz"))
11223 (sha256
11224 (base32
11225 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
11226 (build-system haskell-build-system)
11227 (inputs
11228 `(("ghc-hunit" ,ghc-hunit)))
11229 (home-page
11230 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11231 (synopsis "Scrap Your Boilerplate")
11232 (description "This package contains the generics system described in the
11233 /Scrap Your Boilerplate/ papers (see
11234 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11235 defines the @code{Data} class of types permitting folding and unfolding of
11236 constructor applications, instances of this class for primitive types, and a
11237 variety of traversals.")
11238 (license license:bsd-3)))
11239
11240 (define-public ghc-system-fileio
11241 (package
11242 (name "ghc-system-fileio")
11243 (version "0.3.16.4")
11244 (source
11245 (origin
11246 (method url-fetch)
11247 (uri (string-append
11248 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11249 version ".tar.gz"))
11250 (sha256
11251 (base32
11252 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
11253 (build-system haskell-build-system)
11254 (arguments
11255 `(#:phases
11256 (modify-phases %standard-phases
11257 (add-before 'configure 'update-constraints
11258 (lambda _
11259 (substitute* "system-fileio.cabal"
11260 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11261 #t)))))
11262 (inputs
11263 `(("ghc-system-filepath" ,ghc-system-filepath)
11264 ("ghc-chell" ,ghc-chell)
11265 ("ghc-temporary" ,ghc-temporary)))
11266 (home-page "https://github.com/fpco/haskell-filesystem")
11267 (synopsis "Consistent file system interaction across GHC versions")
11268 (description
11269 "This is a small wrapper around the directory, unix, and Win32 packages,
11270 for use with system-filepath. It provides a consistent API to the various
11271 versions of these packages distributed with different versions of GHC.
11272 In particular, this library supports working with POSIX files that have paths
11273 which can't be decoded in the current locale encoding.")
11274 (license license:expat)))
11275
11276 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
11277 ;; ghc-system-filepath.
11278 (define ghc-system-fileio-bootstrap
11279 (package
11280 (name "ghc-system-fileio-bootstrap")
11281 (version "0.3.16.3")
11282 (source
11283 (origin
11284 (method url-fetch)
11285 (uri (string-append
11286 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11287 version ".tar.gz"))
11288 (sha256
11289 (base32
11290 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11291 (build-system haskell-build-system)
11292 (arguments
11293 `(#:tests? #f))
11294 (inputs
11295 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11296 ("ghc-temporary" ,ghc-temporary)))
11297 (home-page "https://github.com/fpco/haskell-filesystem")
11298 (synopsis "Consistent file system interaction across GHC versions")
11299 (description
11300 "This is a small wrapper around the directory, unix, and Win32 packages,
11301 for use with system-filepath. It provides a consistent API to the various
11302 versions of these packages distributed with different versions of GHC.
11303 In particular, this library supports working with POSIX files that have paths
11304 which can't be decoded in the current locale encoding.")
11305 (license license:expat)))
11306
11307
11308 (define-public ghc-system-filepath
11309 (package
11310 (name "ghc-system-filepath")
11311 (version "0.4.14")
11312 (source
11313 (origin
11314 (method url-fetch)
11315 (uri (string-append
11316 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11317 version ".tar.gz"))
11318 (sha256
11319 (base32
11320 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11321 (build-system haskell-build-system)
11322 ;; FIXME: One of the tests fails:
11323 ;; [ FAIL ] tests.validity.posix
11324 ;; note: seed=7310214548328823169
11325 ;; *** Failed! Falsifiable (after 24 tests):
11326 ;; 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"
11327 (arguments `(#:tests? #f))
11328 (inputs
11329 `(("ghc-chell" ,ghc-chell)
11330 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11331 ("ghc-quickcheck" ,ghc-quickcheck)))
11332 (home-page "https://github.com/fpco/haskell-filesystem")
11333 (synopsis "High-level, byte-based file and directory path manipulations")
11334 (description
11335 "Provides a FilePath datatype and utility functions for operating on it.
11336 Unlike the filepath package, this package does not simply reuse String,
11337 increasing type safety.")
11338 (license license:expat)))
11339
11340 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11341 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11342 ;; which depends on ghc-chell and ghc-chell-quickcheck.
11343 ;; Therefore we bootstrap it with tests disabled.
11344 (define ghc-system-filepath-bootstrap
11345 (package
11346 (name "ghc-system-filepath-bootstrap")
11347 (version "0.4.14")
11348 (source
11349 (origin
11350 (method url-fetch)
11351 (uri (string-append
11352 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11353 version ".tar.gz"))
11354 (sha256
11355 (base32
11356 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11357 (build-system haskell-build-system)
11358 (arguments
11359 `(#:tests? #f))
11360 (inputs
11361 `(("ghc-quickcheck" ,ghc-quickcheck)))
11362 (home-page "https://github.com/fpco/haskell-filesystem")
11363 (synopsis "High-level, byte-based file and directory path manipulations")
11364 (description
11365 "Provides a FilePath datatype and utility functions for operating on it.
11366 Unlike the filepath package, this package does not simply reuse String,
11367 increasing type safety.")
11368 (license license:expat)))
11369
11370
11371 (define-public ghc-tagged
11372 (package
11373 (name "ghc-tagged")
11374 (version "0.8.6")
11375 (source
11376 (origin
11377 (method url-fetch)
11378 (uri (string-append
11379 "https://hackage.haskell.org/package/tagged/tagged-"
11380 version
11381 ".tar.gz"))
11382 (sha256
11383 (base32
11384 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
11385 (build-system haskell-build-system)
11386 (arguments
11387 `(#:cabal-revision
11388 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
11389 (inputs
11390 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11391 (home-page "https://hackage.haskell.org/package/tagged")
11392 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11393 (description "This library provides phantom types for Haskell 98, to avoid
11394 having to unsafely pass dummy arguments.")
11395 (license license:bsd-3)))
11396
11397 (define-public ghc-tar
11398 (package
11399 (name "ghc-tar")
11400 (version "0.5.1.1")
11401 (source
11402 (origin
11403 (method url-fetch)
11404 (uri (string-append
11405 "https://hackage.haskell.org/package/tar/tar-"
11406 version ".tar.gz"))
11407 (sha256
11408 (base32
11409 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
11410 (build-system haskell-build-system)
11411 ;; FIXME: 2/24 tests fail.
11412 (arguments `(#:tests? #f))
11413 (inputs
11414 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11415 ("ghc-quickcheck" ,ghc-quickcheck)
11416 ("ghc-tasty" ,ghc-tasty)
11417 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11418 (home-page "https://hackage.haskell.org/package/tar")
11419 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11420 (description
11421 "This library is for working with \\\"@.tar@\\\" archive files.
11422 It can read and write a range of common variations of the tar archive format
11423 including V7, POSIX USTAR and GNU formats. It provides support for packing and
11424 unpacking portable archives. This makes it suitable for distribution but not
11425 backup because details like file ownership and exact permissions are not
11426 preserved. It also provides features for random access to archive content using
11427 an index.")
11428 (license license:bsd-3)))
11429
11430 (define-public ghc-tar-conduit
11431 (package
11432 (name "ghc-tar-conduit")
11433 (version "0.3.2")
11434 (source
11435 (origin
11436 (method url-fetch)
11437 (uri (string-append "https://hackage.haskell.org/package/"
11438 "tar-conduit/tar-conduit-" version ".tar.gz"))
11439 (sha256
11440 (base32
11441 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11442 (build-system haskell-build-system)
11443 (inputs
11444 `(("ghc-conduit" ,ghc-conduit)
11445 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11446 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11447 (native-inputs
11448 `(("ghc-quickcheck" ,ghc-quickcheck)
11449 ("ghc-conduit-extra" ,ghc-conduit-extra)
11450 ("ghc-hspec" ,ghc-hspec)
11451 ("ghc-hspec" ,ghc-hspec)
11452 ("ghc-weigh" ,ghc-weigh)))
11453 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11454 (synopsis "Extract and create tar files using conduit for streaming")
11455 (description "This library provides a conduit-based, streaming
11456 interface for extracting and creating tar files.")
11457 (license license:expat)))
11458
11459 (define-public ghc-temporary
11460 (package
11461 (name "ghc-temporary")
11462 (version "1.3")
11463 (source
11464 (origin
11465 (method url-fetch)
11466 (uri (string-append
11467 "https://hackage.haskell.org/package/temporary/temporary-"
11468 version
11469 ".tar.gz"))
11470 (sha256
11471 (base32
11472 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11473 (build-system haskell-build-system)
11474 (inputs
11475 `(("ghc-exceptions" ,ghc-exceptions)
11476 ("ghc-random" ,ghc-random)))
11477 (native-inputs
11478 `(("ghc-base-compat" ,ghc-base-compat)
11479 ("ghc-tasty" ,ghc-tasty)
11480 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11481 (home-page "https://www.github.com/batterseapower/temporary")
11482 (synopsis "Temporary file and directory support")
11483 (description "The functions for creating temporary files and directories
11484 in the Haskelll base library are quite limited. This library just repackages
11485 the Cabal implementations of its own temporary file and folder functions so
11486 that you can use them without linking against Cabal or depending on it being
11487 installed.")
11488 (license license:bsd-3)))
11489
11490 (define-public ghc-temporary-rc
11491 (package
11492 (name "ghc-temporary-rc")
11493 (version "1.2.0.3")
11494 (source
11495 (origin
11496 (method url-fetch)
11497 (uri (string-append
11498 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11499 version
11500 ".tar.gz"))
11501 (sha256
11502 (base32
11503 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11504 (build-system haskell-build-system)
11505 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11506 (home-page
11507 "https://www.github.com/feuerbach/temporary")
11508 (synopsis
11509 "Portable temporary file and directory support")
11510 (description
11511 "The functions for creating temporary files and directories in the base
11512 library are quite limited. The unixutils package contains some good ones, but
11513 they aren't portable to Windows. This library just repackages the Cabal
11514 implementations of its own temporary file and folder functions so that you can
11515 use them without linking against Cabal or depending on it being installed.
11516 This is a better maintained fork of the \"temporary\" package.")
11517 (license license:bsd-3)))
11518
11519 (define-public ghc-terminal-size
11520 (package
11521 (name "ghc-terminal-size")
11522 (version "0.3.2.1")
11523 (source (origin
11524 (method url-fetch)
11525 (uri (string-append
11526 "https://hackage.haskell.org/package/terminal-size/"
11527 "terminal-size-" version ".tar.gz"))
11528 (sha256
11529 (base32
11530 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11531 (build-system haskell-build-system)
11532 (home-page "https://hackage.haskell.org/package/terminal-size")
11533 (synopsis "Get terminal window height and width")
11534 (description "Get terminal window height and width without ncurses
11535 dependency.")
11536 (license license:bsd-3)))
11537
11538 (define-public ghc-texmath
11539 (package
11540 (name "ghc-texmath")
11541 (version "0.11.3")
11542 (source (origin
11543 (method url-fetch)
11544 (uri (string-append "https://hackage.haskell.org/package/"
11545 "texmath/texmath-" version ".tar.gz"))
11546 (sha256
11547 (base32
11548 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
11549 (build-system haskell-build-system)
11550 (inputs
11551 `(("ghc-syb" ,ghc-syb)
11552 ("ghc-network-uri" ,ghc-network-uri)
11553 ("ghc-split" ,ghc-split)
11554 ("ghc-temporary" ,ghc-temporary)
11555 ("ghc-utf8-string" ,ghc-utf8-string)
11556 ("ghc-xml" ,ghc-xml)
11557 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11558 (home-page "https://github.com/jgm/texmath")
11559 (synopsis "Conversion between formats used to represent mathematics")
11560 (description
11561 "The texmath library provides functions to read and write TeX math,
11562 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11563 Office). Support is also included for converting math formats to pandoc's
11564 native format (allowing conversion, via pandoc, to a variety of different
11565 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11566 it can parse and apply LaTeX macros.")
11567 (license license:gpl2+)))
11568
11569 (define-public ghc-text-binary
11570 (package
11571 (name "ghc-text-binary")
11572 (version "0.2.1.1")
11573 (source
11574 (origin
11575 (method url-fetch)
11576 (uri (string-append "https://hackage.haskell.org/package/"
11577 "text-binary/text-binary-"
11578 version ".tar.gz"))
11579 (sha256
11580 (base32
11581 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11582 (build-system haskell-build-system)
11583 (home-page "https://github.com/kawu/text-binary")
11584 (synopsis "Binary instances for text types")
11585 (description
11586 "This package provides a compatibility layer providing @code{Binary}
11587 instances for strict and lazy text types for versions older than 1.2.1 of the
11588 text package.")
11589 (license license:bsd-2)))
11590
11591 (define-public ghc-text-metrics
11592 (package
11593 (name "ghc-text-metrics")
11594 (version "0.3.0")
11595 (source
11596 (origin
11597 (method url-fetch)
11598 (uri (string-append "https://hackage.haskell.org/package/"
11599 "text-metrics/text-metrics-" version ".tar.gz"))
11600 (sha256
11601 (base32
11602 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11603 (build-system haskell-build-system)
11604 (inputs
11605 `(("ghc-vector" ,ghc-vector)))
11606 (native-inputs
11607 `(("ghc-quickcheck" ,ghc-quickcheck)
11608 ("ghc-hspec" ,ghc-hspec)))
11609 (arguments
11610 `(#:cabal-revision
11611 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11612 (home-page "https://github.com/mrkkrp/text-metrics")
11613 (synopsis "Calculate various string metrics efficiently")
11614 (description "This library provides tools to calculate various
11615 string metrics efficiently.")
11616 (license license:bsd-3)))
11617
11618 (define-public ghc-tf-random
11619 (package
11620 (name "ghc-tf-random")
11621 (version "0.5")
11622 (outputs '("out" "doc"))
11623 (source
11624 (origin
11625 (method url-fetch)
11626 (uri (string-append
11627 "https://hackage.haskell.org/package/tf-random/tf-random-"
11628 version
11629 ".tar.gz"))
11630 (sha256
11631 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11632 (build-system haskell-build-system)
11633 (inputs
11634 `(("ghc-primitive" ,ghc-primitive)
11635 ("ghc-random" ,ghc-random)))
11636 (home-page "https://hackage.haskell.org/package/tf-random")
11637 (synopsis "High-quality splittable pseudorandom number generator")
11638 (description "This package contains an implementation of a high-quality
11639 splittable pseudorandom number generator. The generator is based on a
11640 cryptographic hash function built on top of the ThreeFish block cipher. See
11641 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11642 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11643 (license license:bsd-3)))
11644
11645 (define-public ghc-th-abstraction
11646 (package
11647 (name "ghc-th-abstraction")
11648 (version "0.3.1.0")
11649 (source
11650 (origin
11651 (method url-fetch)
11652 (uri (string-append "https://hackage.haskell.org/package/"
11653 "th-abstraction/th-abstraction-"
11654 version ".tar.gz"))
11655 (sha256
11656 (base32
11657 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
11658 (build-system haskell-build-system)
11659 (home-page "https://github.com/glguy/th-abstraction")
11660 (synopsis "Nicer interface for reified information about data types")
11661 (description
11662 "This package normalizes variations in the interface for inspecting
11663 datatype information via Template Haskell so that packages and support a
11664 single, easier to use informational datatype while supporting many versions of
11665 Template Haskell.")
11666 (license license:isc)))
11667
11668 (define-public ghc-th-expand-syns
11669 (package
11670 (name "ghc-th-expand-syns")
11671 (version "0.4.5.0")
11672 (source (origin
11673 (method url-fetch)
11674 (uri (string-append "https://hackage.haskell.org/package/"
11675 "th-expand-syns/th-expand-syns-"
11676 version ".tar.gz"))
11677 (sha256
11678 (base32
11679 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
11680 (build-system haskell-build-system)
11681 (inputs
11682 `(("ghc-syb" ,ghc-syb)))
11683 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11684 (synopsis "Expands type synonyms in Template Haskell ASTs")
11685 (description
11686 "This package enables users to expand type synonyms in Template Haskell
11687 @dfn{abstract syntax trees} (ASTs).")
11688 (license license:bsd-3)))
11689
11690 (define-public ghc-th-lift
11691 (package
11692 (name "ghc-th-lift")
11693 (version "0.8.0.1")
11694 (source (origin
11695 (method url-fetch)
11696 (uri (string-append "https://hackage.haskell.org/package/"
11697 "th-lift/th-lift-" version ".tar.gz"))
11698 (sha256
11699 (base32
11700 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
11701 (build-system haskell-build-system)
11702 (inputs
11703 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11704 (home-page "https://github.com/mboes/th-lift")
11705 (synopsis "Derive Template Haskell's Lift class for datatypes")
11706 (description
11707 "This is a Haskell library to derive Template Haskell's Lift class for
11708 datatypes.")
11709 (license license:bsd-3)))
11710
11711 (define-public ghc-th-lift-instances
11712 (package
11713 (name "ghc-th-lift-instances")
11714 (version "0.1.14")
11715 (source
11716 (origin
11717 (method url-fetch)
11718 (uri (string-append "https://hackage.haskell.org/package/"
11719 "th-lift-instances/th-lift-instances-"
11720 version ".tar.gz"))
11721 (sha256
11722 (base32
11723 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
11724 (build-system haskell-build-system)
11725 (inputs
11726 `(("ghc-th-lift" ,ghc-th-lift)
11727 ("ghc-vector" ,ghc-vector)
11728 ("ghc-quickcheck" ,ghc-quickcheck)))
11729 (home-page "https://github.com/bennofs/th-lift-instances/")
11730 (synopsis "Lift instances for template-haskell for common data types.")
11731 (description "Most data types in the Haskell platform do not have Lift
11732 instances. This package provides orphan instances for @code{containers},
11733 @code{text}, @code{bytestring} and @code{vector}.")
11734 (license license:bsd-3)))
11735
11736 (define-public ghc-th-orphans
11737 (package
11738 (name "ghc-th-orphans")
11739 (version "0.13.9")
11740 (source (origin
11741 (method url-fetch)
11742 (uri (string-append "https://hackage.haskell.org/package/"
11743 "th-orphans/th-orphans-" version ".tar.gz"))
11744 (sha256
11745 (base32
11746 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
11747 (build-system haskell-build-system)
11748 (inputs
11749 `(("ghc-th-lift" ,ghc-th-lift)
11750 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11751 ("ghc-th-reify-many" ,ghc-th-reify-many)
11752 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11753 (native-inputs
11754 `(("ghc-hspec" ,ghc-hspec)))
11755 (home-page "https://hackage.haskell.org/package/th-orphans")
11756 (synopsis "Orphan instances for TH datatypes")
11757 (description
11758 "This package provides orphan instances for Template Haskell datatypes. In particular,
11759 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11760 and @code{Eq} instances. These instances used to live in the haskell-src-meta
11761 package, and that's where the version number started.")
11762 (license license:bsd-3)))
11763
11764 (define-public ghc-threads
11765 (package
11766 (name "ghc-threads")
11767 (version "0.5.1.6")
11768 (source
11769 (origin
11770 (method url-fetch)
11771 (uri (string-append "https://hackage.haskell.org/package/"
11772 "threads/threads-" version ".tar.gz"))
11773 (sha256
11774 (base32
11775 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11776 (build-system haskell-build-system)
11777 (native-inputs
11778 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11779 ("ghc-hunit" ,ghc-hunit)
11780 ("ghc-test-framework" ,ghc-test-framework)
11781 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11782 (home-page "https://github.com/basvandijk/threads")
11783 (synopsis "Fork threads and wait for their result")
11784 (description "This package provides functions to fork threads and
11785 wait for their result, whether it's an exception or a normal value.
11786 Besides waiting for the termination of a single thread this package also
11787 provides functions to wait for a group of threads to terminate. This
11788 package is similar to the @code{threadmanager}, @code{async} and
11789 @code{spawn} packages. The advantages of this package are:
11790
11791 @itemize
11792 @item Simpler API.
11793 @item More efficient in both space and time.
11794 @item No space-leak when forking a large number of threads.
11795 @item Correct handling of asynchronous exceptions.
11796 @item GHC specific functionality like @code{forkOn} and
11797 @code{forkIOWithUnmask}.
11798 @end itemize")
11799 (license license:bsd-3)))
11800
11801 (define-public ghc-th-reify-many
11802 (package
11803 (name "ghc-th-reify-many")
11804 (version "0.1.9")
11805 (source (origin
11806 (method url-fetch)
11807 (uri (string-append "https://hackage.haskell.org/package/"
11808 "th-reify-many/th-reify-many-"
11809 version ".tar.gz"))
11810 (sha256
11811 (base32
11812 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
11813 (build-system haskell-build-system)
11814 (inputs
11815 `(("ghc-safe" ,ghc-safe)
11816 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11817 (home-page "https://github.com/mgsloan/th-reify-many")
11818 (synopsis "Recurseively reify template haskell datatype info")
11819 (description
11820 "th-reify-many provides functions for recursively reifying top level
11821 declarations. The main intended use case is for enumerating the names of
11822 datatypes reachable from an initial datatype, and passing these names to some
11823 function which generates instances.")
11824 (license license:bsd-3)))
11825
11826 (define-public ghc-time-compat
11827 (package
11828 (name "ghc-time-compat")
11829 (version "1.9.2.2")
11830 (source
11831 (origin
11832 (method url-fetch)
11833 (uri (string-append "https://hackage.haskell.org/package/"
11834 "time-compat/time-compat-" version ".tar.gz"))
11835 (sha256
11836 (base32
11837 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11838 (build-system haskell-build-system)
11839 (inputs
11840 `(("ghc-base-orphans" ,ghc-base-orphans)))
11841 (native-inputs
11842 `(("ghc-hunit" ,ghc-hunit)
11843 ("ghc-base-compat" ,ghc-base-compat)
11844 ("ghc-quickcheck" ,ghc-quickcheck)
11845 ("ghc-tagged" ,ghc-tagged)
11846 ("ghc-tasty" ,ghc-tasty)
11847 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11848 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11849 (arguments
11850 `(#:cabal-revision
11851 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11852 (home-page "https://github.com/phadej/time-compat")
11853 (synopsis "Compatibility package for time")
11854 (description "This package tries to compat as many @code{time}
11855 features as possible.")
11856 (license license:bsd-3)))
11857
11858 (define-public ghc-time-locale-compat
11859 (package
11860 (name "ghc-time-locale-compat")
11861 (version "0.1.1.5")
11862 (source
11863 (origin
11864 (method url-fetch)
11865 (uri (string-append "https://hackage.haskell.org/package/"
11866 "time-locale-compat/time-locale-compat-"
11867 version ".tar.gz"))
11868 (sha256
11869 (base32
11870 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11871 (build-system haskell-build-system)
11872 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11873 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11874 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11875 (description "This package contains a wrapped name module for
11876 @code{TimeLocale}.")
11877 (license license:bsd-3)))
11878
11879 (define-public ghc-time-manager
11880 (package
11881 (name "ghc-time-manager")
11882 (version "0.0.0")
11883 (source
11884 (origin
11885 (method url-fetch)
11886 (uri (string-append "https://hackage.haskell.org/package/"
11887 "time-manager/time-manager-" version ".tar.gz"))
11888 (sha256
11889 (base32
11890 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11891 (build-system haskell-build-system)
11892 (inputs
11893 `(("ghc-auto-update" ,ghc-auto-update)))
11894 (home-page "https://github.com/yesodweb/wai")
11895 (synopsis "Scalable timer")
11896 (description "This library contains scalable timer functions provided by a
11897 timer manager.")
11898 (license license:expat)))
11899
11900 (define-public ghc-timeit
11901 (package
11902 (name "ghc-timeit")
11903 (version "2.0")
11904 (source
11905 (origin
11906 (method url-fetch)
11907 (uri
11908 (string-append
11909 "https://hackage.haskell.org/package/timeit/timeit-"
11910 version ".tar.gz"))
11911 (sha256
11912 (base32
11913 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11914 (build-system haskell-build-system)
11915 (home-page "https://github.com/merijn/timeit")
11916 (synopsis "Time monadic computations with an IO base")
11917 (description "This package provides a simple wrapper to show the
11918 used CPU time of monadic computation with an IO base.")
11919 (license license:bsd-3)))
11920
11921 (define-public ghc-timezone-series
11922 (package
11923 (name "ghc-timezone-series")
11924 (version "0.1.9")
11925 (source
11926 (origin
11927 (method url-fetch)
11928 (uri
11929 (string-append
11930 "mirror://hackage/package/timezone-series/timezone-series-"
11931 version ".tar.gz"))
11932 (sha256
11933 (base32
11934 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11935 (build-system haskell-build-system)
11936 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11937 (synopsis "Enhanced timezone handling for Time")
11938 (description
11939 "This package endows @code{Data.Time}, from the time package, with several
11940 data types and functions for enhanced processing of timezones. For one way to
11941 create timezone series, see the ghc-timezone-olson package.")
11942 (license license:bsd-3)))
11943
11944 (define-public ghc-timezone-olson
11945 (package
11946 (name "ghc-timezone-olson")
11947 (version "0.1.9")
11948 (source
11949 (origin
11950 (method url-fetch)
11951 (uri
11952 (string-append
11953 "mirror://hackage/package/timezone-olson/timezone-olson-"
11954 version ".tar.gz"))
11955 (sha256
11956 (base32
11957 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11958 (build-system haskell-build-system)
11959 (inputs
11960 `(("ghc-timezone-series" ,ghc-timezone-series)
11961 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11962 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11963 (synopsis "Parser and renderer for binary Olson timezone files")
11964 (description
11965 "A parser and renderer for binary Olson timezone files whose format
11966 is specified by the tzfile(5) man page on Unix-like systems. For more
11967 information about this format, see
11968 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11969 are provided for converting the parsed data into @code{TimeZoneSeries}
11970 objects from the timezone-series package.")
11971 (license license:bsd-3)))
11972
11973 (define-public ghc-tldr
11974 (package
11975 (name "ghc-tldr")
11976 (version "0.4.0.2")
11977 (source
11978 (origin
11979 (method url-fetch)
11980 (uri (string-append
11981 "https://hackage.haskell.org/package/tldr/tldr-"
11982 version
11983 ".tar.gz"))
11984 (sha256
11985 (base32
11986 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
11987 (build-system haskell-build-system)
11988 (inputs
11989 `(("ghc-cmark" ,ghc-cmark)
11990 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11991 ("ghc-typed-process" ,ghc-typed-process)
11992 ("ghc-semigroups" ,ghc-semigroups)))
11993 (native-inputs
11994 `(("ghc-tasty" ,ghc-tasty)
11995 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11996 (home-page "https://github.com/psibi/tldr-hs#readme")
11997 (synopsis "Haskell tldr client")
11998 (description "This package provides the @command{tldr} command and a
11999 Haskell client library allowing users to update and view @code{tldr} pages
12000 from a shell. The @code{tldr} pages are a community effort to simplify the
12001 man pages with practical examples.")
12002 (license license:bsd-3)))
12003
12004 (define-public ghc-transformers-base
12005 (package
12006 (name "ghc-transformers-base")
12007 (version "0.4.5.2")
12008 (source
12009 (origin
12010 (method url-fetch)
12011 (uri (string-append
12012 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12013 version
12014 ".tar.gz"))
12015 (sha256
12016 (base32
12017 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12018 (build-system haskell-build-system)
12019 (inputs
12020 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12021 (home-page
12022 "https://hackage.haskell.org/package/transformers-compat")
12023 (synopsis
12024 "Backported transformer library")
12025 (description
12026 "Backported versions of types that were added to transformers in
12027 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12028 compatibility to run on old versions of the platform.")
12029 (license license:bsd-3)))
12030
12031 (define-public ghc-transformers-compat
12032 (package
12033 (name "ghc-transformers-compat")
12034 (version "0.6.5")
12035 (source
12036 (origin
12037 (method url-fetch)
12038 (uri (string-append
12039 "https://hackage.haskell.org/package/transformers-compat"
12040 "/transformers-compat-" version ".tar.gz"))
12041 (sha256
12042 (base32
12043 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
12044 (build-system haskell-build-system)
12045 (home-page "https://github.com/ekmett/transformers-compat/")
12046 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12047 (description "This package includes backported versions of types that were
12048 added to transformers in transformers 0.3 and 0.4 for users who need strict
12049 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12050 but also need those types.")
12051 (license license:bsd-3)))
12052
12053 (define-public ghc-tree-diff
12054 (package
12055 (name "ghc-tree-diff")
12056 (version "0.1")
12057 (source
12058 (origin
12059 (method url-fetch)
12060 (uri (string-append
12061 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12062 version
12063 ".tar.gz"))
12064 (sha256
12065 (base32
12066 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
12067 (build-system haskell-build-system)
12068 (inputs
12069 `(("ghc-aeson" ,ghc-aeson)
12070 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12071 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12072 ("ghc-base-compat" ,ghc-base-compat)
12073 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
12074 ("ghc-hashable" ,ghc-hashable)
12075 ("ghc-parsers" ,ghc-parsers)
12076 ("ghc-quickcheck" ,ghc-quickcheck)
12077 ("ghc-scientific" ,ghc-scientific)
12078 ("ghc-tagged" ,ghc-tagged)
12079 ("ghc-unordered-containers" ,ghc-unordered-containers)
12080 ("ghc-uuid-types" ,ghc-uuid-types)
12081 ("ghc-vector" ,ghc-vector)))
12082 (native-inputs
12083 `(("ghc-base-compat" ,ghc-base-compat)
12084 ("ghc-quickcheck" ,ghc-quickcheck)
12085 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12086 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12087 ("ghc-trifecta" ,ghc-trifecta)
12088 ("ghc-tasty" ,ghc-tasty)
12089 ("ghc-tasty-golden" ,ghc-tasty-golden)
12090 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12091 (home-page "https://github.com/phadej/tree-diff")
12092 (synopsis "Compute difference between (expression) trees")
12093 (description "This Haskell library provides a function for computing
12094 the difference between (expression) trees. It also provides a way to
12095 compute the difference between arbitrary abstract datatypes (ADTs) using
12096 @code{Generics}-derivable helpers.")
12097 (license license:bsd-3)))
12098
12099 (define-public ghc-trifecta
12100 (package
12101 (name "ghc-trifecta")
12102 (version "2")
12103 (source (origin
12104 (method url-fetch)
12105 (uri (string-append
12106 "https://hackage.haskell.org/package/trifecta/"
12107 "trifecta-" version ".tar.gz"))
12108 (sha256
12109 (base32
12110 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12111 (build-system haskell-build-system)
12112 (arguments
12113 `(#:tests? #f ; doctest suite fails to build on i686
12114 #:cabal-revision
12115 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
12116 (inputs
12117 `(("ghc-reducers" ,ghc-reducers)
12118 ("ghc-semigroups" ,ghc-semigroups)
12119 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12120 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12121 ("ghc-blaze-builder" ,ghc-blaze-builder)
12122 ("ghc-blaze-html" ,ghc-blaze-html)
12123 ("ghc-blaze-markup" ,ghc-blaze-markup)
12124 ("ghc-charset" ,ghc-charset)
12125 ("ghc-comonad" ,ghc-comonad)
12126 ("ghc-fingertree" ,ghc-fingertree)
12127 ("ghc-hashable" ,ghc-hashable)
12128 ("ghc-lens" ,ghc-lens)
12129 ("ghc-parsers" ,ghc-parsers)
12130 ("ghc-profunctors" ,ghc-profunctors)
12131 ("ghc-unordered-containers" ,ghc-unordered-containers)
12132 ("ghc-utf8-string" ,ghc-utf8-string)))
12133 (native-inputs
12134 `(("cabal-doctest" ,cabal-doctest)
12135 ("ghc-doctest" ,ghc-doctest)
12136 ("ghc-quickcheck" ,ghc-quickcheck)))
12137 (home-page "https://github.com/ekmett/trifecta/")
12138 (synopsis "Parser combinator library with convenient diagnostics")
12139 (description "Trifecta is a modern parser combinator library for Haskell,
12140 with slicing and Clang-style colored diagnostics.")
12141 (license license:bsd-3)))
12142
12143 (define-public ghc-tuple-th
12144 (package
12145 (name "ghc-tuple-th")
12146 (version "0.2.5")
12147 (source
12148 (origin
12149 (method url-fetch)
12150 (uri (string-append "https://hackage.haskell.org/package/"
12151 "tuple-th-" version "/"
12152 "tuple-th-" version ".tar.gz"))
12153 (sha256
12154 (base32
12155 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12156 (build-system haskell-build-system)
12157 (home-page "https://github.com/DanielSchuessler/tuple-th")
12158 (synopsis "Generate utility functions for tuples of statically known size
12159 for Haskell")
12160 (description "This Haskell package contains Template Haskell functions for
12161 generating functions similar to those in @code{Data.List} for tuples of
12162 statically known size.")
12163 (license license:bsd-3)))
12164
12165 (define-public ghc-typed-process
12166 (package
12167 (name "ghc-typed-process")
12168 (version "0.2.6.0")
12169 (source
12170 (origin
12171 (method url-fetch)
12172 (uri (string-append "https://hackage.haskell.org/package/"
12173 "typed-process/typed-process-"
12174 version ".tar.gz"))
12175 (sha256
12176 (base32
12177 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
12178 (build-system haskell-build-system)
12179 (inputs
12180 `(("ghc-async" ,ghc-async)
12181 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12182 (native-inputs
12183 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12184 ("ghc-hspec" ,ghc-hspec)
12185 ("hspec-discover" ,hspec-discover)
12186 ("ghc-temporary" ,ghc-temporary)))
12187 (home-page "https://haskell-lang.org/library/typed-process")
12188 (synopsis "Run external processes with strong typing of streams")
12189 (description
12190 "This library provides the ability to launch and interact with external
12191 processes. It wraps around the @code{process} library, and intends to improve
12192 upon it.")
12193 (license license:expat)))
12194
12195 (define-public ghc-unagi-chan
12196 (package
12197 (name "ghc-unagi-chan")
12198 (version "0.4.1.2")
12199 (source
12200 (origin
12201 (method url-fetch)
12202 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12203 "/unagi-chan-" version ".tar.gz"))
12204 (sha256
12205 (base32
12206 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12207 (build-system haskell-build-system)
12208 (inputs
12209 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12210 ("ghc-primitive" ,ghc-primitive)))
12211 (arguments
12212 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12213 #:cabal-revision
12214 ("1"
12215 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
12216 (home-page "http://hackage.haskell.org/package/unagi-chan")
12217 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12218 (description
12219 "This library provides implementations of concurrent FIFO queues (for
12220 both general boxed and primitive unboxed values) that are fast, perform well
12221 under contention, and offer a Chan-like interface. The library may be of
12222 limited usefulness outside of x86 architectures where the fetch-and-add
12223 instruction is not available.")
12224 (license license:bsd-3)))
12225
12226 (define-public ghc-unbounded-delays
12227 (package
12228 (name "ghc-unbounded-delays")
12229 (version "0.1.1.0")
12230 (source
12231 (origin
12232 (method url-fetch)
12233 (uri (string-append
12234 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12235 version
12236 ".tar.gz"))
12237 (sha256
12238 (base32
12239 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12240 (build-system haskell-build-system)
12241 (home-page "https://github.com/basvandijk/unbounded-delays")
12242 (synopsis "Unbounded thread delays and timeouts")
12243 (description "The @code{threadDelay} and @code{timeout} functions from the
12244 Haskell base library use the bounded @code{Int} type for specifying the delay
12245 or timeout period. This package provides alternative functions which use the
12246 unbounded @code{Integer} type.")
12247 (license license:bsd-3)))
12248
12249 (define-public ghc-unexceptionalio
12250 (package
12251 (name "ghc-unexceptionalio")
12252 (version "0.4.0")
12253 (source
12254 (origin
12255 (method url-fetch)
12256 (uri (string-append "https://hackage.haskell.org/package/"
12257 "unexceptionalio-" version "/" "unexceptionalio-"
12258 version ".tar.gz"))
12259 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12260 (build-system haskell-build-system)
12261 (home-page "https://github.com/singpolyma/unexceptionalio")
12262 (synopsis "IO without any non-error, synchronous exceptions")
12263 (description "When you've caught all the exceptions that can be
12264 handled safely, this is what you're left with.")
12265 (license license:isc)))
12266
12267 (define-public ghc-unicode-transforms
12268 (package
12269 (name "ghc-unicode-transforms")
12270 (version "0.3.6")
12271 (source
12272 (origin
12273 (method url-fetch)
12274 (uri (string-append "https://hackage.haskell.org/package/"
12275 "unicode-transforms/unicode-transforms-"
12276 version ".tar.gz"))
12277 (sha256
12278 (base32
12279 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12280 (build-system haskell-build-system)
12281 (inputs
12282 `(("ghc-bitarray" ,ghc-bitarray)))
12283 (native-inputs
12284 `(("ghc-quickcheck" ,ghc-quickcheck)
12285 ("ghc-getopt-generics" ,ghc-getopt-generics)
12286 ("ghc-split" ,ghc-split)))
12287 (home-page "https://github.com/composewell/unicode-transforms")
12288 (synopsis "Unicode normalization")
12289 (description "This library provides tools for fast Unicode 12.1.0
12290 normalization in Haskell (normalization forms C, KC, D, and KD).")
12291 (license license:bsd-3)))
12292
12293 (define-public ghc-union-find
12294 (package
12295 (name "ghc-union-find")
12296 (version "0.2")
12297 (source (origin
12298 (method url-fetch)
12299 (uri (string-append
12300 "https://hackage.haskell.org/package/union-find/union-find-"
12301 version ".tar.gz"))
12302 (sha256
12303 (base32
12304 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12305 (build-system haskell-build-system)
12306 (home-page "https://github.com/nominolo/union-find")
12307 (synopsis "Efficient union and equivalence testing of sets")
12308 (description
12309 "The Union/Find algorithm implements these operations in (effectively)
12310 constant-time:
12311 @enumerate
12312 @item Check whether two elements are in the same equivalence class.
12313 @item Create a union of two equivalence classes.
12314 @item Look up the descriptor of the equivalence class.
12315 @end enumerate\n")
12316 (license license:bsd-3)))
12317
12318 (define-public ghc-uniplate
12319 (package
12320 (name "ghc-uniplate")
12321 (version "1.6.12")
12322 (source
12323 (origin
12324 (method url-fetch)
12325 (uri (string-append
12326 "https://hackage.haskell.org/package/uniplate/uniplate-"
12327 version
12328 ".tar.gz"))
12329 (sha256
12330 (base32
12331 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12332 (build-system haskell-build-system)
12333 (inputs
12334 `(("ghc-syb" ,ghc-syb)
12335 ("ghc-hashable" ,ghc-hashable)
12336 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12337 (home-page "http://community.haskell.org/~ndm/uniplate/")
12338 (synopsis "Simple, concise and fast generic operations")
12339 (description "Uniplate is a library for writing simple and concise generic
12340 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12341 work, but is substantially simpler and faster.")
12342 (license license:bsd-3)))
12343
12344 (define-public ghc-unix-compat
12345 (package
12346 (name "ghc-unix-compat")
12347 (version "0.5.2")
12348 (source
12349 (origin
12350 (method url-fetch)
12351 (uri (string-append
12352 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12353 version
12354 ".tar.gz"))
12355 (sha256
12356 (base32
12357 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
12358 (build-system haskell-build-system)
12359 (home-page
12360 "https://github.com/jystic/unix-compat")
12361 (synopsis "Portable POSIX-compatibility layer")
12362 (description
12363 "This package provides portable implementations of parts of the unix
12364 package. This package re-exports the unix package when available. When it
12365 isn't available, portable implementations are used.")
12366 (license license:bsd-3)))
12367
12368 (define-public ghc-unix-time
12369 (package
12370 (name "ghc-unix-time")
12371 (version "0.4.7")
12372 (source
12373 (origin
12374 (method url-fetch)
12375 (uri (string-append
12376 "https://hackage.haskell.org/package/unix-time/unix-time-"
12377 version
12378 ".tar.gz"))
12379 (sha256
12380 (base32
12381 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
12382 (build-system haskell-build-system)
12383 (arguments
12384 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12385 ; is weird, that should be provided by GHC 7.10.2.
12386 (inputs
12387 `(("ghc-old-time" ,ghc-old-time)
12388 ("ghc-old-locale" ,ghc-old-locale)))
12389 (home-page "https://hackage.haskell.org/package/unix-time")
12390 (synopsis "Unix time parser/formatter and utilities")
12391 (description "This library provides fast parsing and formatting utilities
12392 for Unix time in Haskell.")
12393 (license license:bsd-3)))
12394
12395 (define-public ghc-unliftio
12396 (package
12397 (name "ghc-unliftio")
12398 (version "0.2.12")
12399 (source
12400 (origin
12401 (method url-fetch)
12402 (uri (string-append
12403 "https://hackage.haskell.org/package/unliftio/unliftio-"
12404 version
12405 ".tar.gz"))
12406 (sha256
12407 (base32
12408 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
12409 (build-system haskell-build-system)
12410 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12411 (inputs
12412 `(("ghc-async" ,ghc-async)
12413 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12414 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12415 (home-page "https://github.com/fpco/unliftio")
12416 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12417 IO (batteries included)")
12418 (description "This Haskell package provides the core @code{MonadUnliftIO}
12419 typeclass, a number of common instances, and a collection of common functions
12420 working with it.")
12421 (license license:expat)))
12422
12423 (define-public ghc-unliftio-core
12424 (package
12425 (name "ghc-unliftio-core")
12426 (version "0.1.2.0")
12427 (source
12428 (origin
12429 (method url-fetch)
12430 (uri (string-append "https://hackage.haskell.org/package/"
12431 "unliftio-core-" version "/"
12432 "unliftio-core-" version ".tar.gz"))
12433 (sha256
12434 (base32
12435 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
12436 (build-system haskell-build-system)
12437 (arguments
12438 `(#:cabal-revision
12439 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
12440 (home-page
12441 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12442 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12443 (description "This Haskell package provides the core @code{MonadUnliftIO}
12444 typeclass, instances for base and transformers, and basic utility
12445 functions.")
12446 (license license:expat)))
12447
12448 (define-public ghc-unordered-containers
12449 (package
12450 (name "ghc-unordered-containers")
12451 (version "0.2.10.0")
12452 (outputs '("out" "doc"))
12453 (source
12454 (origin
12455 (method url-fetch)
12456 (uri (string-append
12457 "https://hackage.haskell.org/package/unordered-containers"
12458 "/unordered-containers-" version ".tar.gz"))
12459 (sha256
12460 (base32
12461 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
12462 (build-system haskell-build-system)
12463 (inputs
12464 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12465 ("ghc-hunit" ,ghc-hunit)
12466 ("ghc-quickcheck" ,ghc-quickcheck)
12467 ("ghc-test-framework" ,ghc-test-framework)
12468 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12469 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12470 ("ghc-hashable" ,ghc-hashable)))
12471 (home-page
12472 "https://github.com/tibbe/unordered-containers")
12473 (synopsis
12474 "Efficient hashing-based container types")
12475 (description
12476 "Efficient hashing-based container types. The containers have been
12477 optimized for performance critical use, both in terms of large data quantities
12478 and high speed.")
12479 (license license:bsd-3)))
12480
12481 (define-public ghc-unordered-containers-bootstrap
12482 (package
12483 (inherit ghc-unordered-containers)
12484 (name "ghc-unordered-containers-bootstrap")
12485 (arguments `(#:tests? #f))
12486 (inputs
12487 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
12488 (properties '((hidden? #t)))))
12489
12490 (define-public ghc-unsafe
12491 (package
12492 (name "ghc-unsafe")
12493 (version "0.0")
12494 (source
12495 (origin
12496 (method url-fetch)
12497 (uri
12498 (string-append
12499 "https://hackage.haskell.org/package/unsafe/unsafe-"
12500 version ".tar.gz"))
12501 (sha256
12502 (base32
12503 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12504 (build-system haskell-build-system)
12505 (home-page "https://hackage.haskell.org/package/unsafe")
12506 (synopsis "Unified interface to unsafe functions")
12507 (description "Safe Haskell introduced the notion of safe and unsafe
12508 modules. In order to make as many as possible modules ``safe'', the
12509 well-known unsafe functions were moved to distinguished modules. This
12510 makes it hard to write packages that work with both old and new versions
12511 of GHC. This package provides a single module System.Unsafe that
12512 exports the unsafe functions from the base package. It provides them in
12513 a style ready for qualification, that is, you should import them by
12514 @code{import qualified System.Unsafe as Unsafe}.")
12515 (license license:bsd-3)))
12516
12517 (define-public ghc-uri-bytestring
12518 (package
12519 (name "ghc-uri-bytestring")
12520 (version "0.3.2.2")
12521 (source
12522 (origin
12523 (method url-fetch)
12524 (uri (string-append "https://hackage.haskell.org/package/"
12525 "uri-bytestring-" version "/"
12526 "uri-bytestring-" version ".tar.gz"))
12527 (sha256
12528 (base32
12529 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
12530 (build-system haskell-build-system)
12531 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12532 ("ghc-blaze-builder" ,ghc-blaze-builder)
12533 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
12534 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12535 ("ghc-tasty" ,ghc-tasty)
12536 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12537 ("ghc-hedgehog" ,ghc-hedgehog)
12538 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
12539 ("ghc-base-compat" ,ghc-base-compat)
12540 ("ghc-semigroups" ,ghc-semigroups)
12541 ("ghc-safe" ,ghc-safe)))
12542 (home-page "https://github.com/Soostone/uri-bytestring")
12543 (synopsis "Haskell URI parsing as ByteStrings")
12544 (description "This Haskell package aims to be an RFC3986 compliant URI
12545 parser that uses ByteStrings for parsing and representing the URI data.")
12546 (license license:bsd-3)))
12547
12548 (define-public ghc-utf8-string
12549 (package
12550 (name "ghc-utf8-string")
12551 (version "1.0.1.1")
12552 (source
12553 (origin
12554 (method url-fetch)
12555 (uri (string-append
12556 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12557 version
12558 ".tar.gz"))
12559 (sha256
12560 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12561 (build-system haskell-build-system)
12562 (arguments
12563 `(#:cabal-revision
12564 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12565 (home-page "https://github.com/glguy/utf8-string/")
12566 (synopsis "Support for reading and writing UTF8 Strings")
12567 (description
12568 "A UTF8 layer for Strings. The utf8-string package provides operations
12569 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12570 UTF8 without truncation.")
12571 (license license:bsd-3)))
12572
12573 (define-public ghc-utility-ht
12574 (package
12575 (name "ghc-utility-ht")
12576 (version "0.0.14")
12577 (home-page "https://hackage.haskell.org/package/utility-ht")
12578 (source
12579 (origin
12580 (method url-fetch)
12581 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12582 (sha256
12583 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12584 (build-system haskell-build-system)
12585 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12586 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12587 (description "This package includes Hakell modules providing various
12588 helper functions for Lists, Maybes, Tuples, Functions.")
12589 (license license:bsd-3)))
12590
12591 (define-public ghc-uuid
12592 (package
12593 (name "ghc-uuid")
12594 (version "1.3.13")
12595 (source
12596 (origin
12597 (method url-fetch)
12598 (uri (string-append "https://hackage.haskell.org/package/"
12599 "uuid-" version "/"
12600 "uuid-" version ".tar.gz"))
12601 (sha256
12602 (base32
12603 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12604 (build-system haskell-build-system)
12605 (arguments
12606 `(#:cabal-revision
12607 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12608 #:phases
12609 (modify-phases %standard-phases
12610 (add-before 'configure 'strip-test-framework-constraints
12611 (lambda _
12612 (substitute* "uuid.cabal"
12613 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12614 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12615 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12616 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12617 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12618 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12619 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12620 ("ghc-entropy" ,ghc-entropy)
12621 ("ghc-network-info" ,ghc-network-info)
12622 ("ghc-random" ,ghc-random)
12623 ("ghc-uuid-types" ,ghc-uuid-types)))
12624 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12625 ("ghc-quickcheck" ,ghc-quickcheck)
12626 ("ghc-tasty" ,ghc-tasty)
12627 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12628 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12629 (home-page "https://github.com/hvr/uuid")
12630 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12631 (description "This Haskell library provides utilities creating, comparing,
12632 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12633 (license license:bsd-3)))
12634
12635 (define-public ghc-uuid-types
12636 (package
12637 (name "ghc-uuid-types")
12638 (version "1.0.3")
12639 (source
12640 (origin
12641 (method url-fetch)
12642 (uri (string-append "https://hackage.haskell.org/package/"
12643 "uuid-types-" version "/"
12644 "uuid-types-" version ".tar.gz"))
12645 (sha256
12646 (base32
12647 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12648 (build-system haskell-build-system)
12649 (arguments
12650 `(#:phases
12651 (modify-phases %standard-phases
12652 (add-before 'configure 'strip-test-framework-constraints
12653 (lambda _
12654 (substitute* "uuid-types.cabal"
12655 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12656 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12657 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12658 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12659 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12660 (inputs `(("ghc-hashable" ,ghc-hashable)
12661 ("ghc-random" ,ghc-random)))
12662 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12663 ("ghc-quickcheck" ,ghc-quickcheck)
12664 ("ghc-tasty" ,ghc-tasty)
12665 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12666 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12667 (home-page "https://github.com/hvr/uuid")
12668 (synopsis "Haskell type definitions for UUIDs")
12669 (description "This Haskell library contains type definitions for
12670 @dfn{Universally Unique Identifiers} or
12671 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12672 functions.")
12673 (license license:bsd-3)))
12674
12675 (define-public ghc-validation
12676 (package
12677 (name "ghc-validation")
12678 (version "1.1")
12679 (source
12680 (origin
12681 (method url-fetch)
12682 (uri (string-append
12683 "mirror://hackage/package/validation/validation-"
12684 version
12685 ".tar.gz"))
12686 (sha256
12687 (base32
12688 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
12689 (build-system haskell-build-system)
12690 (arguments
12691 `(#:cabal-revision
12692 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
12693 (inputs
12694 `(("ghc-semigroups" ,ghc-semigroups)
12695 ("ghc-semigroupoids" ,ghc-semigroupoids)
12696 ("ghc-bifunctors" ,ghc-bifunctors)
12697 ("ghc-lens" ,ghc-lens)))
12698 (native-inputs
12699 `(("ghc-hedgehog" ,ghc-hedgehog)
12700 ("ghc-hunit" ,ghc-hunit)))
12701 (home-page "https://github.com/qfpl/validation")
12702 (synopsis
12703 "Data-type like Either but with an accumulating Applicative")
12704 (description
12705 "A data-type like Either but with differing properties and type-class
12706 instances.
12707
12708 Library support is provided for this different representation, including
12709 @code{lens}-related functions for converting between each and abstracting over
12710 their similarities.
12711
12712 The @code{Validation} data type is isomorphic to @code{Either}, but has an
12713 instance of @code{Applicative} that accumulates on the error side. That is to
12714 say, if two (or more) errors are encountered, they are appended using a
12715 @{Semigroup} operation.
12716
12717 As a consequence of this @code{Applicative} instance, there is no
12718 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12719 example of, \"An applicative functor that is not a monad.\"")
12720 (license license:bsd-3)))
12721
12722 (define-public ghc-validity
12723 (package
12724 (name "ghc-validity")
12725 (version "0.9.0.2")
12726 (source
12727 (origin
12728 (method url-fetch)
12729 (uri (string-append
12730 "https://hackage.haskell.org/package/validity/validity-"
12731 version
12732 ".tar.gz"))
12733 (sha256
12734 (base32
12735 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
12736 (build-system haskell-build-system)
12737 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12738 ("hspec-discover" ,hspec-discover)))
12739 (home-page
12740 "https://github.com/NorfairKing/validity")
12741 (synopsis "Validity typeclass")
12742 (description
12743 "Values of custom types usually have invariants imposed upon them. This
12744 package provides the @code{Validity} type class, which makes these invariants
12745 explicit by providing a function to check whether the invariants hold.")
12746 (license license:expat)))
12747
12748 (define-public ghc-vault
12749 (package
12750 (name "ghc-vault")
12751 (version "0.3.1.3")
12752 (source
12753 (origin
12754 (method url-fetch)
12755 (uri (string-append
12756 "https://hackage.haskell.org/package/vault/vault-"
12757 version
12758 ".tar.gz"))
12759 (sha256
12760 (base32
12761 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
12762 (build-system haskell-build-system)
12763 (inputs
12764 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12765 ("ghc-hashable" ,ghc-hashable)
12766 ("ghc-semigroups" ,ghc-semigroups)))
12767 (home-page
12768 "https://github.com/HeinrichApfelmus/vault")
12769 (synopsis "Persistent store for arbitrary values")
12770 (description "This package provides vaults for Haskell. A vault is a
12771 persistent store for values of arbitrary types. It's like having first-class
12772 access to the storage space behind @code{IORefs}. The data structure is
12773 analogous to a bank vault, where you can access different bank boxes with
12774 different keys; hence the name. Also provided is a @code{locker} type,
12775 representing a store for a single element.")
12776 (license license:bsd-3)))
12777
12778 (define-public ghc-vector
12779 (package
12780 (name "ghc-vector")
12781 (version "0.12.0.3")
12782 (outputs '("out" "doc"))
12783 (source
12784 (origin
12785 (method url-fetch)
12786 (uri (string-append
12787 "https://hackage.haskell.org/package/vector/vector-"
12788 version
12789 ".tar.gz"))
12790 (sha256
12791 (base32
12792 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
12793 (build-system haskell-build-system)
12794 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12795 ;; disabled for now.
12796 (arguments
12797 `(#:tests? #f))
12798 (inputs
12799 `(("ghc-primitive" ,ghc-primitive)
12800 ("ghc-random" ,ghc-random)
12801 ("ghc-quickcheck" ,ghc-quickcheck)
12802 ;; ("ghc-hunit" ,ghc-hunit)
12803 ;; ("ghc-test-framework" ,ghc-test-framework)
12804 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12805 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12806 ))
12807 (home-page "https://github.com/haskell/vector")
12808 (synopsis "Efficient Arrays")
12809 (description "This library provides an efficient implementation of
12810 Int-indexed arrays (both mutable and immutable), with a powerful loop
12811 optimisation framework.")
12812 (license license:bsd-3)))
12813
12814 (define-public ghc-vector-algorithms
12815 (package
12816 (name "ghc-vector-algorithms")
12817 (version "0.8.0.1")
12818 (source
12819 (origin
12820 (method url-fetch)
12821 (uri (string-append "https://hackage.haskell.org/package/"
12822 "vector-algorithms-" version "/"
12823 "vector-algorithms-" version ".tar.gz"))
12824 (sha256
12825 (base32
12826 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
12827 (build-system haskell-build-system)
12828 (inputs
12829 `(("ghc-vector" ,ghc-vector)))
12830 (native-inputs
12831 `(("ghc-quickcheck" ,ghc-quickcheck)))
12832 (home-page "https://github.com/bos/math-functions")
12833 (synopsis "Algorithms for vector arrays in Haskell")
12834 (description "This Haskell library algorithms for vector arrays.")
12835 (license license:bsd-3)))
12836
12837 (define-public ghc-vector-binary-instances
12838 (package
12839 (name "ghc-vector-binary-instances")
12840 (version "0.2.5.1")
12841 (source
12842 (origin
12843 (method url-fetch)
12844 (uri (string-append
12845 "https://hackage.haskell.org/package/"
12846 "vector-binary-instances/vector-binary-instances-"
12847 version ".tar.gz"))
12848 (sha256
12849 (base32
12850 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
12851 (build-system haskell-build-system)
12852 (inputs
12853 `(("ghc-vector" ,ghc-vector)))
12854 (native-inputs
12855 `(("ghc-tasty" ,ghc-tasty)
12856 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12857 (home-page "https://github.com/bos/vector-binary-instances")
12858 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12859 (description "This library provides instances of @code{Binary} for the
12860 types defined in the @code{vector} package, making it easy to serialize
12861 vectors to and from disk. We use the generic interface to vectors, so all
12862 vector types are supported. Specific instances are provided for unboxed,
12863 boxed and storable vectors.")
12864 (license license:bsd-3)))
12865
12866 (define-public ghc-vector-builder
12867 (package
12868 (name "ghc-vector-builder")
12869 (version "0.3.8")
12870 (source
12871 (origin
12872 (method url-fetch)
12873 (uri (string-append "https://hackage.haskell.org/package/"
12874 "vector-builder-" version "/"
12875 "vector-builder-" version ".tar.gz"))
12876 (sha256
12877 (base32
12878 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
12879 (build-system haskell-build-system)
12880 (inputs `(("ghc-vector" ,ghc-vector)
12881 ("ghc-semigroups" ,ghc-semigroups)
12882 ("ghc-base-prelude" ,ghc-base-prelude)))
12883 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12884 ("ghc-tasty" ,ghc-tasty)
12885 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12886 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12887 ("ghc-hunit" ,ghc-hunit)
12888 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12889 ("ghc-rerebase" ,ghc-rerebase)))
12890 (home-page "https://github.com/nikita-volkov/vector-builder")
12891 (synopsis "Vector builder for Haskell")
12892 (description "This Haskell package provides an API for constructing vectors.
12893 It provides the composable @code{Builder} abstraction, which has instances of the
12894 @code{Monoid} and @code{Semigroup} classes.
12895
12896 You would first use the @code{Builder} abstraction to specify the structure of
12897 the vector; then you can execute the builder to actually produce the
12898 vector. ")
12899 (license license:expat)))
12900
12901 (define-public ghc-vector-th-unbox
12902 (package
12903 (name "ghc-vector-th-unbox")
12904 (version "0.2.1.7")
12905 (source
12906 (origin
12907 (method url-fetch)
12908 (uri (string-append "https://hackage.haskell.org/package/"
12909 "vector-th-unbox-" version "/"
12910 "vector-th-unbox-" version ".tar.gz"))
12911 (sha256
12912 (base32
12913 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
12914 (build-system haskell-build-system)
12915 (inputs
12916 `(("ghc-vector" ,ghc-vector)
12917 ("ghc-data-default" ,ghc-data-default)))
12918 (home-page "https://github.com/liyang/vector-th-unbox")
12919 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12920 (description "This Haskell library provides a Template Haskell
12921 deriver for unboxed vectors, given a pair of coercion functions to
12922 and from some existing type with an Unbox instance.")
12923 (license license:bsd-3)))
12924
12925 (define-public ghc-void
12926 (package
12927 (name "ghc-void")
12928 (version "0.7.3")
12929 (source
12930 (origin
12931 (method url-fetch)
12932 (uri (string-append
12933 "https://hackage.haskell.org/package/void/void-"
12934 version
12935 ".tar.gz"))
12936 (sha256
12937 (base32
12938 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
12939 (build-system haskell-build-system)
12940 (inputs
12941 `(("ghc-semigroups" ,ghc-semigroups)
12942 ("ghc-hashable" ,ghc-hashable)))
12943 (home-page "https://github.com/ekmett/void")
12944 (synopsis
12945 "Logically uninhabited data type")
12946 (description
12947 "A Haskell 98 logically uninhabited data type, used to indicate that a
12948 given term should not exist.")
12949 (license license:bsd-3)))
12950
12951 (define-public ghc-wave
12952 (package
12953 (name "ghc-wave")
12954 (version "0.2.0")
12955 (source (origin
12956 (method url-fetch)
12957 (uri (string-append
12958 "https://hackage.haskell.org/package/wave/wave-"
12959 version
12960 ".tar.gz"))
12961 (sha256
12962 (base32
12963 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
12964 (build-system haskell-build-system)
12965 (arguments
12966 '(#:phases
12967 (modify-phases %standard-phases
12968 (add-before 'configure 'update-constraints
12969 (lambda _
12970 (substitute* "wave.cabal"
12971 (("temporary.* < 1\\.3")
12972 "temporary >= 1.1 && < 1.4")))))))
12973 (inputs
12974 `(("ghc-cereal" ,ghc-cereal)
12975 ("ghc-data-default-class"
12976 ,ghc-data-default-class)
12977 ("ghc-quickcheck" ,ghc-quickcheck)
12978 ("ghc-temporary" ,ghc-temporary)))
12979 (native-inputs
12980 `(("hspec-discover" ,hspec-discover)
12981 ("ghc-hspec" ,ghc-hspec)))
12982 (home-page "https://github.com/mrkkrp/wave")
12983 (synopsis "Work with WAVE and RF64 files in Haskell")
12984 (description "This package allows you to work with WAVE and RF64
12985 files in Haskell.")
12986 (license license:bsd-3)))
12987
12988 (define-public ghc-wcwidth
12989 (package
12990 (name "ghc-wcwidth")
12991 (version "0.0.2")
12992 (source
12993 (origin
12994 (method url-fetch)
12995 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12996 version ".tar.gz"))
12997 (sha256
12998 (base32
12999 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13000 (build-system haskell-build-system)
13001 (inputs
13002 `(("ghc-setlocale" ,ghc-setlocale)
13003 ("ghc-utf8-string" ,ghc-utf8-string)
13004 ("ghc-attoparsec" ,ghc-attoparsec)))
13005 (home-page "https://github.com/solidsnack/wcwidth/")
13006 (synopsis "Haskell bindings to wcwidth")
13007 (description "This package provides Haskell bindings to your system's
13008 native wcwidth and a command line tool to examine the widths assigned by it.
13009 The command line tool can compile a width table to Haskell code that assigns
13010 widths to the Char type.")
13011 (license license:bsd-3)))
13012
13013 (define-public ghc-wcwidth-bootstrap
13014 (package
13015 (inherit ghc-wcwidth)
13016 (name "ghc-wcwidth-bootstrap")
13017 (inputs
13018 `(("ghc-setlocale" ,ghc-setlocale)
13019 ("ghc-utf8-string" ,ghc-utf8-string)
13020 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
13021 (properties '((hidden? #t)))))
13022
13023 (define-public ghc-weigh
13024 (package
13025 (name "ghc-weigh")
13026 (version "0.0.14")
13027 (source
13028 (origin
13029 (method url-fetch)
13030 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13031 "weigh-" version ".tar.gz"))
13032 (sha256
13033 (base32
13034 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
13035 (build-system haskell-build-system)
13036 (inputs
13037 `(("ghc-split" ,ghc-split)
13038 ("ghc-temporary" ,ghc-temporary)))
13039 (home-page "https://github.com/fpco/weigh#readme")
13040 (synopsis "Measure allocations of a Haskell functions/values")
13041 (description "This package provides tools to measure the memory usage of a
13042 Haskell value or function.")
13043 (license license:bsd-3)))
13044
13045 (define-public ghc-wl-pprint
13046 (package
13047 (name "ghc-wl-pprint")
13048 (version "1.2.1")
13049 (source (origin
13050 (method url-fetch)
13051 (uri (string-append
13052 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13053 version ".tar.gz"))
13054 (sha256
13055 (base32
13056 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13057 (build-system haskell-build-system)
13058 (home-page "https://hackage.haskell.org/package/wl-pprint")
13059 (synopsis "Wadler/Leijen pretty printer")
13060 (description
13061 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13062 Printer}. This version allows the library user to declare overlapping
13063 instances of the @code{Pretty} class.")
13064 (license license:bsd-3)))
13065
13066 (define-public ghc-wl-pprint-annotated
13067 (package
13068 (name "ghc-wl-pprint-annotated")
13069 (version "0.1.0.1")
13070 (source
13071 (origin
13072 (method url-fetch)
13073 (uri (string-append
13074 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13075 version
13076 ".tar.gz"))
13077 (sha256
13078 (base32
13079 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13080 (build-system haskell-build-system)
13081 (native-inputs
13082 `(("ghc-tasty" ,ghc-tasty)
13083 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13084 (home-page
13085 "https://github.com/minad/wl-pprint-annotated#readme")
13086 (synopsis
13087 "Wadler/Leijen pretty printer with annotation support")
13088 (description
13089 "Annotations are useful for coloring. This is a limited version of
13090 @code{wl-pprint-extras} without support for point effects and without the free
13091 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13092 Compared to @code{annotated-wl-pprint} this library provides a slightly
13093 modernized interface.")
13094 (license license:bsd-3)))
13095
13096 (define-public ghc-wl-pprint-text
13097 (package
13098 (name "ghc-wl-pprint-text")
13099 (version "1.2.0.0")
13100 (source
13101 (origin
13102 (method url-fetch)
13103 (uri (string-append
13104 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13105 version ".tar.gz"))
13106 (sha256
13107 (base32
13108 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13109 (build-system haskell-build-system)
13110 (inputs
13111 `(("ghc-base-compat" ,ghc-base-compat)))
13112 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13113 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13114 (description
13115 "A clone of wl-pprint for use with the text library.")
13116 (license license:bsd-3)))
13117
13118 (define-public ghc-word8
13119 (package
13120 (name "ghc-word8")
13121 (version "0.1.3")
13122 (source
13123 (origin
13124 (method url-fetch)
13125 (uri (string-append
13126 "https://hackage.haskell.org/package/word8/word8-"
13127 version
13128 ".tar.gz"))
13129 (sha256
13130 (base32
13131 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13132 (build-system haskell-build-system)
13133 (native-inputs
13134 `(("ghc-hspec" ,ghc-hspec)
13135 ("hspec-discover" ,hspec-discover)))
13136 (home-page "https://hackage.haskell.org/package/word8")
13137 (synopsis "Word8 library for Haskell")
13138 (description "Word8 library to be used with @code{Data.ByteString}.")
13139 (license license:bsd-3)))
13140
13141 (define-public ghc-x11
13142 (package
13143 (name "ghc-x11")
13144 (version "1.9.1")
13145 (source
13146 (origin
13147 (method url-fetch)
13148 (uri (string-append "https://hackage.haskell.org/package/X11/"
13149 "X11-" version ".tar.gz"))
13150 (sha256
13151 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
13152 (build-system haskell-build-system)
13153 (inputs
13154 `(("libx11" ,libx11)
13155 ("libxrandr" ,libxrandr)
13156 ("libxinerama" ,libxinerama)
13157 ("libxscrnsaver" ,libxscrnsaver)
13158 ("ghc-data-default" ,ghc-data-default)))
13159 (home-page "https://github.com/haskell-pkg-janitors/X11")
13160 (synopsis "Bindings to the X11 graphics library")
13161 (description
13162 "This package provides Haskell bindings to the X11 graphics library. The
13163 bindings are a direct translation of the C bindings.")
13164 (license license:bsd-3)))
13165
13166 (define-public ghc-x11-xft
13167 (package
13168 (name "ghc-x11-xft")
13169 (version "0.3.1")
13170 (source
13171 (origin
13172 (method url-fetch)
13173 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13174 "X11-xft-" version ".tar.gz"))
13175 (sha256
13176 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13177 (inputs
13178 `(("ghc-x11" ,ghc-x11)
13179 ("ghc-utf8-string" ,ghc-utf8-string)
13180 ("libx11" ,libx11)
13181 ("libxft" ,libxft)
13182 ("xorgproto" ,xorgproto)))
13183 (native-inputs
13184 `(("pkg-config" ,pkg-config)))
13185 (build-system haskell-build-system)
13186 (home-page "https://hackage.haskell.org/package/X11-xft")
13187 (synopsis "Bindings to Xft")
13188 (description
13189 "Bindings to the Xft, X Free Type interface library, and some Xrender
13190 parts.")
13191 (license license:lgpl2.1)))
13192
13193 (define-public ghc-xdg-basedir
13194 (package
13195 (name "ghc-xdg-basedir")
13196 (version "0.2.2")
13197 (source
13198 (origin
13199 (method url-fetch)
13200 (uri (string-append
13201 "https://hackage.haskell.org/package/xdg-basedir/"
13202 "xdg-basedir-" version ".tar.gz"))
13203 (sha256
13204 (base32
13205 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13206 (build-system haskell-build-system)
13207 (home-page "http://github.com/willdonnelly/xdg-basedir")
13208 (synopsis "XDG Base Directory library for Haskell")
13209 (description "This package provides a library implementing the XDG Base Directory spec.")
13210 (license license:bsd-3)))
13211
13212 (define-public ghc-xml
13213 (package
13214 (name "ghc-xml")
13215 (version "1.3.14")
13216 (source
13217 (origin
13218 (method url-fetch)
13219 (uri (string-append
13220 "https://hackage.haskell.org/package/xml/xml-"
13221 version
13222 ".tar.gz"))
13223 (sha256
13224 (base32
13225 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13226 (build-system haskell-build-system)
13227 (home-page "http://code.galois.com")
13228 (synopsis "Simple XML library for Haskell")
13229 (description "This package provides a simple XML library for Haskell.")
13230 (license license:bsd-3)))
13231
13232 (define-public ghc-xml-conduit
13233 (package
13234 (name "ghc-xml-conduit")
13235 (version "1.8.0.1")
13236 (source
13237 (origin
13238 (method url-fetch)
13239 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13240 "xml-conduit-" version ".tar.gz"))
13241 (sha256
13242 (base32
13243 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13244 (build-system haskell-build-system)
13245 (inputs
13246 `(("ghc-conduit" ,ghc-conduit)
13247 ("ghc-conduit-extra" ,ghc-conduit-extra)
13248 ("ghc-doctest" ,ghc-doctest)
13249 ("ghc-resourcet" ,ghc-resourcet)
13250 ("ghc-xml-types" ,ghc-xml-types)
13251 ("ghc-attoparsec" ,ghc-attoparsec)
13252 ("ghc-data-default-class" ,ghc-data-default-class)
13253 ("ghc-blaze-markup" ,ghc-blaze-markup)
13254 ("ghc-blaze-html" ,ghc-blaze-html)
13255 ("ghc-monad-control" ,ghc-monad-control)
13256 ("ghc-hspec" ,ghc-hspec)
13257 ("ghc-hunit" ,ghc-hunit)))
13258 (home-page "https://github.com/snoyberg/xml")
13259 (synopsis "Utilities for dealing with XML with the conduit package")
13260 (description
13261 "This package provides pure-Haskell utilities for dealing with XML with
13262 the @code{conduit} package.")
13263 (license license:expat)))
13264
13265 (define-public ghc-xml-types
13266 (package
13267 (name "ghc-xml-types")
13268 (version "0.3.6")
13269 (source
13270 (origin
13271 (method url-fetch)
13272 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13273 "xml-types-" version ".tar.gz"))
13274 (sha256
13275 (base32
13276 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13277 (build-system haskell-build-system)
13278 (home-page "https://john-millikin.com/software/haskell-xml/")
13279 (synopsis "Basic types for representing XML")
13280 (description "This package provides basic types for representing XML
13281 documents.")
13282 (license license:expat)))
13283
13284 (define-public ghc-yaml
13285 (package
13286 (name "ghc-yaml")
13287 (version "0.11.1.2")
13288 (source (origin
13289 (method url-fetch)
13290 (uri (string-append "https://hackage.haskell.org/package/"
13291 "yaml/yaml-" version ".tar.gz"))
13292 (sha256
13293 (base32
13294 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
13295 (build-system haskell-build-system)
13296 (inputs
13297 `(("ghc-conduit" ,ghc-conduit)
13298 ("ghc-resourcet" ,ghc-resourcet)
13299 ("ghc-aeson" ,ghc-aeson)
13300 ("ghc-unordered-containers" ,ghc-unordered-containers)
13301 ("ghc-vector" ,ghc-vector)
13302 ("ghc-attoparsec" ,ghc-attoparsec)
13303 ("ghc-scientific" ,ghc-scientific)
13304 ("ghc-semigroups" ,ghc-semigroups)
13305 ("ghc-temporary" ,ghc-temporary)
13306 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
13307 ("ghc-base-compat" ,ghc-base-compat)
13308 ("ghc-libyaml" ,ghc-libyaml)))
13309 (native-inputs
13310 `(("ghc-hspec" ,ghc-hspec)
13311 ("ghc-hunit" ,ghc-hunit)
13312 ("hspec-discover" ,hspec-discover)
13313 ("ghc-mockery" ,ghc-mockery)
13314 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
13315 (home-page "https://github.com/snoyberg/yaml/")
13316 (synopsis "Parsing and rendering YAML documents")
13317 (description
13318 "This package provides a library to parse and render YAML documents.")
13319 (license license:bsd-3)))
13320
13321 (define-public ghc-zip-archive
13322 (package
13323 (name "ghc-zip-archive")
13324 (version "0.4.1")
13325 (source
13326 (origin
13327 (method url-fetch)
13328 (uri (string-append
13329 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13330 version
13331 ".tar.gz"))
13332 (sha256
13333 (base32
13334 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
13335 (build-system haskell-build-system)
13336 (arguments
13337 `(#:phases
13338 (modify-phases %standard-phases
13339 (add-before 'check 'set-PATH-for-tests
13340 (lambda* (#:key inputs #:allow-other-keys)
13341 (let ((unzip (assoc-ref inputs "unzip"))
13342 (which (assoc-ref inputs "which"))
13343 (path (getenv "PATH")))
13344 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13345 #t))))))
13346 (inputs
13347 `(("ghc-digest" ,ghc-digest)
13348 ("ghc-temporary" ,ghc-temporary)
13349 ("ghc-zlib" ,ghc-zlib)))
13350 (native-inputs
13351 `(("ghc-hunit" ,ghc-hunit)
13352 ("unzip" ,unzip)
13353 ("which" ,which)))
13354 (home-page "https://hackage.haskell.org/package/zip-archive")
13355 (synopsis "Zip archive library for Haskell")
13356 (description "The zip-archive library provides functions for creating,
13357 modifying, and extracting files from zip archives in Haskell.")
13358 (license license:bsd-3)))
13359
13360 (define-public ghc-zlib
13361 (package
13362 (name "ghc-zlib")
13363 (version "0.6.2.1")
13364 (outputs '("out" "doc"))
13365 (source
13366 (origin
13367 (method url-fetch)
13368 (uri (string-append
13369 "https://hackage.haskell.org/package/zlib/zlib-"
13370 version
13371 ".tar.gz"))
13372 (sha256
13373 (base32
13374 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
13375 (build-system haskell-build-system)
13376 (arguments
13377 `(#:phases
13378 (modify-phases %standard-phases
13379 (add-before 'configure 'strip-test-framework-constraints
13380 (lambda _
13381 (substitute* "zlib.cabal"
13382 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13383 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13384 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13385 (inputs `(("zlib" ,zlib)))
13386 (native-inputs
13387 `(("ghc-quickcheck" ,ghc-quickcheck)
13388 ("ghc-tasty" ,ghc-tasty)
13389 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13390 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13391 (home-page "https://hackage.haskell.org/package/zlib")
13392 (synopsis
13393 "Compression and decompression in the gzip and zlib formats")
13394 (description
13395 "This package provides a pure interface for compressing and decompressing
13396 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13397 library so it has high performance. It supports the @code{zlib}, @code{gzip}
13398 and @code{raw} compression formats. It provides a convenient high level API
13399 suitable for most tasks and for the few cases where more control is needed it
13400 provides access to the full zlib feature set.")
13401 (license license:bsd-3)))
13402
13403 (define-public ghc-zlib-bindings
13404 (package
13405 (name "ghc-zlib-bindings")
13406 (version "0.1.1.5")
13407 (source
13408 (origin
13409 (method url-fetch)
13410 (uri (string-append "https://hackage.haskell.org/package/"
13411 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13412 (sha256
13413 (base32
13414 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13415 (build-system haskell-build-system)
13416 (inputs
13417 `(("ghc-zlib" ,ghc-zlib)))
13418 (native-inputs
13419 `(("ghc-hspec" ,ghc-hspec)
13420 ("ghc-quickcheck" ,ghc-quickcheck)))
13421 (arguments
13422 `(#:cabal-revision
13423 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13424 (home-page "https://github.com/snapframework/zlib-bindings")
13425 (synopsis "Low-level bindings to the @code{zlib} package")
13426 (description "This package provides low-level bindings to the
13427 @code{zlib} package.")
13428 (license license:bsd-3)))
13429
13430 (define-public ghc-zstd
13431 (package
13432 (name "ghc-zstd")
13433 (version "0.1.1.2")
13434 (source
13435 (origin
13436 (method url-fetch)
13437 (uri (string-append "https://hackage.haskell.org/package/"
13438 "zstd/zstd-" version ".tar.gz"))
13439 (sha256
13440 (base32
13441 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13442 (build-system haskell-build-system)
13443 (native-inputs
13444 `(("ghc-quickcheck" ,ghc-quickcheck)
13445 ("ghc-test-framework" ,ghc-test-framework)
13446 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13447 (home-page "https://github.com/luispedro/hs-zstd")
13448 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13449 (description "This library provides Haskell bindings to the
13450 Zstandard compression algorithm, a fast lossless compression algorithm
13451 targeting real-time compression scenarios at zlib-level and better
13452 compression ratios.")
13453 (license license:bsd-3)))