gnu: webkitgtk: Update to 2.28.2.
[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 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
29 ;;;
30 ;;; This file is part of GNU Guix.
31 ;;;
32 ;;; GNU Guix is free software; you can redistribute it and/or modify it
33 ;;; under the terms of the GNU General Public License as published by
34 ;;; the Free Software Foundation; either version 3 of the License, or (at
35 ;;; your option) any later version.
36 ;;;
37 ;;; GNU Guix is distributed in the hope that it will be useful, but
38 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40 ;;; GNU General Public License for more details.
41 ;;;
42 ;;; You should have received a copy of the GNU General Public License
43 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45 (define-module (gnu packages haskell-xyz)
46 #:use-module (gnu packages)
47 #:use-module (gnu packages base)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages emacs)
50 #:use-module (gnu packages gcc)
51 #:use-module (gnu packages gl)
52 #:use-module (gnu packages graphviz)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages haskell-apps)
55 #:use-module (gnu packages haskell-check)
56 #:use-module (gnu packages haskell-crypto)
57 #:use-module (gnu packages haskell-web)
58 #:use-module (gnu packages libffi)
59 #:use-module (gnu packages linux)
60 #:use-module (gnu packages llvm)
61 #:use-module (gnu packages lua)
62 #:use-module (gnu packages maths)
63 #:use-module (gnu packages ncurses)
64 #:use-module (gnu packages pcre)
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages sdl)
67 #:use-module (gnu packages web)
68 #:use-module (gnu packages xml)
69 #:use-module (gnu packages xorg)
70 #:use-module (guix build-system haskell)
71 #:use-module (guix download)
72 #:use-module (guix git-download)
73 #:use-module (guix utils)
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages))
76
77 (define-public ghc-abstract-deque
78 (package
79 (name "ghc-abstract-deque")
80 (version "0.3")
81 (source
82 (origin
83 (method url-fetch)
84 (uri (string-append "https://hackage.haskell.org/package/"
85 "abstract-deque-" version "/"
86 "abstract-deque-" version ".tar.gz"))
87 (sha256
88 (base32
89 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
90 (build-system haskell-build-system)
91 (inputs `(("ghc-random" ,ghc-random)))
92 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
93 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
94 (description "This Haskell package provides an abstract interface to
95 highly-parameterizable queues/deques.
96
97 Background: There exists a feature space for queues that extends between:
98
99 @itemize
100 @item Simple, single-ended, non-concurrent, bounded queues
101
102 @item Double-ended, thread-safe, growable queues with important points
103 in between (such as the queues used for work stealing).
104 @end itemize
105
106 This package includes an interface for Deques that allows the programmer
107 to use a single API for all of the above, while using the type system to
108 select an efficient implementation given the requirements (using type families).
109
110 This package also includes a simple reference implementation based on
111 @code{IORef} and @code{Data.Sequence}.")
112 (license license:bsd-3)))
113
114 (define-public ghc-abstract-par
115 (package
116 (name "ghc-abstract-par")
117 (version "0.3.3")
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "https://hackage.haskell.org/package/"
122 "abstract-par-" version "/"
123 "abstract-par-" version ".tar.gz"))
124 (sha256
125 (base32
126 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
127 (build-system haskell-build-system)
128 (home-page "https://github.com/simonmar/monad-par")
129 (synopsis "Abstract parallelization interface for Haskell")
130 (description "This Haskell package is an abstract interface
131 only. It provides a number of type clasess, but not an
132 implementation. The type classes separate different levels
133 of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
134 module for more details.")
135 (license license:bsd-3)))
136
137 (define-public ghc-active
138 (package
139 (name "ghc-active")
140 (version "0.2.0.14")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "https://hackage.haskell.org/package/"
145 "active/active-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
149 (build-system haskell-build-system)
150 (inputs
151 `(("ghc-vector" ,ghc-vector)
152 ("ghc-semigroups" ,ghc-semigroups)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-lens" ,ghc-lens)
155 ("ghc-linear" ,ghc-linear)))
156 (native-inputs
157 `(("ghc-quickcheck" ,ghc-quickcheck)))
158 (home-page "https://hackage.haskell.org/package/active")
159 (synopsis "Abstractions for animation")
160 (description "This package defines an @code{Active} abstraction for
161 time-varying values with finite start and end times. It is used for
162 describing animations within the
163 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
164 diagrams framework}.")
165 (license license:bsd-3)))
166
167 (define-public ghc-adjunctions
168 (package
169 (name "ghc-adjunctions")
170 (version "4.4")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
176 version
177 ".tar.gz"))
178 (sha256
179 (base32
180 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
181 (build-system haskell-build-system)
182 (arguments
183 `(#:cabal-revision
184 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
185 (inputs
186 `(("ghc-profunctors" ,ghc-profunctors)
187 ("ghc-comonad" ,ghc-comonad)
188 ("ghc-contravariant" ,ghc-contravariant)
189 ("ghc-distributive" ,ghc-distributive)
190 ("ghc-free" ,ghc-free)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroupoids" ,ghc-semigroupoids)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-transformers-compat" ,ghc-transformers-compat)
195 ("ghc-void" ,ghc-void)))
196 (native-inputs
197 `(("ghc-generic-deriving" ,ghc-generic-deriving)
198 ("ghc-hspec" ,ghc-hspec)
199 ("hspec-discover" ,hspec-discover)))
200 (home-page "https://github.com/ekmett/adjunctions/")
201 (synopsis "Adjunctions and representable functors")
202 (description "This library provides adjunctions and representable functors
203 for Haskell.")
204 (license license:bsd-3)))
205
206 (define-public ghc-aeson-compat
207 (package
208 (name "ghc-aeson-compat")
209 (version "0.3.9")
210 (source
211 (origin
212 (method url-fetch)
213 (uri (string-append "https://hackage.haskell.org/package/"
214 "aeson-compat-" version "/"
215 "aeson-compat-" version ".tar.gz"))
216 (sha256
217 (base32
218 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
219 (build-system haskell-build-system)
220 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
221 (inputs `(("ghc-base-compat" ,ghc-base-compat)
222 ("ghc-aeson" ,ghc-aeson)
223 ("ghc-attoparsec" ,ghc-attoparsec)
224 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
225 ("ghc-exceptions" ,ghc-exceptions)
226 ("ghc-hashable" ,ghc-hashable)
227 ("ghc-scientific" ,ghc-scientific)
228 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
229 ("ghc-unordered-containers" ,ghc-unordered-containers)
230 ("ghc-vector" ,ghc-vector)
231 ("ghc-tagged" ,ghc-tagged)
232 ("ghc-semigroups" ,ghc-semigroups)
233 ("ghc-nats" ,ghc-nats)))
234 (home-page "https://github.com/phadej/aeson-compat")
235 (synopsis "Compatibility layer for ghc-aeson")
236 (description "This Haskell package provides compatibility layer for
237 ghc-aeson.")
238 (license license:bsd-3)))
239
240 (define-public ghc-aeson-diff
241 (package
242 (name "ghc-aeson-diff")
243 (version "1.1.0.7")
244 (source
245 (origin
246 (method url-fetch)
247 (uri (string-append "https://hackage.haskell.org/package/"
248 "aeson-diff/aeson-diff-" version ".tar.gz"))
249 (sha256
250 (base32
251 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-aeson" ,ghc-aeson)
255 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
256 ("ghc-hashable" ,ghc-hashable)
257 ("ghc-scientific" ,ghc-scientific)
258 ("ghc-unordered-containers" ,ghc-unordered-containers)
259 ("ghc-vector" ,ghc-vector)
260 ("ghc-semigroups" ,ghc-semigroups)
261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
262 (native-inputs
263 `(("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
265 ("ghc-glob" ,ghc-glob)
266 ("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-quickcheck" ,ghc-quickcheck)
269 ("ghc-doctest" ,ghc-doctest)
270 ("hlint" ,hlint)))
271 (home-page "https://github.com/thsutton/aeson-diff")
272 (synopsis "Extract and apply patches to JSON documents")
273 (description "This is a small library for working with changes to JSON
274 documents. It includes a library and two command-line executables in the
275 style of the @command{diff} and @command{patch} commands available on many
276 systems.")
277 (license license:bsd-3)))
278
279 (define-public ghc-alex
280 (package
281 (name "ghc-alex")
282 (version "3.2.4")
283 (source
284 (origin
285 (method url-fetch)
286 (uri (string-append
287 "https://hackage.haskell.org/package/alex/alex-"
288 version
289 ".tar.gz"))
290 (sha256
291 (base32
292 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
293 (build-system haskell-build-system)
294 (arguments
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-before 'check 'set-check-variables
298 (lambda _
299 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
300 (getenv "PATH")))
301 (setenv "alex_datadir" (string-append (getcwd) "/data"))
302 #t)))))
303 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
304 (native-inputs
305 `(("which" ,which)))
306 (home-page "https://www.haskell.org/alex/")
307 (synopsis
308 "Tool for generating lexical analysers in Haskell")
309 (description
310 "Alex is a tool for generating lexical analysers in Haskell. It takes a
311 description of tokens based on regular expressions and generates a Haskell
312 module containing code for scanning text efficiently. It is similar to the
313 tool lex or flex for C/C++.")
314 (license license:bsd-3)))
315
316 (define-public ghc-alsa-core
317 (package
318 (name "ghc-alsa-core")
319 (version "0.5.0.1")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://hackage/package/alsa-core/alsa-core-"
325 version
326 ".tar.gz"))
327 (sha256
328 (base32
329 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
330 (build-system haskell-build-system)
331 (inputs
332 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
333 ("alsa-lib" ,alsa-lib)))
334 (native-inputs
335 `(("pkg-config" ,pkg-config)))
336 (home-page "http://www.haskell.org/haskellwiki/ALSA")
337 (synopsis "Binding to the ALSA Library API (Exceptions)")
338 (description "This package provides access to ALSA infrastructure, that is
339 needed by both alsa-seq and alsa-pcm.")
340 (license license:bsd-3)))
341
342 (define-public ghc-alsa-mixer
343 (package
344 (name "ghc-alsa-mixer")
345 (version "0.3.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri
350 (string-append
351 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
352 version ".tar.gz"))
353 (sha256
354 (base32
355 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
356 (build-system haskell-build-system)
357 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
358 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
359 (home-page "https://github.com/ttuegel/alsa-mixer")
360 (synopsis "Bindings to the ALSA simple mixer API")
361 (description
362 "This package provides bindings to the ALSA simple mixer API.")
363 (license license:bsd-3)))
364
365 (define-public ghc-annotated-wl-pprint
366 (package
367 (name "ghc-annotated-wl-pprint")
368 (version "0.7.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://hackage.haskell.org/package/annotated-wl-pprint"
374 "/annotated-wl-pprint-" version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
379 (build-system haskell-build-system)
380 (home-page
381 "https://github.com/david-christiansen/annotated-wl-pprint")
382 (synopsis
383 "The Wadler/Leijen Pretty Printer, with annotation support")
384 (description "This is a modified version of wl-pprint, which was based on
385 Wadler's paper \"A Prettier Printer\". This version allows the library user
386 to annotate the text with semantic information, which can later be rendered in
387 a variety of ways.")
388 (license license:bsd-3)))
389
390 (define-public ghc-ansi-terminal
391 (package
392 (name "ghc-ansi-terminal")
393 (version "0.9.1")
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append
398 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
399 version
400 ".tar.gz"))
401 (sha256
402 (base32
403 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
404 (build-system haskell-build-system)
405 (inputs
406 `(("ghc-colour" ,ghc-colour)))
407 (home-page "https://github.com/feuerbach/ansi-terminal")
408 (synopsis "ANSI terminal support for Haskell")
409 (description "This package provides ANSI terminal support for Haskell. It
410 allows cursor movement, screen clearing, color output showing or hiding the
411 cursor, and changing the title.")
412 (license license:bsd-3)))
413
414 (define-public ghc-ansi-wl-pprint
415 (package
416 (name "ghc-ansi-wl-pprint")
417 (version "0.6.9")
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://hackage.haskell.org/package/"
422 "ansi-wl-pprint/ansi-wl-pprint-"
423 version ".tar.gz"))
424 (sha256
425 (base32
426 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
427 (build-system haskell-build-system)
428 (inputs
429 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
430 (home-page "https://github.com/ekmett/ansi-wl-pprint")
431 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
432 (description "This is a pretty printing library based on Wadler's paper
433 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
434 colored output using the ansi-terminal package.")
435 (license license:bsd-3)))
436
437 (define-public ghc-appar
438 (package
439 (name "ghc-appar")
440 (version "0.1.8")
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/appar/appar-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
450 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
451 (build-system haskell-build-system)
452 (home-page
453 "https://hackage.haskell.org/package/appar")
454 (synopsis "Simple applicative parser")
455 (description "This package provides a simple applicative parser in Parsec
456 style.")
457 (license license:bsd-3)))
458
459 (define-public ghc-async
460 (package
461 (name "ghc-async")
462 (version "2.2.2")
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/async/async-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
472 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-hashable" ,ghc-hashable)
476 ("ghc-hunit" ,ghc-hunit)
477 ("ghc-test-framework" ,ghc-test-framework)
478 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
479 (home-page "https://github.com/simonmar/async")
480 (synopsis "Library to run IO operations asynchronously")
481 (description "Async provides a library to run IO operations
482 asynchronously, and wait for their results. It is a higher-level interface
483 over threads in Haskell, in which @code{Async a} is a concurrent thread that
484 will eventually deliver a value of type @code{a}.")
485 (license license:bsd-3)))
486
487 (define-public ghc-atomic-primops
488 (package
489 (name "ghc-atomic-primops")
490 (version "0.8.3")
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
495 "/atomic-primops-" version ".tar.gz"))
496 (sha256
497 (base32
498 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
499 (build-system haskell-build-system)
500 (inputs `(("ghc-primitive" ,ghc-primitive)))
501 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
502 (synopsis "Safe approach to CAS and other atomic ops")
503 (description
504 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
505 use safely, because pointer equality is a highly unstable property in Haskell.
506 This library provides a safer method based on the concept of @code{Ticket}s.")
507 (license license:bsd-3)))
508
509 (define-public ghc-atomic-write
510 (package
511 (name "ghc-atomic-write")
512 (version "0.2.0.6")
513 (source
514 (origin
515 (method url-fetch)
516 (uri (string-append
517 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
518 version
519 ".tar.gz"))
520 (sha256
521 (base32
522 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
523 (build-system haskell-build-system)
524 (inputs
525 `(("ghc-temporary" ,ghc-temporary)
526 ("ghc-unix-compat" ,ghc-unix-compat)))
527 (native-inputs
528 `(("ghc-temporary" ,ghc-temporary)
529 ("ghc-unix-compat" ,ghc-unix-compat)
530 ("ghc-hspec" ,ghc-hspec)
531 ("hspec-discover" ,hspec-discover)))
532 (home-page "https://github.com/stackbuilders/atomic-write")
533 (synopsis "Atomically write to a file")
534 (description
535 "Atomically write to a file on POSIX-compliant systems while preserving
536 permissions. @code{mv} is an atomic operation. This makes it simple to write
537 to a file atomically just by using the @code{mv} operation. However, this
538 will destroy the permissions on the original file. This library preserves
539 permissions while atomically writing to a file.")
540 (license license:expat)))
541
542 (define-public ghc-attoparsec
543 (package
544 (name "ghc-attoparsec")
545 (version "0.13.2.3")
546 (source
547 (origin
548 (method url-fetch)
549 (uri (string-append
550 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
551 version
552 ".tar.gz"))
553 (sha256
554 (base32
555 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
556 (build-system haskell-build-system)
557 (arguments
558 `(#:phases
559 (modify-phases %standard-phases
560 (add-after 'unpack 'patch-for-newer-quickcheck
561 (lambda _
562 (substitute* "attoparsec.cabal"
563 (("QuickCheck >= 2\\.7 && < 2\\.10")
564 "QuickCheck >= 2.7 && < 2.12"))
565 ;; This test fails because of the newer QuickCheck:
566 ;; <https://github.com/bos/attoparsec/issues/134>.
567 (substitute* "tests/QC/ByteString.hs"
568 ((", testProperty \"satisfyWith\" satisfyWith")
569 "")))))))
570 (inputs
571 `(("ghc-scientific" ,ghc-scientific)))
572 (native-inputs
573 `(("ghc-tasty" ,ghc-tasty)
574 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
575 ("ghc-quickcheck" ,ghc-quickcheck)
576 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
577 ("ghc-vector" ,ghc-vector)))
578 (home-page "https://github.com/bos/attoparsec")
579 (synopsis "Fast combinator parsing for bytestrings and text")
580 (description "This library provides a fast parser combinator library,
581 aimed particularly at dealing efficiently with network protocols and
582 complicated text/binary file formats.")
583 (license license:bsd-3)))
584
585 (define-public ghc-attoparsec-bootstrap
586 (package
587 (inherit ghc-attoparsec)
588 (name "ghc-attoparsec-bootstrap")
589 (arguments `(#:tests? #f))
590 (inputs
591 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
592 (native-inputs '())
593 (properties '((hidden? #t)))))
594
595 (define-public ghc-attoparsec-iso8601
596 (package
597 (name "ghc-attoparsec-iso8601")
598 (version "1.0.1.0")
599 (source
600 (origin
601 (method url-fetch)
602 (uri (string-append "https://hackage.haskell.org/package/"
603 "attoparsec-iso8601-" version "/"
604 "attoparsec-iso8601-" version ".tar.gz"))
605 (sha256
606 (base32
607 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
608 (build-system haskell-build-system)
609 (arguments
610 `(#:cabal-revision
611 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
612 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
613 ("ghc-base-compat" ,ghc-base-compat)))
614 (home-page "https://github.com/bos/aeson")
615 (synopsis "Parse ISO 8601 dates")
616 (description "Haskell library for parsing of ISO 8601 dates, originally
617 from aeson.")
618 (license license:bsd-3)))
619
620 (define-public ghc-auto-update
621 (package
622 (name "ghc-auto-update")
623 (version "0.1.6")
624 (source
625 (origin
626 (method url-fetch)
627 (uri (string-append
628 "https://hackage.haskell.org/package/auto-update/auto-update-"
629 version
630 ".tar.gz"))
631 (sha256
632 (base32
633 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
634 (build-system haskell-build-system)
635 (native-inputs
636 `(("ghc-hspec" ,ghc-hspec)
637 ("ghc-hunit" ,ghc-hunit)
638 ("ghc-retry" ,ghc-retry)
639 ("hspec-discover" ,hspec-discover)))
640 (home-page "https://github.com/yesodweb/wai")
641 (synopsis "Efficiently run periodic, on-demand actions")
642 (description "This library provides mechanisms to efficiently run
643 periodic, on-demand actions in Haskell.")
644 (license license:expat)))
645
646 (define-public ghc-aws
647 (package
648 (name "ghc-aws")
649 (version "0.20")
650 (source
651 (origin
652 (method url-fetch)
653 (uri (string-append "https://hackage.haskell.org/package/"
654 "aws-" version "/aws-" version ".tar.gz"))
655 (sha256 (base32
656 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
657 (build-system haskell-build-system)
658 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
659 (inputs
660 `(("ghc-aeson" ,ghc-aeson)
661 ("ghc-attoparsec" ,ghc-attoparsec)
662 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
663 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
664 ("ghc-blaze-builder" ,ghc-blaze-builder)
665 ("ghc-byteable" ,ghc-byteable)
666 ("ghc-case-insensitive" ,ghc-case-insensitive)
667 ("ghc-cereal" ,ghc-cereal)
668 ("ghc-conduit" ,ghc-conduit)
669 ("ghc-conduit-extra" ,ghc-conduit-extra)
670 ("ghc-cryptonite" ,ghc-cryptonite)
671 ("ghc-data-default" ,ghc-data-default)
672 ("ghc-http-conduit" ,ghc-http-conduit)
673 ("ghc-http-types" ,ghc-http-types)
674 ("ghc-lifted-base" ,ghc-lifted-base)
675 ("ghc-monad-control" ,ghc-monad-control)
676 ("ghc-network" ,ghc-network)
677 ("ghc-old-locale" ,ghc-old-locale)
678 ("ghc-safe" ,ghc-safe)
679 ("ghc-scientific" ,ghc-scientific)
680 ("ghc-tagged" ,ghc-tagged)
681 ("ghc-unordered-containers" ,ghc-unordered-containers)
682 ("ghc-utf8-string" ,ghc-utf8-string)
683 ("ghc-vector" ,ghc-vector)
684 ("ghc-xml-conduit" ,ghc-xml-conduit)))
685 (native-inputs
686 `(("ghc-quickcheck" ,ghc-quickcheck)
687 ("ghc-errors" ,ghc-errors)
688 ("ghc-http-client" ,ghc-http-client)
689 ("ghc-http-client-tls" ,ghc-http-client-tls)
690 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
691 ("ghc-tasty" ,ghc-tasty)
692 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
693 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
694 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
695 (home-page "https://github.com/aristidb/aws")
696 (synopsis "Amazon Web Services for Haskell")
697 (description "This package attempts to provide support for using
698 Amazon Web Services like S3 (storage), SQS (queuing) and others to
699 Haskell programmers. The ultimate goal is to support all Amazon
700 Web Services.")
701 (license license:bsd-3)))
702
703 (define-public ghc-base16-bytestring
704 (package
705 (name "ghc-base16-bytestring")
706 (version "0.1.1.6")
707 (source
708 (origin
709 (method url-fetch)
710 (uri (string-append
711 "https://hackage.haskell.org/package/base16-bytestring/"
712 "base16-bytestring-" version ".tar.gz"))
713 (sha256
714 (base32
715 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
716 (build-system haskell-build-system)
717 (home-page "https://github.com/bos/base16-bytestring")
718 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
719 (description
720 "This package provides a Haskell library for working with base16-encoded
721 data quickly and efficiently, using the ByteString type.")
722 (license license:bsd-3)))
723
724 (define-public ghc-base64-bytestring
725 (package
726 (name "ghc-base64-bytestring")
727 (version "1.0.0.2")
728 (source
729 (origin
730 (method url-fetch)
731 (uri (string-append
732 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
733 version
734 ".tar.gz"))
735 (sha256
736 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
737 (build-system haskell-build-system)
738 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
739 (home-page "https://github.com/bos/base64-bytestring")
740 (synopsis "Base64 encoding and decoding for ByteStrings")
741 (description "This library provides fast base64 encoding and decoding for
742 Haskell @code{ByteString}s.")
743 (license license:bsd-3)))
744
745 (define-public ghc-base-compat
746 (package
747 (name "ghc-base-compat")
748 (version "0.10.5")
749 (source
750 (origin
751 (method url-fetch)
752 (uri (string-append
753 "https://hackage.haskell.org/package/base-compat/base-compat-"
754 version
755 ".tar.gz"))
756 (sha256
757 (base32
758 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
759 (build-system haskell-build-system)
760 (native-inputs
761 `(("ghc-quickcheck" ,ghc-quickcheck)
762 ("ghc-hspec" ,ghc-hspec)
763 ("hspec-discover" ,hspec-discover)))
764 (home-page "https://hackage.haskell.org/package/base-compat")
765 (synopsis "Haskell compiler compatibility library")
766 (description "This library provides functions available in later versions
767 of base to a wider range of compilers, without requiring the use of CPP
768 pragmas in your code.")
769 (license license:bsd-3)))
770
771 (define-public ghc-base-compat-batteries
772 (package
773 (name "ghc-base-compat-batteries")
774 (version "0.10.5")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (string-append "https://hackage.haskell.org/package/"
779 "base-compat-batteries/base-compat-batteries-"
780 version ".tar.gz"))
781 (sha256
782 (base32
783 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
784 (build-system haskell-build-system)
785 (inputs
786 `(("ghc-base-compat" ,ghc-base-compat)))
787 (native-inputs
788 `(("ghc-hspec" ,ghc-hspec)
789 ("ghc-quickcheck" ,ghc-quickcheck)
790 ("hspec-discover" ,hspec-discover)))
791 (arguments
792 `(#:cabal-revision
793 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
794 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
795 (synopsis "base-compat with extra batteries")
796 (description "This library provides functions available in later
797 versions of @code{base} to a wider range of compilers, without requiring
798 you to use CPP pragmas in your code. This package provides the same API
799 as the @code{base-compat} library, but depends on compatibility
800 packages (such as @code{semigroups}) to offer a wider support window
801 than @code{base-compat}, which has no dependencies.")
802 (license license:expat)))
803
804 (define-public ghc-basement
805 (package
806 (name "ghc-basement")
807 (version "0.0.11")
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append "https://hackage.haskell.org/package/"
812 "basement/basement-" version ".tar.gz"))
813 (sha256
814 (base32
815 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
816 (build-system haskell-build-system)
817 (home-page "https://github.com/haskell-foundation/foundation")
818 (synopsis "Basic primitives for Foundation starter pack")
819 (description
820 "This package contains basic primitives for the Foundation set of
821 packages.")
822 (license license:bsd-3)))
823
824 (define-public ghc-base-orphans
825 (package
826 (name "ghc-base-orphans")
827 (version "0.8.1")
828 (source
829 (origin
830 (method url-fetch)
831 (uri (string-append
832 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
833 version
834 ".tar.gz"))
835 (sha256
836 (base32
837 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
838 (build-system haskell-build-system)
839 (native-inputs
840 `(("ghc-quickcheck" ,ghc-quickcheck)
841 ("ghc-hspec" ,ghc-hspec)
842 ("hspec-discover" ,hspec-discover)))
843 (home-page "https://hackage.haskell.org/package/base-orphans")
844 (synopsis "Orphan instances for backwards compatibility")
845 (description "This package defines orphan instances that mimic instances
846 available in later versions of base to a wider (older) range of compilers.")
847 (license license:bsd-3)))
848
849 (define-public ghc-base-prelude
850 (package
851 (name "ghc-base-prelude")
852 (version "1.3")
853 (source
854 (origin
855 (method url-fetch)
856 (uri (string-append "https://hackage.haskell.org/package/"
857 "base-prelude-" version "/"
858 "base-prelude-" version ".tar.gz"))
859 (sha256
860 (base32
861 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
862 (build-system haskell-build-system)
863 (home-page "https://github.com/nikita-volkov/base-prelude")
864 (synopsis "The most complete prelude formed solely from the Haskell's base
865 package")
866 (description "This Haskell package aims to reexport all the non-conflicting
867 and most general definitions from the \"base\" package.
868
869 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
870 exceptions, generics, ST, MVars and STM.
871
872 This package will never have any dependencies other than \"base\".
873
874 Versioning policy:
875
876 The versioning policy of this package deviates from PVP in the sense
877 that its exports in part are transitively determined by the version of \"base\".
878 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
879 the bounds of \"base\" as well.")
880 (license license:expat)))
881
882 (define-public ghc-base-unicode-symbols
883 (package
884 (name "ghc-base-unicode-symbols")
885 (version "0.2.3")
886 (source
887 (origin
888 (method url-fetch)
889 (uri (string-append
890 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
891 version
892 ".tar.gz"))
893 (sha256
894 (base32
895 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
896 (build-system haskell-build-system)
897 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
898 (synopsis "Unicode alternatives for common functions and operators")
899 (description "This package defines new symbols for a number of functions,
900 operators and types in the base package. All symbols are documented with
901 their actual definition and information regarding their Unicode code point.
902 They should be completely interchangeable with their definitions. For
903 further Unicode goodness you can enable the @code{UnicodeSyntax}
904 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
905 language extension}. This extension enables Unicode characters to be used to
906 stand for certain ASCII character sequences, i.e. → instead of @code{->},
907 ∀ instead of @code{forall} and many others.")
908 (license license:bsd-3)))
909
910 (define-public ghc-basic-prelude
911 (package
912 (name "ghc-basic-prelude")
913 (version "0.7.0")
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
918 "https://hackage.haskell.org/package/basic-prelude/"
919 "basic-prelude-" version ".tar.gz"))
920 (sha256
921 (base32
922 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-hashable" ,ghc-hashable)
926 ("ghc-unordered-containers"
927 ,ghc-unordered-containers)
928 ("ghc-vector" ,ghc-vector)))
929 (home-page "https://github.com/snoyberg/basic-prelude#readme")
930 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
931 (description
932 "The premise of basic-prelude is that there are a lot of very commonly
933 desired features missing from the standard Prelude, such as commonly used
934 operators (<$> and >=>, for instance) and imports for common datatypes
935 (e.g., ByteString and Vector). At the same time, there are lots of other
936 components which are more debatable, such as providing polymorphic versions
937 of common functions.
938
939 So basic-prelude is intended to give a common foundation for a number of
940 alternate preludes. The package provides two modules: CorePrelude provides
941 the common ground for other preludes to build on top of, while BasicPrelude
942 exports CorePrelude together with commonly used list functions to provide a
943 drop-in replacement for the standard Prelude.
944
945 Users wishing to have an improved Prelude can use BasicPrelude. Developers
946 wishing to create a new prelude should use CorePrelude.")
947 (license license:expat)))
948
949 (define-public ghc-bifunctors
950 (package
951 (name "ghc-bifunctors")
952 (version "5.5.5")
953 (source
954 (origin
955 (method url-fetch)
956 (uri (string-append
957 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
958 version
959 ".tar.gz"))
960 (sha256
961 (base32
962 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
963 (build-system haskell-build-system)
964 (inputs
965 `(("ghc-base-orphans" ,ghc-base-orphans)
966 ("ghc-comonad" ,ghc-comonad)
967 ("ghc-th-abstraction" ,ghc-th-abstraction)
968 ("ghc-transformers-compat" ,ghc-transformers-compat)
969 ("ghc-tagged" ,ghc-tagged)
970 ("ghc-semigroups" ,ghc-semigroups)))
971 (native-inputs
972 `(("ghc-hspec" ,ghc-hspec)
973 ("hspec-discover" ,hspec-discover)
974 ("ghc-quickcheck" ,ghc-quickcheck)))
975 (home-page "https://github.com/ekmett/bifunctors/")
976 (synopsis "Bifunctors for Haskell")
977 (description "This package provides bifunctors for Haskell.")
978 (license license:bsd-3)))
979
980 (define-public ghc-bindings-dsl
981 (package
982 (name "ghc-bindings-dsl")
983 (version "1.0.25")
984 (source
985 (origin
986 (method url-fetch)
987 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
988 "bindings-DSL-" version ".tar.gz"))
989 (sha256
990 (base32
991 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
992 (build-system haskell-build-system)
993 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
994 (synopsis "FFI domain specific language, on top of hsc2hs")
995 (description
996 "This is a set of macros to be used when writing Haskell FFI. They were
997 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
998 extract from them all Haskell code needed to mimic such interfaces. All
999 Haskell names used are automatically derived from C names, structures are
1000 mapped to Haskell instances of @code{Storable}, and there are also macros you
1001 can use with C code to help write bindings to inline functions or macro
1002 functions.")
1003 (license license:bsd-3)))
1004
1005 (define-public ghc-bitarray
1006 (package
1007 (name "ghc-bitarray")
1008 (version "0.0.1.1")
1009 (source
1010 (origin
1011 (method url-fetch)
1012 (uri (string-append "https://hackage.haskell.org/package/"
1013 "bitarray/bitarray-" version ".tar.gz"))
1014 (sha256
1015 (base32
1016 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1017 (build-system haskell-build-system)
1018 (arguments
1019 `(#:cabal-revision
1020 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1021 (home-page "https://hackage.haskell.org/package/bitarray")
1022 (synopsis "Mutable and immutable bit arrays")
1023 (description "The package provides mutable and immutable bit arrays.")
1024 (license license:bsd-3)))
1025
1026 (define-public ghc-blaze-builder
1027 (package
1028 (name "ghc-blaze-builder")
1029 (version "0.4.1.0")
1030 (source
1031 (origin
1032 (method url-fetch)
1033 (uri (string-append
1034 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1035 version
1036 ".tar.gz"))
1037 (sha256
1038 (base32
1039 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1040 (build-system haskell-build-system)
1041 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1042 (inputs
1043 `(("ghc-utf8-string" ,ghc-utf8-string)))
1044 (home-page "https://github.com/lpsmith/blaze-builder")
1045 (synopsis "Efficient buffered output")
1046 (description "This library provides an implementation of the older
1047 @code{blaze-builder} interface in terms of the new builder that shipped with
1048 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1049 bridge to the new builder, so that code that uses the old interface can
1050 interoperate with code that uses the new implementation.")
1051 (license license:bsd-3)))
1052
1053 (define-public ghc-blaze-markup
1054 (package
1055 (name "ghc-blaze-markup")
1056 (version "0.8.2.3")
1057 (source
1058 (origin
1059 (method url-fetch)
1060 (uri (string-append "https://hackage.haskell.org/package/"
1061 "blaze-markup/blaze-markup-"
1062 version ".tar.gz"))
1063 (sha256
1064 (base32
1065 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
1066 (build-system haskell-build-system)
1067 (arguments
1068 `(#:phases
1069 (modify-phases %standard-phases
1070 (add-before 'configure 'update-constraints
1071 (lambda _
1072 (substitute* "blaze-markup.cabal"
1073 (("tasty >= 1\\.0 && < 1\\.1")
1074 "tasty >= 1.0 && < 1.2")))))))
1075 (inputs
1076 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1077 (native-inputs
1078 `(("ghc-hunit" ,ghc-hunit)
1079 ("ghc-quickcheck" ,ghc-quickcheck)
1080 ("ghc-tasty" ,ghc-tasty)
1081 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1082 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1083 (home-page "https://jaspervdj.be/blaze")
1084 (synopsis "Fast markup combinator library for Haskell")
1085 (description "This library provides core modules of a markup combinator
1086 library for Haskell.")
1087 (license license:bsd-3)))
1088
1089 (define-public ghc-bloomfilter
1090 (package
1091 (name "ghc-bloomfilter")
1092 (version "2.0.1.0")
1093 (source
1094 (origin
1095 (method url-fetch)
1096 (uri (string-append "https://hackage.haskell.org/package/"
1097 "bloomfilter/bloomfilter-" version ".tar.gz"))
1098 (sha256
1099 (base32
1100 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1101 (build-system haskell-build-system)
1102 (native-inputs
1103 `(("ghc-quickcheck" ,ghc-quickcheck)
1104 ("ghc-random" ,ghc-random)
1105 ("ghc-test-framework" ,ghc-test-framework)
1106 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1107 (home-page "https://github.com/bos/bloomfilter")
1108 (synopsis "Pure and impure Bloom filter implementations")
1109 (description "This package provides both mutable and immutable Bloom
1110 filter data types, along with a family of hash functions and an easy-to-use
1111 interface.")
1112 (license license:bsd-3)))
1113
1114 (define-public ghc-boxes
1115 (package
1116 (name "ghc-boxes")
1117 (version "0.1.5")
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1122 version ".tar.gz"))
1123 (sha256
1124 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1125 (build-system haskell-build-system)
1126 (inputs
1127 `(("ghc-split" ,ghc-split)
1128 ("ghc-quickcheck" ,ghc-quickcheck)))
1129 (home-page "https://hackage.haskell.org/package/boxes")
1130 (synopsis "2D text pretty-printing library")
1131 (description
1132 "Boxes is a pretty-printing library for laying out text in two dimensions,
1133 using a simple box model.")
1134 (license license:bsd-3)))
1135
1136 (define-public ghc-byteable
1137 (package
1138 (name "ghc-byteable")
1139 (version "0.1.1")
1140 (source (origin
1141 (method url-fetch)
1142 (uri (string-append "https://hackage.haskell.org/package/"
1143 "byteable/byteable-" version ".tar.gz"))
1144 (sha256
1145 (base32
1146 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1147 (build-system haskell-build-system)
1148 (home-page "https://github.com/vincenthz/hs-byteable")
1149 (synopsis "Type class for sequence of bytes")
1150 (description
1151 "This package provides an abstract class to manipulate sequence of bytes.
1152 The use case of this class is abstracting manipulation of types that are just
1153 wrapping a bytestring with stronger and more meaniful name.")
1154 (license license:bsd-3)))
1155
1156 (define-public ghc-byteorder
1157 (package
1158 (name "ghc-byteorder")
1159 (version "1.0.4")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append
1164 "https://hackage.haskell.org/package/byteorder/byteorder-"
1165 version
1166 ".tar.gz"))
1167 (sha256
1168 (base32
1169 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1170 (build-system haskell-build-system)
1171 (home-page
1172 "http://community.haskell.org/~aslatter/code/byteorder")
1173 (synopsis
1174 "Exposes the native endianness of the system")
1175 (description
1176 "This package is for working with the native byte-ordering of the
1177 system.")
1178 (license license:bsd-3)))
1179
1180 (define-public ghc-bytes
1181 (package
1182 (name "ghc-bytes")
1183 (version "0.15.5")
1184 (source
1185 (origin
1186 (method url-fetch)
1187 (uri
1188 (string-append "https://hackage.haskell.org/package/bytes-"
1189 version "/bytes-"
1190 version ".tar.gz"))
1191 (file-name (string-append name "-" version ".tar.gz"))
1192 (sha256
1193 (base32
1194 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1195 (build-system haskell-build-system)
1196 (inputs `(("ghc-cereal" ,ghc-cereal)
1197 ("cabal-doctest" ,cabal-doctest)
1198 ("ghc-doctest" ,ghc-doctest)
1199 ("ghc-scientific" ,ghc-scientific)
1200 ("ghc-transformers-compat" ,ghc-transformers-compat)
1201 ("ghc-unordered-containers" ,ghc-unordered-containers)
1202 ("ghc-void" ,ghc-void)
1203 ("ghc-vector" ,ghc-vector)))
1204 (synopsis "Serialization between @code{binary} and @code{cereal}")
1205 (description "This package provides a simple compatibility shim that lets
1206 you work with both @code{binary} and @code{cereal} with one chunk of
1207 serialization code.")
1208 (home-page "https://hackage.haskell.org/package/bytes")
1209 (license license:bsd-3)))
1210
1211 (define-public ghc-bytestring-builder
1212 (package
1213 (name "ghc-bytestring-builder")
1214 (version "0.10.8.2.0")
1215 (source
1216 (origin
1217 (method url-fetch)
1218 (uri (string-append
1219 "https://hackage.haskell.org/package/bytestring-builder"
1220 "/bytestring-builder-" version ".tar.gz"))
1221 (sha256
1222 (base32
1223 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1224 (build-system haskell-build-system)
1225 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1226 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1227 (synopsis "The new bytestring builder, packaged outside of GHC")
1228 (description "This package provides the bytestring builder that is
1229 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1230 Compatibility package for older packages.")
1231 (license license:bsd-3)))
1232
1233 (define-public ghc-bytestring-handle
1234 (package
1235 (name "ghc-bytestring-handle")
1236 (version "0.1.0.6")
1237 (source
1238 (origin
1239 (method url-fetch)
1240 (uri (string-append
1241 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1242 version ".tar.gz"))
1243 (sha256
1244 (base32
1245 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1246 (build-system haskell-build-system)
1247 (arguments
1248 `(#:cabal-revision
1249 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1250 #:phases
1251 (modify-phases %standard-phases
1252 (add-before 'configure 'update-constraints
1253 (lambda _
1254 (substitute* "bytestring-handle.cabal"
1255 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1256 "QuickCheck >= 2.1.2 && < 2.14")))))))
1257 (inputs
1258 `(("ghc-hunit" ,ghc-hunit)
1259 ("ghc-quickcheck" ,ghc-quickcheck)
1260 ("ghc-test-framework" ,ghc-test-framework)
1261 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1262 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1263 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1264 (synopsis "ByteString-backed Handles")
1265 (description "ByteString-backed Handles") ; There is no description
1266 (license license:bsd-3)))
1267
1268 (define-public ghc-bytestring-lexing
1269 (package
1270 (name "ghc-bytestring-lexing")
1271 (version "0.5.0.2")
1272 (source
1273 (origin
1274 (method url-fetch)
1275 (uri (string-append "https://hackage.haskell.org/package/"
1276 "bytestring-lexing/bytestring-lexing-"
1277 version ".tar.gz"))
1278 (sha256
1279 (base32
1280 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1281 (build-system haskell-build-system)
1282 (home-page "http://code.haskell.org/~wren/")
1283 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1284 (description
1285 "This package provides tools to parse and produce literals efficiently
1286 from strict or lazy bytestrings.")
1287 (license license:bsd-2)))
1288
1289 (define-public ghc-bzlib-conduit
1290 (package
1291 (name "ghc-bzlib-conduit")
1292 (version "0.3.0.2")
1293 (source
1294 (origin
1295 (method url-fetch)
1296 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1297 "bzlib-conduit-" version ".tar.gz"))
1298 (sha256
1299 (base32
1300 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1301 (build-system haskell-build-system)
1302 (inputs
1303 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1304 ("ghc-conduit" ,ghc-conduit)
1305 ("ghc-data-default-class" ,ghc-data-default-class)
1306 ("ghc-resourcet" ,ghc-resourcet)))
1307 (native-inputs
1308 `(("ghc-hspec" ,ghc-hspec)
1309 ("ghc-random" ,ghc-random)))
1310 (home-page "https://github.com/snoyberg/bzlib-conduit")
1311 (synopsis "Streaming compression/decompression via conduits")
1312 (description
1313 "This package provides Haskell bindings to bzlib and Conduit support for
1314 streaming compression and decompression.")
1315 (license license:bsd-3)))
1316
1317 (define-public ghc-c2hs
1318 (package
1319 (name "ghc-c2hs")
1320 (version "0.28.6")
1321 (source
1322 (origin
1323 (method url-fetch)
1324 (uri (string-append
1325 "https://hackage.haskell.org/package/c2hs/c2hs-"
1326 version
1327 ".tar.gz"))
1328 (sha256
1329 (base32
1330 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1331 (build-system haskell-build-system)
1332 (inputs
1333 `(("ghc-language-c" ,ghc-language-c)
1334 ("ghc-dlist" ,ghc-dlist)))
1335 (native-inputs
1336 `(("ghc-test-framework" ,ghc-test-framework)
1337 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1338 ("ghc-hunit" ,ghc-hunit)
1339 ("ghc-shelly" ,ghc-shelly)
1340 ("gcc" ,gcc)))
1341 (arguments
1342 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1343 ;; of glibc 2.28.
1344 #:tests? #f
1345
1346 #:phases
1347 (modify-phases %standard-phases
1348 (add-before 'check 'set-cc
1349 ;; add a cc executable in the path, needed for some tests to pass
1350 (lambda* (#:key inputs #:allow-other-keys)
1351 (let ((gcc (assoc-ref inputs "gcc"))
1352 (tmpbin (tmpnam))
1353 (curpath (getenv "PATH")))
1354 (mkdir-p tmpbin)
1355 (symlink (which "gcc") (string-append tmpbin "/cc"))
1356 (setenv "PATH" (string-append tmpbin ":" curpath)))
1357 #t))
1358 (add-after 'check 'remove-cc
1359 ;; clean the tmp dir made in 'set-cc
1360 (lambda _
1361 (let* ((cc-path (which "cc"))
1362 (cc-dir (dirname cc-path)))
1363 (delete-file-recursively cc-dir)
1364 #t))))))
1365 (home-page "https://github.com/haskell/c2hs")
1366 (synopsis "Create Haskell bindings to C libraries")
1367 (description "C->Haskell assists in the development of Haskell bindings to
1368 C libraries. It extracts interface information from C header files and
1369 generates Haskell code with foreign imports and marshaling. Unlike writing
1370 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1371 imported with the correct Haskell types.")
1372 (license license:gpl2)))
1373
1374 (define-public ghc-cairo
1375 (package
1376 (name "ghc-cairo")
1377 (version "0.13.5.0")
1378 (source
1379 (origin
1380 (method url-fetch)
1381 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1382 "cairo-" version ".tar.gz"))
1383 (sha256
1384 (base32
1385 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1386 (build-system haskell-build-system)
1387 (arguments
1388 `(#:modules ((guix build haskell-build-system)
1389 (guix build utils)
1390 (ice-9 match)
1391 (srfi srfi-26))
1392 #:phases
1393 (modify-phases %standard-phases
1394 ;; FIXME: This is a copy of the standard configure phase with a tiny
1395 ;; difference: this package needs the -package-db flag to be passed
1396 ;; to "runhaskell" in addition to the "configure" action, because it
1397 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1398 ;; this option the Setup.hs file cannot be evaluated. The
1399 ;; haskell-build-system should be changed to pass "-package-db" to
1400 ;; "runhaskell" in any case.
1401 (replace 'configure
1402 (lambda* (#:key outputs inputs tests? (configure-flags '())
1403 #:allow-other-keys)
1404 (let* ((out (assoc-ref outputs "out"))
1405 (name-version (strip-store-file-name out))
1406 (input-dirs (match inputs
1407 (((_ . dir) ...)
1408 dir)
1409 (_ '())))
1410 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1411 (params (append `(,(string-append "--prefix=" out))
1412 `(,(string-append "--libdir=" out "/lib"))
1413 `(,(string-append "--bindir=" out "/bin"))
1414 `(,(string-append
1415 "--docdir=" out
1416 "/share/doc/" name-version))
1417 '("--libsubdir=$compiler/$pkg-$version")
1418 '("--package-db=../package.conf.d")
1419 '("--global")
1420 `(,@(map
1421 (cut string-append "--extra-include-dirs=" <>)
1422 (search-path-as-list '("include") input-dirs)))
1423 `(,@(map
1424 (cut string-append "--extra-lib-dirs=" <>)
1425 (search-path-as-list '("lib") input-dirs)))
1426 (if tests?
1427 '("--enable-tests")
1428 '())
1429 configure-flags)))
1430 (unsetenv "GHC_PACKAGE_PATH")
1431 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1432 "Setup.hs" "configure" params)
1433 (setenv "GHC_PACKAGE_PATH" ghc-path)
1434 #t))))))
1435 (inputs
1436 `(("ghc-utf8-string" ,ghc-utf8-string)
1437 ("cairo" ,cairo)))
1438 (native-inputs
1439 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1440 ("pkg-config" ,pkg-config)))
1441 (home-page "http://projects.haskell.org/gtk2hs/")
1442 (synopsis "Haskell bindings to the Cairo vector graphics library")
1443 (description
1444 "Cairo is a library to render high quality vector graphics. There exist
1445 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1446 documents, amongst others.")
1447 (license license:bsd-3)))
1448
1449 (define-public ghc-call-stack
1450 (package
1451 (name "ghc-call-stack")
1452 (version "0.1.0")
1453 (source
1454 (origin
1455 (method url-fetch)
1456 (uri (string-append "https://hackage.haskell.org/package/"
1457 "call-stack/call-stack-"
1458 version ".tar.gz"))
1459 (sha256
1460 (base32
1461 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1462 (build-system haskell-build-system)
1463 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1464 (home-page "https://github.com/sol/call-stack#readme")
1465 (synopsis "Use GHC call-stacks in a backward compatible way")
1466 (description "This package provides a compatibility layer for using GHC
1467 call stacks with different versions of the compiler.")
1468 (license license:expat)))
1469
1470 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1471 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1472 (define-public ghc-call-stack-boot
1473 (hidden-package
1474 (package
1475 (inherit ghc-call-stack)
1476 (arguments '(#:tests? #f))
1477 (inputs '()))))
1478
1479 (define-public ghc-case-insensitive
1480 (package
1481 (name "ghc-case-insensitive")
1482 (version "1.2.0.11")
1483 (outputs '("out" "doc"))
1484 (source
1485 (origin
1486 (method url-fetch)
1487 (uri (string-append
1488 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1489 version
1490 ".tar.gz"))
1491 (sha256
1492 (base32
1493 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1494 (build-system haskell-build-system)
1495 ;; these inputs are necessary to use this library
1496 (inputs
1497 `(("ghc-hashable" ,ghc-hashable)))
1498 (arguments
1499 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1500 (home-page
1501 "https://github.com/basvandijk/case-insensitive")
1502 (synopsis "Case insensitive string comparison")
1503 (description
1504 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1505 constructor which can be parameterised by a string-like type like:
1506 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1507 the resulting type will be insensitive to cases.")
1508 (license license:bsd-3)))
1509
1510 (define-public ghc-cereal
1511 (package
1512 (name "ghc-cereal")
1513 (version "0.5.8.1")
1514 (source
1515 (origin
1516 (method url-fetch)
1517 (uri (string-append
1518 "https://hackage.haskell.org/package/cereal/cereal-"
1519 version
1520 ".tar.gz"))
1521 (sha256
1522 (base32
1523 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1524 (build-system haskell-build-system)
1525 (native-inputs
1526 `(("ghc-quickcheck" ,ghc-quickcheck)
1527 ("ghc-fail" ,ghc-fail)
1528 ("ghc-test-framework" ,ghc-test-framework)
1529 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1530 (home-page "https://hackage.haskell.org/package/cereal")
1531 (synopsis "Binary serialization library")
1532 (description "This package provides a binary serialization library,
1533 similar to @code{binary}, that introduces an @code{isolate} primitive for
1534 parser isolation, and labeled blocks for better error messages.")
1535 (license license:bsd-3)))
1536
1537 (define-public ghc-cereal-conduit
1538 (package
1539 (name "ghc-cereal-conduit")
1540 (version "0.8.0")
1541 (source
1542 (origin
1543 (method url-fetch)
1544 (uri (string-append "https://hackage.haskell.org/package/"
1545 "cereal-conduit/cereal-conduit-"
1546 version ".tar.gz"))
1547 (sha256
1548 (base32
1549 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1550 (build-system haskell-build-system)
1551 (inputs
1552 `(("ghc-conduit" ,ghc-conduit)
1553 ("ghc-resourcet" ,ghc-resourcet)
1554 ("ghc-cereal" ,ghc-cereal)))
1555 (native-inputs
1556 `(("ghc-hunit" ,ghc-hunit)))
1557 (home-page "https://github.com/snoyberg/conduit")
1558 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1559 (description
1560 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1561 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1562 (license license:bsd-3)))
1563
1564 (define-public ghc-cgi
1565 (package
1566 (name "ghc-cgi")
1567 (version "3001.4.0.0")
1568 (source
1569 (origin
1570 (method url-fetch)
1571 (uri (string-append
1572 "https://hackage.haskell.org/package/cgi/cgi-"
1573 version
1574 ".tar.gz"))
1575 (sha256
1576 (base32
1577 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1578 (build-system haskell-build-system)
1579 (inputs
1580 `(("ghc-exceptions" ,ghc-exceptions)
1581 ("ghc-multipart" ,ghc-multipart)
1582 ("ghc-network-uri" ,ghc-network-uri)
1583 ("ghc-network" ,ghc-network)))
1584 (native-inputs
1585 `(("ghc-doctest" ,ghc-doctest)
1586 ("ghc-quickcheck" ,ghc-quickcheck)))
1587 (home-page
1588 "https://github.com/cheecheeo/haskell-cgi")
1589 (synopsis "Library for writing CGI programs")
1590 (description
1591 "This is a Haskell library for writing CGI programs.")
1592 (license license:bsd-3)))
1593
1594 (define-public ghc-charset
1595 (package
1596 (name "ghc-charset")
1597 (version "0.3.7.1")
1598 (source
1599 (origin
1600 (method url-fetch)
1601 (uri (string-append
1602 "https://hackage.haskell.org/package/charset/charset-"
1603 version
1604 ".tar.gz"))
1605 (sha256
1606 (base32
1607 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1608 (build-system haskell-build-system)
1609 (arguments
1610 `(#:cabal-revision
1611 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1612 (inputs
1613 `(("ghc-semigroups" ,ghc-semigroups)
1614 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1615 (home-page "https://github.com/ekmett/charset")
1616 (synopsis "Fast unicode character sets for Haskell")
1617 (description "This package provides fast unicode character sets for
1618 Haskell, based on complemented PATRICIA tries.")
1619 (license license:bsd-3)))
1620
1621 (define-public ghc-chart
1622 (package
1623 (name "ghc-chart")
1624 (version "1.9.1")
1625 (source
1626 (origin
1627 (method url-fetch)
1628 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1629 "Chart-" version ".tar.gz"))
1630 (sha256
1631 (base32
1632 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1633 (build-system haskell-build-system)
1634 (inputs
1635 `(("ghc-old-locale" ,ghc-old-locale)
1636 ("ghc-lens" ,ghc-lens)
1637 ("ghc-colour" ,ghc-colour)
1638 ("ghc-data-default-class" ,ghc-data-default-class)
1639 ("ghc-operational" ,ghc-operational)
1640 ("ghc-vector" ,ghc-vector)))
1641 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1642 (synopsis "Library for generating 2D charts and plots")
1643 (description
1644 "This package provides a library for generating 2D charts and plots, with
1645 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1646 (license license:bsd-3)))
1647
1648 (define-public ghc-chart-cairo
1649 (package
1650 (name "ghc-chart-cairo")
1651 (version "1.9.1")
1652 (source
1653 (origin
1654 (method url-fetch)
1655 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1656 "Chart-cairo-" version ".tar.gz"))
1657 (sha256
1658 (base32
1659 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
1660 (build-system haskell-build-system)
1661 (inputs
1662 `(("ghc-old-locale" ,ghc-old-locale)
1663 ("ghc-cairo" ,ghc-cairo)
1664 ("ghc-colour" ,ghc-colour)
1665 ("ghc-data-default-class" ,ghc-data-default-class)
1666 ("ghc-operational" ,ghc-operational)
1667 ("ghc-lens" ,ghc-lens)
1668 ("ghc-chart" ,ghc-chart)))
1669 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1670 (synopsis "Cairo backend for Charts")
1671 (description "This package provides a Cairo vector graphics rendering
1672 backend for the Charts library.")
1673 (license license:bsd-3)))
1674
1675 (define-public ghc-chasingbottoms
1676 (package
1677 (name "ghc-chasingbottoms")
1678 (version "1.3.1.7")
1679 (source
1680 (origin
1681 (method url-fetch)
1682 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1683 "ChasingBottoms-" version ".tar.gz"))
1684 (sha256
1685 (base32
1686 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1687 (build-system haskell-build-system)
1688 (inputs
1689 `(("ghc-quickcheck" ,ghc-quickcheck)
1690 ("ghc-random" ,ghc-random)
1691 ("ghc-syb" ,ghc-syb)))
1692 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1693 (synopsis "Testing of partial and infinite values in Haskell")
1694 (description
1695 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1696 ;; rendered properly.
1697 "This is a library for testing code involving bottoms or infinite values.
1698 For the underlying theory and a larger example involving use of QuickCheck,
1699 see the article
1700 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1701 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1702 Partial and Infinite Values\"}.")
1703 (license license:expat)))
1704
1705 (define-public ghc-cheapskate
1706 (package
1707 (name "ghc-cheapskate")
1708 (version "0.1.1.1")
1709 (source
1710 (origin
1711 (method url-fetch)
1712 (uri (string-append
1713 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1714 version
1715 ".tar.gz"))
1716 (sha256
1717 (base32
1718 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1719 (build-system haskell-build-system)
1720 (inputs
1721 `(("ghc-blaze-html" ,ghc-blaze-html)
1722 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1723 ("ghc-data-default" ,ghc-data-default)
1724 ("ghc-syb" ,ghc-syb)
1725 ("ghc-uniplate" ,ghc-uniplate)))
1726 (home-page "https://github.com/jgm/cheapskate")
1727 (synopsis "Experimental markdown processor")
1728 (description "Cheapskate is an experimental Markdown processor in pure
1729 Haskell. It aims to process Markdown efficiently and in the most forgiving
1730 possible way. It is designed to deal with any input, including garbage, with
1731 linear performance. Output is sanitized by default for protection against
1732 cross-site scripting (@dfn{XSS}) attacks.")
1733 (license license:bsd-3)))
1734
1735 (define-public ghc-chell
1736 (package
1737 (name "ghc-chell")
1738 (version "0.5")
1739 (source
1740 (origin
1741 (method url-fetch)
1742 (uri (string-append
1743 "https://hackage.haskell.org/package/chell/chell-"
1744 version ".tar.gz"))
1745 (sha256
1746 (base32
1747 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
1748 (build-system haskell-build-system)
1749 (arguments
1750 `(#:cabal-revision
1751 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
1752 (inputs
1753 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1754 ("ghc-patience" ,ghc-patience)
1755 ("ghc-random" ,ghc-random)
1756 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1757 (home-page "https://john-millikin.com/software/chell/")
1758 (synopsis "Simple and intuitive library for automated testing")
1759 (description
1760 "Chell is a simple and intuitive library for automated testing.
1761 It natively supports assertion-based testing, and can use companion
1762 libraries such as @code{chell-quickcheck} to support more complex
1763 testing strategies.")
1764 (license license:expat)))
1765
1766 (define-public ghc-chell-quickcheck
1767 (package
1768 (name "ghc-chell-quickcheck")
1769 (version "0.2.5.2")
1770 (source
1771 (origin
1772 (method url-fetch)
1773 (uri (string-append
1774 "https://hackage.haskell.org/package/chell-quickcheck/"
1775 "chell-quickcheck-" version ".tar.gz"))
1776 (sha256
1777 (base32
1778 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1779 (build-system haskell-build-system)
1780 (arguments
1781 `(#:phases
1782 (modify-phases %standard-phases
1783 (add-before 'configure 'update-constraints
1784 (lambda _
1785 (substitute* "chell-quickcheck.cabal"
1786 (("QuickCheck >= 2\\.3 && < 2\\.13")
1787 "QuickCheck >= 2.3 && < 2.14")))))))
1788 (inputs
1789 `(("ghc-chell" ,ghc-chell)
1790 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1791 ("ghc-random" ,ghc-random)
1792 ("ghc-quickcheck" ,ghc-quickcheck)))
1793 (home-page "https://john-millikin.com/software/chell/")
1794 (synopsis "QuickCheck support for the Chell testing library")
1795 (description "More complex tests for @code{chell}.")
1796 (license license:expat)))
1797
1798 (define ghc-chell-quickcheck-bootstrap
1799 (package
1800 (name "ghc-chell-quickcheck-bootstrap")
1801 (version "0.2.5.2")
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://hackage.haskell.org/package/chell-quickcheck/"
1807 "chell-quickcheck-" version ".tar.gz"))
1808 (sha256
1809 (base32
1810 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1811 (build-system haskell-build-system)
1812 (inputs
1813 `(("ghc-chell" ,ghc-chell)
1814 ("ghc-random" ,ghc-random)
1815 ("ghc-quickcheck" ,ghc-quickcheck)))
1816 (arguments
1817 `(#:tests? #f
1818 #:phases
1819 (modify-phases %standard-phases
1820 (add-before 'configure 'update-constraints
1821 (lambda _
1822 (substitute* "chell-quickcheck.cabal"
1823 (("QuickCheck >= 2\\.3 && < 2\\.13")
1824 "QuickCheck >= 2.3 && < 2.14")))))))
1825 (home-page "https://john-millikin.com/software/chell/")
1826 (synopsis "QuickCheck support for the Chell testing library")
1827 (description "More complex tests for @code{chell}.")
1828 (license license:expat)))
1829
1830 (define-public ghc-chunked-data
1831 (package
1832 (name "ghc-chunked-data")
1833 (version "0.3.1")
1834 (source
1835 (origin
1836 (method url-fetch)
1837 (uri (string-append "https://hackage.haskell.org/package/"
1838 "chunked-data-" version "/"
1839 "chunked-data-" version ".tar.gz"))
1840 (sha256
1841 (base32
1842 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1843 (build-system haskell-build-system)
1844 (inputs `(("ghc-vector" ,ghc-vector)
1845 ("ghc-semigroups" ,ghc-semigroups)))
1846 (home-page "https://github.com/snoyberg/mono-traversable")
1847 (synopsis "Typeclasses for dealing with various chunked data
1848 representations for Haskell")
1849 (description "This Haskell package was originally present in
1850 classy-prelude.")
1851 (license license:expat)))
1852
1853 (define-public ghc-clock
1854 (package
1855 (name "ghc-clock")
1856 (version "0.8")
1857 (source
1858 (origin
1859 (method url-fetch)
1860 (uri (string-append
1861 "https://hackage.haskell.org/package/"
1862 "clock/"
1863 "clock-" version ".tar.gz"))
1864 (sha256
1865 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
1866 (build-system haskell-build-system)
1867 (inputs
1868 `(("ghc-tasty" ,ghc-tasty)
1869 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1870 (home-page "https://hackage.haskell.org/package/clock")
1871 (synopsis "High-resolution clock for Haskell")
1872 (description "A package for convenient access to high-resolution clock and
1873 timer functions of different operating systems via a unified API.")
1874 (license license:bsd-3)))
1875
1876 ;; This package builds `clock` without tests, since the tests rely on tasty
1877 ;; and tasty-quickcheck, which in turn require clock to build.
1878 (define-public ghc-clock-bootstrap
1879 (package
1880 (inherit ghc-clock)
1881 (name "ghc-clock-bootstrap")
1882 (arguments '(#:tests? #f))
1883 (inputs '())
1884 (properties '((hidden? #t)))))
1885
1886 (define-public ghc-cmark
1887 (package
1888 (name "ghc-cmark")
1889 (version "0.6")
1890 (source (origin
1891 (method url-fetch)
1892 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
1893 ;; See cbits/cmark_version.h.
1894 (uri (string-append "https://hackage.haskell.org/package/"
1895 "cmark/cmark-" version ".tar.gz"))
1896 (sha256
1897 (base32
1898 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
1899 (build-system haskell-build-system)
1900 (native-inputs
1901 `(("ghc-hunit" ,ghc-hunit)))
1902 (home-page "https://github.com/jgm/commonmark-hs")
1903 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1904 (description
1905 "This package provides Haskell bindings for
1906 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1907 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1908 sources, and does not require prior installation of the C library.")
1909 (license license:bsd-3)))
1910
1911 (define-public ghc-cmark-gfm
1912 (package
1913 (name "ghc-cmark-gfm")
1914 (version "0.2.0")
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append "https://hackage.haskell.org/package/"
1919 "cmark-gfm/cmark-gfm-"
1920 version ".tar.gz"))
1921 (sha256
1922 (base32
1923 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
1924 (build-system haskell-build-system)
1925 (native-inputs
1926 `(("ghc-hunit" ,ghc-hunit)))
1927 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1928 (synopsis
1929 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1930 (description
1931 "This package provides Haskell bindings for libcmark-gfm, the reference
1932 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1933 It includes sources for libcmark-gfm and does not require prior installation
1934 of the C library.")
1935 (license license:bsd-3)))
1936
1937 (define-public ghc-cmdargs
1938 (package
1939 (name "ghc-cmdargs")
1940 (version "0.10.20")
1941 (source
1942 (origin
1943 (method url-fetch)
1944 (uri (string-append
1945 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1946 version ".tar.gz"))
1947 (sha256
1948 (base32
1949 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1950 (build-system haskell-build-system)
1951 (home-page
1952 "http://community.haskell.org/~ndm/cmdargs/")
1953 (synopsis "Command line argument processing")
1954 (description
1955 "This library provides an easy way to define command line parsers.")
1956 (license license:bsd-3)))
1957
1958 (define-public ghc-code-page
1959 (package
1960 (name "ghc-code-page")
1961 (version "0.2")
1962 (source
1963 (origin
1964 (method url-fetch)
1965 (uri (string-append
1966 "https://hackage.haskell.org/package/code-page/code-page-"
1967 version ".tar.gz"))
1968 (sha256
1969 (base32
1970 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
1971 (build-system haskell-build-system)
1972 (home-page "https://github.com/RyanGlScott/code-page")
1973 (synopsis "Windows code page library for Haskell")
1974 (description "A cross-platform library with functions for adjusting
1975 code pages on Windows. On all other operating systems, the library does
1976 nothing.")
1977 (license license:bsd-3)))
1978
1979 (define-public ghc-colour
1980 (package
1981 (name "ghc-colour")
1982 (version "2.3.5")
1983 (source
1984 (origin
1985 (method url-fetch)
1986 (uri (string-append
1987 "https://hackage.haskell.org/package/colour/colour-"
1988 version ".tar.gz"))
1989 (sha256
1990 (base32
1991 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
1992 (arguments
1993 ;; The tests for this package have the following dependency cycle:
1994 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1995 `(#:tests? #f))
1996 (build-system haskell-build-system)
1997 (home-page "https://www.haskell.org/haskellwiki/Colour")
1998 (synopsis "Model for human colour perception")
1999 (description
2000 "This package provides a data type for colours and transparency.
2001 Colours can be blended and composed. Various colour spaces are
2002 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2003 (license license:expat)))
2004
2005 (define-public ghc-comonad
2006 (package
2007 (name "ghc-comonad")
2008 (version "5.0.5")
2009 (source
2010 (origin
2011 (method url-fetch)
2012 (uri (string-append
2013 "https://hackage.haskell.org/package/comonad/comonad-"
2014 version
2015 ".tar.gz"))
2016 (sha256
2017 (base32
2018 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
2019 (build-system haskell-build-system)
2020 (native-inputs
2021 `(("cabal-doctest" ,cabal-doctest)
2022 ("ghc-doctest" ,ghc-doctest)))
2023 (inputs
2024 `(("ghc-contravariant" ,ghc-contravariant)
2025 ("ghc-distributive" ,ghc-distributive)
2026 ("ghc-semigroups" ,ghc-semigroups)
2027 ("ghc-tagged" ,ghc-tagged)
2028 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2029 (home-page "https://github.com/ekmett/comonad/")
2030 (synopsis "Comonads for Haskell")
2031 (description "This library provides @code{Comonad}s for Haskell.")
2032 (license license:bsd-3)))
2033
2034 (define-public ghc-concatenative
2035 (package
2036 (name "ghc-concatenative")
2037 (version "1.0.1")
2038 (source (origin
2039 (method url-fetch)
2040 (uri (string-append
2041 "https://hackage.haskell.org/package/concatenative/concatenative-"
2042 version ".tar.gz"))
2043 (sha256
2044 (base32
2045 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2046 (build-system haskell-build-system)
2047 (home-page
2048 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2049 (synopsis "Library for postfix control flow")
2050 (description
2051 "Concatenative gives Haskell Factor-style combinators and arrows for
2052 postfix notation. For more information on stack based languages, see
2053 @uref{https://concatenative.org}.")
2054 (license license:bsd-3)))
2055
2056 (define-public ghc-concurrent-extra
2057 (package
2058 (name "ghc-concurrent-extra")
2059 (version "0.7.0.12")
2060 (source
2061 (origin
2062 (method url-fetch)
2063 (uri (string-append "https://hackage.haskell.org/package/"
2064 "concurrent-extra/concurrent-extra-"
2065 version ".tar.gz"))
2066 (sha256
2067 (base32
2068 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2069 (build-system haskell-build-system)
2070 (arguments
2071 ;; XXX: The ReadWriteLock 'stressTest' fails.
2072 `(#:tests? #f))
2073 (inputs
2074 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2075 (native-inputs
2076 `(("ghc-async" ,ghc-async)
2077 ("ghc-hunit" ,ghc-hunit)
2078 ("ghc-random" ,ghc-random)
2079 ("ghc-test-framework" ,ghc-test-framework)
2080 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2081 (home-page "https://github.com/basvandijk/concurrent-extra")
2082 (synopsis "Extra concurrency primitives")
2083 (description "This Haskell library offers (among other things) the
2084 following selection of synchronisation primitives:
2085
2086 @itemize
2087 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2088 @item @code{Event}: Wake multiple threads by signalling an event.
2089 @item @code{Lock}: Enforce exclusive access to a resource. Also known
2090 as a binary semaphore or mutex. The package additionally provides an
2091 alternative that works in the STM monad.
2092 @item @code{RLock}: A lock which can be acquired multiple times by the
2093 same thread. Also known as a reentrant mutex.
2094 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2095 to protect shared resources which may be concurrently read, but only
2096 sequentially written.
2097 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2098 @end itemize
2099
2100 Please consult the API documentation of the individual modules for more
2101 detailed information.
2102
2103 This package was inspired by the concurrency libraries of Java and
2104 Python.")
2105 (license license:bsd-3)))
2106
2107 (define-public ghc-concurrent-output
2108 (package
2109 (name "ghc-concurrent-output")
2110 (version "1.10.11")
2111 (source
2112 (origin
2113 (method url-fetch)
2114 (uri (string-append
2115 "mirror://hackage/package/concurrent-output/concurrent-output-"
2116 version
2117 ".tar.gz"))
2118 (sha256
2119 (base32
2120 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2121 (build-system haskell-build-system)
2122 (inputs
2123 `(("ghc-async" ,ghc-async)
2124 ("ghc-exceptions" ,ghc-exceptions)
2125 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2126 ("ghc-terminal-size" ,ghc-terminal-size)))
2127 (home-page
2128 "https://hackage.haskell.org/package/concurrent-output")
2129 (synopsis
2130 "Ungarble output from several threads or commands")
2131 (description
2132 "Lets multiple threads and external processes concurrently output to the
2133 console, without it getting all garbled up.
2134
2135 Built on top of that is a way of defining multiple output regions, which are
2136 automatically laid out on the screen and can be individually updated by
2137 concurrent threads. Can be used for progress displays etc.")
2138 (license license:bsd-2)))
2139
2140 (define-public ghc-conduit
2141 (package
2142 (name "ghc-conduit")
2143 (version "1.3.1.1")
2144 (source (origin
2145 (method url-fetch)
2146 (uri (string-append "https://hackage.haskell.org/package/"
2147 "conduit/conduit-" version ".tar.gz"))
2148 (sha256
2149 (base32
2150 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2151 (build-system haskell-build-system)
2152 (inputs
2153 `(("ghc-exceptions" ,ghc-exceptions)
2154 ("ghc-lifted-base" ,ghc-lifted-base)
2155 ("ghc-mono-traversable" ,ghc-mono-traversable)
2156 ("ghc-mmorph" ,ghc-mmorph)
2157 ("ghc-resourcet" ,ghc-resourcet)
2158 ("ghc-silently" ,ghc-silently)
2159 ("ghc-transformers-base" ,ghc-transformers-base)
2160 ("ghc-unliftio" ,ghc-unliftio)
2161 ("ghc-unliftio-core" ,ghc-unliftio-core)
2162 ("ghc-vector" ,ghc-vector)
2163 ("ghc-void" ,ghc-void)))
2164 (native-inputs
2165 `(("ghc-quickcheck" ,ghc-quickcheck)
2166 ("ghc-hspec" ,ghc-hspec)
2167 ("ghc-safe" ,ghc-safe)
2168 ("ghc-split" ,ghc-split)))
2169 (home-page "https://github.com/snoyberg/conduit")
2170 (synopsis "Streaming data library ")
2171 (description
2172 "The conduit package is a solution to the streaming data problem,
2173 allowing for production, transformation, and consumption of streams of data
2174 in constant memory. It is an alternative to lazy I/O which guarantees
2175 deterministic resource handling, and fits in the same general solution
2176 space as enumerator/iteratee and pipes.")
2177 (license license:expat)))
2178
2179 (define-public ghc-conduit-algorithms
2180 (package
2181 (name "ghc-conduit-algorithms")
2182 (version "0.0.11.0")
2183 (source
2184 (origin
2185 (method url-fetch)
2186 (uri (string-append "https://hackage.haskell.org/package/"
2187 "conduit-algorithms/conduit-algorithms-"
2188 version ".tar.gz"))
2189 (sha256
2190 (base32
2191 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2192 (build-system haskell-build-system)
2193 (inputs
2194 `(("ghc-async" ,ghc-async)
2195 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2196 ("ghc-conduit" ,ghc-conduit)
2197 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2198 ("ghc-conduit-extra" ,ghc-conduit-extra)
2199 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2200 ("ghc-exceptions" ,ghc-exceptions)
2201 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2202 ("ghc-monad-control" ,ghc-monad-control)
2203 ("ghc-pqueue" ,ghc-pqueue)
2204 ("ghc-resourcet" ,ghc-resourcet)
2205 ("ghc-stm-conduit" ,ghc-stm-conduit)
2206 ("ghc-streaming-commons" ,ghc-streaming-commons)
2207 ("ghc-unliftio-core" ,ghc-unliftio-core)
2208 ("ghc-vector" ,ghc-vector)))
2209 (native-inputs
2210 `(("ghc-hunit" ,ghc-hunit)
2211 ("ghc-test-framework" ,ghc-test-framework)
2212 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2213 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2214 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2215 (synopsis "Conduit-based algorithms")
2216 (description
2217 "This package provides algorithms on @code{Conduits}, including higher
2218 level asynchronous processing and some other utilities.")
2219 (license license:expat)))
2220
2221 (define-public ghc-conduit-combinators
2222 (package
2223 (name "ghc-conduit-combinators")
2224 (version "1.3.0")
2225 (source
2226 (origin
2227 (method url-fetch)
2228 (uri (string-append "https://hackage.haskell.org/package/"
2229 "conduit-combinators-" version "/"
2230 "conduit-combinators-" version ".tar.gz"))
2231 (sha256
2232 (base32
2233 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2234 (build-system haskell-build-system)
2235 (inputs `(("ghc-conduit" ,ghc-conduit)
2236 ("ghc-conduit-extra" ,ghc-conduit-extra)
2237 ("ghc-transformers-base" ,ghc-transformers-base)
2238 ("ghc-primitive" ,ghc-primitive)
2239 ("ghc-vector" ,ghc-vector)
2240 ("ghc-void" ,ghc-void)
2241 ("ghc-mwc-random" ,ghc-mwc-random)
2242 ("ghc-unix-compat" ,ghc-unix-compat)
2243 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2244 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2245 ("ghc-resourcet" ,ghc-resourcet)
2246 ("ghc-monad-control" ,ghc-monad-control)
2247 ("ghc-chunked-data" ,ghc-chunked-data)
2248 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2249 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2250 ("ghc-silently" ,ghc-silently)
2251 ("ghc-safe" ,ghc-safe)
2252 ("ghc-quickcheck" ,ghc-quickcheck)))
2253 (home-page "https://github.com/snoyberg/mono-traversable")
2254 (synopsis "Commonly used conduit functions, for both chunked and
2255 unchunked data")
2256 (description "This Haskell package provides a replacement for Data.Conduit.List,
2257 as well as a convenient Conduit module.")
2258 (license license:expat)))
2259
2260 (define-public ghc-conduit-extra
2261 (package
2262 (name "ghc-conduit-extra")
2263 (version "1.3.4")
2264 (source
2265 (origin
2266 (method url-fetch)
2267 (uri (string-append "https://hackage.haskell.org/package/"
2268 "conduit-extra/conduit-extra-"
2269 version ".tar.gz"))
2270 (sha256
2271 (base32
2272 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2273 (build-system haskell-build-system)
2274 (inputs
2275 `(("ghc-conduit" ,ghc-conduit)
2276 ("ghc-exceptions" ,ghc-exceptions)
2277 ("ghc-monad-control" ,ghc-monad-control)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-typed-process" ,ghc-typed-process)
2280 ("ghc-async" ,ghc-async)
2281 ("ghc-attoparsec" ,ghc-attoparsec)
2282 ("ghc-blaze-builder" ,ghc-blaze-builder)
2283 ("ghc-network" ,ghc-network)
2284 ("ghc-primitive" ,ghc-primitive)
2285 ("ghc-resourcet" ,ghc-resourcet)
2286 ("ghc-streaming-commons" ,ghc-streaming-commons)
2287 ("ghc-hspec" ,ghc-hspec)
2288 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2289 ("ghc-quickcheck" ,ghc-quickcheck)))
2290 (native-inputs
2291 `(("hspec-discover" ,hspec-discover)))
2292 (home-page "https://github.com/snoyberg/conduit")
2293 (synopsis "Conduit adapters for common libraries")
2294 (description
2295 "The @code{conduit} package itself maintains relative small dependencies.
2296 The purpose of this package is to collect commonly used utility functions
2297 wrapping other library dependencies, without depending on heavier-weight
2298 dependencies. The basic idea is that this package should only depend on
2299 @code{haskell-platform} packages and @code{conduit}.")
2300 (license license:expat)))
2301
2302 (define-public ghc-conduit-zstd
2303 (package
2304 (name "ghc-conduit-zstd")
2305 (version "0.0.1.1")
2306 (source
2307 (origin
2308 (method url-fetch)
2309 (uri (string-append "https://hackage.haskell.org/package/"
2310 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2311 (sha256
2312 (base32
2313 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2314 (build-system haskell-build-system)
2315 (inputs
2316 `(("ghc-conduit" ,ghc-conduit)
2317 ("ghc-zstd" ,ghc-zstd)))
2318 (native-inputs
2319 `(("ghc-hunit" ,ghc-hunit)
2320 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2321 ("ghc-conduit-extra" ,ghc-conduit-extra)
2322 ("ghc-test-framework" ,ghc-test-framework)
2323 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2324 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2325 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2326 (synopsis "Conduit-based ZStd Compression")
2327 (description "Zstandard compression packaged as a conduit. This is
2328 a very thin wrapper around the
2329 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2330 interface}.")
2331 (license license:expat)))
2332
2333 (define-public ghc-configurator
2334 (package
2335 (name "ghc-configurator")
2336 (version "0.3.0.0")
2337 (source
2338 (origin
2339 (method url-fetch)
2340 (uri (string-append "https://hackage.haskell.org/package/"
2341 "configurator/configurator-"
2342 version ".tar.gz"))
2343 (sha256
2344 (base32
2345 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2346 (build-system haskell-build-system)
2347 (inputs
2348 `(("ghc-attoparsec" ,ghc-attoparsec)
2349 ("ghc-hashable" ,ghc-hashable)
2350 ("ghc-unix-compat" ,ghc-unix-compat)
2351 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2352 (native-inputs
2353 `(("ghc-hunit" ,ghc-hunit)
2354 ("ghc-test-framework" ,ghc-test-framework)
2355 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2356 (home-page "http://github.com/bos/configurator")
2357 (synopsis "Configuration management")
2358 (description
2359 "This package provides a configuration management library for programs
2360 and daemons. The features include:
2361
2362 @enumerate
2363 @item Automatic, dynamic reloading in response to modifications to
2364 configuration files.
2365 @item A simple, but flexible, configuration language, supporting several of
2366 the most commonly needed types of data, along with interpolation of strings
2367 from the configuration or the system environment (e.g. @code{$(HOME)}).
2368 @item Subscription-based notification of changes to configuration properties.
2369 @item An @code{import} directive allows the configuration of a complex
2370 application to be split across several smaller files, or common configuration
2371 data to be shared across several applications.
2372 @end enumerate\n")
2373 (license license:bsd-3)))
2374
2375 (define-public ghc-connection
2376 (package
2377 (name "ghc-connection")
2378 (version "0.3.1")
2379 (source (origin
2380 (method url-fetch)
2381 (uri (string-append "https://hackage.haskell.org/package/"
2382 "connection/connection-"
2383 version ".tar.gz"))
2384 (sha256
2385 (base32
2386 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2387 (build-system haskell-build-system)
2388 (inputs
2389 `(("ghc-byteable" ,ghc-byteable)
2390 ("ghc-data-default-class" ,ghc-data-default-class)
2391 ("ghc-network" ,ghc-network)
2392 ("ghc-tls" ,ghc-tls)
2393 ("ghc-socks" ,ghc-socks)
2394 ("ghc-x509" ,ghc-x509)
2395 ("ghc-x509-store" ,ghc-x509-store)
2396 ("ghc-x509-system" ,ghc-x509-system)
2397 ("ghc-x509-validation" ,ghc-x509-validation)))
2398 (home-page "https://github.com/vincenthz/hs-connection")
2399 (synopsis "Simple and easy network connections API")
2400 (description
2401 "This package provides a simple network library for all your connection
2402 needs. It provides a very simple API to create sockets to a destination with
2403 the choice of SSL/TLS, and SOCKS.")
2404 (license license:bsd-3)))
2405
2406 (define-public ghc-constraints
2407 (package
2408 (name "ghc-constraints")
2409 (version "0.10.1")
2410 (source
2411 (origin
2412 (method url-fetch)
2413 (uri (string-append
2414 "https://hackage.haskell.org/package/constraints/constraints-"
2415 version ".tar.gz"))
2416 (sha256
2417 (base32
2418 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2419 (build-system haskell-build-system)
2420 (inputs
2421 `(("ghc-hashable" ,ghc-hashable)
2422 ("ghc-semigroups" ,ghc-semigroups)
2423 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2424 (native-inputs
2425 `(("ghc-hspec" ,ghc-hspec)
2426 ("hspec-discover" ,hspec-discover)))
2427 (home-page "https://github.com/ekmett/constraints/")
2428 (synopsis "Constraint manipulation")
2429 (description
2430 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2431 They stopped crashing the compiler in GHC 7.6. This package provides
2432 a vocabulary for working with them.")
2433 (license license:bsd-3)))
2434
2435 (define-public ghc-contravariant
2436 (package
2437 (name "ghc-contravariant")
2438 (version "1.5.2")
2439 (source
2440 (origin
2441 (method url-fetch)
2442 (uri (string-append
2443 "https://hackage.haskell.org/package/contravariant/contravariant-"
2444 version
2445 ".tar.gz"))
2446 (sha256
2447 (base32
2448 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2449 (build-system haskell-build-system)
2450 (inputs
2451 `(("ghc-void" ,ghc-void)
2452 ("ghc-transformers-compat" ,ghc-transformers-compat)
2453 ("ghc-statevar" ,ghc-statevar)
2454 ("ghc-semigroups" ,ghc-semigroups)))
2455 (home-page
2456 "https://github.com/ekmett/contravariant/")
2457 (synopsis "Contravariant functors")
2458 (description "Contravariant functors for Haskell.")
2459 (license license:bsd-3)))
2460
2461 (define-public ghc-contravariant-extras
2462 (package
2463 (name "ghc-contravariant-extras")
2464 (version "0.3.4")
2465 (source
2466 (origin
2467 (method url-fetch)
2468 (uri (string-append "https://hackage.haskell.org/package/"
2469 "contravariant-extras-" version "/"
2470 "contravariant-extras-" version ".tar.gz"))
2471 (sha256
2472 (base32
2473 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2474 (build-system haskell-build-system)
2475 (arguments
2476 `(#:cabal-revision
2477 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2478 (inputs
2479 `(("ghc-tuple-th" ,ghc-tuple-th)
2480 ("ghc-contravariant" ,ghc-contravariant)
2481 ("ghc-base-prelude" ,ghc-base-prelude)
2482 ("ghc-semigroups" ,ghc-semigroups)))
2483 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2484 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2485 (description "This Haskell package provides extras for the
2486 @code{ghc-contravariant} package.")
2487 (license license:expat)))
2488
2489 (define-public ghc-convertible
2490 (package
2491 (name "ghc-convertible")
2492 (version "1.1.1.0")
2493 (source
2494 (origin
2495 (method url-fetch)
2496 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2497 "convertible-" version ".tar.gz"))
2498 (sha256
2499 (base32
2500 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2501 (build-system haskell-build-system)
2502 (inputs
2503 `(("ghc-old-time" ,ghc-old-time)
2504 ("ghc-old-locale" ,ghc-old-locale)))
2505 (home-page "https://hackage.haskell.org/package/convertible")
2506 (synopsis "Typeclasses and instances for converting between types")
2507 (description
2508 "This package provides a typeclass with a single function that is
2509 designed to help convert between different types: numeric values, dates and
2510 times, and the like. The conversions perform bounds checking and return a
2511 pure @code{Either} value. This means that you need not remember which specific
2512 function performs the conversion you desire.")
2513 (license license:bsd-3)))
2514
2515 (define-public ghc-data-accessor
2516 (package
2517 (name "ghc-data-accessor")
2518 (version "0.2.2.8")
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append
2523 "mirror://hackage/package/data-accessor/data-accessor-"
2524 version ".tar.gz"))
2525 (sha256
2526 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2527 (build-system haskell-build-system)
2528 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2529 (synopsis
2530 "Haskell utilities for accessing and manipulating fields of records")
2531 (description "This package provides Haskell modules for accessing and
2532 manipulating fields of records.")
2533 (license license:bsd-3)))
2534
2535 (define-public ghc-data-accessor-transformers
2536 (package
2537 (name "ghc-data-accessor-transformers")
2538 (version "0.2.1.7")
2539 (source
2540 (origin
2541 (method url-fetch)
2542 (uri (string-append
2543 "mirror://hackage/package/data-accessor-transformers/"
2544 "data-accessor-transformers-" version ".tar.gz"))
2545 (sha256
2546 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2547 (build-system haskell-build-system)
2548 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2549 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2550 (synopsis "Use Accessor to access state in transformers State monad")
2551 (description "This package provides Haskell modules to allow use of
2552 Accessor to access state in transformers State monad.")
2553 (license license:bsd-3)))
2554
2555 (define-public ghc-data-default
2556 (package
2557 (name "ghc-data-default")
2558 (version "0.7.1.1")
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/data-default/data-default-"
2564 version
2565 ".tar.gz"))
2566 (sha256
2567 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-data-default-class"
2571 ,ghc-data-default-class)
2572 ("ghc-data-default-instances-base"
2573 ,ghc-data-default-instances-base)
2574 ("ghc-data-default-instances-containers"
2575 ,ghc-data-default-instances-containers)
2576 ("ghc-data-default-instances-dlist"
2577 ,ghc-data-default-instances-dlist)
2578 ("ghc-data-default-instances-old-locale"
2579 ,ghc-data-default-instances-old-locale)))
2580 (home-page "https://hackage.haskell.org/package/data-default")
2581 (synopsis "Types with default values")
2582 (description
2583 "This package defines a class for types with a default value, and
2584 provides instances for types from the base, containers, dlist and old-locale
2585 packages.")
2586 (license license:bsd-3)))
2587
2588 (define-public ghc-data-default-class
2589 (package
2590 (name "ghc-data-default-class")
2591 (version "0.1.2.0")
2592 (source
2593 (origin
2594 (method url-fetch)
2595 (uri (string-append
2596 "https://hackage.haskell.org/package/data-default-class/"
2597 "data-default-class-" version ".tar.gz"))
2598 (sha256
2599 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2600 (build-system haskell-build-system)
2601 (home-page "https://hackage.haskell.org/package/data-default-class")
2602 (synopsis "Types with default values")
2603 (description
2604 "This package defines a class for types with default values.")
2605 (license license:bsd-3)))
2606
2607 (define-public ghc-data-default-instances-base
2608 (package
2609 (name "ghc-data-default-instances-base")
2610 (version "0.1.0.1")
2611 (source
2612 (origin
2613 (method url-fetch)
2614 (uri (string-append
2615 "https://hackage.haskell.org/package/"
2616 "data-default-instances-base/"
2617 "data-default-instances-base-" version ".tar.gz"))
2618 (sha256
2619 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-data-default-class" ,ghc-data-default-class)))
2623 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2624 (synopsis "Default instances for types in base")
2625 (description
2626 "This package provides default instances for types from the base
2627 package.")
2628 (license license:bsd-3)))
2629
2630 (define-public ghc-data-default-instances-containers
2631 (package
2632 (name "ghc-data-default-instances-containers")
2633 (version "0.0.1")
2634 (source
2635 (origin
2636 (method url-fetch)
2637 (uri (string-append
2638 "https://hackage.haskell.org/package/"
2639 "data-default-instances-containers/"
2640 "data-default-instances-containers-" version ".tar.gz"))
2641 (sha256
2642 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2643 (build-system haskell-build-system)
2644 (inputs
2645 `(("ghc-data-default-class" ,ghc-data-default-class)))
2646 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2647 (synopsis "Default instances for types in containers")
2648 (description "Provides default instances for types from the containers
2649 package.")
2650 (license license:bsd-3)))
2651
2652 (define-public ghc-data-default-instances-dlist
2653 (package
2654 (name "ghc-data-default-instances-dlist")
2655 (version "0.0.1")
2656 (source
2657 (origin
2658 (method url-fetch)
2659 (uri (string-append
2660 "https://hackage.haskell.org/package/"
2661 "data-default-instances-dlist/"
2662 "data-default-instances-dlist-" version ".tar.gz"))
2663 (sha256
2664 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2665 (build-system haskell-build-system)
2666 (inputs
2667 `(("ghc-data-default-class" ,ghc-data-default-class)
2668 ("ghc-dlist" ,ghc-dlist)))
2669 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2670 (synopsis "Default instances for types in dlist")
2671 (description "Provides default instances for types from the dlist
2672 package.")
2673 (license license:bsd-3)))
2674
2675 (define-public ghc-data-default-instances-old-locale
2676 (package
2677 (name "ghc-data-default-instances-old-locale")
2678 (version "0.0.1")
2679 (source
2680 (origin
2681 (method url-fetch)
2682 (uri (string-append
2683 "https://hackage.haskell.org/package/"
2684 "data-default-instances-old-locale/"
2685 "data-default-instances-old-locale-" version ".tar.gz"))
2686 (sha256
2687 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2688 (build-system haskell-build-system)
2689 (inputs
2690 `(("ghc-data-default-class" ,ghc-data-default-class)
2691 ("ghc-old-locale" ,ghc-old-locale)))
2692 (home-page
2693 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2694 (synopsis "Default instances for types in old-locale")
2695 (description "Provides Default instances for types from the old-locale
2696 package.")
2697 (license license:bsd-3)))
2698
2699 (define-public ghc-data-hash
2700 (package
2701 (name "ghc-data-hash")
2702 (version "0.2.0.1")
2703 (source
2704 (origin
2705 (method url-fetch)
2706 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2707 "/data-hash-" version ".tar.gz"))
2708 (sha256
2709 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2710 (build-system haskell-build-system)
2711 (inputs
2712 `(("ghc-quickcheck" ,ghc-quickcheck)
2713 ("ghc-test-framework" ,ghc-test-framework)
2714 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2715 (home-page "https://hackage.haskell.org/package/data-hash")
2716 (synopsis "Combinators for building fast hashing functions")
2717 (description
2718 "This package provides combinators for building fast hashing functions.
2719 It includes hashing functions for all basic Haskell98 types.")
2720 (license license:bsd-3)))
2721
2722 (define-public ghc-data-ordlist
2723 (package
2724 (name "ghc-data-ordlist")
2725 (version "0.4.7.0")
2726 (source
2727 (origin
2728 (method url-fetch)
2729 (uri (string-append
2730 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2731 version ".tar.gz"))
2732 (sha256
2733 (base32
2734 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2735 (build-system haskell-build-system)
2736 (home-page "https://hackage.haskell.org/package/data-ordlist")
2737 (synopsis "Set and bag operations on ordered lists")
2738 (description
2739 "This module provides set and multiset operations on ordered lists.")
2740 (license license:bsd-3)))
2741
2742 (define-public ghc-dbus
2743 (package
2744 (name "ghc-dbus")
2745 (version "1.2.7")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri
2750 (string-append
2751 "mirror://hackage/package/dbus/dbus-"
2752 version ".tar.gz"))
2753 (sha256
2754 (base32
2755 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2756 (build-system haskell-build-system)
2757 (inputs
2758 `(("ghc-cereal" ,ghc-cereal)
2759 ("ghc-conduit" ,ghc-conduit)
2760 ("ghc-exceptions" ,ghc-exceptions)
2761 ("ghc-lens" ,ghc-lens)
2762 ("ghc-network" ,ghc-network)
2763 ("ghc-random" ,ghc-random)
2764 ("ghc-split" ,ghc-split)
2765 ("ghc-th-lift" ,ghc-th-lift)
2766 ("ghc-vector" ,ghc-vector)
2767 ("ghc-xml-conduit" ,ghc-xml-conduit)
2768 ("ghc-xml-types" ,ghc-xml-types)))
2769 (native-inputs
2770 `(("ghc-extra" ,ghc-extra)
2771 ("ghc-quickcheck" ,ghc-quickcheck)
2772 ("ghc-resourcet" ,ghc-resourcet)
2773 ("ghc-tasty" ,ghc-tasty)
2774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2776 ;; FIXME - Some tests try to talk to network.
2777 (arguments `(#:tests? #f))
2778 (home-page "https://github.com/rblaze/haskell-dbus")
2779 (synopsis "Client library for the D-Bus IPC system")
2780 (description
2781 "D-Bus is a simple, message-based protocol for inter-process
2782 communication, which allows applications to interact with other parts
2783 of the machine and the user's session using remote procedure
2784 calls. D-Bus is a essential part of the modern Linux desktop, where
2785 it replaces earlier protocols such as CORBA and DCOP. This library
2786 is an implementation of the D-Bus protocol in Haskell. It can be used
2787 to add D-Bus support to Haskell applications, without the awkward
2788 interfaces common to foreign bindings.")
2789 (license license:asl2.0)))
2790
2791 (define-public ghc-deepseq-generics
2792 (package
2793 (name "ghc-deepseq-generics")
2794 (version "0.2.0.0")
2795 (source (origin
2796 (method url-fetch)
2797 (uri (string-append "https://hackage.haskell.org/package/"
2798 "deepseq-generics/deepseq-generics-"
2799 version ".tar.gz"))
2800 (sha256
2801 (base32
2802 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2803 (build-system haskell-build-system)
2804 (arguments
2805 `(#:cabal-revision
2806 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
2807 (native-inputs
2808 `(("ghc-hunit" ,ghc-hunit)
2809 ("ghc-test-framework" ,ghc-test-framework)
2810 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2811 (home-page "https://github.com/hvr/deepseq-generics")
2812 (synopsis "Generic RNF implementation")
2813 (description
2814 "This package provides a @code{GHC.Generics}-based
2815 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2816 providing an @code{rnf} implementation.")
2817 (license license:bsd-3)))
2818
2819 (define-public ghc-dense-linear-algebra
2820 (package
2821 (name "ghc-dense-linear-algebra")
2822 (version "0.1.0.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append "https://hackage.haskell.org/package/"
2827 "dense-linear-algebra/dense-linear-algebra-"
2828 version ".tar.gz"))
2829 (sha256
2830 (base32
2831 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2832 (build-system haskell-build-system)
2833 (inputs
2834 `(("ghc-math-functions" ,ghc-math-functions)
2835 ("ghc-primitive" ,ghc-primitive)
2836 ("ghc-vector" ,ghc-vector)
2837 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2838 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2839 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2840 (native-inputs
2841 `(("ghc-hspec" ,ghc-hspec)
2842 ("ghc-quickcheck" ,ghc-quickcheck)))
2843 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
2844 (synopsis "Simple and incomplete implementation of linear algebra")
2845 (description "This library is simply a collection of linear-algebra
2846 related modules split from the statistics library.")
2847 (license license:bsd-2)))
2848
2849 (define-public ghc-descriptive
2850 (package
2851 (name "ghc-descriptive")
2852 (version "0.9.5")
2853 (source
2854 (origin
2855 (method url-fetch)
2856 (uri (string-append
2857 "https://hackage.haskell.org/package/descriptive/descriptive-"
2858 version
2859 ".tar.gz"))
2860 (sha256
2861 (base32
2862 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2863 (build-system haskell-build-system)
2864 (inputs
2865 `(("ghc-aeson" ,ghc-aeson)
2866 ("ghc-bifunctors" ,ghc-bifunctors)
2867 ("ghc-scientific" ,ghc-scientific)
2868 ("ghc-vector" ,ghc-vector)))
2869 (native-inputs
2870 `(("ghc-hunit" ,ghc-hunit)
2871 ("ghc-hspec" ,ghc-hspec)))
2872 (home-page
2873 "https://github.com/chrisdone/descriptive")
2874 (synopsis
2875 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2876 (description
2877 "This package provides datatypes and functions for creating consumers
2878 and parsers with useful semantics.")
2879 (license license:bsd-3)))
2880
2881 (define-public ghc-diagrams-core
2882 (package
2883 (name "ghc-diagrams-core")
2884 (version "1.4.2")
2885 (source
2886 (origin
2887 (method url-fetch)
2888 (uri (string-append "https://hackage.haskell.org/package/"
2889 "diagrams-core/diagrams-core-" version ".tar.gz"))
2890 (sha256
2891 (base32
2892 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2893 (build-system haskell-build-system)
2894 (inputs
2895 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2896 ("ghc-semigroups" ,ghc-semigroups)
2897 ("ghc-monoid-extras" ,ghc-monoid-extras)
2898 ("ghc-dual-tree" ,ghc-dual-tree)
2899 ("ghc-lens" ,ghc-lens)
2900 ("ghc-linear" ,ghc-linear)
2901 ("ghc-adjunctions" ,ghc-adjunctions)
2902 ("ghc-distributive" ,ghc-distributive)
2903 ("ghc-profunctors" ,ghc-profunctors)))
2904 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2905 (synopsis "Core libraries for diagrams embedded domain-specific language")
2906 (description "This package provides the core modules underlying
2907 diagrams, an embedded domain-specific language for compositional,
2908 declarative drawing.")
2909 (license license:bsd-3)))
2910
2911 (define-public ghc-diagrams-lib
2912 (package
2913 (name "ghc-diagrams-lib")
2914 (version "1.4.2.3")
2915 (source
2916 (origin
2917 (method url-fetch)
2918 (uri (string-append "https://hackage.haskell.org/package/"
2919 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2920 (sha256
2921 (base32
2922 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2923 (build-system haskell-build-system)
2924 (inputs
2925 `(("ghc-semigroups" ,ghc-semigroups)
2926 ("ghc-monoid-extras" ,ghc-monoid-extras)
2927 ("ghc-dual-tree" ,ghc-dual-tree)
2928 ("ghc-diagrams-core" ,ghc-diagrams-core)
2929 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2930 ("ghc-active" ,ghc-active)
2931 ("ghc-colour" ,ghc-colour)
2932 ("ghc-data-default-class" ,ghc-data-default-class)
2933 ("ghc-fingertree" ,ghc-fingertree)
2934 ("ghc-intervals" ,ghc-intervals)
2935 ("ghc-lens" ,ghc-lens)
2936 ("ghc-tagged" ,ghc-tagged)
2937 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2938 ("ghc-juicypixels" ,ghc-juicypixels)
2939 ("ghc-hashable" ,ghc-hashable)
2940 ("ghc-linear" ,ghc-linear)
2941 ("ghc-adjunctions" ,ghc-adjunctions)
2942 ("ghc-distributive" ,ghc-distributive)
2943 ("ghc-fsnotify" ,ghc-fsnotify)
2944 ("ghc-unordered-containers" ,ghc-unordered-containers)
2945 ("ghc-profunctors" ,ghc-profunctors)
2946 ("ghc-exceptions" ,ghc-exceptions)
2947 ("ghc-cereal" ,ghc-cereal)))
2948 (native-inputs
2949 `(("ghc-tasty" ,ghc-tasty)
2950 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2951 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2952 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2953 (arguments
2954 `(#:cabal-revision
2955 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2956 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2957 (synopsis "Embedded domain-specific language for declarative graphics")
2958 (description "Diagrams is a flexible, extensible embedded
2959 domain-specific language (EDSL) for creating graphics of many types.
2960 Graphics can be created in arbitrary vector spaces and rendered with
2961 multiple backends. This package provides a standard library of
2962 primitives and operations for creating diagrams.")
2963 (license license:bsd-3)))
2964
2965 (define-public ghc-diagrams-solve
2966 (package
2967 (name "ghc-diagrams-solve")
2968 (version "0.1.1")
2969 (source
2970 (origin
2971 (method url-fetch)
2972 (uri (string-append "https://hackage.haskell.org/package/"
2973 "diagrams-solve/diagrams-solve-"
2974 version ".tar.gz"))
2975 (sha256
2976 (base32
2977 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2978 (build-system haskell-build-system)
2979 (native-inputs
2980 `(("ghc-tasty" ,ghc-tasty)
2981 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2982 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2983 (arguments
2984 `(#:cabal-revision
2985 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2986 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2987 (synopsis "Pure Haskell solver routines used by diagrams")
2988 (description "This library provides Pure Haskell solver routines for
2989 use by the
2990 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2991 diagrams framework}. It currently includes routines for finding real
2992 roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2993 and cyclic tridiagonal linear systems.")
2994 (license license:bsd-3)))
2995
2996 (define-public ghc-diagrams-svg
2997 (package
2998 (name "ghc-diagrams-svg")
2999 (version "1.4.2")
3000 (source
3001 (origin
3002 (method url-fetch)
3003 (uri (string-append "https://hackage.haskell.org/package/"
3004 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3005 (sha256
3006 (base32
3007 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3008 (build-system haskell-build-system)
3009 (inputs
3010 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3011 ("ghc-colour" ,ghc-colour)
3012 ("ghc-diagrams-core" ,ghc-diagrams-core)
3013 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3014 ("ghc-monoid-extras" ,ghc-monoid-extras)
3015 ("ghc-svg-builder" ,ghc-svg-builder)
3016 ("ghc-juicypixels" ,ghc-juicypixels)
3017 ("ghc-split" ,ghc-split)
3018 ("ghc-lens" ,ghc-lens)
3019 ("ghc-hashable" ,ghc-hashable)
3020 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3021 ("ghc-semigroups" ,ghc-semigroups)))
3022 (arguments
3023 `(#:cabal-revision
3024 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3025 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3026 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3027 (description "This package provides a modular backend for rendering
3028 diagrams created with the diagrams embedded domain-specific
3029 language (EDSL) to Scalable Vector Graphics (SVG) files.")
3030 (license license:bsd-3)))
3031
3032 (define-public ghc-dictionary-sharing
3033 (package
3034 (name "ghc-dictionary-sharing")
3035 (version "0.1.0.0")
3036 (source
3037 (origin
3038 (method url-fetch)
3039 (uri (string-append "https://hackage.haskell.org/package/"
3040 "dictionary-sharing/dictionary-sharing-"
3041 version ".tar.gz"))
3042 (sha256
3043 (base32
3044 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3045 (build-system haskell-build-system)
3046 (arguments
3047 `(#:cabal-revision
3048 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3049 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3050 (synopsis "Sharing/memoization of class members")
3051 (description "This library provides tools for ensuring that class
3052 members are shared.")
3053 (license license:bsd-3)))
3054
3055 (define-public ghc-diff
3056 (package
3057 (name "ghc-diff")
3058 (version "0.3.4")
3059 (source (origin
3060 (method url-fetch)
3061 (uri (string-append "https://hackage.haskell.org/package/"
3062 "Diff/Diff-" version ".tar.gz"))
3063 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
3064 (sha256
3065 (base32
3066 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3067 (build-system haskell-build-system)
3068 (native-inputs
3069 `(("ghc-quickcheck" ,ghc-quickcheck)
3070 ("ghc-test-framework" ,ghc-test-framework)
3071 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3072 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3073 (synopsis "O(ND) diff algorithm in Haskell")
3074 (description
3075 "This package provides an implementation of the standard diff algorithm,
3076 and utilities for pretty printing.")
3077 (license license:bsd-3)))
3078
3079 (define-public ghc-disk-free-space
3080 (package
3081 (name "ghc-disk-free-space")
3082 (version "0.1.0.1")
3083 (source
3084 (origin
3085 (method url-fetch)
3086 (uri (string-append "https://hackage.haskell.org/package/"
3087 "disk-free-space/disk-free-space-"
3088 version ".tar.gz"))
3089 (sha256
3090 (base32
3091 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3092 (build-system haskell-build-system)
3093 (home-page "https://github.com/redneb/disk-free-space")
3094 (synopsis "Retrieve information about disk space usage")
3095 (description "A cross-platform library for retrieving information about
3096 disk space usage.")
3097 (license license:bsd-3)))
3098
3099 (define-public ghc-distributive
3100 (package
3101 (name "ghc-distributive")
3102 (version "0.6.1")
3103 (source
3104 (origin
3105 (method url-fetch)
3106 (uri (string-append
3107 "https://hackage.haskell.org/package/distributive/distributive-"
3108 version
3109 ".tar.gz"))
3110 (sha256
3111 (base32
3112 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
3113 (build-system haskell-build-system)
3114 (inputs
3115 `(("ghc-tagged" ,ghc-tagged)
3116 ("ghc-base-orphans" ,ghc-base-orphans)
3117 ("ghc-transformers-compat" ,ghc-transformers-compat)
3118 ("ghc-semigroups" ,ghc-semigroups)
3119 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3120 (native-inputs
3121 `(("cabal-doctest" ,cabal-doctest)
3122 ("ghc-doctest" ,ghc-doctest)
3123 ("ghc-hspec" ,ghc-hspec)
3124 ("hspec-discover" ,hspec-discover)))
3125 (home-page "https://github.com/ekmett/distributive/")
3126 (synopsis "Distributive functors for Haskell")
3127 (description "This package provides distributive functors for Haskell.
3128 Dual to @code{Traversable}.")
3129 (license license:bsd-3)))
3130
3131 (define-public ghc-dlist
3132 (package
3133 (name "ghc-dlist")
3134 (version "0.8.0.7")
3135 (source
3136 (origin
3137 (method url-fetch)
3138 (uri (string-append
3139 "https://hackage.haskell.org/package/dlist/dlist-"
3140 version
3141 ".tar.gz"))
3142 (sha256
3143 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
3144 (build-system haskell-build-system)
3145 (inputs
3146 `(("ghc-quickcheck" ,ghc-quickcheck)))
3147 (home-page "https://github.com/spl/dlist")
3148 (synopsis "Difference lists")
3149 (description
3150 "Difference lists are a list-like type supporting O(1) append. This is
3151 particularly useful for efficient logging and pretty printing (e.g. with the
3152 Writer monad), where list append quickly becomes too expensive.")
3153 (license license:bsd-3)))
3154
3155 (define-public ghc-doctemplates
3156 (package
3157 (name "ghc-doctemplates")
3158 (version "0.2.2.1")
3159 (source
3160 (origin
3161 (method url-fetch)
3162 (uri (string-append "https://hackage.haskell.org/package/"
3163 "doctemplates/doctemplates-"
3164 version ".tar.gz"))
3165 (sha256
3166 (base32
3167 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3168 (build-system haskell-build-system)
3169 (inputs
3170 `(("ghc-aeson" ,ghc-aeson)
3171 ("ghc-blaze-markup" ,ghc-blaze-markup)
3172 ("ghc-blaze-html" ,ghc-blaze-html)
3173 ("ghc-vector" ,ghc-vector)
3174 ("ghc-unordered-containers" ,ghc-unordered-containers)
3175 ("ghc-scientific" ,ghc-scientific)))
3176 (native-inputs
3177 `(("ghc-hspec" ,ghc-hspec)))
3178 (home-page "https://github.com/jgm/doctemplates#readme")
3179 (synopsis "Pandoc-style document templates")
3180 (description
3181 "This package provides a simple text templating system used by pandoc.")
3182 (license license:bsd-3)))
3183
3184 (define-public ghc-doctest
3185 (package
3186 (name "ghc-doctest")
3187 (version "0.16.2")
3188 (source
3189 (origin
3190 (method url-fetch)
3191 (uri (string-append
3192 "https://hackage.haskell.org/package/doctest/doctest-"
3193 version
3194 ".tar.gz"))
3195 (sha256
3196 (base32
3197 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
3198 (build-system haskell-build-system)
3199 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3200 (inputs
3201 `(("ghc-syb" ,ghc-syb)
3202 ("ghc-paths" ,ghc-paths)
3203 ("ghc-base-compat" ,ghc-base-compat)
3204 ("ghc-code-page" ,ghc-code-page)
3205 ("ghc-hunit" ,ghc-hunit)
3206 ("ghc-hspec" ,ghc-hspec)
3207 ("ghc-quickcheck" ,ghc-quickcheck)
3208 ("ghc-stringbuilder" ,ghc-stringbuilder)
3209 ("ghc-silently" ,ghc-silently)
3210 ("ghc-setenv" ,ghc-setenv)))
3211 (home-page
3212 "https://github.com/sol/doctest#readme")
3213 (synopsis "Test interactive Haskell examples")
3214 (description "The doctest program checks examples in source code comments.
3215 It is modeled after doctest for Python, see
3216 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3217 (license license:expat)))
3218
3219 (define-public ghc-double-conversion
3220 (package
3221 (name "ghc-double-conversion")
3222 (version "2.0.2.0")
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append "https://hackage.haskell.org/package/"
3227 "double-conversion/double-conversion-"
3228 version ".tar.gz"))
3229 (sha256
3230 (base32
3231 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3232 (build-system haskell-build-system)
3233 (native-inputs
3234 `(("ghc-hunit" ,ghc-hunit)
3235 ("ghc-test-framework" ,ghc-test-framework)
3236 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3237 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3238 (home-page "https://github.com/bos/double-conversion")
3239 (synopsis "Fast conversion between double precision floating point and text")
3240 (description
3241 "This package provides a library that performs fast, accurate conversion
3242 between double precision floating point and text.")
3243 (license license:bsd-3)))
3244
3245 (define-public ghc-dual-tree
3246 (package
3247 (name "ghc-dual-tree")
3248 (version "0.2.2.1")
3249 (source
3250 (origin
3251 (method url-fetch)
3252 (uri (string-append "https://hackage.haskell.org/package/"
3253 "dual-tree/dual-tree-" version ".tar.gz"))
3254 (sha256
3255 (base32
3256 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3257 (build-system haskell-build-system)
3258 (inputs
3259 `(("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-newtype-generics" ,ghc-newtype-generics)
3261 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3262 (native-inputs
3263 `(("ghc-quickcheck" ,ghc-quickcheck)
3264 ("ghc-testing-feat" ,ghc-testing-feat)))
3265 (home-page "https://hackage.haskell.org/package/dual-tree")
3266 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3267 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3268 cached) and downwards-traveling (i.e. accumulating) monoidal
3269 annotations. This is used as the core data structure underlying the
3270 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3271 diagrams framework}, but potentially has other applications as well.")
3272 (license license:bsd-3)))
3273
3274 (define-public ghc-easy-file
3275 (package
3276 (name "ghc-easy-file")
3277 (version "0.2.2")
3278 (source
3279 (origin
3280 (method url-fetch)
3281 (uri (string-append
3282 "https://hackage.haskell.org/package/easy-file/easy-file-"
3283 version
3284 ".tar.gz"))
3285 (sha256
3286 (base32
3287 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3288 (build-system haskell-build-system)
3289 (home-page
3290 "https://github.com/kazu-yamamoto/easy-file")
3291 (synopsis "File handling library for Haskell")
3292 (description "This library provides file handling utilities for Haskell.")
3293 (license license:bsd-3)))
3294
3295 (define-public ghc-easyplot
3296 (package
3297 (name "ghc-easyplot")
3298 (version "1.0")
3299 (source
3300 (origin
3301 (method url-fetch)
3302 (uri (string-append
3303 "https://hackage.haskell.org/package/easyplot/easyplot-"
3304 version ".tar.gz"))
3305 (sha256
3306 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3307 (build-system haskell-build-system)
3308 (propagated-inputs `(("gnuplot" ,gnuplot)))
3309 (arguments
3310 `(#:phases (modify-phases %standard-phases
3311 (add-after 'unpack 'fix-setup-suffix
3312 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3313 (home-page "https://hub.darcs.net/scravy/easyplot")
3314 (synopsis "Haskell plotting library based on gnuplot")
3315 (description "This package provides a plotting library for
3316 Haskell, using gnuplot for rendering.")
3317 (license license:expat)))
3318
3319 (define-public ghc-echo
3320 (package
3321 (name "ghc-echo")
3322 (version "0.1.3")
3323 (source
3324 (origin
3325 (method url-fetch)
3326 (uri (string-append
3327 "https://hackage.haskell.org/package/echo/echo-"
3328 version ".tar.gz"))
3329 (sha256
3330 (base32
3331 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3332 (build-system haskell-build-system)
3333 (arguments
3334 `(#:cabal-revision
3335 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3336 (home-page "https://github.com/RyanGlScott/echo")
3337 (synopsis "Echo terminal input portably")
3338 (description "The @code{base} library exposes the @code{hGetEcho} and
3339 @code{hSetEcho} functions for querying and setting echo status, but
3340 unfortunately, neither function works with MinTTY consoles on Windows.
3341 This library provides an alternative interface which works with both
3342 MinTTY and other consoles.")
3343 (license license:bsd-3)))
3344
3345 (define-public ghc-edisonapi
3346 (package
3347 (name "ghc-edisonapi")
3348 (version "1.3.1")
3349 (source
3350 (origin
3351 (method url-fetch)
3352 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3353 "/EdisonAPI-" version ".tar.gz"))
3354 (sha256
3355 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3356 (build-system haskell-build-system)
3357 (home-page "http://rwd.rdockins.name/edison/home/")
3358 (synopsis "Library of efficient, purely-functional data structures (API)")
3359 (description
3360 "Edison is a library of purely functional data structures written by
3361 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3362 value EDiSon (Efficient Data Structures). Edison provides several families of
3363 abstractions, each with multiple implementations. The main abstractions
3364 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3365 Collections such as sets, bags and heaps; and Associative Collections such as
3366 finite maps and priority queues where the priority and element are distinct.")
3367 (license license:expat)))
3368
3369 (define-public ghc-edisoncore
3370 (package
3371 (name "ghc-edisoncore")
3372 (version "1.3.2.1")
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3377 "/EdisonCore-" version ".tar.gz"))
3378 (sha256
3379 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3380 (build-system haskell-build-system)
3381 (inputs
3382 `(("ghc-quickcheck" ,ghc-quickcheck)
3383 ("ghc-edisonapi" ,ghc-edisonapi)))
3384 (home-page "http://rwd.rdockins.name/edison/home/")
3385 (synopsis "Library of efficient, purely-functional data structures")
3386 (description
3387 "This package provides the core Edison data structure implementations,
3388 including multiple sequence, set, bag, and finite map concrete implementations
3389 with various performance characteristics.")
3390 (license license:expat)))
3391
3392 (define-public ghc-edit-distance
3393 (package
3394 (name "ghc-edit-distance")
3395 (version "0.2.2.1")
3396 (source
3397 (origin
3398 (method url-fetch)
3399 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3400 "/edit-distance-" version ".tar.gz"))
3401 (sha256
3402 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3403 (build-system haskell-build-system)
3404 (arguments
3405 `(#:phases
3406 (modify-phases %standard-phases
3407 (add-before 'configure 'update-constraints
3408 (lambda _
3409 (substitute* "edit-distance.cabal"
3410 (("QuickCheck >= 2\\.4 && <2\\.9")
3411 "QuickCheck >= 2.4 && < 2.14")))))))
3412 (inputs
3413 `(("ghc-random" ,ghc-random)
3414 ("ghc-test-framework" ,ghc-test-framework)
3415 ("ghc-quickcheck" ,ghc-quickcheck)
3416 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3417 (home-page "https://github.com/phadej/edit-distance")
3418 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3419 (description
3420 "This package provides optimized functions to determine the edit
3421 distances for fuzzy matching, including Levenshtein and restricted
3422 Damerau-Levenshtein algorithms.")
3423 (license license:bsd-3)))
3424
3425 (define-public ghc-edit-distance-vector
3426 (package
3427 (name "ghc-edit-distance-vector")
3428 (version "1.0.0.4")
3429 (source
3430 (origin
3431 (method url-fetch)
3432 (uri (string-append "https://hackage.haskell.org/package/"
3433 "edit-distance-vector/edit-distance-vector-"
3434 version ".tar.gz"))
3435 (sha256
3436 (base32
3437 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3438 (build-system haskell-build-system)
3439 (inputs
3440 `(("ghc-vector" ,ghc-vector)))
3441 (native-inputs
3442 `(("ghc-quickcheck" ,ghc-quickcheck)
3443 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3444 (home-page "https://github.com/thsutton/edit-distance-vector")
3445 (synopsis "Calculate edit distances and edit scripts between vectors")
3446 (description "This package provides implementation of the
3447 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3448 script and cost between two sequences. The implementation in this
3449 package is specialised to sequences represented with @code{Data.Vector}
3450 but is otherwise agnostic to:
3451 @itemize
3452 @item The type of values in the vectors;
3453 @item The type representing edit operations; and
3454 @item The type representing the cost of operations.
3455 @end itemize")
3456 (license license:bsd-3)) )
3457
3458 (define-public ghc-either
3459 (package
3460 (name "ghc-either")
3461 (version "5.0.1.1")
3462 (source
3463 (origin
3464 (method url-fetch)
3465 (uri (string-append "https://hackage.haskell.org/package/"
3466 "either-" version "/"
3467 "either-" version ".tar.gz"))
3468 (sha256
3469 (base32
3470 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3471 (build-system haskell-build-system)
3472 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3473 ("ghc-exceptions" ,ghc-exceptions)
3474 ("ghc-free" ,ghc-free)
3475 ("ghc-monad-control" ,ghc-monad-control)
3476 ("ghc-manodrandom" ,ghc-monadrandom)
3477 ("ghc-mmorph" ,ghc-mmorph)
3478 ("ghc-profunctors" ,ghc-profunctors)
3479 ("ghc-semigroups" ,ghc-semigroups)
3480 ("ghc-semigroupoids" ,ghc-semigroupoids)
3481 ("ghc-transformers-base" ,ghc-transformers-base)))
3482 (native-inputs
3483 `(("ghc-quickcheck" ,ghc-quickcheck)
3484 ("ghc-test-framework" ,ghc-test-framework)
3485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3486 (home-page "https://github.com/ekmett/either")
3487 (synopsis "Provides an either monad transformer for Haskell")
3488 (description "This Haskell package provides an either monad transformer.")
3489 (license license:bsd-3)))
3490
3491 (define-public ghc-email-validate
3492 (package
3493 (name "ghc-email-validate")
3494 (version "2.3.2.12")
3495 (source
3496 (origin
3497 (method url-fetch)
3498 (uri (string-append
3499 "https://hackage.haskell.org/package/"
3500 "email-validate/email-validate-"
3501 version
3502 ".tar.gz"))
3503 (sha256
3504 (base32
3505 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3506 (build-system haskell-build-system)
3507 (inputs
3508 `(("ghc-attoparsec" ,ghc-attoparsec)
3509 ("ghc-hspec" ,ghc-hspec)
3510 ("ghc-quickcheck" ,ghc-quickcheck)
3511 ("ghc-doctest" ,ghc-doctest)))
3512 (home-page
3513 "https://github.com/Porges/email-validate-hs")
3514 (synopsis "Email address validator for Haskell")
3515 (description
3516 "This Haskell package provides a validator that can validate an email
3517 address string against RFC 5322.")
3518 (license license:bsd-3)))
3519
3520 (define-public ghc-enclosed-exceptions
3521 (package
3522 (name "ghc-enclosed-exceptions")
3523 (version "1.0.3")
3524 (source (origin
3525 (method url-fetch)
3526 (uri (string-append "https://hackage.haskell.org/package/"
3527 "enclosed-exceptions/enclosed-exceptions-"
3528 version ".tar.gz"))
3529 (sha256
3530 (base32
3531 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3532 (build-system haskell-build-system)
3533 ;; FIXME: one of the tests blocks forever:
3534 ;; "thread blocked indefinitely in an MVar operation"
3535 (arguments '(#:tests? #f))
3536 (inputs
3537 `(("ghc-lifted-base" ,ghc-lifted-base)
3538 ("ghc-monad-control" ,ghc-monad-control)
3539 ("ghc-async" ,ghc-async)
3540 ("ghc-transformers-base" ,ghc-transformers-base)))
3541 (native-inputs
3542 `(("ghc-hspec" ,ghc-hspec)
3543 ("ghc-quickcheck" ,ghc-quickcheck)))
3544 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3545 (synopsis "Catch all exceptions from within an enclosed computation")
3546 (description
3547 "This library implements a technique to catch all exceptions raised
3548 within an enclosed computation, while remaining responsive to (external)
3549 asynchronous exceptions.")
3550 (license license:expat)))
3551
3552 (define-public ghc-equivalence
3553 (package
3554 (name "ghc-equivalence")
3555 (version "0.3.5")
3556 (source
3557 (origin
3558 (method url-fetch)
3559 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3560 "/equivalence-" version ".tar.gz"))
3561 (sha256
3562 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
3563 (build-system haskell-build-system)
3564 (inputs
3565 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3566 ("ghc-transformers-compat" ,ghc-transformers-compat)
3567 ("ghc-fail" ,ghc-fail)
3568 ("ghc-quickcheck" ,ghc-quickcheck)))
3569 (home-page "https://github.com/pa-ba/equivalence")
3570 (synopsis "Maintaining an equivalence relation implemented as union-find")
3571 (description
3572 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3573 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
3574 22(2), 1975) in order to maintain an equivalence relation. This
3575 implementation is a port of the @code{union-find} package using the @code{ST}
3576 monad transformer (instead of the IO monad).")
3577 (license license:bsd-3)))
3578
3579 (define-public ghc-erf
3580 (package
3581 (name "ghc-erf")
3582 (version "2.0.0.0")
3583 (source
3584 (origin
3585 (method url-fetch)
3586 (uri (string-append "https://hackage.haskell.org/package/"
3587 "erf-" version "/"
3588 "erf-" version ".tar.gz"))
3589 (sha256
3590 (base32
3591 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3592 (build-system haskell-build-system)
3593 (home-page "https://hackage.haskell.org/package/erf")
3594 (synopsis "The error function, erf, and related functions for Haskell")
3595 (description "This Haskell library provides a type class for the
3596 error function, erf, and related functions. Instances for Float and
3597 Double.")
3598 (license license:bsd-3)))
3599
3600 (define-public ghc-errorcall-eq-instance
3601 (package
3602 (name "ghc-errorcall-eq-instance")
3603 (version "0.3.0")
3604 (source
3605 (origin
3606 (method url-fetch)
3607 (uri (string-append "https://hackage.haskell.org/package/"
3608 "errorcall-eq-instance/errorcall-eq-instance-"
3609 version ".tar.gz"))
3610 (sha256
3611 (base32
3612 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3613 (build-system haskell-build-system)
3614 (inputs
3615 `(("ghc-base-orphans" ,ghc-base-orphans)))
3616 (native-inputs
3617 `(("ghc-quickcheck" ,ghc-quickcheck)
3618 ("ghc-hspec" ,ghc-hspec)
3619 ("hspec-discover" ,hspec-discover)))
3620 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
3621 (synopsis "Orphan Eq instance for ErrorCall")
3622 (description
3623 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3624 This package provides an orphan instance.")
3625 (license license:expat)))
3626
3627 (define-public ghc-errors
3628 (package
3629 (name "ghc-errors")
3630 (version "2.3.0")
3631 (source
3632 (origin
3633 (method url-fetch)
3634 (uri (string-append "https://hackage.haskell.org/package/"
3635 "errors-" version "/"
3636 "errors-" version ".tar.gz"))
3637 (sha256
3638 (base32
3639 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3640 (build-system haskell-build-system)
3641 (inputs
3642 `(("ghc-exceptions" ,ghc-exceptions)
3643 ("ghc-transformers-compat" ,ghc-transformers-compat)
3644 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3645 ("ghc-safe" ,ghc-safe)))
3646 (home-page "https://github.com/gabriel439/haskell-errors-library")
3647 (synopsis "Error handling library for Haskell")
3648 (description "This library encourages an error-handling style that
3649 directly uses the type system, rather than out-of-band exceptions.")
3650 (license license:bsd-3)))
3651
3652 (define-public ghc-esqueleto
3653 (package
3654 (name "ghc-esqueleto")
3655 (version "3.3.1.1")
3656 (source
3657 (origin
3658 (method url-fetch)
3659 (uri (string-append "https://hackage.haskell.org/package/"
3660 "esqueleto/esqueleto-" version ".tar.gz"))
3661 (sha256
3662 (base32
3663 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
3664 (build-system haskell-build-system)
3665 (arguments
3666 `(#:haddock? #f ; Haddock reports an internal error.
3667 #:phases
3668 (modify-phases %standard-phases
3669 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3670 ;; SQLite backends. Since we only have Haskell packages for
3671 ;; SQLite, we remove the other two test suites. FIXME: Add the
3672 ;; other backends and run all three test suites.
3673 (add-before 'configure 'remove-non-sqlite-test-suites
3674 (lambda _
3675 (use-modules (ice-9 rdelim))
3676 (with-atomic-file-replacement "esqueleto.cabal"
3677 (lambda (in out)
3678 (let loop ((line (read-line in 'concat)) (deleting? #f))
3679 (cond
3680 ((eof-object? line) #t)
3681 ((string-every char-set:whitespace line)
3682 (unless deleting? (display line out))
3683 (loop (read-line in 'concat) #f))
3684 ((member line '("test-suite mysql\n"
3685 "test-suite postgresql\n"))
3686 (loop (read-line in 'concat) #t))
3687 (else
3688 (unless deleting? (display line out))
3689 (loop (read-line in 'concat) deleting?)))))))))))
3690 (inputs
3691 `(("ghc-blaze-html" ,ghc-blaze-html)
3692 ("ghc-conduit" ,ghc-conduit)
3693 ("ghc-monad-logger" ,ghc-monad-logger)
3694 ("ghc-persistent" ,ghc-persistent)
3695 ("ghc-resourcet" ,ghc-resourcet)
3696 ("ghc-tagged" ,ghc-tagged)
3697 ("ghc-unliftio" ,ghc-unliftio)
3698 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3699 (native-inputs
3700 `(("ghc-hspec" ,ghc-hspec)
3701 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3702 ("ghc-persistent-template" ,ghc-persistent-template)))
3703 (home-page "https://github.com/bitemyapp/esqueleto")
3704 (synopsis "Type-safe embedded domain specific language for SQL queries")
3705 (description "This library provides a type-safe embedded domain specific
3706 language (EDSL) for SQL queries that works with SQL backends as provided by
3707 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3708 to learn new concepts, just new syntax, and it's fairly easy to predict the
3709 generated SQL and optimize it for your backend.")
3710 (license license:bsd-3)))
3711
3712 (define-public ghc-exactprint
3713 (package
3714 (name "ghc-exactprint")
3715 (version "0.6.1")
3716 (source
3717 (origin
3718 (method url-fetch)
3719 (uri (string-append
3720 "https://hackage.haskell.org/package/"
3721 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3722 (sha256
3723 (base32
3724 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
3725 (build-system haskell-build-system)
3726 (inputs
3727 `(("ghc-paths" ,ghc-paths)
3728 ("ghc-syb" ,ghc-syb)
3729 ("ghc-free" ,ghc-free)))
3730 (native-inputs
3731 `(("ghc-hunit" ,ghc-hunit)
3732 ("ghc-diff" ,ghc-diff)
3733 ("ghc-silently" ,ghc-silently)
3734 ("ghc-filemanip" ,ghc-filemanip)))
3735 (home-page
3736 "https://hackage.haskell.org/package/ghc-exactprint")
3737 (synopsis "ExactPrint for GHC")
3738 (description
3739 "Using the API Annotations available from GHC 7.10.2, this library
3740 provides a means to round-trip any code that can be compiled by GHC, currently
3741 excluding @file{.lhs} files.")
3742 (license license:bsd-3)))
3743
3744 (define-public ghc-exceptions
3745 (package
3746 (name "ghc-exceptions")
3747 (version "0.10.3")
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append
3752 "https://hackage.haskell.org/package/exceptions/exceptions-"
3753 version
3754 ".tar.gz"))
3755 (sha256
3756 (base32
3757 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
3758 (build-system haskell-build-system)
3759 (native-inputs
3760 `(("ghc-quickcheck" ,ghc-quickcheck)
3761 ("ghc-test-framework" ,ghc-test-framework)
3762 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3763 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3764 (inputs
3765 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3766 (home-page "https://github.com/ekmett/exceptions/")
3767 (synopsis "Extensible optionally-pure exceptions")
3768 (description "This library provides extensible optionally-pure exceptions
3769 for Haskell.")
3770 (license license:bsd-3)))
3771
3772 (define-public ghc-executable-path
3773 (package
3774 (name "ghc-executable-path")
3775 (version "0.0.3.1")
3776 (source (origin
3777 (method url-fetch)
3778 (uri (string-append "https://hackage.haskell.org/package/"
3779 "executable-path/executable-path-"
3780 version ".tar.gz"))
3781 (sha256
3782 (base32
3783 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3784 (build-system haskell-build-system)
3785 (home-page "https://hackage.haskell.org/package/executable-path")
3786 (synopsis "Find out the full path of the executable")
3787 (description
3788 "The documentation of @code{System.Environment.getProgName} says that
3789 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3790 instead, for maximum portability, we just return the leafname of the program
3791 as invoked.\" This library tries to provide the missing path.")
3792 (license license:public-domain)))
3793
3794 (define-public ghc-extensible-exceptions
3795 (package
3796 (name "ghc-extensible-exceptions")
3797 (version "0.1.1.4")
3798 (source
3799 (origin
3800 (method url-fetch)
3801 (uri (string-append "https://hackage.haskell.org/package/"
3802 "extensible-exceptions/extensible-exceptions-"
3803 version ".tar.gz"))
3804 (sha256
3805 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3806 (build-system haskell-build-system)
3807 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3808 (synopsis "Extensible exceptions for Haskell")
3809 (description
3810 "This package provides extensible exceptions for both new and old
3811 versions of GHC (i.e., < 6.10).")
3812 (license license:bsd-3)))
3813
3814 (define-public ghc-extra
3815 (package
3816 (name "ghc-extra")
3817 (version "1.6.21")
3818 (source
3819 (origin
3820 (method url-fetch)
3821 (uri (string-append
3822 "https://hackage.haskell.org/package/extra/extra-"
3823 version
3824 ".tar.gz"))
3825 (sha256
3826 (base32
3827 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
3828 (build-system haskell-build-system)
3829 (inputs
3830 `(("ghc-clock" ,ghc-clock)
3831 ("ghc-semigroups" ,ghc-semigroups)
3832 ("ghc-quickcheck" ,ghc-quickcheck)
3833 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3834 (home-page "https://github.com/ndmitchell/extra")
3835 (synopsis "Extra Haskell functions")
3836 (description "This library provides extra functions for the standard
3837 Haskell libraries. Most functions are simple additions, filling out missing
3838 functionality. A few functions are available in later versions of GHC, but
3839 this package makes them available back to GHC 7.2.")
3840 (license license:bsd-3)))
3841
3842 (define-public ghc-fail
3843 (package
3844 (name "ghc-fail")
3845 (version "4.9.0.0")
3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3850 version ".tar.gz"))
3851 (sha256
3852 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3853 (build-system haskell-build-system)
3854 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3855 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3856 (synopsis "Forward-compatible MonadFail class")
3857 (description
3858 "This package contains the @code{Control.Monad.Fail} module providing the
3859 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3860 class that became available in
3861 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3862 older @code{base} package versions. This package turns into an empty package
3863 when used with GHC versions which already provide the
3864 @code{Control.Monad.Fail} module.")
3865 (license license:bsd-3)))
3866
3867 (define-public ghc-fast-logger
3868 (package
3869 (name "ghc-fast-logger")
3870 (version "2.4.17")
3871 (source
3872 (origin
3873 (method url-fetch)
3874 (uri (string-append
3875 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3876 version
3877 ".tar.gz"))
3878 (sha256
3879 (base32
3880 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
3881 (build-system haskell-build-system)
3882 (inputs
3883 `(("ghc-auto-update" ,ghc-auto-update)
3884 ("ghc-easy-file" ,ghc-easy-file)
3885 ("ghc-unix-time" ,ghc-unix-time)
3886 ("ghc-unix-compat" ,ghc-unix-compat)))
3887 (native-inputs
3888 `(("hspec-discover" ,hspec-discover)
3889 ("ghc-hspec" ,ghc-hspec)))
3890 (home-page "https://hackage.haskell.org/package/fast-logger")
3891 (synopsis "Fast logging system")
3892 (description "This library provides a fast logging system for Haskell.")
3893 (license license:bsd-3)))
3894
3895 (define-public ghc-feed
3896 (package
3897 (name "ghc-feed")
3898 (version "1.2.0.1")
3899 (source
3900 (origin
3901 (method url-fetch)
3902 (uri (string-append "https://hackage.haskell.org/package/"
3903 "feed/feed-" version ".tar.gz"))
3904 (sha256
3905 (base32
3906 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
3907 (build-system haskell-build-system)
3908 (inputs
3909 `(("ghc-base-compat" ,ghc-base-compat)
3910 ("ghc-old-locale" ,ghc-old-locale)
3911 ("ghc-old-time" ,ghc-old-time)
3912 ("ghc-safe" ,ghc-safe)
3913 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3914 ("ghc-utf8-string" ,ghc-utf8-string)
3915 ("ghc-xml-conduit" ,ghc-xml-conduit)
3916 ("ghc-xml-types" ,ghc-xml-types)))
3917 (native-inputs
3918 `(("ghc-hunit" ,ghc-hunit)
3919 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3922 (home-page "https://github.com/bergmark/feed")
3923 (synopsis "Haskell package for handling various syndication formats")
3924 (description "This Haskell package includes tools for generating and
3925 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3926 (license license:bsd-3)))
3927
3928 (define-public ghc-fgl
3929 (package
3930 (name "ghc-fgl")
3931 (version "5.7.0.1")
3932 (outputs '("out" "doc"))
3933 (source
3934 (origin
3935 (method url-fetch)
3936 (uri (string-append
3937 "https://hackage.haskell.org/package/fgl/fgl-"
3938 version
3939 ".tar.gz"))
3940 (sha256
3941 (base32
3942 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
3943 (build-system haskell-build-system)
3944 (arguments
3945 `(#:phases
3946 (modify-phases %standard-phases
3947 (add-before 'configure 'update-constraints
3948 (lambda _
3949 (substitute* "fgl.cabal"
3950 (("QuickCheck >= 2\\.8 && < 2\\.13")
3951 "QuickCheck >= 2.8 && < 2.14")
3952 (("hspec >= 2\\.1 && < 2\\.7")
3953 "hspec >= 2.1 && < 2.8")))))))
3954 (inputs
3955 `(("ghc-hspec" ,ghc-hspec)
3956 ("ghc-quickcheck" ,ghc-quickcheck)))
3957 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3958 (synopsis
3959 "Martin Erwig's Functional Graph Library")
3960 (description "The functional graph library, FGL, is a collection of type
3961 and function definitions to address graph problems. The basis of the library
3962 is an inductive definition of graphs in the style of algebraic data types that
3963 encourages inductive, recursive definitions of graph algorithms.")
3964 (license license:bsd-3)))
3965
3966 (define-public ghc-fgl-arbitrary
3967 (package
3968 (name "ghc-fgl-arbitrary")
3969 (version "0.2.0.3")
3970 (source
3971 (origin
3972 (method url-fetch)
3973 (uri (string-append
3974 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3975 version ".tar.gz"))
3976 (sha256
3977 (base32
3978 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3979 (build-system haskell-build-system)
3980 (arguments
3981 `(#:phases
3982 (modify-phases %standard-phases
3983 (add-before 'configure 'update-constraints
3984 (lambda _
3985 (substitute* "fgl-arbitrary.cabal"
3986 (("QuickCheck >= 2\\.3 && < 2\\.10")
3987 "QuickCheck >= 2.3 && < 2.14")
3988 (("hspec >= 2\\.1 && < 2\\.5")
3989 "hspec >= 2.1 && < 2.8")))))))
3990 (inputs
3991 `(("ghc-fgl" ,ghc-fgl)
3992 ("ghc-quickcheck" ,ghc-quickcheck)
3993 ("ghc-hspec" ,ghc-hspec)))
3994 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3995 (synopsis "QuickCheck support for fgl")
3996 (description
3997 "Provides Arbitrary instances for fgl graphs to avoid adding a
3998 QuickCheck dependency for fgl whilst still making the instances
3999 available to others. Also available are non-fgl-specific functions
4000 for generating graph-like data structures.")
4001 (license license:bsd-3)))
4002
4003 (define-public ghc-file-embed
4004 (package
4005 (name "ghc-file-embed")
4006 (version "0.0.11")
4007 (source
4008 (origin
4009 (method url-fetch)
4010 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4011 "file-embed-" version ".tar.gz"))
4012 (sha256
4013 (base32
4014 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
4015 (build-system haskell-build-system)
4016 (home-page "https://github.com/snoyberg/file-embed")
4017 (synopsis "Use Template Haskell to embed file contents directly")
4018 (description
4019 "This package allows you to use Template Haskell to read a file or all
4020 the files in a directory, and turn them into @code{(path, bytestring)} pairs
4021 embedded in your Haskell code.")
4022 (license license:bsd-3)))
4023
4024 (define-public ghc-filemanip
4025 (package
4026 (name "ghc-filemanip")
4027 (version "0.3.6.3")
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "https://hackage.haskell.org/package/"
4031 "filemanip/filemanip-" version ".tar.gz"))
4032 (sha256
4033 (base32
4034 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4035 (build-system haskell-build-system)
4036 (inputs
4037 `(("ghc-unix-compat" ,ghc-unix-compat)))
4038 (home-page "https://github.com/bos/filemanip")
4039 (synopsis "File and directory manipulation for Haskell")
4040 (description
4041 "This package provides a Haskell library for working with files and
4042 directories. It includes code for pattern matching, finding files, modifying
4043 file contents, and more.")
4044 (license license:bsd-3)))
4045
4046 (define-public ghc-filepath-bytestring
4047 (package
4048 (name "ghc-filepath-bytestring")
4049 (version "1.4.2.1.1")
4050 (source
4051 (origin
4052 (method url-fetch)
4053 (uri (string-append
4054 "https://hackage.haskell.org/package/filepath-bytestring/"
4055 "filepath-bytestring-" version ".tar.gz"))
4056 (sha256
4057 (base32
4058 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4059 (build-system haskell-build-system)
4060 (native-inputs
4061 `(("ghc-quickcheck" ,ghc-quickcheck)))
4062 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
4063 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4064 (description "This package provides a drop-in replacement for the standard
4065 @code{filepath} library, operating on @code{RawFilePath} values rather than
4066 @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4067 (license license:bsd-3)))
4068
4069 (define-public ghc-findbin
4070 (package
4071 (name "ghc-findbin")
4072 (version "0.0.5")
4073 (source
4074 (origin
4075 (method url-fetch)
4076 (uri (string-append
4077 "https://hackage.haskell.org/package/FindBin/FindBin-"
4078 version ".tar.gz"))
4079 (sha256
4080 (base32
4081 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4082 (build-system haskell-build-system)
4083 (home-page "https://github.com/audreyt/findbin")
4084 (synopsis "Get the absolute path of the running program")
4085 (description
4086 "This module locates the full directory of the running program, to allow
4087 the use of paths relative to it. FindBin supports invocation of Haskell
4088 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4089 an executable.")
4090 (license license:bsd-3)))
4091
4092 (define-public ghc-fingertree
4093 (package
4094 (name "ghc-fingertree")
4095 (version "0.1.4.2")
4096 (source
4097 (origin
4098 (method url-fetch)
4099 (uri (string-append
4100 "https://hackage.haskell.org/package/fingertree/fingertree-"
4101 version ".tar.gz"))
4102 (sha256
4103 (base32
4104 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
4105 (build-system haskell-build-system)
4106 (native-inputs
4107 `(("ghc-hunit" ,ghc-hunit)
4108 ("ghc-quickcheck" ,ghc-quickcheck)
4109 ("ghc-test-framework" ,ghc-test-framework)
4110 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4111 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4112 (home-page "https://hackage.haskell.org/package/fingertree")
4113 (synopsis "Generic finger-tree structure")
4114 (description "This library provides finger trees, a general sequence
4115 representation with arbitrary annotations, for use as a base for
4116 implementations of various collection types. It includes examples, as
4117 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4118 simple general-purpose data structure\".")
4119 (license license:bsd-3)))
4120
4121 (define-public ghc-fixed
4122 (package
4123 (name "ghc-fixed")
4124 (version "0.3")
4125 (source
4126 (origin
4127 (method url-fetch)
4128 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4129 version ".tar.gz"))
4130 (sha256
4131 (base32
4132 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4133 (build-system haskell-build-system)
4134 (home-page "https://github.com/ekmett/fixed")
4135 (synopsis "Signed 15.16 precision fixed point arithmetic")
4136 (description
4137 "This package provides functions for signed 15.16 precision fixed point
4138 arithmetic.")
4139 (license license:bsd-3)))
4140
4141 (define-public ghc-fmlist
4142 (package
4143 (name "ghc-fmlist")
4144 (version "0.9.3")
4145 (source
4146 (origin
4147 (method url-fetch)
4148 (uri
4149 (string-append
4150 "https://hackage.haskell.org/package/fmlist/fmlist-"
4151 version ".tar.gz"))
4152 (sha256
4153 (base32
4154 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
4155 (build-system haskell-build-system)
4156 (home-page "https://github.com/sjoerdvisscher/fmlist")
4157 (synopsis "FoldMap lists")
4158 (description "FoldMap lists are lists represented by their
4159 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4160 append, just like DLists, but other operations might have favorable
4161 performance characteristics as well. These wild claims are still
4162 completely unverified though.")
4163 (license license:bsd-3)))
4164
4165 (define-public ghc-foldl
4166 (package
4167 (name "ghc-foldl")
4168 (version "1.4.5")
4169 (source
4170 (origin
4171 (method url-fetch)
4172 (uri (string-append "https://hackage.haskell.org/package/"
4173 "foldl-" version "/"
4174 "foldl-" version ".tar.gz"))
4175 (sha256
4176 (base32
4177 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
4178 (build-system haskell-build-system)
4179 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4180 ("ghc-primitive" ,ghc-primitive)
4181 ("ghc-vector" ,ghc-vector)
4182 ("ghc-unordered-containers" ,ghc-unordered-containers)
4183 ("ghc-hashable" ,ghc-hashable)
4184 ("ghc-contravariant" ,ghc-contravariant)
4185 ("ghc-semigroups" ,ghc-semigroups)
4186 ("ghc-profunctors" ,ghc-profunctors)
4187 ("ghc-semigroupoids" ,ghc-semigroupoids)
4188 ("ghc-comonad" ,ghc-comonad)
4189 ("ghc-vector-builder" ,ghc-vector-builder)))
4190 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4191 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4192 (description "This Haskell library provides strict left folds that stream
4193 in constant memory, and you can combine folds using @code{Applicative} style
4194 to derive new folds. Derived folds still traverse the container just once
4195 and are often as efficient as hand-written folds.")
4196 (license license:bsd-3)))
4197
4198 (define-public ghc-foundation
4199 (package
4200 (name "ghc-foundation")
4201 (version "0.0.25")
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append "https://hackage.haskell.org/package/"
4206 "foundation/foundation-" version ".tar.gz"))
4207 (sha256
4208 (base32
4209 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
4210 (build-system haskell-build-system)
4211 (arguments
4212 `(#:phases
4213 (modify-phases %standard-phases
4214 ;; This test is broken. For details, see
4215 ;; https://github.com/haskell-foundation/foundation/issues/530
4216 (add-after 'unpack 'patch-tests
4217 (lambda _
4218 (substitute* "tests/Test/Foundation/Number.hs"
4219 ((", testDividible proxy") ""))
4220 #t)))))
4221 (inputs `(("ghc-basement" ,ghc-basement)))
4222 (home-page "https://github.com/haskell-foundation/foundation")
4223 (synopsis "Alternative prelude with batteries and no dependencies")
4224 (description
4225 "This package provides a custom prelude with no dependencies apart from
4226 the base package.
4227
4228 Foundation has the following goals:
4229
4230 @enumerate
4231 @item provide a base like sets of modules that provide a consistent set of
4232 features and bugfixes across multiple versions of GHC (unlike base).
4233 @item provide a better and more efficient prelude than base's prelude.
4234 @item be self-sufficient: no external dependencies apart from base;
4235 @item provide better data-types: packed unicode string by default, arrays;
4236 @item Numerical classes that better represent mathematical things (no more
4237 all-in-one @code{Num});
4238 @item I/O system with less lazy IO.
4239 @end enumerate\n")
4240 (license license:bsd-3)))
4241
4242 (define-public ghc-free
4243 (package
4244 (name "ghc-free")
4245 (version "5.1.2")
4246 (source
4247 (origin
4248 (method url-fetch)
4249 (uri (string-append
4250 "https://hackage.haskell.org/package/free/free-"
4251 version
4252 ".tar.gz"))
4253 (sha256
4254 (base32
4255 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
4256 (build-system haskell-build-system)
4257 (inputs
4258 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4259 ("ghc-profunctors" ,ghc-profunctors)
4260 ("ghc-exceptions" ,ghc-exceptions)
4261 ("ghc-bifunctors" ,ghc-bifunctors)
4262 ("ghc-comonad" ,ghc-comonad)
4263 ("ghc-distributive" ,ghc-distributive)
4264 ("ghc-semigroupoids" ,ghc-semigroupoids)
4265 ("ghc-semigroups" ,ghc-semigroups)
4266 ("ghc-transformers-base" ,ghc-transformers-base)
4267 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4268 (home-page "https://github.com/ekmett/free/")
4269 (synopsis "Unrestricted monads for Haskell")
4270 (description "This library provides free monads, which are useful for many
4271 tree-like structures and domain specific languages. If @code{f} is a
4272 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4273 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4274 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4275 f} makes no constraining assumptions beyond those given by @code{f} and the
4276 definition of @code{Monad}.")
4277 (license license:bsd-3)))
4278
4279 (define-public ghc-fsnotify
4280 (package
4281 (name "ghc-fsnotify")
4282 (version "0.3.0.1")
4283 (source (origin
4284 (method url-fetch)
4285 (uri (string-append
4286 "https://hackage.haskell.org/package/fsnotify/"
4287 "fsnotify-" version ".tar.gz"))
4288 (sha256
4289 (base32
4290 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4291 (build-system haskell-build-system)
4292 (inputs
4293 `(("ghc-async" ,ghc-async)
4294 ("ghc-unix-compat" ,ghc-unix-compat)
4295 ("ghc-hinotify" ,ghc-hinotify)
4296 ("ghc-tasty" ,ghc-tasty)
4297 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4298 ("ghc-random" ,ghc-random)
4299 ("ghc-shelly" ,ghc-shelly)
4300 ("ghc-temporary" ,ghc-temporary)))
4301 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4302 (synopsis "Cross platform library for file change notification.")
4303 (description "Cross platform library for file creation, modification, and
4304 deletion notification. This library builds upon existing libraries for platform
4305 specific Windows, Mac, and Linux file system event notification.")
4306 (license license:bsd-3)))
4307
4308 (define-public ghc-generic-deriving
4309 (package
4310 (name "ghc-generic-deriving")
4311 (version "1.12.4")
4312 (source
4313 (origin
4314 (method url-fetch)
4315 (uri (string-append
4316 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4317 version
4318 ".tar.gz"))
4319 (sha256
4320 (base32
4321 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
4322 (build-system haskell-build-system)
4323 (inputs
4324 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4325 (native-inputs
4326 `(("ghc-hspec" ,ghc-hspec)
4327 ("hspec-discover" ,hspec-discover)))
4328 (home-page "https://hackage.haskell.org/package/generic-deriving")
4329 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4330 (description "This package provides functionality for generalising the
4331 deriving mechanism in Haskell to arbitrary classes.")
4332 (license license:bsd-3)))
4333
4334 (define-public ghc-generics-sop
4335 (package
4336 (name "ghc-generics-sop")
4337 (version "0.4.0.1")
4338 (source
4339 (origin
4340 (method url-fetch)
4341 (uri (string-append "https://hackage.haskell.org/package/"
4342 "generics-sop-" version "/"
4343 "generics-sop-" version ".tar.gz"))
4344 (sha256
4345 (base32
4346 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
4347 (build-system haskell-build-system)
4348 (inputs
4349 `(("ghc-sop-core" ,ghc-sop-core)
4350 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4351 (home-page "https://github.com/well-typed/generics-sop")
4352 (synopsis "Generic Programming using True Sums of Products for Haskell")
4353 (description "This Haskell package supports the definition of generic
4354 functions. Datatypes are viewed in a uniform, structured way: the choice
4355 between constructors is represented using an n-ary sum, and the arguments of
4356 each constructor are represented using an n-ary product.")
4357 (license license:bsd-3)))
4358
4359 (define-public ghc-geniplate-mirror
4360 (package
4361 (name "ghc-geniplate-mirror")
4362 (version "0.7.6")
4363 (source
4364 (origin
4365 (method url-fetch)
4366 (uri (string-append "https://hackage.haskell.org/package"
4367 "/geniplate-mirror"
4368 "/geniplate-mirror-" version ".tar.gz"))
4369 (sha256
4370 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4371 (build-system haskell-build-system)
4372 (arguments
4373 `(#:cabal-revision
4374 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
4375 (home-page "https://github.com/danr/geniplate")
4376 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4377 (description
4378 "Use Template Haskell to generate Uniplate-like functions. This is a
4379 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4380 geniplate} package, written by Lennart Augustsson.")
4381 (license license:bsd-3)))
4382
4383 (define-public ghc-genvalidity
4384 (package
4385 (name "ghc-genvalidity")
4386 (version "0.8.0.0")
4387 (source
4388 (origin
4389 (method url-fetch)
4390 (uri (string-append
4391 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4392 version
4393 ".tar.gz"))
4394 (sha256
4395 (base32
4396 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4397 (build-system haskell-build-system)
4398 (inputs
4399 `(("ghc-quickcheck" ,ghc-quickcheck)
4400 ("ghc-validity" ,ghc-validity)))
4401 (native-inputs
4402 `(("ghc-hspec" ,ghc-hspec)
4403 ("hspec-discover" ,hspec-discover)
4404 ("ghc-hspec-core" ,ghc-hspec-core)))
4405 (home-page
4406 "https://github.com/NorfairKing/validity")
4407 (synopsis
4408 "Testing utilities for the @code{validity} library")
4409 (description
4410 "This package provides testing utilities that are useful in conjunction
4411 with the @code{Validity} typeclass.")
4412 (license license:expat)))
4413
4414 (define-public ghc-genvalidity-property
4415 (package
4416 (name "ghc-genvalidity-property")
4417 (version "0.4.0.0")
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri (string-append
4422 "https://hackage.haskell.org/package/"
4423 "genvalidity-property/genvalidity-property-"
4424 version
4425 ".tar.gz"))
4426 (sha256
4427 (base32
4428 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4429 (build-system haskell-build-system)
4430 (inputs
4431 `(("ghc-quickcheck" ,ghc-quickcheck)
4432 ("ghc-genvalidity" ,ghc-genvalidity)
4433 ("ghc-hspec" ,ghc-hspec)
4434 ("hspec-discover" ,hspec-discover)
4435 ("ghc-validity" ,ghc-validity)))
4436 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4437 (home-page
4438 "https://github.com/NorfairKing/validity")
4439 (synopsis
4440 "Standard properties for functions on @code{Validity} types")
4441 (description
4442 "This package supplements the @code{Validity} typeclass with standard
4443 properties for functions operating on them.")
4444 (license license:expat)))
4445
4446 (define-public ghc-getopt-generics
4447 (package
4448 (name "ghc-getopt-generics")
4449 (version "0.13.0.4")
4450 (source
4451 (origin
4452 (method url-fetch)
4453 (uri (string-append "https://hackage.haskell.org/package/"
4454 "getopt-generics/getopt-generics-"
4455 version ".tar.gz"))
4456 (sha256
4457 (base32
4458 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4459 (build-system haskell-build-system)
4460 (inputs
4461 `(("ghc-base-compat" ,ghc-base-compat)
4462 ("ghc-base-orphans" ,ghc-base-orphans)
4463 ("ghc-generics-sop" ,ghc-generics-sop)
4464 ("ghc-tagged" ,ghc-tagged)))
4465 (native-inputs
4466 `(("ghc-quickcheck" ,ghc-quickcheck)
4467 ("ghc-hspec" ,ghc-hspec)
4468 ("ghc-safe" ,ghc-safe)
4469 ("ghc-silently" ,ghc-silently)
4470 ("hspec-discover" ,hspec-discover)))
4471 (home-page "https://github.com/soenkehahn/getopt-generics")
4472 (synopsis "Create command line interfaces with ease")
4473 (description "This library provides tools to create command line
4474 interfaces with ease.")
4475 (license license:bsd-3)))
4476
4477 (define-public ghc-gitrev
4478 (package
4479 (name "ghc-gitrev")
4480 (version "1.3.1")
4481 (source
4482 (origin
4483 (method url-fetch)
4484 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4485 version ".tar.gz"))
4486 (sha256
4487 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4488 (build-system haskell-build-system)
4489 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4490 (home-page "https://github.com/acfoltzer/gitrev")
4491 (synopsis "Compile git revision info into Haskell projects")
4492 (description
4493 "This package provides some handy Template Haskell splices for including
4494 the current git hash and branch in the code of your project. This is useful
4495 for including in panic messages, @command{--version} output, or diagnostic
4496 info for more informative bug reports.")
4497 (license license:bsd-3)))
4498
4499 (define-public ghc-glob
4500 (package
4501 (name "ghc-glob")
4502 (version "0.10.0")
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append "https://hackage.haskell.org/package/"
4507 "Glob-" version "/"
4508 "Glob-" version ".tar.gz"))
4509 (sha256
4510 (base32
4511 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
4512 (build-system haskell-build-system)
4513 (inputs
4514 `(("ghc-dlist" ,ghc-dlist)
4515 ("ghc-semigroups" ,ghc-semigroups)
4516 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4517 (native-inputs
4518 `(("ghc-hunit" ,ghc-hunit)
4519 ("ghc-quickcheck" ,ghc-quickcheck)
4520 ("ghc-test-framework" ,ghc-test-framework)
4521 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4522 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4523 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4524 (synopsis "Haskell library matching glob patterns against file paths")
4525 (description "This package provides a Haskell library for @dfn{globbing}:
4526 matching patterns against file paths.")
4527 (license license:bsd-3)))
4528
4529 (define-public ghc-gluraw
4530 (package
4531 (name "ghc-gluraw")
4532 (version "2.0.0.4")
4533 (source
4534 (origin
4535 (method url-fetch)
4536 (uri (string-append
4537 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4538 version
4539 ".tar.gz"))
4540 (sha256
4541 (base32
4542 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4543 (build-system haskell-build-system)
4544 (inputs
4545 `(("ghc-openglraw" ,ghc-openglraw)))
4546 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4547 (synopsis "Raw Haskell bindings GLU")
4548 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4549 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4550 basis for a nicer interface.")
4551 (license license:bsd-3)))
4552
4553 (define-public ghc-glut
4554 (package
4555 (name "ghc-glut")
4556 (version "2.7.0.15")
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append
4561 "https://hackage.haskell.org/package/GLUT/GLUT-"
4562 version
4563 ".tar.gz"))
4564 (sha256
4565 (base32
4566 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
4567 (build-system haskell-build-system)
4568 (inputs
4569 `(("ghc-statevar" ,ghc-statevar)
4570 ("ghc-opengl" ,ghc-opengl)
4571 ("ghc-openglraw" ,ghc-openglraw)
4572 ("freeglut" ,freeglut)))
4573 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4574 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4575 (description "This library provides Haskell bindings for the OpenGL
4576 Utility Toolkit, a window system-independent toolkit for writing OpenGL
4577 programs.")
4578 (license license:bsd-3)))
4579
4580 (define-public ghc-gnuplot
4581 (package
4582 (name "ghc-gnuplot")
4583 (version "0.5.6")
4584 (source
4585 (origin
4586 (method url-fetch)
4587 (uri (string-append
4588 "mirror://hackage/package/gnuplot/gnuplot-"
4589 version ".tar.gz"))
4590 (sha256
4591 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
4592 (build-system haskell-build-system)
4593 (inputs
4594 `(("ghc-temporary" ,ghc-temporary)
4595 ("ghc-utility-ht" ,ghc-utility-ht)
4596 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4597 ("ghc-data-accessor" ,ghc-data-accessor)
4598 ("ghc-semigroups" ,ghc-semigroups)
4599 ("gnuplot" ,gnuplot)))
4600 (arguments
4601 `(#:phases
4602 (modify-phases %standard-phases
4603 (add-before 'configure 'fix-path-to-gnuplot
4604 (lambda* (#:key inputs #:allow-other-keys)
4605 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4606 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4607 (("(gnuplotName = ).*$" all cmd)
4608 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4609 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4610 (synopsis "2D and 3D plots using gnuplot")
4611 (description "This package provides a Haskell module for creating 2D and
4612 3D plots using gnuplot.")
4613 (license license:bsd-3)))
4614
4615 (define-public ghc-graphviz
4616 (package
4617 (name "ghc-graphviz")
4618 (version "2999.20.0.3")
4619 (source (origin
4620 (method url-fetch)
4621 (uri (string-append "https://hackage.haskell.org/package/"
4622 "graphviz/graphviz-" version ".tar.gz"))
4623 (sha256
4624 (base32
4625 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
4626 (build-system haskell-build-system)
4627 (arguments
4628 `(#:phases
4629 (modify-phases %standard-phases
4630 (add-before 'configure 'update-constraints
4631 (lambda _
4632 (substitute* "graphviz.cabal"
4633 (("QuickCheck >= 2\\.3 && < 2\\.13")
4634 "QuickCheck >= 2.3 && < 2.14")
4635 (("hspec >= 2\\.1 && < 2\\.7")
4636 "hspec >= 2.1 && < 2.8")))))))
4637 (inputs
4638 `(("ghc-quickcheck" ,ghc-quickcheck)
4639 ("ghc-colour" ,ghc-colour)
4640 ("ghc-dlist" ,ghc-dlist)
4641 ("ghc-fgl" ,ghc-fgl)
4642 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4643 ("ghc-polyparse" ,ghc-polyparse)
4644 ("ghc-temporary" ,ghc-temporary)
4645 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4646 (native-inputs
4647 `(("ghc-hspec" ,ghc-hspec)
4648 ("graphviz" ,graphviz)
4649 ("hspec-discover" ,hspec-discover)))
4650 (home-page "https://hackage.haskell.org/package/graphviz")
4651 (synopsis "Bindings to Graphviz for graph visualisation")
4652 (description
4653 "This library provides bindings for the Dot language used by
4654 the @uref{https://graphviz.org/, Graphviz} suite of programs for
4655 visualising graphs, as well as functions to call those programs.
4656 Main features of the graphviz library include:
4657
4658 @enumerate
4659 @item Almost complete coverage of all Graphviz attributes and syntax
4660 @item Support for specifying clusters
4661 @item The ability to use a custom node type
4662 @item Functions for running a Graphviz layout tool with all specified output types
4663 @item Generate and parse Dot code with two options: strict and liberal
4664 @item Functions to convert FGL graphs and other graph-like data structures
4665 @item Round-trip support for passing an FGL graph through Graphviz to augment node
4666 and edge labels with positional information, etc.
4667 @end enumerate\n")
4668 (license license:bsd-3)))
4669
4670 (define-public ghc-groups
4671 (package
4672 (name "ghc-groups")
4673 (version "0.4.1.0")
4674 (source
4675 (origin
4676 (method url-fetch)
4677 (uri (string-append "https://hackage.haskell.org/package/"
4678 "groups/groups-" version ".tar.gz"))
4679 (sha256
4680 (base32
4681 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4682 (build-system haskell-build-system)
4683 (home-page "https://hackage.haskell.org/package/groups")
4684 (synopsis "Haskell 98 groups")
4685 (description "This package provides Haskell 98 groups. A group is a
4686 monoid with invertibility.")
4687 (license license:bsd-3)))
4688
4689 (define-public ghc-gtk2hs-buildtools
4690 (package
4691 (name "ghc-gtk2hs-buildtools")
4692 (version "0.13.5.4")
4693 (source
4694 (origin
4695 (method url-fetch)
4696 (uri (string-append "https://hackage.haskell.org/package/"
4697 "gtk2hs-buildtools/gtk2hs-buildtools-"
4698 version ".tar.gz"))
4699 (sha256
4700 (base32
4701 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
4702 (build-system haskell-build-system)
4703 (inputs
4704 `(("ghc-random" ,ghc-random)
4705 ("ghc-hashtables" ,ghc-hashtables)))
4706 (native-inputs
4707 `(("ghc-alex" ,ghc-alex)
4708 ("ghc-happy" ,ghc-happy)))
4709 (home-page "http://projects.haskell.org/gtk2hs/")
4710 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4711 (description
4712 "This package provides a set of helper programs necessary to build the
4713 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4714 that is used to generate FFI declarations, a tool to build a type hierarchy
4715 that mirrors the C type hierarchy of GObjects found in glib, and a generator
4716 for signal declarations that are used to call back from C to Haskell. These
4717 tools are not needed to actually run Gtk2Hs programs.")
4718 (license license:gpl2)))
4719
4720 (define-public ghc-hackage-security
4721 (package
4722 (name "ghc-hackage-security")
4723 (version "0.5.3.0")
4724 (source
4725 (origin
4726 (method url-fetch)
4727 (uri (string-append "https://hackage.haskell.org/package/"
4728 "hackage-security/hackage-security-"
4729 version ".tar.gz"))
4730 (sha256
4731 (base32
4732 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4733 (build-system haskell-build-system)
4734 (arguments
4735 `(#:cabal-revision
4736 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4737 #:tests? #f)) ; Tests fail because of framework updates.
4738 (inputs
4739 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4740 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4741 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4742 ("ghc-ed25519" ,ghc-ed25519)
4743 ("ghc-network" ,ghc-network)
4744 ("ghc-network-uri" ,ghc-network-uri)
4745 ("ghc-tar" ,ghc-tar)
4746 ("ghc-zlib" ,ghc-zlib)))
4747 (native-inputs
4748 `(("ghc-network-uri" ,ghc-network-uri)
4749 ("ghc-quickcheck" ,ghc-quickcheck)
4750 ("ghc-tar" ,ghc-tar)
4751 ("ghc-tasty" ,ghc-tasty)
4752 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4753 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4754 ("ghc-temporary" ,ghc-temporary)
4755 ("ghc-zlib" ,ghc-zlib)))
4756 (home-page "https://github.com/haskell/hackage-security")
4757 (synopsis "Hackage security library")
4758 (description "This Hackage security library provides both server and
4759 client utilities for securing @uref{http://hackage.haskell.org/, the
4760 Hackage package server}. It is based on
4761 @uref{http://theupdateframework.com/, The Update Framework}, a set of
4762 recommendations developed by security researchers at various universities
4763 in the US as well as developers on the @uref{https://www.torproject.org/,
4764 Tor project}.")
4765 (license license:bsd-3)))
4766
4767 (define-public ghc-haddock
4768 (package
4769 (name "ghc-haddock")
4770 (version "2.22.0")
4771 (source
4772 (origin
4773 (method url-fetch)
4774 (uri (string-append
4775 "https://hackage.haskell.org/package/haddock/haddock-"
4776 version
4777 ".tar.gz"))
4778 (sha256
4779 (base32
4780 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
4781 (build-system haskell-build-system)
4782 (arguments
4783 `(#:phases
4784 (modify-phases %standard-phases
4785 ;; The release tarball for 2.22.0 is missing the test data for
4786 ;; the Hoogle test, causing it to fail. This is fixed in the
4787 ;; next release, but for now we disable it.
4788 (add-before 'configure 'remove-hoogle-test
4789 (lambda _
4790 (use-modules (ice-9 rdelim))
4791 (with-atomic-file-replacement "haddock.cabal"
4792 (lambda (in out)
4793 (let loop ((line (read-line in 'concat)) (deleting? #f))
4794 (cond
4795 ((eof-object? line) #t)
4796 ((string-every char-set:whitespace line)
4797 (unless deleting? (display line out))
4798 (loop (read-line in 'concat) #f))
4799 ((string=? line "test-suite hoogle-test\n")
4800 (loop (read-line in 'concat) #t))
4801 (else
4802 (unless deleting? (display line out))
4803 (loop (read-line in 'concat) deleting?))))))))
4804 (add-before 'check 'add-haddock-to-path
4805 (lambda _
4806 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4807 ":" (getenv "PATH")))
4808 #t)))))
4809 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4810 (native-inputs
4811 `(("ghc-haddock-test" ,ghc-haddock-test)
4812 ("ghc-hspec" ,ghc-hspec)))
4813 (home-page "https://www.haskell.org/haddock/")
4814 (synopsis
4815 "Documentation-generation tool for Haskell libraries")
4816 (description
4817 "Haddock is a documentation-generation tool for Haskell libraries.")
4818 (license license:bsd-3)))
4819
4820 (define-public ghc-haddock-api
4821 (package
4822 (name "ghc-haddock-api")
4823 (version "2.22.0")
4824 (source
4825 (origin
4826 (method url-fetch)
4827 (uri (string-append
4828 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4829 version
4830 ".tar.gz"))
4831 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
4832 (sha256
4833 (base32
4834 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
4835 (build-system haskell-build-system)
4836 (arguments
4837 `(#:phases
4838 (modify-phases %standard-phases
4839 (add-before 'configure 'update-constraints
4840 (lambda _
4841 (substitute* "haddock-api.cabal"
4842 (("QuickCheck \\^>= 2\\.11")
4843 "QuickCheck ^>= 2.13")
4844 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4845 "hspec >= 2.4.4 && < 2.8")))))))
4846 (inputs
4847 `(("ghc-paths" ,ghc-paths)
4848 ("ghc-haddock-library" ,ghc-haddock-library)))
4849 (native-inputs
4850 `(("ghc-quickcheck" ,ghc-quickcheck)
4851 ("ghc-hspec" ,ghc-hspec)
4852 ("hspec-discover" ,hspec-discover)))
4853 (home-page "https://www.haskell.org/haddock/")
4854 (synopsis "API for documentation-generation tool Haddock")
4855 (description "This package provides an API to Haddock, the
4856 documentation-generation tool for Haskell libraries.")
4857 (license license:bsd-3)))
4858
4859 (define-public ghc-haddock-library
4860 (package
4861 (name "ghc-haddock-library")
4862 (version "1.7.0")
4863 (source
4864 (origin
4865 (method url-fetch)
4866 (uri (string-append
4867 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4868 version
4869 ".tar.gz"))
4870 (sha256
4871 (base32
4872 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
4873 (build-system haskell-build-system)
4874 (arguments
4875 `(#:phases
4876 (modify-phases %standard-phases
4877 ;; Since there is no revised Cabal file upstream, we have to
4878 ;; patch it manually.
4879 (add-before 'configure 'relax-test-suite-dependencies
4880 (lambda _
4881 (substitute* "haddock-library.cabal"
4882 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4883 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
4884 #t)))))
4885 (native-inputs
4886 `(("ghc-base-compat" ,ghc-base-compat)
4887 ("ghc-hspec" ,ghc-hspec)
4888 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4889 ("ghc-quickcheck" ,ghc-quickcheck)
4890 ("ghc-tree-diff" ,ghc-tree-diff)
4891 ("hspec-discover" ,hspec-discover)))
4892 (home-page "https://www.haskell.org/haddock/")
4893 (synopsis "Library exposing some functionality of Haddock")
4894 (description
4895 "Haddock is a documentation-generation tool for Haskell libraries. These
4896 modules expose some functionality of it without pulling in the GHC dependency.
4897 Please note that the API is likely to change so specify upper bounds in your
4898 project if you can't release often. For interacting with Haddock itself, see
4899 the ‘haddock’ package.")
4900 (license license:bsd-3)))
4901
4902 ;; This package is needed for testing 'ghc-haddock'. It is no longer
4903 ;; published to Hackage, but it is maintained in the Haddock Git
4904 ;; repository.
4905 (define ghc-haddock-test
4906 (package
4907 (name "ghc-haddock-test")
4908 (version "2.22.0")
4909 (source
4910 (origin
4911 (method git-fetch)
4912 (uri (git-reference
4913 (url "https://github.com/haskell/haddock.git")
4914 (commit (string-append "haddock-" version "-release"))))
4915 (file-name (git-file-name name version))
4916 (sha256
4917 (base32
4918 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4919 (build-system haskell-build-system)
4920 (arguments
4921 `(#:phases
4922 (modify-phases %standard-phases
4923 (add-after 'unpack 'change-directory
4924 (lambda _
4925 (chdir "haddock-test"))))))
4926 (inputs
4927 `(("ghc-syb" ,ghc-syb)
4928 ("ghc-xml" ,ghc-xml)))
4929 (home-page "http://www.haskell.org/haddock/")
4930 (synopsis "Test utilities for Haddock")
4931 (description "This package provides test utilities for Haddock.")
4932 (license license:bsd-3)
4933 (properties '((hidden? #t)))))
4934
4935 (define-public ghc-half
4936 (package
4937 (name "ghc-half")
4938 (version "0.3")
4939 (source
4940 (origin
4941 (method url-fetch)
4942 (uri (string-append
4943 "https://hackage.haskell.org/package/half/half-"
4944 version ".tar.gz"))
4945 (sha256
4946 (base32
4947 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4948 (build-system haskell-build-system)
4949 (native-inputs
4950 `(("ghc-hspec" ,ghc-hspec)
4951 ("ghc-quickcheck" ,ghc-quickcheck)))
4952 (home-page "https://github.com/ekmett/half")
4953 (synopsis "Half-precision floating-point computations")
4954 (description "This library provides a half-precision floating-point
4955 computation library for Haskell.")
4956 (license license:bsd-3)))
4957
4958 (define-public ghc-happy
4959 (package
4960 (name "ghc-happy")
4961 (version "1.19.12")
4962 (source
4963 (origin
4964 (method url-fetch)
4965 (uri (string-append
4966 "https://hackage.haskell.org/package/happy/happy-"
4967 version
4968 ".tar.gz"))
4969 (sha256
4970 (base32
4971 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
4972 (build-system haskell-build-system)
4973 (arguments
4974 `(#:phases
4975 (modify-phases %standard-phases
4976 (add-after 'unpack 'skip-test-issue93
4977 (lambda _
4978 ;; Tests run out of memory on a system with 2GB of available RAM,
4979 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4980 (substitute* "tests/Makefile"
4981 ((" issue93.y ") " "))
4982 #t)))))
4983 (home-page "https://hackage.haskell.org/package/happy")
4984 (synopsis "Parser generator for Haskell")
4985 (description "Happy is a parser generator for Haskell. Given a grammar
4986 specification in BNF, Happy generates Haskell code to parse the grammar.
4987 Happy works in a similar way to the yacc tool for C.")
4988 (license license:bsd-3)))
4989
4990 (define-public ghc-hashable
4991 (package
4992 (name "ghc-hashable")
4993 (version "1.2.7.0")
4994 (outputs '("out" "doc"))
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append
4999 "https://hackage.haskell.org/package/hashable/hashable-"
5000 version
5001 ".tar.gz"))
5002 (sha256
5003 (base32
5004 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5005 (build-system haskell-build-system)
5006 (arguments
5007 `(#:cabal-revision
5008 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
5009 (inputs
5010 `(("ghc-random" ,ghc-random)))
5011 (native-inputs
5012 `(("ghc-test-framework" ,ghc-test-framework)
5013 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5014 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5015 ("ghc-hunit" ,ghc-hunit)
5016 ("ghc-quickcheck" ,ghc-quickcheck)))
5017 (home-page "https://github.com/tibbe/hashable")
5018 (synopsis "Class for types that can be converted to a hash value")
5019 (description
5020 "This package defines a class, @code{Hashable}, for types that can be
5021 converted to a hash value. This class exists for the benefit of hashing-based
5022 data structures. The package provides instances for basic types and a way to
5023 combine hash values.")
5024 (license license:bsd-3)))
5025
5026 (define-public ghc-hashable-bootstrap
5027 (package
5028 (inherit ghc-hashable)
5029 (name "ghc-hashable-bootstrap")
5030 (arguments
5031 `(#:tests? #f
5032 ,@(package-arguments ghc-hashable)))
5033 (native-inputs '())
5034 (properties '((hidden? #t)))))
5035
5036 (define-public ghc-hashable-time
5037 (package
5038 (name "ghc-hashable-time")
5039 (version "0.2.0.2")
5040 (source
5041 (origin
5042 (method url-fetch)
5043 (uri (string-append
5044 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5045 version
5046 ".tar.gz"))
5047 (sha256
5048 (base32
5049 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
5050 (build-system haskell-build-system)
5051 (arguments
5052 `(#:cabal-revision
5053 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
5054 (inputs `(("ghc-hashable" ,ghc-hashable)))
5055 (home-page "https://hackage.haskell.org/package/hashable-time")
5056 (synopsis "Hashable instances for Data.Time")
5057 (description
5058 "This package provides @code{Hashable} instances for types in
5059 @code{Data.Time}.")
5060 (license license:bsd-3)))
5061
5062 (define-public ghc-hashtables
5063 (package
5064 (name "ghc-hashtables")
5065 (version "1.2.3.4")
5066 (source
5067 (origin
5068 (method url-fetch)
5069 (uri (string-append
5070 "https://hackage.haskell.org/package/hashtables/hashtables-"
5071 version ".tar.gz"))
5072 (sha256
5073 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
5074 (build-system haskell-build-system)
5075 (inputs
5076 `(("ghc-hashable" ,ghc-hashable)
5077 ("ghc-primitive" ,ghc-primitive)
5078 ("ghc-vector" ,ghc-vector)))
5079 (home-page "https://github.com/gregorycollins/hashtables")
5080 (synopsis "Haskell Mutable hash tables in the ST monad")
5081 (description "This package provides a Haskell library including a
5082 couple of different implementations of mutable hash tables in the ST
5083 monad, as well as a typeclass abstracting their common operations, and
5084 a set of wrappers to use the hash tables in the IO monad.")
5085 (license license:bsd-3)))
5086
5087 (define-public ghc-haskell-lexer
5088 (package
5089 (name "ghc-haskell-lexer")
5090 (version "1.0.2")
5091 (source
5092 (origin
5093 (method url-fetch)
5094 (uri (string-append
5095 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5096 version ".tar.gz"))
5097 (sha256
5098 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5099 (build-system haskell-build-system)
5100 (home-page "https://hackage.haskell.org/package/haskell-lexer")
5101 (synopsis "Fully compliant Haskell 98 lexer")
5102 (description
5103 "This package provides a fully compliant Haskell 98 lexer.")
5104 (license license:bsd-3)))
5105
5106 (define-public ghc-haskell-src
5107 (package
5108 (name "ghc-haskell-src")
5109 (version "1.0.3.0")
5110 (source
5111 (origin
5112 (method url-fetch)
5113 (uri (string-append
5114 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5115 version
5116 ".tar.gz"))
5117 (sha256
5118 (base32
5119 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5120 (build-system haskell-build-system)
5121 (inputs
5122 `(("ghc-happy" ,ghc-happy)
5123 ("ghc-syb" ,ghc-syb)))
5124 (home-page
5125 "https://hackage.haskell.org/package/haskell-src")
5126 (synopsis
5127 "Support for manipulating Haskell source code")
5128 (description
5129 "The @code{haskell-src} package provides support for manipulating Haskell
5130 source code. The package provides a lexer, parser and pretty-printer, and a
5131 definition of a Haskell abstract syntax tree (AST). Common uses of this
5132 package are to parse or generate Haskell 98 code.")
5133 (license license:bsd-3)))
5134
5135 (define-public ghc-haskell-src-exts
5136 (package
5137 (name "ghc-haskell-src-exts")
5138 (version "1.21.1")
5139 (source
5140 (origin
5141 (method url-fetch)
5142 (uri (string-append
5143 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5144 version
5145 ".tar.gz"))
5146 (sha256
5147 (base32
5148 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
5149 (build-system haskell-build-system)
5150 (inputs
5151 `(("cpphs" ,cpphs)
5152 ("ghc-happy" ,ghc-happy)
5153 ("ghc-pretty-show" ,ghc-pretty-show)))
5154 (native-inputs
5155 `(("ghc-smallcheck" ,ghc-smallcheck)
5156 ("ghc-tasty" ,ghc-tasty)
5157 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5158 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5159 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5160 (synopsis "Library for manipulating Haskell source")
5161 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5162 extension of the standard @code{haskell-src} package, and handles most
5163 registered syntactic extensions to Haskell. All extensions implemented in GHC
5164 are supported. Apart from these standard extensions, it also handles regular
5165 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5166 (license license:bsd-3)))
5167
5168 (define-public ghc-haskell-src-exts-util
5169 (package
5170 (name "ghc-haskell-src-exts-util")
5171 (version "0.2.5")
5172 (source
5173 (origin
5174 (method url-fetch)
5175 (uri (string-append "https://hackage.haskell.org/package/"
5176 "haskell-src-exts-util/haskell-src-exts-util-"
5177 version ".tar.gz"))
5178 (sha256
5179 (base32
5180 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5181 (build-system haskell-build-system)
5182 (inputs
5183 `(("ghc-data-default" ,ghc-data-default)
5184 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5185 ("ghc-semigroups" ,ghc-semigroups)
5186 ("ghc-uniplate" ,ghc-uniplate)))
5187 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5188 (synopsis "Helper functions for working with haskell-src-exts trees")
5189 (description
5190 "This package provides helper functions for working with
5191 @code{haskell-src-exts} trees.")
5192 (license license:bsd-3)))
5193
5194 (define-public ghc-haskell-src-meta
5195 (package
5196 (name "ghc-haskell-src-meta")
5197 (version "0.8.3")
5198 (source (origin
5199 (method url-fetch)
5200 (uri (string-append "https://hackage.haskell.org/package/"
5201 "haskell-src-meta/haskell-src-meta-"
5202 version ".tar.gz"))
5203 (sha256
5204 (base32
5205 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
5206 (build-system haskell-build-system)
5207 (inputs
5208 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5209 ("ghc-syb" ,ghc-syb)
5210 ("ghc-th-orphans" ,ghc-th-orphans)))
5211 (native-inputs
5212 `(("ghc-hunit" ,ghc-hunit)
5213 ("ghc-tasty" ,ghc-tasty)
5214 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5215 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5216 (synopsis "Parse source to template-haskell abstract syntax")
5217 (description
5218 "This package provides tools to parse Haskell sources to the
5219 template-haskell abstract syntax.")
5220 (license license:bsd-3)))
5221
5222 (define-public ghc-hasktags
5223 (package
5224 (name "ghc-hasktags")
5225 (version "0.71.2")
5226 (source
5227 (origin
5228 (method url-fetch)
5229 (uri (string-append
5230 "https://hackage.haskell.org/package/hasktags/hasktags-"
5231 version
5232 ".tar.gz"))
5233 (sha256
5234 (base32
5235 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5236 (build-system haskell-build-system)
5237 (inputs
5238 `(("ghc-system-filepath" ,ghc-system-filepath)
5239 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5240 (native-inputs
5241 `(("ghc-json" ,ghc-json)
5242 ("ghc-utf8-string" ,ghc-utf8-string)
5243 ("ghc-microlens-platform" ,ghc-microlens-platform)
5244 ("ghc-hunit" ,ghc-hunit)))
5245 (home-page "http://github.com/MarcWeber/hasktags")
5246 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5247 (description
5248 "This package provides a means of generating tag files for Emacs and
5249 Vim.")
5250 (license license:bsd-3)))
5251
5252 (define-public ghc-hex
5253 (package
5254 (name "ghc-hex")
5255 (version "0.1.2")
5256 (source
5257 (origin
5258 (method url-fetch)
5259 (uri (string-append "https://hackage.haskell.org/package/"
5260 "hex-" version "/"
5261 "hex-" version ".tar.gz"))
5262 (sha256
5263 (base32
5264 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5265 (build-system haskell-build-system)
5266 (home-page "https://hackage.haskell.org/package/hex")
5267 (synopsis "Convert strings into hexadecimal and back")
5268 (description "This package provides conversion functions between
5269 bytestrings and their hexademical representation.")
5270 (license license:bsd-3)))
5271
5272 (define-public ghc-highlighting-kate
5273 (package
5274 (name "ghc-highlighting-kate")
5275 (version "0.6.4")
5276 (source (origin
5277 (method url-fetch)
5278 (uri (string-append "https://hackage.haskell.org/package/"
5279 "highlighting-kate/highlighting-kate-"
5280 version ".tar.gz"))
5281 (sha256
5282 (base32
5283 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5284 (build-system haskell-build-system)
5285 (inputs
5286 `(("ghc-diff" ,ghc-diff)
5287 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5288 (native-inputs
5289 `(("ghc-blaze-html" ,ghc-blaze-html)
5290 ("ghc-utf8-string" ,ghc-utf8-string)))
5291 (home-page "https://github.com/jgm/highlighting-kate")
5292 (synopsis "Syntax highlighting library")
5293 (description
5294 "Highlighting-kate is a syntax highlighting library with support for
5295 nearly one hundred languages. The syntax parsers are automatically generated
5296 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5297 supported by Kate can be added. An (optional) command-line program is
5298 provided, along with a utility for generating new parsers from Kate XML syntax
5299 descriptions.")
5300 (license license:gpl2+)))
5301
5302 (define-public ghc-hindent
5303 (package
5304 (name "ghc-hindent")
5305 (version "5.3.1")
5306 (source
5307 (origin
5308 (method url-fetch)
5309 (uri (string-append
5310 "https://hackage.haskell.org/package/hindent/hindent-"
5311 version
5312 ".tar.gz"))
5313 (sha256
5314 (base32
5315 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
5316 (build-system haskell-build-system)
5317 (arguments
5318 `(#:modules ((guix build haskell-build-system)
5319 (guix build utils)
5320 (guix build emacs-utils))
5321 #:imported-modules (,@%haskell-build-system-modules
5322 (guix build emacs-utils))
5323 #:phases
5324 (modify-phases %standard-phases
5325 (add-after 'install 'emacs-install
5326 (lambda* (#:key inputs outputs #:allow-other-keys)
5327 (let* ((out (assoc-ref outputs "out"))
5328 (elisp-file "elisp/hindent.el")
5329 (dest (string-append out "/share/emacs/site-lisp"))
5330 (emacs (string-append (assoc-ref inputs "emacs")
5331 "/bin/emacs")))
5332 (make-file-writable elisp-file)
5333 (emacs-substitute-variables elisp-file
5334 ("hindent-process-path"
5335 (string-append out "/bin/hindent")))
5336 (install-file elisp-file dest)
5337 (emacs-generate-autoloads "hindent" dest)))))))
5338 (inputs
5339 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5340 ("ghc-monad-loops" ,ghc-monad-loops)
5341 ("ghc-utf8-string" ,ghc-utf8-string)
5342 ("ghc-exceptions" ,ghc-exceptions)
5343 ("ghc-yaml" ,ghc-yaml)
5344 ("ghc-unix-compat" ,ghc-unix-compat)
5345 ("ghc-path" ,ghc-path)
5346 ("ghc-path-io" ,ghc-path-io)
5347 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5348 (native-inputs
5349 `(("ghc-hspec" ,ghc-hspec)
5350 ("ghc-diff" ,ghc-diff)
5351 ("emacs" ,emacs-minimal)))
5352 (home-page
5353 "https://github.com/commercialhaskell/hindent")
5354 (synopsis "Extensible Haskell pretty printer")
5355 (description
5356 "This package provides automatic formatting for Haskell files. Both a
5357 library and an executable.")
5358 (license license:bsd-3)))
5359
5360 (define-public ghc-hinotify
5361 (package
5362 (name "ghc-hinotify")
5363 (version "0.4")
5364 (source (origin
5365 (method url-fetch)
5366 (uri (string-append
5367 "https://hackage.haskell.org/package/hinotify/"
5368 "hinotify-" version ".tar.gz"))
5369 (sha256
5370 (base32
5371 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
5372 (build-system haskell-build-system)
5373 (inputs
5374 `(("ghc-async" ,ghc-async)))
5375 (home-page "https://github.com/kolmodin/hinotify.git")
5376 (synopsis "Haskell binding to inotify")
5377 (description "This library provides a wrapper to the Linux kernel's inotify
5378 feature, allowing applications to subscribe to notifications when a file is
5379 accessed or modified.")
5380 (license license:bsd-3)))
5381
5382 (define-public ghc-hmatrix
5383 (package
5384 (name "ghc-hmatrix")
5385 (version "0.20.0.0")
5386 (source
5387 (origin
5388 (method url-fetch)
5389 (uri (string-append
5390 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5391 version ".tar.gz"))
5392 (sha256
5393 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
5394 (build-system haskell-build-system)
5395 (inputs
5396 `(("ghc-random" ,ghc-random)
5397 ("ghc-split" ,ghc-split)
5398 ("ghc-storable-complex" ,ghc-storable-complex)
5399 ("ghc-semigroups" ,ghc-semigroups)
5400 ("ghc-vector" ,ghc-vector)
5401 ;;("openblas" ,openblas)
5402 ("lapack" ,lapack)))
5403 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5404 ;; disables inclusion of the LAPACK functions.
5405 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5406 (home-page "https://github.com/albertoruiz/hmatrix")
5407 (synopsis "Haskell numeric linear algebra library")
5408 (description "The HMatrix package provices a Haskell library for
5409 dealing with linear systems, matrix decompositions, and other
5410 numerical computations based on BLAS and LAPACK.")
5411 (license license:bsd-3)))
5412
5413 (define-public ghc-hmatrix-gsl
5414 (package
5415 (name "ghc-hmatrix-gsl")
5416 (version "0.19.0.1")
5417 (source
5418 (origin
5419 (method url-fetch)
5420 (uri (string-append
5421 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5422 version ".tar.gz"))
5423 (sha256
5424 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5425 (build-system haskell-build-system)
5426 (inputs
5427 `(("ghc-hmatrix" ,ghc-hmatrix)
5428 ("ghc-vector" ,ghc-vector)
5429 ("ghc-random" ,ghc-random)
5430 ("gsl" ,gsl)))
5431 (native-inputs `(("pkg-config" ,pkg-config)))
5432 (home-page "https://github.com/albertoruiz/hmatrix")
5433 (synopsis "Haskell GSL binding")
5434 (description "This Haskell library provides a purely functional
5435 interface to selected numerical computations, internally implemented
5436 using GSL.")
5437 (license license:gpl3+)))
5438
5439 (define-public ghc-hmatrix-gsl-stats
5440 (package
5441 (name "ghc-hmatrix-gsl-stats")
5442 (version "0.4.1.8")
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri
5447 (string-append
5448 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5449 version ".tar.gz"))
5450 (sha256
5451 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5452 (build-system haskell-build-system)
5453 (inputs
5454 `(("ghc-vector" ,ghc-vector)
5455 ("ghc-storable-complex" ,ghc-storable-complex)
5456 ("ghc-hmatrix" ,ghc-hmatrix)
5457 ("gsl" ,gsl)))
5458 (native-inputs `(("pkg-config" ,pkg-config)))
5459 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5460 (synopsis "GSL Statistics interface for Haskell")
5461 (description "This Haskell library provides a purely functional
5462 interface for statistics based on hmatrix and GSL.")
5463 (license license:bsd-3)))
5464
5465 (define-public ghc-hmatrix-special
5466 (package
5467 (name "ghc-hmatrix-special")
5468 (version "0.19.0.0")
5469 (source
5470 (origin
5471 (method url-fetch)
5472 (uri
5473 (string-append
5474 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5475 version ".tar.gz"))
5476 (sha256
5477 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-hmatrix" ,ghc-hmatrix)
5481 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5482 (home-page "https://github.com/albertoruiz/hmatrix")
5483 (synopsis "Haskell interface to GSL special functions")
5484 (description "This library provides an interface to GSL special
5485 functions for Haskell.")
5486 (license license:gpl3+)))
5487
5488 (define-public ghc-hostname
5489 (package
5490 (name "ghc-hostname")
5491 (version "1.0")
5492 (source
5493 (origin
5494 (method url-fetch)
5495 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5496 "hostname-" version ".tar.gz"))
5497 (sha256
5498 (base32
5499 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5500 (build-system haskell-build-system)
5501 (home-page "https://hackage.haskell.org/package/hostname")
5502 (synopsis "Hostname in Haskell")
5503 (description "Network.HostName is a simple package providing a means to
5504 determine the hostname.")
5505 (license license:bsd-3)))
5506
5507 (define-public ghc-hourglass
5508 (package
5509 (name "ghc-hourglass")
5510 (version "0.2.12")
5511 (source (origin
5512 (method url-fetch)
5513 (uri (string-append "https://hackage.haskell.org/package/"
5514 "hourglass/hourglass-" version ".tar.gz"))
5515 (sha256
5516 (base32
5517 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5518 (build-system haskell-build-system)
5519 (inputs
5520 `(("ghc-old-locale" ,ghc-old-locale)))
5521 (native-inputs
5522 `(("ghc-tasty" ,ghc-tasty)
5523 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5524 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5525 (home-page "https://github.com/vincenthz/hs-hourglass")
5526 (synopsis "Simple time-related library for Haskell")
5527 (description
5528 "This is a simple time library providing a simple but powerful and
5529 performant API. The backbone of the library are the @code{Timeable} and
5530 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5531 a type that has a @code{Time} instances, and thus are different
5532 representations of current time.")
5533 (license license:bsd-3)))
5534
5535 (define-public ghc-hpack
5536 (package
5537 (name "ghc-hpack")
5538 (version "0.31.2")
5539 (source
5540 (origin
5541 (method url-fetch)
5542 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5543 "hpack-" version ".tar.gz"))
5544 (patches (search-patches "ghc-hpack-fix-tests.patch"))
5545 (sha256
5546 (base32
5547 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
5548 (build-system haskell-build-system)
5549 (inputs
5550 `(("ghc-aeson" ,ghc-aeson)
5551 ("ghc-bifunctors" ,ghc-bifunctors)
5552 ("ghc-cryptonite" ,ghc-cryptonite)
5553 ("ghc-glob" ,ghc-glob)
5554 ("ghc-http-client" ,ghc-http-client)
5555 ("ghc-http-client-tls" ,ghc-http-client-tls)
5556 ("ghc-http-types" ,ghc-http-types)
5557 ("ghc-infer-license" ,ghc-infer-license)
5558 ("ghc-scientific" ,ghc-scientific)
5559 ("ghc-unordered-containers" ,ghc-unordered-containers)
5560 ("ghc-vector" ,ghc-vector)
5561 ("ghc-yaml" ,ghc-yaml)))
5562 (native-inputs
5563 `(("ghc-hspec" ,ghc-hspec)
5564 ("ghc-hunit" ,ghc-hunit)
5565 ("ghc-interpolate" ,ghc-interpolate)
5566 ("ghc-mockery" ,ghc-mockery)
5567 ("ghc-quickcheck" ,ghc-quickcheck)
5568 ("ghc-temporary" ,ghc-temporary)
5569 ("hspec-discover" ,hspec-discover)))
5570 (home-page "https://github.com/sol/hpack")
5571 (synopsis "Tools for an alternative Haskell package format")
5572 (description
5573 "Hpack is a format for Haskell packages. It is an alternative to the
5574 Cabal package format and follows different design principles. Hpack packages
5575 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5576 @code{stack} support @code{package.yaml} natively. For other build tools the
5577 @code{hpack} executable can be used to generate a @code{.cabal} file from
5578 @code{package.yaml}.")
5579 (license license:expat)))
5580
5581 (define-public ghc-hs-bibutils
5582 (package
5583 (name "ghc-hs-bibutils")
5584 (version "6.7.0.0")
5585 (source
5586 (origin
5587 (method url-fetch)
5588 (uri (string-append
5589 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5590 version ".tar.gz"))
5591 (sha256
5592 (base32
5593 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
5594 (build-system haskell-build-system)
5595 (inputs `(("ghc-syb" ,ghc-syb)))
5596 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5597 (synopsis "Haskell bindings to bibutils")
5598 (description
5599 "This package provides Haskell bindings to @code{bibutils}, a library
5600 that interconverts between various bibliography formats using a common
5601 MODS-format XML intermediate.")
5602 (license license:gpl2+)))
5603
5604 (define-public ghc-hslogger
5605 (package
5606 (name "ghc-hslogger")
5607 (version "1.2.12")
5608 (source
5609 (origin
5610 (method url-fetch)
5611 (uri (string-append "https://hackage.haskell.org/package/"
5612 "hslogger-" version "/" "hslogger-"
5613 version ".tar.gz"))
5614 (sha256 (base32
5615 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
5616 (build-system haskell-build-system)
5617 (inputs
5618 `(("ghc-network" ,ghc-network)
5619 ("ghc-old-locale" ,ghc-old-locale)))
5620 (native-inputs
5621 `(("ghc-hunit" ,ghc-hunit)))
5622 (home-page "https://software.complete.org/hslogger")
5623 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5624 (description "Hslogger lets each log message have a priority and source be
5625 associated with it. The programmer can then define global handlers that route
5626 or filter messages based on the priority and source. It also has a syslog
5627 handler built in.")
5628 (license license:bsd-3)))
5629
5630 (define-public ghc-hslua
5631 (package
5632 (name "ghc-hslua")
5633 (version "1.0.3.2")
5634 (source (origin
5635 (method url-fetch)
5636 (uri (string-append "https://hackage.haskell.org/package/"
5637 "hslua/hslua-" version ".tar.gz"))
5638 (sha256
5639 (base32
5640 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
5641 (build-system haskell-build-system)
5642 (arguments
5643 `(#:configure-flags '("-fsystem-lua")))
5644 (inputs
5645 `(("lua" ,lua)
5646 ("ghc-exceptions" ,ghc-exceptions)
5647 ("ghc-fail" ,ghc-fail)))
5648 (native-inputs
5649 `(("ghc-tasty" ,ghc-tasty)
5650 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5651 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5652 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5653 ("ghc-quickcheck" ,ghc-quickcheck)
5654 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5655 (home-page "https://hackage.haskell.org/package/hslua")
5656 (synopsis "Lua language interpreter embedding in Haskell")
5657 (description
5658 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5659 described in @url{https://www.lua.org/}.")
5660 (license license:expat)))
5661
5662 (define-public ghc-hslua-module-system
5663 (package
5664 (name "ghc-hslua-module-system")
5665 (version "0.2.1")
5666 (source
5667 (origin
5668 (method url-fetch)
5669 (uri (string-append "https://hackage.haskell.org/package/"
5670 "hslua-module-system/hslua-module-system-"
5671 version ".tar.gz"))
5672 (sha256
5673 (base32
5674 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5675 (build-system haskell-build-system)
5676 (inputs
5677 `(("ghc-exceptions" ,ghc-exceptions)
5678 ("ghc-hslua" ,ghc-hslua)
5679 ("ghc-temporary" ,ghc-temporary)))
5680 (native-inputs
5681 `(("ghc-tasty" ,ghc-tasty)
5682 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5683 (home-page "https://github.com/hslua/hslua-module-system")
5684 (synopsis "Lua module wrapper around Haskell's System module")
5685 (description "This library provides access to system information and
5686 functionality to Lua scripts via Haskell's @code{System} module. Intended
5687 usage for this package is to preload it by adding the loader function to
5688 @code{package.preload}. Note that the Lua @code{package} library must have
5689 already been loaded before the loader can be added.")
5690 (license license:expat)))
5691
5692 (define-public ghc-hslua-module-text
5693 (package
5694 (name "ghc-hslua-module-text")
5695 (version "0.2.1")
5696 (source
5697 (origin
5698 (method url-fetch)
5699 (uri (string-append "https://hackage.haskell.org/package/"
5700 "hslua-module-text/hslua-module-text-"
5701 version ".tar.gz"))
5702 (sha256
5703 (base32
5704 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
5705 (build-system haskell-build-system)
5706 (inputs
5707 `(("ghc-hslua" ,ghc-hslua)))
5708 (native-inputs
5709 `(("ghc-tasty" ,ghc-tasty)
5710 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5711 (home-page "https://github.com/hslua/hslua-module-text")
5712 (synopsis "Lua module for text")
5713 (description
5714 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5715 for Haskell. The functions provided by this module are @code{upper},
5716 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5717 (license license:expat)))
5718
5719 (define-public ghc-hsyaml
5720 (package
5721 (name "ghc-hsyaml")
5722 (version "0.1.2.0")
5723 (source
5724 (origin
5725 (method url-fetch)
5726 (uri (string-append "https://hackage.haskell.org/package/"
5727 "HsYAML/HsYAML-" version ".tar.gz"))
5728 (sha256
5729 (base32
5730 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5731 (build-system haskell-build-system)
5732 (arguments
5733 `(#:cabal-revision
5734 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5735 (home-page "https://github.com/haskell-hvr/HsYAML")
5736 (synopsis "Pure Haskell YAML 1.2 parser")
5737 (description "This library provides a
5738 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5739 for Haskell. Its features include:
5740
5741 @itemize
5742 @item Pure Haskell implementation with small dependency footprint and
5743 emphasis on strict compliance with the YAML 1.2 specification.
5744
5745 @item Direct decoding to native Haskell types via (aeson-inspired)
5746 typeclass-based API (see @code{Data.YAML}).
5747
5748 @item Support for constructing custom YAML node graph
5749 representation (including support for cyclic YAML data structures).
5750
5751 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
5752 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5753 typing rules as defined in the YAML 1.2 specification (including support
5754 for user-defined custom schemas).
5755
5756 @item Event-based API resembling LibYAML's Event-based API (see
5757 @code{Data.YAML.Event}).
5758
5759 @item Low-level API access to lexical token-based scanner (see
5760 @code{Data.YAML.Token}).
5761 @end itemize")
5762 (license license:gpl2+)))
5763
5764 (define-public ghc-http-api-data
5765 (package
5766 (name "ghc-http-api-data")
5767 (version "0.4.1")
5768 (source
5769 (origin
5770 (method url-fetch)
5771 (uri (string-append "https://hackage.haskell.org/package/"
5772 "http-api-data-" version "/"
5773 "http-api-data-" version ".tar.gz"))
5774 (sha256
5775 (base32
5776 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
5777 (build-system haskell-build-system)
5778 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5779 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5780 ("ghc-cookie" ,ghc-cookie)
5781 ("ghc-hashable" ,ghc-hashable)
5782 ("ghc-http-types" ,ghc-http-types)
5783 ("ghc-time-compat" ,ghc-time-compat)
5784 ("ghc-unordered-containers" ,ghc-unordered-containers)
5785 ("ghc-uuid-types" ,ghc-uuid-types)))
5786 (native-inputs
5787 `(("cabal-doctest" ,cabal-doctest)
5788 ("ghc-nats" ,ghc-nats)
5789 ("ghc-hunit" ,ghc-hunit)
5790 ("ghc-hspec" ,ghc-hspec)
5791 ("ghc-quickcheck" ,ghc-quickcheck)
5792 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5793 ("ghc-doctest" ,ghc-doctest)
5794 ("hspec-discover" ,hspec-discover)))
5795 (home-page "https://github.com/fizruk/http-api-data")
5796 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5797 query parameters")
5798 (description "This Haskell package defines typeclasses used for converting
5799 Haskell data types to and from HTTP API data.")
5800 (license license:bsd-3)))
5801
5802 (define-public ghc-ieee754
5803 (package
5804 (name "ghc-ieee754")
5805 (version "0.8.0")
5806 (source (origin
5807 (method url-fetch)
5808 (uri (string-append
5809 "https://hackage.haskell.org/package/ieee754/"
5810 "ieee754-" version ".tar.gz"))
5811 (sha256
5812 (base32
5813 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5814 (build-system haskell-build-system)
5815 (home-page "https://github.com/patperry/hs-ieee754")
5816 (synopsis "Utilities for dealing with IEEE floating point numbers")
5817 (description "Utilities for dealing with IEEE floating point numbers,
5818 ported from the Tango math library; approximate and exact equality comparisons
5819 for general types.")
5820 (license license:bsd-3)))
5821
5822 (define-public ghc-ifelse
5823 (package
5824 (name "ghc-ifelse")
5825 (version "0.85")
5826 (source
5827 (origin
5828 (method url-fetch)
5829 (uri (string-append "https://hackage.haskell.org/package/"
5830 "IfElse/IfElse-" version ".tar.gz"))
5831 (sha256
5832 (base32
5833 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5834 (build-system haskell-build-system)
5835 (home-page "https://hackage.haskell.org/package/IfElse")
5836 (synopsis "Monadic control flow with anaphoric variants")
5837 (description "This library provides functions for control flow inside of
5838 monads with anaphoric variants on @code{if} and @code{when} and a C-like
5839 @code{switch} function.")
5840 (license license:bsd-3)))
5841
5842 (define-public ghc-indents
5843 (package
5844 (name "ghc-indents")
5845 (version "0.5.0.1")
5846 (source (origin
5847 (method url-fetch)
5848 (uri (string-append
5849 "https://hackage.haskell.org/package/indents/indents-"
5850 version ".tar.gz"))
5851 (sha256
5852 (base32
5853 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
5854 (build-system haskell-build-system)
5855 ;; This package needs an older version of tasty.
5856 (arguments '(#:tests? #f))
5857 (inputs
5858 `(("ghc-concatenative" ,ghc-concatenative)))
5859 (native-inputs
5860 `(("ghc-tasty" ,ghc-tasty)
5861 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5862 (home-page "http://patch-tag.com/r/salazar/indents")
5863 (synopsis "Indentation sensitive parser-combinators for parsec")
5864 (description
5865 "This library provides functions for use in parsing indentation sensitive
5866 contexts. It parses blocks of lines all indented to the same level as well as
5867 lines continued at an indented level below.")
5868 (license license:bsd-3)))
5869
5870 (define-public ghc-infer-license
5871 (package
5872 (name "ghc-infer-license")
5873 (version "0.2.0")
5874 (source
5875 (origin
5876 (method url-fetch)
5877 (uri (string-append "https://hackage.haskell.org/package/"
5878 "infer-license/infer-license-" version ".tar.gz"))
5879 (sha256
5880 (base32
5881 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5882 (build-system haskell-build-system)
5883 (inputs
5884 `(("ghc-text-metrics" ,ghc-text-metrics)))
5885 (native-inputs
5886 `(("ghc-hspec" ,ghc-hspec)
5887 ("hspec-discover" ,hspec-discover)))
5888 (home-page "https://hackage.haskell.org/package/infer-license")
5889 (synopsis "Infer software license from a given license file")
5890 (description "This library provides tools to infer a software
5891 license from a given license file.")
5892 (license license:expat)))
5893
5894 (define-public ghc-inline-c
5895 (package
5896 (name "ghc-inline-c")
5897 (version "0.7.0.1")
5898 (source
5899 (origin
5900 (method url-fetch)
5901 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5902 "inline-c-" version ".tar.gz"))
5903 (sha256
5904 (base32
5905 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
5906 (build-system haskell-build-system)
5907 (inputs
5908 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5909 ("ghc-cryptohash" ,ghc-cryptohash)
5910 ("ghc-hashable" ,ghc-hashable)
5911 ("ghc-parsers" ,ghc-parsers)
5912 ("ghc-unordered-containers" ,ghc-unordered-containers)
5913 ("ghc-vector" ,ghc-vector)))
5914 (native-inputs
5915 `(("ghc-quickcheck" ,ghc-quickcheck)
5916 ("ghc-hspec" ,ghc-hspec)
5917 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5918 ("ghc-regex-posix" ,ghc-regex-posix)))
5919 (home-page "https://hackage.haskell.org/package/inline-c")
5920 (synopsis "Write Haskell source files including C code inline")
5921 (description
5922 "inline-c lets you seamlessly call C libraries and embed high-performance
5923 inline C code in Haskell modules. Haskell and C can be freely intermixed in
5924 the same source file, and data passed to and from code in either language with
5925 minimal overhead. No FFI required.")
5926 (license license:expat)))
5927
5928 (define-public ghc-inline-c-cpp
5929 (package
5930 (name "ghc-inline-c-cpp")
5931 (version "0.3.0.3")
5932 (source
5933 (origin
5934 (method url-fetch)
5935 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5936 "inline-c-cpp-" version ".tar.gz"))
5937 (sha256
5938 (base32
5939 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
5940 (build-system haskell-build-system)
5941 (inputs
5942 `(("ghc-inline-c" ,ghc-inline-c)
5943 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5944 (native-inputs
5945 `(("ghc-hspec" ,ghc-hspec)))
5946 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5947 (synopsis "Lets you embed C++ code into Haskell")
5948 (description
5949 "This package provides utilities to inline C++ code into Haskell using
5950 @code{inline-c}.")
5951 (license license:expat)))
5952
5953 (define-public ghc-integer-logarithms
5954 (package
5955 (name "ghc-integer-logarithms")
5956 (version "1.0.3")
5957 (source
5958 (origin
5959 (method url-fetch)
5960 (uri (string-append "https://hackage.haskell.org/package/"
5961 "integer-logarithms/integer-logarithms-"
5962 version ".tar.gz"))
5963 (sha256
5964 (base32
5965 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
5966 (build-system haskell-build-system)
5967 (arguments
5968 `(#:phases
5969 (modify-phases %standard-phases
5970 (add-before 'configure 'update-constraints
5971 (lambda _
5972 (substitute* "integer-logarithms.cabal"
5973 (("tasty >= 0\\.10 && < 1\\.1")
5974 "tasty >= 0.10 && < 1.2")))))))
5975 (native-inputs
5976 `(("ghc-quickcheck" ,ghc-quickcheck)
5977 ("ghc-smallcheck" ,ghc-smallcheck)
5978 ("ghc-tasty" ,ghc-tasty)
5979 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5980 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5981 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5982 (home-page "https://github.com/Bodigrim/integer-logarithms")
5983 (synopsis "Integer logarithms")
5984 (description
5985 "This package provides the following modules:
5986 @code{Math.NumberTheory.Logarithms} and
5987 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5988 @code{GHC.Integer.Logarithms.Compat} and
5989 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5990 in migrated modules.")
5991 (license license:expat)))
5992
5993 (define-public ghc-integer-logarithms-bootstrap
5994 (package
5995 (inherit ghc-integer-logarithms)
5996 (name "ghc-integer-logarithms-bootstrap")
5997 (arguments `(#:tests? #f))
5998 (native-inputs '())
5999 (properties '((hidden? #t)))))
6000
6001 (define-public ghc-interpolate
6002 (package
6003 (name "ghc-interpolate")
6004 (version "0.2.0")
6005 (source
6006 (origin
6007 (method url-fetch)
6008 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6009 "interpolate-" version ".tar.gz"))
6010 (sha256
6011 (base32
6012 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6013 (build-system haskell-build-system)
6014 (inputs
6015 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6016 (native-inputs
6017 `(("ghc-base-compat" ,ghc-base-compat)
6018 ("ghc-hspec" ,ghc-hspec)
6019 ("ghc-quickcheck" ,ghc-quickcheck)
6020 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6021 ("hspec-discover" ,hspec-discover)))
6022 (home-page "https://github.com/sol/interpolate")
6023 (synopsis "String interpolation library")
6024 (description "This package provides a string interpolation library for
6025 Haskell.")
6026 (license license:expat)))
6027
6028 (define-public ghc-intervalmap
6029 (package
6030 (name "ghc-intervalmap")
6031 (version "0.6.1.1")
6032 (source
6033 (origin
6034 (method url-fetch)
6035 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6036 "IntervalMap-" version ".tar.gz"))
6037 (sha256
6038 (base32
6039 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
6040 (build-system haskell-build-system)
6041 (native-inputs
6042 `(("ghc-quickcheck" ,ghc-quickcheck)))
6043 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6044 (synopsis "Containers for intervals, with efficient search")
6045 (description
6046 "This package provides ordered containers of intervals, with efficient
6047 search for all keys containing a point or overlapping an interval. See the
6048 example code on the home page for a quick introduction.")
6049 (license license:bsd-3)))
6050
6051 (define-public ghc-intervals
6052 (package
6053 (name "ghc-intervals")
6054 (version "0.8.1")
6055 (source
6056 (origin
6057 (method url-fetch)
6058 (uri (string-append "https://hackage.haskell.org/package/"
6059 "intervals/intervals-" version ".tar.gz"))
6060 (sha256
6061 (base32
6062 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6063 (build-system haskell-build-system)
6064 (inputs
6065 `(("ghc-distributive" ,ghc-distributive)))
6066 (native-inputs
6067 `(("cabal-doctest" ,cabal-doctest)
6068 ("ghc-doctest" ,ghc-doctest)
6069 ("ghc-quickcheck" ,ghc-quickcheck)))
6070 (arguments
6071 `(#:cabal-revision
6072 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6073 (home-page "https://github.com/ekmett/intervals")
6074 (synopsis "Interval arithmetic")
6075 (description "This library provides
6076 @code{Numeric.Interval.Interval}, which represets a closed, convex set
6077 of floating point values.")
6078 (license license:bsd-3)))
6079
6080 (define-public ghc-invariant
6081 (package
6082 (name "ghc-invariant")
6083 (version "0.5.3")
6084 (source
6085 (origin
6086 (method url-fetch)
6087 (uri (string-append
6088 "https://hackage.haskell.org/package/invariant/invariant-"
6089 version ".tar.gz"))
6090 (sha256
6091 (base32
6092 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
6093 (build-system haskell-build-system)
6094 (inputs
6095 `(("ghc-bifunctors" ,ghc-bifunctors)
6096 ("ghc-comonad" ,ghc-comonad)
6097 ("ghc-contravariant" ,ghc-contravariant)
6098 ("ghc-profunctors" ,ghc-profunctors)
6099 ("ghc-semigroups" ,ghc-semigroups)
6100 ("ghc-statevar" ,ghc-statevar)
6101 ("ghc-tagged" ,ghc-tagged)
6102 ("ghc-th-abstraction" ,ghc-th-abstraction)
6103 ("ghc-transformers-compat" ,ghc-transformers-compat)
6104 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6105 (native-inputs
6106 `(("ghc-hspec" ,ghc-hspec)
6107 ("ghc-quickcheck" ,ghc-quickcheck)
6108 ("hspec-discover" ,hspec-discover)))
6109 (home-page "https://github.com/nfrisby/invariant-functors")
6110 (synopsis "Haskell98 invariant functors")
6111 (description "Haskell98 invariant functors (also known as exponential
6112 functors). For more information, see Edward Kmett's article
6113 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6114 (license license:bsd-2)))
6115
6116 (define-public ghc-io-streams
6117 (package
6118 (name "ghc-io-streams")
6119 (version "1.5.1.0")
6120 (source
6121 (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/"
6124 "io-streams/io-streams-" version ".tar.gz"))
6125 (sha256
6126 (base32
6127 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
6128 (build-system haskell-build-system)
6129 (inputs
6130 `(("ghc-attoparsec" ,ghc-attoparsec)
6131 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6132 ("ghc-network" ,ghc-network)
6133 ("ghc-primitive" ,ghc-primitive)
6134 ("ghc-vector" ,ghc-vector)
6135 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6136 (native-inputs
6137 `(("ghc-hunit" ,ghc-hunit)
6138 ("ghc-quickcheck" ,ghc-quickcheck)
6139 ("ghc-test-framework" ,ghc-test-framework)
6140 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6141 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6142 ("ghc-zlib" ,ghc-zlib)))
6143 (home-page "https://hackage.haskell.org/package/io-streams")
6144 (synopsis "Simple and composable stream I/O")
6145 (description "This library contains simple and easy-to-use
6146 primitives for I/O using streams.")
6147 (license license:bsd-3)))
6148
6149 (define-public ghc-io-streams-haproxy
6150 (package
6151 (name "ghc-io-streams-haproxy")
6152 (version "1.0.1.0")
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (string-append "https://hackage.haskell.org/package/"
6157 "io-streams-haproxy/io-streams-haproxy-"
6158 version ".tar.gz"))
6159 (sha256
6160 (base32
6161 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6162 (build-system haskell-build-system)
6163 (inputs
6164 `(("ghc-attoparsec" ,ghc-attoparsec)
6165 ("ghc-io-streams" ,ghc-io-streams)
6166 ("ghc-network" ,ghc-network)))
6167 (native-inputs
6168 `(("ghc-hunit" ,ghc-hunit)
6169 ("ghc-test-framework" ,ghc-test-framework)
6170 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6171 (home-page "http://snapframework.com/")
6172 (synopsis "HAProxy protocol 1.5 support for io-streams")
6173 (description "HAProxy protocol version 1.5 support
6174 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6175 for applications using io-streams. The proxy protocol allows information
6176 about a networked peer (like remote address and port) to be propagated
6177 through a forwarding proxy that is configured to speak this protocol.")
6178 (license license:bsd-3)))
6179
6180 (define-public ghc-iproute
6181 (package
6182 (name "ghc-iproute")
6183 (version "1.7.7")
6184 (source
6185 (origin
6186 (method url-fetch)
6187 (uri (string-append
6188 "https://hackage.haskell.org/package/iproute/iproute-"
6189 version
6190 ".tar.gz"))
6191 (sha256
6192 (base32
6193 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
6194 (build-system haskell-build-system)
6195 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6196 ; exported by ghc-byteorder. Doctest issue.
6197 (inputs
6198 `(("ghc-appar" ,ghc-appar)
6199 ("ghc-byteorder" ,ghc-byteorder)
6200 ("ghc-network" ,ghc-network)
6201 ("ghc-safe" ,ghc-safe)))
6202 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6203 (synopsis "IP routing table")
6204 (description "IP Routing Table is a tree of IP ranges to search one of
6205 them on the longest match base. It is a kind of TRIE with one way branching
6206 removed. Both IPv4 and IPv6 are supported.")
6207 (license license:bsd-3)))
6208
6209 (define-public ghc-ipynb
6210 (package
6211 (name "ghc-ipynb")
6212 (version "0.1")
6213 (source
6214 (origin
6215 (method url-fetch)
6216 (uri (string-append "https://hackage.haskell.org/package/"
6217 "ipynb/ipynb-" version ".tar.gz"))
6218 (sha256
6219 (base32
6220 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6221 (build-system haskell-build-system)
6222 (inputs
6223 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6224 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6225 ("ghc-aeson" ,ghc-aeson)
6226 ("ghc-semigroups" ,ghc-semigroups)))
6227 (native-inputs
6228 `(("ghc-tasty" ,ghc-tasty)
6229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6230 ("ghc-aeson-diff" ,ghc-aeson-diff)
6231 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6232 ("ghc-microlens" ,ghc-microlens)
6233 ("ghc-vector" ,ghc-vector)))
6234 (home-page "https://hackage.haskell.org/package/ipynb")
6235 (synopsis "Data structure for working with Jupyter notebooks")
6236 (description "This library defines a data structure for representing
6237 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6238 instances for conversion to and from JSON .ipynb files.")
6239 (license license:bsd-3)))
6240
6241 (define-public ghc-iwlib
6242 (package
6243 (name "ghc-iwlib")
6244 (version "0.1.0")
6245 (source
6246 (origin
6247 (method url-fetch)
6248 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6249 version ".tar.gz"))
6250 (sha256
6251 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6252 (build-system haskell-build-system)
6253 (inputs
6254 `(("wireless-tools" ,wireless-tools)))
6255 (home-page "https://github.com/jaor/iwlib")
6256 (synopsis "Haskell binding to the iw wireless networking library")
6257 (description
6258 "IWlib is a thin Haskell binding to the iw C library. It provides
6259 information about the current wireless network connections, and adapters on
6260 supported systems.")
6261 (license license:bsd-3)))
6262
6263 (define-public ghc-json
6264 (package
6265 (name "ghc-json")
6266 (version "0.9.3")
6267 (source
6268 (origin
6269 (method url-fetch)
6270 (uri (string-append "https://hackage.haskell.org/package/json/"
6271 "json-" version ".tar.gz"))
6272 (sha256
6273 (base32
6274 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
6275 (build-system haskell-build-system)
6276 (inputs
6277 `(("ghc-syb" ,ghc-syb)))
6278 (home-page "https://hackage.haskell.org/package/json")
6279 (synopsis "Serializes Haskell data to and from JSON")
6280 (description "This package provides a parser and pretty printer for
6281 converting between Haskell values and JSON.
6282 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6283 (license license:bsd-3)))
6284
6285 (define-public ghc-juicypixels
6286 (package
6287 (name "ghc-juicypixels")
6288 (version "3.3.4")
6289 (source (origin
6290 (method url-fetch)
6291 (uri (string-append "https://hackage.haskell.org/package/"
6292 "JuicyPixels/JuicyPixels-"
6293 version ".tar.gz"))
6294 (sha256
6295 (base32
6296 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
6297 (build-system haskell-build-system)
6298 (inputs
6299 `(("ghc-zlib" ,ghc-zlib)
6300 ("ghc-vector" ,ghc-vector)
6301 ("ghc-primitive" ,ghc-primitive)
6302 ("ghc-mmap" ,ghc-mmap)))
6303 (home-page "https://github.com/Twinside/Juicy.Pixels")
6304 (synopsis "Picture loading and serialization library")
6305 (description
6306 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6307 TIFF and GIF formats.")
6308 (license license:bsd-3)))
6309
6310 (define-public ghc-kan-extensions
6311 (package
6312 (name "ghc-kan-extensions")
6313 (version "5.2")
6314 (source
6315 (origin
6316 (method url-fetch)
6317 (uri (string-append
6318 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6319 version
6320 ".tar.gz"))
6321 (sha256
6322 (base32
6323 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6324 (build-system haskell-build-system)
6325 (inputs
6326 `(("ghc-adjunctions" ,ghc-adjunctions)
6327 ("ghc-comonad" ,ghc-comonad)
6328 ("ghc-contravariant" ,ghc-contravariant)
6329 ("ghc-distributive" ,ghc-distributive)
6330 ("ghc-free" ,ghc-free)
6331 ("ghc-invariant" ,ghc-invariant)
6332 ("ghc-semigroupoids" ,ghc-semigroupoids)
6333 ("ghc-tagged" ,ghc-tagged)
6334 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6335 (home-page "https://github.com/ekmett/kan-extensions/")
6336 (synopsis "Kan extensions library")
6337 (description "This library provides Kan extensions, Kan lifts, various
6338 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6339 (license license:bsd-3)))
6340
6341 (define-public ghc-language-c
6342 (package
6343 (name "ghc-language-c")
6344 (version "0.8.3")
6345 (source
6346 (origin
6347 (method url-fetch)
6348 (uri (string-append "https://hackage.haskell.org/package/"
6349 "language-c/language-c-" version ".tar.gz"))
6350 (sha256
6351 (base32
6352 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
6353 (build-system haskell-build-system)
6354 (inputs `(("ghc-syb" ,ghc-syb)))
6355 (native-inputs
6356 `(("ghc-happy" ,ghc-happy)
6357 ("ghc-alex" ,ghc-alex)))
6358 (home-page "https://visq.github.io/language-c/")
6359 (synopsis "Analysis and generation of C code")
6360 (description
6361 "Language C is a Haskell library for the analysis and generation of C code.
6362 It features a complete, well-tested parser and pretty printer for all of C99
6363 and a large set of GNU extensions.")
6364 (license license:bsd-3)))
6365
6366 (define-public ghc-language-glsl
6367 (package
6368 (name "ghc-language-glsl")
6369 (version "0.3.0")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/"
6374 "language-glsl/language-glsl-" version ".tar.gz"))
6375 (sha256
6376 (base32
6377 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6378 (build-system haskell-build-system)
6379 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6380 (arguments
6381 `(#:tests? #f
6382 #:cabal-revision
6383 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6384 (home-page "https://hackage.haskell.org/package/language-glsl")
6385 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6386 (description "This package is a Haskell library for the
6387 representation, parsing, and pretty-printing of GLSL 1.50 code.")
6388 (license license:bsd-3)))
6389
6390 (define-public ghc-language-haskell-extract
6391 (package
6392 (name "ghc-language-haskell-extract")
6393 (version "0.2.4")
6394 (source
6395 (origin
6396 (method url-fetch)
6397 (uri (string-append "https://hackage.haskell.org/package/"
6398 "language-haskell-extract-" version "/"
6399 "language-haskell-extract-" version ".tar.gz"))
6400 (sha256
6401 (base32
6402 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6403 (build-system haskell-build-system)
6404 (inputs
6405 `(("ghc-regex-posix" ,ghc-regex-posix)))
6406 (home-page "https://github.com/finnsson/template-helper")
6407 (synopsis "Haskell module to automatically extract functions from
6408 the local code")
6409 (description "This package contains helper functions on top of
6410 Template Haskell.
6411
6412 For example, @code{functionExtractor} extracts all functions after a
6413 regexp-pattern, which can be useful if you wish to extract all functions
6414 beginning with @code{test} (for a test framework) or all functions beginning
6415 with @code{wc} (for a web service).")
6416 (license license:bsd-3)))
6417
6418 (define-public ghc-lens
6419 (package
6420 (name "ghc-lens")
6421 (version "4.17.1")
6422 (source
6423 (origin
6424 (method url-fetch)
6425 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6426 version ".tar.gz"))
6427 (sha256
6428 (base32
6429 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
6430 (build-system haskell-build-system)
6431 (inputs
6432 `(("ghc-base-orphans" ,ghc-base-orphans)
6433 ("ghc-bifunctors" ,ghc-bifunctors)
6434 ("ghc-distributive" ,ghc-distributive)
6435 ("ghc-exceptions" ,ghc-exceptions)
6436 ("ghc-free" ,ghc-free)
6437 ("ghc-kan-extensions" ,ghc-kan-extensions)
6438 ("ghc-parallel" ,ghc-parallel)
6439 ("ghc-reflection" ,ghc-reflection)
6440 ("ghc-semigroupoids" ,ghc-semigroupoids)
6441 ("ghc-vector" ,ghc-vector)
6442 ("ghc-call-stack" ,ghc-call-stack)
6443 ("ghc-comonad" ,ghc-comonad)
6444 ("ghc-contravariant" ,ghc-contravariant)
6445 ("ghc-hashable" ,ghc-hashable)
6446 ("ghc-profunctors" ,ghc-profunctors)
6447 ("ghc-semigroups" ,ghc-semigroups)
6448 ("ghc-tagged" ,ghc-tagged)
6449 ("ghc-transformers-compat" ,ghc-transformers-compat)
6450 ("ghc-unordered-containers" ,ghc-unordered-containers)
6451 ("ghc-void" ,ghc-void)
6452 ("ghc-generic-deriving" ,ghc-generic-deriving)
6453 ("ghc-nats" ,ghc-nats)
6454 ("ghc-simple-reflect" ,ghc-simple-reflect)
6455 ("hlint" ,hlint)))
6456 (native-inputs
6457 `(("cabal-doctest" ,cabal-doctest)
6458 ("ghc-doctest" ,ghc-doctest)
6459 ("ghc-hunit" ,ghc-hunit)
6460 ("ghc-test-framework" ,ghc-test-framework)
6461 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6462 ("ghc-test-framework-th" ,ghc-test-framework-th)
6463 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6464 ("ghc-quickcheck" ,ghc-quickcheck)))
6465 (home-page "https://github.com/ekmett/lens/")
6466 (synopsis "Lenses, Folds and Traversals")
6467 (description "This library provides @code{Control.Lens}. The combinators
6468 in @code{Control.Lens} provide a highly generic toolbox for composing families
6469 of getters, folds, isomorphisms, traversals, setters and lenses and their
6470 indexed variants.")
6471 (license license:bsd-3)))
6472
6473 (define-public ghc-libffi
6474 (package
6475 (name "ghc-libffi")
6476 (version "0.1")
6477 (source
6478 (origin
6479 (method url-fetch)
6480 (uri (string-append "https://hackage.haskell.org/package/"
6481 "libffi/libffi-" version ".tar.gz"))
6482 (sha256
6483 (base32
6484 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6485 (build-system haskell-build-system)
6486 (native-inputs `(("pkg-config" ,pkg-config)))
6487 (inputs `(("libffi" ,libffi)))
6488 (home-page "https://hackage.haskell.org/package/libffi")
6489 (synopsis "Haskell binding to libffi")
6490 (description
6491 "A binding to libffi, allowing C functions of types only known at runtime
6492 to be called from Haskell.")
6493 (license license:bsd-3)))
6494
6495 (define-public ghc-libmpd
6496 (package
6497 (name "ghc-libmpd")
6498 (version "0.9.0.10")
6499 (source
6500 (origin
6501 (method url-fetch)
6502 (uri (string-append
6503 "mirror://hackage/package/libmpd/libmpd-"
6504 version
6505 ".tar.gz"))
6506 (sha256
6507 (base32
6508 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
6509 (build-system haskell-build-system)
6510 ;; Tests fail on i686.
6511 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6512 (arguments `(#:tests? #f))
6513 (inputs
6514 `(("ghc-attoparsec" ,ghc-attoparsec)
6515 ("ghc-old-locale" ,ghc-old-locale)
6516 ("ghc-data-default-class" ,ghc-data-default-class)
6517 ("ghc-network" ,ghc-network)
6518 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
6519 ("ghc-utf8-string" ,ghc-utf8-string)))
6520 (native-inputs
6521 `(("ghc-quickcheck" ,ghc-quickcheck)
6522 ("ghc-hspec" ,ghc-hspec)
6523 ("hspec-discover" ,hspec-discover)))
6524 (home-page "https://github.com/vimus/libmpd-haskell")
6525 (synopsis "Haskell client library for the Music Player Daemon")
6526 (description "This package provides a pure Haskell client library for the
6527 Music Player Daemon.")
6528 (license license:expat)))
6529
6530 (define-public ghc-lib-parser
6531 (package
6532 (name "ghc-lib-parser")
6533 (version "8.8.0.20190424")
6534 (source
6535 (origin
6536 (method url-fetch)
6537 (uri (string-append "https://hackage.haskell.org/package/"
6538 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6539 (sha256
6540 (base32
6541 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6542 (build-system haskell-build-system)
6543 (native-inputs
6544 `(("ghc-alex" ,ghc-alex)
6545 ("ghc-happy" ,ghc-happy)))
6546 (home-page "https://github.com/digital-asset/ghc-lib")
6547 (synopsis "The GHC API, decoupled from GHC versions")
6548 (description "This library implements the GHC API. It is like the
6549 compiler-provided @code{ghc} package, but it can be loaded on many
6550 compiler versions.")
6551 (license license:bsd-3)))
6552
6553 (define-public ghc-libxml
6554 (package
6555 (name "ghc-libxml")
6556 (version "0.1.1")
6557 (source
6558 (origin
6559 (method url-fetch)
6560 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6561 "libxml-" version ".tar.gz"))
6562 (sha256
6563 (base32
6564 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6565 (build-system haskell-build-system)
6566 (inputs
6567 `(("libxml2" ,libxml2)))
6568 (arguments
6569 `(#:configure-flags
6570 `(,(string-append "--extra-include-dirs="
6571 (assoc-ref %build-inputs "libxml2")
6572 "/include/libxml2"))))
6573 (home-page "https://hackage.haskell.org/package/libxml")
6574 (synopsis "Haskell bindings to libxml2")
6575 (description
6576 "This library provides minimal Haskell binding to libxml2.")
6577 (license license:bsd-3)))
6578
6579 (define-public ghc-libyaml
6580 (package
6581 (name "ghc-libyaml")
6582 (version "0.1.1.0")
6583 (source
6584 (origin
6585 (method url-fetch)
6586 (uri (string-append "https://hackage.haskell.org/package/"
6587 "libyaml/libyaml-" version ".tar.gz"))
6588 (sha256
6589 (base32
6590 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6591 (modules '((guix build utils)))
6592 (snippet
6593 ;; Delete bundled LibYAML.
6594 '(begin
6595 (delete-file-recursively "libyaml_src")
6596 #t))))
6597 (build-system haskell-build-system)
6598 (arguments
6599 `(#:configure-flags `("--flags=system-libyaml")))
6600 (inputs
6601 `(("ghc-conduit" ,ghc-conduit)
6602 ("ghc-resourcet" ,ghc-resourcet)
6603 ("libyaml" ,libyaml-2.1)))
6604 (home-page "https://github.com/snoyberg/yaml#readme")
6605 (synopsis "Low-level, streaming YAML interface.")
6606 (description "This package provides a Haskell wrapper over the
6607 LibYAML C library.")
6608 (license license:bsd-3)))
6609
6610 (define-public ghc-lifted-async
6611 (package
6612 (name "ghc-lifted-async")
6613 (version "0.10.0.4")
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append
6618 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6619 version ".tar.gz"))
6620 (sha256
6621 (base32
6622 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
6623 (build-system haskell-build-system)
6624 (inputs
6625 `(("ghc-async" ,ghc-async)
6626 ("ghc-lifted-base" ,ghc-lifted-base)
6627 ("ghc-transformers-base" ,ghc-transformers-base)
6628 ("ghc-monad-control" ,ghc-monad-control)
6629 ("ghc-constraints" ,ghc-constraints)
6630 ("ghc-hunit" ,ghc-hunit)
6631 ("ghc-tasty" ,ghc-tasty)
6632 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6633 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6634 ("ghc-tasty-th" ,ghc-tasty-th)))
6635 (home-page "https://github.com/maoe/lifted-async")
6636 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6637 (description
6638 "This package provides IO operations from @code{async} package lifted to any
6639 instance of @code{MonadBase} or @code{MonadBaseControl}.")
6640 (license license:bsd-3)))
6641
6642 (define-public ghc-lifted-base
6643 (package
6644 (name "ghc-lifted-base")
6645 (version "0.2.3.12")
6646 (source
6647 (origin
6648 (method url-fetch)
6649 (uri (string-append
6650 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6651 version
6652 ".tar.gz"))
6653 (sha256
6654 (base32
6655 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6656 (build-system haskell-build-system)
6657 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6658 (inputs
6659 `(("ghc-transformers-base" ,ghc-transformers-base)
6660 ("ghc-monad-control" ,ghc-monad-control)
6661 ("ghc-transformers-compat" ,ghc-transformers-compat)
6662 ("ghc-hunit" ,ghc-hunit)))
6663 (home-page "https://github.com/basvandijk/lifted-base")
6664 (synopsis "Lifted IO operations from the base library")
6665 (description "Lifted-base exports IO operations from the @code{base}
6666 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6667 Note that not all modules from @code{base} are converted yet. The package
6668 includes a copy of the @code{monad-peel} test suite written by Anders
6669 Kaseorg.")
6670 (license license:bsd-3)))
6671
6672 (define-public ghc-linear
6673 (package
6674 (name "ghc-linear")
6675 (version "1.20.9")
6676 (source
6677 (origin
6678 (method url-fetch)
6679 (uri (string-append "https://hackage.haskell.org/package/linear/"
6680 "linear-" version ".tar.gz"))
6681 (sha256
6682 (base32
6683 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
6684 (build-system haskell-build-system)
6685 (inputs
6686 `(("ghc-adjunctions" ,ghc-adjunctions)
6687 ("ghc-base-orphans" ,ghc-base-orphans)
6688 ("ghc-bytes" ,ghc-bytes)
6689 ("ghc-cereal" ,ghc-cereal)
6690 ("ghc-distributive" ,ghc-distributive)
6691 ("ghc-hashable" ,ghc-hashable)
6692 ("ghc-lens" ,ghc-lens)
6693 ("ghc-reflection" ,ghc-reflection)
6694 ("ghc-semigroups" ,ghc-semigroups)
6695 ("ghc-semigroupoids" ,ghc-semigroupoids)
6696 ("ghc-tagged" ,ghc-tagged)
6697 ("ghc-transformers-compat" ,ghc-transformers-compat)
6698 ("ghc-unordered-containers" ,ghc-unordered-containers)
6699 ("ghc-vector" ,ghc-vector)
6700 ("ghc-void" ,ghc-void)))
6701 (native-inputs
6702 `(("cabal-doctest" ,cabal-doctest)
6703 ("ghc-doctest" ,ghc-doctest)
6704 ("ghc-simple-reflect" ,ghc-simple-reflect)
6705 ("ghc-test-framework" ,ghc-test-framework)
6706 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6707 ("ghc-hunit" ,ghc-hunit)))
6708 (home-page "http://github.com/ekmett/linear/")
6709 (synopsis "Linear algebra library for Haskell")
6710 (description
6711 "This package provides types and combinators for linear algebra on free
6712 vector spaces.")
6713 (license license:bsd-3)))
6714
6715 (define-public ghc-listlike
6716 (package
6717 (name "ghc-listlike")
6718 (version "4.6.2")
6719 (source
6720 (origin
6721 (method url-fetch)
6722 (uri
6723 (string-append
6724 "https://hackage.haskell.org/package/ListLike/ListLike-"
6725 version ".tar.gz"))
6726 (sha256
6727 (base32
6728 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6729 (build-system haskell-build-system)
6730 (inputs
6731 `(("ghc-vector" ,ghc-vector)
6732 ("ghc-dlist" ,ghc-dlist)
6733 ("ghc-fmlist" ,ghc-fmlist)
6734 ("ghc-hunit" ,ghc-hunit)
6735 ("ghc-quickcheck" ,ghc-quickcheck)
6736 ("ghc-random" ,ghc-random)
6737 ("ghc-utf8-string" ,ghc-utf8-string)))
6738 (home-page "https://github.com/JohnLato/listlike")
6739 (synopsis "Generic support for list-like structures")
6740 (description "The ListLike module provides a common interface to the
6741 various Haskell types that are list-like. Predefined interfaces include
6742 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6743 Custom types can easily be made ListLike instances as well.
6744
6745 ListLike also provides for String-like types, such as String and
6746 ByteString, for types that support input and output, and for types that
6747 can handle infinite lists.")
6748 (license license:bsd-3)))
6749
6750 (define-public ghc-llvm-hs-pure
6751 (package
6752 (name "ghc-llvm-hs-pure")
6753 (version "9.0.0")
6754 (source
6755 (origin
6756 (method url-fetch)
6757 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6758 "llvm-hs-pure-" version ".tar.gz"))
6759 (sha256
6760 (base32
6761 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6762 (build-system haskell-build-system)
6763 (inputs
6764 `(("ghc-attoparsec" ,ghc-attoparsec)
6765 ("ghc-fail" ,ghc-fail)
6766 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6767 (native-inputs
6768 `(("ghc-tasty" ,ghc-tasty)
6769 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6770 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6771 (home-page "https://github.com/llvm-hs/llvm-hs/")
6772 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6773 (description "llvm-hs-pure is a set of pure Haskell types and functions
6774 for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6775 LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6776 llvm-hs-pure does not require LLVM to be available.")
6777 (license license:bsd-3)))
6778
6779 (define-public ghc-llvm-hs
6780 (package
6781 (name "ghc-llvm-hs")
6782 (version "9.0.1")
6783 (source
6784 (origin
6785 (method url-fetch)
6786 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6787 version ".tar.gz"))
6788 (sha256
6789 (base32
6790 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6791 (build-system haskell-build-system)
6792 (inputs
6793 `(("ghc-attoparsec" ,ghc-attoparsec)
6794 ("ghc-exceptions" ,ghc-exceptions)
6795 ("ghc-utf8-string" ,ghc-utf8-string)
6796 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6797 ("llvm" ,llvm-9)))
6798 (native-inputs
6799 `(("ghc-tasty" ,ghc-tasty)
6800 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6801 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6802 ("ghc-quickcheck" ,ghc-quickcheck)
6803 ("ghc-temporary" ,ghc-temporary)
6804 ("ghc-pretty-show" ,ghc-pretty-show)
6805 ("ghc-temporary" ,ghc-temporary)))
6806 (home-page "https://github.com/llvm-hs/llvm-hs/")
6807 (synopsis "General purpose LLVM bindings for Haskell")
6808 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6809 current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
6810 IR, and so offers two advantages: it handles almost all of the stateful
6811 complexities of using the LLVM API to build IR; and it supports moving IR not
6812 only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
6813 into Haskell.")
6814 (license license:bsd-3)))
6815
6816 (define-public ghc-logging-facade
6817 (package
6818 (name "ghc-logging-facade")
6819 (version "0.3.0")
6820 (source (origin
6821 (method url-fetch)
6822 (uri (string-append "https://hackage.haskell.org/package/"
6823 "logging-facade/logging-facade-"
6824 version ".tar.gz"))
6825 (sha256
6826 (base32
6827 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6828 (build-system haskell-build-system)
6829 (native-inputs
6830 `(("ghc-hspec" ,ghc-hspec)
6831 ("hspec-discover" ,hspec-discover)))
6832 (home-page "https://hackage.haskell.org/package/logging-facade")
6833 (synopsis "Simple logging abstraction that allows multiple back-ends")
6834 (description
6835 "This package provides a simple logging abstraction that allows multiple
6836 back-ends.")
6837 (license license:expat)))
6838
6839 (define-public ghc-logict
6840 (package
6841 (name "ghc-logict")
6842 (version "0.7.0.2")
6843 (source
6844 (origin
6845 (method url-fetch)
6846 (uri (string-append
6847 "https://hackage.haskell.org/package/logict/logict-"
6848 version
6849 ".tar.gz"))
6850 (sha256
6851 (base32
6852 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
6853 (build-system haskell-build-system)
6854 (native-inputs
6855 `(("ghc-tasty" ,ghc-tasty)
6856 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6857 (home-page "http://code.haskell.org/~dolio/")
6858 (synopsis "Backtracking logic-programming monad")
6859 (description "This library provides a continuation-based, backtracking,
6860 logic programming monad. An adaptation of the two-continuation implementation
6861 found in the paper \"Backtracking, Interleaving, and Terminating Monad
6862 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6863 online}.")
6864 (license license:bsd-3)))
6865
6866 (define-public ghc-lzma
6867 (package
6868 (name "ghc-lzma")
6869 (version "0.0.0.3")
6870 (source
6871 (origin
6872 (method url-fetch)
6873 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6874 "lzma-" version ".tar.gz"))
6875 (sha256
6876 (base32
6877 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6878 (build-system haskell-build-system)
6879 (arguments
6880 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6881 #:cabal-revision
6882 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6883 (native-inputs
6884 `(("ghc-hunit" ,ghc-hunit)
6885 ("ghc-quickcheck" ,ghc-quickcheck)
6886 ("ghc-tasty" ,ghc-tasty)
6887 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6888 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6889 (home-page "https://github.com/hvr/lzma")
6890 (synopsis "LZMA/XZ compression and decompression")
6891 (description
6892 "This package provides a pure interface for compressing and
6893 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6894 monadic incremental interface is provided as well.")
6895 (license license:bsd-3)))
6896
6897 (define-public ghc-lzma-conduit
6898 (package
6899 (name "ghc-lzma-conduit")
6900 (version "1.2.1")
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6905 "lzma-conduit-" version ".tar.gz"))
6906 (sha256
6907 (base32
6908 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6909 (build-system haskell-build-system)
6910 (inputs
6911 `(("ghc-conduit" ,ghc-conduit)
6912 ("ghc-lzma" ,ghc-lzma)
6913 ("ghc-resourcet" ,ghc-resourcet)))
6914 (native-inputs
6915 `(("ghc-base-compat" ,ghc-base-compat)
6916 ("ghc-test-framework" ,ghc-test-framework)
6917 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6918 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6919 ("ghc-hunit" ,ghc-hunit)
6920 ("ghc-quickcheck" ,ghc-quickcheck)))
6921 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6922 (synopsis "Conduit interface for lzma/xz compression")
6923 (description
6924 "This package provides a @code{Conduit} interface for the LZMA
6925 compression algorithm used in the @code{.xz} file format.")
6926 (license license:bsd-3)))
6927
6928 (define-public ghc-magic
6929 (package
6930 (name "ghc-magic")
6931 (version "1.1")
6932 (source
6933 (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://hackage.haskell.org/package/magic/magic-"
6937 version ".tar.gz"))
6938 (sha256
6939 (base32
6940 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6941 (build-system haskell-build-system)
6942 (home-page "https://hackage.haskell.org/package/magic")
6943 (synopsis "Interface to C file/magic library")
6944 (description
6945 "This package provides a full-featured binding to the C libmagic library.
6946 With it, you can determine the type of a file by examining its contents rather
6947 than its name.")
6948 (license license:bsd-3)))
6949
6950 (define-public ghc-markdown-unlit
6951 (package
6952 (name "ghc-markdown-unlit")
6953 (version "0.5.0")
6954 (source (origin
6955 (method url-fetch)
6956 (uri (string-append
6957 "mirror://hackage/package/markdown-unlit/"
6958 "markdown-unlit-" version ".tar.gz"))
6959 (sha256
6960 (base32
6961 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6962 (build-system haskell-build-system)
6963 (inputs
6964 `(("ghc-base-compat" ,ghc-base-compat)
6965 ("ghc-hspec" ,ghc-hspec)
6966 ("ghc-quickcheck" ,ghc-quickcheck)
6967 ("ghc-silently" ,ghc-silently)
6968 ("ghc-stringbuilder" ,ghc-stringbuilder)
6969 ("ghc-temporary" ,ghc-temporary)
6970 ("hspec-discover" ,hspec-discover)))
6971 (home-page "https://github.com/sol/markdown-unlit#readme")
6972 (synopsis "Literate Haskell support for Markdown")
6973 (description "This package allows you to have a README.md that at the
6974 same time is a literate Haskell program.")
6975 (license license:expat)))
6976
6977 (define-public ghc-math-functions
6978 (package
6979 (name "ghc-math-functions")
6980 (version "0.3.3.0")
6981 (source
6982 (origin
6983 (method url-fetch)
6984 (uri (string-append "https://hackage.haskell.org/package/"
6985 "math-functions-" version "/"
6986 "math-functions-" version ".tar.gz"))
6987 (sha256
6988 (base32
6989 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
6990 (build-system haskell-build-system)
6991 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6992 (inputs
6993 `(("ghc-data-default-class" ,ghc-data-default-class)
6994 ("ghc-vector" ,ghc-vector)
6995 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6996 (native-inputs
6997 `(("ghc-hunit" ,ghc-hunit)
6998 ("ghc-quickcheck" ,ghc-quickcheck)
6999 ("ghc-erf" ,ghc-erf)
7000 ("ghc-test-framework" ,ghc-test-framework)
7001 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7002 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7003 (home-page "https://github.com/bos/math-functions")
7004 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7005 (description "This Haskell library provides implementations of
7006 special mathematical functions and Chebyshev polynomials. These
7007 functions are often useful in statistical and numerical computing.")
7008 (license license:bsd-3)))
7009
7010 (define-public ghc-megaparsec
7011 (package
7012 (name "ghc-megaparsec")
7013 (version "7.0.5")
7014 (source
7015 (origin
7016 (method url-fetch)
7017 (uri (string-append "https://hackage.haskell.org/package/"
7018 "megaparsec/megaparsec-"
7019 version ".tar.gz"))
7020 (sha256
7021 (base32
7022 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
7023 (build-system haskell-build-system)
7024 (inputs
7025 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7026 ("ghc-parser-combinators" ,ghc-parser-combinators)
7027 ("ghc-scientific" ,ghc-scientific)))
7028 (native-inputs
7029 `(("ghc-quickcheck" ,ghc-quickcheck)
7030 ("ghc-hspec" ,ghc-hspec)
7031 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7032 ("hspec-discover" ,hspec-discover)))
7033 (home-page "https://github.com/mrkkrp/megaparsec")
7034 (synopsis "Monadic parser combinators")
7035 (description
7036 "This is an industrial-strength monadic parser combinator library.
7037 Megaparsec is a feature-rich package that strikes a nice balance between
7038 speed, flexibility, and quality of parse errors.")
7039 (license license:bsd-2)))
7040
7041 (define-public ghc-memory
7042 (package
7043 (name "ghc-memory")
7044 (version "0.14.18")
7045 (source (origin
7046 (method url-fetch)
7047 (uri (string-append "https://hackage.haskell.org/package/"
7048 "memory/memory-" version ".tar.gz"))
7049 (sha256
7050 (base32
7051 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
7052 (build-system haskell-build-system)
7053 (inputs
7054 `(("ghc-basement" ,ghc-basement)
7055 ("ghc-foundation" ,ghc-foundation)))
7056 (native-inputs
7057 `(("ghc-tasty" ,ghc-tasty)
7058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7059 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7060 (home-page "https://github.com/vincenthz/hs-memory")
7061 (synopsis "Memory abstractions for Haskell")
7062 (description
7063 "This package provides memory abstractions, such as chunk of memory,
7064 polymorphic byte array management and manipulation functions. It contains a
7065 polymorphic byte array abstraction and functions similar to strict ByteString,
7066 different type of byte array abstraction, raw memory IO operations (memory
7067 set, memory copy, ..) and more")
7068 (license license:bsd-3)))
7069
7070 (define-public ghc-memotrie
7071 (package
7072 (name "ghc-memotrie")
7073 (version "0.6.9")
7074 (source
7075 (origin
7076 (method url-fetch)
7077 (uri (string-append
7078 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7079 version
7080 ".tar.gz"))
7081 (sha256
7082 (base32
7083 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7084 (build-system haskell-build-system)
7085 (inputs
7086 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7087 (home-page "https://github.com/conal/MemoTrie")
7088 (synopsis "Trie-based memo functions")
7089 (description "This package provides a functional library for creating
7090 efficient memo functions using tries.")
7091 (license license:bsd-3)))
7092
7093 (define-public ghc-microlens
7094 (package
7095 (name "ghc-microlens")
7096 (version "0.4.10")
7097 (source
7098 (origin
7099 (method url-fetch)
7100 (uri (string-append "https://hackage.haskell.org/package/"
7101 "microlens-" version "/"
7102 "microlens-" version ".tar.gz"))
7103 (sha256
7104 (base32
7105 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
7106 (build-system haskell-build-system)
7107 (home-page
7108 "https://github.com/aelve/microlens")
7109 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7110 (description "This Haskell package provides a lens library, just like
7111 @code{ghc-lens}, but smaller. It provides essential lenses and
7112 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7113 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7114 combinators (like @code{failing} and @code{singular}), but everything else is
7115 stripped. As the result, this package has no dependencies.")
7116 (license license:bsd-3)))
7117
7118 (define-public ghc-microlens-aeson
7119 (package
7120 (name "ghc-microlens-aeson")
7121 (version "2.3.0.4")
7122 (source
7123 (origin
7124 (method url-fetch)
7125 (uri (string-append "https://hackage.haskell.org/package/"
7126 "microlens-aeson/microlens-aeson-"
7127 version ".tar.gz"))
7128 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
7129 (sha256
7130 (base32
7131 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7132 (build-system haskell-build-system)
7133 (inputs
7134 `(("ghc-aeson" ,ghc-aeson)
7135 ("ghc-attoparsec" ,ghc-attoparsec)
7136 ("ghc-hashable" ,ghc-hashable)
7137 ("ghc-microlens" ,ghc-microlens)
7138 ("ghc-scientific" ,ghc-scientific)
7139 ("ghc-unordered-containers" ,ghc-unordered-containers)
7140 ("ghc-vector" ,ghc-vector)))
7141 (native-inputs
7142 `(("ghc-tasty" ,ghc-tasty)
7143 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7144 (home-page "https://github.com/fosskers/microlens-aeson")
7145 (synopsis "Law-abiding lenses for Aeson, using microlens")
7146 (description "This library provides law-abiding lenses for Aeson, using
7147 microlens.")
7148 (license license:expat)))
7149
7150 (define-public ghc-microlens-ghc
7151 (package
7152 (name "ghc-microlens-ghc")
7153 (version "0.4.10")
7154 (source
7155 (origin
7156 (method url-fetch)
7157 (uri (string-append
7158 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7159 version
7160 ".tar.gz"))
7161 (sha256
7162 (base32
7163 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
7164 (build-system haskell-build-system)
7165 (inputs `(("ghc-microlens" ,ghc-microlens)))
7166 (home-page "https://github.com/monadfix/microlens")
7167 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7168 (description "This library provides everything that @code{microlens}
7169 provides plus instances to make @code{each}, @code{at}, and @code{ix}
7170 usable with arrays, @code{ByteString}, and containers. This package is
7171 a part of the @uref{http://hackage.haskell.org/package/microlens,
7172 microlens} family; see the readme
7173 @uref{https://github.com/aelve/microlens#readme, on Github}.")
7174 (license license:bsd-3)))
7175
7176 (define-public ghc-microlens-mtl
7177 (package
7178 (name "ghc-microlens-mtl")
7179 (version "0.1.11.1")
7180 (source
7181 (origin
7182 (method url-fetch)
7183 (uri (string-append
7184 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7185 version
7186 ".tar.gz"))
7187 (sha256
7188 (base32
7189 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7190 (build-system haskell-build-system)
7191 (inputs
7192 `(("ghc-microlens" ,ghc-microlens)
7193 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7194 (home-page "https://github.com/monadfix/microlens")
7195 (synopsis
7196 "@code{microlens} support for Reader/Writer/State from mtl")
7197 (description
7198 "This package contains functions (like @code{view} or @code{+=}) which
7199 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7200 mtl package. This package is a part of the
7201 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7202 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7203 (license license:bsd-3)))
7204
7205 (define-public ghc-microlens-platform
7206 (package
7207 (name "ghc-microlens-platform")
7208 (version "0.3.11")
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://hackage.haskell.org/package/"
7214 "microlens-platform/microlens-platform-" version ".tar.gz"))
7215 (sha256
7216 (base32
7217 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
7218 (build-system haskell-build-system)
7219 (inputs
7220 `(("ghc-hashable" ,ghc-hashable)
7221 ("ghc-microlens" ,ghc-microlens)
7222 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7223 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7224 ("ghc-microlens-th" ,ghc-microlens-th)
7225 ("ghc-unordered-containers" ,ghc-unordered-containers)
7226 ("ghc-vector" ,ghc-vector)))
7227 (home-page "https://github.com/monadfix/microlens")
7228 (synopsis "Feature-complete microlens")
7229 (description
7230 "This package exports a module which is the recommended starting point
7231 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7232 you aren't trying to keep your dependencies minimal. By importing
7233 @code{Lens.Micro.Platform} you get all functions and instances from
7234 @uref{http://hackage.haskell.org/package/microlens, microlens},
7235 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7236 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7237 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7238 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7239 minor and major versions of @code{microlens-platform} are incremented whenever
7240 the minor and major versions of any other @code{microlens} package are
7241 incremented, so you can depend on the exact version of
7242 @code{microlens-platform} without specifying the version of @code{microlens}
7243 you need. This package is a part of the
7244 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7245 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7246 (license license:bsd-3)))
7247
7248 (define-public ghc-microlens-th
7249 (package
7250 (name "ghc-microlens-th")
7251 (version "0.4.2.3")
7252 (source
7253 (origin
7254 (method url-fetch)
7255 (uri (string-append "https://hackage.haskell.org/package/"
7256 "microlens-th-" version "/"
7257 "microlens-th-" version ".tar.gz"))
7258 (sha256
7259 (base32
7260 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
7261 (build-system haskell-build-system)
7262 (arguments
7263 `(#:cabal-revision
7264 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
7265 (inputs `(("ghc-microlens" ,ghc-microlens)
7266 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7267 (home-page
7268 "https://github.com/aelve/microlens")
7269 (synopsis "Automatic generation of record lenses for
7270 @code{ghc-microlens}")
7271 (description "This Haskell package lets you automatically generate lenses
7272 for data types; code was extracted from the lens package, and therefore
7273 generated lenses are fully compatible with ones generated by lens (and can be
7274 used both from lens and microlens).")
7275 (license license:bsd-3)))
7276
7277 (define-public ghc-missingh
7278 (package
7279 (name "ghc-missingh")
7280 (version "1.4.1.0")
7281 (source
7282 (origin
7283 (method url-fetch)
7284 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7285 "MissingH-" version ".tar.gz"))
7286 (sha256
7287 (base32
7288 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
7289 (build-system haskell-build-system)
7290 ;; Tests require the unmaintained testpack package, which depends on the
7291 ;; outdated QuickCheck version 2.7, which can no longer be built with
7292 ;; recent versions of GHC and Haskell libraries.
7293 (arguments '(#:tests? #f))
7294 (inputs
7295 `(("ghc-network" ,ghc-network)
7296 ("ghc-hunit" ,ghc-hunit)
7297 ("ghc-regex-compat" ,ghc-regex-compat)
7298 ("ghc-hslogger" ,ghc-hslogger)
7299 ("ghc-random" ,ghc-random)
7300 ("ghc-old-time" ,ghc-old-time)
7301 ("ghc-old-locale" ,ghc-old-locale)))
7302 (native-inputs
7303 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7304 ("ghc-quickcheck" ,ghc-quickcheck)
7305 ("ghc-hunit" ,ghc-hunit)))
7306 (home-page "https://software.complete.org/missingh")
7307 (synopsis "Large utility library")
7308 (description
7309 "MissingH is a library of all sorts of utility functions for Haskell
7310 programmers. It is written in pure Haskell and thus should be extremely
7311 portable and easy to use.")
7312 (license license:bsd-3)))
7313
7314 (define-public ghc-mmap
7315 (package
7316 (name "ghc-mmap")
7317 (version "0.5.9")
7318 (source (origin
7319 (method url-fetch)
7320 (uri (string-append "https://hackage.haskell.org/package/"
7321 "mmap/mmap-" version ".tar.gz"))
7322 (sha256
7323 (base32
7324 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7325 (build-system haskell-build-system)
7326 (home-page "https://hackage.haskell.org/package/mmap")
7327 (synopsis "Memory mapped files for Haskell")
7328 (description
7329 "This library provides a wrapper to @code{mmap}, allowing files or
7330 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7331 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7332 do on-demand loading.")
7333 (license license:bsd-3)))
7334
7335 (define-public ghc-mmorph
7336 (package
7337 (name "ghc-mmorph")
7338 (version "1.1.3")
7339 (source
7340 (origin
7341 (method url-fetch)
7342 (uri (string-append
7343 "https://hackage.haskell.org/package/mmorph/mmorph-"
7344 version
7345 ".tar.gz"))
7346 (sha256
7347 (base32
7348 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
7349 (build-system haskell-build-system)
7350 (inputs
7351 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7352 (home-page "https://hackage.haskell.org/package/mmorph")
7353 (synopsis "Monad morphisms")
7354 (description
7355 "This library provides monad morphism utilities, most commonly used for
7356 manipulating monad transformer stacks.")
7357 (license license:bsd-3)))
7358
7359 (define-public ghc-mockery
7360 (package
7361 (name "ghc-mockery")
7362 (version "0.3.5")
7363 (source (origin
7364 (method url-fetch)
7365 (uri (string-append "https://hackage.haskell.org/package/"
7366 "mockery/mockery-" version ".tar.gz"))
7367 (sha256
7368 (base32
7369 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7370 (build-system haskell-build-system)
7371 (inputs
7372 `(("ghc-temporary" ,ghc-temporary)
7373 ("ghc-logging-facade" ,ghc-logging-facade)
7374 ("ghc-base-compat" ,ghc-base-compat)))
7375 (native-inputs
7376 `(("ghc-hspec" ,ghc-hspec)
7377 ("hspec-discover" ,hspec-discover)))
7378 (home-page "https://hackage.haskell.org/package/mockery")
7379 (synopsis "Support functions for automated testing")
7380 (description
7381 "The mockery package provides support functions for automated testing.")
7382 (license license:expat)))
7383
7384 (define-public ghc-monad-control
7385 (package
7386 (name "ghc-monad-control")
7387 (version "1.0.2.3")
7388 (source
7389 (origin
7390 (method url-fetch)
7391 (uri (string-append
7392 "https://hackage.haskell.org/package/monad-control"
7393 "/monad-control-" version ".tar.gz"))
7394 (sha256
7395 (base32
7396 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7397 (build-system haskell-build-system)
7398 (inputs
7399 `(("ghc-transformers-base" ,ghc-transformers-base)
7400 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7401 (home-page "https://github.com/basvandijk/monad-control")
7402 (synopsis "Monad transformers to lift control operations like exception
7403 catching")
7404 (description "This package defines the type class @code{MonadBaseControl},
7405 a subset of @code{MonadBase} into which generic control operations such as
7406 @code{catch} can be lifted from @code{IO} or any other base monad.")
7407 (license license:bsd-3)))
7408
7409 (define-public ghc-monad-logger
7410 (package
7411 (name "ghc-monad-logger")
7412 (version "0.3.30")
7413 (source
7414 (origin
7415 (method url-fetch)
7416 (uri (string-append "https://hackage.haskell.org/package/"
7417 "monad-logger-" version "/"
7418 "monad-logger-" version ".tar.gz"))
7419 (sha256
7420 (base32
7421 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
7422 (build-system haskell-build-system)
7423 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7424 ("ghc-stm-chans" ,ghc-stm-chans)
7425 ("ghc-lifted-base" ,ghc-lifted-base)
7426 ("ghc-resourcet" ,ghc-resourcet)
7427 ("ghc-conduit" ,ghc-conduit)
7428 ("ghc-conduit-extra" ,ghc-conduit-extra)
7429 ("ghc-fast-logger" ,ghc-fast-logger)
7430 ("ghc-transformers-base" ,ghc-transformers-base)
7431 ("ghc-monad-control" ,ghc-monad-control)
7432 ("ghc-monad-loops" ,ghc-monad-loops)
7433 ("ghc-blaze-builder" ,ghc-blaze-builder)
7434 ("ghc-exceptions" ,ghc-exceptions)))
7435 (home-page "https://github.com/kazu-yamamoto/logger")
7436 (synopsis "Provides a class of monads which can log messages for Haskell")
7437 (description "This Haskell package uses a monad transformer approach
7438 for logging.
7439
7440 This package provides Template Haskell functions for determining source
7441 code locations of messages.")
7442 (license license:expat)))
7443
7444 (define-public ghc-monad-loops
7445 (package
7446 (name "ghc-monad-loops")
7447 (version "0.4.3")
7448 (source
7449 (origin
7450 (method url-fetch)
7451 (uri (string-append "https://hackage.haskell.org/package/"
7452 "monad-loops-" version "/"
7453 "monad-loops-" version ".tar.gz"))
7454 (sha256
7455 (base32
7456 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7457 (build-system haskell-build-system)
7458 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7459 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7460 (home-page "https://github.com/mokus0/monad-loops")
7461 (synopsis "Monadic loops for Haskell")
7462 (description "This Haskell package provides some useful control
7463 operators for looping.")
7464 (license license:public-domain)))
7465
7466 (define-public ghc-monad-par
7467 (package
7468 (name "ghc-monad-par")
7469 (version "0.3.4.8")
7470 (source
7471 (origin
7472 (method url-fetch)
7473 (uri (string-append "https://hackage.haskell.org/package/"
7474 "monad-par-" version "/"
7475 "monad-par-" version ".tar.gz"))
7476 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
7477 (sha256
7478 (base32
7479 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7480 (build-system haskell-build-system)
7481 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7482 ("ghc-abstract-deque" ,ghc-abstract-deque)
7483 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7484 ("ghc-mwc-random" ,ghc-mwc-random)
7485 ("ghc-parallel" ,ghc-parallel)))
7486 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7487 ("ghc-hunit" ,ghc-hunit)
7488 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7489 ("ghc-test-framework-quickcheck2"
7490 ,ghc-test-framework-quickcheck2)
7491 ("ghc-test-framework" ,ghc-test-framework)
7492 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7493 (home-page "https://github.com/simonmar/monad-par")
7494 (synopsis "Haskell library for parallel programming based on a monad")
7495 (description "The @code{Par} monad offers an API for parallel
7496 programming. The library works for parallelising both pure and @code{IO}
7497 computations, although only the pure version is deterministic. The default
7498 implementation provides a work-stealing scheduler and supports forking tasks
7499 that are much lighter weight than IO-threads.")
7500 (license license:bsd-3)))
7501
7502 (define-public ghc-monad-par-extras
7503 (package
7504 (name "ghc-monad-par-extras")
7505 (version "0.3.3")
7506 (source
7507 (origin
7508 (method url-fetch)
7509 (uri (string-append "https://hackage.haskell.org/package/"
7510 "monad-par-extras-" version "/"
7511 "monad-par-extras-" version ".tar.gz"))
7512 (sha256
7513 (base32
7514 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7515 (build-system haskell-build-system)
7516 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7517 ("ghc-cereal" ,ghc-cereal)
7518 ("ghc-random" ,ghc-random)))
7519 (home-page "https://github.com/simonmar/monad-par")
7520 (synopsis "Combinators and extra features for Par monads for Haskell")
7521 (description "This Haskell package provides additional data structures,
7522 and other added capabilities layered on top of the @code{Par} monad.")
7523 (license license:bsd-3)))
7524
7525 (define-public ghc-monadrandom
7526 (package
7527 (name "ghc-monadrandom")
7528 (version "0.5.1.1")
7529 (source
7530 (origin
7531 (method url-fetch)
7532 (uri (string-append "https://hackage.haskell.org/package/"
7533 "MonadRandom-" version "/"
7534 "MonadRandom-" version ".tar.gz"))
7535 (sha256
7536 (base32
7537 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7538 (build-system haskell-build-system)
7539 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7540 ("ghc-primitive" ,ghc-primitive)
7541 ("ghc-fail" ,ghc-fail)
7542 ("ghc-random" ,ghc-random)))
7543 (home-page "https://github.com/byorgey/MonadRandom")
7544 (synopsis "Random-number generation monad for Haskell")
7545 (description "This Haskell package provides support for computations
7546 which consume random values.")
7547 (license license:bsd-3)))
7548
7549 (define-public ghc-monads-tf
7550 (package
7551 (name "ghc-monads-tf")
7552 (version "0.1.0.3")
7553 (source
7554 (origin
7555 (method url-fetch)
7556 (uri (string-append
7557 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7558 version ".tar.gz"))
7559 (sha256
7560 (base32
7561 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7562 (build-system haskell-build-system)
7563 (home-page "https://hackage.haskell.org/package/monads-tf")
7564 (synopsis "Monad classes, using type families")
7565 (description
7566 "Monad classes using type families, with instances for various monad transformers,
7567 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7568 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7569 the @code{mtl-tf} package.")
7570 (license license:bsd-3)))
7571
7572 (define-public ghc-mono-traversable
7573 (package
7574 (name "ghc-mono-traversable")
7575 (version "1.0.13.0")
7576 (source
7577 (origin
7578 (method url-fetch)
7579 (uri (string-append "https://hackage.haskell.org/package/"
7580 "mono-traversable-" version "/"
7581 "mono-traversable-" version ".tar.gz"))
7582 (sha256
7583 (base32
7584 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
7585 (build-system haskell-build-system)
7586 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7587 ("ghc-hashable" ,ghc-hashable)
7588 ("ghc-vector" ,ghc-vector)
7589 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7590 ("ghc-split" ,ghc-split)))
7591 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7592 ("ghc-hunit" ,ghc-hunit)
7593 ("ghc-quickcheck" ,ghc-quickcheck)
7594 ("ghc-semigroups" ,ghc-semigroups)
7595 ("ghc-foldl" ,ghc-foldl)))
7596 (home-page "https://github.com/snoyberg/mono-traversable")
7597 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7598 containers")
7599 (description "This Haskell package provides Monomorphic variants of the
7600 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7601 basic typeclasses, you understand mono-traversable. In addition to what
7602 you are used to, it adds on an IsSequence typeclass and has code for marking
7603 data structures as non-empty.")
7604 (license license:expat)))
7605
7606 (define-public ghc-monoid-extras
7607 (package
7608 (name "ghc-monoid-extras")
7609 (version "0.5.1")
7610 (source
7611 (origin
7612 (method url-fetch)
7613 (uri (string-append "https://hackage.haskell.org/package/"
7614 "monoid-extras/monoid-extras-" version ".tar.gz"))
7615 (sha256
7616 (base32
7617 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7618 (build-system haskell-build-system)
7619 (inputs
7620 `(("ghc-groups" ,ghc-groups)
7621 ("ghc-semigroups" ,ghc-semigroups)
7622 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7623 (arguments
7624 `(#:cabal-revision
7625 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7626 (home-page "https://hackage.haskell.org/package/monoid-extras")
7627 (synopsis "Various extra monoid-related definitions and utilities")
7628 (description "This package provides various extra monoid-related
7629 definitions and utilities, such as monoid actions, monoid coproducts,
7630 semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7631 \"cut\" monoids.")
7632 (license license:bsd-3)))
7633
7634 (define-public ghc-murmur-hash
7635 (package
7636 (name "ghc-murmur-hash")
7637 (version "0.1.0.9")
7638 (source
7639 (origin
7640 (method url-fetch)
7641 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7642 "/murmur-hash-" version ".tar.gz"))
7643 (sha256
7644 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7645 (build-system haskell-build-system)
7646 (home-page "https://github.com/nominolo/murmur-hash")
7647 (synopsis "MurmurHash2 implementation for Haskell")
7648 (description
7649 "This package provides an implementation of MurmurHash2, a good, fast,
7650 general-purpose, non-cryptographic hashing function. See
7651 @url{https://sites.google.com/site/murmurhash/} for details. This
7652 implementation is pure Haskell, so it might be a bit slower than a C FFI
7653 binding.")
7654 (license license:bsd-3)))
7655
7656 (define-public ghc-mwc-random
7657 (package
7658 (name "ghc-mwc-random")
7659 (version "0.14.0.0")
7660 (source
7661 (origin
7662 (method url-fetch)
7663 (uri (string-append "https://hackage.haskell.org/package/"
7664 "mwc-random-" version "/"
7665 "mwc-random-" version ".tar.gz"))
7666 (sha256
7667 (base32
7668 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
7669 (build-system haskell-build-system)
7670 (inputs
7671 `(("ghc-primitive" ,ghc-primitive)
7672 ("ghc-vector" ,ghc-vector)
7673 ("ghc-math-functions" ,ghc-math-functions)))
7674 (arguments
7675 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7676 (native-inputs
7677 `(("ghc-hunit" ,ghc-hunit)
7678 ("ghc-quickcheck" ,ghc-quickcheck)
7679 ("ghc-test-framework" ,ghc-test-framework)
7680 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7681 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7682 (home-page "https://github.com/bos/mwc-random")
7683 (synopsis "Random number generation library for Haskell")
7684 (description "This Haskell package contains code for generating
7685 high quality random numbers that follow either a uniform or normal
7686 distribution. The generated numbers are suitable for use in
7687 statistical applications.
7688
7689 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7690 multiply-with-carry generator, which has a period of 2^{8222} and
7691 fares well in tests of randomness. It is also extremely fast,
7692 between 2 and 3 times faster than the Mersenne Twister.")
7693 (license license:bsd-3)))
7694
7695 (define-public ghc-nats
7696 (package
7697 (name "ghc-nats")
7698 (version "1.1.2")
7699 (source
7700 (origin
7701 (method url-fetch)
7702 (uri (string-append
7703 "https://hackage.haskell.org/package/nats/nats-"
7704 version
7705 ".tar.gz"))
7706 (sha256
7707 (base32
7708 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7709 (build-system haskell-build-system)
7710 (arguments `(#:haddock? #f))
7711 (inputs
7712 `(("ghc-hashable" ,ghc-hashable)))
7713 (home-page "https://hackage.haskell.org/package/nats")
7714 (synopsis "Natural numbers")
7715 (description "This library provides the natural numbers for Haskell.")
7716 (license license:bsd-3)))
7717
7718 (define-public ghc-nats-bootstrap
7719 (package
7720 (inherit ghc-nats)
7721 (name "ghc-nats-bootstrap")
7722 (inputs
7723 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7724 (properties '((hidden? #t)))))
7725
7726 (define-public ghc-ncurses
7727 (package
7728 (name "ghc-ncurses")
7729 (version "0.2.16")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append
7734 "https://hackage.haskell.org/package/ncurses/ncurses-"
7735 version ".tar.gz"))
7736 (sha256
7737 (base32
7738 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7739 (build-system haskell-build-system)
7740 (arguments
7741 '(#:phases
7742 (modify-phases %standard-phases
7743 (add-before 'build 'fix-includes
7744 (lambda _
7745 (substitute* '("cbits/hsncurses-shim.h"
7746 "lib/UI/NCurses.chs"
7747 "lib/UI/NCurses/Enums.chs"
7748 "lib/UI/NCurses/Panel.chs")
7749 (("<ncursesw/") "<"))
7750 #t)))
7751 #:cabal-revision
7752 ("1"
7753 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7754 (inputs `(("ncurses" ,ncurses)))
7755 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7756 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7757 (synopsis "Modernised bindings to GNU ncurses")
7758 (description "GNU ncurses is a library for creating command-line application
7759 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7760 ncurses.")
7761 (license license:gpl3)))
7762
7763 (define-public ghc-network
7764 (package
7765 (name "ghc-network")
7766 (version "2.8.0.1")
7767 (outputs '("out" "doc"))
7768 (source
7769 (origin
7770 (method url-fetch)
7771 (uri (string-append
7772 "https://hackage.haskell.org/package/network/network-"
7773 version
7774 ".tar.gz"))
7775 (sha256
7776 (base32
7777 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
7778 (build-system haskell-build-system)
7779 ;; The regression tests depend on an unpublished module.
7780 (arguments `(#:tests? #f))
7781 (native-inputs
7782 `(("ghc-hunit" ,ghc-hunit)
7783 ("ghc-doctest" ,ghc-doctest)
7784 ("ghc-test-framework" ,ghc-test-framework)
7785 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7786 (home-page "https://github.com/haskell/network")
7787 (synopsis "Low-level networking interface")
7788 (description
7789 "This package provides a low-level networking interface.")
7790 (license license:bsd-3)))
7791
7792 (define-public ghc-network-bsd
7793 (package
7794 (name "ghc-network-bsd")
7795 (version "2.8.0.0")
7796 (source
7797 (origin
7798 (method url-fetch)
7799 (uri (string-append "https://hackage.haskell.org/package/"
7800 "network-bsd/network-bsd-" version ".tar.gz"))
7801 (sha256
7802 (base32
7803 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7804 (build-system haskell-build-system)
7805 (inputs
7806 `(("ghc-network" ,ghc-network)))
7807 (home-page "https://github.com/haskell/network-bsd")
7808 (synopsis "POSIX network database (<netdb.h>) API")
7809 (description "This package provides Haskell bindings to the the POSIX
7810 network database (<netdb.h>) API.")
7811 (license license:bsd-3)))
7812
7813 (define-public ghc-network-byte-order
7814 (package
7815 (name "ghc-network-byte-order")
7816 (version "0.1.1.1")
7817 (source
7818 (origin
7819 (method url-fetch)
7820 (uri (string-append "https://hackage.haskell.org/package/"
7821 "network-byte-order/network-byte-order-"
7822 version ".tar.gz"))
7823 (sha256
7824 (base32
7825 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7826 (build-system haskell-build-system)
7827 (native-inputs
7828 `(("ghc-doctest" ,ghc-doctest)))
7829 (home-page "https://hackage.haskell.org/package/network-byte-order")
7830 (synopsis "Network byte order utilities")
7831 (description "This library provides peek and poke functions for network
7832 byte order.")
7833 (license license:bsd-3)))
7834
7835 (define-public ghc-network-info
7836 (package
7837 (name "ghc-network-info")
7838 (version "0.2.0.10")
7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append "https://hackage.haskell.org/package/"
7843 "network-info-" version "/"
7844 "network-info-" version ".tar.gz"))
7845 (sha256
7846 (base32
7847 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7848 (build-system haskell-build-system)
7849 (home-page "https://github.com/jystic/network-info")
7850 (synopsis "Access the local computer's basic network configuration")
7851 (description "This Haskell library provides simple read-only access to the
7852 local computer's networking configuration. It is currently capable of
7853 getting a list of all the network interfaces and their respective
7854 IPv4, IPv6 and MAC addresses.")
7855 (license license:bsd-3)))
7856
7857 (define-public ghc-network-uri
7858 (package
7859 (name "ghc-network-uri")
7860 (version "2.6.1.0")
7861 (outputs '("out" "doc"))
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append
7866 "https://hackage.haskell.org/package/network-uri/network-uri-"
7867 version
7868 ".tar.gz"))
7869 (sha256
7870 (base32
7871 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7872 (build-system haskell-build-system)
7873 (arguments
7874 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7875 (inputs
7876 `(("ghc-network" ,ghc-network)))
7877 (native-inputs
7878 `(("ghc-hunit" ,ghc-hunit)))
7879 (home-page
7880 "https://github.com/haskell/network-uri")
7881 (synopsis "Library for URI manipulation")
7882 (description "This package provides an URI manipulation interface. In
7883 @code{network-2.6} the @code{Network.URI} module was split off from the
7884 @code{network} package into this package.")
7885 (license license:bsd-3)))
7886
7887 (define-public ghc-newtype-generics
7888 (package
7889 (name "ghc-newtype-generics")
7890 (version "0.5.4")
7891 (source
7892 (origin
7893 (method url-fetch)
7894 (uri (string-append "https://hackage.haskell.org/package/"
7895 "newtype-generics/newtype-generics-"
7896 version ".tar.gz"))
7897 (sha256
7898 (base32
7899 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
7900 (build-system haskell-build-system)
7901 (native-inputs
7902 `(("ghc-hspec" ,ghc-hspec)
7903 ("hspec-discover" ,hspec-discover)))
7904 (home-page "http://github.com/sjakobi/newtype-generics")
7905 (synopsis "Typeclass and set of functions for working with newtypes")
7906 (description "The @code{Newtype} typeclass represents the packing and
7907 unpacking of a newtype, and allows you to operate under that newtype with
7908 functions such as @code{ala}. Generics support was added in version 0.4,
7909 making this package a full replacement for the original newtype package,
7910 and an alternative to newtype-th.")
7911 (license license:bsd-3)))
7912
7913 (define-public ghc-non-negative
7914 (package
7915 (name "ghc-non-negative")
7916 (version "0.1.2")
7917 (source
7918 (origin
7919 (method url-fetch)
7920 (uri
7921 (string-append
7922 "https://hackage.haskell.org/package/non-negative/non-negative-"
7923 version ".tar.gz"))
7924 (sha256
7925 (base32
7926 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7927 (build-system haskell-build-system)
7928 (inputs
7929 `(("ghc-semigroups" ,ghc-semigroups)
7930 ("ghc-utility-ht" ,ghc-utility-ht)
7931 ("ghc-quickcheck" ,ghc-quickcheck)))
7932 (home-page "https://hackage.haskell.org/package/non-negative")
7933 (synopsis "Non-negative numbers class")
7934 (description "This library provides a class for non-negative numbers,
7935 a wrapper which can turn any ordered numeric type into a member of that
7936 class, and a lazy number type for non-negative numbers (a generalization
7937 of Peano numbers).")
7938 (license license:gpl3+)))
7939
7940 (define-public ghc-nonce
7941 (package
7942 (name "ghc-nonce")
7943 (version "1.0.7")
7944 (source
7945 (origin
7946 (method url-fetch)
7947 (uri (string-append
7948 "https://hackage.haskell.org/package/nonce/"
7949 "nonce-" version ".tar.gz"))
7950 (sha256
7951 (base32
7952 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
7953 (build-system haskell-build-system)
7954 (inputs
7955 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
7956 ("ghc-entropy" ,ghc-entropy)
7957 ("ghc-unliftio" ,ghc-unliftio)
7958 ("ghc-unliftio-core" ,ghc-unliftio-core)))
7959 (home-page "https://github.com/prowdsponsor/nonce")
7960 (synopsis "Generate cryptographic nonces in Haskell")
7961 (description
7962 "A nonce is an arbitrary number used only once in a cryptographic
7963 communication. This package contain helper functions for generating nonces.
7964 There are many kinds of nonces used in different situations. It's not
7965 guaranteed that by using the nonces from this package you won't have any
7966 security issues. Please make sure that the nonces generated via this
7967 package are usable on your design.")
7968 (license license:bsd-3)))
7969
7970 (define-public ghc-numeric-extras
7971 (package
7972 (name "ghc-numeric-extras")
7973 (version "0.1")
7974 (source
7975 (origin
7976 (method url-fetch)
7977 (uri (string-append "https://hackage.haskell.org/package/"
7978 "numeric-extras/numeric-extras-"
7979 version ".tar.gz"))
7980 (sha256
7981 (base32
7982 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7983 (build-system haskell-build-system)
7984 (home-page "https://github.com/ekmett/numeric-extras")
7985 (synopsis "Useful tools from the C standard library")
7986 (description "This library provides some useful tools from the C
7987 standard library.")
7988 (license license:bsd-3)))
7989
7990 (define-public ghc-objectname
7991 (package
7992 (name "ghc-objectname")
7993 (version "1.1.0.1")
7994 (source
7995 (origin
7996 (method url-fetch)
7997 (uri (string-append
7998 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7999 version
8000 ".tar.gz"))
8001 (sha256
8002 (base32
8003 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8004 (build-system haskell-build-system)
8005 (home-page "https://hackage.haskell.org/package/ObjectName")
8006 (synopsis "Helper library for Haskell OpenGL")
8007 (description "This tiny package contains the class ObjectName, which
8008 corresponds to the general notion of explicitly handled identifiers for API
8009 objects, e.g. a texture object name in OpenGL or a buffer object name in
8010 OpenAL.")
8011 (license license:bsd-3)))
8012
8013 (define-public ghc-old-locale
8014 (package
8015 (name "ghc-old-locale")
8016 (version "1.0.0.7")
8017 (source
8018 (origin
8019 (method url-fetch)
8020 (uri (string-append
8021 "https://hackage.haskell.org/package/old-locale/old-locale-"
8022 version
8023 ".tar.gz"))
8024 (sha256
8025 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8026 (build-system haskell-build-system)
8027 (arguments
8028 `(#:cabal-revision
8029 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8030 (home-page "https://hackage.haskell.org/package/old-locale")
8031 (synopsis "Adapt to locale conventions")
8032 (description
8033 "This package provides the ability to adapt to locale conventions such as
8034 date and time formats.")
8035 (license license:bsd-3)))
8036
8037 (define-public ghc-old-time
8038 (package
8039 (name "ghc-old-time")
8040 (version "1.1.0.3")
8041 (source
8042 (origin
8043 (method url-fetch)
8044 (uri (string-append
8045 "https://hackage.haskell.org/package/old-time/old-time-"
8046 version
8047 ".tar.gz"))
8048 (sha256
8049 (base32
8050 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8051 (build-system haskell-build-system)
8052 (arguments
8053 `(#:cabal-revision
8054 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8055 (inputs
8056 `(("ghc-old-locale" ,ghc-old-locale)))
8057 (home-page "https://hackage.haskell.org/package/old-time")
8058 (synopsis "Time compatibility library for Haskell")
8059 (description "Old-time is a package for backwards compatibility with the
8060 old @code{time} library. For new projects, the newer
8061 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8062 (license license:bsd-3)))
8063
8064 (define-public ghc-opengl
8065 (package
8066 (name "ghc-opengl")
8067 (version "3.0.3.0")
8068 (source
8069 (origin
8070 (method url-fetch)
8071 (uri (string-append
8072 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8073 version
8074 ".tar.gz"))
8075 (sha256
8076 (base32
8077 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
8078 (build-system haskell-build-system)
8079 (arguments
8080 `(#:cabal-revision
8081 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
8082 (inputs
8083 `(("ghc-objectname" ,ghc-objectname)
8084 ("ghc-gluraw" ,ghc-gluraw)
8085 ("ghc-statevar" ,ghc-statevar)
8086 ("ghc-openglraw" ,ghc-openglraw)))
8087 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8088 (synopsis "Haskell bindings for the OpenGL graphics system")
8089 (description "This package provides Haskell bindings for the OpenGL
8090 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8091 version 1.3).")
8092 (license license:bsd-3)))
8093
8094 (define-public ghc-openglraw
8095 (package
8096 (name "ghc-openglraw")
8097 (version "3.3.3.0")
8098 (source
8099 (origin
8100 (method url-fetch)
8101 (uri (string-append
8102 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8103 version
8104 ".tar.gz"))
8105 (sha256
8106 (base32
8107 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
8108 (build-system haskell-build-system)
8109 (inputs
8110 `(("ghc-half" ,ghc-half)
8111 ("ghc-fixed" ,ghc-fixed)
8112 ("glu" ,glu)))
8113 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8114 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8115 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8116 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8117 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8118 offers access to all necessary functions, tokens and types plus a general
8119 facility for loading extension entries. The module hierarchy closely mirrors
8120 the naming structure of the OpenGL extensions, making it easy to find the
8121 right module to import. All API entries are loaded dynamically, so no special
8122 C header files are needed for building this package. If an API entry is not
8123 found at runtime, a userError is thrown.")
8124 (license license:bsd-3)))
8125
8126 (define-public ghc-operational
8127 (package
8128 (name "ghc-operational")
8129 (version "0.2.3.5")
8130 (source
8131 (origin
8132 (method url-fetch)
8133 (uri (string-append "https://hackage.haskell.org/package/operational/"
8134 "operational-" version ".tar.gz"))
8135 (sha256
8136 (base32
8137 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8138 (build-system haskell-build-system)
8139 (inputs
8140 `(("ghc-random" ,ghc-random)))
8141 (home-page "http://wiki.haskell.org/Operational")
8142 (synopsis "Implementation of difficult monads made easy with operational semantics")
8143 (description
8144 "This library makes it easy to implement monads with tricky control
8145 flow. This is useful for: writing web applications in a sequential style,
8146 programming games with a uniform interface for human and AI players and easy
8147 replay capababilities, implementing fast parser monads, designing monadic
8148 DSLs, etc.")
8149 (license license:bsd-3)))
8150
8151 (define-public ghc-options
8152 (package
8153 (name "ghc-options")
8154 (version "1.2.1.1")
8155 (source
8156 (origin
8157 (method url-fetch)
8158 (uri (string-append
8159 "https://hackage.haskell.org/package/options/options-"
8160 version ".tar.gz"))
8161 (sha256
8162 (base32
8163 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8164 (build-system haskell-build-system)
8165 (arguments
8166 `(#:phases
8167 (modify-phases %standard-phases
8168 (add-before 'configure 'update-constraints
8169 (lambda _
8170 (substitute* "options.cabal"
8171 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8172 #t)))))
8173 (inputs
8174 `(("ghc-monads-tf" ,ghc-monads-tf)
8175 ("ghc-chell" ,ghc-chell)
8176 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8177 (home-page "https://john-millikin.com/software/haskell-options/")
8178 (synopsis "Powerful and easy-to-use command-line option parser")
8179 (description
8180 "The @code{options} package lets library and application developers
8181 easily work with command-line options.")
8182 (license license:expat)))
8183
8184 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8185 (define ghc-options-bootstrap
8186 (package
8187 (name "ghc-options-bootstrap")
8188 (version "1.2.1.1")
8189 (source
8190 (origin
8191 (method url-fetch)
8192 (uri (string-append
8193 "https://hackage.haskell.org/package/options/options-"
8194 version ".tar.gz"))
8195 (sha256
8196 (base32
8197 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8198 (build-system haskell-build-system)
8199 (arguments
8200 `(#:tests? #f))
8201 (inputs
8202 `(("ghc-monads-tf" ,ghc-monads-tf)))
8203 (home-page "https://john-millikin.com/software/haskell-options/")
8204 (synopsis "Powerful and easy-to-use command-line option parser")
8205 (description
8206 "The @code{options} package lets library and application developers
8207 easily work with command-line options.")
8208 (license license:expat)))
8209
8210
8211 (define-public ghc-optparse-applicative
8212 (package
8213 (name "ghc-optparse-applicative")
8214 (version "0.14.3.0")
8215 (source
8216 (origin
8217 (method url-fetch)
8218 (uri (string-append
8219 "https://hackage.haskell.org/package/optparse-applicative"
8220 "/optparse-applicative-" version ".tar.gz"))
8221 (sha256
8222 (base32
8223 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
8224 (build-system haskell-build-system)
8225 (arguments
8226 `(#:cabal-revision
8227 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
8228 (inputs
8229 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8230 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8231 (native-inputs
8232 `(("ghc-quickcheck" ,ghc-quickcheck)))
8233 (home-page "https://github.com/pcapriotti/optparse-applicative")
8234 (synopsis "Utilities and combinators for parsing command line options")
8235 (description "This package provides utilities and combinators for parsing
8236 command line options in Haskell.")
8237 (license license:bsd-3)))
8238
8239 (define-public ghc-jira-wiki-markup
8240 (package
8241 (name "ghc-jira-wiki-markup")
8242 (version "1.0.0")
8243 (source
8244 (origin
8245 (method url-fetch)
8246 (uri (string-append
8247 "https://hackage.haskell.org/package/jira-wiki-markup/"
8248 "jira-wiki-markup-" version ".tar.gz"))
8249 (sha256
8250 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8251 (build-system haskell-build-system)
8252 (native-inputs
8253 `(("ghc-tasty" ,ghc-tasty)
8254 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8255 (home-page "https://github.com/tarleb/jira-wiki-markup")
8256 (synopsis "Handle Jira wiki markup")
8257 (description
8258 "Parse jira wiki text into an abstract syntax tree for easy transformation
8259 to other formats.")
8260 (license license:expat)))
8261
8262 (define-public ghc-emojis
8263 (package
8264 (name "ghc-emojis")
8265 (version "0.1")
8266 (source
8267 (origin
8268 (method url-fetch)
8269 (uri (string-append
8270 "https://hackage.haskell.org/package/emojis/"
8271 "emojis-" version ".tar.gz"))
8272 (sha256
8273 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8274 (build-system haskell-build-system)
8275 (native-inputs
8276 `(("ghc-hunit" ,ghc-hunit)))
8277 (home-page "https://github.com/jgm/emojis#readme")
8278 (synopsis "Conversion between emoji characters and their names.")
8279 (description
8280 "This package provides functions for converting emoji names to emoji
8281 characters and vice versa.
8282
8283 How does it differ from the @code{emoji} package?
8284 @itemize
8285 @item It supports a fuller range of emojis, including all those supported by
8286 GitHub
8287 @item It supports lookup of emoji aliases from emoji
8288 @item It uses Text rather than String
8289 @item It has a lighter dependency footprint: in particular, it does not
8290 require aeson
8291 @item It does not require TemplateHaskell
8292 @end itemize")
8293 (license license:bsd-3)))
8294
8295 (define-public ghc-text-conversions
8296 (package
8297 (name "ghc-text-conversions")
8298 (version "0.3.0")
8299 (source
8300 (origin
8301 (method url-fetch)
8302 (uri (string-append
8303 "https://hackage.haskell.org/package/text-conversions/"
8304 "text-conversions-" version ".tar.gz"))
8305 (sha256
8306 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8307 (build-system haskell-build-system)
8308 (inputs
8309 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8310 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8311 ("ghc-errors" ,ghc-errors)))
8312 (native-inputs
8313 `(("ghc-hspec" ,ghc-hspec)
8314 ("hspec-discover" ,hspec-discover)))
8315 (home-page "https://github.com/cjdev/text-conversions#readme")
8316 (synopsis "Safe conversions between textual types")
8317 (description "Safe conversions between textual types")
8318 (license license:isc)))
8319
8320 (define-public ghc-doclayout
8321 (package
8322 (name "ghc-doclayout")
8323 (version "0.3")
8324 (source
8325 (origin
8326 (method url-fetch)
8327 (uri (string-append
8328 "https://hackage.haskell.org/package/doclayout/"
8329 "doclayout-" version ".tar.gz"))
8330 (sha256
8331 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8332 (build-system haskell-build-system)
8333 (inputs
8334 `(("ghc-safe" ,ghc-safe)))
8335 (native-inputs
8336 `(("ghc-tasty" ,ghc-tasty)
8337 ("ghc-tasty-golden" ,ghc-tasty-golden)
8338 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8339 (home-page "https://github.com/jgm/doclayout")
8340 (synopsis "Pretty-printing library for laying out text documents")
8341 (description
8342 "doclayout is a pretty-printing library for laying out text documents,
8343 with several features not present in pretty-printing libraries designed for
8344 code. It was designed for use in @code{Pandoc}.")
8345 (license license:bsd-3)))
8346
8347 (define-public ghc-pandoc
8348 (package
8349 (name "ghc-pandoc")
8350 (version "2.7.3")
8351 (source
8352 (origin
8353 (method url-fetch)
8354 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8355 version ".tar.gz"))
8356 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8357 "ghc-pandoc-fix-latex-test.patch"))
8358 (sha256
8359 (base32
8360 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
8361 (build-system haskell-build-system)
8362 (inputs
8363 `(("ghc-aeson" ,ghc-aeson)
8364 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8365 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8366 ("ghc-blaze-html" ,ghc-blaze-html)
8367 ("ghc-blaze-markup" ,ghc-blaze-markup)
8368 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8369 ("ghc-data-default" ,ghc-data-default)
8370 ("ghc-diff" ,ghc-diff)
8371 ("ghc-doctemplates" ,ghc-doctemplates)
8372 ("ghc-executable-path" ,ghc-executable-path)
8373 ("ghc-glob" ,ghc-glob)
8374 ("ghc-haddock-library" ,ghc-haddock-library)
8375 ("ghc-hslua" ,ghc-hslua)
8376 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
8377 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
8378 ("ghc-hsyaml" ,ghc-hsyaml)
8379 ("ghc-http" ,ghc-http)
8380 ("ghc-http-client" ,ghc-http-client)
8381 ("ghc-http-client-tls" ,ghc-http-client-tls)
8382 ("ghc-http-types" ,ghc-http-types)
8383 ("ghc-ipynb" ,ghc-ipynb)
8384 ("ghc-juicypixels" ,ghc-juicypixels)
8385 ("ghc-network" ,ghc-network)
8386 ("ghc-network-uri" ,ghc-network-uri)
8387 ("ghc-pandoc-types" ,ghc-pandoc-types)
8388 ("ghc-random" ,ghc-random)
8389 ("ghc-scientific" ,ghc-scientific)
8390 ("ghc-sha" ,ghc-sha)
8391 ("ghc-skylighting" ,ghc-skylighting)
8392 ("ghc-split" ,ghc-split)
8393 ("ghc-syb" ,ghc-syb)
8394 ("ghc-tagsoup" ,ghc-tagsoup)
8395 ("ghc-temporary" ,ghc-temporary)
8396 ("ghc-texmath" ,ghc-texmath)
8397 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
8398 ("ghc-unordered-containers" ,ghc-unordered-containers)
8399 ("ghc-vector" ,ghc-vector)
8400 ("ghc-xml" ,ghc-xml)
8401 ("ghc-zip-archive" ,ghc-zip-archive)
8402 ("ghc-zlib" ,ghc-zlib)))
8403 (native-inputs
8404 `(("ghc-tasty" ,ghc-tasty)
8405 ("ghc-tasty-golden" ,ghc-tasty-golden)
8406 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8407 ("ghc-tasty-lua" ,ghc-tasty-lua)
8408 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8409 ("ghc-quickcheck" ,ghc-quickcheck)
8410 ("ghc-hunit" ,ghc-hunit)))
8411 (home-page "https://pandoc.org")
8412 (synopsis "Conversion between markup formats")
8413 (description
8414 "Pandoc is a Haskell library for converting from one markup format to
8415 another, and a command-line tool that uses this library. It can read and
8416 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8417 LaTeX, DocBook, and many more.
8418
8419 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8420 definition lists, tables, and other features. A compatibility mode is
8421 provided for those who need a drop-in replacement for Markdown.pl.")
8422 (license license:gpl2+)))
8423
8424 (define-public ghc-pandoc-citeproc
8425 (package
8426 (name "ghc-pandoc-citeproc")
8427 (version "0.16.2")
8428 (source
8429 (origin
8430 (method url-fetch)
8431 (uri (string-append "https://hackage.haskell.org/package/"
8432 "pandoc-citeproc/pandoc-citeproc-"
8433 version ".tar.gz"))
8434 (sha256
8435 (base32
8436 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
8437 (build-system haskell-build-system)
8438 (arguments
8439 `(#:phases
8440 (modify-phases %standard-phases
8441 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8442 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8443 (add-before 'configure 'patch-tests
8444 (lambda _
8445 (substitute* "tests/test-pandoc-citeproc.hs"
8446 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8447 "let allTests = citeprocTests"))))
8448 ;; Tests need to be run after installation.
8449 (delete 'check)
8450 (add-after 'install 'post-install-check
8451 (assoc-ref %standard-phases 'check)))))
8452 (inputs
8453 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8454 ("ghc-pandoc" ,ghc-pandoc)
8455 ("ghc-tagsoup" ,ghc-tagsoup)
8456 ("ghc-aeson" ,ghc-aeson)
8457 ("ghc-vector" ,ghc-vector)
8458 ("ghc-xml-conduit" ,ghc-xml-conduit)
8459 ("ghc-unordered-containers" ,ghc-unordered-containers)
8460 ("ghc-data-default" ,ghc-data-default)
8461 ("ghc-setenv" ,ghc-setenv)
8462 ("ghc-split" ,ghc-split)
8463 ("ghc-yaml" ,ghc-yaml)
8464 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8465 ("ghc-rfc5051" ,ghc-rfc5051)
8466 ("ghc-syb" ,ghc-syb)
8467 ("ghc-old-locale" ,ghc-old-locale)
8468 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8469 ("ghc-attoparsec" ,ghc-attoparsec)
8470 ("ghc-temporary" ,ghc-temporary)))
8471 (home-page "https://github.com/jgm/pandoc-citeproc")
8472 (synopsis "Library for using pandoc with citeproc")
8473 (description
8474 "The @code{pandoc-citeproc} library exports functions for using the
8475 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8476 rendering bibliographic reference citations into a variety of styles using a
8477 macro language called @dfn{Citation Style Language} (CSL). This package also
8478 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8479 and also has a mode for converting bibliographic databases a YAML format
8480 suitable for inclusion in pandoc YAML metadata.")
8481 (license license:bsd-3)))
8482
8483 (define-public ghc-pandoc-types
8484 (package
8485 (name "ghc-pandoc-types")
8486 (version "1.17.6.1")
8487 (source (origin
8488 (method url-fetch)
8489 (uri (string-append "https://hackage.haskell.org/package/"
8490 "pandoc-types/pandoc-types-"
8491 version ".tar.gz"))
8492 (sha256
8493 (base32
8494 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
8495 (build-system haskell-build-system)
8496 (inputs
8497 `(("ghc-syb" ,ghc-syb)
8498 ("ghc-aeson" ,ghc-aeson)
8499 ("ghc-string-qq" ,ghc-string-qq)))
8500 (native-inputs
8501 `(("ghc-quickcheck" ,ghc-quickcheck)
8502 ("ghc-test-framework" ,ghc-test-framework)
8503 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8504 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8505 ("ghc-hunit" ,ghc-hunit)))
8506 (home-page "http://johnmacfarlane.net/pandoc")
8507 (synopsis "Types for representing a structured document")
8508 (description
8509 "This module defines the @code{Pandoc} data structure, which is used by
8510 pandoc to represent structured documents. It also provides functions for
8511 building up, manipulating and serialising @code{Pandoc} structures.")
8512 (license license:bsd-3)))
8513
8514 (define-public ghc-parallel
8515 (package
8516 (name "ghc-parallel")
8517 (version "3.2.2.0")
8518 (outputs '("out" "doc"))
8519 (source
8520 (origin
8521 (method url-fetch)
8522 (uri (string-append
8523 "https://hackage.haskell.org/package/parallel/parallel-"
8524 version
8525 ".tar.gz"))
8526 (sha256
8527 (base32
8528 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8529 (build-system haskell-build-system)
8530 (home-page "https://hackage.haskell.org/package/parallel")
8531 (synopsis "Parallel programming library")
8532 (description
8533 "This package provides a library for parallel programming.")
8534 (license license:bsd-3)))
8535
8536 (define-public ghc-parsec-numbers
8537 (package
8538 (name "ghc-parsec-numbers")
8539 (version "0.1.0")
8540 (source
8541 (origin
8542 (method url-fetch)
8543 (uri (string-append "https://hackage.haskell.org/package/"
8544 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8545 (sha256
8546 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8547 (build-system haskell-build-system)
8548 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8549 (synopsis "Utilities for parsing numbers from strings")
8550 (description
8551 "This package provides the number parsers without the need to use a large
8552 (and unportable) token parser.")
8553 (license license:bsd-3)))
8554
8555 (define-public ghc-parser-combinators
8556 (package
8557 (name "ghc-parser-combinators")
8558 (version "1.1.0")
8559 (source
8560 (origin
8561 (method url-fetch)
8562 (uri (string-append "https://hackage.haskell.org/package/"
8563 "parser-combinators/parser-combinators-"
8564 version ".tar.gz"))
8565 (sha256
8566 (base32
8567 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
8568 (build-system haskell-build-system)
8569 (home-page "https://github.com/mrkkrp/parser-combinators")
8570 (synopsis "Commonly useful parser combinators")
8571 (description
8572 "This is a lightweight package providing commonly useful parser
8573 combinators.")
8574 (license license:bsd-3)))
8575
8576 (define-public ghc-parsers
8577 (package
8578 (name "ghc-parsers")
8579 (version "0.12.10")
8580 (source
8581 (origin
8582 (method url-fetch)
8583 (uri (string-append
8584 "https://hackage.haskell.org/package/parsers/parsers-"
8585 version
8586 ".tar.gz"))
8587 (sha256
8588 (base32
8589 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
8590 (build-system haskell-build-system)
8591 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8592 ; -package attoparsec-0.13.0.1"
8593 (inputs
8594 `(("ghc-base-orphans" ,ghc-base-orphans)
8595 ("ghc-attoparsec" ,ghc-attoparsec)
8596 ("ghc-scientific" ,ghc-scientific)
8597 ("ghc-charset" ,ghc-charset)
8598 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8599 (home-page "https://github.com/ekmett/parsers/")
8600 (synopsis "Parsing combinators")
8601 (description "This library provides convenient combinators for working
8602 with and building parsing combinator libraries. Given a few simple instances,
8603 you get access to a large number of canned definitions. Instances exist for
8604 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8605 @code{Text.Read}.")
8606 (license license:bsd-3)))
8607
8608 (define-public ghc-path
8609 (package
8610 (name "ghc-path")
8611 (version "0.6.1")
8612 (source
8613 (origin
8614 (method url-fetch)
8615 (uri (string-append
8616 "https://hackage.haskell.org/package/path/path-"
8617 version
8618 ".tar.gz"))
8619 (sha256
8620 (base32
8621 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8622 (build-system haskell-build-system)
8623 (arguments
8624 ;; TODO: There are some Windows-related tests and modules that need to be
8625 ;; danced around.
8626 `(#:tests? #f
8627 #:cabal-revision
8628 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8629 (inputs
8630 `(("ghc-aeson" ,ghc-aeson)
8631 ("ghc-exceptions" ,ghc-exceptions)
8632 ("ghc-hashable" ,ghc-hashable)))
8633 (native-inputs
8634 `(("ghc-hspec" ,ghc-hspec)
8635 ("ghc-quickcheck" ,ghc-quickcheck)
8636 ("ghc-genvalidity" ,ghc-genvalidity)
8637 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8638 ("ghc-hspec" ,ghc-hspec)
8639 ("ghc-validity" ,ghc-validity)))
8640 (home-page
8641 "https://hackage.haskell.org/package/path")
8642 (synopsis "Support for well-typed paths")
8643 (description "This package introduces a type for paths upholding useful
8644 invariants.")
8645 (license license:bsd-3)))
8646
8647 (define-public ghc-path-io
8648 (package
8649 (name "ghc-path-io")
8650 (version "1.4.2")
8651 (source
8652 (origin
8653 (method url-fetch)
8654 (uri (string-append
8655 "https://hackage.haskell.org/package/path-io/path-io-"
8656 version
8657 ".tar.gz"))
8658 (sha256
8659 (base32
8660 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
8661 (build-system haskell-build-system)
8662 (inputs
8663 `(("ghc-dlist" ,ghc-dlist)
8664 ("ghc-exceptions" ,ghc-exceptions)
8665 ("ghc-path" ,ghc-path)
8666 ("ghc-transformers-base" ,ghc-transformers-base)
8667 ("ghc-unix-compat" ,ghc-unix-compat)
8668 ("ghc-temporary" ,ghc-temporary)))
8669 (native-inputs
8670 `(("ghc-hspec" ,ghc-hspec)))
8671 (home-page
8672 "https://github.com/mrkkrp/path-io")
8673 (synopsis "Functions for manipulating well-typed paths")
8674 (description "This package provides an interface to the @code{directory}
8675 package for users of @code{path}. It also implements some missing stuff like
8676 recursive scanning and copying of directories, working with temporary
8677 files/directories, and more.")
8678 (license license:bsd-3)))
8679
8680 (define-public ghc-paths
8681 (package
8682 (name "ghc-paths")
8683 (version "0.1.0.12")
8684 (outputs '("out" "doc"))
8685 (source
8686 (origin
8687 (method url-fetch)
8688 (uri (string-append
8689 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8690 version
8691 ".tar.gz"))
8692 (sha256
8693 (base32
8694 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
8695 (build-system haskell-build-system)
8696 (home-page "https://github.com/simonmar/ghc-paths")
8697 (synopsis
8698 "Knowledge of GHC's installation directories")
8699 (description
8700 "Knowledge of GHC's installation directories.")
8701 (license license:bsd-3)))
8702
8703 (define-public ghc-patience
8704 (package
8705 (name "ghc-patience")
8706 (version "0.3")
8707 (source
8708 (origin
8709 (method url-fetch)
8710 (uri (string-append
8711 "https://hackage.haskell.org/package/patience/patience-"
8712 version ".tar.gz"))
8713 (sha256
8714 (base32
8715 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
8716 (build-system haskell-build-system)
8717 (home-page "https://hackage.haskell.org/package/patience")
8718 (synopsis "Patience diff and longest increasing subsequence")
8719 (description
8720 "This library implements the 'patience diff' algorithm, as well as the
8721 patience algorithm for the longest increasing subsequence problem.
8722 Patience diff computes the difference between two lists, for example the lines
8723 of two versions of a source file. It provides a good balance between
8724 performance, nice output for humans, and simplicity of implementation.")
8725 (license license:bsd-3)))
8726
8727 (define-public ghc-pcre-light
8728 (package
8729 (name "ghc-pcre-light")
8730 (version "0.4.0.4")
8731 (source
8732 (origin
8733 (method url-fetch)
8734 (uri (string-append
8735 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8736 version
8737 ".tar.gz"))
8738 (sha256
8739 (base32
8740 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8741 (build-system haskell-build-system)
8742 (inputs
8743 `(("pcre" ,pcre)))
8744 (native-inputs
8745 `(("pkg-config" ,pkg-config)))
8746 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8747 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8748 (description "This package provides a small, efficient, and portable regex
8749 library for Perl 5 compatible regular expressions. The PCRE library is a set
8750 of functions that implement regular expression pattern matching using the same
8751 syntax and semantics as Perl 5.")
8752 (license license:bsd-3)))
8753
8754 (define-public ghc-persistent
8755 (package
8756 (name "ghc-persistent")
8757 (version "2.10.4")
8758 (source
8759 (origin
8760 (method url-fetch)
8761 (uri (string-append
8762 "https://hackage.haskell.org/package/persistent/"
8763 "persistent-" version ".tar.gz"))
8764 (sha256
8765 (base32
8766 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
8767 (build-system haskell-build-system)
8768 (inputs
8769 `(("ghc-aeson" ,ghc-aeson)
8770 ("ghc-attoparsec" ,ghc-attoparsec)
8771 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8772 ("ghc-blaze-html" ,ghc-blaze-html)
8773 ("ghc-conduit" ,ghc-conduit)
8774 ("ghc-fast-logger" ,ghc-fast-logger)
8775 ("ghc-http-api-data" ,ghc-http-api-data)
8776 ("ghc-monad-logger" ,ghc-monad-logger)
8777 ("ghc-path-pieces" ,ghc-path-pieces)
8778 ("ghc-resource-pool" ,ghc-resource-pool)
8779 ("ghc-resourcet" ,ghc-resourcet)
8780 ("ghc-scientific" ,ghc-scientific)
8781 ("ghc-silently" ,ghc-silently)
8782 ("ghc-unliftio-core" ,ghc-unliftio-core)
8783 ("ghc-unliftio" ,ghc-unliftio)
8784 ("ghc-unordered-containers"
8785 ,ghc-unordered-containers)
8786 ("ghc-vector" ,ghc-vector)))
8787 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8788 (home-page "https://www.yesodweb.com/book/persistent")
8789 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8790 (description "This Haskell package allows Haskell programs to access data
8791 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8792 way.")
8793 (license license:expat)))
8794
8795 (define-public ghc-persistent-sqlite
8796 (package
8797 (name "ghc-persistent-sqlite")
8798 (version "2.10.5.2")
8799 (source
8800 (origin
8801 (method url-fetch)
8802 (uri (string-append
8803 "https://hackage.haskell.org/package/persistent-sqlite/"
8804 "persistent-sqlite-" version ".tar.gz"))
8805 (sha256
8806 (base32
8807 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
8808 (build-system haskell-build-system)
8809 (inputs
8810 `(("ghc-persistent" ,ghc-persistent)
8811 ("ghc-aeson" ,ghc-aeson)
8812 ("ghc-conduit" ,ghc-conduit)
8813 ("ghc-microlens-th" ,ghc-microlens-th)
8814 ("ghc-monad-logger" ,ghc-monad-logger)
8815 ("ghc-resource-pool" ,ghc-resource-pool)
8816 ("ghc-resourcet" ,ghc-resourcet)
8817 ("ghc-unliftio-core" ,ghc-unliftio-core)
8818 ("ghc-unordered-containers"
8819 ,ghc-unordered-containers)))
8820 (native-inputs
8821 `(("ghc-persistent-template"
8822 ,ghc-persistent-template)
8823 ("ghc-persistent-test" ,ghc-persistent-test)
8824 ("ghc-exceptions" ,ghc-exceptions)
8825 ("ghc-fast-logger" ,ghc-fast-logger)
8826 ("ghc-hspec" ,ghc-hspec)
8827 ("ghc-hunit" ,ghc-hunit)
8828 ("ghc-quickcheck" ,ghc-quickcheck)
8829 ("ghc-system-fileio" ,ghc-system-fileio)
8830 ("ghc-system-filepath" ,ghc-system-filepath)
8831 ("ghc-temporary" ,ghc-temporary)))
8832 (home-page
8833 "https://www.yesodweb.com/book/persistent")
8834 (synopsis "Backend for the persistent library using sqlite3")
8835 (description "This Haskell package includes a thin sqlite3 wrapper based
8836 on the direct-sqlite package, as well as the entire C library, so there are no
8837 system dependencies.")
8838 (license license:expat)))
8839
8840 (define-public ghc-persistent-template
8841 (package
8842 (name "ghc-persistent-template")
8843 (version "2.8.0")
8844 (source
8845 (origin
8846 (method url-fetch)
8847 (uri (string-append
8848 "https://hackage.haskell.org/package/persistent-template/"
8849 "persistent-template-" version ".tar.gz"))
8850 (sha256
8851 (base32
8852 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
8853 (build-system haskell-build-system)
8854 (inputs
8855 `(("ghc-persistent" ,ghc-persistent)
8856 ("ghc-aeson" ,ghc-aeson)
8857 ("ghc-http-api-data" ,ghc-http-api-data)
8858 ("ghc-monad-control" ,ghc-monad-control)
8859 ("ghc-monad-logger" ,ghc-monad-logger)
8860 ("ghc-path-pieces" ,ghc-path-pieces)
8861 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
8862 ("ghc-unordered-containers"
8863 ,ghc-unordered-containers)))
8864 (native-inputs
8865 `(("ghc-hspec" ,ghc-hspec)
8866 ("ghc-quickcheck" ,ghc-quickcheck)))
8867 (home-page "https://www.yesodweb.com/book/persistent")
8868 (synopsis "Type-safe, non-relational, multi-backend persistence")
8869 (description "This Haskell package provides interfaces and helper
8870 functions for the ghc-persistent package.")
8871 (license license:expat)))
8872
8873 (define-public ghc-persistent-test
8874 (package
8875 (name "ghc-persistent-test")
8876 (version "2.0.3.1")
8877 (source
8878 (origin
8879 (method url-fetch)
8880 (uri (string-append
8881 "https://hackage.haskell.org/package/persistent-test/"
8882 "persistent-test-" version ".tar.gz"))
8883 (sha256
8884 (base32
8885 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
8886 (build-system haskell-build-system)
8887 (inputs
8888 `(("ghc-aeson" ,ghc-aeson)
8889 ("ghc-blaze-html" ,ghc-blaze-html)
8890 ("ghc-conduit" ,ghc-conduit)
8891 ("ghc-monad-control" ,ghc-monad-control)
8892 ("ghc-monad-logger" ,ghc-monad-logger)
8893 ("ghc-path-pieces" ,ghc-path-pieces)
8894 ("ghc-persistent" ,ghc-persistent)
8895 ("ghc-persistent-template" ,ghc-persistent-template)
8896 ("ghc-random" ,ghc-random)
8897 ("ghc-resourcet" ,ghc-resourcet)
8898 ("ghc-transformers-base" ,ghc-transformers-base)
8899 ("ghc-unliftio" ,ghc-unliftio)
8900 ("ghc-unliftio-core" ,ghc-unliftio-core)
8901 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8902 (native-inputs
8903 `(("ghc-quickcheck" ,ghc-quickcheck)
8904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8905 ("ghc-hspec" ,ghc-hspec)
8906 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
8907 ("ghc-hunit" ,ghc-hunit)))
8908 (home-page "https://www.yesodweb.com/book/persistent")
8909 (synopsis "Tests for the Persistent database library")
8910 (description
8911 "This is only for use in developing libraries that should conform to
8912 the persistent interface, not for users of the persistent suite of database
8913 libraries.")
8914 (license license:expat)))
8915
8916 (define-public ghc-pipes
8917 (package
8918 (name "ghc-pipes")
8919 (version "4.3.13")
8920 (source
8921 (origin
8922 (method url-fetch)
8923 (uri (string-append
8924 "https://hackage.haskell.org/package/pipes/"
8925 "pipes-" version ".tar.gz"))
8926 (sha256
8927 (base32
8928 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8929 (build-system haskell-build-system)
8930 (inputs
8931 `(("ghc-exceptions" ,ghc-exceptions)
8932 ("ghc-mmorph" ,ghc-mmorph)
8933 ("ghc-void" ,ghc-void)
8934 ("ghc-semigroups" ,ghc-semigroups)))
8935 (native-inputs
8936 `(("ghc-quickcheck" ,ghc-quickcheck)
8937 ("ghc-test-framework" ,ghc-test-framework)
8938 ("ghc-test-framework-quickcheck2"
8939 ,ghc-test-framework-quickcheck2)))
8940 (home-page
8941 "https://hackage.haskell.org/package/pipes")
8942 (synopsis "Compositional pipelines")
8943 (description
8944 "A clean and powerful stream processing library that lets you build
8945 and connect reusable streaming components. Advantages over traditional streaming
8946 libraries:
8947 @itemize
8948 @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8949 and @code{yield}
8950 @item Blazing fast: Implementation tuned for speed, including shortcut fusion
8951 @item Lightweight Dependency: pipes is small and compiles very rapidly, including
8952 dependencies
8953 @item Elegant semantics: Use practical category theory
8954 @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8955 @item Bidirectionality: Implement duplex channels
8956 @end itemize")
8957 (license license:bsd-3)))
8958
8959 (define-public ghc-pointedlist
8960 (package
8961 (name "ghc-pointedlist")
8962 (version "0.6.1")
8963 (source
8964 (origin
8965 (method url-fetch)
8966 (uri (string-append
8967 "https://hackage.haskell.org/package/pointedlist/"
8968 "pointedlist-" version ".tar.gz"))
8969 (sha256
8970 (base32
8971 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8972 (build-system haskell-build-system)
8973 (home-page
8974 "https://hackage.haskell.org/package/pointedlist")
8975 (synopsis
8976 "Zipper-like comonad which works as a list, tracking a position")
8977 (description
8978 "A PointedList tracks the position in a non-empty list which works
8979 similarly to a zipper. A current item is always required, and therefore
8980 the list may never be empty. A circular PointedList wraps around to the
8981 other end when progressing past the actual edge.")
8982 (license license:bsd-3)))
8983
8984 (define-public ghc-polyparse
8985 (package
8986 (name "ghc-polyparse")
8987 (version "1.12.1")
8988 (source
8989 (origin
8990 (method url-fetch)
8991 (uri (string-append
8992 "https://hackage.haskell.org/package/polyparse/polyparse-"
8993 version
8994 ".tar.gz"))
8995 (sha256
8996 (base32
8997 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
8998 (build-system haskell-build-system)
8999 (home-page
9000 "http://code.haskell.org/~malcolm/polyparse/")
9001 (synopsis
9002 "Alternative parser combinator libraries")
9003 (description
9004 "This package provides a variety of alternative parser combinator
9005 libraries, including the original HuttonMeijer set. The Poly sets have
9006 features like good error reporting, arbitrary token type, running state, lazy
9007 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9008 standard Read class, for better deserialisation of Haskell values from
9009 Strings.")
9010 (license license:lgpl2.1)))
9011
9012 (define-public ghc-pqueue
9013 (package
9014 (name "ghc-pqueue")
9015 (version "1.4.1.2")
9016 (source
9017 (origin
9018 (method url-fetch)
9019 (uri (string-append "https://hackage.haskell.org/package/"
9020 "pqueue/pqueue-" version ".tar.gz"))
9021 (sha256
9022 (base32
9023 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
9024 (build-system haskell-build-system)
9025 (native-inputs
9026 `(("ghc-quickcheck" ,ghc-quickcheck)))
9027 (home-page "https://hackage.haskell.org/package/pqueue")
9028 (synopsis "Reliable, persistent, fast priority queues")
9029 (description
9030 "This package provides a fast, reliable priority queue implementation
9031 based on a binomial heap.")
9032 (license license:bsd-3)))
9033
9034 (define-public ghc-prelude-extras
9035 (package
9036 (name "ghc-prelude-extras")
9037 (version "0.4.0.3")
9038 (source
9039 (origin
9040 (method url-fetch)
9041 (uri (string-append
9042 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9043 version
9044 ".tar.gz"))
9045 (sha256
9046 (base32
9047 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9048 (build-system haskell-build-system)
9049 (home-page "https://github.com/ekmett/prelude-extras")
9050 (synopsis "Higher order versions of Prelude classes")
9051 (description "This library provides higher order versions of
9052 @code{Prelude} classes to ease programming with polymorphic recursion and
9053 reduce @code{UndecidableInstances}.")
9054 (license license:bsd-3)))
9055
9056 (define-public ghc-prettyclass
9057 (package
9058 (name "ghc-prettyclass")
9059 (version "1.0.0.0")
9060 (source
9061 (origin
9062 (method url-fetch)
9063 (uri (string-append "https://hackage.haskell.org/package/"
9064 "prettyclass/prettyclass-" version ".tar.gz"))
9065 (sha256
9066 (base32
9067 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9068 (build-system haskell-build-system)
9069 (home-page "https://hackage.haskell.org/package/prettyclass")
9070 (synopsis "Pretty printing class similar to Show")
9071 (description "This package provides a pretty printing class similar
9072 to @code{Show}, based on the HughesPJ pretty printing library. It
9073 provides the pretty printing class and instances for the Prelude
9074 types.")
9075 (license license:bsd-3)))
9076
9077 (define-public ghc-pretty-hex
9078 (package
9079 (name "ghc-pretty-hex")
9080 (version "1.0")
9081 (source
9082 (origin
9083 (method url-fetch)
9084 (uri (string-append "https://hackage.haskell.org/package/"
9085 "pretty-hex-" version "/"
9086 "pretty-hex-" version ".tar.gz"))
9087 (sha256
9088 (base32
9089 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9090 (build-system haskell-build-system)
9091 (home-page "https://github.com/GaloisInc/hexdump")
9092 (synopsis "Haskell library for hex dumps of ByteStrings")
9093 (description "This Haskell library generates pretty hex dumps of
9094 ByteStrings in the style of other common *nix hex dump tools.")
9095 (license license:bsd-3)))
9096
9097 (define-public ghc-pretty-show
9098 (package
9099 (name "ghc-pretty-show")
9100 (version "1.9.5")
9101 (source
9102 (origin
9103 (method url-fetch)
9104 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9105 "pretty-show-" version ".tar.gz"))
9106 (sha256
9107 (base32
9108 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
9109 (build-system haskell-build-system)
9110 (inputs
9111 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9112 ("ghc-happy" ,ghc-happy)))
9113 (home-page "http://wiki.github.com/yav/pretty-show")
9114 (synopsis "Tools for working with derived `Show` instances")
9115 (description
9116 "This package provides a library and an executable for working with
9117 derived @code{Show} instances. By using the library, derived @code{Show}
9118 instances can be parsed into a generic data structure. The @code{ppsh} tool
9119 uses the library to produce human-readable versions of @code{Show} instances,
9120 which can be quite handy for debugging Haskell programs. We can also render
9121 complex generic values into an interactive Html page, for easier
9122 examination.")
9123 (license license:expat)))
9124
9125 (define-public ghc-primitive
9126 (package
9127 (name "ghc-primitive")
9128 (version "0.6.4.0")
9129 (outputs '("out" "doc"))
9130 (source
9131 (origin
9132 (method url-fetch)
9133 (uri (string-append
9134 "https://hackage.haskell.org/package/primitive/primitive-"
9135 version
9136 ".tar.gz"))
9137 (sha256
9138 (base32
9139 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9140 (build-system haskell-build-system)
9141 (arguments
9142 `(#:cabal-revision
9143 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
9144 (home-page
9145 "https://github.com/haskell/primitive")
9146 (synopsis "Primitive memory-related operations")
9147 (description
9148 "This package provides various primitive memory-related operations.")
9149 (license license:bsd-3)))
9150
9151 (define-public ghc-process-extras
9152 (package
9153 (name "ghc-process-extras")
9154 (version "0.7.4")
9155 (source
9156 (origin
9157 (method url-fetch)
9158 (uri
9159 (string-append
9160 "https://hackage.haskell.org/package/process-extras/"
9161 "process-extras-" version ".tar.gz"))
9162 (sha256
9163 (base32
9164 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9165 (build-system haskell-build-system)
9166 (inputs
9167 `(("ghc-data-default" ,ghc-data-default)
9168 ("ghc-generic-deriving" ,ghc-generic-deriving)
9169 ("ghc-hunit" ,ghc-hunit)
9170 ("ghc-listlike" ,ghc-listlike)))
9171 (home-page "https://github.com/seereason/process-extras")
9172 (synopsis "Extra tools for managing processes")
9173 (description "This package extends
9174 @url{http://hackage.haskell.org/package/process}. It allows you to read
9175 process input and output as ByteStrings or Text, or write your own
9176 ProcessOutput instance. It also provides lazy process input and output,
9177 and a ProcessMaker class for more flexibility in the process creation
9178 API.")
9179 (license license:expat)))
9180
9181 (define-public ghc-profunctors
9182 (package
9183 (name "ghc-profunctors")
9184 (version "5.3")
9185 (source
9186 (origin
9187 (method url-fetch)
9188 (uri (string-append
9189 "https://hackage.haskell.org/package/profunctors/profunctors-"
9190 version
9191 ".tar.gz"))
9192 (sha256
9193 (base32
9194 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
9195 (build-system haskell-build-system)
9196 (inputs
9197 `(("ghc-base-orphans" ,ghc-base-orphans)
9198 ("ghc-bifunctors" ,ghc-bifunctors)
9199 ("ghc-comonad" ,ghc-comonad)
9200 ("ghc-contravariant" ,ghc-contravariant)
9201 ("ghc-distributive" ,ghc-distributive)
9202 ("ghc-semigroups" ,ghc-semigroups)
9203 ("ghc-tagged" ,ghc-tagged)))
9204 (home-page "https://github.com/ekmett/profunctors/")
9205 (synopsis "Profunctors for Haskell")
9206 (description "This library provides profunctors for Haskell.")
9207 (license license:bsd-3)))
9208
9209 (define-public ghc-project-template
9210 (package
9211 (name "ghc-project-template")
9212 (version "0.2.0.1")
9213 (source
9214 (origin
9215 (method url-fetch)
9216 (uri (string-append
9217 "https://hackage.haskell.org/package/project-template/project-template-"
9218 version ".tar.gz"))
9219 (sha256
9220 (base32
9221 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9222 (build-system haskell-build-system)
9223 (inputs
9224 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9225 ("ghc-conduit" ,ghc-conduit)
9226 ("ghc-conduit-extra" ,ghc-conduit-extra)
9227 ("ghc-resourcet" ,ghc-resourcet)))
9228 (native-inputs
9229 `(("ghc-hspec" ,ghc-hspec)
9230 ("hspec-discover" ,hspec-discover)
9231 ("ghc-quickcheck" ,ghc-quickcheck)))
9232 (arguments
9233 `(#:cabal-revision
9234 ("1"
9235 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9236 (home-page "https://github.com/fpco/haskell-ide")
9237 (synopsis "Specify Haskell project templates and generate files")
9238 (description
9239 "Haskell library for both generating and consuming project templates.
9240
9241 ost IDEs provide the concept of a project template: instead of writing all
9242 of the code for a project from scratch, you select a template, answer a few
9243 questions, and a bunch of files are automatically generated.
9244
9245 project-template tries to provide a canonical Haskell library for implementing
9246 the ideal templating system.")
9247 (license license:bsd-3)))
9248
9249 (define-public ghc-psqueues
9250 (package
9251 (name "ghc-psqueues")
9252 (version "0.2.7.2")
9253 (source
9254 (origin
9255 (method url-fetch)
9256 (uri (string-append "https://hackage.haskell.org/package/"
9257 "psqueues-" version "/"
9258 "psqueues-" version ".tar.gz"))
9259 (sha256
9260 (base32
9261 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
9262 (build-system haskell-build-system)
9263 (inputs
9264 `(("ghc-hashable" ,ghc-hashable)))
9265 (native-inputs
9266 `(("ghc-hunit" ,ghc-hunit)
9267 ("ghc-quickcheck" ,ghc-quickcheck)
9268 ("ghc-tagged" ,ghc-tagged)
9269 ("ghc-tasty" ,ghc-tasty)
9270 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9271 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9272 (home-page "https://github.com/jaspervdj/psqueues")
9273 (synopsis "Pure priority search queues")
9274 (description "The psqueues package provides
9275 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9276 three different flavors:
9277
9278 @itemize
9279 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9280 fast insertion, deletion and lookup. This implementation is based on Ralf
9281 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9282 Implementation Technique for Priority Search Queues}.
9283
9284 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9285 PSQueue} library, although it is considerably faster and provides a slightly
9286 different API.
9287
9288 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9289 key type to @code{Int} and uses a
9290 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9291 with an additional min-heap property.
9292
9293 @item @code{HashPSQ k p v} is a fairly straightforward extension
9294 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9295 @code{IntPSQ}. If there are any hash collisions, it uses an
9296 @code{OrdPSQ} to resolve those. The performance of this implementation
9297 is comparable to that of @code{IntPSQ}, but it is more widely
9298 applicable since the keys are not restricted to @code{Int},
9299 but rather to any @code{Hashable} datatype.
9300 @end itemize
9301
9302 Each of the three implementations provides the same API, so they can
9303 be used interchangeably.
9304
9305 Typical applications of Priority Search Queues include:
9306
9307 @itemize
9308 @item Caches, and more specifically LRU Caches;
9309 @item Schedulers;
9310 @item Pathfinding algorithms, such as Dijkstra's and A*.
9311 @end itemize")
9312 (license license:bsd-3)))
9313
9314 (define-public ghc-pwstore-fast
9315 (package
9316 (name "ghc-pwstore-fast")
9317 (version "2.4.4")
9318 (source
9319 (origin
9320 (method url-fetch)
9321 (uri (string-append
9322 "https://hackage.haskell.org/package/pwstore-fast/"
9323 "pwstore-fast-" version ".tar.gz"))
9324 (sha256
9325 (base32
9326 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9327 (build-system haskell-build-system)
9328 (inputs
9329 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9330 ("ghc-cryptohash" ,ghc-cryptohash)
9331 ("ghc-random" ,ghc-random)
9332 ("ghc-byteable" ,ghc-byteable)))
9333 (home-page "https://github.com/PeterScott/pwstore")
9334 (synopsis "Secure password storage")
9335 (description
9336 "To store passwords securely, they should be salted, then hashed with
9337 a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9338 details. It uses the cryptohash package for speed; if you need a pure
9339 Haskell library, pwstore-purehaskell has the exact same API, but uses only
9340 pure Haskell. It is about 25 times slower than this package, but still quite
9341 usable.")
9342 (license license:bsd-3)))
9343
9344 (define-public ghc-random
9345 (package
9346 (name "ghc-random")
9347 (version "1.1")
9348 (outputs '("out" "doc"))
9349 (source
9350 (origin
9351 (method url-fetch)
9352 (uri (string-append
9353 "https://hackage.haskell.org/package/random/random-"
9354 version
9355 ".tar.gz"))
9356 (sha256
9357 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9358 (build-system haskell-build-system)
9359 (home-page "https://hackage.haskell.org/package/random")
9360 (synopsis "Random number library")
9361 (description "This package provides a basic random number generation
9362 library, including the ability to split random number generators.")
9363 (license license:bsd-3)))
9364
9365 (define-public ghc-raw-strings-qq
9366 (package
9367 (name "ghc-raw-strings-qq")
9368 (version "1.1")
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append "https://hackage.haskell.org/package/"
9373 "raw-strings-qq/raw-strings-qq-"
9374 version ".tar.gz"))
9375 (sha256
9376 (base32
9377 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9378 (build-system haskell-build-system)
9379 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9380 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9381 (synopsis "Raw string literals for Haskell")
9382 (description
9383 "This package provides a quasiquoter for raw string literals, i.e. string
9384 literals that don't recognise the standard escape sequences. Basically, they
9385 make your code more readable by freeing you from the responsibility to escape
9386 backslashes. They are useful when working with regular expressions,
9387 DOS/Windows paths and markup languages (such as XML).")
9388 (license license:bsd-3)))
9389
9390 (define-public ghc-readable
9391 (package
9392 (name "ghc-readable")
9393 (version "0.3.1")
9394 (source
9395 (origin
9396 (method url-fetch)
9397 (uri (string-append "https://hackage.haskell.org/package/"
9398 "readable/readable-" version ".tar.gz"))
9399 (sha256
9400 (base32
9401 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9402 (build-system haskell-build-system)
9403 (home-page "https://github.com/mightybyte/readable")
9404 (synopsis "Type class for reading from Text and ByteString")
9405 (description "This package provides a @code{Readable} type class for
9406 reading data types from @code{ByteString} and @code{Text}. It also
9407 includes efficient implementations for common data types.")
9408 (license license:bsd-3)))
9409
9410 (define-public ghc-rebase
9411 (package
9412 (name "ghc-rebase")
9413 (version "1.3.1.1")
9414 (source
9415 (origin
9416 (method url-fetch)
9417 (uri (string-append "https://hackage.haskell.org/package/"
9418 "rebase-" version "/"
9419 "rebase-" version ".tar.gz"))
9420 (sha256
9421 (base32
9422 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
9423 (build-system haskell-build-system)
9424 (inputs `(("ghc-hashable" ,ghc-hashable)
9425 ("ghc-vector" ,ghc-vector)
9426 ("ghc-unordered-containers" ,ghc-unordered-containers)
9427 ("ghc-scientific" ,ghc-scientific)
9428 ("ghc-uuid" ,ghc-uuid)
9429 ("ghc-dlist" ,ghc-dlist)
9430 ("ghc-void" ,ghc-void)
9431 ("ghc-bifunctors" ,ghc-bifunctors)
9432 ("ghc-profunctors" ,ghc-profunctors)
9433 ("ghc-contravariant" ,ghc-contravariant)
9434 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9435 ("ghc-semigroups" ,ghc-semigroups)
9436 ("ghc-either" ,ghc-either)
9437 ("ghc-fail" ,ghc-fail)
9438 ("ghc-base-prelude" ,ghc-base-prelude)))
9439 (home-page "https://github.com/nikita-volkov/rebase")
9440 (synopsis "Progressive alternative to the base package
9441 for Haskell")
9442 (description "This Haskell package is intended for those who are
9443 tired of keeping long lists of dependencies to the same essential libraries
9444 in each package as well as the endless imports of the same APIs all over again.
9445
9446 It also supports the modern tendencies in the language.
9447
9448 To solve those problems this package does the following:
9449
9450 @itemize
9451 @item Reexport the original APIs under the @code{Rebase} namespace.
9452
9453 @item Export all the possible non-conflicting symbols from the
9454 @code{Rebase.Prelude} module.
9455
9456 @item Give priority to the modern practices in the conflicting cases.
9457 @end itemize
9458
9459 The policy behind the package is only to reexport the non-ambiguous and
9460 non-controversial APIs, which the community has obviously settled on.
9461 The package is intended to rapidly evolve with the contribution from
9462 the community, with the missing features being added with pull-requests.")
9463 (license license:expat)))
9464
9465 (define-public ghc-reducers
9466 (package
9467 (name "ghc-reducers")
9468 (version "3.12.3")
9469 (source
9470 (origin
9471 (method url-fetch)
9472 (uri (string-append
9473 "https://hackage.haskell.org/package/reducers/reducers-"
9474 version
9475 ".tar.gz"))
9476 (sha256
9477 (base32
9478 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9479 (build-system haskell-build-system)
9480 (inputs
9481 `(("ghc-fingertree" ,ghc-fingertree)
9482 ("ghc-hashable" ,ghc-hashable)
9483 ("ghc-unordered-containers" ,ghc-unordered-containers)
9484 ("ghc-semigroupoids" ,ghc-semigroupoids)
9485 ("ghc-semigroups" ,ghc-semigroups)))
9486 (home-page "https://github.com/ekmett/reducers/")
9487 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9488 (description "This library provides various semigroups, specialized
9489 containers and a general map/reduce framework for Haskell.")
9490 (license license:bsd-3)))
9491
9492 (define-public ghc-refact
9493 (package
9494 (name "ghc-refact")
9495 (version "0.3.0.2")
9496 (source
9497 (origin
9498 (method url-fetch)
9499 (uri (string-append "https://hackage.haskell.org/package/"
9500 "refact/refact-"
9501 version ".tar.gz"))
9502 (sha256
9503 (base32
9504 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9505 (build-system haskell-build-system)
9506 (home-page "https://hackage.haskell.org/package/refact")
9507 (synopsis "Specify refactorings to perform with apply-refact")
9508 (description
9509 "This library provides a datatype which can be interpreted by
9510 @code{apply-refact}. It exists as a separate library so that applications can
9511 specify refactorings without depending on GHC.")
9512 (license license:bsd-3)))
9513
9514 (define-public ghc-reflection
9515 (package
9516 (name "ghc-reflection")
9517 (version "2.1.5")
9518 (source
9519 (origin
9520 (method url-fetch)
9521 (uri (string-append
9522 "https://hackage.haskell.org/package/reflection/reflection-"
9523 version
9524 ".tar.gz"))
9525 (sha256
9526 (base32
9527 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
9528 (build-system haskell-build-system)
9529 (inputs `(("ghc-tagged" ,ghc-tagged)))
9530 (native-inputs
9531 `(("ghc-hspec" ,ghc-hspec)
9532 ("ghc-quickcheck" ,ghc-quickcheck)
9533 ("hspec-discover" ,hspec-discover)))
9534 (home-page "https://github.com/ekmett/reflection")
9535 (synopsis "Reify arbitrary terms into types that can be reflected back
9536 into terms")
9537 (description "This package addresses the 'configuration problem' which is
9538 propagating configurations that are available at run-time, allowing multiple
9539 configurations to coexist without resorting to mutable global variables or
9540 @code{System.IO.Unsafe.unsafePerformIO}.")
9541 (license license:bsd-3)))
9542
9543 (define-public ghc-regex
9544 (package
9545 (name "ghc-regex")
9546 (version "1.0.2.0")
9547 (source
9548 (origin
9549 (method url-fetch)
9550 (uri (string-append "https://hackage.haskell.org/package/regex/"
9551 "regex-" version ".tar.gz"))
9552 (sha256
9553 (base32
9554 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
9555 (build-system haskell-build-system)
9556 (arguments
9557 `(#:phases
9558 (modify-phases %standard-phases
9559 (add-after 'unpack 'relax-dependencies
9560 (lambda _
9561 (substitute* "regex.cabal"
9562 (("base-compat.*>=.*0.6.*")
9563 "base-compat >= 0.6\n")
9564 (("template-haskell.*>=.*2.7.*")
9565 "template-haskell >= 2.7\n"))
9566 #t)))))
9567 (inputs
9568 `(("ghc-base-compat" ,ghc-base-compat)
9569 ("ghc-hashable" ,ghc-hashable)
9570 ("ghc-regex-base" ,ghc-regex-base)
9571 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9572 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9573 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9574 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9575 ("ghc-unordered-containers" ,ghc-unordered-containers)
9576 ("ghc-utf8-string" ,ghc-utf8-string)))
9577 (home-page "http://regex.uk")
9578 (synopsis "Toolkit for regex-base")
9579 (description
9580 "This package provides a regular expression toolkit for @code{regex-base}
9581 with compile-time checking of regular expression syntax, data types for
9582 matches and captures, a text replacement toolkit, portable options, high-level
9583 AWK-like tools for building text processing apps, regular expression macros
9584 with parsers and test bench, comprehensive documentation, tutorials and
9585 copious examples.")
9586 (license license:bsd-3)))
9587
9588 (define-public ghc-regex-applicative
9589 (package
9590 (name "ghc-regex-applicative")
9591 (version "0.3.3.1")
9592 (source
9593 (origin
9594 (method url-fetch)
9595 (uri (string-append
9596 "https://hackage.haskell.org/package/regex-applicative/"
9597 "regex-applicative-" version ".tar.gz"))
9598 (sha256
9599 (base32
9600 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
9601 (build-system haskell-build-system)
9602 (inputs
9603 `(("ghc-smallcheck" ,ghc-smallcheck)
9604 ("ghc-tasty" ,ghc-tasty)
9605 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9606 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9607 (home-page "https://github.com/feuerbach/regex-applicative")
9608 (synopsis "Regex-based parsing with applicative interface")
9609 (description
9610 "@code{regex-applicative} is a Haskell library for parsing using
9611 regular expressions. Parsers can be built using Applicative interface.")
9612 (license license:expat)))
9613
9614 (define-public ghc-regex-base
9615 (package
9616 (name "ghc-regex-base")
9617 (version "0.93.2")
9618 (source
9619 (origin
9620 (method url-fetch)
9621 (uri (string-append
9622 "https://hackage.haskell.org/package/regex-base/regex-base-"
9623 version
9624 ".tar.gz"))
9625 (sha256
9626 (base32
9627 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9628 (build-system haskell-build-system)
9629 (home-page
9630 "https://sourceforge.net/projects/lazy-regex")
9631 (synopsis "Replaces/Enhances Text.Regex")
9632 (description "@code{Text.Regex.Base} provides the interface API for
9633 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9634 (license license:bsd-3)))
9635
9636 (define-public ghc-regex-compat
9637 (package
9638 (name "ghc-regex-compat")
9639 (version "0.95.1")
9640 (source
9641 (origin
9642 (method url-fetch)
9643 (uri (string-append
9644 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9645 version
9646 ".tar.gz"))
9647 (sha256
9648 (base32
9649 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9650 (build-system haskell-build-system)
9651 (inputs
9652 `(("ghc-regex-base" ,ghc-regex-base)
9653 ("ghc-regex-posix" ,ghc-regex-posix)))
9654 (home-page "https://sourceforge.net/projects/lazy-regex")
9655 (synopsis "Replaces/Enhances Text.Regex")
9656 (description "This library provides one module layer over
9657 @code{regex-posix} to replace @code{Text.Regex}.")
9658 (license license:bsd-3)))
9659
9660 (define-public ghc-regex-compat-tdfa
9661 (package
9662 (name "ghc-regex-compat-tdfa")
9663 (version "0.95.1.4")
9664 (source
9665 (origin
9666 (method url-fetch)
9667 (uri (string-append
9668 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9669 version ".tar.gz"))
9670 (sha256
9671 (base32
9672 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9673 (build-system haskell-build-system)
9674 (inputs
9675 `(("ghc-regex-base" ,ghc-regex-base)
9676 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9677 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9678 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9679 (description
9680 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9681 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9682 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9683 this problem.")
9684 (license license:bsd-3)))
9685
9686 (define-public ghc-regex-pcre-builtin
9687 (package
9688 (name "ghc-regex-pcre-builtin")
9689 (version "0.94.5.8.8.35")
9690 (source (origin
9691 (method url-fetch)
9692 (uri (string-append "https://hackage.haskell.org/package/"
9693 "regex-pcre-builtin/regex-pcre-builtin-"
9694 version ".tar.gz"))
9695 (sha256
9696 (base32
9697 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
9698 (build-system haskell-build-system)
9699 (inputs
9700 `(("ghc-regex-base" ,ghc-regex-base)))
9701 (home-page "https://hackage.haskell.org/package/regex-pcre")
9702 (synopsis "Enhancement of the builtin Text.Regex library")
9703 (description
9704 "This package is an enhancement of the @code{Text.Regex} library,
9705 providing the PCRE backend to accompany regex-base, with bundled code from
9706 @url{https://www.pcre.org}.")
9707 (license license:bsd-3)))
9708
9709 (define-public ghc-regex-posix
9710 (package
9711 (name "ghc-regex-posix")
9712 (version "0.95.2")
9713 (source
9714 (origin
9715 (method url-fetch)
9716 (uri (string-append
9717 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9718 version
9719 ".tar.gz"))
9720 (sha256
9721 (base32
9722 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9723 (build-system haskell-build-system)
9724 (inputs
9725 `(("ghc-regex-base" ,ghc-regex-base)))
9726 (home-page "https://sourceforge.net/projects/lazy-regex")
9727 (synopsis "POSIX regular expressions for Haskell")
9728 (description "This library provides the POSIX regex backend used by the
9729 Haskell library @code{regex-base}.")
9730 (license license:bsd-3)))
9731
9732 (define-public ghc-regex-tdfa
9733 (package
9734 (name "ghc-regex-tdfa")
9735 (version "1.2.3.2")
9736 (source
9737 (origin
9738 (method url-fetch)
9739 (uri (string-append
9740 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9741 version ".tar.gz"))
9742 (sha256
9743 (base32
9744 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
9745 (build-system haskell-build-system)
9746 (inputs
9747 `(("ghc-regex-base" ,ghc-regex-base)))
9748 (home-page "https://github.com/haskell-hvr/regex-tdfa")
9749 (synopsis "POSIX extended regular expressions in Haskell.")
9750 (description
9751 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9752 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9753 inspired by libtre.")
9754 (license license:bsd-3)))
9755
9756 (define-public ghc-regex-tdfa-text
9757 (package
9758 (name "ghc-regex-tdfa-text")
9759 (version "1.0.0.3")
9760 (source
9761 (origin
9762 (method url-fetch)
9763 (uri (string-append
9764 "https://hackage.haskell.org/package/regex-tdfa-text/"
9765 "regex-tdfa-text-" version ".tar.gz"))
9766 (sha256
9767 (base32
9768 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9769 (build-system haskell-build-system)
9770 (inputs
9771 `(("ghc-regex-base" ,ghc-regex-base)
9772 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9773 (home-page
9774 "https://hackage.haskell.org/package/regex-tdfa-text")
9775 (synopsis "Text interface for regex-tdfa")
9776 (description
9777 "This provides an extra text interface for regex-tdfa.")
9778 (license license:bsd-3)))
9779
9780 (define-public ghc-rerebase
9781 (package
9782 (name "ghc-rerebase")
9783 (version "1.3.1.1")
9784 (source
9785 (origin
9786 (method url-fetch)
9787 (uri (string-append
9788 "https://hackage.haskell.org/package/rerebase/rerebase-"
9789 version ".tar.gz"))
9790 (sha256
9791 (base32
9792 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
9793 (build-system haskell-build-system)
9794 (inputs
9795 `(("ghc-rebase" ,ghc-rebase)))
9796 (home-page "https://github.com/nikita-volkov/rerebase")
9797 (synopsis "Reexports from ``base'' with many other standard libraries")
9798 (description "A rich drop-in replacement for @code{base}. For details and
9799 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9800 the project's home page}.")
9801 (license license:expat)))
9802
9803 (define-public ghc-resolv
9804 (package
9805 (name "ghc-resolv")
9806 (version "0.1.1.2")
9807 (source
9808 (origin
9809 (method url-fetch)
9810 (uri (string-append
9811 "https://hackage.haskell.org/package/resolv/resolv-"
9812 version ".tar.gz"))
9813 (sha256
9814 (base32
9815 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
9816 (build-system haskell-build-system)
9817 (arguments
9818 `(#:phases
9819 (modify-phases %standard-phases
9820 (add-before 'configure 'update-constraints
9821 (lambda _
9822 (substitute* "resolv.cabal"
9823 (("tasty >= 1\\.1 && < 1\\.2")
9824 "tasty >= 1.1 && < 1.3"))
9825 #t)))))
9826 (inputs
9827 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
9828 (native-inputs
9829 `(("ghc-tasty" ,ghc-tasty)
9830 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9831 (home-page "https://github.com/haskell/hackage-security")
9832 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9833 (description "This package implements an API for accessing the
9834 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9835 resolver service via the standard @code{libresolv} system library (whose
9836 API is often available directly via the standard @code{libc} C library) on
9837 Unix systems.")
9838 (license license:gpl3)))
9839
9840 (define-public ghc-resource-pool
9841 (package
9842 (name "ghc-resource-pool")
9843 (version "0.2.3.2")
9844 (source
9845 (origin
9846 (method url-fetch)
9847 (uri (string-append "https://hackage.haskell.org/package/"
9848 "resource-pool-" version "/"
9849 "resource-pool-" version ".tar.gz"))
9850 (sha256
9851 (base32
9852 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9853 (build-system haskell-build-system)
9854 (inputs `(("ghc-hashable" ,ghc-hashable)
9855 ("ghc-monad-control" ,ghc-monad-control)
9856 ("ghc-transformers-base" ,ghc-transformers-base)
9857 ("ghc-vector" ,ghc-vector)))
9858 (home-page "https://github.com/bos/pool")
9859 (synopsis "Striped resource pooling implementation in Haskell")
9860 (description "This Haskell package provides striped pooling abstraction
9861 for managing flexibly-sized collections of resources such as database
9862 connections.")
9863 (license license:bsd-3)))
9864
9865 (define-public ghc-resourcet
9866 (package
9867 (name "ghc-resourcet")
9868 (version "1.2.2")
9869 (source
9870 (origin
9871 (method url-fetch)
9872 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9873 "resourcet-" version ".tar.gz"))
9874 (sha256
9875 (base32
9876 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
9877 (build-system haskell-build-system)
9878 (inputs
9879 `(("ghc-transformers-base" ,ghc-transformers-base)
9880 ("ghc-monad-control" ,ghc-monad-control)
9881 ("ghc-transformers-compat" ,ghc-transformers-compat)
9882 ("ghc-mmorph" ,ghc-mmorph)
9883 ("ghc-exceptions" ,ghc-exceptions)
9884 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9885 (native-inputs
9886 `(("ghc-lifted-base" ,ghc-lifted-base)
9887 ("ghc-hspec" ,ghc-hspec)))
9888 (home-page "https://github.com/snoyberg/conduit")
9889 (synopsis "Deterministic allocation and freeing of scarce resources")
9890 (description "ResourceT is a monad transformer which creates a region of
9891 code where you can safely allocate resources.")
9892 (license license:bsd-3)))
9893
9894 (define-public ghc-retry
9895 (package
9896 (name "ghc-retry")
9897 (version "0.8.1.0")
9898 (source
9899 (origin
9900 (method url-fetch)
9901 (uri (string-append "https://hackage.haskell.org/package/"
9902 "retry/retry-" version ".tar.gz"))
9903 (sha256
9904 (base32
9905 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9906 (build-system haskell-build-system)
9907 (inputs
9908 `(("ghc-exceptions" ,ghc-exceptions)
9909 ("ghc-random" ,ghc-random)))
9910 (native-inputs
9911 `(("ghc-hunit" ,ghc-hunit)
9912 ("ghc-tasty" ,ghc-tasty)
9913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9914 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9915 ("ghc-hedgehog" ,ghc-hedgehog)))
9916 (home-page "http://github.com/Soostone/retry")
9917 (synopsis "Retry combinators for monadic actions that may fail")
9918 (description "This package exposes combinators that can wrap
9919 arbitrary monadic actions. They run the action and potentially retry
9920 running it with some configurable delay for a configurable number of
9921 times. The purpose is to make it easier to work with IO and especially
9922 network IO actions that often experience temporary failure and warrant
9923 retrying of the original action. For example, a database query may time
9924 out for a while, in which case we should hang back for a bit and retry
9925 the query instead of simply raising an exception.")
9926 (license license:bsd-3)))
9927
9928 (define-public ghc-rfc5051
9929 (package
9930 (name "ghc-rfc5051")
9931 (version "0.1.0.4")
9932 (source
9933 (origin
9934 (method url-fetch)
9935 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9936 "rfc5051-" version ".tar.gz"))
9937 (sha256
9938 (base32
9939 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
9940 (build-system haskell-build-system)
9941 (home-page "https://hackage.haskell.org/package/rfc5051")
9942 (synopsis "Simple unicode collation as per RFC5051")
9943 (description
9944 "This library implements @code{unicode-casemap}, the simple, non
9945 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9946 unicode collation can be done using @code{text-icu}, but that is a big
9947 dependency that depends on a large C library, and @code{rfc5051} might be
9948 better for some purposes.")
9949 (license license:bsd-3)))
9950
9951 (define-public ghc-rio
9952 (package
9953 (name "ghc-rio")
9954 (version "0.1.12.0")
9955 (source
9956 (origin
9957 (method url-fetch)
9958 (uri (string-append
9959 "https://hackage.haskell.org/package/rio/rio-"
9960 version ".tar.gz"))
9961 (sha256
9962 (base32
9963 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
9964 (build-system haskell-build-system)
9965 (inputs
9966 `(("ghc-exceptions" ,ghc-exceptions)
9967 ("ghc-hashable" ,ghc-hashable)
9968 ("ghc-microlens" ,ghc-microlens)
9969 ("ghc-primitive" ,ghc-primitive)
9970 ("ghc-typed-process" ,ghc-typed-process)
9971 ("ghc-unliftio" ,ghc-unliftio)
9972 ("ghc-unordered-containers" ,ghc-unordered-containers)
9973 ("ghc-vector" ,ghc-vector)))
9974 (native-inputs
9975 `(("ghc-hspec" ,ghc-hspec)
9976 ("hspec-discover" ,hspec-discover)))
9977 (home-page "https://github.com/commercialhaskell/rio#readme")
9978 (synopsis "A standard library for Haskell")
9979 (description "This package works as a prelude replacement for Haskell,
9980 providing more functionality and types out of the box than the standard
9981 prelude (such as common data types like @code{ByteString} and
9982 @code{Text}), as well as removing common ``gotchas'', like partial
9983 functions and lazy I/O. The guiding principle here is:
9984 @itemize
9985 @item If something is safe to use in general and has no expected naming
9986 conflicts, expose it.
9987 @item If something should not always be used, or has naming conflicts,
9988 expose it from another module in the hierarchy.
9989 @end itemize")
9990 (license license:expat)))
9991
9992 (define-public ghc-safe
9993 (package
9994 (name "ghc-safe")
9995 (version "0.3.17")
9996 (source
9997 (origin
9998 (method url-fetch)
9999 (uri (string-append
10000 "https://hackage.haskell.org/package/safe/safe-"
10001 version
10002 ".tar.gz"))
10003 (sha256
10004 (base32
10005 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10006 (build-system haskell-build-system)
10007 (native-inputs
10008 `(("ghc-quickcheck" ,ghc-quickcheck)))
10009 (home-page "https://github.com/ndmitchell/safe#readme")
10010 (synopsis "Library of safe (exception free) functions")
10011 (description "This library provides wrappers around @code{Prelude} and
10012 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10013 exceptions.")
10014 (license license:bsd-3)))
10015
10016 (define-public ghc-safe-exceptions
10017 (package
10018 (name "ghc-safe-exceptions")
10019 (version "0.1.7.0")
10020 (source
10021 (origin
10022 (method url-fetch)
10023 (uri (string-append "https://hackage.haskell.org/package/"
10024 "safe-exceptions/safe-exceptions-"
10025 version ".tar.gz"))
10026 (sha256
10027 (base32
10028 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10029 (build-system haskell-build-system)
10030 (arguments
10031 '(#:cabal-revision
10032 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10033 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10034 (native-inputs
10035 `(("ghc-hspec" ,ghc-hspec)
10036 ("ghc-void" ,ghc-void)
10037 ("hspec-discover" ,hspec-discover)))
10038 (home-page "https://github.com/fpco/safe-exceptions")
10039 (synopsis "Safe, consistent, and easy exception handling")
10040 (description "Runtime exceptions - as exposed in @code{base} by the
10041 @code{Control.Exception} module - have long been an intimidating part of the
10042 Haskell ecosystem. This package is intended to overcome this. It provides a
10043 safe and simple API on top of the existing exception handling machinery. The
10044 API is equivalent to the underlying implementation in terms of power but
10045 encourages best practices to minimize the chances of getting the exception
10046 handling wrong.")
10047 (license license:expat)))
10048
10049 (define-public ghc-safeio
10050 (package
10051 (name "ghc-safeio")
10052 (version "0.0.5.0")
10053 (source
10054 (origin
10055 (method url-fetch)
10056 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10057 "safeio-" version ".tar.gz"))
10058 (sha256
10059 (base32
10060 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10061 (build-system haskell-build-system)
10062 (inputs
10063 `(("ghc-conduit" ,ghc-conduit)
10064 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10065 ("ghc-exceptions" ,ghc-exceptions)
10066 ("ghc-resourcet" ,ghc-resourcet)))
10067 (native-inputs
10068 `(("ghc-hunit" ,ghc-hunit)
10069 ("ghc-test-framework" ,ghc-test-framework)
10070 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10071 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10072 (home-page "https://github.com/luispedro/safeio")
10073 (synopsis "Write output to disk atomically")
10074 (description
10075 "This package implements utilities to perform atomic output so as to
10076 avoid the problem of partial intermediate files.")
10077 (license license:expat)))
10078
10079 (define-public ghc-safesemaphore
10080 (package
10081 (name "ghc-safesemaphore")
10082 (version "0.10.1")
10083 (source
10084 (origin
10085 (method url-fetch)
10086 (uri (string-append "https://hackage.haskell.org/package/"
10087 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10088 (sha256
10089 (base32
10090 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10091 (build-system haskell-build-system)
10092 (native-inputs
10093 `(("ghc-hunit" ,ghc-hunit)))
10094 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10095 (synopsis "Exception safe semaphores")
10096 (description "This library provides exception safe semaphores that can be
10097 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10098 are not exception safe and can be broken by @code{killThread}.")
10099 (license license:bsd-3)))
10100
10101 (define-public ghc-sandi
10102 (package
10103 (name "ghc-sandi")
10104 (version "0.5")
10105 (source
10106 (origin
10107 (method url-fetch)
10108 (uri (string-append
10109 "https://hackage.haskell.org/package/sandi/sandi-"
10110 version ".tar.gz"))
10111 (sha256
10112 (base32
10113 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
10114 (build-system haskell-build-system)
10115 (inputs
10116 `(("ghc-stringsearch" ,ghc-stringsearch)
10117 ("ghc-conduit" ,ghc-conduit)
10118 ("ghc-exceptions" ,ghc-exceptions)
10119 ("ghc-hunit" ,ghc-hunit)
10120 ("ghc-tasty" ,ghc-tasty)
10121 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10122 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10123 ("ghc-tasty-th" ,ghc-tasty-th)))
10124 (home-page "https://hackage.haskell.org/package/sandi")
10125 (synopsis "Data encoding library")
10126 (description "Reasonably fast data encoding library.")
10127 (license license:bsd-3)))
10128
10129 (define-public ghc-say
10130 (package
10131 (name "ghc-say")
10132 (version "0.1.0.1")
10133 (source
10134 (origin
10135 (method url-fetch)
10136 (uri (string-append
10137 "https://hackage.haskell.org/package/say/say-"
10138 version
10139 ".tar.gz"))
10140 (sha256
10141 (base32
10142 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10143 (build-system haskell-build-system)
10144 (native-inputs
10145 `(("ghc-hspec" ,ghc-hspec)
10146 ("hspec-discover" ,hspec-discover)
10147 ("ghc-unliftio" ,ghc-unliftio)))
10148 (home-page "https://github.com/fpco/say")
10149 (synopsis
10150 "Send textual messages to a Handle in a thread-friendly way")
10151 (description
10152 "A thread safe API to write a line of textual data to a Handle, such
10153 as sending some messages to the terminal - that has the following properties:
10154 @itemize
10155 @item Properly handle character encoding settings on the Handle
10156 @item For reasonably sized messages, ensure that the entire message is written
10157 in one chunk to avoid interleaving data with other threads
10158 @item Avoid unnecessary memory allocations and copies
10159 @item Minimize locking.
10160 @end itemize")
10161 (license license:expat)))
10162
10163 (define-public ghc-scientific
10164 (package
10165 (name "ghc-scientific")
10166 (version "0.3.6.2")
10167 (source
10168 (origin
10169 (method url-fetch)
10170 (uri (string-append
10171 "https://hackage.haskell.org/package/scientific/scientific-"
10172 version
10173 ".tar.gz"))
10174 (sha256
10175 (base32
10176 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10177 (build-system haskell-build-system)
10178 (inputs
10179 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10180 ("ghc-hashable" ,ghc-hashable)
10181 ("ghc-primitive" ,ghc-primitive)))
10182 (native-inputs
10183 `(("ghc-tasty" ,ghc-tasty)
10184 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10185 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10186 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10187 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10188 ("ghc-smallcheck" ,ghc-smallcheck)
10189 ("ghc-quickcheck" ,ghc-quickcheck)))
10190 (home-page "https://github.com/basvandijk/scientific")
10191 (synopsis "Numbers represented using scientific notation")
10192 (description "This package provides @code{Data.Scientific}, which provides
10193 the number type @code{Scientific}. Scientific numbers are arbitrary precision
10194 and space efficient. They are represented using
10195 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10196 notation}.")
10197 (license license:bsd-3)))
10198
10199 (define-public ghc-scientific-bootstrap
10200 (package
10201 (inherit ghc-scientific)
10202 (name "ghc-scientific-bootstrap")
10203 (arguments `(#:tests? #f))
10204 (inputs
10205 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10206 ("ghc-hashable" ,ghc-hashable)
10207 ("ghc-primitive" ,ghc-primitive)))
10208 (native-inputs '())
10209 (properties '((hidden? #t)))))
10210
10211 (define-public ghc-sdl
10212 (package
10213 (name "ghc-sdl")
10214 (version "0.6.7.0")
10215 (source
10216 (origin
10217 (method url-fetch)
10218 (uri (string-append
10219 "https://hackage.haskell.org/package/SDL/SDL-"
10220 version
10221 ".tar.gz"))
10222 (sha256
10223 (base32
10224 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10225 (build-system haskell-build-system)
10226 (inputs
10227 `(("sdl" ,sdl)))
10228 (home-page "https://hackage.haskell.org/package/SDL")
10229 (synopsis "LibSDL for Haskell")
10230 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10231 multimedia library designed to provide low level access to audio, keyboard,
10232 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10233 by MPEG playback software, emulators, and many popular games, including the
10234 award winning Linux port of \"Civilization: Call To Power.\"")
10235 (license license:bsd-3)))
10236
10237 (define-public ghc-sdl2
10238 (package
10239 (name "ghc-sdl2")
10240 (version "2.5.0.0")
10241 (source
10242 (origin
10243 (method url-fetch)
10244 (uri (string-append "https://hackage.haskell.org/package/"
10245 "sdl2/sdl2-" version ".tar.gz"))
10246 (sha256
10247 (base32
10248 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
10249 (build-system haskell-build-system)
10250 (arguments '(#:tests? #f)) ; tests require graphical environment
10251 (inputs
10252 `(("ghc-exceptions" ,ghc-exceptions)
10253 ("ghc-linear" ,ghc-linear)
10254 ("ghc-statevar" ,ghc-statevar)
10255 ("ghc-vector" ,ghc-vector)
10256 ("sdl2" ,sdl2)))
10257 (native-inputs
10258 `(("ghc-weigh" ,ghc-weigh)
10259 ("pkg-config" ,pkg-config)))
10260 (home-page "https://hackage.haskell.org/package/sdl2")
10261 (synopsis "High- and low-level bindings to the SDL library")
10262 (description
10263 "This package contains bindings to the SDL 2 library, in both high- and
10264 low-level forms. The @code{SDL} namespace contains high-level bindings, where
10265 enumerations are split into sum types, and we perform automatic
10266 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10267 translation of the C API into Haskell FFI calls. As such, this does not
10268 contain sum types nor error checking. Thus this namespace is suitable for
10269 building your own abstraction over SDL, but is not recommended for day-to-day
10270 programming.")
10271 (license license:bsd-3)))
10272
10273 (define-public ghc-sdl2-image
10274 (package
10275 (name "ghc-sdl2-image")
10276 (version "2.0.0")
10277 (source
10278 (origin
10279 (method url-fetch)
10280 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10281 "sdl2-image-" version ".tar.gz"))
10282 (sha256
10283 (base32
10284 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10285 (build-system haskell-build-system)
10286 (inputs
10287 `(("ghc-sdl2" ,ghc-sdl2)
10288 ("sdl2-image" ,sdl2-image)))
10289 (native-inputs
10290 `(("pkg-config" ,pkg-config)))
10291 (home-page "https://hackage.haskell.org/package/sdl2-image")
10292 (synopsis "Bindings to SDL2_image")
10293 (description "This package provides Haskell bindings to
10294 @code{SDL2_image}.")
10295 (license license:expat)))
10296
10297 (define-public ghc-sdl2-mixer
10298 (package
10299 (name "ghc-sdl2-mixer")
10300 (version "1.1.0")
10301 (source
10302 (origin
10303 (method url-fetch)
10304 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10305 "sdl2-mixer-" version ".tar.gz"))
10306 (sha256
10307 (base32
10308 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10309 (build-system haskell-build-system)
10310 (inputs
10311 `(("ghc-data-default-class" ,ghc-data-default-class)
10312 ("ghc-lifted-base" ,ghc-lifted-base)
10313 ("ghc-monad-control" ,ghc-monad-control)
10314 ("ghc-sdl2" ,ghc-sdl2)
10315 ("ghc-vector" ,ghc-vector)
10316 ("sdl2-mixer" ,sdl2-mixer)))
10317 (native-inputs
10318 `(("pkg-config" ,pkg-config)))
10319 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
10320 (synopsis "Bindings to SDL2 mixer")
10321 (description "This package provides Haskell bindings to
10322 @code{SDL2_mixer}.")
10323 (license license:bsd-3)))
10324
10325 (define-public ghc-sdl-image
10326 (package
10327 (name "ghc-sdl-image")
10328 (version "0.6.2.0")
10329 (source
10330 (origin
10331 (method url-fetch)
10332 (uri (string-append
10333 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10334 version
10335 ".tar.gz"))
10336 (sha256
10337 (base32
10338 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10339 (build-system haskell-build-system)
10340 (arguments
10341 `(#:configure-flags
10342 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10343 (sdl-image-include (string-append sdl-image "/include/SDL")))
10344 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10345 (inputs
10346 `(("ghc-sdl" ,ghc-sdl)
10347 ("sdl-image" ,sdl-image)))
10348 (home-page "https://hackage.haskell.org/package/SDL-image")
10349 (synopsis "Haskell bindings to libSDL_image")
10350 (description "SDL_image is an image file loading library. It loads images
10351 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10352 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10353 (license license:bsd-3)))
10354
10355 (define-public ghc-sdl-mixer
10356 (package
10357 (name "ghc-sdl-mixer")
10358 (version "0.6.3.0")
10359 (source
10360 (origin
10361 (method url-fetch)
10362 (uri (string-append
10363 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10364 version
10365 ".tar.gz"))
10366 (sha256
10367 (base32
10368 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10369 (build-system haskell-build-system)
10370 (arguments
10371 `(#:configure-flags
10372 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10373 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10374 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10375 (inputs
10376 `(("ghc-sdl" ,ghc-sdl)
10377 ("sdl-mixer" ,sdl-mixer)))
10378 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10379 (synopsis "Haskell bindings to libSDL_mixer")
10380 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10381 supports any number of simultaneously playing channels of 16 bit stereo audio,
10382 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10383 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10384 (license license:bsd-3)))
10385
10386 (define-public ghc-securemem
10387 (package
10388 (name "ghc-securemem")
10389 (version "0.1.10")
10390 (source
10391 (origin
10392 (method url-fetch)
10393 (uri (string-append "https://hackage.haskell.org/package/"
10394 "securemem-" version "/"
10395 "securemem-" version ".tar.gz"))
10396 (sha256
10397 (base32
10398 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10399 (build-system haskell-build-system)
10400 (inputs `(("ghc-byteable" ,ghc-byteable)
10401 ("ghc-memory" ,ghc-memory)))
10402 (home-page "https://github.com/vincenthz/hs-securemem")
10403 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10404 Haskell")
10405 (description "SecureMem is similar to ByteString, except that it provides
10406 a memory chunk that will be auto-scrubbed after it run out of scope.")
10407 (license license:bsd-3)))
10408
10409 (define-public ghc-semigroupoids
10410 (package
10411 (name "ghc-semigroupoids")
10412 (version "5.3.3")
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
10422 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
10423 (build-system haskell-build-system)
10424 (inputs
10425 `(("ghc-base-orphans" ,ghc-base-orphans)
10426 ("ghc-transformers-compat" ,ghc-transformers-compat)
10427 ("ghc-bifunctors" ,ghc-bifunctors)
10428 ("ghc-comonad" ,ghc-comonad)
10429 ("ghc-contravariant" ,ghc-contravariant)
10430 ("ghc-distributive" ,ghc-distributive)
10431 ("ghc-hashable" ,ghc-hashable)
10432 ("ghc-semigroups" ,ghc-semigroups)
10433 ("ghc-tagged" ,ghc-tagged)
10434 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10435 (native-inputs
10436 `(("cabal-doctest" ,cabal-doctest)
10437 ("ghc-doctest" ,ghc-doctest)))
10438 (home-page "https://github.com/ekmett/semigroupoids")
10439 (synopsis "Semigroupoids operations for Haskell")
10440 (description "This library provides a wide array of (semi)groupoids and
10441 operations for working with them. A @code{Semigroupoid} is a @code{Category}
10442 without the requirement of identity arrows for every object in the category.
10443 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10444 Finally, to work with these weaker structures it is beneficial to have
10445 containers that can provide stronger guarantees about their contents, so
10446 versions of @code{Traversable} and @code{Foldable} that can be folded with
10447 just a @code{Semigroup} are added.")
10448 (license license:bsd-3)))
10449
10450 (define-public ghc-semigroups
10451 (package
10452 (name "ghc-semigroups")
10453 (version "0.18.5")
10454 (source
10455 (origin
10456 (method url-fetch)
10457 (uri (string-append
10458 "https://hackage.haskell.org/package/semigroups/semigroups-"
10459 version
10460 ".tar.gz"))
10461 (sha256
10462 (base32
10463 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10464 (build-system haskell-build-system)
10465 (inputs
10466 `(("ghc-nats" ,ghc-nats)
10467 ("ghc-tagged" ,ghc-tagged)
10468 ("ghc-unordered-containers" ,ghc-unordered-containers)
10469 ("ghc-hashable" ,ghc-hashable)))
10470 (home-page "https://github.com/ekmett/semigroups/")
10471 (synopsis "Semigroup operations for Haskell")
10472 (description "This package provides semigroups for Haskell. In
10473 mathematics, a semigroup is an algebraic structure consisting of a set
10474 together with an associative binary operation. A semigroup generalizes a
10475 monoid in that there might not exist an identity element. It
10476 also (originally) generalized a group (a monoid with all inverses) to a type
10477 where every element did not have to have an inverse, thus the name
10478 semigroup.")
10479 (license license:bsd-3)))
10480
10481 (define-public ghc-semigroups-bootstrap
10482 (package
10483 (inherit ghc-semigroups)
10484 (name "ghc-semigroups-bootstrap")
10485 (inputs
10486 `(("ghc-nats" ,ghc-nats-bootstrap)
10487 ("ghc-tagged" ,ghc-tagged)
10488 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10489 ("ghc-hashable" ,ghc-hashable-bootstrap)))
10490 (properties '((hidden? #t)))))
10491
10492 (define-public ghc-setenv
10493 (package
10494 (name "ghc-setenv")
10495 (version "0.1.1.3")
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append
10500 "https://hackage.haskell.org/package/setenv/setenv-"
10501 version
10502 ".tar.gz"))
10503 (sha256
10504 (base32
10505 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10506 (build-system haskell-build-system)
10507 (home-page "https://hackage.haskell.org/package/setenv")
10508 (synopsis "Library for setting environment variables")
10509 (description "This package provides a Haskell library for setting
10510 environment variables.")
10511 (license license:expat)))
10512
10513 (define-public ghc-setlocale
10514 (package
10515 (name "ghc-setlocale")
10516 (version "1.0.0.9")
10517 (source (origin
10518 (method url-fetch)
10519 (uri (string-append
10520 "https://hackage.haskell.org/package/setlocale-"
10521 version "/setlocale-" version ".tar.gz"))
10522 (sha256
10523 (base32
10524 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
10525 (build-system haskell-build-system)
10526 (home-page "https://hackage.haskell.org/package/setlocale")
10527 (synopsis "Haskell bindings to setlocale")
10528 (description "This package provides Haskell bindings to the
10529 @code{setlocale} C function.")
10530 (license license:bsd-3)))
10531
10532 (define-public ghc-shakespeare
10533 (package
10534 (name "ghc-shakespeare")
10535 (version "2.0.22")
10536 (source
10537 (origin
10538 (method url-fetch)
10539 (uri (string-append "https://hackage.haskell.org/package/"
10540 "shakespeare-" version "/"
10541 "shakespeare-" version ".tar.gz"))
10542 (sha256
10543 (base32
10544 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
10545 (build-system haskell-build-system)
10546 (inputs `(("ghc-aeson" ,ghc-aeson)
10547 ("ghc-blaze-markup" ,ghc-blaze-markup)
10548 ("ghc-blaze-html" ,ghc-blaze-html)
10549 ("ghc-exceptions" ,ghc-exceptions)
10550 ("ghc-vector" ,ghc-vector)
10551 ("ghc-unordered-containers" ,ghc-unordered-containers)
10552 ("ghc-scientific" ,ghc-scientific)))
10553 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10554 ("ghc-hunit" ,ghc-hunit)
10555 ("hspec-discover" ,hspec-discover)))
10556 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10557 (synopsis "Family of type-safe template languages for Haskell")
10558 (description "This Haskell package provides a family of type-safe
10559 templates with simple variable interpolation. Shakespeare templates can
10560 be used inline with a quasi-quoter or in an external file and it
10561 interpolates variables according to the type being inserted.")
10562 (license license:expat)))
10563
10564 (define-public ghc-shelly
10565 (package
10566 (name "ghc-shelly")
10567 (version "1.8.1")
10568 (source
10569 (origin
10570 (method url-fetch)
10571 (uri (string-append
10572 "https://hackage.haskell.org/package/shelly/shelly-"
10573 version ".tar.gz"))
10574 (sha256
10575 (base32
10576 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10577 (build-system haskell-build-system)
10578 (inputs
10579 `(("ghc-unix-compat" ,ghc-unix-compat)
10580 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10581 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10582 ("ghc-monad-control" ,ghc-monad-control)
10583 ("ghc-lifted-base" ,ghc-lifted-base)
10584 ("ghc-lifted-async" ,ghc-lifted-async)
10585 ("ghc-exceptions" ,ghc-exceptions)
10586 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10587 ("ghc-async" ,ghc-async)
10588 ("ghc-transformers-base" ,ghc-transformers-base)
10589 ("ghc-hunit" ,ghc-hunit)
10590 ("ghc-hspec" ,ghc-hspec)
10591 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10592 (home-page "https://github.com/yesodweb/Shelly.hs")
10593 (synopsis "Shell-like (systems) programming in Haskell")
10594 (description
10595 "Shelly provides convenient systems programming in Haskell, similar in
10596 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10597 (license license:bsd-3)))
10598
10599 (define-public ghc-silently
10600 (package
10601 (name "ghc-silently")
10602 (version "1.2.5.1")
10603 (source
10604 (origin
10605 (method url-fetch)
10606 (uri (string-append
10607 "https://hackage.haskell.org/package/silently/silently-"
10608 version
10609 ".tar.gz"))
10610 (sha256
10611 (base32
10612 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
10613 (build-system haskell-build-system)
10614 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10615 ;; (inputs
10616 ;; `(("ghc-temporary" ,ghc-temporary)))
10617 (home-page "https://github.com/hspec/silently")
10618 (synopsis "Prevent writing to stdout")
10619 (description "This package provides functions to prevent or capture
10620 writing to stdout and other handles.")
10621 (license license:bsd-3)))
10622
10623 (define-public ghc-simple-reflect
10624 (package
10625 (name "ghc-simple-reflect")
10626 (version "0.3.3")
10627 (source
10628 (origin
10629 (method url-fetch)
10630 (uri (string-append
10631 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10632 version
10633 ".tar.gz"))
10634 (sha256
10635 (base32
10636 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10637 (build-system haskell-build-system)
10638 (home-page
10639 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10640 (synopsis
10641 "Simple reflection of expressions containing variables")
10642 (description
10643 "This package allows simple reflection of expressions containing
10644 variables. Reflection here means that a Haskell expression is turned into a
10645 string. The primary aim of this package is teaching and understanding; there
10646 are no options for manipulating the reflected expressions beyond showing
10647 them.")
10648 (license license:bsd-3)))
10649
10650 (define-public ghc-simple-sendfile
10651 (package
10652 (name "ghc-simple-sendfile")
10653 (version "0.2.30")
10654 (source
10655 (origin
10656 (method url-fetch)
10657 (uri (string-append "https://hackage.haskell.org/package/"
10658 "simple-sendfile-" version "/"
10659 "simple-sendfile-" version ".tar.gz"))
10660 (sha256
10661 (base32
10662 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
10663 (build-system haskell-build-system)
10664 (inputs
10665 `(("ghc-conduit" ,ghc-conduit)
10666 ("ghc-conduit-extra" ,ghc-conduit-extra)
10667 ("ghc-network" ,ghc-network)
10668 ("ghc-resourcet" ,ghc-resourcet)))
10669 (native-inputs
10670 `(("ghc-hspec" ,ghc-hspec)
10671 ("hspec-discover" ,hspec-discover)))
10672 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10673 (synopsis "Cross platform library for the sendfile system call")
10674 (description "This library tries to call minimum system calls which
10675 are the bottleneck of web servers.")
10676 (license license:bsd-3)))
10677
10678 (define-public ghc-size-based
10679 (package
10680 (name "ghc-size-based")
10681 (version "0.1.2.0")
10682 (source
10683 (origin
10684 (method url-fetch)
10685 (uri (string-append "https://hackage.haskell.org/package/"
10686 "size-based/size-based-" version ".tar.gz"))
10687 (sha256
10688 (base32
10689 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10690 (build-system haskell-build-system)
10691 (inputs
10692 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10693 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10694 ("ghc-semigroups" ,ghc-semigroups)))
10695 (arguments
10696 `(#:cabal-revision
10697 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10698 (home-page "https://hackage.haskell.org/package/size-based")
10699 (synopsis "Sized functors for size-based enumerations")
10700 (description "This library provides a framework for size-based
10701 enumerations.")
10702 (license license:bsd-3)))
10703
10704 (define-public ghc-skylighting-core
10705 (package
10706 (name "ghc-skylighting-core")
10707 (version "0.8.2.1")
10708 (source (origin
10709 (method url-fetch)
10710 (uri (string-append "https://hackage.haskell.org/package/"
10711 "skylighting-core/skylighting-core-"
10712 version ".tar.gz"))
10713 (sha256
10714 (base32
10715 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
10716 (build-system haskell-build-system)
10717 (inputs
10718 `(("ghc-aeson" ,ghc-aeson)
10719 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10720 ("ghc-attoparsec" ,ghc-attoparsec)
10721 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10722 ("ghc-blaze-html" ,ghc-blaze-html)
10723 ("ghc-case-insensitive" ,ghc-case-insensitive)
10724 ("ghc-colour" ,ghc-colour)
10725 ("ghc-hxt" ,ghc-hxt)
10726 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10727 ("ghc-safe" ,ghc-safe)
10728 ("ghc-utf8-string" ,ghc-utf8-string)))
10729 (native-inputs
10730 `(("ghc-diff" ,ghc-diff)
10731 ("ghc-hunit" ,ghc-hunit)
10732 ("ghc-pretty-show" ,ghc-pretty-show)
10733 ("ghc-quickcheck" ,ghc-quickcheck)
10734 ("ghc-tasty" ,ghc-tasty)
10735 ("ghc-tasty-golden" ,ghc-tasty-golden)
10736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10737 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10738 (home-page "https://github.com/jgm/skylighting")
10739 (synopsis "Syntax highlighting library")
10740 (description "Skylighting is a syntax highlighting library with support
10741 for over one hundred languages. It derives its tokenizers from XML syntax
10742 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10743 supported by that framework can be added. An optional command-line program is
10744 provided. Skylighting is intended to be the successor to highlighting-kate.")
10745 (license license:gpl2)))
10746
10747 (define-public ghc-skylighting
10748 (package
10749 (inherit ghc-skylighting-core)
10750 (name "ghc-skylighting")
10751 (version "0.8.2.1")
10752 (source (origin
10753 (method url-fetch)
10754 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10755 version "/skylighting-" version ".tar.gz"))
10756 (sha256
10757 (base32
10758 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
10759 (inputs
10760 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10761 ,@(package-inputs ghc-skylighting-core)))))
10762
10763 (define-public ghc-smallcheck
10764 (package
10765 (name "ghc-smallcheck")
10766 (version "1.1.5")
10767 (source
10768 (origin
10769 (method url-fetch)
10770 (uri (string-append
10771 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10772 version
10773 ".tar.gz"))
10774 (sha256
10775 (base32
10776 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10777 (build-system haskell-build-system)
10778 (inputs
10779 `(("ghc-logict" ,ghc-logict)))
10780 (home-page
10781 "https://github.com/feuerbach/smallcheck")
10782 (synopsis "Property-based testing library")
10783 (description "SmallCheck is a testing library that verifies
10784 properties for all test cases up to some depth. The test cases are generated
10785 automatically by SmallCheck.")
10786 (license license:bsd-3)))
10787
10788 (define-public ghc-socks
10789 (package
10790 (name "ghc-socks")
10791 (version "0.6.1")
10792 (source (origin
10793 (method url-fetch)
10794 (uri (string-append "https://hackage.haskell.org/package/"
10795 "socks/socks-" version ".tar.gz"))
10796 (sha256
10797 (base32
10798 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
10799 (build-system haskell-build-system)
10800 (inputs
10801 `(("ghc-cereal" ,ghc-cereal)
10802 ("ghc-basement" ,ghc-basement)
10803 ("ghc-network" ,ghc-network)))
10804 (home-page "https://github.com/vincenthz/hs-socks")
10805 (synopsis "SOCKS proxy (version 5) implementation")
10806 (description
10807 "This library provides a SOCKS proxy (version 5) implementation.")
10808 (license license:bsd-3)))
10809
10810 (define-public ghc-sop-core
10811 (package
10812 (name "ghc-sop-core")
10813 (version "0.4.0.0")
10814 (source
10815 (origin
10816 (method url-fetch)
10817 (uri (string-append "https://hackage.haskell.org/package/"
10818 "sop-core/sop-core-" version ".tar.gz"))
10819 (sha256
10820 (base32
10821 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10822 (build-system haskell-build-system)
10823 (home-page "https://hackage.haskell.org/package/sop-core")
10824 (synopsis "True Sums of Products")
10825 (description "This package provides an implementation of
10826 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10827 is the main module of this library and contains more detailed
10828 documentation. The main use case of this package is to serve as the
10829 core of @url{https://hackage.haskell.org/package/generics-sop,
10830 generics-sop}.")
10831 (license license:bsd-3)))
10832
10833 (define-public ghc-split
10834 (package
10835 (name "ghc-split")
10836 (version "0.2.3.3")
10837 (outputs '("out" "doc"))
10838 (source
10839 (origin
10840 (method url-fetch)
10841 (uri (string-append
10842 "https://hackage.haskell.org/package/split/split-"
10843 version
10844 ".tar.gz"))
10845 (sha256
10846 (base32
10847 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10848 (build-system haskell-build-system)
10849 (arguments
10850 `(#:cabal-revision
10851 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
10852 (native-inputs
10853 `(("ghc-quickcheck" ,ghc-quickcheck)))
10854 (home-page "https://hackage.haskell.org/package/split")
10855 (synopsis "Combinator library for splitting lists")
10856 (description "This package provides a collection of Haskell functions for
10857 splitting lists into parts, akin to the @code{split} function found in several
10858 mainstream languages.")
10859 (license license:bsd-3)))
10860
10861 (define-public ghc-splitmix
10862 (package
10863 (name "ghc-splitmix")
10864 (version "0.0.3")
10865 (source
10866 (origin
10867 (method url-fetch)
10868 (uri (string-append "https://hackage.haskell.org/package/"
10869 "splitmix/splitmix-" version ".tar.gz"))
10870 (sha256
10871 (base32
10872 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
10873 (build-system haskell-build-system)
10874 (inputs
10875 `(("ghc-random" ,ghc-random)))
10876 (native-inputs
10877 `(("ghc-hunit" ,ghc-hunit)
10878 ("ghc-async" ,ghc-async)
10879 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10880 ("ghc-tf-random" ,ghc-tf-random)
10881 ("ghc-vector" ,ghc-vector)))
10882 (home-page "https://hackage.haskell.org/package/splitmix")
10883 (synopsis "Fast and splittable pseudorandom number generator")
10884 (description "This package provides a Pure Haskell implementation of the
10885 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10886 pseudorandom number generator that is quite fast: 9 64-bit
10887 arithmetic/logical operations per 64 bits generated. SplitMix is tested
10888 with two standard statistical test suites (DieHarder and TestU01, this
10889 implementation only using the former) and it appears to be adequate for
10890 \"everyday\" use, such as Monte Carlo algorithms and randomized data
10891 structures where speed is important. In particular, it @strong{should not
10892 be used for cryptographic or security applications}, because generated
10893 sequences of pseudorandom values are too predictable (the mixing functions
10894 are easily inverted, and two successive outputs suffice to reconstruct the
10895 internal state).")
10896 (license license:bsd-3)))
10897
10898 (define-public ghc-splitmix-bootstrap
10899 (package
10900 (inherit ghc-splitmix)
10901 (name "ghc-splitmix-bootstrap")
10902 (arguments `(#:tests? #f))
10903 (native-inputs '())
10904 (properties '((hidden? #t)))))
10905
10906 (define-public ghc-statevar
10907 (package
10908 (name "ghc-statevar")
10909 (version "1.2")
10910 (source
10911 (origin
10912 (method url-fetch)
10913 (uri (string-append
10914 "https://hackage.haskell.org/package/StateVar/StateVar-"
10915 version
10916 ".tar.gz"))
10917 (sha256
10918 (base32
10919 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
10920 (build-system haskell-build-system)
10921 (home-page "https://hackage.haskell.org/package/StateVar")
10922 (synopsis "State variables for Haskell")
10923 (description "This package provides state variables, which are references
10924 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10925 (license license:bsd-3)))
10926
10927 (define-public ghc-statistics
10928 (package
10929 (name "ghc-statistics")
10930 (version "0.15.1.1")
10931 (source
10932 (origin
10933 (method url-fetch)
10934 (uri (string-append "https://hackage.haskell.org/package/"
10935 "statistics-" version "/"
10936 "statistics-" version ".tar.gz"))
10937 (sha256
10938 (base32
10939 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
10940 (build-system haskell-build-system)
10941 (arguments
10942 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
10943 #:tests? #f))
10944 (inputs
10945 `(("ghc-aeson" ,ghc-aeson)
10946 ("ghc-async" ,ghc-async)
10947 ("ghc-base-orphans" ,ghc-base-orphans)
10948 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
10949 ("ghc-math-functions" ,ghc-math-functions)
10950 ("ghc-monad-par" ,ghc-monad-par)
10951 ("ghc-mwc-random" ,ghc-mwc-random)
10952 ("ghc-primitive" ,ghc-primitive)
10953 ("ghc-vector" ,ghc-vector)
10954 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10955 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10956 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10957 (native-inputs
10958 `(("ghc-hunit" ,ghc-hunit)
10959 ("ghc-quickcheck" ,ghc-quickcheck)
10960 ("ghc-ieee754" ,ghc-ieee754)
10961 ("ghc-test-framework" ,ghc-test-framework)
10962 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10963 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10964 (home-page "https://github.com/bos/mwc-random")
10965 (synopsis "Haskell library of statistical types, data, and functions")
10966 (description "This library provides a number of common functions
10967 and types useful in statistics. We focus on high performance, numerical
10968 robustness, and use of good algorithms. Where possible, we provide references
10969 to the statistical literature.
10970
10971 The library's facilities can be divided into four broad categories:
10972
10973 @itemize
10974 @item Working with widely used discrete and continuous probability
10975 distributions. (There are dozens of exotic distributions in use; we focus
10976 on the most common.)
10977
10978 @item Computing with sample data: quantile estimation, kernel density
10979 estimation, histograms, bootstrap methods, significance testing,
10980 and regression and autocorrelation analysis.
10981
10982 @item Random variate generation under several different distributions.
10983
10984 @item Common statistical tests for significant differences between samples.
10985 @end itemize")
10986 (license license:bsd-2)))
10987
10988 (define-public ghc-stm-chans
10989 (package
10990 (name "ghc-stm-chans")
10991 (version "3.0.0.4")
10992 (source
10993 (origin
10994 (method url-fetch)
10995 (uri (string-append "https://hackage.haskell.org/package/"
10996 "stm-chans-" version "/"
10997 "stm-chans-" version ".tar.gz"))
10998 (sha256
10999 (base32
11000 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11001 (build-system haskell-build-system)
11002 (home-page "https://hackage.haskell.org/package/stm-chans")
11003 (synopsis "Additional types of channels for ghc-stm")
11004 (description "This Haskell package offers a collection of channel types,
11005 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11006 features.")
11007 (license license:bsd-3)))
11008
11009 (define-public ghc-stm-conduit
11010 (package
11011 (name "ghc-stm-conduit")
11012 (version "4.0.1")
11013 (source
11014 (origin
11015 (method url-fetch)
11016 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11017 "stm-conduit-" version ".tar.gz"))
11018 (sha256
11019 (base32
11020 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
11021 (build-system haskell-build-system)
11022 (inputs
11023 `(("ghc-stm-chans" ,ghc-stm-chans)
11024 ("ghc-cereal" ,ghc-cereal)
11025 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11026 ("ghc-conduit" ,ghc-conduit)
11027 ("ghc-conduit-extra" ,ghc-conduit-extra)
11028 ("ghc-exceptions" ,ghc-exceptions)
11029 ("ghc-resourcet" ,ghc-resourcet)
11030 ("ghc-async" ,ghc-async)
11031 ("ghc-monad-loops" ,ghc-monad-loops)
11032 ("ghc-unliftio" ,ghc-unliftio)))
11033 (native-inputs
11034 `(("ghc-doctest" ,ghc-doctest)
11035 ("ghc-quickcheck" ,ghc-quickcheck)
11036 ("ghc-hunit" ,ghc-hunit)
11037 ("ghc-test-framework" ,ghc-test-framework)
11038 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11039 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11040 (home-page "https://github.com/cgaebel/stm-conduit")
11041 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11042 (description
11043 "This package provides two simple conduit wrappers around STM channels: a
11044 source and a sink.")
11045 (license license:bsd-3)))
11046
11047 (define-public ghc-stmonadtrans
11048 (package
11049 (name "ghc-stmonadtrans")
11050 (version "0.4.3")
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11055 "/STMonadTrans-" version ".tar.gz"))
11056 (sha256
11057 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11058 (build-system haskell-build-system)
11059 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11060 (synopsis "Monad transformer version of the ST monad")
11061 (description
11062 "This package provides a monad transformer version of the @code{ST} monad
11063 for strict state threads.")
11064 (license license:bsd-3)))
11065
11066 (define-public ghc-storable-complex
11067 (package
11068 (name "ghc-storable-complex")
11069 (version "0.2.3.0")
11070 (source
11071 (origin
11072 (method url-fetch)
11073 (uri (string-append
11074 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11075 version ".tar.gz"))
11076 (sha256
11077 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
11078 (build-system haskell-build-system)
11079 (inputs
11080 `(("ghc-base-orphans" ,ghc-base-orphans)))
11081 (home-page "https://github.com/cartazio/storable-complex")
11082 (synopsis "Haskell Storable instance for Complex")
11083 (description "This package provides a Haskell library including a
11084 Storable instance for Complex which is binary compatible with C99, C++
11085 and Fortran complex data types.")
11086 (license license:bsd-3)))
11087
11088 (define-public ghc-storable-record
11089 (package
11090 (name "ghc-storable-record")
11091 (version "0.0.4")
11092 (source
11093 (origin
11094 (method url-fetch)
11095 (uri
11096 (string-append
11097 "https://hackage.haskell.org/package/storable-record/"
11098 "storable-record-" version ".tar.gz"))
11099 (sha256
11100 (base32
11101 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11102 (build-system haskell-build-system)
11103 (inputs
11104 `(("ghc-semigroups" ,ghc-semigroups)
11105 ("ghc-utility-ht" ,ghc-utility-ht)
11106 ("ghc-storablevector" ,ghc-storablevector)
11107 ("ghc-timeit" ,ghc-timeit)))
11108 (home-page "https://hackage.haskell.org/package/storable-record")
11109 (synopsis "Elegant definition of Storable instances for records")
11110 (description "With this package you can build a Storable instance of
11111 a record type from Storable instances of its elements in an elegant way.
11112 It does not do any magic, just a bit arithmetic to compute the right
11113 offsets, that would be otherwise done manually or by a preprocessor like
11114 C2HS. There is no guarantee that the generated memory layout is
11115 compatible with that of a corresponding C struct. However, the module
11116 generates the smallest layout that is possible with respect to the
11117 alignment of the record elements.")
11118 (license license:bsd-3)))
11119
11120 (define-public ghc-storable-tuple
11121 (package
11122 (name "ghc-storable-tuple")
11123 (version "0.0.3.3")
11124 (source
11125 (origin
11126 (method url-fetch)
11127 (uri
11128 (string-append
11129 "https://hackage.haskell.org/package/storable-tuple/"
11130 "storable-tuple-" version ".tar.gz"))
11131 (sha256
11132 (base32
11133 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11134 (build-system haskell-build-system)
11135 (inputs
11136 `(("ghc-storable-record" ,ghc-storable-record)
11137 ("ghc-utility-ht" ,ghc-utility-ht)
11138 ("ghc-base-orphans" ,ghc-base-orphans)))
11139 (home-page "https://hackage.haskell.org/package/storable-tuple")
11140 (synopsis "Storable instance for pairs and triples")
11141 (description "This package provides a Storable instance for pairs
11142 and triples which should be binary compatible with C99 and C++. The
11143 only purpose of this package is to provide a standard location for this
11144 instance so that other packages needing this instance can play nicely
11145 together.")
11146 (license license:bsd-3)))
11147
11148 (define-public ghc-storablevector
11149 (package
11150 (name "ghc-storablevector")
11151 (version "0.2.13")
11152 (source
11153 (origin
11154 (method url-fetch)
11155 (uri
11156 (string-append
11157 "https://hackage.haskell.org/package/storablevector/storablevector-"
11158 version ".tar.gz"))
11159 (sha256
11160 (base32
11161 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11162 (build-system haskell-build-system)
11163 (inputs
11164 `(("ghc-non-negative" ,ghc-non-negative)
11165 ("ghc-utility-ht" ,ghc-utility-ht)
11166 ("ghc-semigroups" ,ghc-semigroups)
11167 ("ghc-unsafe" ,ghc-unsafe)
11168 ("ghc-quickcheck" ,ghc-quickcheck)
11169 ("ghc-syb" ,ghc-syb)))
11170 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11171 (synopsis "Fast, packed, strict storable arrays with a list interface")
11172 (description "This library provides fast, packed, strict storable
11173 arrays with a list interface, a chunky lazy list interface with variable
11174 chunk size and an interface for write access via the ST monad. This is
11175 much like bytestring and binary but can be used for every
11176 @code{Foreign.Storable.Storable} type. See also
11177 @url{http://hackage.haskell.org/package/vector}, a library with a
11178 similar intention.
11179
11180 This library does not do advanced fusion optimization, since especially
11181 for lazy vectors this would either be incorrect or not applicable. See
11182 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11183 a library that provides fusion with lazy lists.")
11184 (license license:bsd-3)))
11185
11186 (define-public ghc-streaming-commons
11187 (package
11188 (name "ghc-streaming-commons")
11189 (version "0.2.1.1")
11190 (source
11191 (origin
11192 (method url-fetch)
11193 (uri (string-append "https://hackage.haskell.org/package/"
11194 "streaming-commons/streaming-commons-"
11195 version ".tar.gz"))
11196 (sha256
11197 (base32
11198 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11199 (build-system haskell-build-system)
11200 (inputs
11201 `(("ghc-async" ,ghc-async)
11202 ("ghc-blaze-builder" ,ghc-blaze-builder)
11203 ("ghc-network" ,ghc-network)
11204 ("ghc-random" ,ghc-random)
11205 ("ghc-zlib" ,ghc-zlib)))
11206 (native-inputs
11207 `(("ghc-quickcheck" ,ghc-quickcheck)
11208 ("ghc-hspec" ,ghc-hspec)
11209 ("hspec-discover" ,hspec-discover)))
11210 (home-page "https://hackage.haskell.org/package/streaming-commons")
11211 (synopsis "Conduit and pipes needed by some streaming data libraries")
11212 (description "This package provides low-dependency functionality commonly
11213 needed by various Haskell streaming data libraries, such as @code{conduit} and
11214 @code{pipe}s.")
11215 (license license:expat)))
11216
11217 (define-public ghc-strict
11218 (package
11219 (name "ghc-strict")
11220 (version "0.3.2")
11221 (source
11222 (origin
11223 (method url-fetch)
11224 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11225 version ".tar.gz"))
11226 (sha256
11227 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11228 (build-system haskell-build-system)
11229 (home-page "https://hackage.haskell.org/package/strict")
11230 (synopsis "Strict data types and String IO")
11231 (description
11232 "This package provides strict versions of some standard Haskell data
11233 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11234 IO operations.")
11235 (license license:bsd-3)))
11236
11237 (define-public ghc-stringbuilder
11238 (package
11239 (name "ghc-stringbuilder")
11240 (version "0.5.1")
11241 (source
11242 (origin
11243 (method url-fetch)
11244 (uri (string-append
11245 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11246 version
11247 ".tar.gz"))
11248 (sha256
11249 (base32
11250 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11251 (build-system haskell-build-system)
11252 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11253 ; enabled
11254 (home-page "https://hackage.haskell.org/package/stringbuilder")
11255 (synopsis "Writer monad for multi-line string literals")
11256 (description "This package provides a writer monad for multi-line string
11257 literals.")
11258 (license license:expat)))
11259
11260 (define-public ghc-string-qq
11261 (package
11262 (name "ghc-string-qq")
11263 (version "0.0.4")
11264 (source
11265 (origin
11266 (method url-fetch)
11267 (uri (string-append
11268 "https://hackage.haskell.org/package/string-qq/string-qq-"
11269 version
11270 ".tar.gz"))
11271 (sha256
11272 (base32
11273 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
11274 (build-system haskell-build-system)
11275 (native-inputs
11276 `(("ghc-hunit" ,ghc-hunit)))
11277 (home-page "https://hackage.haskell.org/package/string-qq")
11278 (synopsis
11279 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11280 (description
11281 "This package provides a quasiquoter for non-interpolated strings, texts
11282 and bytestrings.")
11283 (license license:public-domain)))
11284
11285 (define-public ghc-stringsearch
11286 (package
11287 (name "ghc-stringsearch")
11288 (version "0.3.6.6")
11289 (source
11290 (origin
11291 (method url-fetch)
11292 (uri (string-append
11293 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11294 version
11295 ".tar.gz"))
11296 (sha256
11297 (base32
11298 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11299 (build-system haskell-build-system)
11300 (arguments
11301 `(#:cabal-revision
11302 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
11303 (home-page "https://bitbucket.org/dafis/stringsearch")
11304 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11305 (description "This package provides several functions to quickly search
11306 for substrings in strict or lazy @code{ByteStrings}. It also provides
11307 functions for breaking or splitting on substrings and replacing all
11308 occurrences of a substring (the first in case of overlaps) with another.")
11309 (license license:bsd-3)))
11310
11311 (define-public ghc-svg-builder
11312 (package
11313 (name "ghc-svg-builder")
11314 (version "0.1.1")
11315 (source
11316 (origin
11317 (method url-fetch)
11318 (uri (string-append "https://hackage.haskell.org/package/"
11319 "svg-builder/svg-builder-" version ".tar.gz"))
11320 (sha256
11321 (base32
11322 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11323 (build-system haskell-build-system)
11324 (inputs
11325 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11326 ("ghc-hashable" ,ghc-hashable)
11327 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11328 (arguments
11329 `(#:cabal-revision
11330 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11331 (home-page "https://github.com/diagrams/svg-builder.git")
11332 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11333 (description "Easy-to-write domain-specific language (DSL) for
11334 building Scalable Vector Graphics (SVG).")
11335 (license license:bsd-3)))
11336
11337 (define-public ghc-syb
11338 (package
11339 (name "ghc-syb")
11340 (version "0.7.1")
11341 (outputs '("out" "doc"))
11342 (source
11343 (origin
11344 (method url-fetch)
11345 (uri (string-append
11346 "https://hackage.haskell.org/package/syb/syb-"
11347 version
11348 ".tar.gz"))
11349 (sha256
11350 (base32
11351 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
11352 (build-system haskell-build-system)
11353 (inputs
11354 `(("ghc-hunit" ,ghc-hunit)))
11355 (home-page
11356 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11357 (synopsis "Scrap Your Boilerplate")
11358 (description "This package contains the generics system described in the
11359 /Scrap Your Boilerplate/ papers (see
11360 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11361 defines the @code{Data} class of types permitting folding and unfolding of
11362 constructor applications, instances of this class for primitive types, and a
11363 variety of traversals.")
11364 (license license:bsd-3)))
11365
11366 (define-public ghc-system-fileio
11367 (package
11368 (name "ghc-system-fileio")
11369 (version "0.3.16.4")
11370 (source
11371 (origin
11372 (method url-fetch)
11373 (uri (string-append
11374 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11375 version ".tar.gz"))
11376 (sha256
11377 (base32
11378 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
11379 (build-system haskell-build-system)
11380 (arguments
11381 `(#:phases
11382 (modify-phases %standard-phases
11383 (add-before 'configure 'update-constraints
11384 (lambda _
11385 (substitute* "system-fileio.cabal"
11386 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11387 #t)))))
11388 (inputs
11389 `(("ghc-system-filepath" ,ghc-system-filepath)
11390 ("ghc-chell" ,ghc-chell)
11391 ("ghc-temporary" ,ghc-temporary)))
11392 (home-page "https://github.com/fpco/haskell-filesystem")
11393 (synopsis "Consistent file system interaction across GHC versions")
11394 (description
11395 "This is a small wrapper around the directory, unix, and Win32 packages,
11396 for use with system-filepath. It provides a consistent API to the various
11397 versions of these packages distributed with different versions of GHC.
11398 In particular, this library supports working with POSIX files that have paths
11399 which can't be decoded in the current locale encoding.")
11400 (license license:expat)))
11401
11402 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
11403 ;; ghc-system-filepath.
11404 (define ghc-system-fileio-bootstrap
11405 (package
11406 (name "ghc-system-fileio-bootstrap")
11407 (version "0.3.16.3")
11408 (source
11409 (origin
11410 (method url-fetch)
11411 (uri (string-append
11412 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11413 version ".tar.gz"))
11414 (sha256
11415 (base32
11416 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11417 (build-system haskell-build-system)
11418 (arguments
11419 `(#:tests? #f))
11420 (inputs
11421 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11422 ("ghc-temporary" ,ghc-temporary)))
11423 (home-page "https://github.com/fpco/haskell-filesystem")
11424 (synopsis "Consistent file system interaction across GHC versions")
11425 (description
11426 "This is a small wrapper around the directory, unix, and Win32 packages,
11427 for use with system-filepath. It provides a consistent API to the various
11428 versions of these packages distributed with different versions of GHC.
11429 In particular, this library supports working with POSIX files that have paths
11430 which can't be decoded in the current locale encoding.")
11431 (license license:expat)))
11432
11433
11434 (define-public ghc-system-filepath
11435 (package
11436 (name "ghc-system-filepath")
11437 (version "0.4.14")
11438 (source
11439 (origin
11440 (method url-fetch)
11441 (uri (string-append
11442 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11443 version ".tar.gz"))
11444 (sha256
11445 (base32
11446 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11447 (build-system haskell-build-system)
11448 ;; FIXME: One of the tests fails:
11449 ;; [ FAIL ] tests.validity.posix
11450 ;; note: seed=7310214548328823169
11451 ;; *** Failed! Falsifiable (after 24 tests):
11452 ;; 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"
11453 (arguments `(#:tests? #f))
11454 (inputs
11455 `(("ghc-chell" ,ghc-chell)
11456 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11457 ("ghc-quickcheck" ,ghc-quickcheck)))
11458 (home-page "https://github.com/fpco/haskell-filesystem")
11459 (synopsis "High-level, byte-based file and directory path manipulations")
11460 (description
11461 "Provides a FilePath datatype and utility functions for operating on it.
11462 Unlike the filepath package, this package does not simply reuse String,
11463 increasing type safety.")
11464 (license license:expat)))
11465
11466 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11467 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11468 ;; which depends on ghc-chell and ghc-chell-quickcheck.
11469 ;; Therefore we bootstrap it with tests disabled.
11470 (define ghc-system-filepath-bootstrap
11471 (package
11472 (name "ghc-system-filepath-bootstrap")
11473 (version "0.4.14")
11474 (source
11475 (origin
11476 (method url-fetch)
11477 (uri (string-append
11478 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11479 version ".tar.gz"))
11480 (sha256
11481 (base32
11482 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11483 (build-system haskell-build-system)
11484 (arguments
11485 `(#:tests? #f))
11486 (inputs
11487 `(("ghc-quickcheck" ,ghc-quickcheck)))
11488 (home-page "https://github.com/fpco/haskell-filesystem")
11489 (synopsis "High-level, byte-based file and directory path manipulations")
11490 (description
11491 "Provides a FilePath datatype and utility functions for operating on it.
11492 Unlike the filepath package, this package does not simply reuse String,
11493 increasing type safety.")
11494 (license license:expat)))
11495
11496
11497 (define-public ghc-tagged
11498 (package
11499 (name "ghc-tagged")
11500 (version "0.8.6")
11501 (source
11502 (origin
11503 (method url-fetch)
11504 (uri (string-append
11505 "https://hackage.haskell.org/package/tagged/tagged-"
11506 version
11507 ".tar.gz"))
11508 (sha256
11509 (base32
11510 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
11511 (build-system haskell-build-system)
11512 (arguments
11513 `(#:cabal-revision
11514 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
11515 (inputs
11516 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11517 (home-page "https://hackage.haskell.org/package/tagged")
11518 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11519 (description "This library provides phantom types for Haskell 98, to avoid
11520 having to unsafely pass dummy arguments.")
11521 (license license:bsd-3)))
11522
11523 (define-public ghc-tar
11524 (package
11525 (name "ghc-tar")
11526 (version "0.5.1.1")
11527 (source
11528 (origin
11529 (method url-fetch)
11530 (uri (string-append
11531 "https://hackage.haskell.org/package/tar/tar-"
11532 version ".tar.gz"))
11533 (sha256
11534 (base32
11535 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
11536 (build-system haskell-build-system)
11537 ;; FIXME: 2/24 tests fail.
11538 (arguments `(#:tests? #f))
11539 (inputs
11540 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11541 ("ghc-quickcheck" ,ghc-quickcheck)
11542 ("ghc-tasty" ,ghc-tasty)
11543 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11544 (home-page "https://hackage.haskell.org/package/tar")
11545 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11546 (description
11547 "This library is for working with \\\"@.tar@\\\" archive files.
11548 It can read and write a range of common variations of the tar archive format
11549 including V7, POSIX USTAR and GNU formats. It provides support for packing and
11550 unpacking portable archives. This makes it suitable for distribution but not
11551 backup because details like file ownership and exact permissions are not
11552 preserved. It also provides features for random access to archive content using
11553 an index.")
11554 (license license:bsd-3)))
11555
11556 (define-public ghc-tar-conduit
11557 (package
11558 (name "ghc-tar-conduit")
11559 (version "0.3.2")
11560 (source
11561 (origin
11562 (method url-fetch)
11563 (uri (string-append "https://hackage.haskell.org/package/"
11564 "tar-conduit/tar-conduit-" version ".tar.gz"))
11565 (sha256
11566 (base32
11567 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11568 (build-system haskell-build-system)
11569 (inputs
11570 `(("ghc-conduit" ,ghc-conduit)
11571 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11572 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11573 (native-inputs
11574 `(("ghc-quickcheck" ,ghc-quickcheck)
11575 ("ghc-conduit-extra" ,ghc-conduit-extra)
11576 ("ghc-hspec" ,ghc-hspec)
11577 ("ghc-hspec" ,ghc-hspec)
11578 ("ghc-weigh" ,ghc-weigh)))
11579 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11580 (synopsis "Extract and create tar files using conduit for streaming")
11581 (description "This library provides a conduit-based, streaming
11582 interface for extracting and creating tar files.")
11583 (license license:expat)))
11584
11585 (define-public ghc-temporary
11586 (package
11587 (name "ghc-temporary")
11588 (version "1.3")
11589 (source
11590 (origin
11591 (method url-fetch)
11592 (uri (string-append
11593 "https://hackage.haskell.org/package/temporary/temporary-"
11594 version
11595 ".tar.gz"))
11596 (sha256
11597 (base32
11598 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11599 (build-system haskell-build-system)
11600 (inputs
11601 `(("ghc-exceptions" ,ghc-exceptions)
11602 ("ghc-random" ,ghc-random)))
11603 (native-inputs
11604 `(("ghc-base-compat" ,ghc-base-compat)
11605 ("ghc-tasty" ,ghc-tasty)
11606 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11607 (home-page "https://www.github.com/batterseapower/temporary")
11608 (synopsis "Temporary file and directory support")
11609 (description "The functions for creating temporary files and directories
11610 in the Haskelll base library are quite limited. This library just repackages
11611 the Cabal implementations of its own temporary file and folder functions so
11612 that you can use them without linking against Cabal or depending on it being
11613 installed.")
11614 (license license:bsd-3)))
11615
11616 (define-public ghc-temporary-rc
11617 (package
11618 (name "ghc-temporary-rc")
11619 (version "1.2.0.3")
11620 (source
11621 (origin
11622 (method url-fetch)
11623 (uri (string-append
11624 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11625 version
11626 ".tar.gz"))
11627 (sha256
11628 (base32
11629 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11630 (build-system haskell-build-system)
11631 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11632 (home-page
11633 "https://www.github.com/feuerbach/temporary")
11634 (synopsis
11635 "Portable temporary file and directory support")
11636 (description
11637 "The functions for creating temporary files and directories in the base
11638 library are quite limited. The unixutils package contains some good ones, but
11639 they aren't portable to Windows. This library just repackages the Cabal
11640 implementations of its own temporary file and folder functions so that you can
11641 use them without linking against Cabal or depending on it being installed.
11642 This is a better maintained fork of the \"temporary\" package.")
11643 (license license:bsd-3)))
11644
11645 (define-public ghc-terminal-size
11646 (package
11647 (name "ghc-terminal-size")
11648 (version "0.3.2.1")
11649 (source (origin
11650 (method url-fetch)
11651 (uri (string-append
11652 "https://hackage.haskell.org/package/terminal-size/"
11653 "terminal-size-" version ".tar.gz"))
11654 (sha256
11655 (base32
11656 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11657 (build-system haskell-build-system)
11658 (home-page "https://hackage.haskell.org/package/terminal-size")
11659 (synopsis "Get terminal window height and width")
11660 (description "Get terminal window height and width without ncurses
11661 dependency.")
11662 (license license:bsd-3)))
11663
11664 (define-public ghc-texmath
11665 (package
11666 (name "ghc-texmath")
11667 (version "0.11.3")
11668 (source (origin
11669 (method url-fetch)
11670 (uri (string-append "https://hackage.haskell.org/package/"
11671 "texmath/texmath-" version ".tar.gz"))
11672 (sha256
11673 (base32
11674 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
11675 (build-system haskell-build-system)
11676 (inputs
11677 `(("ghc-syb" ,ghc-syb)
11678 ("ghc-network-uri" ,ghc-network-uri)
11679 ("ghc-split" ,ghc-split)
11680 ("ghc-temporary" ,ghc-temporary)
11681 ("ghc-utf8-string" ,ghc-utf8-string)
11682 ("ghc-xml" ,ghc-xml)
11683 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11684 (home-page "https://github.com/jgm/texmath")
11685 (synopsis "Conversion between formats used to represent mathematics")
11686 (description
11687 "The texmath library provides functions to read and write TeX math,
11688 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11689 Office). Support is also included for converting math formats to pandoc's
11690 native format (allowing conversion, via pandoc, to a variety of different
11691 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11692 it can parse and apply LaTeX macros.")
11693 (license license:gpl2+)))
11694
11695 (define-public ghc-text-binary
11696 (package
11697 (name "ghc-text-binary")
11698 (version "0.2.1.1")
11699 (source
11700 (origin
11701 (method url-fetch)
11702 (uri (string-append "https://hackage.haskell.org/package/"
11703 "text-binary/text-binary-"
11704 version ".tar.gz"))
11705 (sha256
11706 (base32
11707 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11708 (build-system haskell-build-system)
11709 (home-page "https://github.com/kawu/text-binary")
11710 (synopsis "Binary instances for text types")
11711 (description
11712 "This package provides a compatibility layer providing @code{Binary}
11713 instances for strict and lazy text types for versions older than 1.2.1 of the
11714 text package.")
11715 (license license:bsd-2)))
11716
11717 (define-public ghc-text-metrics
11718 (package
11719 (name "ghc-text-metrics")
11720 (version "0.3.0")
11721 (source
11722 (origin
11723 (method url-fetch)
11724 (uri (string-append "https://hackage.haskell.org/package/"
11725 "text-metrics/text-metrics-" version ".tar.gz"))
11726 (sha256
11727 (base32
11728 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11729 (build-system haskell-build-system)
11730 (inputs
11731 `(("ghc-vector" ,ghc-vector)))
11732 (native-inputs
11733 `(("ghc-quickcheck" ,ghc-quickcheck)
11734 ("ghc-hspec" ,ghc-hspec)))
11735 (arguments
11736 `(#:cabal-revision
11737 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11738 (home-page "https://github.com/mrkkrp/text-metrics")
11739 (synopsis "Calculate various string metrics efficiently")
11740 (description "This library provides tools to calculate various
11741 string metrics efficiently.")
11742 (license license:bsd-3)))
11743
11744 (define-public ghc-tf-random
11745 (package
11746 (name "ghc-tf-random")
11747 (version "0.5")
11748 (outputs '("out" "doc"))
11749 (source
11750 (origin
11751 (method url-fetch)
11752 (uri (string-append
11753 "https://hackage.haskell.org/package/tf-random/tf-random-"
11754 version
11755 ".tar.gz"))
11756 (sha256
11757 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11758 (build-system haskell-build-system)
11759 (inputs
11760 `(("ghc-primitive" ,ghc-primitive)
11761 ("ghc-random" ,ghc-random)))
11762 (home-page "https://hackage.haskell.org/package/tf-random")
11763 (synopsis "High-quality splittable pseudorandom number generator")
11764 (description "This package contains an implementation of a high-quality
11765 splittable pseudorandom number generator. The generator is based on a
11766 cryptographic hash function built on top of the ThreeFish block cipher. See
11767 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11768 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11769 (license license:bsd-3)))
11770
11771 (define-public ghc-th-abstraction
11772 (package
11773 (name "ghc-th-abstraction")
11774 (version "0.3.1.0")
11775 (source
11776 (origin
11777 (method url-fetch)
11778 (uri (string-append "https://hackage.haskell.org/package/"
11779 "th-abstraction/th-abstraction-"
11780 version ".tar.gz"))
11781 (sha256
11782 (base32
11783 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
11784 (build-system haskell-build-system)
11785 (home-page "https://github.com/glguy/th-abstraction")
11786 (synopsis "Nicer interface for reified information about data types")
11787 (description
11788 "This package normalizes variations in the interface for inspecting
11789 datatype information via Template Haskell so that packages and support a
11790 single, easier to use informational datatype while supporting many versions of
11791 Template Haskell.")
11792 (license license:isc)))
11793
11794 (define-public ghc-th-expand-syns
11795 (package
11796 (name "ghc-th-expand-syns")
11797 (version "0.4.5.0")
11798 (source (origin
11799 (method url-fetch)
11800 (uri (string-append "https://hackage.haskell.org/package/"
11801 "th-expand-syns/th-expand-syns-"
11802 version ".tar.gz"))
11803 (sha256
11804 (base32
11805 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
11806 (build-system haskell-build-system)
11807 (inputs
11808 `(("ghc-syb" ,ghc-syb)))
11809 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11810 (synopsis "Expands type synonyms in Template Haskell ASTs")
11811 (description
11812 "This package enables users to expand type synonyms in Template Haskell
11813 @dfn{abstract syntax trees} (ASTs).")
11814 (license license:bsd-3)))
11815
11816 (define-public ghc-th-lift
11817 (package
11818 (name "ghc-th-lift")
11819 (version "0.8.0.1")
11820 (source (origin
11821 (method url-fetch)
11822 (uri (string-append "https://hackage.haskell.org/package/"
11823 "th-lift/th-lift-" version ".tar.gz"))
11824 (sha256
11825 (base32
11826 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
11827 (build-system haskell-build-system)
11828 (inputs
11829 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11830 (home-page "https://github.com/mboes/th-lift")
11831 (synopsis "Derive Template Haskell's Lift class for datatypes")
11832 (description
11833 "This is a Haskell library to derive Template Haskell's Lift class for
11834 datatypes.")
11835 (license license:bsd-3)))
11836
11837 (define-public ghc-th-lift-instances
11838 (package
11839 (name "ghc-th-lift-instances")
11840 (version "0.1.14")
11841 (source
11842 (origin
11843 (method url-fetch)
11844 (uri (string-append "https://hackage.haskell.org/package/"
11845 "th-lift-instances/th-lift-instances-"
11846 version ".tar.gz"))
11847 (sha256
11848 (base32
11849 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
11850 (build-system haskell-build-system)
11851 (inputs
11852 `(("ghc-th-lift" ,ghc-th-lift)
11853 ("ghc-vector" ,ghc-vector)
11854 ("ghc-quickcheck" ,ghc-quickcheck)))
11855 (home-page "https://github.com/bennofs/th-lift-instances/")
11856 (synopsis "Lift instances for template-haskell for common data types.")
11857 (description "Most data types in the Haskell platform do not have Lift
11858 instances. This package provides orphan instances for @code{containers},
11859 @code{text}, @code{bytestring} and @code{vector}.")
11860 (license license:bsd-3)))
11861
11862 (define-public ghc-th-orphans
11863 (package
11864 (name "ghc-th-orphans")
11865 (version "0.13.9")
11866 (source (origin
11867 (method url-fetch)
11868 (uri (string-append "https://hackage.haskell.org/package/"
11869 "th-orphans/th-orphans-" version ".tar.gz"))
11870 (sha256
11871 (base32
11872 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
11873 (build-system haskell-build-system)
11874 (inputs
11875 `(("ghc-th-lift" ,ghc-th-lift)
11876 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11877 ("ghc-th-reify-many" ,ghc-th-reify-many)
11878 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11879 (native-inputs
11880 `(("ghc-hspec" ,ghc-hspec)))
11881 (home-page "https://hackage.haskell.org/package/th-orphans")
11882 (synopsis "Orphan instances for TH datatypes")
11883 (description
11884 "This package provides orphan instances for Template Haskell datatypes. In particular,
11885 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11886 and @code{Eq} instances. These instances used to live in the haskell-src-meta
11887 package, and that's where the version number started.")
11888 (license license:bsd-3)))
11889
11890 (define-public ghc-threads
11891 (package
11892 (name "ghc-threads")
11893 (version "0.5.1.6")
11894 (source
11895 (origin
11896 (method url-fetch)
11897 (uri (string-append "https://hackage.haskell.org/package/"
11898 "threads/threads-" version ".tar.gz"))
11899 (sha256
11900 (base32
11901 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11902 (build-system haskell-build-system)
11903 (native-inputs
11904 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11905 ("ghc-hunit" ,ghc-hunit)
11906 ("ghc-test-framework" ,ghc-test-framework)
11907 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11908 (home-page "https://github.com/basvandijk/threads")
11909 (synopsis "Fork threads and wait for their result")
11910 (description "This package provides functions to fork threads and
11911 wait for their result, whether it's an exception or a normal value.
11912 Besides waiting for the termination of a single thread this package also
11913 provides functions to wait for a group of threads to terminate. This
11914 package is similar to the @code{threadmanager}, @code{async} and
11915 @code{spawn} packages. The advantages of this package are:
11916
11917 @itemize
11918 @item Simpler API.
11919 @item More efficient in both space and time.
11920 @item No space-leak when forking a large number of threads.
11921 @item Correct handling of asynchronous exceptions.
11922 @item GHC specific functionality like @code{forkOn} and
11923 @code{forkIOWithUnmask}.
11924 @end itemize")
11925 (license license:bsd-3)))
11926
11927 (define-public ghc-th-reify-many
11928 (package
11929 (name "ghc-th-reify-many")
11930 (version "0.1.9")
11931 (source (origin
11932 (method url-fetch)
11933 (uri (string-append "https://hackage.haskell.org/package/"
11934 "th-reify-many/th-reify-many-"
11935 version ".tar.gz"))
11936 (sha256
11937 (base32
11938 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
11939 (build-system haskell-build-system)
11940 (inputs
11941 `(("ghc-safe" ,ghc-safe)
11942 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11943 (home-page "https://github.com/mgsloan/th-reify-many")
11944 (synopsis "Recurseively reify template haskell datatype info")
11945 (description
11946 "th-reify-many provides functions for recursively reifying top level
11947 declarations. The main intended use case is for enumerating the names of
11948 datatypes reachable from an initial datatype, and passing these names to some
11949 function which generates instances.")
11950 (license license:bsd-3)))
11951
11952 (define-public ghc-time-compat
11953 (package
11954 (name "ghc-time-compat")
11955 (version "1.9.2.2")
11956 (source
11957 (origin
11958 (method url-fetch)
11959 (uri (string-append "https://hackage.haskell.org/package/"
11960 "time-compat/time-compat-" version ".tar.gz"))
11961 (sha256
11962 (base32
11963 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11964 (build-system haskell-build-system)
11965 (inputs
11966 `(("ghc-base-orphans" ,ghc-base-orphans)))
11967 (native-inputs
11968 `(("ghc-hunit" ,ghc-hunit)
11969 ("ghc-base-compat" ,ghc-base-compat)
11970 ("ghc-quickcheck" ,ghc-quickcheck)
11971 ("ghc-tagged" ,ghc-tagged)
11972 ("ghc-tasty" ,ghc-tasty)
11973 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11974 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11975 (arguments
11976 `(#:cabal-revision
11977 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11978 (home-page "https://github.com/phadej/time-compat")
11979 (synopsis "Compatibility package for time")
11980 (description "This package tries to compat as many @code{time}
11981 features as possible.")
11982 (license license:bsd-3)))
11983
11984 (define-public ghc-time-locale-compat
11985 (package
11986 (name "ghc-time-locale-compat")
11987 (version "0.1.1.5")
11988 (source
11989 (origin
11990 (method url-fetch)
11991 (uri (string-append "https://hackage.haskell.org/package/"
11992 "time-locale-compat/time-locale-compat-"
11993 version ".tar.gz"))
11994 (sha256
11995 (base32
11996 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11997 (build-system haskell-build-system)
11998 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11999 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12000 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12001 (description "This package contains a wrapped name module for
12002 @code{TimeLocale}.")
12003 (license license:bsd-3)))
12004
12005 (define-public ghc-time-manager
12006 (package
12007 (name "ghc-time-manager")
12008 (version "0.0.0")
12009 (source
12010 (origin
12011 (method url-fetch)
12012 (uri (string-append "https://hackage.haskell.org/package/"
12013 "time-manager/time-manager-" version ".tar.gz"))
12014 (sha256
12015 (base32
12016 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12017 (build-system haskell-build-system)
12018 (inputs
12019 `(("ghc-auto-update" ,ghc-auto-update)))
12020 (home-page "https://github.com/yesodweb/wai")
12021 (synopsis "Scalable timer")
12022 (description "This library contains scalable timer functions provided by a
12023 timer manager.")
12024 (license license:expat)))
12025
12026 (define-public ghc-timeit
12027 (package
12028 (name "ghc-timeit")
12029 (version "2.0")
12030 (source
12031 (origin
12032 (method url-fetch)
12033 (uri
12034 (string-append
12035 "https://hackage.haskell.org/package/timeit/timeit-"
12036 version ".tar.gz"))
12037 (sha256
12038 (base32
12039 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12040 (build-system haskell-build-system)
12041 (home-page "https://github.com/merijn/timeit")
12042 (synopsis "Time monadic computations with an IO base")
12043 (description "This package provides a simple wrapper to show the
12044 used CPU time of monadic computation with an IO base.")
12045 (license license:bsd-3)))
12046
12047 (define-public ghc-timezone-series
12048 (package
12049 (name "ghc-timezone-series")
12050 (version "0.1.9")
12051 (source
12052 (origin
12053 (method url-fetch)
12054 (uri
12055 (string-append
12056 "mirror://hackage/package/timezone-series/timezone-series-"
12057 version ".tar.gz"))
12058 (sha256
12059 (base32
12060 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12061 (build-system haskell-build-system)
12062 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12063 (synopsis "Enhanced timezone handling for Time")
12064 (description
12065 "This package endows @code{Data.Time}, from the time package, with several
12066 data types and functions for enhanced processing of timezones. For one way to
12067 create timezone series, see the ghc-timezone-olson package.")
12068 (license license:bsd-3)))
12069
12070 (define-public ghc-timezone-olson
12071 (package
12072 (name "ghc-timezone-olson")
12073 (version "0.1.9")
12074 (source
12075 (origin
12076 (method url-fetch)
12077 (uri
12078 (string-append
12079 "mirror://hackage/package/timezone-olson/timezone-olson-"
12080 version ".tar.gz"))
12081 (sha256
12082 (base32
12083 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12084 (build-system haskell-build-system)
12085 (inputs
12086 `(("ghc-timezone-series" ,ghc-timezone-series)
12087 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12088 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12089 (synopsis "Parser and renderer for binary Olson timezone files")
12090 (description
12091 "A parser and renderer for binary Olson timezone files whose format
12092 is specified by the tzfile(5) man page on Unix-like systems. For more
12093 information about this format, see
12094 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12095 are provided for converting the parsed data into @code{TimeZoneSeries}
12096 objects from the timezone-series package.")
12097 (license license:bsd-3)))
12098
12099 (define-public ghc-tldr
12100 (package
12101 (name "ghc-tldr")
12102 (version "0.4.0.2")
12103 (source
12104 (origin
12105 (method url-fetch)
12106 (uri (string-append
12107 "https://hackage.haskell.org/package/tldr/tldr-"
12108 version
12109 ".tar.gz"))
12110 (sha256
12111 (base32
12112 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
12113 (build-system haskell-build-system)
12114 (inputs
12115 `(("ghc-cmark" ,ghc-cmark)
12116 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12117 ("ghc-typed-process" ,ghc-typed-process)
12118 ("ghc-semigroups" ,ghc-semigroups)))
12119 (native-inputs
12120 `(("ghc-tasty" ,ghc-tasty)
12121 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12122 (home-page "https://github.com/psibi/tldr-hs#readme")
12123 (synopsis "Haskell tldr client")
12124 (description "This package provides the @command{tldr} command and a
12125 Haskell client library allowing users to update and view @code{tldr} pages
12126 from a shell. The @code{tldr} pages are a community effort to simplify the
12127 man pages with practical examples.")
12128 (license license:bsd-3)))
12129
12130 (define-public ghc-transformers-base
12131 (package
12132 (name "ghc-transformers-base")
12133 (version "0.4.5.2")
12134 (source
12135 (origin
12136 (method url-fetch)
12137 (uri (string-append
12138 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12139 version
12140 ".tar.gz"))
12141 (sha256
12142 (base32
12143 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12144 (build-system haskell-build-system)
12145 (inputs
12146 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12147 (home-page
12148 "https://hackage.haskell.org/package/transformers-compat")
12149 (synopsis
12150 "Backported transformer library")
12151 (description
12152 "Backported versions of types that were added to transformers in
12153 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12154 compatibility to run on old versions of the platform.")
12155 (license license:bsd-3)))
12156
12157 (define-public ghc-transformers-compat
12158 (package
12159 (name "ghc-transformers-compat")
12160 (version "0.6.5")
12161 (source
12162 (origin
12163 (method url-fetch)
12164 (uri (string-append
12165 "https://hackage.haskell.org/package/transformers-compat"
12166 "/transformers-compat-" version ".tar.gz"))
12167 (sha256
12168 (base32
12169 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
12170 (build-system haskell-build-system)
12171 (home-page "https://github.com/ekmett/transformers-compat/")
12172 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12173 (description "This package includes backported versions of types that were
12174 added to transformers in transformers 0.3 and 0.4 for users who need strict
12175 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12176 but also need those types.")
12177 (license license:bsd-3)))
12178
12179 (define-public ghc-tree-diff
12180 (package
12181 (name "ghc-tree-diff")
12182 (version "0.1")
12183 (source
12184 (origin
12185 (method url-fetch)
12186 (uri (string-append
12187 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12188 version
12189 ".tar.gz"))
12190 (sha256
12191 (base32
12192 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
12193 (build-system haskell-build-system)
12194 (inputs
12195 `(("ghc-aeson" ,ghc-aeson)
12196 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12197 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12198 ("ghc-base-compat" ,ghc-base-compat)
12199 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
12200 ("ghc-hashable" ,ghc-hashable)
12201 ("ghc-parsers" ,ghc-parsers)
12202 ("ghc-quickcheck" ,ghc-quickcheck)
12203 ("ghc-scientific" ,ghc-scientific)
12204 ("ghc-tagged" ,ghc-tagged)
12205 ("ghc-unordered-containers" ,ghc-unordered-containers)
12206 ("ghc-uuid-types" ,ghc-uuid-types)
12207 ("ghc-vector" ,ghc-vector)))
12208 (native-inputs
12209 `(("ghc-base-compat" ,ghc-base-compat)
12210 ("ghc-quickcheck" ,ghc-quickcheck)
12211 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12212 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12213 ("ghc-trifecta" ,ghc-trifecta)
12214 ("ghc-tasty" ,ghc-tasty)
12215 ("ghc-tasty-golden" ,ghc-tasty-golden)
12216 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12217 (home-page "https://github.com/phadej/tree-diff")
12218 (synopsis "Compute difference between (expression) trees")
12219 (description "This Haskell library provides a function for computing
12220 the difference between (expression) trees. It also provides a way to
12221 compute the difference between arbitrary abstract datatypes (ADTs) using
12222 @code{Generics}-derivable helpers.")
12223 (license license:bsd-3)))
12224
12225 (define-public ghc-trifecta
12226 (package
12227 (name "ghc-trifecta")
12228 (version "2")
12229 (source (origin
12230 (method url-fetch)
12231 (uri (string-append
12232 "https://hackage.haskell.org/package/trifecta/"
12233 "trifecta-" version ".tar.gz"))
12234 (sha256
12235 (base32
12236 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12237 (build-system haskell-build-system)
12238 (arguments
12239 `(#:tests? #f ; doctest suite fails to build on i686
12240 #:cabal-revision
12241 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
12242 (inputs
12243 `(("ghc-reducers" ,ghc-reducers)
12244 ("ghc-semigroups" ,ghc-semigroups)
12245 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12246 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12247 ("ghc-blaze-builder" ,ghc-blaze-builder)
12248 ("ghc-blaze-html" ,ghc-blaze-html)
12249 ("ghc-blaze-markup" ,ghc-blaze-markup)
12250 ("ghc-charset" ,ghc-charset)
12251 ("ghc-comonad" ,ghc-comonad)
12252 ("ghc-fingertree" ,ghc-fingertree)
12253 ("ghc-hashable" ,ghc-hashable)
12254 ("ghc-lens" ,ghc-lens)
12255 ("ghc-parsers" ,ghc-parsers)
12256 ("ghc-profunctors" ,ghc-profunctors)
12257 ("ghc-unordered-containers" ,ghc-unordered-containers)
12258 ("ghc-utf8-string" ,ghc-utf8-string)))
12259 (native-inputs
12260 `(("cabal-doctest" ,cabal-doctest)
12261 ("ghc-doctest" ,ghc-doctest)
12262 ("ghc-quickcheck" ,ghc-quickcheck)))
12263 (home-page "https://github.com/ekmett/trifecta/")
12264 (synopsis "Parser combinator library with convenient diagnostics")
12265 (description "Trifecta is a modern parser combinator library for Haskell,
12266 with slicing and Clang-style colored diagnostics.")
12267 (license license:bsd-3)))
12268
12269 (define-public ghc-tuple-th
12270 (package
12271 (name "ghc-tuple-th")
12272 (version "0.2.5")
12273 (source
12274 (origin
12275 (method url-fetch)
12276 (uri (string-append "https://hackage.haskell.org/package/"
12277 "tuple-th-" version "/"
12278 "tuple-th-" version ".tar.gz"))
12279 (sha256
12280 (base32
12281 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12282 (build-system haskell-build-system)
12283 (home-page "https://github.com/DanielSchuessler/tuple-th")
12284 (synopsis "Generate utility functions for tuples of statically known size
12285 for Haskell")
12286 (description "This Haskell package contains Template Haskell functions for
12287 generating functions similar to those in @code{Data.List} for tuples of
12288 statically known size.")
12289 (license license:bsd-3)))
12290
12291 (define-public ghc-typed-process
12292 (package
12293 (name "ghc-typed-process")
12294 (version "0.2.6.0")
12295 (source
12296 (origin
12297 (method url-fetch)
12298 (uri (string-append "https://hackage.haskell.org/package/"
12299 "typed-process/typed-process-"
12300 version ".tar.gz"))
12301 (sha256
12302 (base32
12303 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
12304 (build-system haskell-build-system)
12305 (inputs
12306 `(("ghc-async" ,ghc-async)
12307 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12308 (native-inputs
12309 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12310 ("ghc-hspec" ,ghc-hspec)
12311 ("hspec-discover" ,hspec-discover)
12312 ("ghc-temporary" ,ghc-temporary)))
12313 (home-page "https://haskell-lang.org/library/typed-process")
12314 (synopsis "Run external processes with strong typing of streams")
12315 (description
12316 "This library provides the ability to launch and interact with external
12317 processes. It wraps around the @code{process} library, and intends to improve
12318 upon it.")
12319 (license license:expat)))
12320
12321 (define-public ghc-unagi-chan
12322 (package
12323 (name "ghc-unagi-chan")
12324 (version "0.4.1.2")
12325 (source
12326 (origin
12327 (method url-fetch)
12328 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12329 "/unagi-chan-" version ".tar.gz"))
12330 (sha256
12331 (base32
12332 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12333 (build-system haskell-build-system)
12334 (inputs
12335 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12336 ("ghc-primitive" ,ghc-primitive)))
12337 (arguments
12338 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12339 #:cabal-revision
12340 ("1"
12341 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
12342 (home-page "https://hackage.haskell.org/package/unagi-chan")
12343 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12344 (description
12345 "This library provides implementations of concurrent FIFO queues (for
12346 both general boxed and primitive unboxed values) that are fast, perform well
12347 under contention, and offer a Chan-like interface. The library may be of
12348 limited usefulness outside of x86 architectures where the fetch-and-add
12349 instruction is not available.")
12350 (license license:bsd-3)))
12351
12352 (define-public ghc-unbounded-delays
12353 (package
12354 (name "ghc-unbounded-delays")
12355 (version "0.1.1.0")
12356 (source
12357 (origin
12358 (method url-fetch)
12359 (uri (string-append
12360 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12361 version
12362 ".tar.gz"))
12363 (sha256
12364 (base32
12365 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12366 (build-system haskell-build-system)
12367 (home-page "https://github.com/basvandijk/unbounded-delays")
12368 (synopsis "Unbounded thread delays and timeouts")
12369 (description "The @code{threadDelay} and @code{timeout} functions from the
12370 Haskell base library use the bounded @code{Int} type for specifying the delay
12371 or timeout period. This package provides alternative functions which use the
12372 unbounded @code{Integer} type.")
12373 (license license:bsd-3)))
12374
12375 (define-public ghc-unexceptionalio
12376 (package
12377 (name "ghc-unexceptionalio")
12378 (version "0.4.0")
12379 (source
12380 (origin
12381 (method url-fetch)
12382 (uri (string-append "https://hackage.haskell.org/package/"
12383 "unexceptionalio-" version "/" "unexceptionalio-"
12384 version ".tar.gz"))
12385 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12386 (build-system haskell-build-system)
12387 (home-page "https://github.com/singpolyma/unexceptionalio")
12388 (synopsis "IO without any non-error, synchronous exceptions")
12389 (description "When you've caught all the exceptions that can be
12390 handled safely, this is what you're left with.")
12391 (license license:isc)))
12392
12393 (define-public ghc-unicode-transforms
12394 (package
12395 (name "ghc-unicode-transforms")
12396 (version "0.3.6")
12397 (source
12398 (origin
12399 (method url-fetch)
12400 (uri (string-append "https://hackage.haskell.org/package/"
12401 "unicode-transforms/unicode-transforms-"
12402 version ".tar.gz"))
12403 (sha256
12404 (base32
12405 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12406 (build-system haskell-build-system)
12407 (inputs
12408 `(("ghc-bitarray" ,ghc-bitarray)))
12409 (native-inputs
12410 `(("ghc-quickcheck" ,ghc-quickcheck)
12411 ("ghc-getopt-generics" ,ghc-getopt-generics)
12412 ("ghc-split" ,ghc-split)))
12413 (home-page "https://github.com/composewell/unicode-transforms")
12414 (synopsis "Unicode normalization")
12415 (description "This library provides tools for fast Unicode 12.1.0
12416 normalization in Haskell (normalization forms C, KC, D, and KD).")
12417 (license license:bsd-3)))
12418
12419 (define-public ghc-union-find
12420 (package
12421 (name "ghc-union-find")
12422 (version "0.2")
12423 (source (origin
12424 (method url-fetch)
12425 (uri (string-append
12426 "https://hackage.haskell.org/package/union-find/union-find-"
12427 version ".tar.gz"))
12428 (sha256
12429 (base32
12430 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12431 (build-system haskell-build-system)
12432 (home-page "https://github.com/nominolo/union-find")
12433 (synopsis "Efficient union and equivalence testing of sets")
12434 (description
12435 "The Union/Find algorithm implements these operations in (effectively)
12436 constant-time:
12437 @enumerate
12438 @item Check whether two elements are in the same equivalence class.
12439 @item Create a union of two equivalence classes.
12440 @item Look up the descriptor of the equivalence class.
12441 @end enumerate\n")
12442 (license license:bsd-3)))
12443
12444 (define-public ghc-uniplate
12445 (package
12446 (name "ghc-uniplate")
12447 (version "1.6.12")
12448 (source
12449 (origin
12450 (method url-fetch)
12451 (uri (string-append
12452 "https://hackage.haskell.org/package/uniplate/uniplate-"
12453 version
12454 ".tar.gz"))
12455 (sha256
12456 (base32
12457 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12458 (build-system haskell-build-system)
12459 (inputs
12460 `(("ghc-syb" ,ghc-syb)
12461 ("ghc-hashable" ,ghc-hashable)
12462 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12463 (home-page "http://community.haskell.org/~ndm/uniplate/")
12464 (synopsis "Simple, concise and fast generic operations")
12465 (description "Uniplate is a library for writing simple and concise generic
12466 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12467 work, but is substantially simpler and faster.")
12468 (license license:bsd-3)))
12469
12470 (define-public ghc-unix-compat
12471 (package
12472 (name "ghc-unix-compat")
12473 (version "0.5.2")
12474 (source
12475 (origin
12476 (method url-fetch)
12477 (uri (string-append
12478 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12479 version
12480 ".tar.gz"))
12481 (sha256
12482 (base32
12483 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
12484 (build-system haskell-build-system)
12485 (home-page
12486 "https://github.com/jystic/unix-compat")
12487 (synopsis "Portable POSIX-compatibility layer")
12488 (description
12489 "This package provides portable implementations of parts of the unix
12490 package. This package re-exports the unix package when available. When it
12491 isn't available, portable implementations are used.")
12492 (license license:bsd-3)))
12493
12494 (define-public ghc-unix-time
12495 (package
12496 (name "ghc-unix-time")
12497 (version "0.4.7")
12498 (source
12499 (origin
12500 (method url-fetch)
12501 (uri (string-append
12502 "https://hackage.haskell.org/package/unix-time/unix-time-"
12503 version
12504 ".tar.gz"))
12505 (sha256
12506 (base32
12507 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
12508 (build-system haskell-build-system)
12509 (arguments
12510 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12511 ; is weird, that should be provided by GHC 7.10.2.
12512 (inputs
12513 `(("ghc-old-time" ,ghc-old-time)
12514 ("ghc-old-locale" ,ghc-old-locale)))
12515 (home-page "https://hackage.haskell.org/package/unix-time")
12516 (synopsis "Unix time parser/formatter and utilities")
12517 (description "This library provides fast parsing and formatting utilities
12518 for Unix time in Haskell.")
12519 (license license:bsd-3)))
12520
12521 (define-public ghc-unliftio
12522 (package
12523 (name "ghc-unliftio")
12524 (version "0.2.12")
12525 (source
12526 (origin
12527 (method url-fetch)
12528 (uri (string-append
12529 "https://hackage.haskell.org/package/unliftio/unliftio-"
12530 version
12531 ".tar.gz"))
12532 (sha256
12533 (base32
12534 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
12535 (build-system haskell-build-system)
12536 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12537 (inputs
12538 `(("ghc-async" ,ghc-async)
12539 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12540 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12541 (home-page "https://github.com/fpco/unliftio")
12542 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12543 IO (batteries included)")
12544 (description "This Haskell package provides the core @code{MonadUnliftIO}
12545 typeclass, a number of common instances, and a collection of common functions
12546 working with it.")
12547 (license license:expat)))
12548
12549 (define-public ghc-unliftio-core
12550 (package
12551 (name "ghc-unliftio-core")
12552 (version "0.1.2.0")
12553 (source
12554 (origin
12555 (method url-fetch)
12556 (uri (string-append "https://hackage.haskell.org/package/"
12557 "unliftio-core-" version "/"
12558 "unliftio-core-" version ".tar.gz"))
12559 (sha256
12560 (base32
12561 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
12562 (build-system haskell-build-system)
12563 (arguments
12564 `(#:cabal-revision
12565 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
12566 (home-page
12567 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12568 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12569 (description "This Haskell package provides the core @code{MonadUnliftIO}
12570 typeclass, instances for base and transformers, and basic utility
12571 functions.")
12572 (license license:expat)))
12573
12574 (define-public ghc-unordered-containers
12575 (package
12576 (name "ghc-unordered-containers")
12577 (version "0.2.10.0")
12578 (outputs '("out" "doc"))
12579 (source
12580 (origin
12581 (method url-fetch)
12582 (uri (string-append
12583 "https://hackage.haskell.org/package/unordered-containers"
12584 "/unordered-containers-" version ".tar.gz"))
12585 (sha256
12586 (base32
12587 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
12588 (build-system haskell-build-system)
12589 (inputs
12590 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12591 ("ghc-hunit" ,ghc-hunit)
12592 ("ghc-quickcheck" ,ghc-quickcheck)
12593 ("ghc-test-framework" ,ghc-test-framework)
12594 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12595 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12596 ("ghc-hashable" ,ghc-hashable)))
12597 (home-page
12598 "https://github.com/tibbe/unordered-containers")
12599 (synopsis
12600 "Efficient hashing-based container types")
12601 (description
12602 "Efficient hashing-based container types. The containers have been
12603 optimized for performance critical use, both in terms of large data quantities
12604 and high speed.")
12605 (license license:bsd-3)))
12606
12607 (define-public ghc-unordered-containers-bootstrap
12608 (package
12609 (inherit ghc-unordered-containers)
12610 (name "ghc-unordered-containers-bootstrap")
12611 (arguments `(#:tests? #f))
12612 (inputs
12613 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
12614 (properties '((hidden? #t)))))
12615
12616 (define-public ghc-unsafe
12617 (package
12618 (name "ghc-unsafe")
12619 (version "0.0")
12620 (source
12621 (origin
12622 (method url-fetch)
12623 (uri
12624 (string-append
12625 "https://hackage.haskell.org/package/unsafe/unsafe-"
12626 version ".tar.gz"))
12627 (sha256
12628 (base32
12629 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12630 (build-system haskell-build-system)
12631 (home-page "https://hackage.haskell.org/package/unsafe")
12632 (synopsis "Unified interface to unsafe functions")
12633 (description "Safe Haskell introduced the notion of safe and unsafe
12634 modules. In order to make as many as possible modules ``safe'', the
12635 well-known unsafe functions were moved to distinguished modules. This
12636 makes it hard to write packages that work with both old and new versions
12637 of GHC. This package provides a single module System.Unsafe that
12638 exports the unsafe functions from the base package. It provides them in
12639 a style ready for qualification, that is, you should import them by
12640 @code{import qualified System.Unsafe as Unsafe}.")
12641 (license license:bsd-3)))
12642
12643 (define-public ghc-uri-bytestring
12644 (package
12645 (name "ghc-uri-bytestring")
12646 (version "0.3.2.2")
12647 (source
12648 (origin
12649 (method url-fetch)
12650 (uri (string-append "https://hackage.haskell.org/package/"
12651 "uri-bytestring-" version "/"
12652 "uri-bytestring-" version ".tar.gz"))
12653 (sha256
12654 (base32
12655 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
12656 (build-system haskell-build-system)
12657 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12658 ("ghc-blaze-builder" ,ghc-blaze-builder)
12659 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
12660 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12661 ("ghc-tasty" ,ghc-tasty)
12662 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12663 ("ghc-hedgehog" ,ghc-hedgehog)
12664 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
12665 ("ghc-base-compat" ,ghc-base-compat)
12666 ("ghc-semigroups" ,ghc-semigroups)
12667 ("ghc-safe" ,ghc-safe)))
12668 (home-page "https://github.com/Soostone/uri-bytestring")
12669 (synopsis "Haskell URI parsing as ByteStrings")
12670 (description "This Haskell package aims to be an RFC3986 compliant URI
12671 parser that uses ByteStrings for parsing and representing the URI data.")
12672 (license license:bsd-3)))
12673
12674 (define-public ghc-utf8-string
12675 (package
12676 (name "ghc-utf8-string")
12677 (version "1.0.1.1")
12678 (source
12679 (origin
12680 (method url-fetch)
12681 (uri (string-append
12682 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12683 version
12684 ".tar.gz"))
12685 (sha256
12686 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12687 (build-system haskell-build-system)
12688 (arguments
12689 `(#:cabal-revision
12690 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12691 (home-page "https://github.com/glguy/utf8-string/")
12692 (synopsis "Support for reading and writing UTF8 Strings")
12693 (description
12694 "A UTF8 layer for Strings. The utf8-string package provides operations
12695 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12696 UTF8 without truncation.")
12697 (license license:bsd-3)))
12698
12699 (define-public ghc-utility-ht
12700 (package
12701 (name "ghc-utility-ht")
12702 (version "0.0.14")
12703 (home-page "https://hackage.haskell.org/package/utility-ht")
12704 (source
12705 (origin
12706 (method url-fetch)
12707 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12708 (sha256
12709 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12710 (build-system haskell-build-system)
12711 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12712 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12713 (description "This package includes Hakell modules providing various
12714 helper functions for Lists, Maybes, Tuples, Functions.")
12715 (license license:bsd-3)))
12716
12717 (define-public ghc-uuid
12718 (package
12719 (name "ghc-uuid")
12720 (version "1.3.13")
12721 (source
12722 (origin
12723 (method url-fetch)
12724 (uri (string-append "https://hackage.haskell.org/package/"
12725 "uuid-" version "/"
12726 "uuid-" version ".tar.gz"))
12727 (sha256
12728 (base32
12729 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12730 (build-system haskell-build-system)
12731 (arguments
12732 `(#:cabal-revision
12733 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12734 #:phases
12735 (modify-phases %standard-phases
12736 (add-before 'configure 'strip-test-framework-constraints
12737 (lambda _
12738 (substitute* "uuid.cabal"
12739 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12740 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12741 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12742 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12743 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12744 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12745 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12746 ("ghc-entropy" ,ghc-entropy)
12747 ("ghc-network-info" ,ghc-network-info)
12748 ("ghc-random" ,ghc-random)
12749 ("ghc-uuid-types" ,ghc-uuid-types)))
12750 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12751 ("ghc-quickcheck" ,ghc-quickcheck)
12752 ("ghc-tasty" ,ghc-tasty)
12753 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12754 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12755 (home-page "https://github.com/hvr/uuid")
12756 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12757 (description "This Haskell library provides utilities creating, comparing,
12758 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12759 (license license:bsd-3)))
12760
12761 (define-public ghc-uuid-types
12762 (package
12763 (name "ghc-uuid-types")
12764 (version "1.0.3")
12765 (source
12766 (origin
12767 (method url-fetch)
12768 (uri (string-append "https://hackage.haskell.org/package/"
12769 "uuid-types-" version "/"
12770 "uuid-types-" version ".tar.gz"))
12771 (sha256
12772 (base32
12773 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12774 (build-system haskell-build-system)
12775 (arguments
12776 `(#:phases
12777 (modify-phases %standard-phases
12778 (add-before 'configure 'strip-test-framework-constraints
12779 (lambda _
12780 (substitute* "uuid-types.cabal"
12781 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12782 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12783 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12784 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12785 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12786 (inputs `(("ghc-hashable" ,ghc-hashable)
12787 ("ghc-random" ,ghc-random)))
12788 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12789 ("ghc-quickcheck" ,ghc-quickcheck)
12790 ("ghc-tasty" ,ghc-tasty)
12791 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12792 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12793 (home-page "https://github.com/hvr/uuid")
12794 (synopsis "Haskell type definitions for UUIDs")
12795 (description "This Haskell library contains type definitions for
12796 @dfn{Universally Unique Identifiers} or
12797 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12798 functions.")
12799 (license license:bsd-3)))
12800
12801 (define-public ghc-validation
12802 (package
12803 (name "ghc-validation")
12804 (version "1.1")
12805 (source
12806 (origin
12807 (method url-fetch)
12808 (uri (string-append
12809 "mirror://hackage/package/validation/validation-"
12810 version
12811 ".tar.gz"))
12812 (sha256
12813 (base32
12814 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
12815 (build-system haskell-build-system)
12816 (arguments
12817 `(#:cabal-revision
12818 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
12819 (inputs
12820 `(("ghc-semigroups" ,ghc-semigroups)
12821 ("ghc-semigroupoids" ,ghc-semigroupoids)
12822 ("ghc-bifunctors" ,ghc-bifunctors)
12823 ("ghc-lens" ,ghc-lens)))
12824 (native-inputs
12825 `(("ghc-hedgehog" ,ghc-hedgehog)
12826 ("ghc-hunit" ,ghc-hunit)))
12827 (home-page "https://github.com/qfpl/validation")
12828 (synopsis
12829 "Data-type like Either but with an accumulating Applicative")
12830 (description
12831 "A data-type like Either but with differing properties and type-class
12832 instances.
12833
12834 Library support is provided for this different representation, including
12835 @code{lens}-related functions for converting between each and abstracting over
12836 their similarities.
12837
12838 The @code{Validation} data type is isomorphic to @code{Either}, but has an
12839 instance of @code{Applicative} that accumulates on the error side. That is to
12840 say, if two (or more) errors are encountered, they are appended using a
12841 @{Semigroup} operation.
12842
12843 As a consequence of this @code{Applicative} instance, there is no
12844 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12845 example of, \"An applicative functor that is not a monad.\"")
12846 (license license:bsd-3)))
12847
12848 (define-public ghc-validity
12849 (package
12850 (name "ghc-validity")
12851 (version "0.9.0.2")
12852 (source
12853 (origin
12854 (method url-fetch)
12855 (uri (string-append
12856 "https://hackage.haskell.org/package/validity/validity-"
12857 version
12858 ".tar.gz"))
12859 (sha256
12860 (base32
12861 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
12862 (build-system haskell-build-system)
12863 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12864 ("hspec-discover" ,hspec-discover)))
12865 (home-page
12866 "https://github.com/NorfairKing/validity")
12867 (synopsis "Validity typeclass")
12868 (description
12869 "Values of custom types usually have invariants imposed upon them. This
12870 package provides the @code{Validity} type class, which makes these invariants
12871 explicit by providing a function to check whether the invariants hold.")
12872 (license license:expat)))
12873
12874 (define-public ghc-vault
12875 (package
12876 (name "ghc-vault")
12877 (version "0.3.1.3")
12878 (source
12879 (origin
12880 (method url-fetch)
12881 (uri (string-append
12882 "https://hackage.haskell.org/package/vault/vault-"
12883 version
12884 ".tar.gz"))
12885 (sha256
12886 (base32
12887 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
12888 (build-system haskell-build-system)
12889 (inputs
12890 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12891 ("ghc-hashable" ,ghc-hashable)
12892 ("ghc-semigroups" ,ghc-semigroups)))
12893 (home-page
12894 "https://github.com/HeinrichApfelmus/vault")
12895 (synopsis "Persistent store for arbitrary values")
12896 (description "This package provides vaults for Haskell. A vault is a
12897 persistent store for values of arbitrary types. It's like having first-class
12898 access to the storage space behind @code{IORefs}. The data structure is
12899 analogous to a bank vault, where you can access different bank boxes with
12900 different keys; hence the name. Also provided is a @code{locker} type,
12901 representing a store for a single element.")
12902 (license license:bsd-3)))
12903
12904 (define-public ghc-vector
12905 (package
12906 (name "ghc-vector")
12907 (version "0.12.0.3")
12908 (outputs '("out" "doc"))
12909 (source
12910 (origin
12911 (method url-fetch)
12912 (uri (string-append
12913 "https://hackage.haskell.org/package/vector/vector-"
12914 version
12915 ".tar.gz"))
12916 (sha256
12917 (base32
12918 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
12919 (build-system haskell-build-system)
12920 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12921 ;; disabled for now.
12922 (arguments
12923 `(#:tests? #f))
12924 (inputs
12925 `(("ghc-primitive" ,ghc-primitive)
12926 ("ghc-random" ,ghc-random)
12927 ("ghc-quickcheck" ,ghc-quickcheck)
12928 ;; ("ghc-hunit" ,ghc-hunit)
12929 ;; ("ghc-test-framework" ,ghc-test-framework)
12930 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12931 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12932 ))
12933 (home-page "https://github.com/haskell/vector")
12934 (synopsis "Efficient Arrays")
12935 (description "This library provides an efficient implementation of
12936 Int-indexed arrays (both mutable and immutable), with a powerful loop
12937 optimisation framework.")
12938 (license license:bsd-3)))
12939
12940 (define-public ghc-vector-algorithms
12941 (package
12942 (name "ghc-vector-algorithms")
12943 (version "0.8.0.1")
12944 (source
12945 (origin
12946 (method url-fetch)
12947 (uri (string-append "https://hackage.haskell.org/package/"
12948 "vector-algorithms-" version "/"
12949 "vector-algorithms-" version ".tar.gz"))
12950 (sha256
12951 (base32
12952 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
12953 (build-system haskell-build-system)
12954 (inputs
12955 `(("ghc-vector" ,ghc-vector)))
12956 (native-inputs
12957 `(("ghc-quickcheck" ,ghc-quickcheck)))
12958 (home-page "https://github.com/bos/math-functions")
12959 (synopsis "Algorithms for vector arrays in Haskell")
12960 (description "This Haskell library algorithms for vector arrays.")
12961 (license license:bsd-3)))
12962
12963 (define-public ghc-vector-binary-instances
12964 (package
12965 (name "ghc-vector-binary-instances")
12966 (version "0.2.5.1")
12967 (source
12968 (origin
12969 (method url-fetch)
12970 (uri (string-append
12971 "https://hackage.haskell.org/package/"
12972 "vector-binary-instances/vector-binary-instances-"
12973 version ".tar.gz"))
12974 (sha256
12975 (base32
12976 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
12977 (build-system haskell-build-system)
12978 (inputs
12979 `(("ghc-vector" ,ghc-vector)))
12980 (native-inputs
12981 `(("ghc-tasty" ,ghc-tasty)
12982 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12983 (home-page "https://github.com/bos/vector-binary-instances")
12984 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12985 (description "This library provides instances of @code{Binary} for the
12986 types defined in the @code{vector} package, making it easy to serialize
12987 vectors to and from disk. We use the generic interface to vectors, so all
12988 vector types are supported. Specific instances are provided for unboxed,
12989 boxed and storable vectors.")
12990 (license license:bsd-3)))
12991
12992 (define-public ghc-vector-builder
12993 (package
12994 (name "ghc-vector-builder")
12995 (version "0.3.8")
12996 (source
12997 (origin
12998 (method url-fetch)
12999 (uri (string-append "https://hackage.haskell.org/package/"
13000 "vector-builder-" version "/"
13001 "vector-builder-" version ".tar.gz"))
13002 (sha256
13003 (base32
13004 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
13005 (build-system haskell-build-system)
13006 (inputs `(("ghc-vector" ,ghc-vector)
13007 ("ghc-semigroups" ,ghc-semigroups)
13008 ("ghc-base-prelude" ,ghc-base-prelude)))
13009 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13010 ("ghc-tasty" ,ghc-tasty)
13011 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13012 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
13013 ("ghc-hunit" ,ghc-hunit)
13014 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
13015 ("ghc-rerebase" ,ghc-rerebase)))
13016 (home-page "https://github.com/nikita-volkov/vector-builder")
13017 (synopsis "Vector builder for Haskell")
13018 (description "This Haskell package provides an API for constructing vectors.
13019 It provides the composable @code{Builder} abstraction, which has instances of the
13020 @code{Monoid} and @code{Semigroup} classes.
13021
13022 You would first use the @code{Builder} abstraction to specify the structure of
13023 the vector; then you can execute the builder to actually produce the
13024 vector. ")
13025 (license license:expat)))
13026
13027 (define-public ghc-vector-th-unbox
13028 (package
13029 (name "ghc-vector-th-unbox")
13030 (version "0.2.1.7")
13031 (source
13032 (origin
13033 (method url-fetch)
13034 (uri (string-append "https://hackage.haskell.org/package/"
13035 "vector-th-unbox-" version "/"
13036 "vector-th-unbox-" version ".tar.gz"))
13037 (sha256
13038 (base32
13039 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
13040 (build-system haskell-build-system)
13041 (inputs
13042 `(("ghc-vector" ,ghc-vector)
13043 ("ghc-data-default" ,ghc-data-default)))
13044 (home-page "https://github.com/liyang/vector-th-unbox")
13045 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
13046 (description "This Haskell library provides a Template Haskell
13047 deriver for unboxed vectors, given a pair of coercion functions to
13048 and from some existing type with an Unbox instance.")
13049 (license license:bsd-3)))
13050
13051 (define-public ghc-void
13052 (package
13053 (name "ghc-void")
13054 (version "0.7.3")
13055 (source
13056 (origin
13057 (method url-fetch)
13058 (uri (string-append
13059 "https://hackage.haskell.org/package/void/void-"
13060 version
13061 ".tar.gz"))
13062 (sha256
13063 (base32
13064 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
13065 (build-system haskell-build-system)
13066 (inputs
13067 `(("ghc-semigroups" ,ghc-semigroups)
13068 ("ghc-hashable" ,ghc-hashable)))
13069 (home-page "https://github.com/ekmett/void")
13070 (synopsis
13071 "Logically uninhabited data type")
13072 (description
13073 "A Haskell 98 logically uninhabited data type, used to indicate that a
13074 given term should not exist.")
13075 (license license:bsd-3)))
13076
13077 (define-public ghc-wave
13078 (package
13079 (name "ghc-wave")
13080 (version "0.2.0")
13081 (source (origin
13082 (method url-fetch)
13083 (uri (string-append
13084 "https://hackage.haskell.org/package/wave/wave-"
13085 version
13086 ".tar.gz"))
13087 (sha256
13088 (base32
13089 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
13090 (build-system haskell-build-system)
13091 (arguments
13092 '(#:phases
13093 (modify-phases %standard-phases
13094 (add-before 'configure 'update-constraints
13095 (lambda _
13096 (substitute* "wave.cabal"
13097 (("temporary.* < 1\\.3")
13098 "temporary >= 1.1 && < 1.4")))))))
13099 (inputs
13100 `(("ghc-cereal" ,ghc-cereal)
13101 ("ghc-data-default-class"
13102 ,ghc-data-default-class)
13103 ("ghc-quickcheck" ,ghc-quickcheck)
13104 ("ghc-temporary" ,ghc-temporary)))
13105 (native-inputs
13106 `(("hspec-discover" ,hspec-discover)
13107 ("ghc-hspec" ,ghc-hspec)))
13108 (home-page "https://github.com/mrkkrp/wave")
13109 (synopsis "Work with WAVE and RF64 files in Haskell")
13110 (description "This package allows you to work with WAVE and RF64
13111 files in Haskell.")
13112 (license license:bsd-3)))
13113
13114 (define-public ghc-wcwidth
13115 (package
13116 (name "ghc-wcwidth")
13117 (version "0.0.2")
13118 (source
13119 (origin
13120 (method url-fetch)
13121 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
13122 version ".tar.gz"))
13123 (sha256
13124 (base32
13125 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13126 (build-system haskell-build-system)
13127 (inputs
13128 `(("ghc-setlocale" ,ghc-setlocale)
13129 ("ghc-utf8-string" ,ghc-utf8-string)
13130 ("ghc-attoparsec" ,ghc-attoparsec)))
13131 (home-page "https://github.com/solidsnack/wcwidth/")
13132 (synopsis "Haskell bindings to wcwidth")
13133 (description "This package provides Haskell bindings to your system's
13134 native wcwidth and a command line tool to examine the widths assigned by it.
13135 The command line tool can compile a width table to Haskell code that assigns
13136 widths to the Char type.")
13137 (license license:bsd-3)))
13138
13139 (define-public ghc-wcwidth-bootstrap
13140 (package
13141 (inherit ghc-wcwidth)
13142 (name "ghc-wcwidth-bootstrap")
13143 (inputs
13144 `(("ghc-setlocale" ,ghc-setlocale)
13145 ("ghc-utf8-string" ,ghc-utf8-string)
13146 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
13147 (properties '((hidden? #t)))))
13148
13149 (define-public ghc-weigh
13150 (package
13151 (name "ghc-weigh")
13152 (version "0.0.14")
13153 (source
13154 (origin
13155 (method url-fetch)
13156 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13157 "weigh-" version ".tar.gz"))
13158 (sha256
13159 (base32
13160 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
13161 (build-system haskell-build-system)
13162 (inputs
13163 `(("ghc-split" ,ghc-split)
13164 ("ghc-temporary" ,ghc-temporary)))
13165 (home-page "https://github.com/fpco/weigh#readme")
13166 (synopsis "Measure allocations of a Haskell functions/values")
13167 (description "This package provides tools to measure the memory usage of a
13168 Haskell value or function.")
13169 (license license:bsd-3)))
13170
13171 (define-public ghc-wl-pprint
13172 (package
13173 (name "ghc-wl-pprint")
13174 (version "1.2.1")
13175 (source (origin
13176 (method url-fetch)
13177 (uri (string-append
13178 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13179 version ".tar.gz"))
13180 (sha256
13181 (base32
13182 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13183 (build-system haskell-build-system)
13184 (home-page "https://hackage.haskell.org/package/wl-pprint")
13185 (synopsis "Wadler/Leijen pretty printer")
13186 (description
13187 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13188 Printer}. This version allows the library user to declare overlapping
13189 instances of the @code{Pretty} class.")
13190 (license license:bsd-3)))
13191
13192 (define-public ghc-wl-pprint-annotated
13193 (package
13194 (name "ghc-wl-pprint-annotated")
13195 (version "0.1.0.1")
13196 (source
13197 (origin
13198 (method url-fetch)
13199 (uri (string-append
13200 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13201 version
13202 ".tar.gz"))
13203 (sha256
13204 (base32
13205 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13206 (build-system haskell-build-system)
13207 (native-inputs
13208 `(("ghc-tasty" ,ghc-tasty)
13209 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13210 (home-page
13211 "https://github.com/minad/wl-pprint-annotated#readme")
13212 (synopsis
13213 "Wadler/Leijen pretty printer with annotation support")
13214 (description
13215 "Annotations are useful for coloring. This is a limited version of
13216 @code{wl-pprint-extras} without support for point effects and without the free
13217 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13218 Compared to @code{annotated-wl-pprint} this library provides a slightly
13219 modernized interface.")
13220 (license license:bsd-3)))
13221
13222 (define-public ghc-wl-pprint-text
13223 (package
13224 (name "ghc-wl-pprint-text")
13225 (version "1.2.0.0")
13226 (source
13227 (origin
13228 (method url-fetch)
13229 (uri (string-append
13230 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13231 version ".tar.gz"))
13232 (sha256
13233 (base32
13234 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13235 (build-system haskell-build-system)
13236 (inputs
13237 `(("ghc-base-compat" ,ghc-base-compat)))
13238 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13239 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13240 (description
13241 "A clone of wl-pprint for use with the text library.")
13242 (license license:bsd-3)))
13243
13244 (define-public ghc-word8
13245 (package
13246 (name "ghc-word8")
13247 (version "0.1.3")
13248 (source
13249 (origin
13250 (method url-fetch)
13251 (uri (string-append
13252 "https://hackage.haskell.org/package/word8/word8-"
13253 version
13254 ".tar.gz"))
13255 (sha256
13256 (base32
13257 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13258 (build-system haskell-build-system)
13259 (native-inputs
13260 `(("ghc-hspec" ,ghc-hspec)
13261 ("hspec-discover" ,hspec-discover)))
13262 (home-page "https://hackage.haskell.org/package/word8")
13263 (synopsis "Word8 library for Haskell")
13264 (description "Word8 library to be used with @code{Data.ByteString}.")
13265 (license license:bsd-3)))
13266
13267 (define-public ghc-x11
13268 (package
13269 (name "ghc-x11")
13270 (version "1.9.1")
13271 (source
13272 (origin
13273 (method url-fetch)
13274 (uri (string-append "https://hackage.haskell.org/package/X11/"
13275 "X11-" version ".tar.gz"))
13276 (sha256
13277 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
13278 (build-system haskell-build-system)
13279 (inputs
13280 `(("libx11" ,libx11)
13281 ("libxrandr" ,libxrandr)
13282 ("libxinerama" ,libxinerama)
13283 ("libxscrnsaver" ,libxscrnsaver)
13284 ("ghc-data-default" ,ghc-data-default)))
13285 (home-page "https://github.com/haskell-pkg-janitors/X11")
13286 (synopsis "Bindings to the X11 graphics library")
13287 (description
13288 "This package provides Haskell bindings to the X11 graphics library. The
13289 bindings are a direct translation of the C bindings.")
13290 (license license:bsd-3)))
13291
13292 (define-public ghc-x11-xft
13293 (package
13294 (name "ghc-x11-xft")
13295 (version "0.3.1")
13296 (source
13297 (origin
13298 (method url-fetch)
13299 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13300 "X11-xft-" version ".tar.gz"))
13301 (sha256
13302 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13303 (inputs
13304 `(("ghc-x11" ,ghc-x11)
13305 ("ghc-utf8-string" ,ghc-utf8-string)
13306 ("libx11" ,libx11)
13307 ("libxft" ,libxft)
13308 ("xorgproto" ,xorgproto)))
13309 (native-inputs
13310 `(("pkg-config" ,pkg-config)))
13311 (build-system haskell-build-system)
13312 (home-page "https://hackage.haskell.org/package/X11-xft")
13313 (synopsis "Bindings to Xft")
13314 (description
13315 "Bindings to the Xft, X Free Type interface library, and some Xrender
13316 parts.")
13317 (license license:lgpl2.1)))
13318
13319 (define-public ghc-xdg-basedir
13320 (package
13321 (name "ghc-xdg-basedir")
13322 (version "0.2.2")
13323 (source
13324 (origin
13325 (method url-fetch)
13326 (uri (string-append
13327 "https://hackage.haskell.org/package/xdg-basedir/"
13328 "xdg-basedir-" version ".tar.gz"))
13329 (sha256
13330 (base32
13331 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13332 (build-system haskell-build-system)
13333 (home-page "http://github.com/willdonnelly/xdg-basedir")
13334 (synopsis "XDG Base Directory library for Haskell")
13335 (description "This package provides a library implementing the XDG Base Directory spec.")
13336 (license license:bsd-3)))
13337
13338 (define-public ghc-xml
13339 (package
13340 (name "ghc-xml")
13341 (version "1.3.14")
13342 (source
13343 (origin
13344 (method url-fetch)
13345 (uri (string-append
13346 "https://hackage.haskell.org/package/xml/xml-"
13347 version
13348 ".tar.gz"))
13349 (sha256
13350 (base32
13351 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13352 (build-system haskell-build-system)
13353 (home-page "https://github.com/GaloisInc/xml")
13354 (synopsis "Simple XML library for Haskell")
13355 (description "This package provides a simple XML library for Haskell.")
13356 (license license:bsd-3)))
13357
13358 (define-public ghc-xml-conduit
13359 (package
13360 (name "ghc-xml-conduit")
13361 (version "1.8.0.1")
13362 (source
13363 (origin
13364 (method url-fetch)
13365 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13366 "xml-conduit-" version ".tar.gz"))
13367 (sha256
13368 (base32
13369 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13370 (build-system haskell-build-system)
13371 (inputs
13372 `(("ghc-conduit" ,ghc-conduit)
13373 ("ghc-conduit-extra" ,ghc-conduit-extra)
13374 ("ghc-doctest" ,ghc-doctest)
13375 ("ghc-resourcet" ,ghc-resourcet)
13376 ("ghc-xml-types" ,ghc-xml-types)
13377 ("ghc-attoparsec" ,ghc-attoparsec)
13378 ("ghc-data-default-class" ,ghc-data-default-class)
13379 ("ghc-blaze-markup" ,ghc-blaze-markup)
13380 ("ghc-blaze-html" ,ghc-blaze-html)
13381 ("ghc-monad-control" ,ghc-monad-control)
13382 ("ghc-hspec" ,ghc-hspec)
13383 ("ghc-hunit" ,ghc-hunit)))
13384 (home-page "https://github.com/snoyberg/xml")
13385 (synopsis "Utilities for dealing with XML with the conduit package")
13386 (description
13387 "This package provides pure-Haskell utilities for dealing with XML with
13388 the @code{conduit} package.")
13389 (license license:expat)))
13390
13391 (define-public ghc-xml-types
13392 (package
13393 (name "ghc-xml-types")
13394 (version "0.3.6")
13395 (source
13396 (origin
13397 (method url-fetch)
13398 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13399 "xml-types-" version ".tar.gz"))
13400 (sha256
13401 (base32
13402 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13403 (build-system haskell-build-system)
13404 (home-page "https://john-millikin.com/software/haskell-xml/")
13405 (synopsis "Basic types for representing XML")
13406 (description "This package provides basic types for representing XML
13407 documents.")
13408 (license license:expat)))
13409
13410 (define-public ghc-yaml
13411 (package
13412 (name "ghc-yaml")
13413 (version "0.11.1.2")
13414 (source (origin
13415 (method url-fetch)
13416 (uri (string-append "https://hackage.haskell.org/package/"
13417 "yaml/yaml-" version ".tar.gz"))
13418 (sha256
13419 (base32
13420 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
13421 (build-system haskell-build-system)
13422 (inputs
13423 `(("ghc-conduit" ,ghc-conduit)
13424 ("ghc-resourcet" ,ghc-resourcet)
13425 ("ghc-aeson" ,ghc-aeson)
13426 ("ghc-unordered-containers" ,ghc-unordered-containers)
13427 ("ghc-vector" ,ghc-vector)
13428 ("ghc-attoparsec" ,ghc-attoparsec)
13429 ("ghc-scientific" ,ghc-scientific)
13430 ("ghc-semigroups" ,ghc-semigroups)
13431 ("ghc-temporary" ,ghc-temporary)
13432 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
13433 ("ghc-base-compat" ,ghc-base-compat)
13434 ("ghc-libyaml" ,ghc-libyaml)))
13435 (native-inputs
13436 `(("ghc-hspec" ,ghc-hspec)
13437 ("ghc-hunit" ,ghc-hunit)
13438 ("hspec-discover" ,hspec-discover)
13439 ("ghc-mockery" ,ghc-mockery)
13440 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
13441 (home-page "https://github.com/snoyberg/yaml/")
13442 (synopsis "Parsing and rendering YAML documents")
13443 (description
13444 "This package provides a library to parse and render YAML documents.")
13445 (license license:bsd-3)))
13446
13447 (define-public ghc-zip-archive
13448 (package
13449 (name "ghc-zip-archive")
13450 (version "0.4.1")
13451 (source
13452 (origin
13453 (method url-fetch)
13454 (uri (string-append
13455 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13456 version
13457 ".tar.gz"))
13458 (sha256
13459 (base32
13460 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
13461 (build-system haskell-build-system)
13462 (arguments
13463 `(#:phases
13464 (modify-phases %standard-phases
13465 (add-before 'check 'set-PATH-for-tests
13466 (lambda* (#:key inputs #:allow-other-keys)
13467 (let ((unzip (assoc-ref inputs "unzip"))
13468 (which (assoc-ref inputs "which"))
13469 (path (getenv "PATH")))
13470 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13471 #t))))))
13472 (inputs
13473 `(("ghc-digest" ,ghc-digest)
13474 ("ghc-temporary" ,ghc-temporary)
13475 ("ghc-zlib" ,ghc-zlib)))
13476 (native-inputs
13477 `(("ghc-hunit" ,ghc-hunit)
13478 ("unzip" ,unzip)
13479 ("which" ,which)))
13480 (home-page "https://hackage.haskell.org/package/zip-archive")
13481 (synopsis "Zip archive library for Haskell")
13482 (description "The zip-archive library provides functions for creating,
13483 modifying, and extracting files from zip archives in Haskell.")
13484 (license license:bsd-3)))
13485
13486 (define-public ghc-zlib
13487 (package
13488 (name "ghc-zlib")
13489 (version "0.6.2.1")
13490 (outputs '("out" "doc"))
13491 (source
13492 (origin
13493 (method url-fetch)
13494 (uri (string-append
13495 "https://hackage.haskell.org/package/zlib/zlib-"
13496 version
13497 ".tar.gz"))
13498 (sha256
13499 (base32
13500 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
13501 (build-system haskell-build-system)
13502 (arguments
13503 `(#:phases
13504 (modify-phases %standard-phases
13505 (add-before 'configure 'strip-test-framework-constraints
13506 (lambda _
13507 (substitute* "zlib.cabal"
13508 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13509 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13510 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13511 (inputs `(("zlib" ,zlib)))
13512 (native-inputs
13513 `(("ghc-quickcheck" ,ghc-quickcheck)
13514 ("ghc-tasty" ,ghc-tasty)
13515 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13516 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13517 (home-page "https://hackage.haskell.org/package/zlib")
13518 (synopsis
13519 "Compression and decompression in the gzip and zlib formats")
13520 (description
13521 "This package provides a pure interface for compressing and decompressing
13522 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13523 library so it has high performance. It supports the @code{zlib}, @code{gzip}
13524 and @code{raw} compression formats. It provides a convenient high level API
13525 suitable for most tasks and for the few cases where more control is needed it
13526 provides access to the full zlib feature set.")
13527 (license license:bsd-3)))
13528
13529 (define-public ghc-zlib-bindings
13530 (package
13531 (name "ghc-zlib-bindings")
13532 (version "0.1.1.5")
13533 (source
13534 (origin
13535 (method url-fetch)
13536 (uri (string-append "https://hackage.haskell.org/package/"
13537 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13538 (sha256
13539 (base32
13540 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13541 (build-system haskell-build-system)
13542 (inputs
13543 `(("ghc-zlib" ,ghc-zlib)))
13544 (native-inputs
13545 `(("ghc-hspec" ,ghc-hspec)
13546 ("ghc-quickcheck" ,ghc-quickcheck)))
13547 (arguments
13548 `(#:cabal-revision
13549 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13550 (home-page "https://github.com/snapframework/zlib-bindings")
13551 (synopsis "Low-level bindings to the @code{zlib} package")
13552 (description "This package provides low-level bindings to the
13553 @code{zlib} package.")
13554 (license license:bsd-3)))
13555
13556 (define-public ghc-zstd
13557 (package
13558 (name "ghc-zstd")
13559 (version "0.1.1.2")
13560 (source
13561 (origin
13562 (method url-fetch)
13563 (uri (string-append "https://hackage.haskell.org/package/"
13564 "zstd/zstd-" version ".tar.gz"))
13565 (sha256
13566 (base32
13567 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13568 (build-system haskell-build-system)
13569 (native-inputs
13570 `(("ghc-quickcheck" ,ghc-quickcheck)
13571 ("ghc-test-framework" ,ghc-test-framework)
13572 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13573 (home-page "https://github.com/luispedro/hs-zstd")
13574 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13575 (description "This library provides Haskell bindings to the
13576 Zstandard compression algorithm, a fast lossless compression algorithm
13577 targeting real-time compression scenarios at zlib-level and better
13578 compression ratios.")
13579 (license license:bsd-3)))