gnu: ghc-persistent: Update to 2.10.4.
[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.0.0")
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 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
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.9.3")
8799 (source
8800 (origin
8801 (method url-fetch)
8802 (uri (string-append "https://hackage.haskell.org/package/"
8803 "persistent-sqlite-" version "/"
8804 "persistent-sqlite-" version ".tar.gz"))
8805 (sha256
8806 (base32
8807 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
8808 (build-system haskell-build-system)
8809 (inputs `(("ghc-persistent" ,ghc-persistent)
8810 ("ghc-unliftio-core" ,ghc-unliftio-core)
8811 ("ghc-aeson" ,ghc-aeson)
8812 ("ghc-conduit" ,ghc-conduit)
8813 ("ghc-monad-logger" ,ghc-monad-logger)
8814 ("ghc-microlens-th" ,ghc-microlens-th)
8815 ("ghc-resourcet" ,ghc-resourcet)
8816 ("ghc-old-locale" ,ghc-old-locale)
8817 ("ghc-resource-pool" ,ghc-resource-pool)
8818 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8819 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8820 ("ghc-persistent-template" ,ghc-persistent-template)
8821 ("ghc-temporary" ,ghc-temporary)))
8822 (home-page
8823 "https://www.yesodweb.com/book/persistent")
8824 (synopsis "Backend for the persistent library using sqlite3")
8825 (description "This Haskell package includes a thin sqlite3 wrapper based
8826 on the direct-sqlite package, as well as the entire C library, so there are no
8827 system dependencies.")
8828 (license license:expat)))
8829
8830 (define-public ghc-persistent-template
8831 (package
8832 (name "ghc-persistent-template")
8833 (version "2.6.0")
8834 (source
8835 (origin
8836 (method url-fetch)
8837 (uri (string-append "https://hackage.haskell.org/package/"
8838 "persistent-template-" version "/"
8839 "persistent-template-" version ".tar.gz"))
8840 (sha256
8841 (base32
8842 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
8843 (build-system haskell-build-system)
8844 (inputs `(("ghc-persistent" ,ghc-persistent)
8845 ("ghc-monad-control" ,ghc-monad-control)
8846 ("ghc-aeson" ,ghc-aeson)
8847 ("ghc-aeson-compat" ,ghc-aeson-compat)
8848 ("ghc-monad-logger" ,ghc-monad-logger)
8849 ("ghc-unordered-containers" ,ghc-unordered-containers)
8850 ("ghc-tagged" ,ghc-tagged)
8851 ("ghc-path-pieces" ,ghc-path-pieces)
8852 ("ghc-http-api-data" ,ghc-http-api-data)))
8853 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8854 ("ghc-quickcheck" ,ghc-quickcheck)))
8855 (home-page "https://www.yesodweb.com/book/persistent")
8856 (synopsis "Type-safe, non-relational, multi-backend persistence")
8857 (description "This Haskell package provides interfaces and helper
8858 functions for the ghc-persistent package.")
8859 (license license:expat)))
8860
8861 (define-public ghc-pipes
8862 (package
8863 (name "ghc-pipes")
8864 (version "4.3.13")
8865 (source
8866 (origin
8867 (method url-fetch)
8868 (uri (string-append
8869 "https://hackage.haskell.org/package/pipes/"
8870 "pipes-" version ".tar.gz"))
8871 (sha256
8872 (base32
8873 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8874 (build-system haskell-build-system)
8875 (inputs
8876 `(("ghc-exceptions" ,ghc-exceptions)
8877 ("ghc-mmorph" ,ghc-mmorph)
8878 ("ghc-void" ,ghc-void)
8879 ("ghc-semigroups" ,ghc-semigroups)))
8880 (native-inputs
8881 `(("ghc-quickcheck" ,ghc-quickcheck)
8882 ("ghc-test-framework" ,ghc-test-framework)
8883 ("ghc-test-framework-quickcheck2"
8884 ,ghc-test-framework-quickcheck2)))
8885 (home-page
8886 "https://hackage.haskell.org/package/pipes")
8887 (synopsis "Compositional pipelines")
8888 (description
8889 "A clean and powerful stream processing library that lets you build
8890 and connect reusable streaming components. Advantages over traditional streaming
8891 libraries:
8892 @itemize
8893 @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8894 and @code{yield}
8895 @item Blazing fast: Implementation tuned for speed, including shortcut fusion
8896 @item Lightweight Dependency: pipes is small and compiles very rapidly, including
8897 dependencies
8898 @item Elegant semantics: Use practical category theory
8899 @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8900 @item Bidirectionality: Implement duplex channels
8901 @end itemize")
8902 (license license:bsd-3)))
8903
8904 (define-public ghc-pointedlist
8905 (package
8906 (name "ghc-pointedlist")
8907 (version "0.6.1")
8908 (source
8909 (origin
8910 (method url-fetch)
8911 (uri (string-append
8912 "https://hackage.haskell.org/package/pointedlist/"
8913 "pointedlist-" version ".tar.gz"))
8914 (sha256
8915 (base32
8916 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8917 (build-system haskell-build-system)
8918 (home-page
8919 "https://hackage.haskell.org/package/pointedlist")
8920 (synopsis
8921 "Zipper-like comonad which works as a list, tracking a position")
8922 (description
8923 "A PointedList tracks the position in a non-empty list which works
8924 similarly to a zipper. A current item is always required, and therefore
8925 the list may never be empty. A circular PointedList wraps around to the
8926 other end when progressing past the actual edge.")
8927 (license license:bsd-3)))
8928
8929 (define-public ghc-polyparse
8930 (package
8931 (name "ghc-polyparse")
8932 (version "1.12.1")
8933 (source
8934 (origin
8935 (method url-fetch)
8936 (uri (string-append
8937 "https://hackage.haskell.org/package/polyparse/polyparse-"
8938 version
8939 ".tar.gz"))
8940 (sha256
8941 (base32
8942 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
8943 (build-system haskell-build-system)
8944 (home-page
8945 "http://code.haskell.org/~malcolm/polyparse/")
8946 (synopsis
8947 "Alternative parser combinator libraries")
8948 (description
8949 "This package provides a variety of alternative parser combinator
8950 libraries, including the original HuttonMeijer set. The Poly sets have
8951 features like good error reporting, arbitrary token type, running state, lazy
8952 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8953 standard Read class, for better deserialisation of Haskell values from
8954 Strings.")
8955 (license license:lgpl2.1)))
8956
8957 (define-public ghc-pqueue
8958 (package
8959 (name "ghc-pqueue")
8960 (version "1.4.1.2")
8961 (source
8962 (origin
8963 (method url-fetch)
8964 (uri (string-append "https://hackage.haskell.org/package/"
8965 "pqueue/pqueue-" version ".tar.gz"))
8966 (sha256
8967 (base32
8968 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
8969 (build-system haskell-build-system)
8970 (native-inputs
8971 `(("ghc-quickcheck" ,ghc-quickcheck)))
8972 (home-page "https://hackage.haskell.org/package/pqueue")
8973 (synopsis "Reliable, persistent, fast priority queues")
8974 (description
8975 "This package provides a fast, reliable priority queue implementation
8976 based on a binomial heap.")
8977 (license license:bsd-3)))
8978
8979 (define-public ghc-prelude-extras
8980 (package
8981 (name "ghc-prelude-extras")
8982 (version "0.4.0.3")
8983 (source
8984 (origin
8985 (method url-fetch)
8986 (uri (string-append
8987 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8988 version
8989 ".tar.gz"))
8990 (sha256
8991 (base32
8992 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8993 (build-system haskell-build-system)
8994 (home-page "https://github.com/ekmett/prelude-extras")
8995 (synopsis "Higher order versions of Prelude classes")
8996 (description "This library provides higher order versions of
8997 @code{Prelude} classes to ease programming with polymorphic recursion and
8998 reduce @code{UndecidableInstances}.")
8999 (license license:bsd-3)))
9000
9001 (define-public ghc-prettyclass
9002 (package
9003 (name "ghc-prettyclass")
9004 (version "1.0.0.0")
9005 (source
9006 (origin
9007 (method url-fetch)
9008 (uri (string-append "https://hackage.haskell.org/package/"
9009 "prettyclass/prettyclass-" version ".tar.gz"))
9010 (sha256
9011 (base32
9012 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9013 (build-system haskell-build-system)
9014 (home-page "https://hackage.haskell.org/package/prettyclass")
9015 (synopsis "Pretty printing class similar to Show")
9016 (description "This package provides a pretty printing class similar
9017 to @code{Show}, based on the HughesPJ pretty printing library. It
9018 provides the pretty printing class and instances for the Prelude
9019 types.")
9020 (license license:bsd-3)))
9021
9022 (define-public ghc-pretty-hex
9023 (package
9024 (name "ghc-pretty-hex")
9025 (version "1.0")
9026 (source
9027 (origin
9028 (method url-fetch)
9029 (uri (string-append "https://hackage.haskell.org/package/"
9030 "pretty-hex-" version "/"
9031 "pretty-hex-" version ".tar.gz"))
9032 (sha256
9033 (base32
9034 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9035 (build-system haskell-build-system)
9036 (home-page "https://github.com/GaloisInc/hexdump")
9037 (synopsis "Haskell library for hex dumps of ByteStrings")
9038 (description "This Haskell library generates pretty hex dumps of
9039 ByteStrings in the style of other common *nix hex dump tools.")
9040 (license license:bsd-3)))
9041
9042 (define-public ghc-pretty-show
9043 (package
9044 (name "ghc-pretty-show")
9045 (version "1.9.5")
9046 (source
9047 (origin
9048 (method url-fetch)
9049 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9050 "pretty-show-" version ".tar.gz"))
9051 (sha256
9052 (base32
9053 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
9054 (build-system haskell-build-system)
9055 (inputs
9056 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9057 ("ghc-happy" ,ghc-happy)))
9058 (home-page "http://wiki.github.com/yav/pretty-show")
9059 (synopsis "Tools for working with derived `Show` instances")
9060 (description
9061 "This package provides a library and an executable for working with
9062 derived @code{Show} instances. By using the library, derived @code{Show}
9063 instances can be parsed into a generic data structure. The @code{ppsh} tool
9064 uses the library to produce human-readable versions of @code{Show} instances,
9065 which can be quite handy for debugging Haskell programs. We can also render
9066 complex generic values into an interactive Html page, for easier
9067 examination.")
9068 (license license:expat)))
9069
9070 (define-public ghc-primitive
9071 (package
9072 (name "ghc-primitive")
9073 (version "0.6.4.0")
9074 (outputs '("out" "doc"))
9075 (source
9076 (origin
9077 (method url-fetch)
9078 (uri (string-append
9079 "https://hackage.haskell.org/package/primitive/primitive-"
9080 version
9081 ".tar.gz"))
9082 (sha256
9083 (base32
9084 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9085 (build-system haskell-build-system)
9086 (arguments
9087 `(#:cabal-revision
9088 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
9089 (home-page
9090 "https://github.com/haskell/primitive")
9091 (synopsis "Primitive memory-related operations")
9092 (description
9093 "This package provides various primitive memory-related operations.")
9094 (license license:bsd-3)))
9095
9096 (define-public ghc-process-extras
9097 (package
9098 (name "ghc-process-extras")
9099 (version "0.7.4")
9100 (source
9101 (origin
9102 (method url-fetch)
9103 (uri
9104 (string-append
9105 "https://hackage.haskell.org/package/process-extras/"
9106 "process-extras-" version ".tar.gz"))
9107 (sha256
9108 (base32
9109 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9110 (build-system haskell-build-system)
9111 (inputs
9112 `(("ghc-data-default" ,ghc-data-default)
9113 ("ghc-generic-deriving" ,ghc-generic-deriving)
9114 ("ghc-hunit" ,ghc-hunit)
9115 ("ghc-listlike" ,ghc-listlike)))
9116 (home-page "https://github.com/seereason/process-extras")
9117 (synopsis "Extra tools for managing processes")
9118 (description "This package extends
9119 @url{http://hackage.haskell.org/package/process}. It allows you to read
9120 process input and output as ByteStrings or Text, or write your own
9121 ProcessOutput instance. It also provides lazy process input and output,
9122 and a ProcessMaker class for more flexibility in the process creation
9123 API.")
9124 (license license:expat)))
9125
9126 (define-public ghc-profunctors
9127 (package
9128 (name "ghc-profunctors")
9129 (version "5.3")
9130 (source
9131 (origin
9132 (method url-fetch)
9133 (uri (string-append
9134 "https://hackage.haskell.org/package/profunctors/profunctors-"
9135 version
9136 ".tar.gz"))
9137 (sha256
9138 (base32
9139 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
9140 (build-system haskell-build-system)
9141 (inputs
9142 `(("ghc-base-orphans" ,ghc-base-orphans)
9143 ("ghc-bifunctors" ,ghc-bifunctors)
9144 ("ghc-comonad" ,ghc-comonad)
9145 ("ghc-contravariant" ,ghc-contravariant)
9146 ("ghc-distributive" ,ghc-distributive)
9147 ("ghc-semigroups" ,ghc-semigroups)
9148 ("ghc-tagged" ,ghc-tagged)))
9149 (home-page "https://github.com/ekmett/profunctors/")
9150 (synopsis "Profunctors for Haskell")
9151 (description "This library provides profunctors for Haskell.")
9152 (license license:bsd-3)))
9153
9154 (define-public ghc-project-template
9155 (package
9156 (name "ghc-project-template")
9157 (version "0.2.0.1")
9158 (source
9159 (origin
9160 (method url-fetch)
9161 (uri (string-append
9162 "https://hackage.haskell.org/package/project-template/project-template-"
9163 version ".tar.gz"))
9164 (sha256
9165 (base32
9166 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9167 (build-system haskell-build-system)
9168 (inputs
9169 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9170 ("ghc-conduit" ,ghc-conduit)
9171 ("ghc-conduit-extra" ,ghc-conduit-extra)
9172 ("ghc-resourcet" ,ghc-resourcet)))
9173 (native-inputs
9174 `(("ghc-hspec" ,ghc-hspec)
9175 ("hspec-discover" ,hspec-discover)
9176 ("ghc-quickcheck" ,ghc-quickcheck)))
9177 (arguments
9178 `(#:cabal-revision
9179 ("1"
9180 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9181 (home-page "https://github.com/fpco/haskell-ide")
9182 (synopsis "Specify Haskell project templates and generate files")
9183 (description
9184 "Haskell library for both generating and consuming project templates.
9185
9186 ost IDEs provide the concept of a project template: instead of writing all
9187 of the code for a project from scratch, you select a template, answer a few
9188 questions, and a bunch of files are automatically generated.
9189
9190 project-template tries to provide a canonical Haskell library for implementing
9191 the ideal templating system.")
9192 (license license:bsd-3)))
9193
9194 (define-public ghc-psqueues
9195 (package
9196 (name "ghc-psqueues")
9197 (version "0.2.7.2")
9198 (source
9199 (origin
9200 (method url-fetch)
9201 (uri (string-append "https://hackage.haskell.org/package/"
9202 "psqueues-" version "/"
9203 "psqueues-" version ".tar.gz"))
9204 (sha256
9205 (base32
9206 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
9207 (build-system haskell-build-system)
9208 (inputs
9209 `(("ghc-hashable" ,ghc-hashable)))
9210 (native-inputs
9211 `(("ghc-hunit" ,ghc-hunit)
9212 ("ghc-quickcheck" ,ghc-quickcheck)
9213 ("ghc-tagged" ,ghc-tagged)
9214 ("ghc-tasty" ,ghc-tasty)
9215 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9216 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9217 (home-page "https://github.com/jaspervdj/psqueues")
9218 (synopsis "Pure priority search queues")
9219 (description "The psqueues package provides
9220 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9221 three different flavors:
9222
9223 @itemize
9224 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9225 fast insertion, deletion and lookup. This implementation is based on Ralf
9226 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9227 Implementation Technique for Priority Search Queues}.
9228
9229 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9230 PSQueue} library, although it is considerably faster and provides a slightly
9231 different API.
9232
9233 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9234 key type to @code{Int} and uses a
9235 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9236 with an additional min-heap property.
9237
9238 @item @code{HashPSQ k p v} is a fairly straightforward extension
9239 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9240 @code{IntPSQ}. If there are any hash collisions, it uses an
9241 @code{OrdPSQ} to resolve those. The performance of this implementation
9242 is comparable to that of @code{IntPSQ}, but it is more widely
9243 applicable since the keys are not restricted to @code{Int},
9244 but rather to any @code{Hashable} datatype.
9245 @end itemize
9246
9247 Each of the three implementations provides the same API, so they can
9248 be used interchangeably.
9249
9250 Typical applications of Priority Search Queues include:
9251
9252 @itemize
9253 @item Caches, and more specifically LRU Caches;
9254 @item Schedulers;
9255 @item Pathfinding algorithms, such as Dijkstra's and A*.
9256 @end itemize")
9257 (license license:bsd-3)))
9258
9259 (define-public ghc-pwstore-fast
9260 (package
9261 (name "ghc-pwstore-fast")
9262 (version "2.4.4")
9263 (source
9264 (origin
9265 (method url-fetch)
9266 (uri (string-append
9267 "https://hackage.haskell.org/package/pwstore-fast/"
9268 "pwstore-fast-" version ".tar.gz"))
9269 (sha256
9270 (base32
9271 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9272 (build-system haskell-build-system)
9273 (inputs
9274 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9275 ("ghc-cryptohash" ,ghc-cryptohash)
9276 ("ghc-random" ,ghc-random)
9277 ("ghc-byteable" ,ghc-byteable)))
9278 (home-page "https://github.com/PeterScott/pwstore")
9279 (synopsis "Secure password storage")
9280 (description
9281 "To store passwords securely, they should be salted, then hashed with
9282 a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9283 details. It uses the cryptohash package for speed; if you need a pure
9284 Haskell library, pwstore-purehaskell has the exact same API, but uses only
9285 pure Haskell. It is about 25 times slower than this package, but still quite
9286 usable.")
9287 (license license:bsd-3)))
9288
9289 (define-public ghc-random
9290 (package
9291 (name "ghc-random")
9292 (version "1.1")
9293 (outputs '("out" "doc"))
9294 (source
9295 (origin
9296 (method url-fetch)
9297 (uri (string-append
9298 "https://hackage.haskell.org/package/random/random-"
9299 version
9300 ".tar.gz"))
9301 (sha256
9302 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9303 (build-system haskell-build-system)
9304 (home-page "https://hackage.haskell.org/package/random")
9305 (synopsis "Random number library")
9306 (description "This package provides a basic random number generation
9307 library, including the ability to split random number generators.")
9308 (license license:bsd-3)))
9309
9310 (define-public ghc-raw-strings-qq
9311 (package
9312 (name "ghc-raw-strings-qq")
9313 (version "1.1")
9314 (source
9315 (origin
9316 (method url-fetch)
9317 (uri (string-append "https://hackage.haskell.org/package/"
9318 "raw-strings-qq/raw-strings-qq-"
9319 version ".tar.gz"))
9320 (sha256
9321 (base32
9322 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9323 (build-system haskell-build-system)
9324 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9325 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9326 (synopsis "Raw string literals for Haskell")
9327 (description
9328 "This package provides a quasiquoter for raw string literals, i.e. string
9329 literals that don't recognise the standard escape sequences. Basically, they
9330 make your code more readable by freeing you from the responsibility to escape
9331 backslashes. They are useful when working with regular expressions,
9332 DOS/Windows paths and markup languages (such as XML).")
9333 (license license:bsd-3)))
9334
9335 (define-public ghc-readable
9336 (package
9337 (name "ghc-readable")
9338 (version "0.3.1")
9339 (source
9340 (origin
9341 (method url-fetch)
9342 (uri (string-append "https://hackage.haskell.org/package/"
9343 "readable/readable-" version ".tar.gz"))
9344 (sha256
9345 (base32
9346 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9347 (build-system haskell-build-system)
9348 (home-page "https://github.com/mightybyte/readable")
9349 (synopsis "Type class for reading from Text and ByteString")
9350 (description "This package provides a @code{Readable} type class for
9351 reading data types from @code{ByteString} and @code{Text}. It also
9352 includes efficient implementations for common data types.")
9353 (license license:bsd-3)))
9354
9355 (define-public ghc-rebase
9356 (package
9357 (name "ghc-rebase")
9358 (version "1.3.1.1")
9359 (source
9360 (origin
9361 (method url-fetch)
9362 (uri (string-append "https://hackage.haskell.org/package/"
9363 "rebase-" version "/"
9364 "rebase-" version ".tar.gz"))
9365 (sha256
9366 (base32
9367 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
9368 (build-system haskell-build-system)
9369 (inputs `(("ghc-hashable" ,ghc-hashable)
9370 ("ghc-vector" ,ghc-vector)
9371 ("ghc-unordered-containers" ,ghc-unordered-containers)
9372 ("ghc-scientific" ,ghc-scientific)
9373 ("ghc-uuid" ,ghc-uuid)
9374 ("ghc-dlist" ,ghc-dlist)
9375 ("ghc-void" ,ghc-void)
9376 ("ghc-bifunctors" ,ghc-bifunctors)
9377 ("ghc-profunctors" ,ghc-profunctors)
9378 ("ghc-contravariant" ,ghc-contravariant)
9379 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9380 ("ghc-semigroups" ,ghc-semigroups)
9381 ("ghc-either" ,ghc-either)
9382 ("ghc-fail" ,ghc-fail)
9383 ("ghc-base-prelude" ,ghc-base-prelude)))
9384 (home-page "https://github.com/nikita-volkov/rebase")
9385 (synopsis "Progressive alternative to the base package
9386 for Haskell")
9387 (description "This Haskell package is intended for those who are
9388 tired of keeping long lists of dependencies to the same essential libraries
9389 in each package as well as the endless imports of the same APIs all over again.
9390
9391 It also supports the modern tendencies in the language.
9392
9393 To solve those problems this package does the following:
9394
9395 @itemize
9396 @item Reexport the original APIs under the @code{Rebase} namespace.
9397
9398 @item Export all the possible non-conflicting symbols from the
9399 @code{Rebase.Prelude} module.
9400
9401 @item Give priority to the modern practices in the conflicting cases.
9402 @end itemize
9403
9404 The policy behind the package is only to reexport the non-ambiguous and
9405 non-controversial APIs, which the community has obviously settled on.
9406 The package is intended to rapidly evolve with the contribution from
9407 the community, with the missing features being added with pull-requests.")
9408 (license license:expat)))
9409
9410 (define-public ghc-reducers
9411 (package
9412 (name "ghc-reducers")
9413 (version "3.12.3")
9414 (source
9415 (origin
9416 (method url-fetch)
9417 (uri (string-append
9418 "https://hackage.haskell.org/package/reducers/reducers-"
9419 version
9420 ".tar.gz"))
9421 (sha256
9422 (base32
9423 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9424 (build-system haskell-build-system)
9425 (inputs
9426 `(("ghc-fingertree" ,ghc-fingertree)
9427 ("ghc-hashable" ,ghc-hashable)
9428 ("ghc-unordered-containers" ,ghc-unordered-containers)
9429 ("ghc-semigroupoids" ,ghc-semigroupoids)
9430 ("ghc-semigroups" ,ghc-semigroups)))
9431 (home-page "https://github.com/ekmett/reducers/")
9432 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9433 (description "This library provides various semigroups, specialized
9434 containers and a general map/reduce framework for Haskell.")
9435 (license license:bsd-3)))
9436
9437 (define-public ghc-refact
9438 (package
9439 (name "ghc-refact")
9440 (version "0.3.0.2")
9441 (source
9442 (origin
9443 (method url-fetch)
9444 (uri (string-append "https://hackage.haskell.org/package/"
9445 "refact/refact-"
9446 version ".tar.gz"))
9447 (sha256
9448 (base32
9449 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9450 (build-system haskell-build-system)
9451 (home-page "https://hackage.haskell.org/package/refact")
9452 (synopsis "Specify refactorings to perform with apply-refact")
9453 (description
9454 "This library provides a datatype which can be interpreted by
9455 @code{apply-refact}. It exists as a separate library so that applications can
9456 specify refactorings without depending on GHC.")
9457 (license license:bsd-3)))
9458
9459 (define-public ghc-reflection
9460 (package
9461 (name "ghc-reflection")
9462 (version "2.1.5")
9463 (source
9464 (origin
9465 (method url-fetch)
9466 (uri (string-append
9467 "https://hackage.haskell.org/package/reflection/reflection-"
9468 version
9469 ".tar.gz"))
9470 (sha256
9471 (base32
9472 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
9473 (build-system haskell-build-system)
9474 (inputs `(("ghc-tagged" ,ghc-tagged)))
9475 (native-inputs
9476 `(("ghc-hspec" ,ghc-hspec)
9477 ("ghc-quickcheck" ,ghc-quickcheck)
9478 ("hspec-discover" ,hspec-discover)))
9479 (home-page "https://github.com/ekmett/reflection")
9480 (synopsis "Reify arbitrary terms into types that can be reflected back
9481 into terms")
9482 (description "This package addresses the 'configuration problem' which is
9483 propagating configurations that are available at run-time, allowing multiple
9484 configurations to coexist without resorting to mutable global variables or
9485 @code{System.IO.Unsafe.unsafePerformIO}.")
9486 (license license:bsd-3)))
9487
9488 (define-public ghc-regex
9489 (package
9490 (name "ghc-regex")
9491 (version "1.0.2.0")
9492 (source
9493 (origin
9494 (method url-fetch)
9495 (uri (string-append "https://hackage.haskell.org/package/regex/"
9496 "regex-" version ".tar.gz"))
9497 (sha256
9498 (base32
9499 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
9500 (build-system haskell-build-system)
9501 (arguments
9502 `(#:phases
9503 (modify-phases %standard-phases
9504 (add-after 'unpack 'relax-dependencies
9505 (lambda _
9506 (substitute* "regex.cabal"
9507 (("base-compat.*>=.*0.6.*")
9508 "base-compat >= 0.6\n")
9509 (("template-haskell.*>=.*2.7.*")
9510 "template-haskell >= 2.7\n"))
9511 #t)))))
9512 (inputs
9513 `(("ghc-base-compat" ,ghc-base-compat)
9514 ("ghc-hashable" ,ghc-hashable)
9515 ("ghc-regex-base" ,ghc-regex-base)
9516 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9517 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9518 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9519 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9520 ("ghc-unordered-containers" ,ghc-unordered-containers)
9521 ("ghc-utf8-string" ,ghc-utf8-string)))
9522 (home-page "http://regex.uk")
9523 (synopsis "Toolkit for regex-base")
9524 (description
9525 "This package provides a regular expression toolkit for @code{regex-base}
9526 with compile-time checking of regular expression syntax, data types for
9527 matches and captures, a text replacement toolkit, portable options, high-level
9528 AWK-like tools for building text processing apps, regular expression macros
9529 with parsers and test bench, comprehensive documentation, tutorials and
9530 copious examples.")
9531 (license license:bsd-3)))
9532
9533 (define-public ghc-regex-applicative
9534 (package
9535 (name "ghc-regex-applicative")
9536 (version "0.3.3.1")
9537 (source
9538 (origin
9539 (method url-fetch)
9540 (uri (string-append
9541 "https://hackage.haskell.org/package/regex-applicative/"
9542 "regex-applicative-" version ".tar.gz"))
9543 (sha256
9544 (base32
9545 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
9546 (build-system haskell-build-system)
9547 (inputs
9548 `(("ghc-smallcheck" ,ghc-smallcheck)
9549 ("ghc-tasty" ,ghc-tasty)
9550 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9551 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9552 (home-page "https://github.com/feuerbach/regex-applicative")
9553 (synopsis "Regex-based parsing with applicative interface")
9554 (description
9555 "@code{regex-applicative} is a Haskell library for parsing using
9556 regular expressions. Parsers can be built using Applicative interface.")
9557 (license license:expat)))
9558
9559 (define-public ghc-regex-base
9560 (package
9561 (name "ghc-regex-base")
9562 (version "0.93.2")
9563 (source
9564 (origin
9565 (method url-fetch)
9566 (uri (string-append
9567 "https://hackage.haskell.org/package/regex-base/regex-base-"
9568 version
9569 ".tar.gz"))
9570 (sha256
9571 (base32
9572 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9573 (build-system haskell-build-system)
9574 (home-page
9575 "https://sourceforge.net/projects/lazy-regex")
9576 (synopsis "Replaces/Enhances Text.Regex")
9577 (description "@code{Text.Regex.Base} provides the interface API for
9578 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9579 (license license:bsd-3)))
9580
9581 (define-public ghc-regex-compat
9582 (package
9583 (name "ghc-regex-compat")
9584 (version "0.95.1")
9585 (source
9586 (origin
9587 (method url-fetch)
9588 (uri (string-append
9589 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9590 version
9591 ".tar.gz"))
9592 (sha256
9593 (base32
9594 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9595 (build-system haskell-build-system)
9596 (inputs
9597 `(("ghc-regex-base" ,ghc-regex-base)
9598 ("ghc-regex-posix" ,ghc-regex-posix)))
9599 (home-page "https://sourceforge.net/projects/lazy-regex")
9600 (synopsis "Replaces/Enhances Text.Regex")
9601 (description "This library provides one module layer over
9602 @code{regex-posix} to replace @code{Text.Regex}.")
9603 (license license:bsd-3)))
9604
9605 (define-public ghc-regex-compat-tdfa
9606 (package
9607 (name "ghc-regex-compat-tdfa")
9608 (version "0.95.1.4")
9609 (source
9610 (origin
9611 (method url-fetch)
9612 (uri (string-append
9613 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9614 version ".tar.gz"))
9615 (sha256
9616 (base32
9617 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9618 (build-system haskell-build-system)
9619 (inputs
9620 `(("ghc-regex-base" ,ghc-regex-base)
9621 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9622 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9623 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9624 (description
9625 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9626 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9627 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9628 this problem.")
9629 (license license:bsd-3)))
9630
9631 (define-public ghc-regex-pcre-builtin
9632 (package
9633 (name "ghc-regex-pcre-builtin")
9634 (version "0.94.5.8.8.35")
9635 (source (origin
9636 (method url-fetch)
9637 (uri (string-append "https://hackage.haskell.org/package/"
9638 "regex-pcre-builtin/regex-pcre-builtin-"
9639 version ".tar.gz"))
9640 (sha256
9641 (base32
9642 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
9643 (build-system haskell-build-system)
9644 (inputs
9645 `(("ghc-regex-base" ,ghc-regex-base)))
9646 (home-page "https://hackage.haskell.org/package/regex-pcre")
9647 (synopsis "Enhancement of the builtin Text.Regex library")
9648 (description
9649 "This package is an enhancement of the @code{Text.Regex} library,
9650 providing the PCRE backend to accompany regex-base, with bundled code from
9651 @url{https://www.pcre.org}.")
9652 (license license:bsd-3)))
9653
9654 (define-public ghc-regex-posix
9655 (package
9656 (name "ghc-regex-posix")
9657 (version "0.95.2")
9658 (source
9659 (origin
9660 (method url-fetch)
9661 (uri (string-append
9662 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9663 version
9664 ".tar.gz"))
9665 (sha256
9666 (base32
9667 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9668 (build-system haskell-build-system)
9669 (inputs
9670 `(("ghc-regex-base" ,ghc-regex-base)))
9671 (home-page "https://sourceforge.net/projects/lazy-regex")
9672 (synopsis "POSIX regular expressions for Haskell")
9673 (description "This library provides the POSIX regex backend used by the
9674 Haskell library @code{regex-base}.")
9675 (license license:bsd-3)))
9676
9677 (define-public ghc-regex-tdfa
9678 (package
9679 (name "ghc-regex-tdfa")
9680 (version "1.2.3.2")
9681 (source
9682 (origin
9683 (method url-fetch)
9684 (uri (string-append
9685 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9686 version ".tar.gz"))
9687 (sha256
9688 (base32
9689 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
9690 (build-system haskell-build-system)
9691 (inputs
9692 `(("ghc-regex-base" ,ghc-regex-base)))
9693 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9694 (synopsis "POSIX extended regular expressions in Haskell.")
9695 (description
9696 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9697 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9698 inspired by libtre.")
9699 (license license:bsd-3)))
9700
9701 (define-public ghc-regex-tdfa-text
9702 (package
9703 (name "ghc-regex-tdfa-text")
9704 (version "1.0.0.3")
9705 (source
9706 (origin
9707 (method url-fetch)
9708 (uri (string-append
9709 "https://hackage.haskell.org/package/regex-tdfa-text/"
9710 "regex-tdfa-text-" version ".tar.gz"))
9711 (sha256
9712 (base32
9713 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9714 (build-system haskell-build-system)
9715 (inputs
9716 `(("ghc-regex-base" ,ghc-regex-base)
9717 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9718 (home-page
9719 "https://hackage.haskell.org/package/regex-tdfa-text")
9720 (synopsis "Text interface for regex-tdfa")
9721 (description
9722 "This provides an extra text interface for regex-tdfa.")
9723 (license license:bsd-3)))
9724
9725 (define-public ghc-rerebase
9726 (package
9727 (name "ghc-rerebase")
9728 (version "1.3.1.1")
9729 (source
9730 (origin
9731 (method url-fetch)
9732 (uri (string-append
9733 "https://hackage.haskell.org/package/rerebase/rerebase-"
9734 version ".tar.gz"))
9735 (sha256
9736 (base32
9737 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
9738 (build-system haskell-build-system)
9739 (inputs
9740 `(("ghc-rebase" ,ghc-rebase)))
9741 (home-page "https://github.com/nikita-volkov/rerebase")
9742 (synopsis "Reexports from ``base'' with many other standard libraries")
9743 (description "A rich drop-in replacement for @code{base}. For details and
9744 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9745 the project's home page}.")
9746 (license license:expat)))
9747
9748 (define-public ghc-resolv
9749 (package
9750 (name "ghc-resolv")
9751 (version "0.1.1.2")
9752 (source
9753 (origin
9754 (method url-fetch)
9755 (uri (string-append
9756 "https://hackage.haskell.org/package/resolv/resolv-"
9757 version ".tar.gz"))
9758 (sha256
9759 (base32
9760 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
9761 (build-system haskell-build-system)
9762 (arguments
9763 `(#:phases
9764 (modify-phases %standard-phases
9765 (add-before 'configure 'update-constraints
9766 (lambda _
9767 (substitute* "resolv.cabal"
9768 (("tasty >= 1\\.1 && < 1\\.2")
9769 "tasty >= 1.1 && < 1.3"))
9770 #t)))))
9771 (inputs
9772 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
9773 (native-inputs
9774 `(("ghc-tasty" ,ghc-tasty)
9775 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9776 (home-page "https://github.com/haskell/hackage-security")
9777 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9778 (description "This package implements an API for accessing the
9779 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9780 resolver service via the standard @code{libresolv} system library (whose
9781 API is often available directly via the standard @code{libc} C library) on
9782 Unix systems.")
9783 (license license:gpl3)))
9784
9785 (define-public ghc-resource-pool
9786 (package
9787 (name "ghc-resource-pool")
9788 (version "0.2.3.2")
9789 (source
9790 (origin
9791 (method url-fetch)
9792 (uri (string-append "https://hackage.haskell.org/package/"
9793 "resource-pool-" version "/"
9794 "resource-pool-" version ".tar.gz"))
9795 (sha256
9796 (base32
9797 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9798 (build-system haskell-build-system)
9799 (inputs `(("ghc-hashable" ,ghc-hashable)
9800 ("ghc-monad-control" ,ghc-monad-control)
9801 ("ghc-transformers-base" ,ghc-transformers-base)
9802 ("ghc-vector" ,ghc-vector)))
9803 (home-page "https://github.com/bos/pool")
9804 (synopsis "Striped resource pooling implementation in Haskell")
9805 (description "This Haskell package provides striped pooling abstraction
9806 for managing flexibly-sized collections of resources such as database
9807 connections.")
9808 (license license:bsd-3)))
9809
9810 (define-public ghc-resourcet
9811 (package
9812 (name "ghc-resourcet")
9813 (version "1.2.2")
9814 (source
9815 (origin
9816 (method url-fetch)
9817 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9818 "resourcet-" version ".tar.gz"))
9819 (sha256
9820 (base32
9821 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
9822 (build-system haskell-build-system)
9823 (inputs
9824 `(("ghc-transformers-base" ,ghc-transformers-base)
9825 ("ghc-monad-control" ,ghc-monad-control)
9826 ("ghc-transformers-compat" ,ghc-transformers-compat)
9827 ("ghc-mmorph" ,ghc-mmorph)
9828 ("ghc-exceptions" ,ghc-exceptions)
9829 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9830 (native-inputs
9831 `(("ghc-lifted-base" ,ghc-lifted-base)
9832 ("ghc-hspec" ,ghc-hspec)))
9833 (home-page "https://github.com/snoyberg/conduit")
9834 (synopsis "Deterministic allocation and freeing of scarce resources")
9835 (description "ResourceT is a monad transformer which creates a region of
9836 code where you can safely allocate resources.")
9837 (license license:bsd-3)))
9838
9839 (define-public ghc-retry
9840 (package
9841 (name "ghc-retry")
9842 (version "0.8.1.0")
9843 (source
9844 (origin
9845 (method url-fetch)
9846 (uri (string-append "https://hackage.haskell.org/package/"
9847 "retry/retry-" version ".tar.gz"))
9848 (sha256
9849 (base32
9850 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9851 (build-system haskell-build-system)
9852 (inputs
9853 `(("ghc-exceptions" ,ghc-exceptions)
9854 ("ghc-random" ,ghc-random)))
9855 (native-inputs
9856 `(("ghc-hunit" ,ghc-hunit)
9857 ("ghc-tasty" ,ghc-tasty)
9858 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9859 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9860 ("ghc-hedgehog" ,ghc-hedgehog)))
9861 (home-page "http://github.com/Soostone/retry")
9862 (synopsis "Retry combinators for monadic actions that may fail")
9863 (description "This package exposes combinators that can wrap
9864 arbitrary monadic actions. They run the action and potentially retry
9865 running it with some configurable delay for a configurable number of
9866 times. The purpose is to make it easier to work with IO and especially
9867 network IO actions that often experience temporary failure and warrant
9868 retrying of the original action. For example, a database query may time
9869 out for a while, in which case we should hang back for a bit and retry
9870 the query instead of simply raising an exception.")
9871 (license license:bsd-3)))
9872
9873 (define-public ghc-rfc5051
9874 (package
9875 (name "ghc-rfc5051")
9876 (version "0.1.0.4")
9877 (source
9878 (origin
9879 (method url-fetch)
9880 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9881 "rfc5051-" version ".tar.gz"))
9882 (sha256
9883 (base32
9884 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
9885 (build-system haskell-build-system)
9886 (home-page "https://hackage.haskell.org/package/rfc5051")
9887 (synopsis "Simple unicode collation as per RFC5051")
9888 (description
9889 "This library implements @code{unicode-casemap}, the simple, non
9890 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9891 unicode collation can be done using @code{text-icu}, but that is a big
9892 dependency that depends on a large C library, and @code{rfc5051} might be
9893 better for some purposes.")
9894 (license license:bsd-3)))
9895
9896 (define-public ghc-rio
9897 (package
9898 (name "ghc-rio")
9899 (version "0.1.12.0")
9900 (source
9901 (origin
9902 (method url-fetch)
9903 (uri (string-append
9904 "https://hackage.haskell.org/package/rio/rio-"
9905 version ".tar.gz"))
9906 (sha256
9907 (base32
9908 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
9909 (build-system haskell-build-system)
9910 (inputs
9911 `(("ghc-exceptions" ,ghc-exceptions)
9912 ("ghc-hashable" ,ghc-hashable)
9913 ("ghc-microlens" ,ghc-microlens)
9914 ("ghc-primitive" ,ghc-primitive)
9915 ("ghc-typed-process" ,ghc-typed-process)
9916 ("ghc-unliftio" ,ghc-unliftio)
9917 ("ghc-unordered-containers" ,ghc-unordered-containers)
9918 ("ghc-vector" ,ghc-vector)))
9919 (native-inputs
9920 `(("ghc-hspec" ,ghc-hspec)
9921 ("hspec-discover" ,hspec-discover)))
9922 (home-page "https://github.com/commercialhaskell/rio#readme")
9923 (synopsis "A standard library for Haskell")
9924 (description "This package works as a prelude replacement for Haskell,
9925 providing more functionality and types out of the box than the standard
9926 prelude (such as common data types like @code{ByteString} and
9927 @code{Text}), as well as removing common ``gotchas'', like partial
9928 functions and lazy I/O. The guiding principle here is:
9929 @itemize
9930 @item If something is safe to use in general and has no expected naming
9931 conflicts, expose it.
9932 @item If something should not always be used, or has naming conflicts,
9933 expose it from another module in the hierarchy.
9934 @end itemize")
9935 (license license:expat)))
9936
9937 (define-public ghc-safe
9938 (package
9939 (name "ghc-safe")
9940 (version "0.3.17")
9941 (source
9942 (origin
9943 (method url-fetch)
9944 (uri (string-append
9945 "https://hackage.haskell.org/package/safe/safe-"
9946 version
9947 ".tar.gz"))
9948 (sha256
9949 (base32
9950 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9951 (build-system haskell-build-system)
9952 (native-inputs
9953 `(("ghc-quickcheck" ,ghc-quickcheck)))
9954 (home-page "https://github.com/ndmitchell/safe#readme")
9955 (synopsis "Library of safe (exception free) functions")
9956 (description "This library provides wrappers around @code{Prelude} and
9957 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9958 exceptions.")
9959 (license license:bsd-3)))
9960
9961 (define-public ghc-safe-exceptions
9962 (package
9963 (name "ghc-safe-exceptions")
9964 (version "0.1.7.0")
9965 (source
9966 (origin
9967 (method url-fetch)
9968 (uri (string-append "https://hackage.haskell.org/package/"
9969 "safe-exceptions/safe-exceptions-"
9970 version ".tar.gz"))
9971 (sha256
9972 (base32
9973 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9974 (build-system haskell-build-system)
9975 (arguments
9976 '(#:cabal-revision
9977 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9978 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9979 (native-inputs
9980 `(("ghc-hspec" ,ghc-hspec)
9981 ("ghc-void" ,ghc-void)
9982 ("hspec-discover" ,hspec-discover)))
9983 (home-page "https://github.com/fpco/safe-exceptions")
9984 (synopsis "Safe, consistent, and easy exception handling")
9985 (description "Runtime exceptions - as exposed in @code{base} by the
9986 @code{Control.Exception} module - have long been an intimidating part of the
9987 Haskell ecosystem. This package is intended to overcome this. It provides a
9988 safe and simple API on top of the existing exception handling machinery. The
9989 API is equivalent to the underlying implementation in terms of power but
9990 encourages best practices to minimize the chances of getting the exception
9991 handling wrong.")
9992 (license license:expat)))
9993
9994 (define-public ghc-safeio
9995 (package
9996 (name "ghc-safeio")
9997 (version "0.0.5.0")
9998 (source
9999 (origin
10000 (method url-fetch)
10001 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10002 "safeio-" version ".tar.gz"))
10003 (sha256
10004 (base32
10005 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10006 (build-system haskell-build-system)
10007 (inputs
10008 `(("ghc-conduit" ,ghc-conduit)
10009 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10010 ("ghc-exceptions" ,ghc-exceptions)
10011 ("ghc-resourcet" ,ghc-resourcet)))
10012 (native-inputs
10013 `(("ghc-hunit" ,ghc-hunit)
10014 ("ghc-test-framework" ,ghc-test-framework)
10015 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10016 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10017 (home-page "https://github.com/luispedro/safeio")
10018 (synopsis "Write output to disk atomically")
10019 (description
10020 "This package implements utilities to perform atomic output so as to
10021 avoid the problem of partial intermediate files.")
10022 (license license:expat)))
10023
10024 (define-public ghc-safesemaphore
10025 (package
10026 (name "ghc-safesemaphore")
10027 (version "0.10.1")
10028 (source
10029 (origin
10030 (method url-fetch)
10031 (uri (string-append "https://hackage.haskell.org/package/"
10032 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10033 (sha256
10034 (base32
10035 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10036 (build-system haskell-build-system)
10037 (native-inputs
10038 `(("ghc-hunit" ,ghc-hunit)))
10039 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10040 (synopsis "Exception safe semaphores")
10041 (description "This library provides exception safe semaphores that can be
10042 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10043 are not exception safe and can be broken by @code{killThread}.")
10044 (license license:bsd-3)))
10045
10046 (define-public ghc-sandi
10047 (package
10048 (name "ghc-sandi")
10049 (version "0.5")
10050 (source
10051 (origin
10052 (method url-fetch)
10053 (uri (string-append
10054 "https://hackage.haskell.org/package/sandi/sandi-"
10055 version ".tar.gz"))
10056 (sha256
10057 (base32
10058 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
10059 (build-system haskell-build-system)
10060 (inputs
10061 `(("ghc-stringsearch" ,ghc-stringsearch)
10062 ("ghc-conduit" ,ghc-conduit)
10063 ("ghc-exceptions" ,ghc-exceptions)
10064 ("ghc-hunit" ,ghc-hunit)
10065 ("ghc-tasty" ,ghc-tasty)
10066 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10067 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10068 ("ghc-tasty-th" ,ghc-tasty-th)))
10069 (home-page "https://hackage.haskell.org/package/sandi")
10070 (synopsis "Data encoding library")
10071 (description "Reasonably fast data encoding library.")
10072 (license license:bsd-3)))
10073
10074 (define-public ghc-say
10075 (package
10076 (name "ghc-say")
10077 (version "0.1.0.1")
10078 (source
10079 (origin
10080 (method url-fetch)
10081 (uri (string-append
10082 "https://hackage.haskell.org/package/say/say-"
10083 version
10084 ".tar.gz"))
10085 (sha256
10086 (base32
10087 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10088 (build-system haskell-build-system)
10089 (native-inputs
10090 `(("ghc-hspec" ,ghc-hspec)
10091 ("hspec-discover" ,hspec-discover)
10092 ("ghc-unliftio" ,ghc-unliftio)))
10093 (home-page "https://github.com/fpco/say")
10094 (synopsis
10095 "Send textual messages to a Handle in a thread-friendly way")
10096 (description
10097 "A thread safe API to write a line of textual data to a Handle, such
10098 as sending some messages to the terminal - that has the following properties:
10099 @itemize
10100 @item Properly handle character encoding settings on the Handle
10101 @item For reasonably sized messages, ensure that the entire message is written
10102 in one chunk to avoid interleaving data with other threads
10103 @item Avoid unnecessary memory allocations and copies
10104 @item Minimize locking.
10105 @end itemize")
10106 (license license:expat)))
10107
10108 (define-public ghc-scientific
10109 (package
10110 (name "ghc-scientific")
10111 (version "0.3.6.2")
10112 (source
10113 (origin
10114 (method url-fetch)
10115 (uri (string-append
10116 "https://hackage.haskell.org/package/scientific/scientific-"
10117 version
10118 ".tar.gz"))
10119 (sha256
10120 (base32
10121 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10122 (build-system haskell-build-system)
10123 (inputs
10124 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10125 ("ghc-hashable" ,ghc-hashable)
10126 ("ghc-primitive" ,ghc-primitive)))
10127 (native-inputs
10128 `(("ghc-tasty" ,ghc-tasty)
10129 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10130 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10131 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10132 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10133 ("ghc-smallcheck" ,ghc-smallcheck)
10134 ("ghc-quickcheck" ,ghc-quickcheck)))
10135 (home-page "https://github.com/basvandijk/scientific")
10136 (synopsis "Numbers represented using scientific notation")
10137 (description "This package provides @code{Data.Scientific}, which provides
10138 the number type @code{Scientific}. Scientific numbers are arbitrary precision
10139 and space efficient. They are represented using
10140 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10141 notation}.")
10142 (license license:bsd-3)))
10143
10144 (define-public ghc-scientific-bootstrap
10145 (package
10146 (inherit ghc-scientific)
10147 (name "ghc-scientific-bootstrap")
10148 (arguments `(#:tests? #f))
10149 (inputs
10150 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10151 ("ghc-hashable" ,ghc-hashable)
10152 ("ghc-primitive" ,ghc-primitive)))
10153 (native-inputs '())
10154 (properties '((hidden? #t)))))
10155
10156 (define-public ghc-sdl
10157 (package
10158 (name "ghc-sdl")
10159 (version "0.6.7.0")
10160 (source
10161 (origin
10162 (method url-fetch)
10163 (uri (string-append
10164 "https://hackage.haskell.org/package/SDL/SDL-"
10165 version
10166 ".tar.gz"))
10167 (sha256
10168 (base32
10169 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10170 (build-system haskell-build-system)
10171 (inputs
10172 `(("sdl" ,sdl)))
10173 (home-page "https://hackage.haskell.org/package/SDL")
10174 (synopsis "LibSDL for Haskell")
10175 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10176 multimedia library designed to provide low level access to audio, keyboard,
10177 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10178 by MPEG playback software, emulators, and many popular games, including the
10179 award winning Linux port of \"Civilization: Call To Power.\"")
10180 (license license:bsd-3)))
10181
10182 (define-public ghc-sdl2
10183 (package
10184 (name "ghc-sdl2")
10185 (version "2.5.0.0")
10186 (source
10187 (origin
10188 (method url-fetch)
10189 (uri (string-append "https://hackage.haskell.org/package/"
10190 "sdl2/sdl2-" version ".tar.gz"))
10191 (sha256
10192 (base32
10193 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
10194 (build-system haskell-build-system)
10195 (arguments '(#:tests? #f)) ; tests require graphical environment
10196 (inputs
10197 `(("ghc-exceptions" ,ghc-exceptions)
10198 ("ghc-linear" ,ghc-linear)
10199 ("ghc-statevar" ,ghc-statevar)
10200 ("ghc-vector" ,ghc-vector)
10201 ("sdl2" ,sdl2)))
10202 (native-inputs
10203 `(("ghc-weigh" ,ghc-weigh)
10204 ("pkg-config" ,pkg-config)))
10205 (home-page "https://hackage.haskell.org/package/sdl2")
10206 (synopsis "High- and low-level bindings to the SDL library")
10207 (description
10208 "This package contains bindings to the SDL 2 library, in both high- and
10209 low-level forms. The @code{SDL} namespace contains high-level bindings, where
10210 enumerations are split into sum types, and we perform automatic
10211 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10212 translation of the C API into Haskell FFI calls. As such, this does not
10213 contain sum types nor error checking. Thus this namespace is suitable for
10214 building your own abstraction over SDL, but is not recommended for day-to-day
10215 programming.")
10216 (license license:bsd-3)))
10217
10218 (define-public ghc-sdl2-image
10219 (package
10220 (name "ghc-sdl2-image")
10221 (version "2.0.0")
10222 (source
10223 (origin
10224 (method url-fetch)
10225 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10226 "sdl2-image-" version ".tar.gz"))
10227 (sha256
10228 (base32
10229 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10230 (build-system haskell-build-system)
10231 (inputs
10232 `(("ghc-sdl2" ,ghc-sdl2)
10233 ("sdl2-image" ,sdl2-image)))
10234 (native-inputs
10235 `(("pkg-config" ,pkg-config)))
10236 (home-page "https://hackage.haskell.org/package/sdl2-image")
10237 (synopsis "Bindings to SDL2_image")
10238 (description "This package provides Haskell bindings to
10239 @code{SDL2_image}.")
10240 (license license:expat)))
10241
10242 (define-public ghc-sdl2-mixer
10243 (package
10244 (name "ghc-sdl2-mixer")
10245 (version "1.1.0")
10246 (source
10247 (origin
10248 (method url-fetch)
10249 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10250 "sdl2-mixer-" version ".tar.gz"))
10251 (sha256
10252 (base32
10253 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10254 (build-system haskell-build-system)
10255 (inputs
10256 `(("ghc-data-default-class" ,ghc-data-default-class)
10257 ("ghc-lifted-base" ,ghc-lifted-base)
10258 ("ghc-monad-control" ,ghc-monad-control)
10259 ("ghc-sdl2" ,ghc-sdl2)
10260 ("ghc-vector" ,ghc-vector)
10261 ("sdl2-mixer" ,sdl2-mixer)))
10262 (native-inputs
10263 `(("pkg-config" ,pkg-config)))
10264 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
10265 (synopsis "Bindings to SDL2 mixer")
10266 (description "This package provides Haskell bindings to
10267 @code{SDL2_mixer}.")
10268 (license license:bsd-3)))
10269
10270 (define-public ghc-sdl-image
10271 (package
10272 (name "ghc-sdl-image")
10273 (version "0.6.2.0")
10274 (source
10275 (origin
10276 (method url-fetch)
10277 (uri (string-append
10278 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10279 version
10280 ".tar.gz"))
10281 (sha256
10282 (base32
10283 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10284 (build-system haskell-build-system)
10285 (arguments
10286 `(#:configure-flags
10287 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10288 (sdl-image-include (string-append sdl-image "/include/SDL")))
10289 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10290 (inputs
10291 `(("ghc-sdl" ,ghc-sdl)
10292 ("sdl-image" ,sdl-image)))
10293 (home-page "https://hackage.haskell.org/package/SDL-image")
10294 (synopsis "Haskell bindings to libSDL_image")
10295 (description "SDL_image is an image file loading library. It loads images
10296 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10297 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10298 (license license:bsd-3)))
10299
10300 (define-public ghc-sdl-mixer
10301 (package
10302 (name "ghc-sdl-mixer")
10303 (version "0.6.3.0")
10304 (source
10305 (origin
10306 (method url-fetch)
10307 (uri (string-append
10308 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10309 version
10310 ".tar.gz"))
10311 (sha256
10312 (base32
10313 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10314 (build-system haskell-build-system)
10315 (arguments
10316 `(#:configure-flags
10317 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10318 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10319 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10320 (inputs
10321 `(("ghc-sdl" ,ghc-sdl)
10322 ("sdl-mixer" ,sdl-mixer)))
10323 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10324 (synopsis "Haskell bindings to libSDL_mixer")
10325 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10326 supports any number of simultaneously playing channels of 16 bit stereo audio,
10327 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10328 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10329 (license license:bsd-3)))
10330
10331 (define-public ghc-securemem
10332 (package
10333 (name "ghc-securemem")
10334 (version "0.1.10")
10335 (source
10336 (origin
10337 (method url-fetch)
10338 (uri (string-append "https://hackage.haskell.org/package/"
10339 "securemem-" version "/"
10340 "securemem-" version ".tar.gz"))
10341 (sha256
10342 (base32
10343 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10344 (build-system haskell-build-system)
10345 (inputs `(("ghc-byteable" ,ghc-byteable)
10346 ("ghc-memory" ,ghc-memory)))
10347 (home-page "https://github.com/vincenthz/hs-securemem")
10348 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10349 Haskell")
10350 (description "SecureMem is similar to ByteString, except that it provides
10351 a memory chunk that will be auto-scrubbed after it run out of scope.")
10352 (license license:bsd-3)))
10353
10354 (define-public ghc-semigroupoids
10355 (package
10356 (name "ghc-semigroupoids")
10357 (version "5.3.3")
10358 (source
10359 (origin
10360 (method url-fetch)
10361 (uri (string-append
10362 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10363 version
10364 ".tar.gz"))
10365 (sha256
10366 (base32
10367 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
10368 (build-system haskell-build-system)
10369 (inputs
10370 `(("ghc-base-orphans" ,ghc-base-orphans)
10371 ("ghc-transformers-compat" ,ghc-transformers-compat)
10372 ("ghc-bifunctors" ,ghc-bifunctors)
10373 ("ghc-comonad" ,ghc-comonad)
10374 ("ghc-contravariant" ,ghc-contravariant)
10375 ("ghc-distributive" ,ghc-distributive)
10376 ("ghc-hashable" ,ghc-hashable)
10377 ("ghc-semigroups" ,ghc-semigroups)
10378 ("ghc-tagged" ,ghc-tagged)
10379 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10380 (native-inputs
10381 `(("cabal-doctest" ,cabal-doctest)
10382 ("ghc-doctest" ,ghc-doctest)))
10383 (home-page "https://github.com/ekmett/semigroupoids")
10384 (synopsis "Semigroupoids operations for Haskell")
10385 (description "This library provides a wide array of (semi)groupoids and
10386 operations for working with them. A @code{Semigroupoid} is a @code{Category}
10387 without the requirement of identity arrows for every object in the category.
10388 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10389 Finally, to work with these weaker structures it is beneficial to have
10390 containers that can provide stronger guarantees about their contents, so
10391 versions of @code{Traversable} and @code{Foldable} that can be folded with
10392 just a @code{Semigroup} are added.")
10393 (license license:bsd-3)))
10394
10395 (define-public ghc-semigroups
10396 (package
10397 (name "ghc-semigroups")
10398 (version "0.18.5")
10399 (source
10400 (origin
10401 (method url-fetch)
10402 (uri (string-append
10403 "https://hackage.haskell.org/package/semigroups/semigroups-"
10404 version
10405 ".tar.gz"))
10406 (sha256
10407 (base32
10408 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10409 (build-system haskell-build-system)
10410 (inputs
10411 `(("ghc-nats" ,ghc-nats)
10412 ("ghc-tagged" ,ghc-tagged)
10413 ("ghc-unordered-containers" ,ghc-unordered-containers)
10414 ("ghc-hashable" ,ghc-hashable)))
10415 (home-page "https://github.com/ekmett/semigroups/")
10416 (synopsis "Semigroup operations for Haskell")
10417 (description "This package provides semigroups for Haskell. In
10418 mathematics, a semigroup is an algebraic structure consisting of a set
10419 together with an associative binary operation. A semigroup generalizes a
10420 monoid in that there might not exist an identity element. It
10421 also (originally) generalized a group (a monoid with all inverses) to a type
10422 where every element did not have to have an inverse, thus the name
10423 semigroup.")
10424 (license license:bsd-3)))
10425
10426 (define-public ghc-semigroups-bootstrap
10427 (package
10428 (inherit ghc-semigroups)
10429 (name "ghc-semigroups-bootstrap")
10430 (inputs
10431 `(("ghc-nats" ,ghc-nats-bootstrap)
10432 ("ghc-tagged" ,ghc-tagged)
10433 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10434 ("ghc-hashable" ,ghc-hashable-bootstrap)))
10435 (properties '((hidden? #t)))))
10436
10437 (define-public ghc-setenv
10438 (package
10439 (name "ghc-setenv")
10440 (version "0.1.1.3")
10441 (source
10442 (origin
10443 (method url-fetch)
10444 (uri (string-append
10445 "https://hackage.haskell.org/package/setenv/setenv-"
10446 version
10447 ".tar.gz"))
10448 (sha256
10449 (base32
10450 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10451 (build-system haskell-build-system)
10452 (home-page "https://hackage.haskell.org/package/setenv")
10453 (synopsis "Library for setting environment variables")
10454 (description "This package provides a Haskell library for setting
10455 environment variables.")
10456 (license license:expat)))
10457
10458 (define-public ghc-setlocale
10459 (package
10460 (name "ghc-setlocale")
10461 (version "1.0.0.9")
10462 (source (origin
10463 (method url-fetch)
10464 (uri (string-append
10465 "https://hackage.haskell.org/package/setlocale-"
10466 version "/setlocale-" version ".tar.gz"))
10467 (sha256
10468 (base32
10469 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
10470 (build-system haskell-build-system)
10471 (home-page "https://hackage.haskell.org/package/setlocale")
10472 (synopsis "Haskell bindings to setlocale")
10473 (description "This package provides Haskell bindings to the
10474 @code{setlocale} C function.")
10475 (license license:bsd-3)))
10476
10477 (define-public ghc-shakespeare
10478 (package
10479 (name "ghc-shakespeare")
10480 (version "2.0.22")
10481 (source
10482 (origin
10483 (method url-fetch)
10484 (uri (string-append "https://hackage.haskell.org/package/"
10485 "shakespeare-" version "/"
10486 "shakespeare-" version ".tar.gz"))
10487 (sha256
10488 (base32
10489 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
10490 (build-system haskell-build-system)
10491 (inputs `(("ghc-aeson" ,ghc-aeson)
10492 ("ghc-blaze-markup" ,ghc-blaze-markup)
10493 ("ghc-blaze-html" ,ghc-blaze-html)
10494 ("ghc-exceptions" ,ghc-exceptions)
10495 ("ghc-vector" ,ghc-vector)
10496 ("ghc-unordered-containers" ,ghc-unordered-containers)
10497 ("ghc-scientific" ,ghc-scientific)))
10498 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10499 ("ghc-hunit" ,ghc-hunit)
10500 ("hspec-discover" ,hspec-discover)))
10501 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10502 (synopsis "Family of type-safe template languages for Haskell")
10503 (description "This Haskell package provides a family of type-safe
10504 templates with simple variable interpolation. Shakespeare templates can
10505 be used inline with a quasi-quoter or in an external file and it
10506 interpolates variables according to the type being inserted.")
10507 (license license:expat)))
10508
10509 (define-public ghc-shelly
10510 (package
10511 (name "ghc-shelly")
10512 (version "1.8.1")
10513 (source
10514 (origin
10515 (method url-fetch)
10516 (uri (string-append
10517 "https://hackage.haskell.org/package/shelly/shelly-"
10518 version ".tar.gz"))
10519 (sha256
10520 (base32
10521 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10522 (build-system haskell-build-system)
10523 (inputs
10524 `(("ghc-unix-compat" ,ghc-unix-compat)
10525 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10526 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10527 ("ghc-monad-control" ,ghc-monad-control)
10528 ("ghc-lifted-base" ,ghc-lifted-base)
10529 ("ghc-lifted-async" ,ghc-lifted-async)
10530 ("ghc-exceptions" ,ghc-exceptions)
10531 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10532 ("ghc-async" ,ghc-async)
10533 ("ghc-transformers-base" ,ghc-transformers-base)
10534 ("ghc-hunit" ,ghc-hunit)
10535 ("ghc-hspec" ,ghc-hspec)
10536 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10537 (home-page "https://github.com/yesodweb/Shelly.hs")
10538 (synopsis "Shell-like (systems) programming in Haskell")
10539 (description
10540 "Shelly provides convenient systems programming in Haskell, similar in
10541 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10542 (license license:bsd-3)))
10543
10544 (define-public ghc-silently
10545 (package
10546 (name "ghc-silently")
10547 (version "1.2.5.1")
10548 (source
10549 (origin
10550 (method url-fetch)
10551 (uri (string-append
10552 "https://hackage.haskell.org/package/silently/silently-"
10553 version
10554 ".tar.gz"))
10555 (sha256
10556 (base32
10557 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
10558 (build-system haskell-build-system)
10559 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10560 ;; (inputs
10561 ;; `(("ghc-temporary" ,ghc-temporary)))
10562 (home-page "https://github.com/hspec/silently")
10563 (synopsis "Prevent writing to stdout")
10564 (description "This package provides functions to prevent or capture
10565 writing to stdout and other handles.")
10566 (license license:bsd-3)))
10567
10568 (define-public ghc-simple-reflect
10569 (package
10570 (name "ghc-simple-reflect")
10571 (version "0.3.3")
10572 (source
10573 (origin
10574 (method url-fetch)
10575 (uri (string-append
10576 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10577 version
10578 ".tar.gz"))
10579 (sha256
10580 (base32
10581 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10582 (build-system haskell-build-system)
10583 (home-page
10584 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10585 (synopsis
10586 "Simple reflection of expressions containing variables")
10587 (description
10588 "This package allows simple reflection of expressions containing
10589 variables. Reflection here means that a Haskell expression is turned into a
10590 string. The primary aim of this package is teaching and understanding; there
10591 are no options for manipulating the reflected expressions beyond showing
10592 them.")
10593 (license license:bsd-3)))
10594
10595 (define-public ghc-simple-sendfile
10596 (package
10597 (name "ghc-simple-sendfile")
10598 (version "0.2.30")
10599 (source
10600 (origin
10601 (method url-fetch)
10602 (uri (string-append "https://hackage.haskell.org/package/"
10603 "simple-sendfile-" version "/"
10604 "simple-sendfile-" version ".tar.gz"))
10605 (sha256
10606 (base32
10607 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
10608 (build-system haskell-build-system)
10609 (inputs
10610 `(("ghc-conduit" ,ghc-conduit)
10611 ("ghc-conduit-extra" ,ghc-conduit-extra)
10612 ("ghc-network" ,ghc-network)
10613 ("ghc-resourcet" ,ghc-resourcet)))
10614 (native-inputs
10615 `(("ghc-hspec" ,ghc-hspec)
10616 ("hspec-discover" ,hspec-discover)))
10617 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10618 (synopsis "Cross platform library for the sendfile system call")
10619 (description "This library tries to call minimum system calls which
10620 are the bottleneck of web servers.")
10621 (license license:bsd-3)))
10622
10623 (define-public ghc-size-based
10624 (package
10625 (name "ghc-size-based")
10626 (version "0.1.2.0")
10627 (source
10628 (origin
10629 (method url-fetch)
10630 (uri (string-append "https://hackage.haskell.org/package/"
10631 "size-based/size-based-" version ".tar.gz"))
10632 (sha256
10633 (base32
10634 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10635 (build-system haskell-build-system)
10636 (inputs
10637 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10638 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10639 ("ghc-semigroups" ,ghc-semigroups)))
10640 (arguments
10641 `(#:cabal-revision
10642 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10643 (home-page "https://hackage.haskell.org/package/size-based")
10644 (synopsis "Sized functors for size-based enumerations")
10645 (description "This library provides a framework for size-based
10646 enumerations.")
10647 (license license:bsd-3)))
10648
10649 (define-public ghc-skylighting-core
10650 (package
10651 (name "ghc-skylighting-core")
10652 (version "0.8.2.1")
10653 (source (origin
10654 (method url-fetch)
10655 (uri (string-append "https://hackage.haskell.org/package/"
10656 "skylighting-core/skylighting-core-"
10657 version ".tar.gz"))
10658 (sha256
10659 (base32
10660 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
10661 (build-system haskell-build-system)
10662 (inputs
10663 `(("ghc-aeson" ,ghc-aeson)
10664 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10665 ("ghc-attoparsec" ,ghc-attoparsec)
10666 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10667 ("ghc-blaze-html" ,ghc-blaze-html)
10668 ("ghc-case-insensitive" ,ghc-case-insensitive)
10669 ("ghc-colour" ,ghc-colour)
10670 ("ghc-hxt" ,ghc-hxt)
10671 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10672 ("ghc-safe" ,ghc-safe)
10673 ("ghc-utf8-string" ,ghc-utf8-string)))
10674 (native-inputs
10675 `(("ghc-diff" ,ghc-diff)
10676 ("ghc-hunit" ,ghc-hunit)
10677 ("ghc-pretty-show" ,ghc-pretty-show)
10678 ("ghc-quickcheck" ,ghc-quickcheck)
10679 ("ghc-tasty" ,ghc-tasty)
10680 ("ghc-tasty-golden" ,ghc-tasty-golden)
10681 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10682 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10683 (home-page "https://github.com/jgm/skylighting")
10684 (synopsis "Syntax highlighting library")
10685 (description "Skylighting is a syntax highlighting library with support
10686 for over one hundred languages. It derives its tokenizers from XML syntax
10687 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10688 supported by that framework can be added. An optional command-line program is
10689 provided. Skylighting is intended to be the successor to highlighting-kate.")
10690 (license license:gpl2)))
10691
10692 (define-public ghc-skylighting
10693 (package
10694 (inherit ghc-skylighting-core)
10695 (name "ghc-skylighting")
10696 (version "0.8.2.1")
10697 (source (origin
10698 (method url-fetch)
10699 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10700 version "/skylighting-" version ".tar.gz"))
10701 (sha256
10702 (base32
10703 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
10704 (inputs
10705 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10706 ,@(package-inputs ghc-skylighting-core)))))
10707
10708 (define-public ghc-smallcheck
10709 (package
10710 (name "ghc-smallcheck")
10711 (version "1.1.5")
10712 (source
10713 (origin
10714 (method url-fetch)
10715 (uri (string-append
10716 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10717 version
10718 ".tar.gz"))
10719 (sha256
10720 (base32
10721 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10722 (build-system haskell-build-system)
10723 (inputs
10724 `(("ghc-logict" ,ghc-logict)))
10725 (home-page
10726 "https://github.com/feuerbach/smallcheck")
10727 (synopsis "Property-based testing library")
10728 (description "SmallCheck is a testing library that allows to verify
10729 properties for all test cases up to some depth. The test cases are generated
10730 automatically by SmallCheck.")
10731 (license license:bsd-3)))
10732
10733 (define-public ghc-socks
10734 (package
10735 (name "ghc-socks")
10736 (version "0.6.1")
10737 (source (origin
10738 (method url-fetch)
10739 (uri (string-append "https://hackage.haskell.org/package/"
10740 "socks/socks-" version ".tar.gz"))
10741 (sha256
10742 (base32
10743 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
10744 (build-system haskell-build-system)
10745 (inputs
10746 `(("ghc-cereal" ,ghc-cereal)
10747 ("ghc-basement" ,ghc-basement)
10748 ("ghc-network" ,ghc-network)))
10749 (home-page "https://github.com/vincenthz/hs-socks")
10750 (synopsis "SOCKS proxy (version 5) implementation")
10751 (description
10752 "This library provides a SOCKS proxy (version 5) implementation.")
10753 (license license:bsd-3)))
10754
10755 (define-public ghc-sop-core
10756 (package
10757 (name "ghc-sop-core")
10758 (version "0.4.0.0")
10759 (source
10760 (origin
10761 (method url-fetch)
10762 (uri (string-append "https://hackage.haskell.org/package/"
10763 "sop-core/sop-core-" version ".tar.gz"))
10764 (sha256
10765 (base32
10766 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10767 (build-system haskell-build-system)
10768 (home-page "https://hackage.haskell.org/package/sop-core")
10769 (synopsis "True Sums of Products")
10770 (description "This package provides an implementation of
10771 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10772 is the main module of this library and contains more detailed
10773 documentation. The main use case of this package is to serve as the
10774 core of @url{https://hackage.haskell.org/package/generics-sop,
10775 generics-sop}.")
10776 (license license:bsd-3)))
10777
10778 (define-public ghc-split
10779 (package
10780 (name "ghc-split")
10781 (version "0.2.3.3")
10782 (outputs '("out" "doc"))
10783 (source
10784 (origin
10785 (method url-fetch)
10786 (uri (string-append
10787 "https://hackage.haskell.org/package/split/split-"
10788 version
10789 ".tar.gz"))
10790 (sha256
10791 (base32
10792 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10793 (build-system haskell-build-system)
10794 (arguments
10795 `(#:cabal-revision
10796 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
10797 (native-inputs
10798 `(("ghc-quickcheck" ,ghc-quickcheck)))
10799 (home-page "https://hackage.haskell.org/package/split")
10800 (synopsis "Combinator library for splitting lists")
10801 (description "This package provides a collection of Haskell functions for
10802 splitting lists into parts, akin to the @code{split} function found in several
10803 mainstream languages.")
10804 (license license:bsd-3)))
10805
10806 (define-public ghc-splitmix
10807 (package
10808 (name "ghc-splitmix")
10809 (version "0.0.3")
10810 (source
10811 (origin
10812 (method url-fetch)
10813 (uri (string-append "https://hackage.haskell.org/package/"
10814 "splitmix/splitmix-" version ".tar.gz"))
10815 (sha256
10816 (base32
10817 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
10818 (build-system haskell-build-system)
10819 (inputs
10820 `(("ghc-random" ,ghc-random)))
10821 (native-inputs
10822 `(("ghc-hunit" ,ghc-hunit)
10823 ("ghc-async" ,ghc-async)
10824 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10825 ("ghc-tf-random" ,ghc-tf-random)
10826 ("ghc-vector" ,ghc-vector)))
10827 (home-page "https://hackage.haskell.org/package/splitmix")
10828 (synopsis "Fast and splittable pseudorandom number generator")
10829 (description "This package provides a Pure Haskell implementation of the
10830 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10831 pseudorandom number generator that is quite fast: 9 64-bit
10832 arithmetic/logical operations per 64 bits generated. SplitMix is tested
10833 with two standard statistical test suites (DieHarder and TestU01, this
10834 implementation only using the former) and it appears to be adequate for
10835 \"everyday\" use, such as Monte Carlo algorithms and randomized data
10836 structures where speed is important. In particular, it @strong{should not
10837 be used for cryptographic or security applications}, because generated
10838 sequences of pseudorandom values are too predictable (the mixing functions
10839 are easily inverted, and two successive outputs suffice to reconstruct the
10840 internal state).")
10841 (license license:bsd-3)))
10842
10843 (define-public ghc-splitmix-bootstrap
10844 (package
10845 (inherit ghc-splitmix)
10846 (name "ghc-splitmix-bootstrap")
10847 (arguments `(#:tests? #f))
10848 (native-inputs '())
10849 (properties '((hidden? #t)))))
10850
10851 (define-public ghc-statevar
10852 (package
10853 (name "ghc-statevar")
10854 (version "1.2")
10855 (source
10856 (origin
10857 (method url-fetch)
10858 (uri (string-append
10859 "https://hackage.haskell.org/package/StateVar/StateVar-"
10860 version
10861 ".tar.gz"))
10862 (sha256
10863 (base32
10864 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
10865 (build-system haskell-build-system)
10866 (home-page "https://hackage.haskell.org/package/StateVar")
10867 (synopsis "State variables for Haskell")
10868 (description "This package provides state variables, which are references
10869 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10870 (license license:bsd-3)))
10871
10872 (define-public ghc-statistics
10873 (package
10874 (name "ghc-statistics")
10875 (version "0.15.1.1")
10876 (source
10877 (origin
10878 (method url-fetch)
10879 (uri (string-append "https://hackage.haskell.org/package/"
10880 "statistics-" version "/"
10881 "statistics-" version ".tar.gz"))
10882 (sha256
10883 (base32
10884 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
10885 (build-system haskell-build-system)
10886 (arguments
10887 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
10888 #:tests? #f))
10889 (inputs
10890 `(("ghc-aeson" ,ghc-aeson)
10891 ("ghc-async" ,ghc-async)
10892 ("ghc-base-orphans" ,ghc-base-orphans)
10893 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
10894 ("ghc-math-functions" ,ghc-math-functions)
10895 ("ghc-monad-par" ,ghc-monad-par)
10896 ("ghc-mwc-random" ,ghc-mwc-random)
10897 ("ghc-primitive" ,ghc-primitive)
10898 ("ghc-vector" ,ghc-vector)
10899 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10900 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10901 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10902 (native-inputs
10903 `(("ghc-hunit" ,ghc-hunit)
10904 ("ghc-quickcheck" ,ghc-quickcheck)
10905 ("ghc-ieee754" ,ghc-ieee754)
10906 ("ghc-test-framework" ,ghc-test-framework)
10907 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10908 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10909 (home-page "https://github.com/bos/mwc-random")
10910 (synopsis "Haskell library of statistical types, data, and functions")
10911 (description "This library provides a number of common functions
10912 and types useful in statistics. We focus on high performance, numerical
10913 robustness, and use of good algorithms. Where possible, we provide references
10914 to the statistical literature.
10915
10916 The library's facilities can be divided into four broad categories:
10917
10918 @itemize
10919 @item Working with widely used discrete and continuous probability
10920 distributions. (There are dozens of exotic distributions in use; we focus
10921 on the most common.)
10922
10923 @item Computing with sample data: quantile estimation, kernel density
10924 estimation, histograms, bootstrap methods, significance testing,
10925 and regression and autocorrelation analysis.
10926
10927 @item Random variate generation under several different distributions.
10928
10929 @item Common statistical tests for significant differences between samples.
10930 @end itemize")
10931 (license license:bsd-2)))
10932
10933 (define-public ghc-stm-chans
10934 (package
10935 (name "ghc-stm-chans")
10936 (version "3.0.0.4")
10937 (source
10938 (origin
10939 (method url-fetch)
10940 (uri (string-append "https://hackage.haskell.org/package/"
10941 "stm-chans-" version "/"
10942 "stm-chans-" version ".tar.gz"))
10943 (sha256
10944 (base32
10945 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10946 (build-system haskell-build-system)
10947 (home-page "https://hackage.haskell.org/package/stm-chans")
10948 (synopsis "Additional types of channels for ghc-stm")
10949 (description "This Haskell package offers a collection of channel types,
10950 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10951 features.")
10952 (license license:bsd-3)))
10953
10954 (define-public ghc-stm-conduit
10955 (package
10956 (name "ghc-stm-conduit")
10957 (version "4.0.1")
10958 (source
10959 (origin
10960 (method url-fetch)
10961 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10962 "stm-conduit-" version ".tar.gz"))
10963 (sha256
10964 (base32
10965 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
10966 (build-system haskell-build-system)
10967 (inputs
10968 `(("ghc-stm-chans" ,ghc-stm-chans)
10969 ("ghc-cereal" ,ghc-cereal)
10970 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10971 ("ghc-conduit" ,ghc-conduit)
10972 ("ghc-conduit-extra" ,ghc-conduit-extra)
10973 ("ghc-exceptions" ,ghc-exceptions)
10974 ("ghc-resourcet" ,ghc-resourcet)
10975 ("ghc-async" ,ghc-async)
10976 ("ghc-monad-loops" ,ghc-monad-loops)
10977 ("ghc-unliftio" ,ghc-unliftio)))
10978 (native-inputs
10979 `(("ghc-doctest" ,ghc-doctest)
10980 ("ghc-quickcheck" ,ghc-quickcheck)
10981 ("ghc-hunit" ,ghc-hunit)
10982 ("ghc-test-framework" ,ghc-test-framework)
10983 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10984 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10985 (home-page "https://github.com/cgaebel/stm-conduit")
10986 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10987 (description
10988 "This package provides two simple conduit wrappers around STM channels: a
10989 source and a sink.")
10990 (license license:bsd-3)))
10991
10992 (define-public ghc-stmonadtrans
10993 (package
10994 (name "ghc-stmonadtrans")
10995 (version "0.4.3")
10996 (source
10997 (origin
10998 (method url-fetch)
10999 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11000 "/STMonadTrans-" version ".tar.gz"))
11001 (sha256
11002 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11003 (build-system haskell-build-system)
11004 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11005 (synopsis "Monad transformer version of the ST monad")
11006 (description
11007 "This package provides a monad transformer version of the @code{ST} monad
11008 for strict state threads.")
11009 (license license:bsd-3)))
11010
11011 (define-public ghc-storable-complex
11012 (package
11013 (name "ghc-storable-complex")
11014 (version "0.2.3.0")
11015 (source
11016 (origin
11017 (method url-fetch)
11018 (uri (string-append
11019 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11020 version ".tar.gz"))
11021 (sha256
11022 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
11023 (build-system haskell-build-system)
11024 (inputs
11025 `(("ghc-base-orphans" ,ghc-base-orphans)))
11026 (home-page "https://github.com/cartazio/storable-complex")
11027 (synopsis "Haskell Storable instance for Complex")
11028 (description "This package provides a Haskell library including a
11029 Storable instance for Complex which is binary compatible with C99, C++
11030 and Fortran complex data types.")
11031 (license license:bsd-3)))
11032
11033 (define-public ghc-storable-record
11034 (package
11035 (name "ghc-storable-record")
11036 (version "0.0.4")
11037 (source
11038 (origin
11039 (method url-fetch)
11040 (uri
11041 (string-append
11042 "https://hackage.haskell.org/package/storable-record/"
11043 "storable-record-" version ".tar.gz"))
11044 (sha256
11045 (base32
11046 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11047 (build-system haskell-build-system)
11048 (inputs
11049 `(("ghc-semigroups" ,ghc-semigroups)
11050 ("ghc-utility-ht" ,ghc-utility-ht)
11051 ("ghc-storablevector" ,ghc-storablevector)
11052 ("ghc-timeit" ,ghc-timeit)))
11053 (home-page "https://hackage.haskell.org/package/storable-record")
11054 (synopsis "Elegant definition of Storable instances for records")
11055 (description "With this package you can build a Storable instance of
11056 a record type from Storable instances of its elements in an elegant way.
11057 It does not do any magic, just a bit arithmetic to compute the right
11058 offsets, that would be otherwise done manually or by a preprocessor like
11059 C2HS. There is no guarantee that the generated memory layout is
11060 compatible with that of a corresponding C struct. However, the module
11061 generates the smallest layout that is possible with respect to the
11062 alignment of the record elements.")
11063 (license license:bsd-3)))
11064
11065 (define-public ghc-storable-tuple
11066 (package
11067 (name "ghc-storable-tuple")
11068 (version "0.0.3.3")
11069 (source
11070 (origin
11071 (method url-fetch)
11072 (uri
11073 (string-append
11074 "https://hackage.haskell.org/package/storable-tuple/"
11075 "storable-tuple-" version ".tar.gz"))
11076 (sha256
11077 (base32
11078 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11079 (build-system haskell-build-system)
11080 (inputs
11081 `(("ghc-storable-record" ,ghc-storable-record)
11082 ("ghc-utility-ht" ,ghc-utility-ht)
11083 ("ghc-base-orphans" ,ghc-base-orphans)))
11084 (home-page "https://hackage.haskell.org/package/storable-tuple")
11085 (synopsis "Storable instance for pairs and triples")
11086 (description "This package provides a Storable instance for pairs
11087 and triples which should be binary compatible with C99 and C++. The
11088 only purpose of this package is to provide a standard location for this
11089 instance so that other packages needing this instance can play nicely
11090 together.")
11091 (license license:bsd-3)))
11092
11093 (define-public ghc-storablevector
11094 (package
11095 (name "ghc-storablevector")
11096 (version "0.2.13")
11097 (source
11098 (origin
11099 (method url-fetch)
11100 (uri
11101 (string-append
11102 "https://hackage.haskell.org/package/storablevector/storablevector-"
11103 version ".tar.gz"))
11104 (sha256
11105 (base32
11106 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11107 (build-system haskell-build-system)
11108 (inputs
11109 `(("ghc-non-negative" ,ghc-non-negative)
11110 ("ghc-utility-ht" ,ghc-utility-ht)
11111 ("ghc-semigroups" ,ghc-semigroups)
11112 ("ghc-unsafe" ,ghc-unsafe)
11113 ("ghc-quickcheck" ,ghc-quickcheck)
11114 ("ghc-syb" ,ghc-syb)))
11115 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11116 (synopsis "Fast, packed, strict storable arrays with a list interface")
11117 (description "This library provides fast, packed, strict storable
11118 arrays with a list interface, a chunky lazy list interface with variable
11119 chunk size and an interface for write access via the ST monad. This is
11120 much like bytestring and binary but can be used for every
11121 @code{Foreign.Storable.Storable} type. See also
11122 @url{http://hackage.haskell.org/package/vector}, a library with a
11123 similar intention.
11124
11125 This library does not do advanced fusion optimization, since especially
11126 for lazy vectors this would either be incorrect or not applicable. See
11127 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11128 a library that provides fusion with lazy lists.")
11129 (license license:bsd-3)))
11130
11131 (define-public ghc-streaming-commons
11132 (package
11133 (name "ghc-streaming-commons")
11134 (version "0.2.1.1")
11135 (source
11136 (origin
11137 (method url-fetch)
11138 (uri (string-append "https://hackage.haskell.org/package/"
11139 "streaming-commons/streaming-commons-"
11140 version ".tar.gz"))
11141 (sha256
11142 (base32
11143 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11144 (build-system haskell-build-system)
11145 (inputs
11146 `(("ghc-async" ,ghc-async)
11147 ("ghc-blaze-builder" ,ghc-blaze-builder)
11148 ("ghc-network" ,ghc-network)
11149 ("ghc-random" ,ghc-random)
11150 ("ghc-zlib" ,ghc-zlib)))
11151 (native-inputs
11152 `(("ghc-quickcheck" ,ghc-quickcheck)
11153 ("ghc-hspec" ,ghc-hspec)
11154 ("hspec-discover" ,hspec-discover)))
11155 (home-page "https://hackage.haskell.org/package/streaming-commons")
11156 (synopsis "Conduit and pipes needed by some streaming data libraries")
11157 (description "This package provides low-dependency functionality commonly
11158 needed by various Haskell streaming data libraries, such as @code{conduit} and
11159 @code{pipe}s.")
11160 (license license:expat)))
11161
11162 (define-public ghc-strict
11163 (package
11164 (name "ghc-strict")
11165 (version "0.3.2")
11166 (source
11167 (origin
11168 (method url-fetch)
11169 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11170 version ".tar.gz"))
11171 (sha256
11172 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11173 (build-system haskell-build-system)
11174 (home-page "https://hackage.haskell.org/package/strict")
11175 (synopsis "Strict data types and String IO")
11176 (description
11177 "This package provides strict versions of some standard Haskell data
11178 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11179 IO operations.")
11180 (license license:bsd-3)))
11181
11182 (define-public ghc-stringbuilder
11183 (package
11184 (name "ghc-stringbuilder")
11185 (version "0.5.1")
11186 (source
11187 (origin
11188 (method url-fetch)
11189 (uri (string-append
11190 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11191 version
11192 ".tar.gz"))
11193 (sha256
11194 (base32
11195 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11196 (build-system haskell-build-system)
11197 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11198 ; enabled
11199 (home-page "https://hackage.haskell.org/package/stringbuilder")
11200 (synopsis "Writer monad for multi-line string literals")
11201 (description "This package provides a writer monad for multi-line string
11202 literals.")
11203 (license license:expat)))
11204
11205 (define-public ghc-string-qq
11206 (package
11207 (name "ghc-string-qq")
11208 (version "0.0.4")
11209 (source
11210 (origin
11211 (method url-fetch)
11212 (uri (string-append
11213 "https://hackage.haskell.org/package/string-qq/string-qq-"
11214 version
11215 ".tar.gz"))
11216 (sha256
11217 (base32
11218 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
11219 (build-system haskell-build-system)
11220 (native-inputs
11221 `(("ghc-hunit" ,ghc-hunit)))
11222 (home-page "https://hackage.haskell.org/package/string-qq")
11223 (synopsis
11224 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11225 (description
11226 "This package provides a quasiquoter for non-interpolated strings, texts
11227 and bytestrings.")
11228 (license license:public-domain)))
11229
11230 (define-public ghc-stringsearch
11231 (package
11232 (name "ghc-stringsearch")
11233 (version "0.3.6.6")
11234 (source
11235 (origin
11236 (method url-fetch)
11237 (uri (string-append
11238 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11239 version
11240 ".tar.gz"))
11241 (sha256
11242 (base32
11243 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11244 (build-system haskell-build-system)
11245 (arguments
11246 `(#:cabal-revision
11247 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
11248 (home-page "https://bitbucket.org/dafis/stringsearch")
11249 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11250 (description "This package provides several functions to quickly search
11251 for substrings in strict or lazy @code{ByteStrings}. It also provides
11252 functions for breaking or splitting on substrings and replacing all
11253 occurrences of a substring (the first in case of overlaps) with another.")
11254 (license license:bsd-3)))
11255
11256 (define-public ghc-svg-builder
11257 (package
11258 (name "ghc-svg-builder")
11259 (version "0.1.1")
11260 (source
11261 (origin
11262 (method url-fetch)
11263 (uri (string-append "https://hackage.haskell.org/package/"
11264 "svg-builder/svg-builder-" version ".tar.gz"))
11265 (sha256
11266 (base32
11267 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11268 (build-system haskell-build-system)
11269 (inputs
11270 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11271 ("ghc-hashable" ,ghc-hashable)
11272 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11273 (arguments
11274 `(#:cabal-revision
11275 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11276 (home-page "https://github.com/diagrams/svg-builder.git")
11277 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11278 (description "Easy-to-write domain-specific language (DSL) for
11279 building Scalable Vector Graphics (SVG).")
11280 (license license:bsd-3)))
11281
11282 (define-public ghc-syb
11283 (package
11284 (name "ghc-syb")
11285 (version "0.7.1")
11286 (outputs '("out" "doc"))
11287 (source
11288 (origin
11289 (method url-fetch)
11290 (uri (string-append
11291 "https://hackage.haskell.org/package/syb/syb-"
11292 version
11293 ".tar.gz"))
11294 (sha256
11295 (base32
11296 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
11297 (build-system haskell-build-system)
11298 (inputs
11299 `(("ghc-hunit" ,ghc-hunit)))
11300 (home-page
11301 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11302 (synopsis "Scrap Your Boilerplate")
11303 (description "This package contains the generics system described in the
11304 /Scrap Your Boilerplate/ papers (see
11305 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11306 defines the @code{Data} class of types permitting folding and unfolding of
11307 constructor applications, instances of this class for primitive types, and a
11308 variety of traversals.")
11309 (license license:bsd-3)))
11310
11311 (define-public ghc-system-fileio
11312 (package
11313 (name "ghc-system-fileio")
11314 (version "0.3.16.4")
11315 (source
11316 (origin
11317 (method url-fetch)
11318 (uri (string-append
11319 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11320 version ".tar.gz"))
11321 (sha256
11322 (base32
11323 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
11324 (build-system haskell-build-system)
11325 (arguments
11326 `(#:phases
11327 (modify-phases %standard-phases
11328 (add-before 'configure 'update-constraints
11329 (lambda _
11330 (substitute* "system-fileio.cabal"
11331 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11332 #t)))))
11333 (inputs
11334 `(("ghc-system-filepath" ,ghc-system-filepath)
11335 ("ghc-chell" ,ghc-chell)
11336 ("ghc-temporary" ,ghc-temporary)))
11337 (home-page "https://github.com/fpco/haskell-filesystem")
11338 (synopsis "Consistent file system interaction across GHC versions")
11339 (description
11340 "This is a small wrapper around the directory, unix, and Win32 packages,
11341 for use with system-filepath. It provides a consistent API to the various
11342 versions of these packages distributed with different versions of GHC.
11343 In particular, this library supports working with POSIX files that have paths
11344 which can't be decoded in the current locale encoding.")
11345 (license license:expat)))
11346
11347 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
11348 ;; ghc-system-filepath.
11349 (define ghc-system-fileio-bootstrap
11350 (package
11351 (name "ghc-system-fileio-bootstrap")
11352 (version "0.3.16.3")
11353 (source
11354 (origin
11355 (method url-fetch)
11356 (uri (string-append
11357 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11358 version ".tar.gz"))
11359 (sha256
11360 (base32
11361 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11362 (build-system haskell-build-system)
11363 (arguments
11364 `(#:tests? #f))
11365 (inputs
11366 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11367 ("ghc-temporary" ,ghc-temporary)))
11368 (home-page "https://github.com/fpco/haskell-filesystem")
11369 (synopsis "Consistent file system interaction across GHC versions")
11370 (description
11371 "This is a small wrapper around the directory, unix, and Win32 packages,
11372 for use with system-filepath. It provides a consistent API to the various
11373 versions of these packages distributed with different versions of GHC.
11374 In particular, this library supports working with POSIX files that have paths
11375 which can't be decoded in the current locale encoding.")
11376 (license license:expat)))
11377
11378
11379 (define-public ghc-system-filepath
11380 (package
11381 (name "ghc-system-filepath")
11382 (version "0.4.14")
11383 (source
11384 (origin
11385 (method url-fetch)
11386 (uri (string-append
11387 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11388 version ".tar.gz"))
11389 (sha256
11390 (base32
11391 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11392 (build-system haskell-build-system)
11393 ;; FIXME: One of the tests fails:
11394 ;; [ FAIL ] tests.validity.posix
11395 ;; note: seed=7310214548328823169
11396 ;; *** Failed! Falsifiable (after 24 tests):
11397 ;; 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"
11398 (arguments `(#:tests? #f))
11399 (inputs
11400 `(("ghc-chell" ,ghc-chell)
11401 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11402 ("ghc-quickcheck" ,ghc-quickcheck)))
11403 (home-page "https://github.com/fpco/haskell-filesystem")
11404 (synopsis "High-level, byte-based file and directory path manipulations")
11405 (description
11406 "Provides a FilePath datatype and utility functions for operating on it.
11407 Unlike the filepath package, this package does not simply reuse String,
11408 increasing type safety.")
11409 (license license:expat)))
11410
11411 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11412 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11413 ;; which depends on ghc-chell and ghc-chell-quickcheck.
11414 ;; Therefore we bootstrap it with tests disabled.
11415 (define ghc-system-filepath-bootstrap
11416 (package
11417 (name "ghc-system-filepath-bootstrap")
11418 (version "0.4.14")
11419 (source
11420 (origin
11421 (method url-fetch)
11422 (uri (string-append
11423 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11424 version ".tar.gz"))
11425 (sha256
11426 (base32
11427 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11428 (build-system haskell-build-system)
11429 (arguments
11430 `(#:tests? #f))
11431 (inputs
11432 `(("ghc-quickcheck" ,ghc-quickcheck)))
11433 (home-page "https://github.com/fpco/haskell-filesystem")
11434 (synopsis "High-level, byte-based file and directory path manipulations")
11435 (description
11436 "Provides a FilePath datatype and utility functions for operating on it.
11437 Unlike the filepath package, this package does not simply reuse String,
11438 increasing type safety.")
11439 (license license:expat)))
11440
11441
11442 (define-public ghc-tagged
11443 (package
11444 (name "ghc-tagged")
11445 (version "0.8.6")
11446 (source
11447 (origin
11448 (method url-fetch)
11449 (uri (string-append
11450 "https://hackage.haskell.org/package/tagged/tagged-"
11451 version
11452 ".tar.gz"))
11453 (sha256
11454 (base32
11455 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
11456 (build-system haskell-build-system)
11457 (arguments
11458 `(#:cabal-revision
11459 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
11460 (inputs
11461 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11462 (home-page "https://hackage.haskell.org/package/tagged")
11463 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11464 (description "This library provides phantom types for Haskell 98, to avoid
11465 having to unsafely pass dummy arguments.")
11466 (license license:bsd-3)))
11467
11468 (define-public ghc-tar
11469 (package
11470 (name "ghc-tar")
11471 (version "0.5.1.1")
11472 (source
11473 (origin
11474 (method url-fetch)
11475 (uri (string-append
11476 "https://hackage.haskell.org/package/tar/tar-"
11477 version ".tar.gz"))
11478 (sha256
11479 (base32
11480 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
11481 (build-system haskell-build-system)
11482 ;; FIXME: 2/24 tests fail.
11483 (arguments `(#:tests? #f))
11484 (inputs
11485 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11486 ("ghc-quickcheck" ,ghc-quickcheck)
11487 ("ghc-tasty" ,ghc-tasty)
11488 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11489 (home-page "https://hackage.haskell.org/package/tar")
11490 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11491 (description
11492 "This library is for working with \\\"@.tar@\\\" archive files.
11493 It can read and write a range of common variations of the tar archive format
11494 including V7, POSIX USTAR and GNU formats. It provides support for packing and
11495 unpacking portable archives. This makes it suitable for distribution but not
11496 backup because details like file ownership and exact permissions are not
11497 preserved. It also provides features for random access to archive content using
11498 an index.")
11499 (license license:bsd-3)))
11500
11501 (define-public ghc-tar-conduit
11502 (package
11503 (name "ghc-tar-conduit")
11504 (version "0.3.2")
11505 (source
11506 (origin
11507 (method url-fetch)
11508 (uri (string-append "https://hackage.haskell.org/package/"
11509 "tar-conduit/tar-conduit-" version ".tar.gz"))
11510 (sha256
11511 (base32
11512 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11513 (build-system haskell-build-system)
11514 (inputs
11515 `(("ghc-conduit" ,ghc-conduit)
11516 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11517 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11518 (native-inputs
11519 `(("ghc-quickcheck" ,ghc-quickcheck)
11520 ("ghc-conduit-extra" ,ghc-conduit-extra)
11521 ("ghc-hspec" ,ghc-hspec)
11522 ("ghc-hspec" ,ghc-hspec)
11523 ("ghc-weigh" ,ghc-weigh)))
11524 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11525 (synopsis "Extract and create tar files using conduit for streaming")
11526 (description "This library provides a conduit-based, streaming
11527 interface for extracting and creating tar files.")
11528 (license license:expat)))
11529
11530 (define-public ghc-temporary
11531 (package
11532 (name "ghc-temporary")
11533 (version "1.3")
11534 (source
11535 (origin
11536 (method url-fetch)
11537 (uri (string-append
11538 "https://hackage.haskell.org/package/temporary/temporary-"
11539 version
11540 ".tar.gz"))
11541 (sha256
11542 (base32
11543 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11544 (build-system haskell-build-system)
11545 (inputs
11546 `(("ghc-exceptions" ,ghc-exceptions)
11547 ("ghc-random" ,ghc-random)))
11548 (native-inputs
11549 `(("ghc-base-compat" ,ghc-base-compat)
11550 ("ghc-tasty" ,ghc-tasty)
11551 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11552 (home-page "https://www.github.com/batterseapower/temporary")
11553 (synopsis "Temporary file and directory support")
11554 (description "The functions for creating temporary files and directories
11555 in the Haskelll base library are quite limited. This library just repackages
11556 the Cabal implementations of its own temporary file and folder functions so
11557 that you can use them without linking against Cabal or depending on it being
11558 installed.")
11559 (license license:bsd-3)))
11560
11561 (define-public ghc-temporary-rc
11562 (package
11563 (name "ghc-temporary-rc")
11564 (version "1.2.0.3")
11565 (source
11566 (origin
11567 (method url-fetch)
11568 (uri (string-append
11569 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11570 version
11571 ".tar.gz"))
11572 (sha256
11573 (base32
11574 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11575 (build-system haskell-build-system)
11576 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11577 (home-page
11578 "https://www.github.com/feuerbach/temporary")
11579 (synopsis
11580 "Portable temporary file and directory support")
11581 (description
11582 "The functions for creating temporary files and directories in the base
11583 library are quite limited. The unixutils package contains some good ones, but
11584 they aren't portable to Windows. This library just repackages the Cabal
11585 implementations of its own temporary file and folder functions so that you can
11586 use them without linking against Cabal or depending on it being installed.
11587 This is a better maintained fork of the \"temporary\" package.")
11588 (license license:bsd-3)))
11589
11590 (define-public ghc-terminal-size
11591 (package
11592 (name "ghc-terminal-size")
11593 (version "0.3.2.1")
11594 (source (origin
11595 (method url-fetch)
11596 (uri (string-append
11597 "https://hackage.haskell.org/package/terminal-size/"
11598 "terminal-size-" version ".tar.gz"))
11599 (sha256
11600 (base32
11601 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11602 (build-system haskell-build-system)
11603 (home-page "https://hackage.haskell.org/package/terminal-size")
11604 (synopsis "Get terminal window height and width")
11605 (description "Get terminal window height and width without ncurses
11606 dependency.")
11607 (license license:bsd-3)))
11608
11609 (define-public ghc-texmath
11610 (package
11611 (name "ghc-texmath")
11612 (version "0.11.3")
11613 (source (origin
11614 (method url-fetch)
11615 (uri (string-append "https://hackage.haskell.org/package/"
11616 "texmath/texmath-" version ".tar.gz"))
11617 (sha256
11618 (base32
11619 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
11620 (build-system haskell-build-system)
11621 (inputs
11622 `(("ghc-syb" ,ghc-syb)
11623 ("ghc-network-uri" ,ghc-network-uri)
11624 ("ghc-split" ,ghc-split)
11625 ("ghc-temporary" ,ghc-temporary)
11626 ("ghc-utf8-string" ,ghc-utf8-string)
11627 ("ghc-xml" ,ghc-xml)
11628 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11629 (home-page "https://github.com/jgm/texmath")
11630 (synopsis "Conversion between formats used to represent mathematics")
11631 (description
11632 "The texmath library provides functions to read and write TeX math,
11633 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11634 Office). Support is also included for converting math formats to pandoc's
11635 native format (allowing conversion, via pandoc, to a variety of different
11636 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11637 it can parse and apply LaTeX macros.")
11638 (license license:gpl2+)))
11639
11640 (define-public ghc-text-binary
11641 (package
11642 (name "ghc-text-binary")
11643 (version "0.2.1.1")
11644 (source
11645 (origin
11646 (method url-fetch)
11647 (uri (string-append "https://hackage.haskell.org/package/"
11648 "text-binary/text-binary-"
11649 version ".tar.gz"))
11650 (sha256
11651 (base32
11652 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11653 (build-system haskell-build-system)
11654 (home-page "https://github.com/kawu/text-binary")
11655 (synopsis "Binary instances for text types")
11656 (description
11657 "This package provides a compatibility layer providing @code{Binary}
11658 instances for strict and lazy text types for versions older than 1.2.1 of the
11659 text package.")
11660 (license license:bsd-2)))
11661
11662 (define-public ghc-text-metrics
11663 (package
11664 (name "ghc-text-metrics")
11665 (version "0.3.0")
11666 (source
11667 (origin
11668 (method url-fetch)
11669 (uri (string-append "https://hackage.haskell.org/package/"
11670 "text-metrics/text-metrics-" version ".tar.gz"))
11671 (sha256
11672 (base32
11673 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11674 (build-system haskell-build-system)
11675 (inputs
11676 `(("ghc-vector" ,ghc-vector)))
11677 (native-inputs
11678 `(("ghc-quickcheck" ,ghc-quickcheck)
11679 ("ghc-hspec" ,ghc-hspec)))
11680 (arguments
11681 `(#:cabal-revision
11682 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11683 (home-page "https://github.com/mrkkrp/text-metrics")
11684 (synopsis "Calculate various string metrics efficiently")
11685 (description "This library provides tools to calculate various
11686 string metrics efficiently.")
11687 (license license:bsd-3)))
11688
11689 (define-public ghc-tf-random
11690 (package
11691 (name "ghc-tf-random")
11692 (version "0.5")
11693 (outputs '("out" "doc"))
11694 (source
11695 (origin
11696 (method url-fetch)
11697 (uri (string-append
11698 "https://hackage.haskell.org/package/tf-random/tf-random-"
11699 version
11700 ".tar.gz"))
11701 (sha256
11702 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11703 (build-system haskell-build-system)
11704 (inputs
11705 `(("ghc-primitive" ,ghc-primitive)
11706 ("ghc-random" ,ghc-random)))
11707 (home-page "https://hackage.haskell.org/package/tf-random")
11708 (synopsis "High-quality splittable pseudorandom number generator")
11709 (description "This package contains an implementation of a high-quality
11710 splittable pseudorandom number generator. The generator is based on a
11711 cryptographic hash function built on top of the ThreeFish block cipher. See
11712 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11713 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11714 (license license:bsd-3)))
11715
11716 (define-public ghc-th-abstraction
11717 (package
11718 (name "ghc-th-abstraction")
11719 (version "0.3.1.0")
11720 (source
11721 (origin
11722 (method url-fetch)
11723 (uri (string-append "https://hackage.haskell.org/package/"
11724 "th-abstraction/th-abstraction-"
11725 version ".tar.gz"))
11726 (sha256
11727 (base32
11728 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
11729 (build-system haskell-build-system)
11730 (home-page "https://github.com/glguy/th-abstraction")
11731 (synopsis "Nicer interface for reified information about data types")
11732 (description
11733 "This package normalizes variations in the interface for inspecting
11734 datatype information via Template Haskell so that packages and support a
11735 single, easier to use informational datatype while supporting many versions of
11736 Template Haskell.")
11737 (license license:isc)))
11738
11739 (define-public ghc-th-expand-syns
11740 (package
11741 (name "ghc-th-expand-syns")
11742 (version "0.4.5.0")
11743 (source (origin
11744 (method url-fetch)
11745 (uri (string-append "https://hackage.haskell.org/package/"
11746 "th-expand-syns/th-expand-syns-"
11747 version ".tar.gz"))
11748 (sha256
11749 (base32
11750 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
11751 (build-system haskell-build-system)
11752 (inputs
11753 `(("ghc-syb" ,ghc-syb)))
11754 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11755 (synopsis "Expands type synonyms in Template Haskell ASTs")
11756 (description
11757 "This package enables users to expand type synonyms in Template Haskell
11758 @dfn{abstract syntax trees} (ASTs).")
11759 (license license:bsd-3)))
11760
11761 (define-public ghc-th-lift
11762 (package
11763 (name "ghc-th-lift")
11764 (version "0.8.0.1")
11765 (source (origin
11766 (method url-fetch)
11767 (uri (string-append "https://hackage.haskell.org/package/"
11768 "th-lift/th-lift-" version ".tar.gz"))
11769 (sha256
11770 (base32
11771 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
11772 (build-system haskell-build-system)
11773 (inputs
11774 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11775 (home-page "https://github.com/mboes/th-lift")
11776 (synopsis "Derive Template Haskell's Lift class for datatypes")
11777 (description
11778 "This is a Haskell library to derive Template Haskell's Lift class for
11779 datatypes.")
11780 (license license:bsd-3)))
11781
11782 (define-public ghc-th-lift-instances
11783 (package
11784 (name "ghc-th-lift-instances")
11785 (version "0.1.14")
11786 (source
11787 (origin
11788 (method url-fetch)
11789 (uri (string-append "https://hackage.haskell.org/package/"
11790 "th-lift-instances/th-lift-instances-"
11791 version ".tar.gz"))
11792 (sha256
11793 (base32
11794 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
11795 (build-system haskell-build-system)
11796 (inputs
11797 `(("ghc-th-lift" ,ghc-th-lift)
11798 ("ghc-vector" ,ghc-vector)
11799 ("ghc-quickcheck" ,ghc-quickcheck)))
11800 (home-page "https://github.com/bennofs/th-lift-instances/")
11801 (synopsis "Lift instances for template-haskell for common data types.")
11802 (description "Most data types in the Haskell platform do not have Lift
11803 instances. This package provides orphan instances for @code{containers},
11804 @code{text}, @code{bytestring} and @code{vector}.")
11805 (license license:bsd-3)))
11806
11807 (define-public ghc-th-orphans
11808 (package
11809 (name "ghc-th-orphans")
11810 (version "0.13.9")
11811 (source (origin
11812 (method url-fetch)
11813 (uri (string-append "https://hackage.haskell.org/package/"
11814 "th-orphans/th-orphans-" version ".tar.gz"))
11815 (sha256
11816 (base32
11817 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
11818 (build-system haskell-build-system)
11819 (inputs
11820 `(("ghc-th-lift" ,ghc-th-lift)
11821 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11822 ("ghc-th-reify-many" ,ghc-th-reify-many)
11823 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11824 (native-inputs
11825 `(("ghc-hspec" ,ghc-hspec)))
11826 (home-page "https://hackage.haskell.org/package/th-orphans")
11827 (synopsis "Orphan instances for TH datatypes")
11828 (description
11829 "This package provides orphan instances for Template Haskell datatypes. In particular,
11830 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11831 and @code{Eq} instances. These instances used to live in the haskell-src-meta
11832 package, and that's where the version number started.")
11833 (license license:bsd-3)))
11834
11835 (define-public ghc-threads
11836 (package
11837 (name "ghc-threads")
11838 (version "0.5.1.6")
11839 (source
11840 (origin
11841 (method url-fetch)
11842 (uri (string-append "https://hackage.haskell.org/package/"
11843 "threads/threads-" version ".tar.gz"))
11844 (sha256
11845 (base32
11846 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11847 (build-system haskell-build-system)
11848 (native-inputs
11849 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11850 ("ghc-hunit" ,ghc-hunit)
11851 ("ghc-test-framework" ,ghc-test-framework)
11852 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11853 (home-page "https://github.com/basvandijk/threads")
11854 (synopsis "Fork threads and wait for their result")
11855 (description "This package provides functions to fork threads and
11856 wait for their result, whether it's an exception or a normal value.
11857 Besides waiting for the termination of a single thread this package also
11858 provides functions to wait for a group of threads to terminate. This
11859 package is similar to the @code{threadmanager}, @code{async} and
11860 @code{spawn} packages. The advantages of this package are:
11861
11862 @itemize
11863 @item Simpler API.
11864 @item More efficient in both space and time.
11865 @item No space-leak when forking a large number of threads.
11866 @item Correct handling of asynchronous exceptions.
11867 @item GHC specific functionality like @code{forkOn} and
11868 @code{forkIOWithUnmask}.
11869 @end itemize")
11870 (license license:bsd-3)))
11871
11872 (define-public ghc-th-reify-many
11873 (package
11874 (name "ghc-th-reify-many")
11875 (version "0.1.9")
11876 (source (origin
11877 (method url-fetch)
11878 (uri (string-append "https://hackage.haskell.org/package/"
11879 "th-reify-many/th-reify-many-"
11880 version ".tar.gz"))
11881 (sha256
11882 (base32
11883 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
11884 (build-system haskell-build-system)
11885 (inputs
11886 `(("ghc-safe" ,ghc-safe)
11887 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11888 (home-page "https://github.com/mgsloan/th-reify-many")
11889 (synopsis "Recurseively reify template haskell datatype info")
11890 (description
11891 "th-reify-many provides functions for recursively reifying top level
11892 declarations. The main intended use case is for enumerating the names of
11893 datatypes reachable from an initial datatype, and passing these names to some
11894 function which generates instances.")
11895 (license license:bsd-3)))
11896
11897 (define-public ghc-time-compat
11898 (package
11899 (name "ghc-time-compat")
11900 (version "1.9.2.2")
11901 (source
11902 (origin
11903 (method url-fetch)
11904 (uri (string-append "https://hackage.haskell.org/package/"
11905 "time-compat/time-compat-" version ".tar.gz"))
11906 (sha256
11907 (base32
11908 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11909 (build-system haskell-build-system)
11910 (inputs
11911 `(("ghc-base-orphans" ,ghc-base-orphans)))
11912 (native-inputs
11913 `(("ghc-hunit" ,ghc-hunit)
11914 ("ghc-base-compat" ,ghc-base-compat)
11915 ("ghc-quickcheck" ,ghc-quickcheck)
11916 ("ghc-tagged" ,ghc-tagged)
11917 ("ghc-tasty" ,ghc-tasty)
11918 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11919 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11920 (arguments
11921 `(#:cabal-revision
11922 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11923 (home-page "https://github.com/phadej/time-compat")
11924 (synopsis "Compatibility package for time")
11925 (description "This package tries to compat as many @code{time}
11926 features as possible.")
11927 (license license:bsd-3)))
11928
11929 (define-public ghc-time-locale-compat
11930 (package
11931 (name "ghc-time-locale-compat")
11932 (version "0.1.1.5")
11933 (source
11934 (origin
11935 (method url-fetch)
11936 (uri (string-append "https://hackage.haskell.org/package/"
11937 "time-locale-compat/time-locale-compat-"
11938 version ".tar.gz"))
11939 (sha256
11940 (base32
11941 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11942 (build-system haskell-build-system)
11943 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11944 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11945 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11946 (description "This package contains a wrapped name module for
11947 @code{TimeLocale}.")
11948 (license license:bsd-3)))
11949
11950 (define-public ghc-time-manager
11951 (package
11952 (name "ghc-time-manager")
11953 (version "0.0.0")
11954 (source
11955 (origin
11956 (method url-fetch)
11957 (uri (string-append "https://hackage.haskell.org/package/"
11958 "time-manager/time-manager-" version ".tar.gz"))
11959 (sha256
11960 (base32
11961 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11962 (build-system haskell-build-system)
11963 (inputs
11964 `(("ghc-auto-update" ,ghc-auto-update)))
11965 (home-page "https://github.com/yesodweb/wai")
11966 (synopsis "Scalable timer")
11967 (description "This library contains scalable timer functions provided by a
11968 timer manager.")
11969 (license license:expat)))
11970
11971 (define-public ghc-timeit
11972 (package
11973 (name "ghc-timeit")
11974 (version "2.0")
11975 (source
11976 (origin
11977 (method url-fetch)
11978 (uri
11979 (string-append
11980 "https://hackage.haskell.org/package/timeit/timeit-"
11981 version ".tar.gz"))
11982 (sha256
11983 (base32
11984 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11985 (build-system haskell-build-system)
11986 (home-page "https://github.com/merijn/timeit")
11987 (synopsis "Time monadic computations with an IO base")
11988 (description "This package provides a simple wrapper to show the
11989 used CPU time of monadic computation with an IO base.")
11990 (license license:bsd-3)))
11991
11992 (define-public ghc-timezone-series
11993 (package
11994 (name "ghc-timezone-series")
11995 (version "0.1.9")
11996 (source
11997 (origin
11998 (method url-fetch)
11999 (uri
12000 (string-append
12001 "mirror://hackage/package/timezone-series/timezone-series-"
12002 version ".tar.gz"))
12003 (sha256
12004 (base32
12005 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12006 (build-system haskell-build-system)
12007 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12008 (synopsis "Enhanced timezone handling for Time")
12009 (description
12010 "This package endows @code{Data.Time}, from the time package, with several
12011 data types and functions for enhanced processing of timezones. For one way to
12012 create timezone series, see the ghc-timezone-olson package.")
12013 (license license:bsd-3)))
12014
12015 (define-public ghc-timezone-olson
12016 (package
12017 (name "ghc-timezone-olson")
12018 (version "0.1.9")
12019 (source
12020 (origin
12021 (method url-fetch)
12022 (uri
12023 (string-append
12024 "mirror://hackage/package/timezone-olson/timezone-olson-"
12025 version ".tar.gz"))
12026 (sha256
12027 (base32
12028 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12029 (build-system haskell-build-system)
12030 (inputs
12031 `(("ghc-timezone-series" ,ghc-timezone-series)
12032 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12033 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12034 (synopsis "Parser and renderer for binary Olson timezone files")
12035 (description
12036 "A parser and renderer for binary Olson timezone files whose format
12037 is specified by the tzfile(5) man page on Unix-like systems. For more
12038 information about this format, see
12039 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12040 are provided for converting the parsed data into @code{TimeZoneSeries}
12041 objects from the timezone-series package.")
12042 (license license:bsd-3)))
12043
12044 (define-public ghc-tldr
12045 (package
12046 (name "ghc-tldr")
12047 (version "0.4.0.2")
12048 (source
12049 (origin
12050 (method url-fetch)
12051 (uri (string-append
12052 "https://hackage.haskell.org/package/tldr/tldr-"
12053 version
12054 ".tar.gz"))
12055 (sha256
12056 (base32
12057 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
12058 (build-system haskell-build-system)
12059 (inputs
12060 `(("ghc-cmark" ,ghc-cmark)
12061 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12062 ("ghc-typed-process" ,ghc-typed-process)
12063 ("ghc-semigroups" ,ghc-semigroups)))
12064 (native-inputs
12065 `(("ghc-tasty" ,ghc-tasty)
12066 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12067 (home-page "https://github.com/psibi/tldr-hs#readme")
12068 (synopsis "Haskell tldr client")
12069 (description "This package provides the @command{tldr} command and a
12070 Haskell client library allowing users to update and view @code{tldr} pages
12071 from a shell. The @code{tldr} pages are a community effort to simplify the
12072 man pages with practical examples.")
12073 (license license:bsd-3)))
12074
12075 (define-public ghc-transformers-base
12076 (package
12077 (name "ghc-transformers-base")
12078 (version "0.4.5.2")
12079 (source
12080 (origin
12081 (method url-fetch)
12082 (uri (string-append
12083 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12084 version
12085 ".tar.gz"))
12086 (sha256
12087 (base32
12088 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12089 (build-system haskell-build-system)
12090 (inputs
12091 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12092 (home-page
12093 "https://hackage.haskell.org/package/transformers-compat")
12094 (synopsis
12095 "Backported transformer library")
12096 (description
12097 "Backported versions of types that were added to transformers in
12098 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12099 compatibility to run on old versions of the platform.")
12100 (license license:bsd-3)))
12101
12102 (define-public ghc-transformers-compat
12103 (package
12104 (name "ghc-transformers-compat")
12105 (version "0.6.5")
12106 (source
12107 (origin
12108 (method url-fetch)
12109 (uri (string-append
12110 "https://hackage.haskell.org/package/transformers-compat"
12111 "/transformers-compat-" version ".tar.gz"))
12112 (sha256
12113 (base32
12114 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
12115 (build-system haskell-build-system)
12116 (home-page "https://github.com/ekmett/transformers-compat/")
12117 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12118 (description "This package includes backported versions of types that were
12119 added to transformers in transformers 0.3 and 0.4 for users who need strict
12120 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12121 but also need those types.")
12122 (license license:bsd-3)))
12123
12124 (define-public ghc-tree-diff
12125 (package
12126 (name "ghc-tree-diff")
12127 (version "0.1")
12128 (source
12129 (origin
12130 (method url-fetch)
12131 (uri (string-append
12132 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12133 version
12134 ".tar.gz"))
12135 (sha256
12136 (base32
12137 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
12138 (build-system haskell-build-system)
12139 (inputs
12140 `(("ghc-aeson" ,ghc-aeson)
12141 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12142 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12143 ("ghc-base-compat" ,ghc-base-compat)
12144 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
12145 ("ghc-hashable" ,ghc-hashable)
12146 ("ghc-parsers" ,ghc-parsers)
12147 ("ghc-quickcheck" ,ghc-quickcheck)
12148 ("ghc-scientific" ,ghc-scientific)
12149 ("ghc-tagged" ,ghc-tagged)
12150 ("ghc-unordered-containers" ,ghc-unordered-containers)
12151 ("ghc-uuid-types" ,ghc-uuid-types)
12152 ("ghc-vector" ,ghc-vector)))
12153 (native-inputs
12154 `(("ghc-base-compat" ,ghc-base-compat)
12155 ("ghc-quickcheck" ,ghc-quickcheck)
12156 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12157 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12158 ("ghc-trifecta" ,ghc-trifecta)
12159 ("ghc-tasty" ,ghc-tasty)
12160 ("ghc-tasty-golden" ,ghc-tasty-golden)
12161 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12162 (home-page "https://github.com/phadej/tree-diff")
12163 (synopsis "Compute difference between (expression) trees")
12164 (description "This Haskell library provides a function for computing
12165 the difference between (expression) trees. It also provides a way to
12166 compute the difference between arbitrary abstract datatypes (ADTs) using
12167 @code{Generics}-derivable helpers.")
12168 (license license:bsd-3)))
12169
12170 (define-public ghc-trifecta
12171 (package
12172 (name "ghc-trifecta")
12173 (version "2")
12174 (source (origin
12175 (method url-fetch)
12176 (uri (string-append
12177 "https://hackage.haskell.org/package/trifecta/"
12178 "trifecta-" version ".tar.gz"))
12179 (sha256
12180 (base32
12181 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12182 (build-system haskell-build-system)
12183 (arguments
12184 `(#:tests? #f ; doctest suite fails to build on i686
12185 #:cabal-revision
12186 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
12187 (inputs
12188 `(("ghc-reducers" ,ghc-reducers)
12189 ("ghc-semigroups" ,ghc-semigroups)
12190 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12191 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12192 ("ghc-blaze-builder" ,ghc-blaze-builder)
12193 ("ghc-blaze-html" ,ghc-blaze-html)
12194 ("ghc-blaze-markup" ,ghc-blaze-markup)
12195 ("ghc-charset" ,ghc-charset)
12196 ("ghc-comonad" ,ghc-comonad)
12197 ("ghc-fingertree" ,ghc-fingertree)
12198 ("ghc-hashable" ,ghc-hashable)
12199 ("ghc-lens" ,ghc-lens)
12200 ("ghc-parsers" ,ghc-parsers)
12201 ("ghc-profunctors" ,ghc-profunctors)
12202 ("ghc-unordered-containers" ,ghc-unordered-containers)
12203 ("ghc-utf8-string" ,ghc-utf8-string)))
12204 (native-inputs
12205 `(("cabal-doctest" ,cabal-doctest)
12206 ("ghc-doctest" ,ghc-doctest)
12207 ("ghc-quickcheck" ,ghc-quickcheck)))
12208 (home-page "https://github.com/ekmett/trifecta/")
12209 (synopsis "Parser combinator library with convenient diagnostics")
12210 (description "Trifecta is a modern parser combinator library for Haskell,
12211 with slicing and Clang-style colored diagnostics.")
12212 (license license:bsd-3)))
12213
12214 (define-public ghc-tuple-th
12215 (package
12216 (name "ghc-tuple-th")
12217 (version "0.2.5")
12218 (source
12219 (origin
12220 (method url-fetch)
12221 (uri (string-append "https://hackage.haskell.org/package/"
12222 "tuple-th-" version "/"
12223 "tuple-th-" version ".tar.gz"))
12224 (sha256
12225 (base32
12226 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12227 (build-system haskell-build-system)
12228 (home-page "https://github.com/DanielSchuessler/tuple-th")
12229 (synopsis "Generate utility functions for tuples of statically known size
12230 for Haskell")
12231 (description "This Haskell package contains Template Haskell functions for
12232 generating functions similar to those in @code{Data.List} for tuples of
12233 statically known size.")
12234 (license license:bsd-3)))
12235
12236 (define-public ghc-typed-process
12237 (package
12238 (name "ghc-typed-process")
12239 (version "0.2.6.0")
12240 (source
12241 (origin
12242 (method url-fetch)
12243 (uri (string-append "https://hackage.haskell.org/package/"
12244 "typed-process/typed-process-"
12245 version ".tar.gz"))
12246 (sha256
12247 (base32
12248 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
12249 (build-system haskell-build-system)
12250 (inputs
12251 `(("ghc-async" ,ghc-async)
12252 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12253 (native-inputs
12254 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12255 ("ghc-hspec" ,ghc-hspec)
12256 ("hspec-discover" ,hspec-discover)
12257 ("ghc-temporary" ,ghc-temporary)))
12258 (home-page "https://haskell-lang.org/library/typed-process")
12259 (synopsis "Run external processes with strong typing of streams")
12260 (description
12261 "This library provides the ability to launch and interact with external
12262 processes. It wraps around the @code{process} library, and intends to improve
12263 upon it.")
12264 (license license:expat)))
12265
12266 (define-public ghc-unagi-chan
12267 (package
12268 (name "ghc-unagi-chan")
12269 (version "0.4.1.2")
12270 (source
12271 (origin
12272 (method url-fetch)
12273 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12274 "/unagi-chan-" version ".tar.gz"))
12275 (sha256
12276 (base32
12277 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12278 (build-system haskell-build-system)
12279 (inputs
12280 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12281 ("ghc-primitive" ,ghc-primitive)))
12282 (arguments
12283 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12284 #:cabal-revision
12285 ("1"
12286 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
12287 (home-page "https://hackage.haskell.org/package/unagi-chan")
12288 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12289 (description
12290 "This library provides implementations of concurrent FIFO queues (for
12291 both general boxed and primitive unboxed values) that are fast, perform well
12292 under contention, and offer a Chan-like interface. The library may be of
12293 limited usefulness outside of x86 architectures where the fetch-and-add
12294 instruction is not available.")
12295 (license license:bsd-3)))
12296
12297 (define-public ghc-unbounded-delays
12298 (package
12299 (name "ghc-unbounded-delays")
12300 (version "0.1.1.0")
12301 (source
12302 (origin
12303 (method url-fetch)
12304 (uri (string-append
12305 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12306 version
12307 ".tar.gz"))
12308 (sha256
12309 (base32
12310 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12311 (build-system haskell-build-system)
12312 (home-page "https://github.com/basvandijk/unbounded-delays")
12313 (synopsis "Unbounded thread delays and timeouts")
12314 (description "The @code{threadDelay} and @code{timeout} functions from the
12315 Haskell base library use the bounded @code{Int} type for specifying the delay
12316 or timeout period. This package provides alternative functions which use the
12317 unbounded @code{Integer} type.")
12318 (license license:bsd-3)))
12319
12320 (define-public ghc-unexceptionalio
12321 (package
12322 (name "ghc-unexceptionalio")
12323 (version "0.4.0")
12324 (source
12325 (origin
12326 (method url-fetch)
12327 (uri (string-append "https://hackage.haskell.org/package/"
12328 "unexceptionalio-" version "/" "unexceptionalio-"
12329 version ".tar.gz"))
12330 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12331 (build-system haskell-build-system)
12332 (home-page "https://github.com/singpolyma/unexceptionalio")
12333 (synopsis "IO without any non-error, synchronous exceptions")
12334 (description "When you've caught all the exceptions that can be
12335 handled safely, this is what you're left with.")
12336 (license license:isc)))
12337
12338 (define-public ghc-unicode-transforms
12339 (package
12340 (name "ghc-unicode-transforms")
12341 (version "0.3.6")
12342 (source
12343 (origin
12344 (method url-fetch)
12345 (uri (string-append "https://hackage.haskell.org/package/"
12346 "unicode-transforms/unicode-transforms-"
12347 version ".tar.gz"))
12348 (sha256
12349 (base32
12350 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12351 (build-system haskell-build-system)
12352 (inputs
12353 `(("ghc-bitarray" ,ghc-bitarray)))
12354 (native-inputs
12355 `(("ghc-quickcheck" ,ghc-quickcheck)
12356 ("ghc-getopt-generics" ,ghc-getopt-generics)
12357 ("ghc-split" ,ghc-split)))
12358 (home-page "https://github.com/composewell/unicode-transforms")
12359 (synopsis "Unicode normalization")
12360 (description "This library provides tools for fast Unicode 12.1.0
12361 normalization in Haskell (normalization forms C, KC, D, and KD).")
12362 (license license:bsd-3)))
12363
12364 (define-public ghc-union-find
12365 (package
12366 (name "ghc-union-find")
12367 (version "0.2")
12368 (source (origin
12369 (method url-fetch)
12370 (uri (string-append
12371 "https://hackage.haskell.org/package/union-find/union-find-"
12372 version ".tar.gz"))
12373 (sha256
12374 (base32
12375 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12376 (build-system haskell-build-system)
12377 (home-page "https://github.com/nominolo/union-find")
12378 (synopsis "Efficient union and equivalence testing of sets")
12379 (description
12380 "The Union/Find algorithm implements these operations in (effectively)
12381 constant-time:
12382 @enumerate
12383 @item Check whether two elements are in the same equivalence class.
12384 @item Create a union of two equivalence classes.
12385 @item Look up the descriptor of the equivalence class.
12386 @end enumerate\n")
12387 (license license:bsd-3)))
12388
12389 (define-public ghc-uniplate
12390 (package
12391 (name "ghc-uniplate")
12392 (version "1.6.12")
12393 (source
12394 (origin
12395 (method url-fetch)
12396 (uri (string-append
12397 "https://hackage.haskell.org/package/uniplate/uniplate-"
12398 version
12399 ".tar.gz"))
12400 (sha256
12401 (base32
12402 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12403 (build-system haskell-build-system)
12404 (inputs
12405 `(("ghc-syb" ,ghc-syb)
12406 ("ghc-hashable" ,ghc-hashable)
12407 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12408 (home-page "http://community.haskell.org/~ndm/uniplate/")
12409 (synopsis "Simple, concise and fast generic operations")
12410 (description "Uniplate is a library for writing simple and concise generic
12411 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12412 work, but is substantially simpler and faster.")
12413 (license license:bsd-3)))
12414
12415 (define-public ghc-unix-compat
12416 (package
12417 (name "ghc-unix-compat")
12418 (version "0.5.2")
12419 (source
12420 (origin
12421 (method url-fetch)
12422 (uri (string-append
12423 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12424 version
12425 ".tar.gz"))
12426 (sha256
12427 (base32
12428 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
12429 (build-system haskell-build-system)
12430 (home-page
12431 "https://github.com/jystic/unix-compat")
12432 (synopsis "Portable POSIX-compatibility layer")
12433 (description
12434 "This package provides portable implementations of parts of the unix
12435 package. This package re-exports the unix package when available. When it
12436 isn't available, portable implementations are used.")
12437 (license license:bsd-3)))
12438
12439 (define-public ghc-unix-time
12440 (package
12441 (name "ghc-unix-time")
12442 (version "0.4.7")
12443 (source
12444 (origin
12445 (method url-fetch)
12446 (uri (string-append
12447 "https://hackage.haskell.org/package/unix-time/unix-time-"
12448 version
12449 ".tar.gz"))
12450 (sha256
12451 (base32
12452 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
12453 (build-system haskell-build-system)
12454 (arguments
12455 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12456 ; is weird, that should be provided by GHC 7.10.2.
12457 (inputs
12458 `(("ghc-old-time" ,ghc-old-time)
12459 ("ghc-old-locale" ,ghc-old-locale)))
12460 (home-page "https://hackage.haskell.org/package/unix-time")
12461 (synopsis "Unix time parser/formatter and utilities")
12462 (description "This library provides fast parsing and formatting utilities
12463 for Unix time in Haskell.")
12464 (license license:bsd-3)))
12465
12466 (define-public ghc-unliftio
12467 (package
12468 (name "ghc-unliftio")
12469 (version "0.2.12")
12470 (source
12471 (origin
12472 (method url-fetch)
12473 (uri (string-append
12474 "https://hackage.haskell.org/package/unliftio/unliftio-"
12475 version
12476 ".tar.gz"))
12477 (sha256
12478 (base32
12479 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
12480 (build-system haskell-build-system)
12481 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12482 (inputs
12483 `(("ghc-async" ,ghc-async)
12484 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12485 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12486 (home-page "https://github.com/fpco/unliftio")
12487 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12488 IO (batteries included)")
12489 (description "This Haskell package provides the core @code{MonadUnliftIO}
12490 typeclass, a number of common instances, and a collection of common functions
12491 working with it.")
12492 (license license:expat)))
12493
12494 (define-public ghc-unliftio-core
12495 (package
12496 (name "ghc-unliftio-core")
12497 (version "0.1.2.0")
12498 (source
12499 (origin
12500 (method url-fetch)
12501 (uri (string-append "https://hackage.haskell.org/package/"
12502 "unliftio-core-" version "/"
12503 "unliftio-core-" version ".tar.gz"))
12504 (sha256
12505 (base32
12506 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
12507 (build-system haskell-build-system)
12508 (arguments
12509 `(#:cabal-revision
12510 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
12511 (home-page
12512 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12513 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12514 (description "This Haskell package provides the core @code{MonadUnliftIO}
12515 typeclass, instances for base and transformers, and basic utility
12516 functions.")
12517 (license license:expat)))
12518
12519 (define-public ghc-unordered-containers
12520 (package
12521 (name "ghc-unordered-containers")
12522 (version "0.2.10.0")
12523 (outputs '("out" "doc"))
12524 (source
12525 (origin
12526 (method url-fetch)
12527 (uri (string-append
12528 "https://hackage.haskell.org/package/unordered-containers"
12529 "/unordered-containers-" version ".tar.gz"))
12530 (sha256
12531 (base32
12532 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
12533 (build-system haskell-build-system)
12534 (inputs
12535 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12536 ("ghc-hunit" ,ghc-hunit)
12537 ("ghc-quickcheck" ,ghc-quickcheck)
12538 ("ghc-test-framework" ,ghc-test-framework)
12539 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12540 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12541 ("ghc-hashable" ,ghc-hashable)))
12542 (home-page
12543 "https://github.com/tibbe/unordered-containers")
12544 (synopsis
12545 "Efficient hashing-based container types")
12546 (description
12547 "Efficient hashing-based container types. The containers have been
12548 optimized for performance critical use, both in terms of large data quantities
12549 and high speed.")
12550 (license license:bsd-3)))
12551
12552 (define-public ghc-unordered-containers-bootstrap
12553 (package
12554 (inherit ghc-unordered-containers)
12555 (name "ghc-unordered-containers-bootstrap")
12556 (arguments `(#:tests? #f))
12557 (inputs
12558 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
12559 (properties '((hidden? #t)))))
12560
12561 (define-public ghc-unsafe
12562 (package
12563 (name "ghc-unsafe")
12564 (version "0.0")
12565 (source
12566 (origin
12567 (method url-fetch)
12568 (uri
12569 (string-append
12570 "https://hackage.haskell.org/package/unsafe/unsafe-"
12571 version ".tar.gz"))
12572 (sha256
12573 (base32
12574 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12575 (build-system haskell-build-system)
12576 (home-page "https://hackage.haskell.org/package/unsafe")
12577 (synopsis "Unified interface to unsafe functions")
12578 (description "Safe Haskell introduced the notion of safe and unsafe
12579 modules. In order to make as many as possible modules ``safe'', the
12580 well-known unsafe functions were moved to distinguished modules. This
12581 makes it hard to write packages that work with both old and new versions
12582 of GHC. This package provides a single module System.Unsafe that
12583 exports the unsafe functions from the base package. It provides them in
12584 a style ready for qualification, that is, you should import them by
12585 @code{import qualified System.Unsafe as Unsafe}.")
12586 (license license:bsd-3)))
12587
12588 (define-public ghc-uri-bytestring
12589 (package
12590 (name "ghc-uri-bytestring")
12591 (version "0.3.2.2")
12592 (source
12593 (origin
12594 (method url-fetch)
12595 (uri (string-append "https://hackage.haskell.org/package/"
12596 "uri-bytestring-" version "/"
12597 "uri-bytestring-" version ".tar.gz"))
12598 (sha256
12599 (base32
12600 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
12601 (build-system haskell-build-system)
12602 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12603 ("ghc-blaze-builder" ,ghc-blaze-builder)
12604 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
12605 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12606 ("ghc-tasty" ,ghc-tasty)
12607 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12608 ("ghc-hedgehog" ,ghc-hedgehog)
12609 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
12610 ("ghc-base-compat" ,ghc-base-compat)
12611 ("ghc-semigroups" ,ghc-semigroups)
12612 ("ghc-safe" ,ghc-safe)))
12613 (home-page "https://github.com/Soostone/uri-bytestring")
12614 (synopsis "Haskell URI parsing as ByteStrings")
12615 (description "This Haskell package aims to be an RFC3986 compliant URI
12616 parser that uses ByteStrings for parsing and representing the URI data.")
12617 (license license:bsd-3)))
12618
12619 (define-public ghc-utf8-string
12620 (package
12621 (name "ghc-utf8-string")
12622 (version "1.0.1.1")
12623 (source
12624 (origin
12625 (method url-fetch)
12626 (uri (string-append
12627 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12628 version
12629 ".tar.gz"))
12630 (sha256
12631 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12632 (build-system haskell-build-system)
12633 (arguments
12634 `(#:cabal-revision
12635 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12636 (home-page "https://github.com/glguy/utf8-string/")
12637 (synopsis "Support for reading and writing UTF8 Strings")
12638 (description
12639 "A UTF8 layer for Strings. The utf8-string package provides operations
12640 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12641 UTF8 without truncation.")
12642 (license license:bsd-3)))
12643
12644 (define-public ghc-utility-ht
12645 (package
12646 (name "ghc-utility-ht")
12647 (version "0.0.14")
12648 (home-page "https://hackage.haskell.org/package/utility-ht")
12649 (source
12650 (origin
12651 (method url-fetch)
12652 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12653 (sha256
12654 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12655 (build-system haskell-build-system)
12656 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12657 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12658 (description "This package includes Hakell modules providing various
12659 helper functions for Lists, Maybes, Tuples, Functions.")
12660 (license license:bsd-3)))
12661
12662 (define-public ghc-uuid
12663 (package
12664 (name "ghc-uuid")
12665 (version "1.3.13")
12666 (source
12667 (origin
12668 (method url-fetch)
12669 (uri (string-append "https://hackage.haskell.org/package/"
12670 "uuid-" version "/"
12671 "uuid-" version ".tar.gz"))
12672 (sha256
12673 (base32
12674 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12675 (build-system haskell-build-system)
12676 (arguments
12677 `(#:cabal-revision
12678 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12679 #:phases
12680 (modify-phases %standard-phases
12681 (add-before 'configure 'strip-test-framework-constraints
12682 (lambda _
12683 (substitute* "uuid.cabal"
12684 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12685 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12686 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12687 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12688 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12689 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12690 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12691 ("ghc-entropy" ,ghc-entropy)
12692 ("ghc-network-info" ,ghc-network-info)
12693 ("ghc-random" ,ghc-random)
12694 ("ghc-uuid-types" ,ghc-uuid-types)))
12695 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12696 ("ghc-quickcheck" ,ghc-quickcheck)
12697 ("ghc-tasty" ,ghc-tasty)
12698 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12699 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12700 (home-page "https://github.com/hvr/uuid")
12701 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12702 (description "This Haskell library provides utilities creating, comparing,
12703 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12704 (license license:bsd-3)))
12705
12706 (define-public ghc-uuid-types
12707 (package
12708 (name "ghc-uuid-types")
12709 (version "1.0.3")
12710 (source
12711 (origin
12712 (method url-fetch)
12713 (uri (string-append "https://hackage.haskell.org/package/"
12714 "uuid-types-" version "/"
12715 "uuid-types-" version ".tar.gz"))
12716 (sha256
12717 (base32
12718 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12719 (build-system haskell-build-system)
12720 (arguments
12721 `(#:phases
12722 (modify-phases %standard-phases
12723 (add-before 'configure 'strip-test-framework-constraints
12724 (lambda _
12725 (substitute* "uuid-types.cabal"
12726 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12727 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12728 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12729 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12730 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12731 (inputs `(("ghc-hashable" ,ghc-hashable)
12732 ("ghc-random" ,ghc-random)))
12733 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12734 ("ghc-quickcheck" ,ghc-quickcheck)
12735 ("ghc-tasty" ,ghc-tasty)
12736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12737 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12738 (home-page "https://github.com/hvr/uuid")
12739 (synopsis "Haskell type definitions for UUIDs")
12740 (description "This Haskell library contains type definitions for
12741 @dfn{Universally Unique Identifiers} or
12742 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12743 functions.")
12744 (license license:bsd-3)))
12745
12746 (define-public ghc-validation
12747 (package
12748 (name "ghc-validation")
12749 (version "1.1")
12750 (source
12751 (origin
12752 (method url-fetch)
12753 (uri (string-append
12754 "mirror://hackage/package/validation/validation-"
12755 version
12756 ".tar.gz"))
12757 (sha256
12758 (base32
12759 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
12760 (build-system haskell-build-system)
12761 (arguments
12762 `(#:cabal-revision
12763 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
12764 (inputs
12765 `(("ghc-semigroups" ,ghc-semigroups)
12766 ("ghc-semigroupoids" ,ghc-semigroupoids)
12767 ("ghc-bifunctors" ,ghc-bifunctors)
12768 ("ghc-lens" ,ghc-lens)))
12769 (native-inputs
12770 `(("ghc-hedgehog" ,ghc-hedgehog)
12771 ("ghc-hunit" ,ghc-hunit)))
12772 (home-page "https://github.com/qfpl/validation")
12773 (synopsis
12774 "Data-type like Either but with an accumulating Applicative")
12775 (description
12776 "A data-type like Either but with differing properties and type-class
12777 instances.
12778
12779 Library support is provided for this different representation, including
12780 @code{lens}-related functions for converting between each and abstracting over
12781 their similarities.
12782
12783 The @code{Validation} data type is isomorphic to @code{Either}, but has an
12784 instance of @code{Applicative} that accumulates on the error side. That is to
12785 say, if two (or more) errors are encountered, they are appended using a
12786 @{Semigroup} operation.
12787
12788 As a consequence of this @code{Applicative} instance, there is no
12789 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12790 example of, \"An applicative functor that is not a monad.\"")
12791 (license license:bsd-3)))
12792
12793 (define-public ghc-validity
12794 (package
12795 (name "ghc-validity")
12796 (version "0.9.0.2")
12797 (source
12798 (origin
12799 (method url-fetch)
12800 (uri (string-append
12801 "https://hackage.haskell.org/package/validity/validity-"
12802 version
12803 ".tar.gz"))
12804 (sha256
12805 (base32
12806 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
12807 (build-system haskell-build-system)
12808 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12809 ("hspec-discover" ,hspec-discover)))
12810 (home-page
12811 "https://github.com/NorfairKing/validity")
12812 (synopsis "Validity typeclass")
12813 (description
12814 "Values of custom types usually have invariants imposed upon them. This
12815 package provides the @code{Validity} type class, which makes these invariants
12816 explicit by providing a function to check whether the invariants hold.")
12817 (license license:expat)))
12818
12819 (define-public ghc-vault
12820 (package
12821 (name "ghc-vault")
12822 (version "0.3.1.3")
12823 (source
12824 (origin
12825 (method url-fetch)
12826 (uri (string-append
12827 "https://hackage.haskell.org/package/vault/vault-"
12828 version
12829 ".tar.gz"))
12830 (sha256
12831 (base32
12832 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
12833 (build-system haskell-build-system)
12834 (inputs
12835 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12836 ("ghc-hashable" ,ghc-hashable)
12837 ("ghc-semigroups" ,ghc-semigroups)))
12838 (home-page
12839 "https://github.com/HeinrichApfelmus/vault")
12840 (synopsis "Persistent store for arbitrary values")
12841 (description "This package provides vaults for Haskell. A vault is a
12842 persistent store for values of arbitrary types. It's like having first-class
12843 access to the storage space behind @code{IORefs}. The data structure is
12844 analogous to a bank vault, where you can access different bank boxes with
12845 different keys; hence the name. Also provided is a @code{locker} type,
12846 representing a store for a single element.")
12847 (license license:bsd-3)))
12848
12849 (define-public ghc-vector
12850 (package
12851 (name "ghc-vector")
12852 (version "0.12.0.3")
12853 (outputs '("out" "doc"))
12854 (source
12855 (origin
12856 (method url-fetch)
12857 (uri (string-append
12858 "https://hackage.haskell.org/package/vector/vector-"
12859 version
12860 ".tar.gz"))
12861 (sha256
12862 (base32
12863 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
12864 (build-system haskell-build-system)
12865 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12866 ;; disabled for now.
12867 (arguments
12868 `(#:tests? #f))
12869 (inputs
12870 `(("ghc-primitive" ,ghc-primitive)
12871 ("ghc-random" ,ghc-random)
12872 ("ghc-quickcheck" ,ghc-quickcheck)
12873 ;; ("ghc-hunit" ,ghc-hunit)
12874 ;; ("ghc-test-framework" ,ghc-test-framework)
12875 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12876 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12877 ))
12878 (home-page "https://github.com/haskell/vector")
12879 (synopsis "Efficient Arrays")
12880 (description "This library provides an efficient implementation of
12881 Int-indexed arrays (both mutable and immutable), with a powerful loop
12882 optimisation framework.")
12883 (license license:bsd-3)))
12884
12885 (define-public ghc-vector-algorithms
12886 (package
12887 (name "ghc-vector-algorithms")
12888 (version "0.8.0.1")
12889 (source
12890 (origin
12891 (method url-fetch)
12892 (uri (string-append "https://hackage.haskell.org/package/"
12893 "vector-algorithms-" version "/"
12894 "vector-algorithms-" version ".tar.gz"))
12895 (sha256
12896 (base32
12897 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
12898 (build-system haskell-build-system)
12899 (inputs
12900 `(("ghc-vector" ,ghc-vector)))
12901 (native-inputs
12902 `(("ghc-quickcheck" ,ghc-quickcheck)))
12903 (home-page "https://github.com/bos/math-functions")
12904 (synopsis "Algorithms for vector arrays in Haskell")
12905 (description "This Haskell library algorithms for vector arrays.")
12906 (license license:bsd-3)))
12907
12908 (define-public ghc-vector-binary-instances
12909 (package
12910 (name "ghc-vector-binary-instances")
12911 (version "0.2.5.1")
12912 (source
12913 (origin
12914 (method url-fetch)
12915 (uri (string-append
12916 "https://hackage.haskell.org/package/"
12917 "vector-binary-instances/vector-binary-instances-"
12918 version ".tar.gz"))
12919 (sha256
12920 (base32
12921 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
12922 (build-system haskell-build-system)
12923 (inputs
12924 `(("ghc-vector" ,ghc-vector)))
12925 (native-inputs
12926 `(("ghc-tasty" ,ghc-tasty)
12927 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12928 (home-page "https://github.com/bos/vector-binary-instances")
12929 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12930 (description "This library provides instances of @code{Binary} for the
12931 types defined in the @code{vector} package, making it easy to serialize
12932 vectors to and from disk. We use the generic interface to vectors, so all
12933 vector types are supported. Specific instances are provided for unboxed,
12934 boxed and storable vectors.")
12935 (license license:bsd-3)))
12936
12937 (define-public ghc-vector-builder
12938 (package
12939 (name "ghc-vector-builder")
12940 (version "0.3.8")
12941 (source
12942 (origin
12943 (method url-fetch)
12944 (uri (string-append "https://hackage.haskell.org/package/"
12945 "vector-builder-" version "/"
12946 "vector-builder-" version ".tar.gz"))
12947 (sha256
12948 (base32
12949 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
12950 (build-system haskell-build-system)
12951 (inputs `(("ghc-vector" ,ghc-vector)
12952 ("ghc-semigroups" ,ghc-semigroups)
12953 ("ghc-base-prelude" ,ghc-base-prelude)))
12954 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12955 ("ghc-tasty" ,ghc-tasty)
12956 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12957 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12958 ("ghc-hunit" ,ghc-hunit)
12959 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12960 ("ghc-rerebase" ,ghc-rerebase)))
12961 (home-page "https://github.com/nikita-volkov/vector-builder")
12962 (synopsis "Vector builder for Haskell")
12963 (description "This Haskell package provides an API for constructing vectors.
12964 It provides the composable @code{Builder} abstraction, which has instances of the
12965 @code{Monoid} and @code{Semigroup} classes.
12966
12967 You would first use the @code{Builder} abstraction to specify the structure of
12968 the vector; then you can execute the builder to actually produce the
12969 vector. ")
12970 (license license:expat)))
12971
12972 (define-public ghc-vector-th-unbox
12973 (package
12974 (name "ghc-vector-th-unbox")
12975 (version "0.2.1.7")
12976 (source
12977 (origin
12978 (method url-fetch)
12979 (uri (string-append "https://hackage.haskell.org/package/"
12980 "vector-th-unbox-" version "/"
12981 "vector-th-unbox-" version ".tar.gz"))
12982 (sha256
12983 (base32
12984 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
12985 (build-system haskell-build-system)
12986 (inputs
12987 `(("ghc-vector" ,ghc-vector)
12988 ("ghc-data-default" ,ghc-data-default)))
12989 (home-page "https://github.com/liyang/vector-th-unbox")
12990 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12991 (description "This Haskell library provides a Template Haskell
12992 deriver for unboxed vectors, given a pair of coercion functions to
12993 and from some existing type with an Unbox instance.")
12994 (license license:bsd-3)))
12995
12996 (define-public ghc-void
12997 (package
12998 (name "ghc-void")
12999 (version "0.7.3")
13000 (source
13001 (origin
13002 (method url-fetch)
13003 (uri (string-append
13004 "https://hackage.haskell.org/package/void/void-"
13005 version
13006 ".tar.gz"))
13007 (sha256
13008 (base32
13009 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
13010 (build-system haskell-build-system)
13011 (inputs
13012 `(("ghc-semigroups" ,ghc-semigroups)
13013 ("ghc-hashable" ,ghc-hashable)))
13014 (home-page "https://github.com/ekmett/void")
13015 (synopsis
13016 "Logically uninhabited data type")
13017 (description
13018 "A Haskell 98 logically uninhabited data type, used to indicate that a
13019 given term should not exist.")
13020 (license license:bsd-3)))
13021
13022 (define-public ghc-wave
13023 (package
13024 (name "ghc-wave")
13025 (version "0.2.0")
13026 (source (origin
13027 (method url-fetch)
13028 (uri (string-append
13029 "https://hackage.haskell.org/package/wave/wave-"
13030 version
13031 ".tar.gz"))
13032 (sha256
13033 (base32
13034 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
13035 (build-system haskell-build-system)
13036 (arguments
13037 '(#:phases
13038 (modify-phases %standard-phases
13039 (add-before 'configure 'update-constraints
13040 (lambda _
13041 (substitute* "wave.cabal"
13042 (("temporary.* < 1\\.3")
13043 "temporary >= 1.1 && < 1.4")))))))
13044 (inputs
13045 `(("ghc-cereal" ,ghc-cereal)
13046 ("ghc-data-default-class"
13047 ,ghc-data-default-class)
13048 ("ghc-quickcheck" ,ghc-quickcheck)
13049 ("ghc-temporary" ,ghc-temporary)))
13050 (native-inputs
13051 `(("hspec-discover" ,hspec-discover)
13052 ("ghc-hspec" ,ghc-hspec)))
13053 (home-page "https://github.com/mrkkrp/wave")
13054 (synopsis "Work with WAVE and RF64 files in Haskell")
13055 (description "This package allows you to work with WAVE and RF64
13056 files in Haskell.")
13057 (license license:bsd-3)))
13058
13059 (define-public ghc-wcwidth
13060 (package
13061 (name "ghc-wcwidth")
13062 (version "0.0.2")
13063 (source
13064 (origin
13065 (method url-fetch)
13066 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
13067 version ".tar.gz"))
13068 (sha256
13069 (base32
13070 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13071 (build-system haskell-build-system)
13072 (inputs
13073 `(("ghc-setlocale" ,ghc-setlocale)
13074 ("ghc-utf8-string" ,ghc-utf8-string)
13075 ("ghc-attoparsec" ,ghc-attoparsec)))
13076 (home-page "https://github.com/solidsnack/wcwidth/")
13077 (synopsis "Haskell bindings to wcwidth")
13078 (description "This package provides Haskell bindings to your system's
13079 native wcwidth and a command line tool to examine the widths assigned by it.
13080 The command line tool can compile a width table to Haskell code that assigns
13081 widths to the Char type.")
13082 (license license:bsd-3)))
13083
13084 (define-public ghc-wcwidth-bootstrap
13085 (package
13086 (inherit ghc-wcwidth)
13087 (name "ghc-wcwidth-bootstrap")
13088 (inputs
13089 `(("ghc-setlocale" ,ghc-setlocale)
13090 ("ghc-utf8-string" ,ghc-utf8-string)
13091 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
13092 (properties '((hidden? #t)))))
13093
13094 (define-public ghc-weigh
13095 (package
13096 (name "ghc-weigh")
13097 (version "0.0.14")
13098 (source
13099 (origin
13100 (method url-fetch)
13101 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13102 "weigh-" version ".tar.gz"))
13103 (sha256
13104 (base32
13105 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
13106 (build-system haskell-build-system)
13107 (inputs
13108 `(("ghc-split" ,ghc-split)
13109 ("ghc-temporary" ,ghc-temporary)))
13110 (home-page "https://github.com/fpco/weigh#readme")
13111 (synopsis "Measure allocations of a Haskell functions/values")
13112 (description "This package provides tools to measure the memory usage of a
13113 Haskell value or function.")
13114 (license license:bsd-3)))
13115
13116 (define-public ghc-wl-pprint
13117 (package
13118 (name "ghc-wl-pprint")
13119 (version "1.2.1")
13120 (source (origin
13121 (method url-fetch)
13122 (uri (string-append
13123 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13124 version ".tar.gz"))
13125 (sha256
13126 (base32
13127 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13128 (build-system haskell-build-system)
13129 (home-page "https://hackage.haskell.org/package/wl-pprint")
13130 (synopsis "Wadler/Leijen pretty printer")
13131 (description
13132 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13133 Printer}. This version allows the library user to declare overlapping
13134 instances of the @code{Pretty} class.")
13135 (license license:bsd-3)))
13136
13137 (define-public ghc-wl-pprint-annotated
13138 (package
13139 (name "ghc-wl-pprint-annotated")
13140 (version "0.1.0.1")
13141 (source
13142 (origin
13143 (method url-fetch)
13144 (uri (string-append
13145 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13146 version
13147 ".tar.gz"))
13148 (sha256
13149 (base32
13150 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13151 (build-system haskell-build-system)
13152 (native-inputs
13153 `(("ghc-tasty" ,ghc-tasty)
13154 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13155 (home-page
13156 "https://github.com/minad/wl-pprint-annotated#readme")
13157 (synopsis
13158 "Wadler/Leijen pretty printer with annotation support")
13159 (description
13160 "Annotations are useful for coloring. This is a limited version of
13161 @code{wl-pprint-extras} without support for point effects and without the free
13162 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13163 Compared to @code{annotated-wl-pprint} this library provides a slightly
13164 modernized interface.")
13165 (license license:bsd-3)))
13166
13167 (define-public ghc-wl-pprint-text
13168 (package
13169 (name "ghc-wl-pprint-text")
13170 (version "1.2.0.0")
13171 (source
13172 (origin
13173 (method url-fetch)
13174 (uri (string-append
13175 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13176 version ".tar.gz"))
13177 (sha256
13178 (base32
13179 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13180 (build-system haskell-build-system)
13181 (inputs
13182 `(("ghc-base-compat" ,ghc-base-compat)))
13183 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13184 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13185 (description
13186 "A clone of wl-pprint for use with the text library.")
13187 (license license:bsd-3)))
13188
13189 (define-public ghc-word8
13190 (package
13191 (name "ghc-word8")
13192 (version "0.1.3")
13193 (source
13194 (origin
13195 (method url-fetch)
13196 (uri (string-append
13197 "https://hackage.haskell.org/package/word8/word8-"
13198 version
13199 ".tar.gz"))
13200 (sha256
13201 (base32
13202 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13203 (build-system haskell-build-system)
13204 (native-inputs
13205 `(("ghc-hspec" ,ghc-hspec)
13206 ("hspec-discover" ,hspec-discover)))
13207 (home-page "https://hackage.haskell.org/package/word8")
13208 (synopsis "Word8 library for Haskell")
13209 (description "Word8 library to be used with @code{Data.ByteString}.")
13210 (license license:bsd-3)))
13211
13212 (define-public ghc-x11
13213 (package
13214 (name "ghc-x11")
13215 (version "1.9.1")
13216 (source
13217 (origin
13218 (method url-fetch)
13219 (uri (string-append "https://hackage.haskell.org/package/X11/"
13220 "X11-" version ".tar.gz"))
13221 (sha256
13222 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
13223 (build-system haskell-build-system)
13224 (inputs
13225 `(("libx11" ,libx11)
13226 ("libxrandr" ,libxrandr)
13227 ("libxinerama" ,libxinerama)
13228 ("libxscrnsaver" ,libxscrnsaver)
13229 ("ghc-data-default" ,ghc-data-default)))
13230 (home-page "https://github.com/haskell-pkg-janitors/X11")
13231 (synopsis "Bindings to the X11 graphics library")
13232 (description
13233 "This package provides Haskell bindings to the X11 graphics library. The
13234 bindings are a direct translation of the C bindings.")
13235 (license license:bsd-3)))
13236
13237 (define-public ghc-x11-xft
13238 (package
13239 (name "ghc-x11-xft")
13240 (version "0.3.1")
13241 (source
13242 (origin
13243 (method url-fetch)
13244 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13245 "X11-xft-" version ".tar.gz"))
13246 (sha256
13247 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13248 (inputs
13249 `(("ghc-x11" ,ghc-x11)
13250 ("ghc-utf8-string" ,ghc-utf8-string)
13251 ("libx11" ,libx11)
13252 ("libxft" ,libxft)
13253 ("xorgproto" ,xorgproto)))
13254 (native-inputs
13255 `(("pkg-config" ,pkg-config)))
13256 (build-system haskell-build-system)
13257 (home-page "https://hackage.haskell.org/package/X11-xft")
13258 (synopsis "Bindings to Xft")
13259 (description
13260 "Bindings to the Xft, X Free Type interface library, and some Xrender
13261 parts.")
13262 (license license:lgpl2.1)))
13263
13264 (define-public ghc-xdg-basedir
13265 (package
13266 (name "ghc-xdg-basedir")
13267 (version "0.2.2")
13268 (source
13269 (origin
13270 (method url-fetch)
13271 (uri (string-append
13272 "https://hackage.haskell.org/package/xdg-basedir/"
13273 "xdg-basedir-" version ".tar.gz"))
13274 (sha256
13275 (base32
13276 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13277 (build-system haskell-build-system)
13278 (home-page "http://github.com/willdonnelly/xdg-basedir")
13279 (synopsis "XDG Base Directory library for Haskell")
13280 (description "This package provides a library implementing the XDG Base Directory spec.")
13281 (license license:bsd-3)))
13282
13283 (define-public ghc-xml
13284 (package
13285 (name "ghc-xml")
13286 (version "1.3.14")
13287 (source
13288 (origin
13289 (method url-fetch)
13290 (uri (string-append
13291 "https://hackage.haskell.org/package/xml/xml-"
13292 version
13293 ".tar.gz"))
13294 (sha256
13295 (base32
13296 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13297 (build-system haskell-build-system)
13298 (home-page "https://github.com/GaloisInc/xml")
13299 (synopsis "Simple XML library for Haskell")
13300 (description "This package provides a simple XML library for Haskell.")
13301 (license license:bsd-3)))
13302
13303 (define-public ghc-xml-conduit
13304 (package
13305 (name "ghc-xml-conduit")
13306 (version "1.8.0.1")
13307 (source
13308 (origin
13309 (method url-fetch)
13310 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13311 "xml-conduit-" version ".tar.gz"))
13312 (sha256
13313 (base32
13314 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13315 (build-system haskell-build-system)
13316 (inputs
13317 `(("ghc-conduit" ,ghc-conduit)
13318 ("ghc-conduit-extra" ,ghc-conduit-extra)
13319 ("ghc-doctest" ,ghc-doctest)
13320 ("ghc-resourcet" ,ghc-resourcet)
13321 ("ghc-xml-types" ,ghc-xml-types)
13322 ("ghc-attoparsec" ,ghc-attoparsec)
13323 ("ghc-data-default-class" ,ghc-data-default-class)
13324 ("ghc-blaze-markup" ,ghc-blaze-markup)
13325 ("ghc-blaze-html" ,ghc-blaze-html)
13326 ("ghc-monad-control" ,ghc-monad-control)
13327 ("ghc-hspec" ,ghc-hspec)
13328 ("ghc-hunit" ,ghc-hunit)))
13329 (home-page "https://github.com/snoyberg/xml")
13330 (synopsis "Utilities for dealing with XML with the conduit package")
13331 (description
13332 "This package provides pure-Haskell utilities for dealing with XML with
13333 the @code{conduit} package.")
13334 (license license:expat)))
13335
13336 (define-public ghc-xml-types
13337 (package
13338 (name "ghc-xml-types")
13339 (version "0.3.6")
13340 (source
13341 (origin
13342 (method url-fetch)
13343 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13344 "xml-types-" version ".tar.gz"))
13345 (sha256
13346 (base32
13347 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13348 (build-system haskell-build-system)
13349 (home-page "https://john-millikin.com/software/haskell-xml/")
13350 (synopsis "Basic types for representing XML")
13351 (description "This package provides basic types for representing XML
13352 documents.")
13353 (license license:expat)))
13354
13355 (define-public ghc-yaml
13356 (package
13357 (name "ghc-yaml")
13358 (version "0.11.1.2")
13359 (source (origin
13360 (method url-fetch)
13361 (uri (string-append "https://hackage.haskell.org/package/"
13362 "yaml/yaml-" version ".tar.gz"))
13363 (sha256
13364 (base32
13365 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
13366 (build-system haskell-build-system)
13367 (inputs
13368 `(("ghc-conduit" ,ghc-conduit)
13369 ("ghc-resourcet" ,ghc-resourcet)
13370 ("ghc-aeson" ,ghc-aeson)
13371 ("ghc-unordered-containers" ,ghc-unordered-containers)
13372 ("ghc-vector" ,ghc-vector)
13373 ("ghc-attoparsec" ,ghc-attoparsec)
13374 ("ghc-scientific" ,ghc-scientific)
13375 ("ghc-semigroups" ,ghc-semigroups)
13376 ("ghc-temporary" ,ghc-temporary)
13377 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
13378 ("ghc-base-compat" ,ghc-base-compat)
13379 ("ghc-libyaml" ,ghc-libyaml)))
13380 (native-inputs
13381 `(("ghc-hspec" ,ghc-hspec)
13382 ("ghc-hunit" ,ghc-hunit)
13383 ("hspec-discover" ,hspec-discover)
13384 ("ghc-mockery" ,ghc-mockery)
13385 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
13386 (home-page "https://github.com/snoyberg/yaml/")
13387 (synopsis "Parsing and rendering YAML documents")
13388 (description
13389 "This package provides a library to parse and render YAML documents.")
13390 (license license:bsd-3)))
13391
13392 (define-public ghc-zip-archive
13393 (package
13394 (name "ghc-zip-archive")
13395 (version "0.4.1")
13396 (source
13397 (origin
13398 (method url-fetch)
13399 (uri (string-append
13400 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13401 version
13402 ".tar.gz"))
13403 (sha256
13404 (base32
13405 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
13406 (build-system haskell-build-system)
13407 (arguments
13408 `(#:phases
13409 (modify-phases %standard-phases
13410 (add-before 'check 'set-PATH-for-tests
13411 (lambda* (#:key inputs #:allow-other-keys)
13412 (let ((unzip (assoc-ref inputs "unzip"))
13413 (which (assoc-ref inputs "which"))
13414 (path (getenv "PATH")))
13415 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13416 #t))))))
13417 (inputs
13418 `(("ghc-digest" ,ghc-digest)
13419 ("ghc-temporary" ,ghc-temporary)
13420 ("ghc-zlib" ,ghc-zlib)))
13421 (native-inputs
13422 `(("ghc-hunit" ,ghc-hunit)
13423 ("unzip" ,unzip)
13424 ("which" ,which)))
13425 (home-page "https://hackage.haskell.org/package/zip-archive")
13426 (synopsis "Zip archive library for Haskell")
13427 (description "The zip-archive library provides functions for creating,
13428 modifying, and extracting files from zip archives in Haskell.")
13429 (license license:bsd-3)))
13430
13431 (define-public ghc-zlib
13432 (package
13433 (name "ghc-zlib")
13434 (version "0.6.2.1")
13435 (outputs '("out" "doc"))
13436 (source
13437 (origin
13438 (method url-fetch)
13439 (uri (string-append
13440 "https://hackage.haskell.org/package/zlib/zlib-"
13441 version
13442 ".tar.gz"))
13443 (sha256
13444 (base32
13445 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
13446 (build-system haskell-build-system)
13447 (arguments
13448 `(#:phases
13449 (modify-phases %standard-phases
13450 (add-before 'configure 'strip-test-framework-constraints
13451 (lambda _
13452 (substitute* "zlib.cabal"
13453 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13454 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13455 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13456 (inputs `(("zlib" ,zlib)))
13457 (native-inputs
13458 `(("ghc-quickcheck" ,ghc-quickcheck)
13459 ("ghc-tasty" ,ghc-tasty)
13460 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13461 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13462 (home-page "https://hackage.haskell.org/package/zlib")
13463 (synopsis
13464 "Compression and decompression in the gzip and zlib formats")
13465 (description
13466 "This package provides a pure interface for compressing and decompressing
13467 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13468 library so it has high performance. It supports the @code{zlib}, @code{gzip}
13469 and @code{raw} compression formats. It provides a convenient high level API
13470 suitable for most tasks and for the few cases where more control is needed it
13471 provides access to the full zlib feature set.")
13472 (license license:bsd-3)))
13473
13474 (define-public ghc-zlib-bindings
13475 (package
13476 (name "ghc-zlib-bindings")
13477 (version "0.1.1.5")
13478 (source
13479 (origin
13480 (method url-fetch)
13481 (uri (string-append "https://hackage.haskell.org/package/"
13482 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13483 (sha256
13484 (base32
13485 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13486 (build-system haskell-build-system)
13487 (inputs
13488 `(("ghc-zlib" ,ghc-zlib)))
13489 (native-inputs
13490 `(("ghc-hspec" ,ghc-hspec)
13491 ("ghc-quickcheck" ,ghc-quickcheck)))
13492 (arguments
13493 `(#:cabal-revision
13494 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13495 (home-page "https://github.com/snapframework/zlib-bindings")
13496 (synopsis "Low-level bindings to the @code{zlib} package")
13497 (description "This package provides low-level bindings to the
13498 @code{zlib} package.")
13499 (license license:bsd-3)))
13500
13501 (define-public ghc-zstd
13502 (package
13503 (name "ghc-zstd")
13504 (version "0.1.1.2")
13505 (source
13506 (origin
13507 (method url-fetch)
13508 (uri (string-append "https://hackage.haskell.org/package/"
13509 "zstd/zstd-" version ".tar.gz"))
13510 (sha256
13511 (base32
13512 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13513 (build-system haskell-build-system)
13514 (native-inputs
13515 `(("ghc-quickcheck" ,ghc-quickcheck)
13516 ("ghc-test-framework" ,ghc-test-framework)
13517 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13518 (home-page "https://github.com/luispedro/hs-zstd")
13519 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13520 (description "This library provides Haskell bindings to the
13521 Zstandard compression algorithm, a fast lossless compression algorithm
13522 targeting real-time compression scenarios at zlib-level and better
13523 compression ratios.")
13524 (license license:bsd-3)))