gnu: Use 'search-input-file' when looking for executables.
[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, 2021 Ludovic Courtès <ludo@gnu.org>
7 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
8 ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
9 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10 ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11 ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13 ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14 ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15 ;;; Copyright © 2017–2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
16 ;;; Copyright © 2018 Tonton <tonton@riseup.net>
17 ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19 ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
20 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
21 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
22 ;;; Copyright © 2019,2020 John Soo <jsoo1@asu.edu>
23 ;;; Copyright © 2019, 2020 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, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
28 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
29 ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
30 ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
31 ;;;
32 ;;; This file is part of GNU Guix.
33 ;;;
34 ;;; GNU Guix is free software; you can redistribute it and/or modify it
35 ;;; under the terms of the GNU General Public License as published by
36 ;;; the Free Software Foundation; either version 3 of the License, or (at
37 ;;; your option) any later version.
38 ;;;
39 ;;; GNU Guix is distributed in the hope that it will be useful, but
40 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
41 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42 ;;; GNU General Public License for more details.
43 ;;;
44 ;;; You should have received a copy of the GNU General Public License
45 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
46
47 (define-module (gnu packages haskell-xyz)
48 #:use-module (gnu packages)
49 #:use-module (gnu packages base)
50 #:use-module (gnu packages compression)
51 #:use-module (gnu packages emacs)
52 #:use-module (gnu packages gl)
53 #:use-module (gnu packages graphviz)
54 #:use-module (gnu packages gtk)
55 #:use-module (gnu packages haskell)
56 #:use-module (gnu packages haskell-apps)
57 #:use-module (gnu packages haskell-check)
58 #:use-module (gnu packages haskell-crypto)
59 #:use-module (gnu packages haskell-web)
60 #:use-module (gnu packages libffi)
61 #:use-module (gnu packages linux)
62 #:use-module (gnu packages llvm)
63 #:use-module (gnu packages lua)
64 #:use-module (gnu packages maths)
65 #:use-module (gnu packages ncurses)
66 #:use-module (gnu packages pcre)
67 #:use-module (gnu packages pkg-config)
68 #:use-module (gnu packages sdl)
69 #:use-module (gnu packages web)
70 #:use-module (gnu packages xml)
71 #:use-module (gnu packages xorg)
72 #:use-module (guix build-system haskell)
73 #:use-module (guix download)
74 #:use-module (guix git-download)
75 #:use-module (guix utils)
76 #:use-module ((guix licenses) #:prefix license:)
77 #:use-module (guix packages)
78 #:use-module (srfi srfi-1))
79
80 (define-public ghc-abstract-deque
81 (package
82 (name "ghc-abstract-deque")
83 (version "0.3")
84 (source
85 (origin
86 (method url-fetch)
87 (uri (string-append "https://hackage.haskell.org/package/"
88 "abstract-deque-" version "/"
89 "abstract-deque-" version ".tar.gz"))
90 (sha256
91 (base32
92 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
93 (build-system haskell-build-system)
94 (inputs `(("ghc-random" ,ghc-random)))
95 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
96 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
97 (description "This Haskell package provides an abstract interface to
98 highly-parameterizable queues/deques.
99
100 Background: There exists a feature space for queues that extends between:
101
102 @itemize
103 @item Simple, single-ended, non-concurrent, bounded queues
104
105 @item Double-ended, thread-safe, growable queues with important points
106 in between (such as the queues used for work stealing).
107 @end itemize
108
109 This package includes an interface for Deques that allows the programmer
110 to use a single API for all of the above, while using the type system to
111 select an efficient implementation given the requirements (using type families).
112
113 This package also includes a simple reference implementation based on
114 @code{IORef} and @code{Data.Sequence}.")
115 (license license:bsd-3)))
116
117 (define-public ghc-abstract-par
118 (package
119 (name "ghc-abstract-par")
120 (version "0.3.3")
121 (source
122 (origin
123 (method url-fetch)
124 (uri (string-append "https://hackage.haskell.org/package/"
125 "abstract-par-" version "/"
126 "abstract-par-" version ".tar.gz"))
127 (sha256
128 (base32
129 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
130 (build-system haskell-build-system)
131 (home-page "https://github.com/simonmar/monad-par")
132 (synopsis "Abstract parallelization interface for Haskell")
133 (description "This Haskell package is an abstract interface
134 only. It provides a number of type clasess, but not an
135 implementation. The type classes separate different levels
136 of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
137 module for more details.")
138 (license license:bsd-3)))
139
140 (define-public ghc-active
141 (package
142 (name "ghc-active")
143 (version "0.2.0.14")
144 (source
145 (origin
146 (method url-fetch)
147 (uri (string-append "https://hackage.haskell.org/package/"
148 "active/active-" version ".tar.gz"))
149 (sha256
150 (base32
151 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
152 (build-system haskell-build-system)
153 (inputs
154 `(("ghc-vector" ,ghc-vector)
155 ("ghc-semigroups" ,ghc-semigroups)
156 ("ghc-semigroupoids" ,ghc-semigroupoids)
157 ("ghc-lens" ,ghc-lens)
158 ("ghc-linear" ,ghc-linear)))
159 (native-inputs
160 `(("ghc-quickcheck" ,ghc-quickcheck)))
161 (home-page "https://hackage.haskell.org/package/active")
162 (synopsis "Abstractions for animation")
163 (description "This package defines an @code{Active} abstraction for
164 time-varying values with finite start and end times. It is used for
165 describing animations within the
166 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
167 diagrams framework}.")
168 (license license:bsd-3)))
169
170 (define-public ghc-adjunctions
171 (package
172 (name "ghc-adjunctions")
173 (version "4.4")
174 (source
175 (origin
176 (method url-fetch)
177 (uri (string-append
178 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
179 version
180 ".tar.gz"))
181 (sha256
182 (base32
183 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
184 (build-system haskell-build-system)
185 (arguments
186 `(#:cabal-revision
187 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
188 (inputs
189 `(("ghc-profunctors" ,ghc-profunctors)
190 ("ghc-comonad" ,ghc-comonad)
191 ("ghc-contravariant" ,ghc-contravariant)
192 ("ghc-distributive" ,ghc-distributive)
193 ("ghc-free" ,ghc-free)
194 ("ghc-tagged" ,ghc-tagged)
195 ("ghc-semigroupoids" ,ghc-semigroupoids)
196 ("ghc-semigroups" ,ghc-semigroups)
197 ("ghc-transformers-compat" ,ghc-transformers-compat)
198 ("ghc-void" ,ghc-void)))
199 (native-inputs
200 `(("ghc-generic-deriving" ,ghc-generic-deriving)
201 ("ghc-hspec" ,ghc-hspec)
202 ("hspec-discover" ,hspec-discover)))
203 (home-page "https://github.com/ekmett/adjunctions/")
204 (synopsis "Adjunctions and representable functors")
205 (description "This library provides adjunctions and representable functors
206 for Haskell.")
207 (license license:bsd-3)))
208
209 (define-public ghc-aeson-compat
210 (package
211 (name "ghc-aeson-compat")
212 (version "0.3.9")
213 (source
214 (origin
215 (method url-fetch)
216 (uri (string-append "https://hackage.haskell.org/package/"
217 "aeson-compat-" version "/"
218 "aeson-compat-" version ".tar.gz"))
219 (sha256
220 (base32
221 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
222 (build-system haskell-build-system)
223 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
224 (inputs `(("ghc-base-compat" ,ghc-base-compat)
225 ("ghc-aeson" ,ghc-aeson)
226 ("ghc-attoparsec" ,ghc-attoparsec)
227 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
228 ("ghc-exceptions" ,ghc-exceptions)
229 ("ghc-hashable" ,ghc-hashable)
230 ("ghc-scientific" ,ghc-scientific)
231 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
232 ("ghc-unordered-containers" ,ghc-unordered-containers)
233 ("ghc-vector" ,ghc-vector)
234 ("ghc-tagged" ,ghc-tagged)
235 ("ghc-semigroups" ,ghc-semigroups)
236 ("ghc-nats" ,ghc-nats)))
237 (home-page "https://github.com/phadej/aeson-compat")
238 (synopsis "Compatibility layer for ghc-aeson")
239 (description "This Haskell package provides compatibility layer for
240 ghc-aeson.")
241 (license license:bsd-3)))
242
243 (define-public ghc-aeson-diff
244 (package
245 (name "ghc-aeson-diff")
246 (version "1.1.0.7")
247 (source
248 (origin
249 (method url-fetch)
250 (uri (string-append "https://hackage.haskell.org/package/"
251 "aeson-diff/aeson-diff-" version ".tar.gz"))
252 (sha256
253 (base32
254 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
255 (build-system haskell-build-system)
256 (inputs
257 `(("ghc-aeson" ,ghc-aeson)
258 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
259 ("ghc-hashable" ,ghc-hashable)
260 ("ghc-scientific" ,ghc-scientific)
261 ("ghc-unordered-containers" ,ghc-unordered-containers)
262 ("ghc-vector" ,ghc-vector)
263 ("ghc-semigroups" ,ghc-semigroups)
264 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
265 (native-inputs
266 `(("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-glob" ,ghc-glob)
269 ("ghc-quickcheck" ,ghc-quickcheck)
270 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
271 ("ghc-quickcheck" ,ghc-quickcheck)
272 ("ghc-doctest" ,ghc-doctest)
273 ("hlint" ,hlint)))
274 (home-page "https://github.com/thsutton/aeson-diff")
275 (synopsis "Extract and apply patches to JSON documents")
276 (description "This is a small library for working with changes to JSON
277 documents. It includes a library and two command-line executables in the
278 style of the @command{diff} and @command{patch} commands available on many
279 systems.")
280 (license license:bsd-3)))
281
282 (define-public ghc-alex
283 (package
284 (name "ghc-alex")
285 (version "3.2.4")
286 (source
287 (origin
288 (method url-fetch)
289 (uri (string-append
290 "https://hackage.haskell.org/package/alex/alex-"
291 version
292 ".tar.gz"))
293 (sha256
294 (base32
295 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
296 (build-system haskell-build-system)
297 (arguments
298 `(#:phases
299 (modify-phases %standard-phases
300 (add-before 'check 'set-check-variables
301 (lambda _
302 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
303 (getenv "PATH")))
304 (setenv "alex_datadir" (string-append (getcwd) "/data"))
305 #t)))))
306 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
307 (native-inputs
308 `(("which" ,which)))
309 (home-page "https://www.haskell.org/alex/")
310 (synopsis
311 "Tool for generating lexical analysers in Haskell")
312 (description
313 "Alex is a tool for generating lexical analysers in Haskell. It takes a
314 description of tokens based on regular expressions and generates a Haskell
315 module containing code for scanning text efficiently. It is similar to the
316 tool lex or flex for C/C++.")
317 (license license:bsd-3)))
318
319 (define-public ghc-alsa-core
320 (package
321 (name "ghc-alsa-core")
322 (version "0.5.0.1")
323 (source
324 (origin
325 (method url-fetch)
326 (uri (string-append
327 "mirror://hackage/package/alsa-core/alsa-core-"
328 version
329 ".tar.gz"))
330 (sha256
331 (base32
332 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
333 (build-system haskell-build-system)
334 (arguments
335 `(#:extra-directories ("alsa-lib")))
336 (inputs
337 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
338 ("alsa-lib" ,alsa-lib)))
339 (native-inputs
340 `(("pkg-config" ,pkg-config)))
341 (home-page "https://wiki.haskell.org/ALSA")
342 (synopsis "Binding to the ALSA Library API (Exceptions)")
343 (description "This package provides access to ALSA infrastructure, that is
344 needed by both alsa-seq and alsa-pcm.")
345 (license license:bsd-3)))
346
347 (define-public ghc-alsa-mixer
348 (package
349 (name "ghc-alsa-mixer")
350 (version "0.3.0")
351 (source
352 (origin
353 (method url-fetch)
354 (uri
355 (string-append
356 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
357 version ".tar.gz"))
358 (sha256
359 (base32
360 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
361 (build-system haskell-build-system)
362 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
363 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
364 (home-page "https://github.com/ttuegel/alsa-mixer")
365 (synopsis "Bindings to the ALSA simple mixer API")
366 (description
367 "This package provides bindings to the ALSA simple mixer API.")
368 (license license:bsd-3)))
369
370 (define-public ghc-annotated-wl-pprint
371 (package
372 (name "ghc-annotated-wl-pprint")
373 (version "0.7.0")
374 (source
375 (origin
376 (method url-fetch)
377 (uri (string-append
378 "https://hackage.haskell.org/package/annotated-wl-pprint"
379 "/annotated-wl-pprint-" version
380 ".tar.gz"))
381 (sha256
382 (base32
383 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
384 (build-system haskell-build-system)
385 (home-page
386 "https://github.com/david-christiansen/annotated-wl-pprint")
387 (synopsis
388 "The Wadler/Leijen Pretty Printer, with annotation support")
389 (description "This is a modified version of wl-pprint, which was based on
390 Wadler's paper \"A Prettier Printer\". This version allows the library user
391 to annotate the text with semantic information, which can later be rendered in
392 a variety of ways.")
393 (license license:bsd-3)))
394
395 (define-public ghc-ansi-terminal
396 (package
397 (name "ghc-ansi-terminal")
398 (version "0.9.1")
399 (source
400 (origin
401 (method url-fetch)
402 (uri (string-append
403 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
404 version
405 ".tar.gz"))
406 (sha256
407 (base32
408 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
409 (build-system haskell-build-system)
410 (inputs
411 `(("ghc-colour" ,ghc-colour)))
412 (home-page "https://github.com/feuerbach/ansi-terminal")
413 (synopsis "ANSI terminal support for Haskell")
414 (description "This package provides ANSI terminal support for Haskell. It
415 allows cursor movement, screen clearing, color output showing or hiding the
416 cursor, and changing the title.")
417 (license license:bsd-3)))
418
419 (define-public ghc-ansi-wl-pprint
420 (package
421 (name "ghc-ansi-wl-pprint")
422 (version "0.6.9")
423 (source
424 (origin
425 (method url-fetch)
426 (uri (string-append "https://hackage.haskell.org/package/"
427 "ansi-wl-pprint/ansi-wl-pprint-"
428 version ".tar.gz"))
429 (sha256
430 (base32
431 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
432 (build-system haskell-build-system)
433 (inputs
434 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
435 (home-page "https://github.com/ekmett/ansi-wl-pprint")
436 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
437 (description "This is a pretty printing library based on Wadler's paper
438 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
439 colored output using the ansi-terminal package.")
440 (license license:bsd-3)))
441
442 (define-public ghc-appar
443 (package
444 (name "ghc-appar")
445 (version "0.1.8")
446 (source
447 (origin
448 (method url-fetch)
449 (uri (string-append
450 "https://hackage.haskell.org/package/appar/appar-"
451 version
452 ".tar.gz"))
453 (sha256
454 (base32
455 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
456 (build-system haskell-build-system)
457 (home-page
458 "https://hackage.haskell.org/package/appar")
459 (synopsis "Simple applicative parser")
460 (description "This package provides a simple applicative parser in Parsec
461 style.")
462 (license license:bsd-3)))
463
464 (define-public ghc-assoc
465 (package
466 (name "ghc-assoc")
467 (version "1.0.1")
468 (source
469 (origin
470 (method url-fetch)
471 (uri (string-append
472 "https://hackage.haskell.org/package/assoc/assoc-"
473 version
474 ".tar.gz"))
475 (sha256
476 (base32
477 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
478 (build-system haskell-build-system)
479 (inputs
480 `(("ghc-bifunctors" ,ghc-bifunctors)
481 ("ghc-tagged" ,ghc-tagged)))
482 (home-page
483 "http://hackage.haskell.org/package/assoc")
484 (synopsis
485 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
486 (description
487 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
488 @code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
489 similar operations (e.g. @code{Either}, @code{These}).")
490 (license license:bsd-3)))
491
492 (define-public ghc-async
493 (package
494 (name "ghc-async")
495 (version "2.2.2")
496 (source
497 (origin
498 (method url-fetch)
499 (uri (string-append
500 "https://hackage.haskell.org/package/async/async-"
501 version
502 ".tar.gz"))
503 (sha256
504 (base32
505 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
506 (build-system haskell-build-system)
507 (inputs
508 `(("ghc-hashable" ,ghc-hashable)
509 ("ghc-hunit" ,ghc-hunit)
510 ("ghc-test-framework" ,ghc-test-framework)
511 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
512 (home-page "https://github.com/simonmar/async")
513 (synopsis "Library to run IO operations asynchronously")
514 (description "Async provides a library to run IO operations
515 asynchronously, and wait for their results. It is a higher-level interface
516 over threads in Haskell, in which @code{Async a} is a concurrent thread that
517 will eventually deliver a value of type @code{a}.")
518 (license license:bsd-3)))
519
520 (define-public ghc-atomic-primops
521 (package
522 (name "ghc-atomic-primops")
523 (version "0.8.3")
524 (source
525 (origin
526 (method url-fetch)
527 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
528 "/atomic-primops-" version ".tar.gz"))
529 (sha256
530 (base32
531 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
532 (build-system haskell-build-system)
533 (inputs `(("ghc-primitive" ,ghc-primitive)))
534 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
535 (synopsis "Safe approach to CAS and other atomic ops")
536 (description
537 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
538 use safely, because pointer equality is a highly unstable property in Haskell.
539 This library provides a safer method based on the concept of @code{Ticket}s.")
540 (license license:bsd-3)))
541
542 (define-public ghc-atomic-write
543 (package
544 (name "ghc-atomic-write")
545 (version "0.2.0.6")
546 (source
547 (origin
548 (method url-fetch)
549 (uri (string-append
550 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
551 version
552 ".tar.gz"))
553 (sha256
554 (base32
555 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
556 (build-system haskell-build-system)
557 (inputs
558 `(("ghc-temporary" ,ghc-temporary)
559 ("ghc-unix-compat" ,ghc-unix-compat)))
560 (native-inputs
561 `(("ghc-temporary" ,ghc-temporary)
562 ("ghc-unix-compat" ,ghc-unix-compat)
563 ("ghc-hspec" ,ghc-hspec)
564 ("hspec-discover" ,hspec-discover)))
565 (home-page "https://github.com/stackbuilders/atomic-write")
566 (synopsis "Atomically write to a file")
567 (description
568 "Atomically write to a file on POSIX-compliant systems while preserving
569 permissions. @code{mv} is an atomic operation. This makes it simple to write
570 to a file atomically just by using the @code{mv} operation. However, this
571 will destroy the permissions on the original file. This library preserves
572 permissions while atomically writing to a file.")
573 (license license:expat)))
574
575 (define-public ghc-atomic-write-0.2.0.7
576 (package
577 (inherit ghc-atomic-write)
578 (version "0.2.0.7")
579 (source
580 (origin
581 (inherit (package-source ghc-atomic-write))
582 (uri (string-append
583 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
584 version
585 ".tar.gz"))
586 (sha256
587 (base32
588 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
589
590 (define-public ghc-attoparsec
591 (package
592 (name "ghc-attoparsec")
593 (version "0.13.2.3")
594 (source
595 (origin
596 (method url-fetch)
597 (uri (string-append
598 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
599 version
600 ".tar.gz"))
601 (sha256
602 (base32
603 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
604 (build-system haskell-build-system)
605 (arguments
606 `(#:phases
607 (modify-phases %standard-phases
608 (add-after 'unpack 'patch-for-newer-quickcheck
609 (lambda _
610 (substitute* "attoparsec.cabal"
611 (("QuickCheck >= 2\\.7 && < 2\\.10")
612 "QuickCheck >= 2.7 && < 2.12"))
613 ;; This test fails because of the newer QuickCheck:
614 ;; <https://github.com/bos/attoparsec/issues/134>.
615 (substitute* "tests/QC/ByteString.hs"
616 ((", testProperty \"satisfyWith\" satisfyWith")
617 "")))))))
618 (inputs
619 `(("ghc-scientific" ,ghc-scientific)))
620 (native-inputs
621 `(("ghc-tasty" ,ghc-tasty)
622 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
623 ("ghc-quickcheck" ,ghc-quickcheck)
624 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
625 ("ghc-vector" ,ghc-vector)))
626 (home-page "https://github.com/bos/attoparsec")
627 (synopsis "Fast combinator parsing for bytestrings and text")
628 (description "This library provides a fast parser combinator library,
629 aimed particularly at dealing efficiently with network protocols and
630 complicated text/binary file formats.")
631 (license license:bsd-3)))
632
633 (define-public ghc-attoparsec-bootstrap
634 (package
635 (inherit ghc-attoparsec)
636 (name "ghc-attoparsec-bootstrap")
637 (arguments `(#:tests? #f))
638 (inputs
639 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
640 (native-inputs '())
641 (properties '((hidden? #t)))))
642
643 (define-public ghc-attoparsec-iso8601
644 (package
645 (name "ghc-attoparsec-iso8601")
646 (version "1.0.1.0")
647 (source
648 (origin
649 (method url-fetch)
650 (uri (string-append "https://hackage.haskell.org/package/"
651 "attoparsec-iso8601-" version "/"
652 "attoparsec-iso8601-" version ".tar.gz"))
653 (sha256
654 (base32
655 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
656 (build-system haskell-build-system)
657 (arguments
658 `(#:cabal-revision
659 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
660 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
661 ("ghc-base-compat" ,ghc-base-compat)))
662 (home-page "https://github.com/bos/aeson")
663 (synopsis "Parse ISO 8601 dates")
664 (description "Haskell library for parsing of ISO 8601 dates, originally
665 from aeson.")
666 (license license:bsd-3)))
667
668 (define-public ghc-auto-update
669 (package
670 (name "ghc-auto-update")
671 (version "0.1.6")
672 (source
673 (origin
674 (method url-fetch)
675 (uri (string-append
676 "https://hackage.haskell.org/package/auto-update/auto-update-"
677 version
678 ".tar.gz"))
679 (sha256
680 (base32
681 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
682 (build-system haskell-build-system)
683 (native-inputs
684 `(("ghc-hspec" ,ghc-hspec)
685 ("ghc-hunit" ,ghc-hunit)
686 ("ghc-retry" ,ghc-retry)
687 ("hspec-discover" ,hspec-discover)))
688 (home-page "https://github.com/yesodweb/wai")
689 (synopsis "Efficiently run periodic, on-demand actions")
690 (description "This library provides mechanisms to efficiently run
691 periodic, on-demand actions in Haskell.")
692 (license license:expat)))
693
694 (define-public ghc-aws
695 (package
696 (name "ghc-aws")
697 (version "0.20")
698 (source
699 (origin
700 (method url-fetch)
701 (uri (string-append "https://hackage.haskell.org/package/"
702 "aws-" version "/aws-" version ".tar.gz"))
703 (sha256 (base32
704 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
705 (build-system haskell-build-system)
706 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
707 (inputs
708 `(("ghc-aeson" ,ghc-aeson)
709 ("ghc-attoparsec" ,ghc-attoparsec)
710 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
711 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
712 ("ghc-blaze-builder" ,ghc-blaze-builder)
713 ("ghc-byteable" ,ghc-byteable)
714 ("ghc-case-insensitive" ,ghc-case-insensitive)
715 ("ghc-cereal" ,ghc-cereal)
716 ("ghc-conduit" ,ghc-conduit)
717 ("ghc-conduit-extra" ,ghc-conduit-extra)
718 ("ghc-cryptonite" ,ghc-cryptonite)
719 ("ghc-data-default" ,ghc-data-default)
720 ("ghc-http-conduit" ,ghc-http-conduit)
721 ("ghc-http-types" ,ghc-http-types)
722 ("ghc-lifted-base" ,ghc-lifted-base)
723 ("ghc-monad-control" ,ghc-monad-control)
724 ("ghc-network" ,ghc-network)
725 ("ghc-old-locale" ,ghc-old-locale)
726 ("ghc-safe" ,ghc-safe)
727 ("ghc-scientific" ,ghc-scientific)
728 ("ghc-tagged" ,ghc-tagged)
729 ("ghc-unordered-containers" ,ghc-unordered-containers)
730 ("ghc-utf8-string" ,ghc-utf8-string)
731 ("ghc-vector" ,ghc-vector)
732 ("ghc-xml-conduit" ,ghc-xml-conduit)))
733 (native-inputs
734 `(("ghc-quickcheck" ,ghc-quickcheck)
735 ("ghc-errors" ,ghc-errors)
736 ("ghc-http-client" ,ghc-http-client)
737 ("ghc-http-client-tls" ,ghc-http-client-tls)
738 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
739 ("ghc-tasty" ,ghc-tasty)
740 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
741 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
742 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
743 (home-page "https://github.com/aristidb/aws")
744 (synopsis "Amazon Web Services for Haskell")
745 (description "This package attempts to provide support for using
746 Amazon Web Services like S3 (storage), SQS (queuing) and others to
747 Haskell programmers. The ultimate goal is to support all Amazon
748 Web Services.")
749 (license license:bsd-3)))
750
751 (define-public ghc-base16-bytestring
752 (package
753 (name "ghc-base16-bytestring")
754 (version "0.1.1.6")
755 (source
756 (origin
757 (method url-fetch)
758 (uri (string-append
759 "https://hackage.haskell.org/package/base16-bytestring/"
760 "base16-bytestring-" version ".tar.gz"))
761 (sha256
762 (base32
763 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
764 (build-system haskell-build-system)
765 (home-page "https://github.com/bos/base16-bytestring")
766 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
767 (description
768 "This package provides a Haskell library for working with base16-encoded
769 data quickly and efficiently, using the ByteString type.")
770 (license license:bsd-3)))
771
772 (define-public ghc-base64-bytestring
773 (package
774 (name "ghc-base64-bytestring")
775 (version "1.0.0.2")
776 (source
777 (origin
778 (method url-fetch)
779 (uri (string-append
780 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
781 version
782 ".tar.gz"))
783 (sha256
784 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
785 (build-system haskell-build-system)
786 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
787 (home-page "https://github.com/bos/base64-bytestring")
788 (synopsis "Base64 encoding and decoding for ByteStrings")
789 (description "This library provides fast base64 encoding and decoding for
790 Haskell @code{ByteString}s.")
791 (license license:bsd-3)))
792
793 (define-public ghc-base-compat
794 (package
795 (name "ghc-base-compat")
796 (version "0.10.5")
797 (source
798 (origin
799 (method url-fetch)
800 (uri (string-append
801 "https://hackage.haskell.org/package/base-compat/base-compat-"
802 version
803 ".tar.gz"))
804 (sha256
805 (base32
806 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
807 (build-system haskell-build-system)
808 (outputs '("out" "static" "doc"))
809 (native-inputs
810 `(("ghc-quickcheck" ,ghc-quickcheck)
811 ("ghc-hspec" ,ghc-hspec)
812 ("hspec-discover" ,hspec-discover)))
813 (home-page "https://hackage.haskell.org/package/base-compat")
814 (synopsis "Haskell compiler compatibility library")
815 (description "This library provides functions available in later versions
816 of base to a wider range of compilers, without requiring the use of CPP
817 pragmas in your code.")
818 (license license:bsd-3)))
819
820 (define-public ghc-base-compat-batteries
821 (package
822 (name "ghc-base-compat-batteries")
823 (version "0.10.5")
824 (source
825 (origin
826 (method url-fetch)
827 (uri (string-append "https://hackage.haskell.org/package/"
828 "base-compat-batteries/base-compat-batteries-"
829 version ".tar.gz"))
830 (sha256
831 (base32
832 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
833 (build-system haskell-build-system)
834 (inputs
835 `(("ghc-base-compat" ,ghc-base-compat)))
836 (native-inputs
837 `(("ghc-hspec" ,ghc-hspec)
838 ("ghc-quickcheck" ,ghc-quickcheck)
839 ("hspec-discover" ,hspec-discover)))
840 (arguments
841 `(#:cabal-revision
842 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
843 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
844 (synopsis "base-compat with extra batteries")
845 (description "This library provides functions available in later
846 versions of @code{base} to a wider range of compilers, without requiring
847 you to use CPP pragmas in your code. This package provides the same API
848 as the @code{base-compat} library, but depends on compatibility
849 packages (such as @code{semigroups}) to offer a wider support window
850 than @code{base-compat}, which has no dependencies.")
851 (license license:expat)))
852
853 (define-public ghc-basement
854 (package
855 (name "ghc-basement")
856 (version "0.0.11")
857 (source
858 (origin
859 (method url-fetch)
860 (uri (string-append "https://hackage.haskell.org/package/"
861 "basement/basement-" version ".tar.gz"))
862 (sha256
863 (base32
864 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
865 (build-system haskell-build-system)
866 (outputs '("out" "static" "doc"))
867 (home-page "https://github.com/haskell-foundation/foundation")
868 (synopsis "Basic primitives for Foundation starter pack")
869 (description
870 "This package contains basic primitives for the Foundation set of
871 packages.")
872 (license license:bsd-3)))
873
874 (define-public ghc-base-orphans
875 (package
876 (name "ghc-base-orphans")
877 (version "0.8.1")
878 (source
879 (origin
880 (method url-fetch)
881 (uri (string-append
882 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
883 version
884 ".tar.gz"))
885 (sha256
886 (base32
887 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
888 (build-system haskell-build-system)
889 (native-inputs
890 `(("ghc-quickcheck" ,ghc-quickcheck)
891 ("ghc-hspec" ,ghc-hspec)
892 ("hspec-discover" ,hspec-discover)))
893 (home-page "https://hackage.haskell.org/package/base-orphans")
894 (synopsis "Orphan instances for backwards compatibility")
895 (description "This package defines orphan instances that mimic instances
896 available in later versions of base to a wider (older) range of compilers.")
897 (license license:bsd-3)))
898
899 (define-public ghc-base-prelude
900 (package
901 (name "ghc-base-prelude")
902 (version "1.3")
903 (source
904 (origin
905 (method url-fetch)
906 (uri (string-append "https://hackage.haskell.org/package/"
907 "base-prelude-" version "/"
908 "base-prelude-" version ".tar.gz"))
909 (sha256
910 (base32
911 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
912 (build-system haskell-build-system)
913 (outputs '("out" "static" "doc"))
914 (home-page "https://github.com/nikita-volkov/base-prelude")
915 (synopsis "The most complete prelude formed solely from the Haskell's base
916 package")
917 (description "This Haskell package aims to reexport all the non-conflicting
918 and most general definitions from the \"base\" package.
919
920 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
921 exceptions, generics, ST, MVars and STM.
922
923 This package will never have any dependencies other than \"base\".
924
925 Versioning policy:
926
927 The versioning policy of this package deviates from PVP in the sense
928 that its exports in part are transitively determined by the version of \"base\".
929 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
930 the bounds of \"base\" as well.")
931 (license license:expat)))
932
933 (define-public ghc-base-unicode-symbols
934 (package
935 (name "ghc-base-unicode-symbols")
936 (version "0.2.3")
937 (source
938 (origin
939 (method url-fetch)
940 (uri (string-append
941 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
942 version
943 ".tar.gz"))
944 (sha256
945 (base32
946 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
947 (build-system haskell-build-system)
948 (home-page "https://wiki.haskell.org/Unicode-symbols")
949 (synopsis "Unicode alternatives for common functions and operators")
950 (description "This package defines new symbols for a number of functions,
951 operators and types in the base package. All symbols are documented with
952 their actual definition and information regarding their Unicode code point.
953 They should be completely interchangeable with their definitions. For
954 further Unicode goodness you can enable the @code{UnicodeSyntax}
955 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
956 language extension}. This extension enables Unicode characters to be used to
957 stand for certain ASCII character sequences, i.e. → instead of @code{->},
958 ∀ instead of @code{forall} and many others.")
959 (license license:bsd-3)))
960
961 (define-public ghc-basic-prelude
962 (package
963 (name "ghc-basic-prelude")
964 (version "0.7.0")
965 (source
966 (origin
967 (method url-fetch)
968 (uri (string-append
969 "https://hackage.haskell.org/package/basic-prelude/"
970 "basic-prelude-" version ".tar.gz"))
971 (sha256
972 (base32
973 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
974 (build-system haskell-build-system)
975 (inputs
976 `(("ghc-hashable" ,ghc-hashable)
977 ("ghc-unordered-containers"
978 ,ghc-unordered-containers)
979 ("ghc-vector" ,ghc-vector)))
980 (home-page "https://github.com/snoyberg/basic-prelude#readme")
981 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
982 (description
983 "The premise of basic-prelude is that there are a lot of very commonly
984 desired features missing from the standard Prelude, such as commonly used
985 operators (<$> and >=>, for instance) and imports for common datatypes
986 (e.g., ByteString and Vector). At the same time, there are lots of other
987 components which are more debatable, such as providing polymorphic versions
988 of common functions.
989
990 So basic-prelude is intended to give a common foundation for a number of
991 alternate preludes. The package provides two modules: CorePrelude provides
992 the common ground for other preludes to build on top of, while BasicPrelude
993 exports CorePrelude together with commonly used list functions to provide a
994 drop-in replacement for the standard Prelude.
995
996 Users wishing to have an improved Prelude can use BasicPrelude. Developers
997 wishing to create a new prelude should use CorePrelude.")
998 (license license:expat)))
999
1000 (define-public ghc-bencode
1001 (package
1002 (name "ghc-bencode")
1003 (version "0.6.1.1")
1004 (source
1005 (origin
1006 (method url-fetch)
1007 (uri (string-append
1008 "https://hackage.haskell.org/package/bencode/bencode-"
1009 version ".tar.gz"))
1010 (sha256
1011 (base32 "0znv0y3b3zm5jvhlvj5f5s7y93db67j9yd59w1bnrw2pqv30gqaq"))))
1012 (build-system haskell-build-system)
1013 (inputs
1014 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
1015 (native-inputs
1016 `(("ghc-hspec" ,ghc-hspec)
1017 ("ghc-quickcheck" ,ghc-quickcheck)))
1018 (home-page "https://hackage.haskell.org/package/bencode")
1019 (synopsis "Parsers and printers for bencoded data")
1020 (description
1021 "This library provides parsers and printers for bencoded data. Bencode
1022 is the encoding used by the peer-to-peer file sharing system BitTorrent for
1023 storing and transmitting loosely structured data.")
1024 (license license:bsd-3)))
1025
1026 (define-public ghc-bifunctors
1027 (package
1028 (name "ghc-bifunctors")
1029 (version "5.5.5")
1030 (source
1031 (origin
1032 (method url-fetch)
1033 (uri (string-append
1034 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1035 version
1036 ".tar.gz"))
1037 (sha256
1038 (base32
1039 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
1040 (build-system haskell-build-system)
1041 (inputs
1042 `(("ghc-base-orphans" ,ghc-base-orphans)
1043 ("ghc-comonad" ,ghc-comonad)
1044 ("ghc-th-abstraction" ,ghc-th-abstraction)
1045 ("ghc-transformers-compat" ,ghc-transformers-compat)
1046 ("ghc-tagged" ,ghc-tagged)
1047 ("ghc-semigroups" ,ghc-semigroups)))
1048 (native-inputs
1049 `(("ghc-hspec" ,ghc-hspec)
1050 ("hspec-discover" ,hspec-discover)
1051 ("ghc-quickcheck" ,ghc-quickcheck)))
1052 (home-page "https://github.com/ekmett/bifunctors/")
1053 (synopsis "Bifunctors for Haskell")
1054 (description "This package provides bifunctors for Haskell.")
1055 (license license:bsd-3)))
1056
1057 (define-public ghc-bindings-dsl
1058 (package
1059 (name "ghc-bindings-dsl")
1060 (version "1.0.25")
1061 (source
1062 (origin
1063 (method url-fetch)
1064 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1065 "bindings-DSL-" version ".tar.gz"))
1066 (sha256
1067 (base32
1068 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1069 (build-system haskell-build-system)
1070 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1071 (synopsis "FFI domain specific language, on top of hsc2hs")
1072 (description
1073 "This is a set of macros to be used when writing Haskell FFI. They were
1074 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1075 extract from them all Haskell code needed to mimic such interfaces. All
1076 Haskell names used are automatically derived from C names, structures are
1077 mapped to Haskell instances of @code{Storable}, and there are also macros you
1078 can use with C code to help write bindings to inline functions or macro
1079 functions.")
1080 (license license:bsd-3)))
1081
1082 (define-public ghc-bitarray
1083 (package
1084 (name "ghc-bitarray")
1085 (version "0.0.1.1")
1086 (source
1087 (origin
1088 (method url-fetch)
1089 (uri (string-append "https://hackage.haskell.org/package/"
1090 "bitarray/bitarray-" version ".tar.gz"))
1091 (sha256
1092 (base32
1093 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1094 (build-system haskell-build-system)
1095 (arguments
1096 `(#:cabal-revision
1097 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1098 (home-page "https://hackage.haskell.org/package/bitarray")
1099 (synopsis "Mutable and immutable bit arrays")
1100 (description "The package provides mutable and immutable bit arrays.")
1101 (license license:bsd-3)))
1102
1103 (define-public ghc-blaze-builder
1104 (package
1105 (name "ghc-blaze-builder")
1106 (version "0.4.1.0")
1107 (source
1108 (origin
1109 (method url-fetch)
1110 (uri (string-append
1111 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1112 version
1113 ".tar.gz"))
1114 (sha256
1115 (base32
1116 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1117 (build-system haskell-build-system)
1118 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1119 (inputs
1120 `(("ghc-utf8-string" ,ghc-utf8-string)))
1121 (home-page "https://github.com/lpsmith/blaze-builder")
1122 (synopsis "Efficient buffered output")
1123 (description "This library provides an implementation of the older
1124 @code{blaze-builder} interface in terms of the new builder that shipped with
1125 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1126 bridge to the new builder, so that code that uses the old interface can
1127 interoperate with code that uses the new implementation.")
1128 (license license:bsd-3)))
1129
1130 (define-public ghc-blaze-markup
1131 (package
1132 (name "ghc-blaze-markup")
1133 (version "0.8.2.3")
1134 (source
1135 (origin
1136 (method url-fetch)
1137 (uri (string-append "https://hackage.haskell.org/package/"
1138 "blaze-markup/blaze-markup-"
1139 version ".tar.gz"))
1140 (sha256
1141 (base32
1142 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
1143 (build-system haskell-build-system)
1144 (arguments
1145 `(#:phases
1146 (modify-phases %standard-phases
1147 (add-before 'configure 'update-constraints
1148 (lambda _
1149 (substitute* "blaze-markup.cabal"
1150 (("tasty >= 1\\.0 && < 1\\.1")
1151 "tasty >= 1.0 && < 1.2")))))))
1152 (inputs
1153 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1154 (native-inputs
1155 `(("ghc-hunit" ,ghc-hunit)
1156 ("ghc-quickcheck" ,ghc-quickcheck)
1157 ("ghc-tasty" ,ghc-tasty)
1158 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1159 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1160 (home-page "https://jaspervdj.be/blaze")
1161 (synopsis "Fast markup combinator library for Haskell")
1162 (description "This library provides core modules of a markup combinator
1163 library for Haskell.")
1164 (license license:bsd-3)))
1165
1166 (define-public ghc-bloomfilter
1167 (package
1168 (name "ghc-bloomfilter")
1169 (version "2.0.1.0")
1170 (source
1171 (origin
1172 (method url-fetch)
1173 (uri (string-append "https://hackage.haskell.org/package/"
1174 "bloomfilter/bloomfilter-" version ".tar.gz"))
1175 (sha256
1176 (base32
1177 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1178 (build-system haskell-build-system)
1179 (native-inputs
1180 `(("ghc-quickcheck" ,ghc-quickcheck)
1181 ("ghc-random" ,ghc-random)
1182 ("ghc-test-framework" ,ghc-test-framework)
1183 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1184 (home-page "https://github.com/bos/bloomfilter")
1185 (synopsis "Pure and impure Bloom filter implementations")
1186 (description "This package provides both mutable and immutable Bloom
1187 filter data types, along with a family of hash functions and an easy-to-use
1188 interface.")
1189 (license license:bsd-3)))
1190
1191 (define-public ghc-boxes
1192 (package
1193 (name "ghc-boxes")
1194 (version "0.1.5")
1195 (source
1196 (origin
1197 (method url-fetch)
1198 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1199 version ".tar.gz"))
1200 (sha256
1201 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1202 (build-system haskell-build-system)
1203 (inputs
1204 `(("ghc-split" ,ghc-split)
1205 ("ghc-quickcheck" ,ghc-quickcheck)))
1206 (home-page "https://hackage.haskell.org/package/boxes")
1207 (synopsis "2D text pretty-printing library")
1208 (description
1209 "Boxes is a pretty-printing library for laying out text in two dimensions,
1210 using a simple box model.")
1211 (license license:bsd-3)))
1212
1213 (define-public ghc-byteable
1214 (package
1215 (name "ghc-byteable")
1216 (version "0.1.1")
1217 (source (origin
1218 (method url-fetch)
1219 (uri (string-append "https://hackage.haskell.org/package/"
1220 "byteable/byteable-" version ".tar.gz"))
1221 (sha256
1222 (base32
1223 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1224 (build-system haskell-build-system)
1225 (home-page "https://github.com/vincenthz/hs-byteable")
1226 (synopsis "Type class for sequence of bytes")
1227 (description
1228 "This package provides an abstract class to manipulate sequence of bytes.
1229 The use case of this class is abstracting manipulation of types that are just
1230 wrapping a bytestring with stronger and more meaniful name.")
1231 (license license:bsd-3)))
1232
1233 (define-public ghc-byteorder
1234 (package
1235 (name "ghc-byteorder")
1236 (version "1.0.4")
1237 (source
1238 (origin
1239 (method url-fetch)
1240 (uri (string-append
1241 "https://hackage.haskell.org/package/byteorder/byteorder-"
1242 version
1243 ".tar.gz"))
1244 (sha256
1245 (base32
1246 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1247 (build-system haskell-build-system)
1248 (home-page
1249 "http://community.haskell.org/~aslatter/code/byteorder")
1250 (synopsis
1251 "Exposes the native endianness of the system")
1252 (description
1253 "This package is for working with the native byte-ordering of the
1254 system.")
1255 (license license:bsd-3)))
1256
1257 (define-public ghc-bytes
1258 (package
1259 (name "ghc-bytes")
1260 (version "0.15.5")
1261 (source
1262 (origin
1263 (method url-fetch)
1264 (uri
1265 (string-append "https://hackage.haskell.org/package/bytes-"
1266 version "/bytes-"
1267 version ".tar.gz"))
1268 (file-name (string-append name "-" version ".tar.gz"))
1269 (sha256
1270 (base32
1271 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1272 (build-system haskell-build-system)
1273 (inputs `(("ghc-cereal" ,ghc-cereal)
1274 ("cabal-doctest" ,cabal-doctest)
1275 ("ghc-doctest" ,ghc-doctest)
1276 ("ghc-scientific" ,ghc-scientific)
1277 ("ghc-transformers-compat" ,ghc-transformers-compat)
1278 ("ghc-unordered-containers" ,ghc-unordered-containers)
1279 ("ghc-void" ,ghc-void)
1280 ("ghc-vector" ,ghc-vector)))
1281 (synopsis "Serialization between @code{binary} and @code{cereal}")
1282 (description "This package provides a simple compatibility shim that lets
1283 you work with both @code{binary} and @code{cereal} with one chunk of
1284 serialization code.")
1285 (home-page "https://hackage.haskell.org/package/bytes")
1286 (license license:bsd-3)))
1287
1288 (define-public ghc-bytestring-builder
1289 (package
1290 (name "ghc-bytestring-builder")
1291 (version "0.10.8.2.0")
1292 (source
1293 (origin
1294 (method url-fetch)
1295 (uri (string-append
1296 "https://hackage.haskell.org/package/bytestring-builder"
1297 "/bytestring-builder-" version ".tar.gz"))
1298 (sha256
1299 (base32
1300 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1301 (build-system haskell-build-system)
1302 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1303 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1304 (synopsis "The new bytestring builder, packaged outside of GHC")
1305 (description "This package provides the bytestring builder that is
1306 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1307 Compatibility package for older packages.")
1308 (license license:bsd-3)))
1309
1310 (define-public ghc-bytestring-handle
1311 (package
1312 (name "ghc-bytestring-handle")
1313 (version "0.1.0.6")
1314 (source
1315 (origin
1316 (method url-fetch)
1317 (uri (string-append
1318 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1319 version ".tar.gz"))
1320 (sha256
1321 (base32
1322 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1323 (build-system haskell-build-system)
1324 (arguments
1325 `(#:cabal-revision
1326 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1327 #:phases
1328 (modify-phases %standard-phases
1329 (add-before 'configure 'update-constraints
1330 (lambda _
1331 (substitute* "bytestring-handle.cabal"
1332 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1333 "QuickCheck >= 2.1.2 && < 2.14")))))))
1334 (inputs
1335 `(("ghc-hunit" ,ghc-hunit)
1336 ("ghc-quickcheck" ,ghc-quickcheck)
1337 ("ghc-test-framework" ,ghc-test-framework)
1338 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1339 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1340 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1341 (synopsis "ByteString-backed Handles")
1342 (description "ByteString-backed Handles") ; There is no description
1343 (license license:bsd-3)))
1344
1345 (define-public ghc-bytestring-lexing
1346 (package
1347 (name "ghc-bytestring-lexing")
1348 (version "0.5.0.2")
1349 (source
1350 (origin
1351 (method url-fetch)
1352 (uri (string-append "https://hackage.haskell.org/package/"
1353 "bytestring-lexing/bytestring-lexing-"
1354 version ".tar.gz"))
1355 (sha256
1356 (base32
1357 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1358 (build-system haskell-build-system)
1359 (home-page "http://code.haskell.org/~wren/")
1360 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1361 (description
1362 "This package provides tools to parse and produce literals efficiently
1363 from strict or lazy bytestrings.")
1364 (license license:bsd-2)))
1365
1366 (define-public ghc-bzlib-conduit
1367 (package
1368 (name "ghc-bzlib-conduit")
1369 (version "0.3.0.2")
1370 (source
1371 (origin
1372 (method url-fetch)
1373 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1374 "bzlib-conduit-" version ".tar.gz"))
1375 (sha256
1376 (base32
1377 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1378 (build-system haskell-build-system)
1379 (inputs
1380 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1381 ("ghc-conduit" ,ghc-conduit)
1382 ("ghc-data-default-class" ,ghc-data-default-class)
1383 ("ghc-resourcet" ,ghc-resourcet)))
1384 (native-inputs
1385 `(("ghc-hspec" ,ghc-hspec)
1386 ("ghc-random" ,ghc-random)))
1387 (home-page "https://github.com/snoyberg/bzlib-conduit")
1388 (synopsis "Streaming compression/decompression via conduits")
1389 (description
1390 "This package provides Haskell bindings to bzlib and Conduit support for
1391 streaming compression and decompression.")
1392 (license license:bsd-3)))
1393
1394 (define-public ghc-c2hs
1395 (package
1396 (name "ghc-c2hs")
1397 (version "0.28.6")
1398 (source
1399 (origin
1400 (method url-fetch)
1401 (uri (string-append
1402 "https://hackage.haskell.org/package/c2hs/c2hs-"
1403 version
1404 ".tar.gz"))
1405 (sha256
1406 (base32
1407 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1408 (build-system haskell-build-system)
1409 (inputs
1410 `(("ghc-language-c" ,ghc-language-c)
1411 ("ghc-dlist" ,ghc-dlist)))
1412 (native-inputs
1413 `(("ghc-test-framework" ,ghc-test-framework)
1414 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1415 ("ghc-hunit" ,ghc-hunit)
1416 ("ghc-shelly" ,ghc-shelly)))
1417 (arguments
1418 `(#:phases
1419 (modify-phases %standard-phases
1420 (add-before 'check 'set-cc
1421 ;; add a cc executable in the path, needed for some tests to pass
1422 (lambda* (#:key inputs #:allow-other-keys)
1423 (let ((gcc (assoc-ref inputs "gcc"))
1424 (tmpbin (tmpnam))
1425 (curpath (getenv "PATH")))
1426 (mkdir-p tmpbin)
1427 (symlink (which "gcc") (string-append tmpbin "/cc"))
1428 (setenv "PATH" (string-append tmpbin ":" curpath)))
1429 #t))
1430 (add-after 'check 'remove-cc
1431 ;; clean the tmp dir made in 'set-cc
1432 (lambda _
1433 (let* ((cc-path (which "cc"))
1434 (cc-dir (dirname cc-path)))
1435 (delete-file-recursively cc-dir)
1436 #t))))))
1437 (home-page "https://github.com/haskell/c2hs")
1438 (synopsis "Create Haskell bindings to C libraries")
1439 (description "C->Haskell assists in the development of Haskell bindings to
1440 C libraries. It extracts interface information from C header files and
1441 generates Haskell code with foreign imports and marshaling. Unlike writing
1442 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1443 imported with the correct Haskell types.")
1444 (license license:gpl2)))
1445
1446 (define-public ghc-cairo
1447 (package
1448 (name "ghc-cairo")
1449 (version "0.13.5.0")
1450 (source
1451 (origin
1452 (method url-fetch)
1453 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1454 "cairo-" version ".tar.gz"))
1455 (sha256
1456 (base32
1457 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1458 (build-system haskell-build-system)
1459 (arguments
1460 `(#:modules ((guix build haskell-build-system)
1461 (guix build utils)
1462 (ice-9 match)
1463 (srfi srfi-26))
1464 #:phases
1465 (modify-phases %standard-phases
1466 ;; FIXME: This is a copy of the standard configure phase with a tiny
1467 ;; difference: this package needs the -package-db flag to be passed
1468 ;; to "runhaskell" in addition to the "configure" action, because it
1469 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1470 ;; this option the Setup.hs file cannot be evaluated. The
1471 ;; haskell-build-system should be changed to pass "-package-db" to
1472 ;; "runhaskell" in any case.
1473 (replace 'configure
1474 (lambda* (#:key outputs inputs tests? (configure-flags '())
1475 #:allow-other-keys)
1476 (let* ((out (assoc-ref outputs "out"))
1477 (name-version (strip-store-file-name out))
1478 (input-dirs (match inputs
1479 (((_ . dir) ...)
1480 dir)
1481 (_ '())))
1482 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1483 (params (append `(,(string-append "--prefix=" out))
1484 `(,(string-append "--libdir=" out "/lib"))
1485 `(,(string-append "--bindir=" out "/bin"))
1486 `(,(string-append
1487 "--docdir=" out
1488 "/share/doc/" name-version))
1489 '("--libsubdir=$compiler/$pkg-$version")
1490 '("--package-db=../package.conf.d")
1491 '("--global")
1492 `(,@(map
1493 (cut string-append "--extra-include-dirs=" <>)
1494 (search-path-as-list '("include") input-dirs)))
1495 `(,@(map
1496 (cut string-append "--extra-lib-dirs=" <>)
1497 (search-path-as-list '("lib") input-dirs)))
1498 (if tests?
1499 '("--enable-tests")
1500 '())
1501 configure-flags)))
1502 (unsetenv "GHC_PACKAGE_PATH")
1503 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1504 "Setup.hs" "configure" params)
1505 (setenv "GHC_PACKAGE_PATH" ghc-path)
1506 #t))))))
1507 (inputs
1508 `(("ghc-utf8-string" ,ghc-utf8-string)
1509 ("cairo" ,cairo)))
1510 (native-inputs
1511 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1512 ("pkg-config" ,pkg-config)))
1513 (home-page "http://projects.haskell.org/gtk2hs/")
1514 (synopsis "Haskell bindings to the Cairo vector graphics library")
1515 (description
1516 "Cairo is a library to render high quality vector graphics. There exist
1517 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1518 documents, amongst others.")
1519 (license license:bsd-3)))
1520
1521 (define-public ghc-call-stack
1522 (package
1523 (name "ghc-call-stack")
1524 (version "0.1.0")
1525 (source
1526 (origin
1527 (method url-fetch)
1528 (uri (string-append "https://hackage.haskell.org/package/"
1529 "call-stack/call-stack-"
1530 version ".tar.gz"))
1531 (sha256
1532 (base32
1533 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1534 (build-system haskell-build-system)
1535 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1536 (home-page "https://github.com/sol/call-stack#readme")
1537 (synopsis "Use GHC call-stacks in a backward compatible way")
1538 (description "This package provides a compatibility layer for using GHC
1539 call stacks with different versions of the compiler.")
1540 (license license:expat)))
1541
1542 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1543 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1544 (define-public ghc-call-stack-boot
1545 (hidden-package
1546 (package
1547 (inherit ghc-call-stack)
1548 (arguments '(#:tests? #f))
1549 (inputs '()))))
1550
1551 (define-public ghc-case-insensitive
1552 (package
1553 (name "ghc-case-insensitive")
1554 (version "1.2.0.11")
1555 (outputs '("out" "static" "doc"))
1556 (source
1557 (origin
1558 (method url-fetch)
1559 (uri (string-append
1560 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1561 version
1562 ".tar.gz"))
1563 (sha256
1564 (base32
1565 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1566 (build-system haskell-build-system)
1567 ;; these inputs are necessary to use this library
1568 (inputs
1569 `(("ghc-hashable" ,ghc-hashable)))
1570 (arguments
1571 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1572 (home-page
1573 "https://github.com/basvandijk/case-insensitive")
1574 (synopsis "Case insensitive string comparison")
1575 (description
1576 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1577 constructor which can be parameterised by a string-like type like:
1578 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1579 the resulting type will be insensitive to cases.")
1580 (license license:bsd-3)))
1581
1582 (define-public ghc-cassava
1583 (package
1584 (name "ghc-cassava")
1585 (version "0.5.2.0")
1586 (source
1587 (origin
1588 (method url-fetch)
1589 (uri (string-append
1590 "https://hackage.haskell.org/package/cassava/cassava-"
1591 version
1592 ".tar.gz"))
1593 (sha256
1594 (base32
1595 "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk"))))
1596 (build-system haskell-build-system)
1597 (inputs
1598 `(("ghc-attoparsec" ,ghc-attoparsec)
1599 ("ghc-hashable" ,ghc-hashable)
1600 ("ghc-scientific" ,ghc-scientific)
1601 ("ghc-unordered-containers" ,ghc-unordered-containers)
1602 ("ghc-vector" ,ghc-vector)
1603 ("ghc-only" ,ghc-only)
1604 ("ghc-text-short" ,ghc-text-short)
1605 ("ghc-bytestring-builder" ,ghc-bytestring-builder)))
1606 (native-inputs
1607 `(("ghc-hunit" ,ghc-hunit)
1608 ("ghc-quickcheck" ,ghc-quickcheck)
1609 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
1610 ("ghc-test-framework" ,ghc-test-framework)
1611 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1612 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1613 (arguments
1614 `(#:cabal-revision
1615 ("1"
1616 "1ph8rf91z4nf1ryrh9s4gd1kq98jlgk2manwddkpch8k0n9xvfk4")
1617 #:configure-flags '("--flags=-bytestring--lt-0_10_4")))
1618 (home-page "https://github.com/haskell-hvr/cassava")
1619 (synopsis "CSV parsing and encoding library")
1620 (description
1621 "@code{cassava} is a library for parsing and encoding
1622 @url{https://tools.ietf.org/html/rfc4180, RFC 4180} compliant @url{https://
1623 en.wikipedia.org/wiki/Comma-separated_values, comma-separated values (CSV)}
1624 data, which is a textual line-oriented format commonly used for exchanging
1625 tabular data.
1626
1627 @code{cassava}'s API includes support for:
1628
1629 @itemize @bullet
1630
1631 @item
1632 Index-based record-conversion
1633 @item
1634 Name-based record-conversion
1635 @item
1636 Typeclass directed conversion of fields and records
1637 @item
1638 Built-in field-conversion instances for standard types
1639 @item
1640 Customizable record-conversion instance derivation via GHC generics
1641 @item
1642 Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring}
1643 builders (see @url{https://hackage.haskell.org/package/cassava-0.5.2.0/docs/
1644 Data-Csv-Builder.html, Data.Csv.Builder})
1645 @item
1646 Incremental decoding and encoding API (see @url{https://hackage.haskell.org/
1647 package/cassava-0.5.2.0/docs/Data-Csv-Incremental.html, Data.Csv.Incremental})
1648 @item
1649 Streaming API for constant-space decoding (see @url{https://hackage.haskell.org/
1650 package/cassava-0.5.2.0/docs/Data-Csv-Streaming.html, Data.Csv.Streaming})
1651 @end itemize
1652
1653 Moreover, this library is designed to be easy to use; for instance, here's a
1654 very simple example of encoding CSV data:
1655
1656 @verbatim
1657 >>> Data.Csv.encode [(\"John\",27),(\"Jane\",28)]
1658 \"John,27\r\nJane,28\r\n\"
1659 @end verbatim
1660 ")
1661 (license license:bsd-3)))
1662
1663 (define-public ghc-cassava-megaparsec
1664 (package
1665 (name "ghc-cassava-megaparsec")
1666 (version "2.0.1")
1667 (source
1668 (origin
1669 (method url-fetch)
1670 (uri (string-append
1671 "https://hackage.haskell.org/package/cassava-megaparsec/"
1672 "cassava-megaparsec-"
1673 version
1674 ".tar.gz"))
1675 (sha256
1676 (base32
1677 "0q4skw98nzy6icmgpwqvgw0c5pqcgi25rf7nmwh2pksvv94pi3p3"))))
1678 (build-system haskell-build-system)
1679 (inputs
1680 `(("ghc-cassava" ,ghc-cassava)
1681 ("ghc-megaparsec" ,ghc-megaparsec)
1682 ("ghc-unordered-containers" ,ghc-unordered-containers)
1683 ("ghc-vector" ,ghc-vector)))
1684 (native-inputs
1685 `(("ghc-hspec" ,ghc-hspec)
1686 ("ghc-hspec-megaparsec" ,ghc-hspec-megaparsec)))
1687 (home-page "https://github.com/stackbuilders/cassava-megaparsec")
1688 (synopsis "Megaparsec parser for CSV files that plays nicely with Cassava")
1689 (description
1690 "Alternative parser for the Cassava package written with Megaparsec that
1691 provides for better error messages at the expense of some speed.")
1692 (license license:expat)))
1693
1694 (define-public ghc-cborg
1695 (package
1696 (name "ghc-cborg")
1697 (version "0.2.2.0")
1698 (source
1699 (origin
1700 (method url-fetch)
1701 (uri (string-append
1702 "mirror://hackage/package/cborg/cborg-"
1703 version
1704 ".tar.gz"))
1705 (sha256
1706 (base32
1707 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1708 (build-system haskell-build-system)
1709 (inputs
1710 `(("ghc-half" ,ghc-half)
1711 ("ghc-primitive" ,ghc-primitive)))
1712 (native-inputs
1713 `(("ghc-aeson" ,ghc-aeson)
1714 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1715 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1716 ("ghc-fail" ,ghc-fail)
1717 ("ghc-quickcheck" ,ghc-quickcheck)
1718 ("ghc-scientific" ,ghc-scientific)
1719 ("ghc-tasty" ,ghc-tasty)
1720 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1721 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1722 ("ghc-vector" ,ghc-vector)))
1723 (home-page "http://hackage.haskell.org/package/cborg")
1724 (synopsis "Concise Binary Object Representation")
1725 (description
1726 "This package (formerly binary-serialise-cbor) provides an
1727 efficient implementation of the Concise Binary Object
1728 Representation (CBOR), as specified by RFC 7049 at
1729 https://tools.ietf.org/html/rfc7049.
1730
1731 If you are looking for a library for serialisation of Haskell values, have a
1732 look at the @url{https://hackage.haskell.org/package/serialise} package, which
1733 is built upon this library.
1734
1735 An implementation of the standard bijection between CBOR and JSON is provided
1736 by the @url{https://hackage.haskell.org/package/cborg-json} package.
1737
1738 Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1739 command-line utility for working with CBOR data.")
1740 (license license:bsd-3)))
1741
1742 (define-public ghc-cborg-json
1743 (package
1744 (name "ghc-cborg-json")
1745 (version "0.2.2.0")
1746 (source
1747 (origin
1748 (method url-fetch)
1749 (uri (string-append
1750 "mirror://hackage/package/cborg-json/cborg-json-"
1751 version
1752 ".tar.gz"))
1753 (sha256
1754 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1755 (build-system haskell-build-system)
1756 (inputs
1757 `(("ghc-aeson" ,ghc-aeson)
1758 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1759 ("ghc-unordered-containers" ,ghc-unordered-containers)
1760 ("ghc-scientific" ,ghc-scientific)
1761 ("ghc-vector" ,ghc-vector)
1762 ("ghc-cborg" ,ghc-cborg)))
1763 (home-page "https://github.com/well-typed/cborg")
1764 (synopsis "A library for encoding JSON as CBOR")
1765 (description
1766 "This package implements the bijection between JSON and CBOR
1767 defined in the CBOR specification, RFC 7049.")
1768 (license license:bsd-3)))
1769
1770 (define-public ghc-cereal
1771 (package
1772 (name "ghc-cereal")
1773 (version "0.5.8.1")
1774 (source
1775 (origin
1776 (method url-fetch)
1777 (uri (string-append
1778 "https://hackage.haskell.org/package/cereal/cereal-"
1779 version
1780 ".tar.gz"))
1781 (sha256
1782 (base32
1783 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1784 (build-system haskell-build-system)
1785 (native-inputs
1786 `(("ghc-quickcheck" ,ghc-quickcheck)
1787 ("ghc-fail" ,ghc-fail)
1788 ("ghc-test-framework" ,ghc-test-framework)
1789 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1790 (home-page "https://hackage.haskell.org/package/cereal")
1791 (synopsis "Binary serialization library")
1792 (description "This package provides a binary serialization library,
1793 similar to @code{binary}, that introduces an @code{isolate} primitive for
1794 parser isolation, and labeled blocks for better error messages.")
1795 (license license:bsd-3)))
1796
1797 (define-public ghc-cereal-conduit
1798 (package
1799 (name "ghc-cereal-conduit")
1800 (version "0.8.0")
1801 (source
1802 (origin
1803 (method url-fetch)
1804 (uri (string-append "https://hackage.haskell.org/package/"
1805 "cereal-conduit/cereal-conduit-"
1806 version ".tar.gz"))
1807 (sha256
1808 (base32
1809 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1810 (build-system haskell-build-system)
1811 (inputs
1812 `(("ghc-conduit" ,ghc-conduit)
1813 ("ghc-resourcet" ,ghc-resourcet)
1814 ("ghc-cereal" ,ghc-cereal)))
1815 (native-inputs
1816 `(("ghc-hunit" ,ghc-hunit)))
1817 (home-page "https://github.com/snoyberg/conduit")
1818 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1819 (description
1820 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1821 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1822 (license license:bsd-3)))
1823
1824 (define-public ghc-cgi
1825 (package
1826 (name "ghc-cgi")
1827 (version "3001.4.0.0")
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
1832 "https://hackage.haskell.org/package/cgi/cgi-"
1833 version
1834 ".tar.gz"))
1835 (sha256
1836 (base32
1837 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1838 (build-system haskell-build-system)
1839 (inputs
1840 `(("ghc-exceptions" ,ghc-exceptions)
1841 ("ghc-multipart" ,ghc-multipart)
1842 ("ghc-network-uri" ,ghc-network-uri)
1843 ("ghc-network" ,ghc-network)))
1844 (native-inputs
1845 `(("ghc-doctest" ,ghc-doctest)
1846 ("ghc-quickcheck" ,ghc-quickcheck)))
1847 (home-page
1848 "https://github.com/cheecheeo/haskell-cgi")
1849 (synopsis "Library for writing CGI programs")
1850 (description
1851 "This is a Haskell library for writing CGI programs.")
1852 (license license:bsd-3)))
1853
1854 (define-public ghc-charset
1855 (package
1856 (name "ghc-charset")
1857 (version "0.3.7.1")
1858 (source
1859 (origin
1860 (method url-fetch)
1861 (uri (string-append
1862 "https://hackage.haskell.org/package/charset/charset-"
1863 version
1864 ".tar.gz"))
1865 (sha256
1866 (base32
1867 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1868 (build-system haskell-build-system)
1869 (arguments
1870 `(#:cabal-revision
1871 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1872 (inputs
1873 `(("ghc-semigroups" ,ghc-semigroups)
1874 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1875 (home-page "https://github.com/ekmett/charset")
1876 (synopsis "Fast unicode character sets for Haskell")
1877 (description "This package provides fast unicode character sets for
1878 Haskell, based on complemented PATRICIA tries.")
1879 (license license:bsd-3)))
1880
1881 (define-public ghc-chart
1882 (package
1883 (name "ghc-chart")
1884 (version "1.9.1")
1885 (source
1886 (origin
1887 (method url-fetch)
1888 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1889 "Chart-" version ".tar.gz"))
1890 (sha256
1891 (base32
1892 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1893 (build-system haskell-build-system)
1894 (inputs
1895 `(("ghc-old-locale" ,ghc-old-locale)
1896 ("ghc-lens" ,ghc-lens)
1897 ("ghc-colour" ,ghc-colour)
1898 ("ghc-data-default-class" ,ghc-data-default-class)
1899 ("ghc-operational" ,ghc-operational)
1900 ("ghc-vector" ,ghc-vector)))
1901 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1902 (synopsis "Library for generating 2D charts and plots")
1903 (description
1904 "This package provides a library for generating 2D charts and plots, with
1905 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1906 (license license:bsd-3)))
1907
1908 (define-public ghc-chart-cairo
1909 (package
1910 (name "ghc-chart-cairo")
1911 (version "1.9.1")
1912 (source
1913 (origin
1914 (method url-fetch)
1915 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1916 "Chart-cairo-" version ".tar.gz"))
1917 (sha256
1918 (base32
1919 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
1920 (build-system haskell-build-system)
1921 (inputs
1922 `(("ghc-old-locale" ,ghc-old-locale)
1923 ("ghc-cairo" ,ghc-cairo)
1924 ("ghc-colour" ,ghc-colour)
1925 ("ghc-data-default-class" ,ghc-data-default-class)
1926 ("ghc-operational" ,ghc-operational)
1927 ("ghc-lens" ,ghc-lens)
1928 ("ghc-chart" ,ghc-chart)))
1929 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1930 (synopsis "Cairo backend for Charts")
1931 (description "This package provides a Cairo vector graphics rendering
1932 backend for the Charts library.")
1933 (license license:bsd-3)))
1934
1935 (define-public ghc-chasingbottoms
1936 (package
1937 (name "ghc-chasingbottoms")
1938 (version "1.3.1.7")
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1943 "ChasingBottoms-" version ".tar.gz"))
1944 (sha256
1945 (base32
1946 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1947 (build-system haskell-build-system)
1948 (inputs
1949 `(("ghc-quickcheck" ,ghc-quickcheck)
1950 ("ghc-random" ,ghc-random)
1951 ("ghc-syb" ,ghc-syb)))
1952 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1953 (synopsis "Testing of partial and infinite values in Haskell")
1954 (description
1955 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1956 ;; rendered properly.
1957 "This is a library for testing code involving bottoms or infinite values.
1958 For the underlying theory and a larger example involving use of QuickCheck,
1959 see the article
1960 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1961 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1962 Partial and Infinite Values\"}.")
1963 (license license:expat)))
1964
1965 (define-public ghc-cheapskate
1966 (package
1967 (name "ghc-cheapskate")
1968 (version "0.1.1.1")
1969 (source
1970 (origin
1971 (method url-fetch)
1972 (uri (string-append
1973 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1974 version
1975 ".tar.gz"))
1976 (sha256
1977 (base32
1978 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1979 (build-system haskell-build-system)
1980 (inputs
1981 `(("ghc-blaze-html" ,ghc-blaze-html)
1982 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1983 ("ghc-data-default" ,ghc-data-default)
1984 ("ghc-syb" ,ghc-syb)
1985 ("ghc-uniplate" ,ghc-uniplate)))
1986 (home-page "https://github.com/jgm/cheapskate")
1987 (synopsis "Experimental markdown processor")
1988 (description "Cheapskate is an experimental Markdown processor in pure
1989 Haskell. It aims to process Markdown efficiently and in the most forgiving
1990 possible way. It is designed to deal with any input, including garbage, with
1991 linear performance. Output is sanitized by default for protection against
1992 cross-site scripting (@dfn{XSS}) attacks.")
1993 (license license:bsd-3)))
1994
1995 (define-public ghc-chell
1996 (package
1997 (name "ghc-chell")
1998 (version "0.5")
1999 (source
2000 (origin
2001 (method url-fetch)
2002 (uri (string-append
2003 "https://hackage.haskell.org/package/chell/chell-"
2004 version ".tar.gz"))
2005 (sha256
2006 (base32
2007 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
2008 (build-system haskell-build-system)
2009 (arguments
2010 `(#:cabal-revision
2011 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
2012 (inputs
2013 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
2014 ("ghc-patience" ,ghc-patience)
2015 ("ghc-random" ,ghc-random)
2016 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
2017 (home-page "https://john-millikin.com/software/chell/")
2018 (synopsis "Simple and intuitive library for automated testing")
2019 (description
2020 "Chell is a simple and intuitive library for automated testing.
2021 It natively supports assertion-based testing, and can use companion
2022 libraries such as @code{chell-quickcheck} to support more complex
2023 testing strategies.")
2024 (license license:expat)))
2025
2026 (define-public ghc-chell-quickcheck
2027 (package
2028 (name "ghc-chell-quickcheck")
2029 (version "0.2.5.2")
2030 (source
2031 (origin
2032 (method url-fetch)
2033 (uri (string-append
2034 "https://hackage.haskell.org/package/chell-quickcheck/"
2035 "chell-quickcheck-" version ".tar.gz"))
2036 (sha256
2037 (base32
2038 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
2039 (build-system haskell-build-system)
2040 (arguments
2041 `(#:phases
2042 (modify-phases %standard-phases
2043 (add-before 'configure 'update-constraints
2044 (lambda _
2045 (substitute* "chell-quickcheck.cabal"
2046 (("QuickCheck >= 2\\.3 && < 2\\.13")
2047 "QuickCheck >= 2.3 && < 2.14")))))))
2048 (inputs
2049 `(("ghc-chell" ,ghc-chell)
2050 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
2051 ("ghc-random" ,ghc-random)
2052 ("ghc-quickcheck" ,ghc-quickcheck)))
2053 (home-page "https://john-millikin.com/software/chell/")
2054 (synopsis "QuickCheck support for the Chell testing library")
2055 (description "More complex tests for @code{chell}.")
2056 (license license:expat)))
2057
2058 (define ghc-chell-quickcheck-bootstrap
2059 (package
2060 (name "ghc-chell-quickcheck-bootstrap")
2061 (version "0.2.5.2")
2062 (source
2063 (origin
2064 (method url-fetch)
2065 (uri (string-append
2066 "https://hackage.haskell.org/package/chell-quickcheck/"
2067 "chell-quickcheck-" version ".tar.gz"))
2068 (sha256
2069 (base32
2070 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
2071 (build-system haskell-build-system)
2072 (inputs
2073 `(("ghc-chell" ,ghc-chell)
2074 ("ghc-random" ,ghc-random)
2075 ("ghc-quickcheck" ,ghc-quickcheck)))
2076 (arguments
2077 `(#:tests? #f
2078 #:phases
2079 (modify-phases %standard-phases
2080 (add-before 'configure 'update-constraints
2081 (lambda _
2082 (substitute* "chell-quickcheck.cabal"
2083 (("QuickCheck >= 2\\.3 && < 2\\.13")
2084 "QuickCheck >= 2.3 && < 2.14")))))))
2085 (home-page "https://john-millikin.com/software/chell/")
2086 (synopsis "QuickCheck support for the Chell testing library")
2087 (description "More complex tests for @code{chell}.")
2088 (license license:expat)))
2089
2090 (define-public ghc-chunked-data
2091 (package
2092 (name "ghc-chunked-data")
2093 (version "0.3.1")
2094 (source
2095 (origin
2096 (method url-fetch)
2097 (uri (string-append "https://hackage.haskell.org/package/"
2098 "chunked-data-" version "/"
2099 "chunked-data-" version ".tar.gz"))
2100 (sha256
2101 (base32
2102 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
2103 (build-system haskell-build-system)
2104 (inputs `(("ghc-vector" ,ghc-vector)
2105 ("ghc-semigroups" ,ghc-semigroups)))
2106 (home-page "https://github.com/snoyberg/mono-traversable")
2107 (synopsis "Typeclasses for dealing with various chunked data
2108 representations for Haskell")
2109 (description "This Haskell package was originally present in
2110 classy-prelude.")
2111 (license license:expat)))
2112
2113 (define-public ghc-clock
2114 (package
2115 (name "ghc-clock")
2116 (version "0.8")
2117 (source
2118 (origin
2119 (method url-fetch)
2120 (uri (string-append
2121 "https://hackage.haskell.org/package/"
2122 "clock/"
2123 "clock-" version ".tar.gz"))
2124 (sha256
2125 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
2126 (build-system haskell-build-system)
2127 (inputs
2128 `(("ghc-tasty" ,ghc-tasty)
2129 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2130 (home-page "https://hackage.haskell.org/package/clock")
2131 (synopsis "High-resolution clock for Haskell")
2132 (description "A package for convenient access to high-resolution clock and
2133 timer functions of different operating systems via a unified API.")
2134 (license license:bsd-3)))
2135
2136 ;; This package builds `clock` without tests, since the tests rely on tasty
2137 ;; and tasty-quickcheck, which in turn require clock to build.
2138 (define-public ghc-clock-bootstrap
2139 (package
2140 (inherit ghc-clock)
2141 (name "ghc-clock-bootstrap")
2142 (arguments '(#:tests? #f))
2143 (inputs '())
2144 (properties '((hidden? #t)))))
2145
2146 (define-public ghc-cmark
2147 (package
2148 (name "ghc-cmark")
2149 (version "0.6")
2150 (source (origin
2151 (method url-fetch)
2152 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
2153 ;; See cbits/cmark_version.h.
2154 (uri (string-append "https://hackage.haskell.org/package/"
2155 "cmark/cmark-" version ".tar.gz"))
2156 (sha256
2157 (base32
2158 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
2159 (build-system haskell-build-system)
2160 (native-inputs
2161 `(("ghc-hunit" ,ghc-hunit)))
2162 (home-page "https://github.com/jgm/commonmark-hs")
2163 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2164 (description
2165 "This package provides Haskell bindings for
2166 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2167 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2168 sources, and does not require prior installation of the C library.")
2169 (license license:bsd-3)))
2170
2171 (define-public ghc-cmark-gfm
2172 (package
2173 (name "ghc-cmark-gfm")
2174 (version "0.2.0")
2175 (source
2176 (origin
2177 (method url-fetch)
2178 (uri (string-append "https://hackage.haskell.org/package/"
2179 "cmark-gfm/cmark-gfm-"
2180 version ".tar.gz"))
2181 (sha256
2182 (base32
2183 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
2184 (build-system haskell-build-system)
2185 (native-inputs
2186 `(("ghc-hunit" ,ghc-hunit)))
2187 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2188 (synopsis
2189 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2190 (description
2191 "This package provides Haskell bindings for libcmark-gfm, the reference
2192 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2193 It includes sources for libcmark-gfm and does not require prior installation
2194 of the C library.")
2195 (license license:bsd-3)))
2196
2197 (define-public ghc-cmdargs
2198 (package
2199 (name "ghc-cmdargs")
2200 (version "0.10.20")
2201 (source
2202 (origin
2203 (method url-fetch)
2204 (uri (string-append
2205 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2206 version ".tar.gz"))
2207 (sha256
2208 (base32
2209 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2210 (build-system haskell-build-system)
2211 (outputs '("out" "static" "doc"))
2212 (home-page
2213 "http://community.haskell.org/~ndm/cmdargs/")
2214 (synopsis "Command line argument processing")
2215 (description
2216 "This library provides an easy way to define command line parsers.")
2217 (license license:bsd-3)))
2218
2219 (define-public ghc-code-page
2220 (package
2221 (name "ghc-code-page")
2222 (version "0.2")
2223 (source
2224 (origin
2225 (method url-fetch)
2226 (uri (string-append
2227 "https://hackage.haskell.org/package/code-page/code-page-"
2228 version ".tar.gz"))
2229 (sha256
2230 (base32
2231 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
2232 (build-system haskell-build-system)
2233 (home-page "https://github.com/RyanGlScott/code-page")
2234 (synopsis "Windows code page library for Haskell")
2235 (description "A cross-platform library with functions for adjusting
2236 code pages on Windows. On all other operating systems, the library does
2237 nothing.")
2238 (license license:bsd-3)))
2239
2240 (define-public ghc-colour
2241 (package
2242 (name "ghc-colour")
2243 (version "2.3.5")
2244 (source
2245 (origin
2246 (method url-fetch)
2247 (uri (string-append
2248 "https://hackage.haskell.org/package/colour/colour-"
2249 version ".tar.gz"))
2250 (sha256
2251 (base32
2252 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
2253 (arguments
2254 ;; The tests for this package have the following dependency cycle:
2255 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2256 `(#:tests? #f))
2257 (build-system haskell-build-system)
2258 (home-page "https://wiki.haskell.org/Colour")
2259 (synopsis "Model for human colour perception")
2260 (description
2261 "This package provides a data type for colours and transparency.
2262 Colours can be blended and composed. Various colour spaces are
2263 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2264 (license license:expat)))
2265
2266 (define-public ghc-comonad
2267 (package
2268 (name "ghc-comonad")
2269 (version "5.0.5")
2270 (source
2271 (origin
2272 (method url-fetch)
2273 (uri (string-append
2274 "https://hackage.haskell.org/package/comonad/comonad-"
2275 version
2276 ".tar.gz"))
2277 (sha256
2278 (base32
2279 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
2280 (build-system haskell-build-system)
2281 (native-inputs
2282 `(("cabal-doctest" ,cabal-doctest)
2283 ("ghc-doctest" ,ghc-doctest)))
2284 (inputs
2285 `(("ghc-contravariant" ,ghc-contravariant)
2286 ("ghc-distributive" ,ghc-distributive)
2287 ("ghc-semigroups" ,ghc-semigroups)
2288 ("ghc-tagged" ,ghc-tagged)
2289 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2290 (home-page "https://github.com/ekmett/comonad/")
2291 (synopsis "Comonads for Haskell")
2292 (description "This library provides @code{Comonad}s for Haskell.")
2293 (license license:bsd-3)))
2294
2295 (define-public ghc-concatenative
2296 (package
2297 (name "ghc-concatenative")
2298 (version "1.0.1")
2299 (source (origin
2300 (method url-fetch)
2301 (uri (string-append
2302 "https://hackage.haskell.org/package/concatenative/concatenative-"
2303 version ".tar.gz"))
2304 (sha256
2305 (base32
2306 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2307 (build-system haskell-build-system)
2308 (home-page
2309 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2310 (synopsis "Library for postfix control flow")
2311 (description
2312 "Concatenative gives Haskell Factor-style combinators and arrows for
2313 postfix notation. For more information on stack based languages, see
2314 @uref{https://concatenative.org}.")
2315 (license license:bsd-3)))
2316
2317 (define-public ghc-concurrent-extra
2318 (package
2319 (name "ghc-concurrent-extra")
2320 (version "0.7.0.12")
2321 (source
2322 (origin
2323 (method url-fetch)
2324 (uri (string-append "https://hackage.haskell.org/package/"
2325 "concurrent-extra/concurrent-extra-"
2326 version ".tar.gz"))
2327 (sha256
2328 (base32
2329 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2330 (build-system haskell-build-system)
2331 (arguments
2332 ;; XXX: The ReadWriteLock 'stressTest' fails.
2333 `(#:tests? #f))
2334 (inputs
2335 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2336 (native-inputs
2337 `(("ghc-async" ,ghc-async)
2338 ("ghc-hunit" ,ghc-hunit)
2339 ("ghc-random" ,ghc-random)
2340 ("ghc-test-framework" ,ghc-test-framework)
2341 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2342 (home-page "https://github.com/basvandijk/concurrent-extra")
2343 (synopsis "Extra concurrency primitives")
2344 (description "This Haskell library offers (among other things) the
2345 following selection of synchronisation primitives:
2346
2347 @itemize
2348 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2349 @item @code{Event}: Wake multiple threads by signalling an event.
2350 @item @code{Lock}: Enforce exclusive access to a resource. Also known
2351 as a binary semaphore or mutex. The package additionally provides an
2352 alternative that works in the STM monad.
2353 @item @code{RLock}: A lock which can be acquired multiple times by the
2354 same thread. Also known as a reentrant mutex.
2355 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2356 to protect shared resources which may be concurrently read, but only
2357 sequentially written.
2358 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2359 @end itemize
2360
2361 Please consult the API documentation of the individual modules for more
2362 detailed information.
2363
2364 This package was inspired by the concurrency libraries of Java and
2365 Python.")
2366 (license license:bsd-3)))
2367
2368 (define-public ghc-concurrent-output
2369 (package
2370 (name "ghc-concurrent-output")
2371 (version "1.10.11")
2372 (source
2373 (origin
2374 (method url-fetch)
2375 (uri (string-append
2376 "mirror://hackage/package/concurrent-output/concurrent-output-"
2377 version
2378 ".tar.gz"))
2379 (sha256
2380 (base32
2381 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2382 (build-system haskell-build-system)
2383 (inputs
2384 `(("ghc-async" ,ghc-async)
2385 ("ghc-exceptions" ,ghc-exceptions)
2386 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2387 ("ghc-terminal-size" ,ghc-terminal-size)))
2388 (home-page
2389 "https://hackage.haskell.org/package/concurrent-output")
2390 (synopsis
2391 "Ungarble output from several threads or commands")
2392 (description
2393 "Lets multiple threads and external processes concurrently output to the
2394 console, without it getting all garbled up.
2395
2396 Built on top of that is a way of defining multiple output regions, which are
2397 automatically laid out on the screen and can be individually updated by
2398 concurrent threads. Can be used for progress displays etc.")
2399 (license license:bsd-2)))
2400
2401 (define-public ghc-conduit
2402 (package
2403 (name "ghc-conduit")
2404 (version "1.3.1.1")
2405 (source (origin
2406 (method url-fetch)
2407 (uri (string-append "https://hackage.haskell.org/package/"
2408 "conduit/conduit-" version ".tar.gz"))
2409 (sha256
2410 (base32
2411 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2412 (build-system haskell-build-system)
2413 (outputs '("out" "static" "doc"))
2414 (inputs
2415 `(("ghc-exceptions" ,ghc-exceptions)
2416 ("ghc-lifted-base" ,ghc-lifted-base)
2417 ("ghc-mono-traversable" ,ghc-mono-traversable)
2418 ("ghc-mmorph" ,ghc-mmorph)
2419 ("ghc-resourcet" ,ghc-resourcet)
2420 ("ghc-silently" ,ghc-silently)
2421 ("ghc-transformers-base" ,ghc-transformers-base)
2422 ("ghc-unliftio" ,ghc-unliftio)
2423 ("ghc-unliftio-core" ,ghc-unliftio-core)
2424 ("ghc-vector" ,ghc-vector)
2425 ("ghc-void" ,ghc-void)))
2426 (native-inputs
2427 `(("ghc-quickcheck" ,ghc-quickcheck)
2428 ("ghc-hspec" ,ghc-hspec)
2429 ("ghc-safe" ,ghc-safe)
2430 ("ghc-split" ,ghc-split)))
2431 (home-page "https://github.com/snoyberg/conduit")
2432 (synopsis "Streaming data library ")
2433 (description
2434 "The conduit package is a solution to the streaming data problem,
2435 allowing for production, transformation, and consumption of streams of data
2436 in constant memory. It is an alternative to lazy I/O which guarantees
2437 deterministic resource handling, and fits in the same general solution
2438 space as enumerator/iteratee and pipes.")
2439 (license license:expat)))
2440
2441 (define-public ghc-conduit-algorithms
2442 (package
2443 (name "ghc-conduit-algorithms")
2444 (version "0.0.11.0")
2445 (source
2446 (origin
2447 (method url-fetch)
2448 (uri (string-append "https://hackage.haskell.org/package/"
2449 "conduit-algorithms/conduit-algorithms-"
2450 version ".tar.gz"))
2451 (sha256
2452 (base32
2453 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2454 (build-system haskell-build-system)
2455 (inputs
2456 `(("ghc-async" ,ghc-async)
2457 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2458 ("ghc-conduit" ,ghc-conduit)
2459 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2460 ("ghc-conduit-extra" ,ghc-conduit-extra)
2461 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2462 ("ghc-exceptions" ,ghc-exceptions)
2463 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2464 ("ghc-monad-control" ,ghc-monad-control)
2465 ("ghc-pqueue" ,ghc-pqueue)
2466 ("ghc-resourcet" ,ghc-resourcet)
2467 ("ghc-stm-conduit" ,ghc-stm-conduit)
2468 ("ghc-streaming-commons" ,ghc-streaming-commons)
2469 ("ghc-unliftio-core" ,ghc-unliftio-core)
2470 ("ghc-vector" ,ghc-vector)))
2471 (native-inputs
2472 `(("ghc-hunit" ,ghc-hunit)
2473 ("ghc-test-framework" ,ghc-test-framework)
2474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2475 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2476 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2477 (synopsis "Conduit-based algorithms")
2478 (description
2479 "This package provides algorithms on @code{Conduits}, including higher
2480 level asynchronous processing and some other utilities.")
2481 (license license:expat)))
2482
2483 (define-public ghc-conduit-combinators
2484 (package
2485 (name "ghc-conduit-combinators")
2486 (version "1.3.0")
2487 (source
2488 (origin
2489 (method url-fetch)
2490 (uri (string-append "https://hackage.haskell.org/package/"
2491 "conduit-combinators-" version "/"
2492 "conduit-combinators-" version ".tar.gz"))
2493 (sha256
2494 (base32
2495 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2496 (build-system haskell-build-system)
2497 (inputs `(("ghc-conduit" ,ghc-conduit)
2498 ("ghc-conduit-extra" ,ghc-conduit-extra)
2499 ("ghc-transformers-base" ,ghc-transformers-base)
2500 ("ghc-primitive" ,ghc-primitive)
2501 ("ghc-vector" ,ghc-vector)
2502 ("ghc-void" ,ghc-void)
2503 ("ghc-mwc-random" ,ghc-mwc-random)
2504 ("ghc-unix-compat" ,ghc-unix-compat)
2505 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2506 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2507 ("ghc-resourcet" ,ghc-resourcet)
2508 ("ghc-monad-control" ,ghc-monad-control)
2509 ("ghc-chunked-data" ,ghc-chunked-data)
2510 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2511 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2512 ("ghc-silently" ,ghc-silently)
2513 ("ghc-safe" ,ghc-safe)
2514 ("ghc-quickcheck" ,ghc-quickcheck)))
2515 (home-page "https://github.com/snoyberg/mono-traversable")
2516 (synopsis "Commonly used conduit functions, for both chunked and
2517 unchunked data")
2518 (description "This Haskell package provides a replacement for Data.Conduit.List,
2519 as well as a convenient Conduit module.")
2520 (license license:expat)))
2521
2522 (define-public ghc-conduit-extra
2523 (package
2524 (name "ghc-conduit-extra")
2525 (version "1.3.4")
2526 (source
2527 (origin
2528 (method url-fetch)
2529 (uri (string-append "https://hackage.haskell.org/package/"
2530 "conduit-extra/conduit-extra-"
2531 version ".tar.gz"))
2532 (sha256
2533 (base32
2534 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2535 (build-system haskell-build-system)
2536 (inputs
2537 `(("ghc-conduit" ,ghc-conduit)
2538 ("ghc-exceptions" ,ghc-exceptions)
2539 ("ghc-monad-control" ,ghc-monad-control)
2540 ("ghc-transformers-base" ,ghc-transformers-base)
2541 ("ghc-typed-process" ,ghc-typed-process)
2542 ("ghc-async" ,ghc-async)
2543 ("ghc-attoparsec" ,ghc-attoparsec)
2544 ("ghc-blaze-builder" ,ghc-blaze-builder)
2545 ("ghc-network" ,ghc-network)
2546 ("ghc-primitive" ,ghc-primitive)
2547 ("ghc-resourcet" ,ghc-resourcet)
2548 ("ghc-streaming-commons" ,ghc-streaming-commons)
2549 ("ghc-hspec" ,ghc-hspec)
2550 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2551 ("ghc-quickcheck" ,ghc-quickcheck)))
2552 (native-inputs
2553 `(("hspec-discover" ,hspec-discover)))
2554 (home-page "https://github.com/snoyberg/conduit")
2555 (synopsis "Conduit adapters for common libraries")
2556 (description
2557 "The @code{conduit} package itself maintains relative small dependencies.
2558 The purpose of this package is to collect commonly used utility functions
2559 wrapping other library dependencies, without depending on heavier-weight
2560 dependencies. The basic idea is that this package should only depend on
2561 @code{haskell-platform} packages and @code{conduit}.")
2562 (license license:expat)))
2563
2564 (define-public ghc-conduit-zstd
2565 (package
2566 (name "ghc-conduit-zstd")
2567 (version "0.0.1.1")
2568 (source
2569 (origin
2570 (method url-fetch)
2571 (uri (string-append "https://hackage.haskell.org/package/"
2572 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2573 (sha256
2574 (base32
2575 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2576 (build-system haskell-build-system)
2577 (inputs
2578 `(("ghc-conduit" ,ghc-conduit)
2579 ("ghc-zstd" ,ghc-zstd)))
2580 (native-inputs
2581 `(("ghc-hunit" ,ghc-hunit)
2582 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2583 ("ghc-conduit-extra" ,ghc-conduit-extra)
2584 ("ghc-test-framework" ,ghc-test-framework)
2585 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2586 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2587 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2588 (synopsis "Conduit-based ZStd Compression")
2589 (description "Zstandard compression packaged as a conduit. This is
2590 a very thin wrapper around the
2591 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2592 interface}.")
2593 (license license:expat)))
2594
2595 (define-public ghc-config-ini
2596 (package
2597 (name "ghc-config-ini")
2598 (version "0.2.4.0")
2599 (source
2600 (origin
2601 (method url-fetch)
2602 (uri (string-append "https://hackage.haskell.org/package/"
2603 "config-ini/config-ini-" version ".tar.gz"))
2604 (sha256
2605 (base32 "0dfm4xb1sd713rcqzplzdgw68fyhj24i6lj8j3q8kldpmkl98lbf"))))
2606 (build-system haskell-build-system)
2607 (arguments
2608 ;; XXX The tests fail to compile: “The constructor ‘I1.Ini’ should have 2
2609 ;; arguments, but has been given 1”.
2610 `(#:tests? #f
2611 #:cabal-revision
2612 ("2" "0iwraaa0y1b3xdsg760j1wpylkqshky0k2djcg0k4s97lrwqpbcz")))
2613 (native-inputs
2614 `(("ghc-doctest" ,ghc-doctest)
2615 ("ghc-hedgehog" ,ghc-hedgehog)
2616 ("ghc-ini" ,ghc-ini)
2617 ("ghc-microlens" ,ghc-microlens)))
2618 (inputs
2619 `(("ghc-megaparsec" ,ghc-megaparsec)
2620 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2621 (home-page "https://github.com/aisamanra/config-ini")
2622 (synopsis "Monadic Haskell DSL for parsing simple INI configuration files")
2623 (description
2624 "The @code{config-ini} Haskell library exports some simple monadic
2625 functions to ease the parsing of @file{.ini}-style configuration files, and
2626 to write and update them in an efficient @i{diff-minimal} way. This means that
2627 if you parse a file, update a single field, and reserialize, that file should
2628 differ only in the field we changed and @emph{that's it}: field order, comments,
2629 and incidental whitespace will remain unchanged. The library aims to produce
2630 human-readable error messages when things go wrong.")
2631 (license license:bsd-3)))
2632
2633 (define-public ghc-configurator
2634 (package
2635 (name "ghc-configurator")
2636 (version "0.3.0.0")
2637 (source
2638 (origin
2639 (method url-fetch)
2640 (uri (string-append "https://hackage.haskell.org/package/"
2641 "configurator/configurator-"
2642 version ".tar.gz"))
2643 (sha256
2644 (base32
2645 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2646 (build-system haskell-build-system)
2647 (inputs
2648 `(("ghc-attoparsec" ,ghc-attoparsec)
2649 ("ghc-hashable" ,ghc-hashable)
2650 ("ghc-unix-compat" ,ghc-unix-compat)
2651 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2652 (native-inputs
2653 `(("ghc-hunit" ,ghc-hunit)
2654 ("ghc-test-framework" ,ghc-test-framework)
2655 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2656 (home-page "https://github.com/bos/configurator")
2657 (synopsis "Configuration management")
2658 (description
2659 "This package provides a configuration management library for programs
2660 and daemons. The features include:
2661
2662 @enumerate
2663 @item Automatic, dynamic reloading in response to modifications to
2664 configuration files.
2665 @item A simple, but flexible, configuration language, supporting several of
2666 the most commonly needed types of data, along with interpolation of strings
2667 from the configuration or the system environment (e.g. @code{$(HOME)}).
2668 @item Subscription-based notification of changes to configuration properties.
2669 @item An @code{import} directive allows the configuration of a complex
2670 application to be split across several smaller files, or common configuration
2671 data to be shared across several applications.
2672 @end enumerate\n")
2673 (license license:bsd-3)))
2674
2675 (define-public ghc-connection
2676 (package
2677 (name "ghc-connection")
2678 (version "0.3.1")
2679 (source (origin
2680 (method url-fetch)
2681 (uri (string-append "https://hackage.haskell.org/package/"
2682 "connection/connection-"
2683 version ".tar.gz"))
2684 (sha256
2685 (base32
2686 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2687 (build-system haskell-build-system)
2688 (inputs
2689 `(("ghc-byteable" ,ghc-byteable)
2690 ("ghc-data-default-class" ,ghc-data-default-class)
2691 ("ghc-network" ,ghc-network)
2692 ("ghc-tls" ,ghc-tls)
2693 ("ghc-socks" ,ghc-socks)
2694 ("ghc-x509" ,ghc-x509)
2695 ("ghc-x509-store" ,ghc-x509-store)
2696 ("ghc-x509-system" ,ghc-x509-system)
2697 ("ghc-x509-validation" ,ghc-x509-validation)))
2698 (home-page "https://github.com/vincenthz/hs-connection")
2699 (synopsis "Simple and easy network connections API")
2700 (description
2701 "This package provides a simple network library for all your connection
2702 needs. It provides a very simple API to create sockets to a destination with
2703 the choice of SSL/TLS, and SOCKS.")
2704 (license license:bsd-3)))
2705
2706 (define-public ghc-constraints
2707 (package
2708 (name "ghc-constraints")
2709 (version "0.10.1")
2710 (source
2711 (origin
2712 (method url-fetch)
2713 (uri (string-append
2714 "https://hackage.haskell.org/package/constraints/constraints-"
2715 version ".tar.gz"))
2716 (sha256
2717 (base32
2718 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2719 (build-system haskell-build-system)
2720 (inputs
2721 `(("ghc-hashable" ,ghc-hashable)
2722 ("ghc-semigroups" ,ghc-semigroups)
2723 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2724 (native-inputs
2725 `(("ghc-hspec" ,ghc-hspec)
2726 ("hspec-discover" ,hspec-discover)))
2727 (home-page "https://github.com/ekmett/constraints/")
2728 (synopsis "Constraint manipulation")
2729 (description
2730 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2731 They stopped crashing the compiler in GHC 7.6. This package provides
2732 a vocabulary for working with them.")
2733 (license license:bsd-3)))
2734
2735 (define-public ghc-contravariant
2736 (package
2737 (name "ghc-contravariant")
2738 (version "1.5.2")
2739 (source
2740 (origin
2741 (method url-fetch)
2742 (uri (string-append
2743 "https://hackage.haskell.org/package/contravariant/contravariant-"
2744 version
2745 ".tar.gz"))
2746 (sha256
2747 (base32
2748 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2749 (build-system haskell-build-system)
2750 (inputs
2751 `(("ghc-void" ,ghc-void)
2752 ("ghc-transformers-compat" ,ghc-transformers-compat)
2753 ("ghc-statevar" ,ghc-statevar)
2754 ("ghc-semigroups" ,ghc-semigroups)))
2755 (home-page
2756 "https://github.com/ekmett/contravariant/")
2757 (synopsis "Contravariant functors")
2758 (description "Contravariant functors for Haskell.")
2759 (license license:bsd-3)))
2760
2761 (define-public ghc-contravariant-extras
2762 (package
2763 (name "ghc-contravariant-extras")
2764 (version "0.3.4")
2765 (source
2766 (origin
2767 (method url-fetch)
2768 (uri (string-append "https://hackage.haskell.org/package/"
2769 "contravariant-extras-" version "/"
2770 "contravariant-extras-" version ".tar.gz"))
2771 (sha256
2772 (base32
2773 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2774 (build-system haskell-build-system)
2775 (arguments
2776 `(#:cabal-revision
2777 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2778 (inputs
2779 `(("ghc-tuple-th" ,ghc-tuple-th)
2780 ("ghc-contravariant" ,ghc-contravariant)
2781 ("ghc-base-prelude" ,ghc-base-prelude)
2782 ("ghc-semigroups" ,ghc-semigroups)))
2783 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2784 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2785 (description "This Haskell package provides extras for the
2786 @code{ghc-contravariant} package.")
2787 (license license:expat)))
2788
2789 (define-public ghc-control-monad-free
2790 (package
2791 (name "ghc-control-monad-free")
2792 (version "0.6.2")
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append
2797 "https://hackage.haskell.org/"
2798 "package/control-monad-free/control-monad-free-"
2799 version
2800 ".tar.gz"))
2801 (sha256
2802 (base32
2803 "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33"))))
2804 (build-system haskell-build-system)
2805 (home-page "https://github.com/pepeiborra/control-monad-free")
2806 (synopsis "Free monads and monad transformers")
2807 (description
2808 "This package provides datatypes to construct Free monads, Free monad
2809 transformers, and useful instances. In addition it provides the constructs to
2810 avoid quadratic complexity of left associative bind, as explained in:
2811
2812 @itemize @bullet
2813 @item
2814 Janis Voigtlander, @cite{Asymptotic Improvement of Computations over
2815 Free Monads, MPC'08}
2816 @end itemize")
2817 (license license:public-domain)))
2818
2819 (define-public ghc-convertible
2820 (package
2821 (name "ghc-convertible")
2822 (version "1.1.1.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2827 "convertible-" version ".tar.gz"))
2828 (sha256
2829 (base32
2830 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2831 (build-system haskell-build-system)
2832 (inputs
2833 `(("ghc-old-time" ,ghc-old-time)
2834 ("ghc-old-locale" ,ghc-old-locale)))
2835 (home-page "https://hackage.haskell.org/package/convertible")
2836 (synopsis "Typeclasses and instances for converting between types")
2837 (description
2838 "This package provides a typeclass with a single function that is
2839 designed to help convert between different types: numeric values, dates and
2840 times, and the like. The conversions perform bounds checking and return a
2841 pure @code{Either} value. This means that you need not remember which specific
2842 function performs the conversion you desire.")
2843 (license license:bsd-3)))
2844
2845 (define-public ghc-csv
2846 (package
2847 (name "ghc-csv")
2848 (version "0.1.2")
2849 (source
2850 (origin
2851 (method url-fetch)
2852 (uri (string-append
2853 "https://hackage.haskell.org/package/csv/csv-"
2854 version
2855 ".tar.gz"))
2856 (sha256
2857 (base32
2858 "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c"))))
2859 (build-system haskell-build-system)
2860 (home-page "http://hackage.haskell.org/package/csv")
2861 (synopsis "CSV loader and dumper")
2862 (description
2863 "This library parses and dumps documents that are formatted according to
2864 RFC 4180, @cite{The common Format and MIME Type for Comma-Separated
2865 Values (CSV) Files}. This format is used, among many other things, as a
2866 lingua franca for spreadsheets, and for certain web services.")
2867 (license license:expat)))
2868
2869 (define-public ghc-data-accessor
2870 (package
2871 (name "ghc-data-accessor")
2872 (version "0.2.2.8")
2873 (source
2874 (origin
2875 (method url-fetch)
2876 (uri (string-append
2877 "mirror://hackage/package/data-accessor/data-accessor-"
2878 version ".tar.gz"))
2879 (sha256
2880 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2881 (build-system haskell-build-system)
2882 (home-page "https://wiki.haskell.org/Record_access")
2883 (synopsis
2884 "Haskell utilities for accessing and manipulating fields of records")
2885 (description "This package provides Haskell modules for accessing and
2886 manipulating fields of records.")
2887 (license license:bsd-3)))
2888
2889 (define-public ghc-data-accessor-transformers
2890 (package
2891 (name "ghc-data-accessor-transformers")
2892 (version "0.2.1.7")
2893 (source
2894 (origin
2895 (method url-fetch)
2896 (uri (string-append
2897 "mirror://hackage/package/data-accessor-transformers/"
2898 "data-accessor-transformers-" version ".tar.gz"))
2899 (sha256
2900 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2901 (build-system haskell-build-system)
2902 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2903 (home-page "https://wiki.haskell.org/Record_access")
2904 (synopsis "Use Accessor to access state in transformers State monad")
2905 (description "This package provides Haskell modules to allow use of
2906 Accessor to access state in transformers State monad.")
2907 (license license:bsd-3)))
2908
2909 (define-public ghc-data-clist
2910 (package
2911 (name "ghc-data-clist")
2912 (version "0.1.2.3")
2913 (source
2914 (origin
2915 (method url-fetch)
2916 (uri (string-append "https://hackage.haskell.org/package/data-clist/"
2917 "data-clist-" version ".tar.gz"))
2918 (sha256
2919 (base32 "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m"))))
2920 (build-system haskell-build-system)
2921 (native-inputs
2922 `(("ghc-quickcheck" ,ghc-quickcheck)))
2923 (arguments
2924 `(#:cabal-revision
2925 ("1" "13hg7a3d4ky8b765dl03ryxg28lq8iaqj5ky3j51r0i1i4f2a9hy")))
2926 (home-page "https://github.com/sw17ch/data-clist")
2927 (synopsis "Simple, functional, bidirectional circular list type")
2928 (description
2929 "This Haskell library provides a simple purely functional circular list,
2930 or ring, data type: a circular data structure such that if you continue rotating
2931 the ring in either direction, you'll eventually return to the element you first
2932 observed.")
2933 (license license:bsd-3)))
2934
2935 (define-public ghc-data-default
2936 (package
2937 (name "ghc-data-default")
2938 (version "0.7.1.1")
2939 (source
2940 (origin
2941 (method url-fetch)
2942 (uri (string-append
2943 "https://hackage.haskell.org/package/data-default/data-default-"
2944 version
2945 ".tar.gz"))
2946 (sha256
2947 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2948 (build-system haskell-build-system)
2949 (inputs
2950 `(("ghc-data-default-class"
2951 ,ghc-data-default-class)
2952 ("ghc-data-default-instances-base"
2953 ,ghc-data-default-instances-base)
2954 ("ghc-data-default-instances-containers"
2955 ,ghc-data-default-instances-containers)
2956 ("ghc-data-default-instances-dlist"
2957 ,ghc-data-default-instances-dlist)
2958 ("ghc-data-default-instances-old-locale"
2959 ,ghc-data-default-instances-old-locale)))
2960 (home-page "https://hackage.haskell.org/package/data-default")
2961 (synopsis "Types with default values")
2962 (description
2963 "This package defines a class for types with a default value, and
2964 provides instances for types from the base, containers, dlist and old-locale
2965 packages.")
2966 (license license:bsd-3)))
2967
2968 (define-public ghc-data-default-class
2969 (package
2970 (name "ghc-data-default-class")
2971 (version "0.1.2.0")
2972 (source
2973 (origin
2974 (method url-fetch)
2975 (uri (string-append
2976 "https://hackage.haskell.org/package/data-default-class/"
2977 "data-default-class-" version ".tar.gz"))
2978 (sha256
2979 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2980 (build-system haskell-build-system)
2981 (home-page "https://hackage.haskell.org/package/data-default-class")
2982 (synopsis "Types with default values")
2983 (description
2984 "This package defines a class for types with default values.")
2985 (license license:bsd-3)))
2986
2987 (define-public ghc-data-default-instances-base
2988 (package
2989 (name "ghc-data-default-instances-base")
2990 (version "0.1.0.1")
2991 (source
2992 (origin
2993 (method url-fetch)
2994 (uri (string-append
2995 "https://hackage.haskell.org/package/"
2996 "data-default-instances-base/"
2997 "data-default-instances-base-" version ".tar.gz"))
2998 (sha256
2999 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
3000 (build-system haskell-build-system)
3001 (inputs
3002 `(("ghc-data-default-class" ,ghc-data-default-class)))
3003 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
3004 (synopsis "Default instances for types in base")
3005 (description
3006 "This package provides default instances for types from the base
3007 package.")
3008 (license license:bsd-3)))
3009
3010 (define-public ghc-data-default-instances-containers
3011 (package
3012 (name "ghc-data-default-instances-containers")
3013 (version "0.0.1")
3014 (source
3015 (origin
3016 (method url-fetch)
3017 (uri (string-append
3018 "https://hackage.haskell.org/package/"
3019 "data-default-instances-containers/"
3020 "data-default-instances-containers-" version ".tar.gz"))
3021 (sha256
3022 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
3023 (build-system haskell-build-system)
3024 (inputs
3025 `(("ghc-data-default-class" ,ghc-data-default-class)))
3026 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
3027 (synopsis "Default instances for types in containers")
3028 (description "Provides default instances for types from the containers
3029 package.")
3030 (license license:bsd-3)))
3031
3032 (define-public ghc-data-default-instances-dlist
3033 (package
3034 (name "ghc-data-default-instances-dlist")
3035 (version "0.0.1")
3036 (source
3037 (origin
3038 (method url-fetch)
3039 (uri (string-append
3040 "https://hackage.haskell.org/package/"
3041 "data-default-instances-dlist/"
3042 "data-default-instances-dlist-" version ".tar.gz"))
3043 (sha256
3044 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
3045 (build-system haskell-build-system)
3046 (inputs
3047 `(("ghc-data-default-class" ,ghc-data-default-class)
3048 ("ghc-dlist" ,ghc-dlist)))
3049 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
3050 (synopsis "Default instances for types in dlist")
3051 (description "Provides default instances for types from the dlist
3052 package.")
3053 (license license:bsd-3)))
3054
3055 (define-public ghc-data-default-instances-old-locale
3056 (package
3057 (name "ghc-data-default-instances-old-locale")
3058 (version "0.0.1")
3059 (source
3060 (origin
3061 (method url-fetch)
3062 (uri (string-append
3063 "https://hackage.haskell.org/package/"
3064 "data-default-instances-old-locale/"
3065 "data-default-instances-old-locale-" version ".tar.gz"))
3066 (sha256
3067 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
3068 (build-system haskell-build-system)
3069 (inputs
3070 `(("ghc-data-default-class" ,ghc-data-default-class)
3071 ("ghc-old-locale" ,ghc-old-locale)))
3072 (home-page
3073 "https://hackage.haskell.org/package/data-default-instances-old-locale")
3074 (synopsis "Default instances for types in old-locale")
3075 (description "Provides Default instances for types from the old-locale
3076 package.")
3077 (license license:bsd-3)))
3078
3079 (define-public ghc-data-fix
3080 (package
3081 (name "ghc-data-fix")
3082 (version "0.2.0")
3083 (source
3084 (origin
3085 (method url-fetch)
3086 (uri (string-append
3087 "mirror://hackage/package/data-fix/"
3088 "data-fix-" version ".tar.gz"))
3089 (sha256
3090 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
3091 (build-system haskell-build-system)
3092 (home-page "https://github.com/spell-music/data-fix")
3093 (synopsis "Fixpoint data types")
3094 (description
3095 "Fixpoint types and recursion schemes. If you define your AST as
3096 fixpoint type, you get fold and unfold operations for free.
3097
3098 Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
3099 (license license:bsd-3)))
3100
3101 (define-public ghc-data-hash
3102 (package
3103 (name "ghc-data-hash")
3104 (version "0.2.0.1")
3105 (source
3106 (origin
3107 (method url-fetch)
3108 (uri (string-append "https://hackage.haskell.org/package/data-hash"
3109 "/data-hash-" version ".tar.gz"))
3110 (sha256
3111 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
3112 (build-system haskell-build-system)
3113 (inputs
3114 `(("ghc-quickcheck" ,ghc-quickcheck)
3115 ("ghc-test-framework" ,ghc-test-framework)
3116 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3117 (home-page "https://hackage.haskell.org/package/data-hash")
3118 (synopsis "Combinators for building fast hashing functions")
3119 (description
3120 "This package provides combinators for building fast hashing functions.
3121 It includes hashing functions for all basic Haskell98 types.")
3122 (license license:bsd-3)))
3123
3124 (define-public ghc-data-ordlist
3125 (package
3126 (name "ghc-data-ordlist")
3127 (version "0.4.7.0")
3128 (source
3129 (origin
3130 (method url-fetch)
3131 (uri (string-append
3132 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
3133 version ".tar.gz"))
3134 (sha256
3135 (base32
3136 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
3137 (build-system haskell-build-system)
3138 (home-page "https://hackage.haskell.org/package/data-ordlist")
3139 (synopsis "Set and bag operations on ordered lists")
3140 (description
3141 "This module provides set and multiset operations on ordered lists.")
3142 (license license:bsd-3)))
3143
3144 (define-public ghc-dbus
3145 (package
3146 (name "ghc-dbus")
3147 (version "1.2.7")
3148 (source
3149 (origin
3150 (method url-fetch)
3151 (uri
3152 (string-append
3153 "mirror://hackage/package/dbus/dbus-"
3154 version ".tar.gz"))
3155 (sha256
3156 (base32
3157 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
3158 (build-system haskell-build-system)
3159 (inputs
3160 `(("ghc-cereal" ,ghc-cereal)
3161 ("ghc-conduit" ,ghc-conduit)
3162 ("ghc-exceptions" ,ghc-exceptions)
3163 ("ghc-lens" ,ghc-lens)
3164 ("ghc-network" ,ghc-network)
3165 ("ghc-random" ,ghc-random)
3166 ("ghc-split" ,ghc-split)
3167 ("ghc-th-lift" ,ghc-th-lift)
3168 ("ghc-vector" ,ghc-vector)
3169 ("ghc-xml-conduit" ,ghc-xml-conduit)
3170 ("ghc-xml-types" ,ghc-xml-types)))
3171 (native-inputs
3172 `(("ghc-extra" ,ghc-extra)
3173 ("ghc-quickcheck" ,ghc-quickcheck)
3174 ("ghc-resourcet" ,ghc-resourcet)
3175 ("ghc-tasty" ,ghc-tasty)
3176 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3177 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3178 ;; FIXME - Some tests try to talk to network.
3179 (arguments `(#:tests? #f))
3180 (home-page "https://github.com/rblaze/haskell-dbus")
3181 (synopsis "Client library for the D-Bus IPC system")
3182 (description
3183 "D-Bus is a simple, message-based protocol for inter-process
3184 communication, which allows applications to interact with other parts
3185 of the machine and the user's session using remote procedure
3186 calls. D-Bus is a essential part of the modern Linux desktop, where
3187 it replaces earlier protocols such as CORBA and DCOP. This library
3188 is an implementation of the D-Bus protocol in Haskell. It can be used
3189 to add D-Bus support to Haskell applications, without the awkward
3190 interfaces common to foreign bindings.")
3191 (license license:asl2.0)))
3192
3193 (define-public ghc-decimal
3194 (package
3195 (name "ghc-decimal")
3196 (version "0.5.1")
3197 (source
3198 (origin
3199 (method url-fetch)
3200 (uri (string-append
3201 "https://hackage.haskell.org/package/Decimal/Decimal-"
3202 version
3203 ".tar.gz"))
3204 (sha256
3205 (base32
3206 "0k7kh05mr2f54w1lpgq1nln0h8k6s6h99dyp5jzsb9cfbb3aap2p"))))
3207 (build-system haskell-build-system)
3208 (native-inputs
3209 `(("ghc-hunit" ,ghc-hunit)
3210 ("ghc-quickcheck" ,ghc-quickcheck)
3211 ("ghc-test-framework" ,ghc-test-framework)
3212 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3213 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3214 (home-page "https://github.com/PaulJohnson/Haskell-Decimal")
3215 (synopsis "Decimal numbers with variable precision")
3216 (description
3217 "A decimal number has an integer mantissa and a negative exponent.
3218 The exponent can be interpreted as the number of decimal places in the
3219 value.")
3220 (license license:bsd-3)))
3221
3222 (define-public ghc-deepseq-generics
3223 (package
3224 (name "ghc-deepseq-generics")
3225 (version "0.2.0.0")
3226 (source (origin
3227 (method url-fetch)
3228 (uri (string-append "https://hackage.haskell.org/package/"
3229 "deepseq-generics/deepseq-generics-"
3230 version ".tar.gz"))
3231 (sha256
3232 (base32
3233 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
3234 (build-system haskell-build-system)
3235 (arguments
3236 `(#:cabal-revision
3237 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
3238 (native-inputs
3239 `(("ghc-hunit" ,ghc-hunit)
3240 ("ghc-test-framework" ,ghc-test-framework)
3241 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3242 (home-page "https://github.com/hvr/deepseq-generics")
3243 (synopsis "Generic RNF implementation")
3244 (description
3245 "This package provides a @code{GHC.Generics}-based
3246 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
3247 providing an @code{rnf} implementation.")
3248 (license license:bsd-3)))
3249
3250 (define-public ghc-dense-linear-algebra
3251 (package
3252 (name "ghc-dense-linear-algebra")
3253 (version "0.1.0.0")
3254 (source
3255 (origin
3256 (method url-fetch)
3257 (uri (string-append "https://hackage.haskell.org/package/"
3258 "dense-linear-algebra/dense-linear-algebra-"
3259 version ".tar.gz"))
3260 (sha256
3261 (base32
3262 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
3263 (build-system haskell-build-system)
3264 (inputs
3265 `(("ghc-math-functions" ,ghc-math-functions)
3266 ("ghc-primitive" ,ghc-primitive)
3267 ("ghc-vector" ,ghc-vector)
3268 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
3269 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
3270 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
3271 (native-inputs
3272 `(("ghc-hspec" ,ghc-hspec)
3273 ("ghc-quickcheck" ,ghc-quickcheck)))
3274 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
3275 (synopsis "Simple and incomplete implementation of linear algebra")
3276 (description "This library is simply a collection of linear-algebra
3277 related modules split from the statistics library.")
3278 (license license:bsd-2)))
3279
3280 (define-public ghc-descriptive
3281 (package
3282 (name "ghc-descriptive")
3283 (version "0.9.5")
3284 (source
3285 (origin
3286 (method url-fetch)
3287 (uri (string-append
3288 "https://hackage.haskell.org/package/descriptive/descriptive-"
3289 version
3290 ".tar.gz"))
3291 (sha256
3292 (base32
3293 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3294 (build-system haskell-build-system)
3295 (inputs
3296 `(("ghc-aeson" ,ghc-aeson)
3297 ("ghc-bifunctors" ,ghc-bifunctors)
3298 ("ghc-scientific" ,ghc-scientific)
3299 ("ghc-vector" ,ghc-vector)))
3300 (native-inputs
3301 `(("ghc-hunit" ,ghc-hunit)
3302 ("ghc-hspec" ,ghc-hspec)))
3303 (home-page
3304 "https://github.com/chrisdone/descriptive")
3305 (synopsis
3306 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3307 (description
3308 "This package provides datatypes and functions for creating consumers
3309 and parsers with useful semantics.")
3310 (license license:bsd-3)))
3311
3312 (define-public ghc-diagrams-core
3313 (package
3314 (name "ghc-diagrams-core")
3315 (version "1.4.2")
3316 (source
3317 (origin
3318 (method url-fetch)
3319 (uri (string-append "https://hackage.haskell.org/package/"
3320 "diagrams-core/diagrams-core-" version ".tar.gz"))
3321 (sha256
3322 (base32
3323 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3324 (build-system haskell-build-system)
3325 (inputs
3326 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3327 ("ghc-semigroups" ,ghc-semigroups)
3328 ("ghc-monoid-extras" ,ghc-monoid-extras)
3329 ("ghc-dual-tree" ,ghc-dual-tree)
3330 ("ghc-lens" ,ghc-lens)
3331 ("ghc-linear" ,ghc-linear)
3332 ("ghc-adjunctions" ,ghc-adjunctions)
3333 ("ghc-distributive" ,ghc-distributive)
3334 ("ghc-profunctors" ,ghc-profunctors)))
3335 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3336 (synopsis "Core libraries for diagrams embedded domain-specific language")
3337 (description "This package provides the core modules underlying
3338 diagrams, an embedded domain-specific language for compositional,
3339 declarative drawing.")
3340 (license license:bsd-3)))
3341
3342 (define-public ghc-diagrams-lib
3343 (package
3344 (name "ghc-diagrams-lib")
3345 (version "1.4.2.3")
3346 (source
3347 (origin
3348 (method url-fetch)
3349 (uri (string-append "https://hackage.haskell.org/package/"
3350 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3351 (sha256
3352 (base32
3353 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3354 (build-system haskell-build-system)
3355 (inputs
3356 `(("ghc-semigroups" ,ghc-semigroups)
3357 ("ghc-monoid-extras" ,ghc-monoid-extras)
3358 ("ghc-dual-tree" ,ghc-dual-tree)
3359 ("ghc-diagrams-core" ,ghc-diagrams-core)
3360 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3361 ("ghc-active" ,ghc-active)
3362 ("ghc-colour" ,ghc-colour)
3363 ("ghc-data-default-class" ,ghc-data-default-class)
3364 ("ghc-fingertree" ,ghc-fingertree)
3365 ("ghc-intervals" ,ghc-intervals)
3366 ("ghc-lens" ,ghc-lens)
3367 ("ghc-tagged" ,ghc-tagged)
3368 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3369 ("ghc-juicypixels" ,ghc-juicypixels)
3370 ("ghc-hashable" ,ghc-hashable)
3371 ("ghc-linear" ,ghc-linear)
3372 ("ghc-adjunctions" ,ghc-adjunctions)
3373 ("ghc-distributive" ,ghc-distributive)
3374 ("ghc-fsnotify" ,ghc-fsnotify)
3375 ("ghc-unordered-containers" ,ghc-unordered-containers)
3376 ("ghc-profunctors" ,ghc-profunctors)
3377 ("ghc-exceptions" ,ghc-exceptions)
3378 ("ghc-cereal" ,ghc-cereal)))
3379 (native-inputs
3380 `(("ghc-tasty" ,ghc-tasty)
3381 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3382 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3383 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3384 (arguments
3385 `(#:cabal-revision
3386 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3387 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3388 (synopsis "Embedded domain-specific language for declarative graphics")
3389 (description "Diagrams is a flexible, extensible embedded
3390 domain-specific language (EDSL) for creating graphics of many types.
3391 Graphics can be created in arbitrary vector spaces and rendered with
3392 multiple backends. This package provides a standard library of
3393 primitives and operations for creating diagrams.")
3394 (license license:bsd-3)))
3395
3396 (define-public ghc-diagrams-solve
3397 (package
3398 (name "ghc-diagrams-solve")
3399 (version "0.1.1")
3400 (source
3401 (origin
3402 (method url-fetch)
3403 (uri (string-append "https://hackage.haskell.org/package/"
3404 "diagrams-solve/diagrams-solve-"
3405 version ".tar.gz"))
3406 (sha256
3407 (base32
3408 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3409 (build-system haskell-build-system)
3410 (native-inputs
3411 `(("ghc-tasty" ,ghc-tasty)
3412 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3413 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3414 (arguments
3415 `(#:cabal-revision
3416 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3417 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3418 (synopsis "Pure Haskell solver routines used by diagrams")
3419 (description "This library provides Pure Haskell solver routines for
3420 use by the
3421 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3422 diagrams framework}. It currently includes routines for finding real
3423 roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3424 and cyclic tridiagonal linear systems.")
3425 (license license:bsd-3)))
3426
3427 (define-public ghc-diagrams-svg
3428 (package
3429 (name "ghc-diagrams-svg")
3430 (version "1.4.2")
3431 (source
3432 (origin
3433 (method url-fetch)
3434 (uri (string-append "https://hackage.haskell.org/package/"
3435 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3436 (sha256
3437 (base32
3438 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3439 (build-system haskell-build-system)
3440 (inputs
3441 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3442 ("ghc-colour" ,ghc-colour)
3443 ("ghc-diagrams-core" ,ghc-diagrams-core)
3444 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3445 ("ghc-monoid-extras" ,ghc-monoid-extras)
3446 ("ghc-svg-builder" ,ghc-svg-builder)
3447 ("ghc-juicypixels" ,ghc-juicypixels)
3448 ("ghc-split" ,ghc-split)
3449 ("ghc-lens" ,ghc-lens)
3450 ("ghc-hashable" ,ghc-hashable)
3451 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3452 ("ghc-semigroups" ,ghc-semigroups)))
3453 (arguments
3454 `(#:cabal-revision
3455 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3456 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3457 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3458 (description "This package provides a modular backend for rendering
3459 diagrams created with the diagrams embedded domain-specific
3460 language (EDSL) to Scalable Vector Graphics (SVG) files.")
3461 (license license:bsd-3)))
3462
3463 (define-public ghc-dictionary-sharing
3464 (package
3465 (name "ghc-dictionary-sharing")
3466 (version "0.1.0.0")
3467 (source
3468 (origin
3469 (method url-fetch)
3470 (uri (string-append "https://hackage.haskell.org/package/"
3471 "dictionary-sharing/dictionary-sharing-"
3472 version ".tar.gz"))
3473 (sha256
3474 (base32
3475 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3476 (build-system haskell-build-system)
3477 (arguments
3478 `(#:cabal-revision
3479 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3480 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3481 (synopsis "Sharing/memoization of class members")
3482 (description "This library provides tools for ensuring that class
3483 members are shared.")
3484 (license license:bsd-3)))
3485
3486 (define-public ghc-diff
3487 (package
3488 (name "ghc-diff")
3489 (version "0.3.4")
3490 (source (origin
3491 (method url-fetch)
3492 (uri (string-append "https://hackage.haskell.org/package/"
3493 "Diff/Diff-" version ".tar.gz"))
3494 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
3495 (sha256
3496 (base32
3497 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3498 (build-system haskell-build-system)
3499 (native-inputs
3500 `(("ghc-quickcheck" ,ghc-quickcheck)
3501 ("ghc-test-framework" ,ghc-test-framework)
3502 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3503 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3504 (synopsis "O(ND) diff algorithm in Haskell")
3505 (description
3506 "This package provides an implementation of the standard diff algorithm,
3507 and utilities for pretty printing.")
3508 (license license:bsd-3)))
3509
3510 (define-public ghc-disk-free-space
3511 (package
3512 (name "ghc-disk-free-space")
3513 (version "0.1.0.1")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri (string-append "https://hackage.haskell.org/package/"
3518 "disk-free-space/disk-free-space-"
3519 version ".tar.gz"))
3520 (sha256
3521 (base32
3522 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3523 (build-system haskell-build-system)
3524 (home-page "https://github.com/redneb/disk-free-space")
3525 (synopsis "Retrieve information about disk space usage")
3526 (description "A cross-platform library for retrieving information about
3527 disk space usage.")
3528 (license license:bsd-3)))
3529
3530 (define-public ghc-distributive
3531 (package
3532 (name "ghc-distributive")
3533 (version "0.6.2")
3534 (source
3535 (origin
3536 (method url-fetch)
3537 (uri (string-append
3538 "https://hackage.haskell.org/package/distributive/distributive-"
3539 version
3540 ".tar.gz"))
3541 (sha256
3542 (base32
3543 "1j93zkfffm6s16kgr0j0z87y5ds28rw0r2gyc5ncwcylvrqy4kl2"))))
3544 (build-system haskell-build-system)
3545 (inputs
3546 `(("ghc-tagged" ,ghc-tagged)
3547 ("ghc-base-orphans" ,ghc-base-orphans)
3548 ("ghc-transformers-compat" ,ghc-transformers-compat)
3549 ("ghc-semigroups" ,ghc-semigroups)
3550 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3551 (native-inputs
3552 `(("cabal-doctest" ,cabal-doctest)
3553 ("ghc-doctest" ,ghc-doctest)
3554 ("ghc-hspec" ,ghc-hspec)
3555 ("hspec-discover" ,hspec-discover)))
3556 (home-page "https://github.com/ekmett/distributive/")
3557 (synopsis "Distributive functors for Haskell")
3558 (description "This package provides distributive functors for Haskell.
3559 Dual to @code{Traversable}.")
3560 (license license:bsd-3)))
3561
3562 (define-public ghc-dlist
3563 (package
3564 (name "ghc-dlist")
3565 (version "0.8.0.7")
3566 (source
3567 (origin
3568 (method url-fetch)
3569 (uri (string-append
3570 "https://hackage.haskell.org/package/dlist/dlist-"
3571 version
3572 ".tar.gz"))
3573 (sha256
3574 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
3575 (build-system haskell-build-system)
3576 (inputs
3577 `(("ghc-quickcheck" ,ghc-quickcheck)))
3578 (home-page "https://github.com/spl/dlist")
3579 (synopsis "Difference lists")
3580 (description
3581 "Difference lists are a list-like type supporting O(1) append. This is
3582 particularly useful for efficient logging and pretty printing (e.g. with the
3583 Writer monad), where list append quickly becomes too expensive.")
3584 (license license:bsd-3)))
3585
3586 (define-public ghc-doctemplates
3587 (package
3588 (name "ghc-doctemplates")
3589 (version "0.2.2.1")
3590 (source
3591 (origin
3592 (method url-fetch)
3593 (uri (string-append "https://hackage.haskell.org/package/"
3594 "doctemplates/doctemplates-"
3595 version ".tar.gz"))
3596 (sha256
3597 (base32
3598 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3599 (build-system haskell-build-system)
3600 (inputs
3601 `(("ghc-aeson" ,ghc-aeson)
3602 ("ghc-blaze-markup" ,ghc-blaze-markup)
3603 ("ghc-blaze-html" ,ghc-blaze-html)
3604 ("ghc-vector" ,ghc-vector)
3605 ("ghc-unordered-containers" ,ghc-unordered-containers)
3606 ("ghc-scientific" ,ghc-scientific)))
3607 (native-inputs
3608 `(("ghc-hspec" ,ghc-hspec)))
3609 (home-page "https://github.com/jgm/doctemplates#readme")
3610 (synopsis "Pandoc-style document templates")
3611 (description
3612 "This package provides a simple text templating system used by pandoc.")
3613 (license license:bsd-3)))
3614
3615 (define-public ghc-doctest
3616 (package
3617 (name "ghc-doctest")
3618 (version "0.16.2")
3619 (source
3620 (origin
3621 (method url-fetch)
3622 (uri (string-append
3623 "https://hackage.haskell.org/package/doctest/doctest-"
3624 version
3625 ".tar.gz"))
3626 (sha256
3627 (base32
3628 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
3629 (build-system haskell-build-system)
3630 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3631 (inputs
3632 `(("ghc-base-compat" ,ghc-base-compat)
3633 ("ghc-code-page" ,ghc-code-page)
3634 ("ghc-paths" ,ghc-paths)
3635 ("ghc-syb" ,ghc-syb)))
3636 (native-inputs
3637 `(("ghc-hunit" ,ghc-hunit)
3638 ("ghc-quickcheck" ,ghc-quickcheck)
3639 ("ghc-hspec" ,ghc-hspec)
3640 ("ghc-mockery" ,ghc-mockery)
3641 ("ghc-setenv" ,ghc-setenv)
3642 ("ghc-silently" ,ghc-silently)
3643 ("ghc-stringbuilder" ,ghc-stringbuilder)))
3644 (home-page
3645 "https://github.com/sol/doctest#readme")
3646 (synopsis "Test interactive Haskell examples")
3647 (description "The doctest program checks examples in source code comments.
3648 It is modeled after doctest for Python, see
3649 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3650 (license license:expat)))
3651
3652 (define-public ghc-dotgen
3653 (package
3654 (name "ghc-dotgen")
3655 (version "0.4.2")
3656 (source
3657 (origin
3658 (method url-fetch)
3659 (uri (string-append
3660 "mirror://hackage/package/dotgen/dotgen-"
3661 version
3662 ".tar.gz"))
3663 (sha256
3664 (base32
3665 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3666 (build-system haskell-build-system)
3667 (home-page "https://github.com/ku-fpg/dotgen")
3668 (synopsis
3669 "Simple interface for building .dot graph files")
3670 (description
3671 "This package provides a simple interface for building .dot graph
3672 files, for input into the dot and graphviz tools. It includes a
3673 monadic interface for building graphs.")
3674 (license license:bsd-3)))
3675
3676 (define-public ghc-double-conversion
3677 (package
3678 (name "ghc-double-conversion")
3679 (version "2.0.2.0")
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append "https://hackage.haskell.org/package/"
3684 "double-conversion/double-conversion-"
3685 version ".tar.gz"))
3686 (sha256
3687 (base32
3688 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3689 (build-system haskell-build-system)
3690 (native-inputs
3691 `(("ghc-hunit" ,ghc-hunit)
3692 ("ghc-test-framework" ,ghc-test-framework)
3693 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3694 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3695 (home-page "https://github.com/bos/double-conversion")
3696 (synopsis "Fast conversion between double precision floating point and text")
3697 (description
3698 "This package provides a library that performs fast, accurate conversion
3699 between double precision floating point and text.")
3700 (license license:bsd-3)))
3701
3702 (define-public ghc-dual-tree
3703 (package
3704 (name "ghc-dual-tree")
3705 (version "0.2.2.1")
3706 (source
3707 (origin
3708 (method url-fetch)
3709 (uri (string-append "https://hackage.haskell.org/package/"
3710 "dual-tree/dual-tree-" version ".tar.gz"))
3711 (sha256
3712 (base32
3713 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3714 (build-system haskell-build-system)
3715 (inputs
3716 `(("ghc-semigroups" ,ghc-semigroups)
3717 ("ghc-newtype-generics" ,ghc-newtype-generics)
3718 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3719 (native-inputs
3720 `(("ghc-quickcheck" ,ghc-quickcheck)
3721 ("ghc-testing-feat" ,ghc-testing-feat)))
3722 (home-page "https://hackage.haskell.org/package/dual-tree")
3723 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3724 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3725 cached) and downwards-traveling (i.e. accumulating) monoidal
3726 annotations. This is used as the core data structure underlying the
3727 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3728 diagrams framework}, but potentially has other applications as well.")
3729 (license license:bsd-3)))
3730
3731 (define-public ghc-easy-file
3732 (package
3733 (name "ghc-easy-file")
3734 (version "0.2.2")
3735 (source
3736 (origin
3737 (method url-fetch)
3738 (uri (string-append
3739 "https://hackage.haskell.org/package/easy-file/easy-file-"
3740 version
3741 ".tar.gz"))
3742 (sha256
3743 (base32
3744 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3745 (build-system haskell-build-system)
3746 (home-page
3747 "https://github.com/kazu-yamamoto/easy-file")
3748 (synopsis "File handling library for Haskell")
3749 (description "This library provides file handling utilities for Haskell.")
3750 (license license:bsd-3)))
3751
3752 (define-public ghc-easyplot
3753 (package
3754 (name "ghc-easyplot")
3755 (version "1.0")
3756 (source
3757 (origin
3758 (method url-fetch)
3759 (uri (string-append
3760 "https://hackage.haskell.org/package/easyplot/easyplot-"
3761 version ".tar.gz"))
3762 (sha256
3763 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3764 (build-system haskell-build-system)
3765 (propagated-inputs `(("gnuplot" ,gnuplot)))
3766 (arguments
3767 `(#:phases (modify-phases %standard-phases
3768 (add-after 'unpack 'fix-setup-suffix
3769 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3770 (home-page "https://hub.darcs.net/scravy/easyplot")
3771 (synopsis "Haskell plotting library based on gnuplot")
3772 (description "This package provides a plotting library for
3773 Haskell, using gnuplot for rendering.")
3774 (license license:expat)))
3775
3776 (define-public ghc-echo
3777 (package
3778 (name "ghc-echo")
3779 (version "0.1.3")
3780 (source
3781 (origin
3782 (method url-fetch)
3783 (uri (string-append
3784 "https://hackage.haskell.org/package/echo/echo-"
3785 version ".tar.gz"))
3786 (sha256
3787 (base32
3788 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3789 (build-system haskell-build-system)
3790 (arguments
3791 `(#:cabal-revision
3792 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3793 (home-page "https://github.com/RyanGlScott/echo")
3794 (synopsis "Echo terminal input portably")
3795 (description "The @code{base} library exposes the @code{hGetEcho} and
3796 @code{hSetEcho} functions for querying and setting echo status, but
3797 unfortunately, neither function works with MinTTY consoles on Windows.
3798 This library provides an alternative interface which works with both
3799 MinTTY and other consoles.")
3800 (license license:bsd-3)))
3801
3802 (define-public ghc-edisonapi
3803 (package
3804 (name "ghc-edisonapi")
3805 (version "1.3.1")
3806 (source
3807 (origin
3808 (method url-fetch)
3809 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3810 "/EdisonAPI-" version ".tar.gz"))
3811 (sha256
3812 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3813 (build-system haskell-build-system)
3814 (home-page "http://rwd.rdockins.name/edison/home/")
3815 (synopsis "Library of efficient, purely-functional data structures (API)")
3816 (description
3817 "Edison is a library of purely functional data structures written by
3818 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3819 value EDiSon (Efficient Data Structures). Edison provides several families of
3820 abstractions, each with multiple implementations. The main abstractions
3821 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3822 Collections such as sets, bags and heaps; and Associative Collections such as
3823 finite maps and priority queues where the priority and element are distinct.")
3824 (license license:expat)))
3825
3826 (define-public ghc-edisoncore
3827 (package
3828 (name "ghc-edisoncore")
3829 (version "1.3.2.1")
3830 (source
3831 (origin
3832 (method url-fetch)
3833 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3834 "/EdisonCore-" version ".tar.gz"))
3835 (sha256
3836 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3837 (build-system haskell-build-system)
3838 (inputs
3839 `(("ghc-quickcheck" ,ghc-quickcheck)
3840 ("ghc-edisonapi" ,ghc-edisonapi)))
3841 (home-page "http://rwd.rdockins.name/edison/home/")
3842 (synopsis "Library of efficient, purely-functional data structures")
3843 (description
3844 "This package provides the core Edison data structure implementations,
3845 including multiple sequence, set, bag, and finite map concrete implementations
3846 with various performance characteristics.")
3847 (license license:expat)))
3848
3849 (define-public ghc-edit-distance
3850 (package
3851 (name "ghc-edit-distance")
3852 (version "0.2.2.1")
3853 (source
3854 (origin
3855 (method url-fetch)
3856 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3857 "/edit-distance-" version ".tar.gz"))
3858 (sha256
3859 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3860 (build-system haskell-build-system)
3861 (arguments
3862 `(#:phases
3863 (modify-phases %standard-phases
3864 (add-before 'configure 'update-constraints
3865 (lambda _
3866 (substitute* "edit-distance.cabal"
3867 (("QuickCheck >= 2\\.4 && <2\\.9")
3868 "QuickCheck >= 2.4 && < 2.14")))))))
3869 (inputs
3870 `(("ghc-random" ,ghc-random)
3871 ("ghc-test-framework" ,ghc-test-framework)
3872 ("ghc-quickcheck" ,ghc-quickcheck)
3873 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3874 (home-page "https://github.com/phadej/edit-distance")
3875 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3876 (description
3877 "This package provides optimized functions to determine the edit
3878 distances for fuzzy matching, including Levenshtein and restricted
3879 Damerau-Levenshtein algorithms.")
3880 (license license:bsd-3)))
3881
3882 (define-public ghc-edit-distance-vector
3883 (package
3884 (name "ghc-edit-distance-vector")
3885 (version "1.0.0.4")
3886 (source
3887 (origin
3888 (method url-fetch)
3889 (uri (string-append "https://hackage.haskell.org/package/"
3890 "edit-distance-vector/edit-distance-vector-"
3891 version ".tar.gz"))
3892 (sha256
3893 (base32
3894 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3895 (build-system haskell-build-system)
3896 (inputs
3897 `(("ghc-vector" ,ghc-vector)))
3898 (native-inputs
3899 `(("ghc-quickcheck" ,ghc-quickcheck)
3900 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3901 (home-page "https://github.com/thsutton/edit-distance-vector")
3902 (synopsis "Calculate edit distances and edit scripts between vectors")
3903 (description "This package provides implementation of the
3904 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3905 script and cost between two sequences. The implementation in this
3906 package is specialised to sequences represented with @code{Data.Vector}
3907 but is otherwise agnostic to:
3908 @itemize
3909 @item The type of values in the vectors;
3910 @item The type representing edit operations; and
3911 @item The type representing the cost of operations.
3912 @end itemize")
3913 (license license:bsd-3)) )
3914
3915 (define-public ghc-either
3916 (package
3917 (name "ghc-either")
3918 (version "5.0.1.1")
3919 (source
3920 (origin
3921 (method url-fetch)
3922 (uri (string-append "https://hackage.haskell.org/package/"
3923 "either-" version "/"
3924 "either-" version ".tar.gz"))
3925 (sha256
3926 (base32
3927 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3928 (build-system haskell-build-system)
3929 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3930 ("ghc-exceptions" ,ghc-exceptions)
3931 ("ghc-free" ,ghc-free)
3932 ("ghc-monad-control" ,ghc-monad-control)
3933 ("ghc-manodrandom" ,ghc-monadrandom)
3934 ("ghc-mmorph" ,ghc-mmorph)
3935 ("ghc-profunctors" ,ghc-profunctors)
3936 ("ghc-semigroups" ,ghc-semigroups)
3937 ("ghc-semigroupoids" ,ghc-semigroupoids)
3938 ("ghc-transformers-base" ,ghc-transformers-base)))
3939 (native-inputs
3940 `(("ghc-quickcheck" ,ghc-quickcheck)
3941 ("ghc-test-framework" ,ghc-test-framework)
3942 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3943 (home-page "https://github.com/ekmett/either")
3944 (synopsis "Provides an either monad transformer for Haskell")
3945 (description "This Haskell package provides an either monad transformer.")
3946 (license license:bsd-3)))
3947
3948 (define-public ghc-email-validate
3949 (package
3950 (name "ghc-email-validate")
3951 (version "2.3.2.12")
3952 (source
3953 (origin
3954 (method url-fetch)
3955 (uri (string-append
3956 "https://hackage.haskell.org/package/"
3957 "email-validate/email-validate-"
3958 version
3959 ".tar.gz"))
3960 (sha256
3961 (base32
3962 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3963 (build-system haskell-build-system)
3964 (inputs
3965 `(("ghc-attoparsec" ,ghc-attoparsec)
3966 ("ghc-hspec" ,ghc-hspec)
3967 ("ghc-quickcheck" ,ghc-quickcheck)
3968 ("ghc-doctest" ,ghc-doctest)))
3969 (home-page
3970 "https://github.com/Porges/email-validate-hs")
3971 (synopsis "Email address validator for Haskell")
3972 (description
3973 "This Haskell package provides a validator that can validate an email
3974 address string against RFC 5322.")
3975 (license license:bsd-3)))
3976
3977 (define-public ghc-enclosed-exceptions
3978 (package
3979 (name "ghc-enclosed-exceptions")
3980 (version "1.0.3")
3981 (source (origin
3982 (method url-fetch)
3983 (uri (string-append "https://hackage.haskell.org/package/"
3984 "enclosed-exceptions/enclosed-exceptions-"
3985 version ".tar.gz"))
3986 (sha256
3987 (base32
3988 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3989 (build-system haskell-build-system)
3990 ;; FIXME: one of the tests blocks forever:
3991 ;; "thread blocked indefinitely in an MVar operation"
3992 (arguments '(#:tests? #f))
3993 (inputs
3994 `(("ghc-lifted-base" ,ghc-lifted-base)
3995 ("ghc-monad-control" ,ghc-monad-control)
3996 ("ghc-async" ,ghc-async)
3997 ("ghc-transformers-base" ,ghc-transformers-base)))
3998 (native-inputs
3999 `(("ghc-hspec" ,ghc-hspec)
4000 ("ghc-quickcheck" ,ghc-quickcheck)))
4001 (home-page "https://github.com/jcristovao/enclosed-exceptions")
4002 (synopsis "Catch all exceptions from within an enclosed computation")
4003 (description
4004 "This library implements a technique to catch all exceptions raised
4005 within an enclosed computation, while remaining responsive to (external)
4006 asynchronous exceptions.")
4007 (license license:expat)))
4008
4009 (define-public ghc-equivalence
4010 (package
4011 (name "ghc-equivalence")
4012 (version "0.3.5")
4013 (source
4014 (origin
4015 (method url-fetch)
4016 (uri (string-append "https://hackage.haskell.org/package/equivalence"
4017 "/equivalence-" version ".tar.gz"))
4018 (sha256
4019 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
4020 (build-system haskell-build-system)
4021 (inputs
4022 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
4023 ("ghc-transformers-compat" ,ghc-transformers-compat)
4024 ("ghc-fail" ,ghc-fail)
4025 ("ghc-quickcheck" ,ghc-quickcheck)))
4026 (home-page "https://github.com/pa-ba/equivalence")
4027 (synopsis "Maintaining an equivalence relation implemented as union-find")
4028 (description
4029 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
4030 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
4031 22(2), 1975) in order to maintain an equivalence relation. This
4032 implementation is a port of the @code{union-find} package using the @code{ST}
4033 monad transformer (instead of the IO monad).")
4034 (license license:bsd-3)))
4035
4036 (define-public ghc-erf
4037 (package
4038 (name "ghc-erf")
4039 (version "2.0.0.0")
4040 (source
4041 (origin
4042 (method url-fetch)
4043 (uri (string-append "https://hackage.haskell.org/package/"
4044 "erf-" version "/"
4045 "erf-" version ".tar.gz"))
4046 (sha256
4047 (base32
4048 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
4049 (build-system haskell-build-system)
4050 (home-page "https://hackage.haskell.org/package/erf")
4051 (synopsis "The error function, erf, and related functions for Haskell")
4052 (description "This Haskell library provides a type class for the
4053 error function, erf, and related functions. Instances for Float and
4054 Double.")
4055 (license license:bsd-3)))
4056
4057 (define-public ghc-errorcall-eq-instance
4058 (package
4059 (name "ghc-errorcall-eq-instance")
4060 (version "0.3.0")
4061 (source
4062 (origin
4063 (method url-fetch)
4064 (uri (string-append "https://hackage.haskell.org/package/"
4065 "errorcall-eq-instance/errorcall-eq-instance-"
4066 version ".tar.gz"))
4067 (sha256
4068 (base32
4069 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
4070 (build-system haskell-build-system)
4071 (inputs
4072 `(("ghc-base-orphans" ,ghc-base-orphans)))
4073 (native-inputs
4074 `(("ghc-quickcheck" ,ghc-quickcheck)
4075 ("ghc-hspec" ,ghc-hspec)
4076 ("hspec-discover" ,hspec-discover)))
4077 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
4078 (synopsis "Orphan Eq instance for ErrorCall")
4079 (description
4080 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
4081 This package provides an orphan instance.")
4082 (license license:expat)))
4083
4084 (define-public ghc-errors
4085 (package
4086 (name "ghc-errors")
4087 (version "2.3.0")
4088 (source
4089 (origin
4090 (method url-fetch)
4091 (uri (string-append "https://hackage.haskell.org/package/"
4092 "errors-" version "/"
4093 "errors-" version ".tar.gz"))
4094 (sha256
4095 (base32
4096 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
4097 (build-system haskell-build-system)
4098 (inputs
4099 `(("ghc-exceptions" ,ghc-exceptions)
4100 ("ghc-transformers-compat" ,ghc-transformers-compat)
4101 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
4102 ("ghc-safe" ,ghc-safe)))
4103 (home-page "https://github.com/gabriel439/haskell-errors-library")
4104 (synopsis "Error handling library for Haskell")
4105 (description "This library encourages an error-handling style that
4106 directly uses the type system, rather than out-of-band exceptions.")
4107 (license license:bsd-3)))
4108
4109 (define-public ghc-esqueleto
4110 (package
4111 (name "ghc-esqueleto")
4112 (version "3.3.1.1")
4113 (source
4114 (origin
4115 (method url-fetch)
4116 (uri (string-append "https://hackage.haskell.org/package/"
4117 "esqueleto/esqueleto-" version ".tar.gz"))
4118 (sha256
4119 (base32
4120 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
4121 (build-system haskell-build-system)
4122 (arguments
4123 `(#:haddock? #f ; Haddock reports an internal error.
4124 #:phases
4125 (modify-phases %standard-phases
4126 ;; This package normally runs tests for the MySQL, PostgreSQL, and
4127 ;; SQLite backends. Since we only have Haskell packages for
4128 ;; SQLite, we remove the other two test suites. FIXME: Add the
4129 ;; other backends and run all three test suites.
4130 (add-before 'configure 'remove-non-sqlite-test-suites
4131 (lambda _
4132 (use-modules (ice-9 rdelim))
4133 (with-atomic-file-replacement "esqueleto.cabal"
4134 (lambda (in out)
4135 (let loop ((line (read-line in 'concat)) (deleting? #f))
4136 (cond
4137 ((eof-object? line) #t)
4138 ((string-every char-set:whitespace line)
4139 (unless deleting? (display line out))
4140 (loop (read-line in 'concat) #f))
4141 ((member line '("test-suite mysql\n"
4142 "test-suite postgresql\n"))
4143 (loop (read-line in 'concat) #t))
4144 (else
4145 (unless deleting? (display line out))
4146 (loop (read-line in 'concat) deleting?)))))))))))
4147 (inputs
4148 `(("ghc-blaze-html" ,ghc-blaze-html)
4149 ("ghc-conduit" ,ghc-conduit)
4150 ("ghc-monad-logger" ,ghc-monad-logger)
4151 ("ghc-persistent" ,ghc-persistent)
4152 ("ghc-resourcet" ,ghc-resourcet)
4153 ("ghc-tagged" ,ghc-tagged)
4154 ("ghc-unliftio" ,ghc-unliftio)
4155 ("ghc-unordered-containers" ,ghc-unordered-containers)))
4156 (native-inputs
4157 `(("ghc-hspec" ,ghc-hspec)
4158 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
4159 ("ghc-persistent-template" ,ghc-persistent-template)))
4160 (home-page "https://github.com/bitemyapp/esqueleto")
4161 (synopsis "Type-safe embedded domain specific language for SQL queries")
4162 (description "This library provides a type-safe embedded domain specific
4163 language (EDSL) for SQL queries that works with SQL backends as provided by
4164 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
4165 to learn new concepts, just new syntax, and it's fairly easy to predict the
4166 generated SQL and optimize it for your backend.")
4167 (license license:bsd-3)))
4168
4169 (define-public ghc-exactprint
4170 (package
4171 (name "ghc-exactprint")
4172 (version "0.6.1")
4173 (source
4174 (origin
4175 (method url-fetch)
4176 (uri (string-append
4177 "https://hackage.haskell.org/package/"
4178 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
4179 (sha256
4180 (base32
4181 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
4182 (build-system haskell-build-system)
4183 (inputs
4184 `(("ghc-paths" ,ghc-paths)
4185 ("ghc-syb" ,ghc-syb)
4186 ("ghc-free" ,ghc-free)))
4187 (native-inputs
4188 `(("ghc-hunit" ,ghc-hunit)
4189 ("ghc-diff" ,ghc-diff)
4190 ("ghc-silently" ,ghc-silently)
4191 ("ghc-filemanip" ,ghc-filemanip)))
4192 (home-page
4193 "https://hackage.haskell.org/package/ghc-exactprint")
4194 (synopsis "ExactPrint for GHC")
4195 (description
4196 "Using the API Annotations available from GHC 7.10.2, this library
4197 provides a means to round-trip any code that can be compiled by GHC, currently
4198 excluding @file{.lhs} files.")
4199 (license license:bsd-3)))
4200
4201 (define-public ghc-exceptions
4202 (package
4203 (name "ghc-exceptions")
4204 (version "0.10.3")
4205 (source
4206 (origin
4207 (method url-fetch)
4208 (uri (string-append
4209 "https://hackage.haskell.org/package/exceptions/exceptions-"
4210 version
4211 ".tar.gz"))
4212 (sha256
4213 (base32
4214 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
4215 (build-system haskell-build-system)
4216 (native-inputs
4217 `(("ghc-quickcheck" ,ghc-quickcheck)
4218 ("ghc-test-framework" ,ghc-test-framework)
4219 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4220 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4221 (inputs
4222 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
4223 (home-page "https://github.com/ekmett/exceptions/")
4224 (synopsis "Extensible optionally-pure exceptions")
4225 (description "This library provides extensible optionally-pure exceptions
4226 for Haskell.")
4227 (license license:bsd-3)))
4228
4229 (define-public ghc-executable-path
4230 (package
4231 (name "ghc-executable-path")
4232 (version "0.0.3.1")
4233 (source (origin
4234 (method url-fetch)
4235 (uri (string-append "https://hackage.haskell.org/package/"
4236 "executable-path/executable-path-"
4237 version ".tar.gz"))
4238 (sha256
4239 (base32
4240 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
4241 (build-system haskell-build-system)
4242 (home-page "https://hackage.haskell.org/package/executable-path")
4243 (synopsis "Find out the full path of the executable")
4244 (description
4245 "The documentation of @code{System.Environment.getProgName} says that
4246 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
4247 instead, for maximum portability, we just return the leafname of the program
4248 as invoked.\" This library tries to provide the missing path.")
4249 (license license:public-domain)))
4250
4251 (define-public ghc-extensible-exceptions
4252 (package
4253 (name "ghc-extensible-exceptions")
4254 (version "0.1.1.4")
4255 (source
4256 (origin
4257 (method url-fetch)
4258 (uri (string-append "https://hackage.haskell.org/package/"
4259 "extensible-exceptions/extensible-exceptions-"
4260 version ".tar.gz"))
4261 (sha256
4262 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
4263 (build-system haskell-build-system)
4264 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
4265 (synopsis "Extensible exceptions for Haskell")
4266 (description
4267 "This package provides extensible exceptions for both new and old
4268 versions of GHC (i.e., < 6.10).")
4269 (license license:bsd-3)))
4270
4271 (define-public ghc-extra
4272 (package
4273 (name "ghc-extra")
4274 (version "1.6.21")
4275 (source
4276 (origin
4277 (method url-fetch)
4278 (uri (string-append
4279 "https://hackage.haskell.org/package/extra/extra-"
4280 version
4281 ".tar.gz"))
4282 (sha256
4283 (base32
4284 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
4285 (build-system haskell-build-system)
4286 (inputs
4287 `(("ghc-clock" ,ghc-clock)
4288 ("ghc-semigroups" ,ghc-semigroups)
4289 ("ghc-quickcheck" ,ghc-quickcheck)
4290 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
4291 (home-page "https://github.com/ndmitchell/extra")
4292 (synopsis "Extra Haskell functions")
4293 (description "This library provides extra functions for the standard
4294 Haskell libraries. Most functions are simple additions, filling out missing
4295 functionality. A few functions are available in later versions of GHC, but
4296 this package makes them available back to GHC 7.2.")
4297 (license license:bsd-3)))
4298
4299 (define-public ghc-fail
4300 (package
4301 (name "ghc-fail")
4302 (version "4.9.0.0")
4303 (source
4304 (origin
4305 (method url-fetch)
4306 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4307 version ".tar.gz"))
4308 (sha256
4309 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4310 (build-system haskell-build-system)
4311 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4312 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4313 (synopsis "Forward-compatible MonadFail class")
4314 (description
4315 "This package contains the @code{Control.Monad.Fail} module providing the
4316 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4317 class that became available in
4318 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4319 older @code{base} package versions. This package turns into an empty package
4320 when used with GHC versions which already provide the
4321 @code{Control.Monad.Fail} module.")
4322 (license license:bsd-3)))
4323
4324 (define-public ghc-fast-logger
4325 (package
4326 (name "ghc-fast-logger")
4327 (version "2.4.17")
4328 (source
4329 (origin
4330 (method url-fetch)
4331 (uri (string-append
4332 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4333 version
4334 ".tar.gz"))
4335 (sha256
4336 (base32
4337 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
4338 (build-system haskell-build-system)
4339 (inputs
4340 `(("ghc-auto-update" ,ghc-auto-update)
4341 ("ghc-easy-file" ,ghc-easy-file)
4342 ("ghc-unix-time" ,ghc-unix-time)
4343 ("ghc-unix-compat" ,ghc-unix-compat)))
4344 (native-inputs
4345 `(("hspec-discover" ,hspec-discover)
4346 ("ghc-hspec" ,ghc-hspec)))
4347 (home-page "https://hackage.haskell.org/package/fast-logger")
4348 (synopsis "Fast logging system")
4349 (description "This library provides a fast logging system for Haskell.")
4350 (license license:bsd-3)))
4351
4352 (define-public ghc-feed
4353 (package
4354 (name "ghc-feed")
4355 (version "1.2.0.1")
4356 (source
4357 (origin
4358 (method url-fetch)
4359 (uri (string-append "https://hackage.haskell.org/package/"
4360 "feed/feed-" version ".tar.gz"))
4361 (sha256
4362 (base32
4363 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
4364 (build-system haskell-build-system)
4365 (inputs
4366 `(("ghc-base-compat" ,ghc-base-compat)
4367 ("ghc-old-locale" ,ghc-old-locale)
4368 ("ghc-old-time" ,ghc-old-time)
4369 ("ghc-safe" ,ghc-safe)
4370 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4371 ("ghc-utf8-string" ,ghc-utf8-string)
4372 ("ghc-xml-conduit" ,ghc-xml-conduit)
4373 ("ghc-xml-types" ,ghc-xml-types)))
4374 (native-inputs
4375 `(("ghc-hunit" ,ghc-hunit)
4376 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
4377 ("ghc-test-framework" ,ghc-test-framework)
4378 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4379 (home-page "https://github.com/bergmark/feed")
4380 (synopsis "Haskell package for handling various syndication formats")
4381 (description "This Haskell package includes tools for generating and
4382 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4383 (license license:bsd-3)))
4384
4385 (define-public ghc-fgl
4386 (package
4387 (name "ghc-fgl")
4388 (version "5.7.0.1")
4389 (outputs '("out" "static" "doc"))
4390 (source
4391 (origin
4392 (method url-fetch)
4393 (uri (string-append
4394 "https://hackage.haskell.org/package/fgl/fgl-"
4395 version
4396 ".tar.gz"))
4397 (sha256
4398 (base32
4399 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
4400 (build-system haskell-build-system)
4401 (arguments
4402 `(#:phases
4403 (modify-phases %standard-phases
4404 (add-before 'configure 'update-constraints
4405 (lambda _
4406 (substitute* "fgl.cabal"
4407 (("QuickCheck >= 2\\.8 && < 2\\.13")
4408 "QuickCheck >= 2.8 && < 2.14")
4409 (("hspec >= 2\\.1 && < 2\\.7")
4410 "hspec >= 2.1 && < 2.8")))))))
4411 (inputs
4412 `(("ghc-hspec" ,ghc-hspec)
4413 ("ghc-quickcheck" ,ghc-quickcheck)))
4414 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4415 (synopsis
4416 "Martin Erwig's Functional Graph Library")
4417 (description "The functional graph library, FGL, is a collection of type
4418 and function definitions to address graph problems. The basis of the library
4419 is an inductive definition of graphs in the style of algebraic data types that
4420 encourages inductive, recursive definitions of graph algorithms.")
4421 (license license:bsd-3)))
4422
4423 (define-public ghc-fgl-arbitrary
4424 (package
4425 (name "ghc-fgl-arbitrary")
4426 (version "0.2.0.3")
4427 (source
4428 (origin
4429 (method url-fetch)
4430 (uri (string-append
4431 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4432 version ".tar.gz"))
4433 (sha256
4434 (base32
4435 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4436 (build-system haskell-build-system)
4437 (arguments
4438 `(#:phases
4439 (modify-phases %standard-phases
4440 (add-before 'configure 'update-constraints
4441 (lambda _
4442 (substitute* "fgl-arbitrary.cabal"
4443 (("QuickCheck >= 2\\.3 && < 2\\.10")
4444 "QuickCheck >= 2.3 && < 2.14")
4445 (("hspec >= 2\\.1 && < 2\\.5")
4446 "hspec >= 2.1 && < 2.8")))))))
4447 (inputs
4448 `(("ghc-fgl" ,ghc-fgl)
4449 ("ghc-quickcheck" ,ghc-quickcheck)
4450 ("ghc-hspec" ,ghc-hspec)))
4451 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4452 (synopsis "QuickCheck support for fgl")
4453 (description
4454 "Provides Arbitrary instances for fgl graphs to avoid adding a
4455 QuickCheck dependency for fgl whilst still making the instances
4456 available to others. Also available are non-fgl-specific functions
4457 for generating graph-like data structures.")
4458 (license license:bsd-3)))
4459
4460 (define-public ghc-file-embed
4461 (package
4462 (name "ghc-file-embed")
4463 (version "0.0.11")
4464 (source
4465 (origin
4466 (method url-fetch)
4467 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4468 "file-embed-" version ".tar.gz"))
4469 (sha256
4470 (base32
4471 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
4472 (build-system haskell-build-system)
4473 (home-page "https://github.com/snoyberg/file-embed")
4474 (synopsis "Use Template Haskell to embed file contents directly")
4475 (description
4476 "This package allows you to use Template Haskell to read a file or all
4477 the files in a directory, and turn them into @code{(path, bytestring)} pairs
4478 embedded in your Haskell code.")
4479 (license license:bsd-3)))
4480
4481 (define-public ghc-filemanip
4482 (package
4483 (name "ghc-filemanip")
4484 (version "0.3.6.3")
4485 (source (origin
4486 (method url-fetch)
4487 (uri (string-append "https://hackage.haskell.org/package/"
4488 "filemanip/filemanip-" version ".tar.gz"))
4489 (sha256
4490 (base32
4491 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4492 (build-system haskell-build-system)
4493 (inputs
4494 `(("ghc-unix-compat" ,ghc-unix-compat)))
4495 (home-page "https://github.com/bos/filemanip")
4496 (synopsis "File and directory manipulation for Haskell")
4497 (description
4498 "This package provides a Haskell library for working with files and
4499 directories. It includes code for pattern matching, finding files, modifying
4500 file contents, and more.")
4501 (license license:bsd-3)))
4502
4503 (define-public ghc-filepath-bytestring
4504 (package
4505 (name "ghc-filepath-bytestring")
4506 (version "1.4.2.1.6")
4507 (source
4508 (origin
4509 (method url-fetch)
4510 (uri (string-append
4511 "https://hackage.haskell.org/package/filepath-bytestring/"
4512 "filepath-bytestring-" version ".tar.gz"))
4513 (sha256
4514 (base32
4515 "11xrrzdkm5i96dazbz0gi1qp8nnj2lwbnxzwy7f4cnahskz4f4g7"))))
4516 (build-system haskell-build-system)
4517 (native-inputs
4518 `(("ghc-quickcheck" ,ghc-quickcheck)))
4519 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
4520 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4521 (description "This package provides a drop-in replacement for the standard
4522 @code{filepath} library, operating on @code{RawFilePath} values rather than
4523 @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4524 (license license:bsd-3)))
4525
4526 (define-public ghc-findbin
4527 (package
4528 (name "ghc-findbin")
4529 (version "0.0.5")
4530 (source
4531 (origin
4532 (method url-fetch)
4533 (uri (string-append
4534 "https://hackage.haskell.org/package/FindBin/FindBin-"
4535 version ".tar.gz"))
4536 (sha256
4537 (base32
4538 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4539 (build-system haskell-build-system)
4540 (home-page "https://github.com/audreyt/findbin")
4541 (synopsis "Get the absolute path of the running program")
4542 (description
4543 "This module locates the full directory of the running program, to allow
4544 the use of paths relative to it. FindBin supports invocation of Haskell
4545 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4546 an executable.")
4547 (license license:bsd-3)))
4548
4549 (define-public ghc-fingertree
4550 (package
4551 (name "ghc-fingertree")
4552 (version "0.1.4.2")
4553 (source
4554 (origin
4555 (method url-fetch)
4556 (uri (string-append
4557 "https://hackage.haskell.org/package/fingertree/fingertree-"
4558 version ".tar.gz"))
4559 (sha256
4560 (base32
4561 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
4562 (build-system haskell-build-system)
4563 (native-inputs
4564 `(("ghc-hunit" ,ghc-hunit)
4565 ("ghc-quickcheck" ,ghc-quickcheck)
4566 ("ghc-test-framework" ,ghc-test-framework)
4567 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4568 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4569 (home-page "https://hackage.haskell.org/package/fingertree")
4570 (synopsis "Generic finger-tree structure")
4571 (description "This library provides finger trees, a general sequence
4572 representation with arbitrary annotations, for use as a base for
4573 implementations of various collection types. It includes examples, as
4574 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4575 simple general-purpose data structure\".")
4576 (license license:bsd-3)))
4577
4578 (define-public ghc-finite-typelits
4579 (package
4580 (name "ghc-finite-typelits")
4581 (version "0.1.4.2")
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append "https://hackage.haskell.org/package/"
4586 "finite-typelits/"
4587 "finite-typelits-" version ".tar.gz"))
4588 (sha256
4589 (base32 "0iyp9fyd2ki9qcmk9infz9p6rjhsx9jrs3f5yz0yqs8vj5na81yj"))))
4590 (build-system haskell-build-system)
4591 (home-page "https://github.com/mniip/finite-typelits")
4592 (synopsis "Finitely many values, indexed by type-level naturals")
4593 (description
4594 "This package provides a Haskell type inhabited by finitely many values
4595 and indexed by type-level naturals.")
4596 (license license:bsd-3)))
4597
4598 (define-public ghc-fixed
4599 (package
4600 (name "ghc-fixed")
4601 (version "0.3")
4602 (source
4603 (origin
4604 (method url-fetch)
4605 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4606 version ".tar.gz"))
4607 (sha256
4608 (base32
4609 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4610 (build-system haskell-build-system)
4611 (home-page "https://github.com/ekmett/fixed")
4612 (synopsis "Signed 15.16 precision fixed point arithmetic")
4613 (description
4614 "This package provides functions for signed 15.16 precision fixed point
4615 arithmetic.")
4616 (license license:bsd-3)))
4617
4618 (define-public ghc-fmlist
4619 (package
4620 (name "ghc-fmlist")
4621 (version "0.9.3")
4622 (source
4623 (origin
4624 (method url-fetch)
4625 (uri
4626 (string-append
4627 "https://hackage.haskell.org/package/fmlist/fmlist-"
4628 version ".tar.gz"))
4629 (sha256
4630 (base32
4631 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
4632 (build-system haskell-build-system)
4633 (home-page "https://github.com/sjoerdvisscher/fmlist")
4634 (synopsis "FoldMap lists")
4635 (description "FoldMap lists are lists represented by their
4636 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4637 append, just like DLists, but other operations might have favorable
4638 performance characteristics as well. These wild claims are still
4639 completely unverified though.")
4640 (license license:bsd-3)))
4641
4642 (define-public ghc-foldl
4643 (package
4644 (name "ghc-foldl")
4645 (version "1.4.5")
4646 (source
4647 (origin
4648 (method url-fetch)
4649 (uri (string-append "https://hackage.haskell.org/package/"
4650 "foldl-" version "/"
4651 "foldl-" version ".tar.gz"))
4652 (sha256
4653 (base32
4654 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
4655 (build-system haskell-build-system)
4656 (outputs '("out" "static" "doc"))
4657 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4658 ("ghc-primitive" ,ghc-primitive)
4659 ("ghc-vector" ,ghc-vector)
4660 ("ghc-unordered-containers" ,ghc-unordered-containers)
4661 ("ghc-hashable" ,ghc-hashable)
4662 ("ghc-contravariant" ,ghc-contravariant)
4663 ("ghc-semigroups" ,ghc-semigroups)
4664 ("ghc-profunctors" ,ghc-profunctors)
4665 ("ghc-semigroupoids" ,ghc-semigroupoids)
4666 ("ghc-comonad" ,ghc-comonad)
4667 ("ghc-vector-builder" ,ghc-vector-builder)))
4668 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4669 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4670 (description "This Haskell library provides strict left folds that stream
4671 in constant memory, and you can combine folds using @code{Applicative} style
4672 to derive new folds. Derived folds still traverse the container just once
4673 and are often as efficient as hand-written folds.")
4674 (license license:bsd-3)))
4675
4676 (define-public ghc-foundation
4677 (package
4678 (name "ghc-foundation")
4679 (version "0.0.25")
4680 (source
4681 (origin
4682 (method url-fetch)
4683 (uri (string-append "https://hackage.haskell.org/package/"
4684 "foundation/foundation-" version ".tar.gz"))
4685 (sha256
4686 (base32
4687 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
4688 (build-system haskell-build-system)
4689 (arguments
4690 `(#:phases
4691 (modify-phases %standard-phases
4692 ;; This test is broken. For details, see
4693 ;; https://github.com/haskell-foundation/foundation/issues/530
4694 (add-after 'unpack 'patch-tests
4695 (lambda _
4696 (substitute* "tests/Test/Foundation/Number.hs"
4697 ((", testDividible proxy") ""))
4698 #t)))))
4699 (outputs '("out" "static" "doc"))
4700 (inputs `(("ghc-basement" ,ghc-basement)))
4701 (home-page "https://github.com/haskell-foundation/foundation")
4702 (synopsis "Alternative prelude with batteries and no dependencies")
4703 (description
4704 "This package provides a custom prelude with no dependencies apart from
4705 the base package.
4706
4707 Foundation has the following goals:
4708
4709 @enumerate
4710 @item provide a base like sets of modules that provide a consistent set of
4711 features and bugfixes across multiple versions of GHC (unlike base).
4712 @item provide a better and more efficient prelude than base's prelude.
4713 @item be self-sufficient: no external dependencies apart from base;
4714 @item provide better data-types: packed unicode string by default, arrays;
4715 @item Numerical classes that better represent mathematical things (no more
4716 all-in-one @code{Num});
4717 @item I/O system with less lazy IO.
4718 @end enumerate\n")
4719 (license license:bsd-3)))
4720
4721 (define-public ghc-free
4722 (package
4723 (name "ghc-free")
4724 (version "5.1.2")
4725 (source
4726 (origin
4727 (method url-fetch)
4728 (uri (string-append
4729 "https://hackage.haskell.org/package/free/free-"
4730 version
4731 ".tar.gz"))
4732 (sha256
4733 (base32
4734 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
4735 (build-system haskell-build-system)
4736 (outputs '("out" "static" "doc"))
4737 (inputs
4738 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4739 ("ghc-profunctors" ,ghc-profunctors)
4740 ("ghc-exceptions" ,ghc-exceptions)
4741 ("ghc-bifunctors" ,ghc-bifunctors)
4742 ("ghc-comonad" ,ghc-comonad)
4743 ("ghc-distributive" ,ghc-distributive)
4744 ("ghc-semigroupoids" ,ghc-semigroupoids)
4745 ("ghc-semigroups" ,ghc-semigroups)
4746 ("ghc-transformers-base" ,ghc-transformers-base)
4747 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4748 (home-page "https://github.com/ekmett/free/")
4749 (synopsis "Unrestricted monads for Haskell")
4750 (description "This library provides free monads, which are useful for many
4751 tree-like structures and domain specific languages. If @code{f} is a
4752 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4753 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4754 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4755 f} makes no constraining assumptions beyond those given by @code{f} and the
4756 definition of @code{Monad}.")
4757 (license license:bsd-3)))
4758
4759 (define-public ghc-fsnotify
4760 (package
4761 (name "ghc-fsnotify")
4762 (version "0.3.0.1")
4763 (source (origin
4764 (method url-fetch)
4765 (uri (string-append
4766 "https://hackage.haskell.org/package/fsnotify/"
4767 "fsnotify-" version ".tar.gz"))
4768 (sha256
4769 (base32
4770 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4771 (build-system haskell-build-system)
4772 (inputs
4773 `(("ghc-async" ,ghc-async)
4774 ("ghc-unix-compat" ,ghc-unix-compat)
4775 ("ghc-hinotify" ,ghc-hinotify)
4776 ("ghc-tasty" ,ghc-tasty)
4777 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4778 ("ghc-random" ,ghc-random)
4779 ("ghc-shelly" ,ghc-shelly)
4780 ("ghc-temporary" ,ghc-temporary)))
4781 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4782 (synopsis "Cross platform library for file change notification.")
4783 (description "Cross platform library for file creation, modification, and
4784 deletion notification. This library builds upon existing libraries for platform
4785 specific Windows, Mac, and Linux file system event notification.")
4786 (license license:bsd-3)))
4787
4788 (define-public ghc-generic-deriving
4789 (package
4790 (name "ghc-generic-deriving")
4791 (version "1.12.4")
4792 (source
4793 (origin
4794 (method url-fetch)
4795 (uri (string-append
4796 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4797 version
4798 ".tar.gz"))
4799 (sha256
4800 (base32
4801 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
4802 (build-system haskell-build-system)
4803 (outputs '("out" "static" "doc"))
4804 (inputs
4805 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4806 (native-inputs
4807 `(("ghc-hspec" ,ghc-hspec)
4808 ("hspec-discover" ,hspec-discover)))
4809 (home-page "https://hackage.haskell.org/package/generic-deriving")
4810 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4811 (description "This package provides functionality for generalising the
4812 deriving mechanism in Haskell to arbitrary classes.")
4813 (license license:bsd-3)))
4814
4815 (define-public ghc-generic-random
4816 (package
4817 (name "ghc-generic-random")
4818 (version "1.2.0.0")
4819 (source
4820 (origin
4821 (method url-fetch)
4822 (uri (string-append
4823 "https://hackage.haskell.org/package/generic-random/"
4824 "generic-random-" version ".tar.gz"))
4825 (sha256
4826 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4827 (build-system haskell-build-system)
4828 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4829 (native-inputs
4830 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4831 (arguments
4832 `(#:cabal-revision
4833 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4834 (home-page
4835 "https://github.com/lysxia/generic-random")
4836 (synopsis
4837 "Generic random generators for QuickCheck")
4838 (description
4839 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4840 to customize implementations.
4841
4842 Automating the arbitrary boilerplate also ensures that when a type changes to
4843 have more or fewer constructors, then the generator either fixes itself to
4844 generate that new case (when using the uniform distribution) or causes a
4845 compilation error so you remember to fix it (when using an explicit
4846 distribution).
4847
4848 This package also offers a simple (optional) strategy to ensure termination
4849 for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4850 at every recursive call; when it reaches zero, sample directly from a
4851 trivially terminating generator given explicitly (@code{genericArbitraryRec}
4852 and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4853 (license license:expat)))
4854
4855 (define-public ghc-generic-random-1.3.0.1
4856 (package
4857 (inherit ghc-generic-random)
4858 (version "1.3.0.1")
4859 (source
4860 (origin
4861 (method url-fetch)
4862 (uri (string-append
4863 "https://hackage.haskell.org/package/generic-random/"
4864 "generic-random-" version ".tar.gz"))
4865 (sha256
4866 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4867 (arguments '())))
4868
4869 (define-public ghc-generics-sop
4870 (package
4871 (name "ghc-generics-sop")
4872 (version "0.4.0.1")
4873 (source
4874 (origin
4875 (method url-fetch)
4876 (uri (string-append "https://hackage.haskell.org/package/"
4877 "generics-sop-" version "/"
4878 "generics-sop-" version ".tar.gz"))
4879 (sha256
4880 (base32
4881 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
4882 (build-system haskell-build-system)
4883 (outputs '("out" "static" "doc"))
4884 (inputs
4885 `(("ghc-sop-core" ,ghc-sop-core)
4886 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4887 (home-page "https://github.com/well-typed/generics-sop")
4888 (synopsis "Generic Programming using True Sums of Products for Haskell")
4889 (description "This Haskell package supports the definition of generic
4890 functions. Datatypes are viewed in a uniform, structured way: the choice
4891 between constructors is represented using an n-ary sum, and the arguments of
4892 each constructor are represented using an n-ary product.")
4893 (license license:bsd-3)))
4894
4895 (define-public ghc-geniplate-mirror
4896 (package
4897 (name "ghc-geniplate-mirror")
4898 (version "0.7.6")
4899 (source
4900 (origin
4901 (method url-fetch)
4902 (uri (string-append "https://hackage.haskell.org/package"
4903 "/geniplate-mirror"
4904 "/geniplate-mirror-" version ".tar.gz"))
4905 (sha256
4906 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4907 (build-system haskell-build-system)
4908 (arguments
4909 `(#:cabal-revision
4910 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
4911 (home-page "https://github.com/danr/geniplate")
4912 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4913 (description
4914 "Use Template Haskell to generate Uniplate-like functions. This is a
4915 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4916 geniplate} package, written by Lennart Augustsson.")
4917 (license license:bsd-3)))
4918
4919 (define-public ghc-genvalidity
4920 (package
4921 (name "ghc-genvalidity")
4922 (version "0.8.0.0")
4923 (source
4924 (origin
4925 (method url-fetch)
4926 (uri (string-append
4927 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4928 version
4929 ".tar.gz"))
4930 (sha256
4931 (base32
4932 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4933 (build-system haskell-build-system)
4934 (inputs
4935 `(("ghc-quickcheck" ,ghc-quickcheck)
4936 ("ghc-validity" ,ghc-validity)))
4937 (native-inputs
4938 `(("ghc-hspec" ,ghc-hspec)
4939 ("hspec-discover" ,hspec-discover)
4940 ("ghc-hspec-core" ,ghc-hspec-core)))
4941 (home-page
4942 "https://github.com/NorfairKing/validity")
4943 (synopsis
4944 "Testing utilities for the @code{validity} library")
4945 (description
4946 "This package provides testing utilities that are useful in conjunction
4947 with the @code{Validity} typeclass.")
4948 (license license:expat)))
4949
4950 (define-public ghc-genvalidity-property
4951 (package
4952 (name "ghc-genvalidity-property")
4953 (version "0.4.0.0")
4954 (source
4955 (origin
4956 (method url-fetch)
4957 (uri (string-append
4958 "https://hackage.haskell.org/package/"
4959 "genvalidity-property/genvalidity-property-"
4960 version
4961 ".tar.gz"))
4962 (sha256
4963 (base32
4964 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4965 (build-system haskell-build-system)
4966 (inputs
4967 `(("ghc-quickcheck" ,ghc-quickcheck)
4968 ("ghc-genvalidity" ,ghc-genvalidity)
4969 ("ghc-hspec" ,ghc-hspec)
4970 ("hspec-discover" ,hspec-discover)
4971 ("ghc-validity" ,ghc-validity)))
4972 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4973 (home-page
4974 "https://github.com/NorfairKing/validity")
4975 (synopsis
4976 "Standard properties for functions on @code{Validity} types")
4977 (description
4978 "This package supplements the @code{Validity} typeclass with standard
4979 properties for functions operating on them.")
4980 (license license:expat)))
4981
4982 (define-public ghc-getopt-generics
4983 (package
4984 (name "ghc-getopt-generics")
4985 (version "0.13.0.4")
4986 (source
4987 (origin
4988 (method url-fetch)
4989 (uri (string-append "https://hackage.haskell.org/package/"
4990 "getopt-generics/getopt-generics-"
4991 version ".tar.gz"))
4992 (sha256
4993 (base32
4994 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4995 (build-system haskell-build-system)
4996 (inputs
4997 `(("ghc-base-compat" ,ghc-base-compat)
4998 ("ghc-base-orphans" ,ghc-base-orphans)
4999 ("ghc-generics-sop" ,ghc-generics-sop)
5000 ("ghc-tagged" ,ghc-tagged)))
5001 (native-inputs
5002 `(("ghc-quickcheck" ,ghc-quickcheck)
5003 ("ghc-hspec" ,ghc-hspec)
5004 ("ghc-safe" ,ghc-safe)
5005 ("ghc-silently" ,ghc-silently)
5006 ("hspec-discover" ,hspec-discover)))
5007 (home-page "https://github.com/soenkehahn/getopt-generics")
5008 (synopsis "Create command line interfaces with ease")
5009 (description "This library provides tools to create command line
5010 interfaces with ease.")
5011 (license license:bsd-3)))
5012
5013 (define-public ghc-gitrev
5014 (package
5015 (name "ghc-gitrev")
5016 (version "1.3.1")
5017 (source
5018 (origin
5019 (method url-fetch)
5020 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
5021 version ".tar.gz"))
5022 (sha256
5023 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
5024 (build-system haskell-build-system)
5025 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
5026 (home-page "https://github.com/acfoltzer/gitrev")
5027 (synopsis "Compile git revision info into Haskell projects")
5028 (description
5029 "This package provides some handy Template Haskell splices for including
5030 the current git hash and branch in the code of your project. This is useful
5031 for including in panic messages, @command{--version} output, or diagnostic
5032 info for more informative bug reports.")
5033 (license license:bsd-3)))
5034
5035 (define-public ghc-glob
5036 (package
5037 (name "ghc-glob")
5038 (version "0.10.0")
5039 (source
5040 (origin
5041 (method url-fetch)
5042 (uri (string-append "https://hackage.haskell.org/package/"
5043 "Glob-" version "/"
5044 "Glob-" version ".tar.gz"))
5045 (sha256
5046 (base32
5047 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
5048 (build-system haskell-build-system)
5049 (inputs
5050 `(("ghc-dlist" ,ghc-dlist)
5051 ("ghc-semigroups" ,ghc-semigroups)
5052 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5053 (native-inputs
5054 `(("ghc-hunit" ,ghc-hunit)
5055 ("ghc-quickcheck" ,ghc-quickcheck)
5056 ("ghc-test-framework" ,ghc-test-framework)
5057 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5058 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5059 (home-page "http://iki.fi/matti.niemenmaa/glob/")
5060 (synopsis "Haskell library matching glob patterns against file paths")
5061 (description "This package provides a Haskell library for @dfn{globbing}:
5062 matching patterns against file paths.")
5063 (license license:bsd-3)))
5064
5065 (define-public ghc-gluraw
5066 (package
5067 (name "ghc-gluraw")
5068 (version "2.0.0.4")
5069 (source
5070 (origin
5071 (method url-fetch)
5072 (uri (string-append
5073 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
5074 version
5075 ".tar.gz"))
5076 (sha256
5077 (base32
5078 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
5079 (build-system haskell-build-system)
5080 (inputs
5081 `(("ghc-openglraw" ,ghc-openglraw)))
5082 (home-page "https://wiki.haskell.org/Opengl")
5083 (synopsis "Raw Haskell bindings GLU")
5084 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
5085 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
5086 basis for a nicer interface.")
5087 (license license:bsd-3)))
5088
5089 (define-public ghc-glut
5090 (package
5091 (name "ghc-glut")
5092 (version "2.7.0.15")
5093 (source
5094 (origin
5095 (method url-fetch)
5096 (uri (string-append
5097 "https://hackage.haskell.org/package/GLUT/GLUT-"
5098 version
5099 ".tar.gz"))
5100 (sha256
5101 (base32
5102 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
5103 (build-system haskell-build-system)
5104 (inputs
5105 `(("ghc-statevar" ,ghc-statevar)
5106 ("ghc-opengl" ,ghc-opengl)
5107 ("ghc-openglraw" ,ghc-openglraw)
5108 ("freeglut" ,freeglut)))
5109 (home-page "https://wiki.haskell.org/Opengl")
5110 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
5111 (description "This library provides Haskell bindings for the OpenGL
5112 Utility Toolkit, a window system-independent toolkit for writing OpenGL
5113 programs.")
5114 (license license:bsd-3)))
5115
5116 (define-public ghc-gnuplot
5117 (package
5118 (name "ghc-gnuplot")
5119 (version "0.5.6")
5120 (source
5121 (origin
5122 (method url-fetch)
5123 (uri (string-append
5124 "mirror://hackage/package/gnuplot/gnuplot-"
5125 version ".tar.gz"))
5126 (sha256
5127 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
5128 (build-system haskell-build-system)
5129 (inputs
5130 `(("ghc-temporary" ,ghc-temporary)
5131 ("ghc-utility-ht" ,ghc-utility-ht)
5132 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
5133 ("ghc-data-accessor" ,ghc-data-accessor)
5134 ("ghc-semigroups" ,ghc-semigroups)
5135 ("gnuplot" ,gnuplot)))
5136 (arguments
5137 `(#:phases
5138 (modify-phases %standard-phases
5139 (add-before 'configure 'fix-path-to-gnuplot
5140 (lambda* (#:key inputs #:allow-other-keys)
5141 (let ((gnuplot (assoc-ref inputs "gnuplot")))
5142 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
5143 (("(gnuplotName = ).*$" all cmd)
5144 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
5145 (home-page "https://wiki.haskell.org/Gnuplot")
5146 (synopsis "2D and 3D plots using gnuplot")
5147 (description "This package provides a Haskell module for creating 2D and
5148 3D plots using gnuplot.")
5149 (license license:bsd-3)))
5150
5151 (define-public ghc-graphviz
5152 (package
5153 (name "ghc-graphviz")
5154 (version "2999.20.0.3")
5155 (source (origin
5156 (method url-fetch)
5157 (uri (string-append "https://hackage.haskell.org/package/"
5158 "graphviz/graphviz-" version ".tar.gz"))
5159 (sha256
5160 (base32
5161 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
5162 (build-system haskell-build-system)
5163 (arguments
5164 `(#:phases
5165 (modify-phases %standard-phases
5166 (add-before 'configure 'update-constraints
5167 (lambda _
5168 (substitute* "graphviz.cabal"
5169 (("QuickCheck >= 2\\.3 && < 2\\.13")
5170 "QuickCheck >= 2.3 && < 2.14")
5171 (("hspec >= 2\\.1 && < 2\\.7")
5172 "hspec >= 2.1 && < 2.8")))))))
5173 (inputs
5174 `(("ghc-quickcheck" ,ghc-quickcheck)
5175 ("ghc-colour" ,ghc-colour)
5176 ("ghc-dlist" ,ghc-dlist)
5177 ("ghc-fgl" ,ghc-fgl)
5178 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
5179 ("ghc-polyparse" ,ghc-polyparse)
5180 ("ghc-temporary" ,ghc-temporary)
5181 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
5182 (native-inputs
5183 `(("ghc-hspec" ,ghc-hspec)
5184 ("graphviz" ,graphviz)
5185 ("hspec-discover" ,hspec-discover)))
5186 (home-page "https://hackage.haskell.org/package/graphviz")
5187 (synopsis "Bindings to Graphviz for graph visualisation")
5188 (description
5189 "This library provides bindings for the Dot language used by
5190 the @uref{https://graphviz.org/, Graphviz} suite of programs for
5191 visualising graphs, as well as functions to call those programs.
5192 Main features of the graphviz library include:
5193
5194 @enumerate
5195 @item Almost complete coverage of all Graphviz attributes and syntax
5196 @item Support for specifying clusters
5197 @item The ability to use a custom node type
5198 @item Functions for running a Graphviz layout tool with all specified output types
5199 @item Generate and parse Dot code with two options: strict and liberal
5200 @item Functions to convert FGL graphs and other graph-like data structures
5201 @item Round-trip support for passing an FGL graph through Graphviz to augment node
5202 and edge labels with positional information, etc.
5203 @end enumerate\n")
5204 (license license:bsd-3)))
5205
5206 (define-public ghc-groups
5207 (package
5208 (name "ghc-groups")
5209 (version "0.4.1.0")
5210 (source
5211 (origin
5212 (method url-fetch)
5213 (uri (string-append "https://hackage.haskell.org/package/"
5214 "groups/groups-" version ".tar.gz"))
5215 (sha256
5216 (base32
5217 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
5218 (build-system haskell-build-system)
5219 (home-page "https://hackage.haskell.org/package/groups")
5220 (synopsis "Haskell 98 groups")
5221 (description "This package provides Haskell 98 groups. A group is a
5222 monoid with invertibility.")
5223 (license license:bsd-3)))
5224
5225 (define-public ghc-gtk2hs-buildtools
5226 (package
5227 (name "ghc-gtk2hs-buildtools")
5228 (version "0.13.5.4")
5229 (source
5230 (origin
5231 (method url-fetch)
5232 (uri (string-append "https://hackage.haskell.org/package/"
5233 "gtk2hs-buildtools/gtk2hs-buildtools-"
5234 version ".tar.gz"))
5235 (sha256
5236 (base32
5237 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
5238 (build-system haskell-build-system)
5239 (inputs
5240 `(("ghc-random" ,ghc-random)
5241 ("ghc-hashtables" ,ghc-hashtables)))
5242 (native-inputs
5243 `(("ghc-alex" ,ghc-alex)
5244 ("ghc-happy" ,ghc-happy)))
5245 (home-page "http://projects.haskell.org/gtk2hs/")
5246 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
5247 (description
5248 "This package provides a set of helper programs necessary to build the
5249 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
5250 that is used to generate FFI declarations, a tool to build a type hierarchy
5251 that mirrors the C type hierarchy of GObjects found in glib, and a generator
5252 for signal declarations that are used to call back from C to Haskell. These
5253 tools are not needed to actually run Gtk2Hs programs.")
5254 (license license:gpl2)))
5255
5256 (define-public ghc-hackage-security
5257 (package
5258 (name "ghc-hackage-security")
5259 (version "0.5.3.0")
5260 (source
5261 (origin
5262 (method url-fetch)
5263 (uri (string-append "https://hackage.haskell.org/package/"
5264 "hackage-security/hackage-security-"
5265 version ".tar.gz"))
5266 (sha256
5267 (base32
5268 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
5269 (build-system haskell-build-system)
5270 (arguments
5271 `(#:cabal-revision
5272 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
5273 #:tests? #f)) ; Tests fail because of framework updates.
5274 (inputs
5275 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
5276 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5277 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
5278 ("ghc-ed25519" ,ghc-ed25519)
5279 ("ghc-network" ,ghc-network)
5280 ("ghc-network-uri" ,ghc-network-uri)
5281 ("ghc-tar" ,ghc-tar)
5282 ("ghc-zlib" ,ghc-zlib)))
5283 (native-inputs
5284 `(("ghc-network-uri" ,ghc-network-uri)
5285 ("ghc-quickcheck" ,ghc-quickcheck)
5286 ("ghc-tar" ,ghc-tar)
5287 ("ghc-tasty" ,ghc-tasty)
5288 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5289 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5290 ("ghc-temporary" ,ghc-temporary)
5291 ("ghc-zlib" ,ghc-zlib)))
5292 (home-page "https://github.com/haskell/hackage-security")
5293 (synopsis "Hackage security library")
5294 (description "This Hackage security library provides both server and
5295 client utilities for securing @uref{http://hackage.haskell.org/, the
5296 Hackage package server}. It is based on
5297 @uref{http://theupdateframework.com/, The Update Framework}, a set of
5298 recommendations developed by security researchers at various universities
5299 in the US as well as developers on the @uref{https://www.torproject.org/,
5300 Tor project}.")
5301 (license license:bsd-3)))
5302
5303 (define-public ghc-haddock
5304 (package
5305 (name "ghc-haddock")
5306 (version "2.22.0")
5307 (source
5308 (origin
5309 (method url-fetch)
5310 (uri (string-append
5311 "https://hackage.haskell.org/package/haddock/haddock-"
5312 version
5313 ".tar.gz"))
5314 (sha256
5315 (base32
5316 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
5317 (build-system haskell-build-system)
5318 (arguments
5319 `(#:phases
5320 (modify-phases %standard-phases
5321 ;; The release tarball for 2.22.0 is missing the test data for
5322 ;; the Hoogle test, causing it to fail. This is fixed in the
5323 ;; next release, but for now we disable it.
5324 (add-before 'configure 'remove-hoogle-test
5325 (lambda _
5326 (use-modules (ice-9 rdelim))
5327 (with-atomic-file-replacement "haddock.cabal"
5328 (lambda (in out)
5329 (let loop ((line (read-line in 'concat)) (deleting? #f))
5330 (cond
5331 ((eof-object? line) #t)
5332 ((string-every char-set:whitespace line)
5333 (unless deleting? (display line out))
5334 (loop (read-line in 'concat) #f))
5335 ((string=? line "test-suite hoogle-test\n")
5336 (loop (read-line in 'concat) #t))
5337 (else
5338 (unless deleting? (display line out))
5339 (loop (read-line in 'concat) deleting?))))))))
5340 (add-before 'check 'add-haddock-to-path
5341 (lambda _
5342 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5343 ":" (getenv "PATH")))
5344 #t)))))
5345 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5346 (native-inputs
5347 `(("ghc-haddock-test" ,ghc-haddock-test)
5348 ("ghc-hspec" ,ghc-hspec)))
5349 (home-page "https://www.haskell.org/haddock/")
5350 (synopsis
5351 "Documentation-generation tool for Haskell libraries")
5352 (description
5353 "Haddock is a documentation-generation tool for Haskell libraries.")
5354 (license license:bsd-3)))
5355
5356 (define-public ghc-haddock-api
5357 (package
5358 (name "ghc-haddock-api")
5359 (version "2.22.0")
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append
5364 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5365 version
5366 ".tar.gz"))
5367 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
5368 (sha256
5369 (base32
5370 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
5371 (build-system haskell-build-system)
5372 (arguments
5373 `(#:phases
5374 (modify-phases %standard-phases
5375 (add-before 'configure 'update-constraints
5376 (lambda _
5377 (substitute* "haddock-api.cabal"
5378 (("QuickCheck \\^>= 2\\.11")
5379 "QuickCheck ^>= 2.13")
5380 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5381 "hspec >= 2.4.4 && < 2.8")))))))
5382 (inputs
5383 `(("ghc-paths" ,ghc-paths)
5384 ("ghc-haddock-library" ,ghc-haddock-library)))
5385 (native-inputs
5386 `(("ghc-quickcheck" ,ghc-quickcheck)
5387 ("ghc-hspec" ,ghc-hspec)
5388 ("hspec-discover" ,hspec-discover)))
5389 (home-page "https://www.haskell.org/haddock/")
5390 (synopsis "API for documentation-generation tool Haddock")
5391 (description "This package provides an API to Haddock, the
5392 documentation-generation tool for Haskell libraries.")
5393 (license license:bsd-3)))
5394
5395 (define-public ghc-haddock-library
5396 (package
5397 (name "ghc-haddock-library")
5398 (version "1.7.0")
5399 (source
5400 (origin
5401 (method url-fetch)
5402 (uri (string-append
5403 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5404 version
5405 ".tar.gz"))
5406 (sha256
5407 (base32
5408 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
5409 (build-system haskell-build-system)
5410 (arguments
5411 `(#:phases
5412 (modify-phases %standard-phases
5413 ;; Since there is no revised Cabal file upstream, we have to
5414 ;; patch it manually.
5415 (add-before 'configure 'relax-test-suite-dependencies
5416 (lambda _
5417 (substitute* "haddock-library.cabal"
5418 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5419 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
5420 #t)))))
5421 (native-inputs
5422 `(("ghc-base-compat" ,ghc-base-compat)
5423 ("ghc-hspec" ,ghc-hspec)
5424 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5425 ("ghc-quickcheck" ,ghc-quickcheck)
5426 ("ghc-tree-diff" ,ghc-tree-diff)
5427 ("hspec-discover" ,hspec-discover)))
5428 (home-page "https://www.haskell.org/haddock/")
5429 (synopsis "Library exposing some functionality of Haddock")
5430 (description
5431 "Haddock is a documentation-generation tool for Haskell libraries. These
5432 modules expose some functionality of it without pulling in the GHC dependency.
5433 Please note that the API is likely to change so specify upper bounds in your
5434 project if you can't release often. For interacting with Haddock itself, see
5435 the ‘haddock’ package.")
5436 (license license:bsd-3)))
5437
5438 ;; This package is needed for testing 'ghc-haddock'. It is no longer
5439 ;; published to Hackage, but it is maintained in the Haddock Git
5440 ;; repository.
5441 (define ghc-haddock-test
5442 (package
5443 (name "ghc-haddock-test")
5444 (version "2.22.0")
5445 (source
5446 (origin
5447 (method git-fetch)
5448 (uri (git-reference
5449 (url "https://github.com/haskell/haddock")
5450 (commit (string-append "haddock-" version "-release"))))
5451 (file-name (git-file-name name version))
5452 (sha256
5453 (base32
5454 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5455 (build-system haskell-build-system)
5456 (arguments
5457 `(#:phases
5458 (modify-phases %standard-phases
5459 (add-after 'unpack 'change-directory
5460 (lambda _
5461 (chdir "haddock-test"))))))
5462 (inputs
5463 `(("ghc-syb" ,ghc-syb)
5464 ("ghc-xml" ,ghc-xml)))
5465 (home-page "https://www.haskell.org/haddock/")
5466 (synopsis "Test utilities for Haddock")
5467 (description "This package provides test utilities for Haddock.")
5468 (license license:bsd-3)
5469 (properties '((hidden? #t)))))
5470
5471 (define-public ghc-half
5472 (package
5473 (name "ghc-half")
5474 (version "0.3")
5475 (source
5476 (origin
5477 (method url-fetch)
5478 (uri (string-append
5479 "https://hackage.haskell.org/package/half/half-"
5480 version ".tar.gz"))
5481 (sha256
5482 (base32
5483 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5484 (build-system haskell-build-system)
5485 (native-inputs
5486 `(("ghc-hspec" ,ghc-hspec)
5487 ("ghc-quickcheck" ,ghc-quickcheck)))
5488 (home-page "https://github.com/ekmett/half")
5489 (synopsis "Half-precision floating-point computations")
5490 (description "This library provides a half-precision floating-point
5491 computation library for Haskell.")
5492 (license license:bsd-3)))
5493
5494 (define-public ghc-happy
5495 (package
5496 (name "ghc-happy")
5497 (version "1.19.12")
5498 (source
5499 (origin
5500 (method url-fetch)
5501 (uri (string-append
5502 "https://hackage.haskell.org/package/happy/happy-"
5503 version
5504 ".tar.gz"))
5505 (sha256
5506 (base32
5507 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
5508 (build-system haskell-build-system)
5509 (arguments
5510 `(#:phases
5511 (modify-phases %standard-phases
5512 (add-after 'unpack 'skip-test-issue93
5513 (lambda _
5514 ;; Tests run out of memory on a system with 2GB of available RAM,
5515 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5516 (substitute* "tests/Makefile"
5517 ((" issue93.y ") " "))
5518 #t)))))
5519 (home-page "https://hackage.haskell.org/package/happy")
5520 (synopsis "Parser generator for Haskell")
5521 (description "Happy is a parser generator for Haskell. Given a grammar
5522 specification in BNF, Happy generates Haskell code to parse the grammar.
5523 Happy works in a similar way to the yacc tool for C.")
5524 (license license:bsd-3)))
5525
5526 (define-public ghc-hashable
5527 (package
5528 (name "ghc-hashable")
5529 (version "1.2.7.0")
5530 (outputs '("out" "static" "doc"))
5531 (source
5532 (origin
5533 (method url-fetch)
5534 (uri (string-append
5535 "https://hackage.haskell.org/package/hashable/hashable-"
5536 version
5537 ".tar.gz"))
5538 (sha256
5539 (base32
5540 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5541 (build-system haskell-build-system)
5542 (arguments
5543 `(#:cabal-revision
5544 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
5545 (inputs
5546 `(("ghc-random" ,ghc-random)))
5547 (native-inputs
5548 `(("ghc-test-framework" ,ghc-test-framework)
5549 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5550 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5551 ("ghc-hunit" ,ghc-hunit)
5552 ("ghc-quickcheck" ,ghc-quickcheck)))
5553 (home-page "https://github.com/tibbe/hashable")
5554 (synopsis "Class for types that can be converted to a hash value")
5555 (description
5556 "This package defines a class, @code{Hashable}, for types that can be
5557 converted to a hash value. This class exists for the benefit of hashing-based
5558 data structures. The package provides instances for basic types and a way to
5559 combine hash values.")
5560 (license license:bsd-3)))
5561
5562 (define-public ghc-hashable-bootstrap
5563 (package
5564 (inherit ghc-hashable)
5565 (name "ghc-hashable-bootstrap")
5566 (arguments
5567 `(#:tests? #f
5568 ,@(package-arguments ghc-hashable)))
5569 (native-inputs '())
5570 (properties '((hidden? #t)))))
5571
5572 (define-public ghc-hashable-time
5573 (package
5574 (name "ghc-hashable-time")
5575 (version "0.2.0.2")
5576 (source
5577 (origin
5578 (method url-fetch)
5579 (uri (string-append
5580 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5581 version
5582 ".tar.gz"))
5583 (sha256
5584 (base32
5585 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
5586 (build-system haskell-build-system)
5587 (arguments
5588 `(#:cabal-revision
5589 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
5590 (inputs `(("ghc-hashable" ,ghc-hashable)))
5591 (home-page "https://hackage.haskell.org/package/hashable-time")
5592 (synopsis "Hashable instances for Data.Time")
5593 (description
5594 "This package provides @code{Hashable} instances for types in
5595 @code{Data.Time}.")
5596 (license license:bsd-3)))
5597
5598 (define-public ghc-hashtables
5599 (package
5600 (name "ghc-hashtables")
5601 (version "1.2.3.4")
5602 (source
5603 (origin
5604 (method url-fetch)
5605 (uri (string-append
5606 "https://hackage.haskell.org/package/hashtables/hashtables-"
5607 version ".tar.gz"))
5608 (sha256
5609 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
5610 (build-system haskell-build-system)
5611 (inputs
5612 `(("ghc-hashable" ,ghc-hashable)
5613 ("ghc-primitive" ,ghc-primitive)
5614 ("ghc-vector" ,ghc-vector)))
5615 (home-page "https://github.com/gregorycollins/hashtables")
5616 (synopsis "Haskell Mutable hash tables in the ST monad")
5617 (description "This package provides a Haskell library including a
5618 couple of different implementations of mutable hash tables in the ST
5619 monad, as well as a typeclass abstracting their common operations, and
5620 a set of wrappers to use the hash tables in the IO monad.")
5621 (license license:bsd-3)))
5622
5623 (define-public ghc-haskeline-0.8
5624 (package
5625 (name "ghc-haskeline")
5626 (version "0.8.0.0")
5627 (source
5628 (origin
5629 (method url-fetch)
5630 (uri (string-append
5631 "https://hackage.haskell.org/package/haskeline/haskeline-"
5632 version
5633 ".tar.gz"))
5634 (sha256
5635 (base32
5636 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5637 (build-system haskell-build-system)
5638 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5639 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5640 ;; FIXME: Tests failing
5641 (arguments `(#:tests? #f))
5642 (home-page "https://github.com/judah/haskeline")
5643 (synopsis
5644 "Command-line interface for user input, written in Haskell")
5645 (description
5646 "Haskeline provides a user interface for line input in command-line
5647 programs. This library is similar in purpose to readline, but since it is
5648 written in Haskell it is (hopefully) more easily used in other Haskell
5649 programs.
5650
5651 Haskeline runs both on POSIX-compatible systems and on Windows.")
5652 (license license:bsd-3)))
5653
5654 (define-public ghc-haskell-lexer
5655 (package
5656 (name "ghc-haskell-lexer")
5657 (version "1.0.2")
5658 (source
5659 (origin
5660 (method url-fetch)
5661 (uri (string-append
5662 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5663 version ".tar.gz"))
5664 (sha256
5665 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5666 (build-system haskell-build-system)
5667 (home-page "https://hackage.haskell.org/package/haskell-lexer")
5668 (synopsis "Fully compliant Haskell 98 lexer")
5669 (description
5670 "This package provides a fully compliant Haskell 98 lexer.")
5671 (license license:bsd-3)))
5672
5673 (define-public ghc-haskell-src
5674 (package
5675 (name "ghc-haskell-src")
5676 (version "1.0.3.0")
5677 (source
5678 (origin
5679 (method url-fetch)
5680 (uri (string-append
5681 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5682 version
5683 ".tar.gz"))
5684 (sha256
5685 (base32
5686 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5687 (build-system haskell-build-system)
5688 (inputs
5689 `(("ghc-happy" ,ghc-happy)
5690 ("ghc-syb" ,ghc-syb)))
5691 (home-page
5692 "https://hackage.haskell.org/package/haskell-src")
5693 (synopsis
5694 "Support for manipulating Haskell source code")
5695 (description
5696 "The @code{haskell-src} package provides support for manipulating Haskell
5697 source code. The package provides a lexer, parser and pretty-printer, and a
5698 definition of a Haskell abstract syntax tree (AST). Common uses of this
5699 package are to parse or generate Haskell 98 code.")
5700 (license license:bsd-3)))
5701
5702 (define-public ghc-haskell-src-exts
5703 (package
5704 (name "ghc-haskell-src-exts")
5705 (version "1.21.1")
5706 (source
5707 (origin
5708 (method url-fetch)
5709 (uri (string-append
5710 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5711 version
5712 ".tar.gz"))
5713 (sha256
5714 (base32
5715 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
5716 (build-system haskell-build-system)
5717 (outputs '("out" "static" "doc"))
5718 (inputs
5719 `(("cpphs" ,cpphs)
5720 ("ghc-happy" ,ghc-happy)
5721 ("ghc-pretty-show" ,ghc-pretty-show)))
5722 (native-inputs
5723 `(("ghc-smallcheck" ,ghc-smallcheck)
5724 ("ghc-tasty" ,ghc-tasty)
5725 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5726 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5727 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5728 (synopsis "Library for manipulating Haskell source")
5729 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5730 extension of the standard @code{haskell-src} package, and handles most
5731 registered syntactic extensions to Haskell. All extensions implemented in GHC
5732 are supported. Apart from these standard extensions, it also handles regular
5733 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5734 (license license:bsd-3)))
5735
5736 (define-public ghc-haskell-src-exts-util
5737 (package
5738 (name "ghc-haskell-src-exts-util")
5739 (version "0.2.5")
5740 (source
5741 (origin
5742 (method url-fetch)
5743 (uri (string-append "https://hackage.haskell.org/package/"
5744 "haskell-src-exts-util/haskell-src-exts-util-"
5745 version ".tar.gz"))
5746 (sha256
5747 (base32
5748 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5749 (build-system haskell-build-system)
5750 (inputs
5751 `(("ghc-data-default" ,ghc-data-default)
5752 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5753 ("ghc-semigroups" ,ghc-semigroups)
5754 ("ghc-uniplate" ,ghc-uniplate)))
5755 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5756 (synopsis "Helper functions for working with haskell-src-exts trees")
5757 (description
5758 "This package provides helper functions for working with
5759 @code{haskell-src-exts} trees.")
5760 (license license:bsd-3)))
5761
5762 (define-public ghc-haskell-src-meta
5763 (package
5764 (name "ghc-haskell-src-meta")
5765 (version "0.8.3")
5766 (source (origin
5767 (method url-fetch)
5768 (uri (string-append "https://hackage.haskell.org/package/"
5769 "haskell-src-meta/haskell-src-meta-"
5770 version ".tar.gz"))
5771 (sha256
5772 (base32
5773 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
5774 (build-system haskell-build-system)
5775 (inputs
5776 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5777 ("ghc-syb" ,ghc-syb)
5778 ("ghc-th-orphans" ,ghc-th-orphans)))
5779 (native-inputs
5780 `(("ghc-hunit" ,ghc-hunit)
5781 ("ghc-tasty" ,ghc-tasty)
5782 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5783 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5784 (synopsis "Parse source to template-haskell abstract syntax")
5785 (description
5786 "This package provides tools to parse Haskell sources to the
5787 template-haskell abstract syntax.")
5788 (license license:bsd-3)))
5789
5790 (define-public ghc-hasktags
5791 (package
5792 (name "ghc-hasktags")
5793 (version "0.71.2")
5794 (source
5795 (origin
5796 (method url-fetch)
5797 (uri (string-append
5798 "https://hackage.haskell.org/package/hasktags/hasktags-"
5799 version
5800 ".tar.gz"))
5801 (sha256
5802 (base32
5803 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5804 (build-system haskell-build-system)
5805 (inputs
5806 `(("ghc-system-filepath" ,ghc-system-filepath)
5807 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5808 (native-inputs
5809 `(("ghc-json" ,ghc-json)
5810 ("ghc-utf8-string" ,ghc-utf8-string)
5811 ("ghc-microlens-platform" ,ghc-microlens-platform)
5812 ("ghc-hunit" ,ghc-hunit)))
5813 (home-page "https://github.com/MarcWeber/hasktags")
5814 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5815 (description
5816 "This package provides a means of generating tag files for Emacs and
5817 Vim.")
5818 (license license:bsd-3)))
5819
5820 (define-public ghc-hex
5821 (package
5822 (name "ghc-hex")
5823 (version "0.1.2")
5824 (source
5825 (origin
5826 (method url-fetch)
5827 (uri (string-append "https://hackage.haskell.org/package/"
5828 "hex-" version "/"
5829 "hex-" version ".tar.gz"))
5830 (sha256
5831 (base32
5832 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5833 (build-system haskell-build-system)
5834 (home-page "https://hackage.haskell.org/package/hex")
5835 (synopsis "Convert strings into hexadecimal and back")
5836 (description "This package converts between bytestrings and their
5837 hexadecimal string representation.")
5838 (license license:bsd-3)))
5839
5840 (define-public ghc-highlighting-kate
5841 (package
5842 (name "ghc-highlighting-kate")
5843 (version "0.6.4")
5844 (source (origin
5845 (method url-fetch)
5846 (uri (string-append "https://hackage.haskell.org/package/"
5847 "highlighting-kate/highlighting-kate-"
5848 version ".tar.gz"))
5849 (sha256
5850 (base32
5851 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5852 (build-system haskell-build-system)
5853 (inputs
5854 `(("ghc-diff" ,ghc-diff)
5855 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5856 (native-inputs
5857 `(("ghc-blaze-html" ,ghc-blaze-html)
5858 ("ghc-utf8-string" ,ghc-utf8-string)))
5859 (home-page "https://github.com/jgm/highlighting-kate")
5860 (synopsis "Syntax highlighting library")
5861 (description
5862 "Highlighting-kate is a syntax highlighting library with support for
5863 nearly one hundred languages. The syntax parsers are automatically generated
5864 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5865 supported by Kate can be added. An (optional) command-line program is
5866 provided, along with a utility for generating new parsers from Kate XML syntax
5867 descriptions.")
5868 (license license:gpl2+)))
5869
5870 (define-public ghc-hindent
5871 (package
5872 (name "ghc-hindent")
5873 (version "5.3.1")
5874 (source
5875 (origin
5876 (method url-fetch)
5877 (uri (string-append
5878 "https://hackage.haskell.org/package/hindent/hindent-"
5879 version
5880 ".tar.gz"))
5881 (sha256
5882 (base32
5883 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
5884 (build-system haskell-build-system)
5885 (arguments
5886 `(#:modules ((guix build haskell-build-system)
5887 (guix build utils)
5888 (guix build emacs-utils))
5889 #:imported-modules (,@%haskell-build-system-modules
5890 (guix build emacs-utils))
5891 #:phases
5892 (modify-phases %standard-phases
5893 (add-after 'install 'emacs-install
5894 (lambda* (#:key inputs outputs #:allow-other-keys)
5895 (let* ((out (assoc-ref outputs "out"))
5896 (elisp-file "elisp/hindent.el")
5897 (dest (string-append out "/share/emacs/site-lisp"))
5898 (emacs (search-input-file inputs "/bin/emacs")))
5899 (make-file-writable elisp-file)
5900 (emacs-substitute-variables elisp-file
5901 ("hindent-process-path"
5902 (string-append out "/bin/hindent")))
5903 (install-file elisp-file dest)
5904 (emacs-generate-autoloads "hindent" dest)))))))
5905 (inputs
5906 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5907 ("ghc-monad-loops" ,ghc-monad-loops)
5908 ("ghc-utf8-string" ,ghc-utf8-string)
5909 ("ghc-exceptions" ,ghc-exceptions)
5910 ("ghc-yaml" ,ghc-yaml)
5911 ("ghc-unix-compat" ,ghc-unix-compat)
5912 ("ghc-path" ,ghc-path)
5913 ("ghc-path-io" ,ghc-path-io)
5914 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5915 (native-inputs
5916 `(("ghc-hspec" ,ghc-hspec)
5917 ("ghc-diff" ,ghc-diff)
5918 ("emacs" ,emacs-minimal)))
5919 (home-page
5920 "https://github.com/commercialhaskell/hindent")
5921 (synopsis "Extensible Haskell pretty printer")
5922 (description
5923 "This package provides automatic formatting for Haskell files. Both a
5924 library and an executable.")
5925 (license license:bsd-3)))
5926
5927 (define-public ghc-hinotify
5928 (package
5929 (name "ghc-hinotify")
5930 (version "0.4")
5931 (source (origin
5932 (method url-fetch)
5933 (uri (string-append
5934 "https://hackage.haskell.org/package/hinotify/"
5935 "hinotify-" version ".tar.gz"))
5936 (sha256
5937 (base32
5938 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
5939 (build-system haskell-build-system)
5940 (inputs
5941 `(("ghc-async" ,ghc-async)))
5942 (home-page "https://github.com/kolmodin/hinotify.git")
5943 (synopsis "Haskell binding to inotify")
5944 (description "This library provides a wrapper to the Linux kernel's inotify
5945 feature, allowing applications to subscribe to notifications when a file is
5946 accessed or modified.")
5947 (license license:bsd-3)))
5948
5949 (define-public ghc-hledger-lib
5950 (package
5951 (name "ghc-hledger-lib")
5952 (version "1.14.1")
5953 (source
5954 (origin
5955 (method url-fetch)
5956 (uri (string-append
5957 "https://hackage.haskell.org/package/hledger-lib/hledger-lib-"
5958 version
5959 ".tar.gz"))
5960 (sha256
5961 (base32
5962 "1w6qp01cak6spnpldm01czlm6i5a2alw47w76875l2nagrc4rfp2"))))
5963 (build-system haskell-build-system)
5964 (inputs
5965 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
5966 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
5967 ("ghc-blaze-markup" ,ghc-blaze-markup)
5968 ("ghc-call-stack" ,ghc-call-stack)
5969 ("ghc-cassava" ,ghc-cassava)
5970 ("ghc-cassava-megaparsec" ,ghc-cassava-megaparsec)
5971 ("ghc-cmdargs" ,ghc-cmdargs)
5972 ("ghc-data-default" ,ghc-data-default)
5973 ("ghc-decimal" ,ghc-decimal)
5974 ("ghc-easytest" ,ghc-easytest)
5975 ("ghc-extra" ,ghc-extra)
5976 ("ghc-file-embed" ,ghc-file-embed)
5977 ("ghc-glob" ,ghc-glob)
5978 ("ghc-hashtables" ,ghc-hashtables)
5979 ("ghc-megaparsec" ,ghc-megaparsec)
5980 ("ghc-mtl-compat" ,ghc-mtl-compat)
5981 ("ghc-old-time" ,ghc-old-time)
5982 ("ghc-parser-combinators" ,ghc-parser-combinators)
5983 ("ghc-pretty-show" ,ghc-pretty-show)
5984 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
5985 ("ghc-safe" ,ghc-safe)
5986 ("ghc-split" ,ghc-split)
5987 ("ghc-tabular" ,ghc-tabular)
5988 ("ghc-uglymemo" ,ghc-uglymemo)
5989 ("ghc-utf8-string" ,ghc-utf8-string)))
5990 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
5991 (home-page "https://hledger.org")
5992 (synopsis "Reusable library providing the core functionality of hledger")
5993 (description
5994 "A reusable library containing hledger's core functionality.
5995 This is used by most hledger* packages so that they support the same common
5996 file formats, command line options, reports etc.
5997
5998 hledger is a robust, cross-platform set of tools for tracking money, time, or
5999 any other commodity, using double-entry accounting and a simple, editable file
6000 format, with command-line, terminal and web interfaces. It is a Haskell
6001 rewrite of Ledger, and one of the leading implementations of Plain Text
6002 Accounting.")
6003 (license license:gpl3)))
6004
6005 (define-public ghc-hmatrix
6006 (package
6007 (name "ghc-hmatrix")
6008 (version "0.20.0.0")
6009 (source
6010 (origin
6011 (method url-fetch)
6012 (uri (string-append
6013 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
6014 version ".tar.gz"))
6015 (sha256
6016 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
6017 (build-system haskell-build-system)
6018 (arguments
6019 `(#:extra-directories ("lapack")))
6020 (inputs
6021 `(("ghc-random" ,ghc-random)
6022 ("ghc-split" ,ghc-split)
6023 ("ghc-storable-complex" ,ghc-storable-complex)
6024 ("ghc-semigroups" ,ghc-semigroups)
6025 ("ghc-vector" ,ghc-vector)
6026 ;;("openblas" ,openblas)
6027 ("lapack" ,lapack)))
6028 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
6029 ;; disables inclusion of the LAPACK functions.
6030 ;; (arguments `(#:configure-flags '("--flags=openblas")))
6031 (home-page "https://github.com/albertoruiz/hmatrix")
6032 (synopsis "Haskell numeric linear algebra library")
6033 (description "The HMatrix package provices a Haskell library for
6034 dealing with linear systems, matrix decompositions, and other
6035 numerical computations based on BLAS and LAPACK.")
6036 (license license:bsd-3)))
6037
6038 (define-public ghc-hmatrix-gsl
6039 (package
6040 (name "ghc-hmatrix-gsl")
6041 (version "0.19.0.1")
6042 (source
6043 (origin
6044 (method url-fetch)
6045 (uri (string-append
6046 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
6047 version ".tar.gz"))
6048 (sha256
6049 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
6050 (build-system haskell-build-system)
6051 (arguments
6052 `(#:extra-directories ("gsl")))
6053 (inputs
6054 `(("ghc-hmatrix" ,ghc-hmatrix)
6055 ("ghc-vector" ,ghc-vector)
6056 ("ghc-random" ,ghc-random)
6057 ("gsl" ,gsl)))
6058 (native-inputs `(("pkg-config" ,pkg-config)))
6059 (home-page "https://github.com/albertoruiz/hmatrix")
6060 (synopsis "Haskell GSL binding")
6061 (description "This Haskell library provides a purely functional
6062 interface to selected numerical computations, internally implemented
6063 using GSL.")
6064 (license license:gpl3+)))
6065
6066 (define-public ghc-hmatrix-gsl-stats
6067 (package
6068 (name "ghc-hmatrix-gsl-stats")
6069 (version "0.4.1.8")
6070 (source
6071 (origin
6072 (method url-fetch)
6073 (uri
6074 (string-append
6075 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
6076 version ".tar.gz"))
6077 (sha256
6078 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
6079 (build-system haskell-build-system)
6080 (inputs
6081 `(("ghc-vector" ,ghc-vector)
6082 ("ghc-storable-complex" ,ghc-storable-complex)
6083 ("ghc-hmatrix" ,ghc-hmatrix)
6084 ("gsl" ,gsl)))
6085 (native-inputs `(("pkg-config" ,pkg-config)))
6086 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
6087 (synopsis "GSL Statistics interface for Haskell")
6088 (description "This Haskell library provides a purely functional
6089 interface for statistics based on hmatrix and GSL.")
6090 (license license:bsd-3)))
6091
6092 (define-public ghc-hmatrix-special
6093 (package
6094 (name "ghc-hmatrix-special")
6095 (version "0.19.0.0")
6096 (source
6097 (origin
6098 (method url-fetch)
6099 (uri
6100 (string-append
6101 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
6102 version ".tar.gz"))
6103 (sha256
6104 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
6105 (build-system haskell-build-system)
6106 (inputs
6107 `(("ghc-hmatrix" ,ghc-hmatrix)
6108 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
6109 (home-page "https://github.com/albertoruiz/hmatrix")
6110 (synopsis "Haskell interface to GSL special functions")
6111 (description "This library provides an interface to GSL special
6112 functions for Haskell.")
6113 (license license:gpl3+)))
6114
6115 (define-public ghc-hostname
6116 (package
6117 (name "ghc-hostname")
6118 (version "1.0")
6119 (source
6120 (origin
6121 (method url-fetch)
6122 (uri (string-append "https://hackage.haskell.org/package/hostname/"
6123 "hostname-" version ".tar.gz"))
6124 (sha256
6125 (base32
6126 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
6127 (build-system haskell-build-system)
6128 (home-page "https://hackage.haskell.org/package/hostname")
6129 (synopsis "Hostname in Haskell")
6130 (description "Network.HostName is a simple package providing a means to
6131 determine the hostname.")
6132 (license license:bsd-3)))
6133
6134 (define-public ghc-hourglass
6135 (package
6136 (name "ghc-hourglass")
6137 (version "0.2.12")
6138 (source (origin
6139 (method url-fetch)
6140 (uri (string-append "https://hackage.haskell.org/package/"
6141 "hourglass/hourglass-" version ".tar.gz"))
6142 (sha256
6143 (base32
6144 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
6145 (build-system haskell-build-system)
6146 (inputs
6147 `(("ghc-old-locale" ,ghc-old-locale)))
6148 (native-inputs
6149 `(("ghc-tasty" ,ghc-tasty)
6150 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6151 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6152 (home-page "https://github.com/vincenthz/hs-hourglass")
6153 (synopsis "Simple time-related library for Haskell")
6154 (description
6155 "This is a simple time library providing a simple but powerful and
6156 performant API. The backbone of the library are the @code{Timeable} and
6157 @code{Time} type classes. Each @code{Timeable} instances can be converted to
6158 a type that has a @code{Time} instances, and thus are different
6159 representations of current time.")
6160 (license license:bsd-3)))
6161
6162 (define-public ghc-hpack
6163 (package
6164 (name "ghc-hpack")
6165 (version "0.31.2")
6166 (source
6167 (origin
6168 (method url-fetch)
6169 (uri (string-append "https://hackage.haskell.org/package/hpack/"
6170 "hpack-" version ".tar.gz"))
6171 (patches (search-patches "ghc-hpack-fix-tests.patch"))
6172 (sha256
6173 (base32
6174 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
6175 (build-system haskell-build-system)
6176 (inputs
6177 `(("ghc-aeson" ,ghc-aeson)
6178 ("ghc-bifunctors" ,ghc-bifunctors)
6179 ("ghc-cryptonite" ,ghc-cryptonite)
6180 ("ghc-glob" ,ghc-glob)
6181 ("ghc-http-client" ,ghc-http-client)
6182 ("ghc-http-client-tls" ,ghc-http-client-tls)
6183 ("ghc-http-types" ,ghc-http-types)
6184 ("ghc-infer-license" ,ghc-infer-license)
6185 ("ghc-scientific" ,ghc-scientific)
6186 ("ghc-unordered-containers" ,ghc-unordered-containers)
6187 ("ghc-vector" ,ghc-vector)
6188 ("ghc-yaml" ,ghc-yaml)))
6189 (native-inputs
6190 `(("ghc-hspec" ,ghc-hspec)
6191 ("ghc-hunit" ,ghc-hunit)
6192 ("ghc-interpolate" ,ghc-interpolate)
6193 ("ghc-mockery" ,ghc-mockery)
6194 ("ghc-quickcheck" ,ghc-quickcheck)
6195 ("ghc-temporary" ,ghc-temporary)
6196 ("hspec-discover" ,hspec-discover)))
6197 (home-page "https://github.com/sol/hpack")
6198 (synopsis "Tools for an alternative Haskell package format")
6199 (description
6200 "Hpack is a format for Haskell packages. It is an alternative to the
6201 Cabal package format and follows different design principles. Hpack packages
6202 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
6203 @code{stack} support @code{package.yaml} natively. For other build tools the
6204 @code{hpack} executable can be used to generate a @code{.cabal} file from
6205 @code{package.yaml}.")
6206 (license license:expat)))
6207
6208 (define-public ghc-hspec-megaparsec
6209 (package
6210 (name "ghc-hspec-megaparsec")
6211 (version "2.0.1")
6212 (source
6213 (origin
6214 (method url-fetch)
6215 (uri (string-append
6216 "https://hackage.haskell.org/"
6217 "package/hspec-megaparsec/hspec-megaparsec-"
6218 version
6219 ".tar.gz"))
6220 (sha256
6221 (base32
6222 "0w8nn2rh01lkiwsiyqh3gviklhfmy0245rakj94dmliyljw8skfg"))))
6223 (build-system haskell-build-system)
6224 (inputs
6225 `(("ghc-hspec-expectations" ,ghc-hspec-expectations)
6226 ("ghc-megaparsec" ,ghc-megaparsec)))
6227 (native-inputs
6228 `(("ghc-hspec" ,ghc-hspec)))
6229 (home-page "https://github.com/mrkkrp/hspec-megaparsec")
6230 (synopsis "Utility functions for testing Megaparsec parsers with Hspec")
6231 (description
6232 "Provides a small set of helper functions for testing Megaparsec parsers
6233 with Hspec.")
6234 (license license:bsd-3)))
6235
6236 (define-public ghc-hs-bibutils
6237 (package
6238 (name "ghc-hs-bibutils")
6239 (version "6.7.0.0")
6240 (source
6241 (origin
6242 (method url-fetch)
6243 (uri (string-append
6244 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6245 version ".tar.gz"))
6246 (sha256
6247 (base32
6248 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
6249 (build-system haskell-build-system)
6250 (inputs `(("ghc-syb" ,ghc-syb)))
6251 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6252 (synopsis "Haskell bindings to bibutils")
6253 (description
6254 "This package provides Haskell bindings to @code{bibutils}, a library
6255 that interconverts between various bibliography formats using a common
6256 MODS-format XML intermediate.")
6257 (license license:gpl2+)))
6258
6259 (define-public ghc-hslogger
6260 (package
6261 (name "ghc-hslogger")
6262 (version "1.2.12")
6263 (source
6264 (origin
6265 (method url-fetch)
6266 (uri (string-append "https://hackage.haskell.org/package/"
6267 "hslogger-" version "/" "hslogger-"
6268 version ".tar.gz"))
6269 (sha256 (base32
6270 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
6271 (build-system haskell-build-system)
6272 (inputs
6273 `(("ghc-network" ,ghc-network)
6274 ("ghc-old-locale" ,ghc-old-locale)))
6275 (native-inputs
6276 `(("ghc-hunit" ,ghc-hunit)))
6277 (home-page "https://software.complete.org/hslogger")
6278 (synopsis "Logging framework for Haskell, similar to Python's logging module")
6279 (description "Hslogger lets each log message have a priority and source be
6280 associated with it. The programmer can then define global handlers that route
6281 or filter messages based on the priority and source. It also has a syslog
6282 handler built in.")
6283 (license license:bsd-3)))
6284
6285 (define-public ghc-hslua
6286 (package
6287 (name "ghc-hslua")
6288 (version "1.0.3.2")
6289 (source (origin
6290 (method url-fetch)
6291 (uri (string-append "https://hackage.haskell.org/package/"
6292 "hslua/hslua-" version ".tar.gz"))
6293 (sha256
6294 (base32
6295 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
6296 (build-system haskell-build-system)
6297 (arguments
6298 `(#:configure-flags '("-fsystem-lua")
6299 #:extra-directories ("lua")))
6300 (inputs
6301 `(("lua" ,lua)
6302 ("ghc-exceptions" ,ghc-exceptions)
6303 ("ghc-fail" ,ghc-fail)))
6304 (native-inputs
6305 `(("ghc-tasty" ,ghc-tasty)
6306 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6307 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6308 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6309 ("ghc-quickcheck" ,ghc-quickcheck)
6310 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
6311 (home-page "https://hackage.haskell.org/package/hslua")
6312 (synopsis "Lua language interpreter embedding in Haskell")
6313 (description
6314 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
6315 described in @url{https://www.lua.org/}.")
6316 (license license:expat)))
6317
6318 (define-public ghc-hslua-module-system
6319 (package
6320 (name "ghc-hslua-module-system")
6321 (version "0.2.1")
6322 (source
6323 (origin
6324 (method url-fetch)
6325 (uri (string-append "https://hackage.haskell.org/package/"
6326 "hslua-module-system/hslua-module-system-"
6327 version ".tar.gz"))
6328 (sha256
6329 (base32
6330 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
6331 (build-system haskell-build-system)
6332 (inputs
6333 `(("ghc-exceptions" ,ghc-exceptions)
6334 ("ghc-hslua" ,ghc-hslua)
6335 ("ghc-temporary" ,ghc-temporary)))
6336 (native-inputs
6337 `(("ghc-tasty" ,ghc-tasty)
6338 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6339 (home-page "https://github.com/hslua/hslua-module-system")
6340 (synopsis "Lua module wrapper around Haskell's System module")
6341 (description "This library provides access to system information and
6342 functionality to Lua scripts via Haskell's @code{System} module. Intended
6343 usage for this package is to preload it by adding the loader function to
6344 @code{package.preload}. Note that the Lua @code{package} library must have
6345 already been loaded before the loader can be added.")
6346 (license license:expat)))
6347
6348 (define-public ghc-hslua-module-text
6349 (package
6350 (name "ghc-hslua-module-text")
6351 (version "0.2.1")
6352 (source
6353 (origin
6354 (method url-fetch)
6355 (uri (string-append "https://hackage.haskell.org/package/"
6356 "hslua-module-text/hslua-module-text-"
6357 version ".tar.gz"))
6358 (sha256
6359 (base32
6360 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
6361 (build-system haskell-build-system)
6362 (inputs
6363 `(("ghc-hslua" ,ghc-hslua)))
6364 (native-inputs
6365 `(("ghc-tasty" ,ghc-tasty)
6366 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6367 (home-page "https://github.com/hslua/hslua-module-text")
6368 (synopsis "Lua module for text")
6369 (description
6370 "This package provides a UTF-8 aware subset of Lua's @code{string} module
6371 for Haskell. The functions provided by this module are @code{upper},
6372 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
6373 (license license:expat)))
6374
6375 (define-public ghc-hsyaml
6376 (package
6377 (name "ghc-hsyaml")
6378 (version "0.1.2.0")
6379 (source
6380 (origin
6381 (method url-fetch)
6382 (uri (string-append "https://hackage.haskell.org/package/"
6383 "HsYAML/HsYAML-" version ".tar.gz"))
6384 (sha256
6385 (base32
6386 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
6387 (build-system haskell-build-system)
6388 (arguments
6389 `(#:cabal-revision
6390 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
6391 (home-page "https://github.com/haskell-hvr/HsYAML")
6392 (synopsis "Pure Haskell YAML 1.2 parser")
6393 (description "This library provides a
6394 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
6395 for Haskell. Its features include:
6396
6397 @itemize
6398 @item Pure Haskell implementation with small dependency footprint and
6399 emphasis on strict compliance with the YAML 1.2 specification.
6400
6401 @item Direct decoding to native Haskell types via (aeson-inspired)
6402 typeclass-based API (see @code{Data.YAML}).
6403
6404 @item Support for constructing custom YAML node graph
6405 representation (including support for cyclic YAML data structures).
6406
6407 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
6408 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6409 typing rules as defined in the YAML 1.2 specification (including support
6410 for user-defined custom schemas).
6411
6412 @item Event-based API resembling LibYAML's Event-based API (see
6413 @code{Data.YAML.Event}).
6414
6415 @item Low-level API access to lexical token-based scanner (see
6416 @code{Data.YAML.Token}).
6417 @end itemize")
6418 (license license:gpl2+)))
6419
6420 (define-public ghc-http-api-data
6421 (package
6422 (name "ghc-http-api-data")
6423 (version "0.4.1")
6424 (source
6425 (origin
6426 (method url-fetch)
6427 (uri (string-append "https://hackage.haskell.org/package/"
6428 "http-api-data-" version "/"
6429 "http-api-data-" version ".tar.gz"))
6430 (sha256
6431 (base32
6432 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
6433 (build-system haskell-build-system)
6434 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6435 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
6436 ("ghc-cookie" ,ghc-cookie)
6437 ("ghc-hashable" ,ghc-hashable)
6438 ("ghc-http-types" ,ghc-http-types)
6439 ("ghc-time-compat" ,ghc-time-compat)
6440 ("ghc-unordered-containers" ,ghc-unordered-containers)
6441 ("ghc-uuid-types" ,ghc-uuid-types)))
6442 (native-inputs
6443 `(("cabal-doctest" ,cabal-doctest)
6444 ("ghc-nats" ,ghc-nats)
6445 ("ghc-hunit" ,ghc-hunit)
6446 ("ghc-hspec" ,ghc-hspec)
6447 ("ghc-quickcheck" ,ghc-quickcheck)
6448 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6449 ("ghc-doctest" ,ghc-doctest)
6450 ("hspec-discover" ,hspec-discover)))
6451 (home-page "https://github.com/fizruk/http-api-data")
6452 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6453 query parameters")
6454 (description "This Haskell package defines typeclasses used for converting
6455 Haskell data types to and from HTTP API data.")
6456 (license license:bsd-3)))
6457
6458 (define-public ghc-ieee754
6459 (package
6460 (name "ghc-ieee754")
6461 (version "0.8.0")
6462 (source (origin
6463 (method url-fetch)
6464 (uri (string-append
6465 "https://hackage.haskell.org/package/ieee754/"
6466 "ieee754-" version ".tar.gz"))
6467 (sha256
6468 (base32
6469 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6470 (build-system haskell-build-system)
6471 (home-page "https://github.com/patperry/hs-ieee754")
6472 (synopsis "Utilities for dealing with IEEE floating point numbers")
6473 (description "Utilities for dealing with IEEE floating point numbers,
6474 ported from the Tango math library; approximate and exact equality comparisons
6475 for general types.")
6476 (license license:bsd-3)))
6477
6478 (define-public ghc-ifelse
6479 (package
6480 (name "ghc-ifelse")
6481 (version "0.85")
6482 (source
6483 (origin
6484 (method url-fetch)
6485 (uri (string-append "https://hackage.haskell.org/package/"
6486 "IfElse/IfElse-" version ".tar.gz"))
6487 (sha256
6488 (base32
6489 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6490 (build-system haskell-build-system)
6491 (home-page "https://hackage.haskell.org/package/IfElse")
6492 (synopsis "Monadic control flow with anaphoric variants")
6493 (description "This library provides functions for control flow inside of
6494 monads with anaphoric variants on @code{if} and @code{when} and a C-like
6495 @code{switch} function.")
6496 (license license:bsd-3)))
6497
6498 (define-public ghc-indents
6499 (package
6500 (name "ghc-indents")
6501 (version "0.5.0.1")
6502 (source (origin
6503 (method url-fetch)
6504 (uri (string-append
6505 "https://hackage.haskell.org/package/indents/indents-"
6506 version ".tar.gz"))
6507 (sha256
6508 (base32
6509 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
6510 (build-system haskell-build-system)
6511 ;; This package needs an older version of tasty.
6512 (arguments '(#:tests? #f))
6513 (inputs
6514 `(("ghc-concatenative" ,ghc-concatenative)))
6515 (native-inputs
6516 `(("ghc-tasty" ,ghc-tasty)
6517 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6518 (home-page "https://github.com/jaspervdj/indents")
6519 (synopsis "Indentation sensitive parser-combinators for parsec")
6520 (description
6521 "This library provides functions for use in parsing indentation sensitive
6522 contexts. It parses blocks of lines all indented to the same level as well as
6523 lines continued at an indented level below.")
6524 (license license:bsd-3)))
6525
6526 (define-public ghc-infer-license
6527 (package
6528 (name "ghc-infer-license")
6529 (version "0.2.0")
6530 (source
6531 (origin
6532 (method url-fetch)
6533 (uri (string-append "https://hackage.haskell.org/package/"
6534 "infer-license/infer-license-" version ".tar.gz"))
6535 (sha256
6536 (base32
6537 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6538 (build-system haskell-build-system)
6539 (inputs
6540 `(("ghc-text-metrics" ,ghc-text-metrics)))
6541 (native-inputs
6542 `(("ghc-hspec" ,ghc-hspec)
6543 ("hspec-discover" ,hspec-discover)))
6544 (home-page "https://hackage.haskell.org/package/infer-license")
6545 (synopsis "Infer software license from a given license file")
6546 (description "This library provides tools to infer a software
6547 license from a given license file.")
6548 (license license:expat)))
6549
6550 (define-public ghc-ini
6551 (package
6552 (name "ghc-ini")
6553 (version "0.4.1")
6554 (source
6555 (origin
6556 (method url-fetch)
6557 (uri (string-append "https://hackage.haskell.org/package/"
6558 "ini/ini-" version ".tar.gz"))
6559 (sha256
6560 (base32 "0mvwii8jbh2ll54qb9dij5m66c6324s2y4vrwz1qr4wz40m3qa8l"))))
6561 (build-system haskell-build-system)
6562 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
6563 (inputs
6564 `(("ghc-attoparsec" ,ghc-attoparsec)
6565 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6566 (home-page "https://github.com/chrisdone/ini")
6567 (synopsis
6568 "Haskell library to easily handle configuration files in the INI format")
6569 (description
6570 "The @code{ghc-ini} Haskell library lets programmers quickly and easily
6571 read and write configuration files in the simple INI format.")
6572 (license license:bsd-3)))
6573
6574 (define-public ghc-inline-c
6575 (package
6576 (name "ghc-inline-c")
6577 (version "0.7.0.1")
6578 (source
6579 (origin
6580 (method url-fetch)
6581 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6582 "inline-c-" version ".tar.gz"))
6583 (sha256
6584 (base32
6585 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
6586 (build-system haskell-build-system)
6587 (inputs
6588 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6589 ("ghc-cryptohash" ,ghc-cryptohash)
6590 ("ghc-hashable" ,ghc-hashable)
6591 ("ghc-parsers" ,ghc-parsers)
6592 ("ghc-unordered-containers" ,ghc-unordered-containers)
6593 ("ghc-vector" ,ghc-vector)))
6594 (native-inputs
6595 `(("ghc-quickcheck" ,ghc-quickcheck)
6596 ("ghc-hspec" ,ghc-hspec)
6597 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6598 ("ghc-regex-posix" ,ghc-regex-posix)))
6599 (home-page "https://hackage.haskell.org/package/inline-c")
6600 (synopsis "Write Haskell source files including C code inline")
6601 (description
6602 "inline-c lets you seamlessly call C libraries and embed high-performance
6603 inline C code in Haskell modules. Haskell and C can be freely intermixed in
6604 the same source file, and data passed to and from code in either language with
6605 minimal overhead. No FFI required.")
6606 (license license:expat)))
6607
6608 (define-public ghc-inline-c-cpp
6609 (package
6610 (name "ghc-inline-c-cpp")
6611 (version "0.3.0.3")
6612 (source
6613 (origin
6614 (method url-fetch)
6615 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6616 "inline-c-cpp-" version ".tar.gz"))
6617 (sha256
6618 (base32
6619 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
6620 (build-system haskell-build-system)
6621 (inputs
6622 `(("ghc-inline-c" ,ghc-inline-c)
6623 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6624 (native-inputs
6625 `(("ghc-hspec" ,ghc-hspec)))
6626 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6627 (synopsis "Lets you embed C++ code into Haskell")
6628 (description
6629 "This package provides utilities to inline C++ code into Haskell using
6630 @code{inline-c}.")
6631 (license license:expat)))
6632
6633 (define-public ghc-integer-logarithms
6634 (package
6635 (name "ghc-integer-logarithms")
6636 (version "1.0.3")
6637 (source
6638 (origin
6639 (method url-fetch)
6640 (uri (string-append "https://hackage.haskell.org/package/"
6641 "integer-logarithms/integer-logarithms-"
6642 version ".tar.gz"))
6643 (sha256
6644 (base32
6645 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
6646 (build-system haskell-build-system)
6647 (arguments
6648 `(#:phases
6649 (modify-phases %standard-phases
6650 (add-before 'configure 'update-constraints
6651 (lambda _
6652 (substitute* "integer-logarithms.cabal"
6653 (("tasty >= 0\\.10 && < 1\\.1")
6654 "tasty >= 0.10 && < 1.2")))))))
6655 (native-inputs
6656 `(("ghc-quickcheck" ,ghc-quickcheck)
6657 ("ghc-smallcheck" ,ghc-smallcheck)
6658 ("ghc-tasty" ,ghc-tasty)
6659 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6660 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6661 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6662 (home-page "https://github.com/Bodigrim/integer-logarithms")
6663 (synopsis "Integer logarithms")
6664 (description
6665 "This package provides the following modules:
6666 @code{Math.NumberTheory.Logarithms} and
6667 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6668 @code{GHC.Integer.Logarithms.Compat} and
6669 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6670 in migrated modules.")
6671 (license license:expat)))
6672
6673 (define-public ghc-integer-logarithms-bootstrap
6674 (package
6675 (inherit ghc-integer-logarithms)
6676 (name "ghc-integer-logarithms-bootstrap")
6677 (arguments `(#:tests? #f))
6678 (native-inputs '())
6679 (properties '((hidden? #t)))))
6680
6681 (define-public ghc-interpolate
6682 (package
6683 (name "ghc-interpolate")
6684 (version "0.2.0")
6685 (source
6686 (origin
6687 (method url-fetch)
6688 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6689 "interpolate-" version ".tar.gz"))
6690 (sha256
6691 (base32
6692 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6693 (build-system haskell-build-system)
6694 (inputs
6695 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6696 (native-inputs
6697 `(("ghc-base-compat" ,ghc-base-compat)
6698 ("ghc-hspec" ,ghc-hspec)
6699 ("ghc-quickcheck" ,ghc-quickcheck)
6700 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6701 ("hspec-discover" ,hspec-discover)))
6702 (home-page "https://github.com/sol/interpolate")
6703 (synopsis "String interpolation library")
6704 (description "This package provides a string interpolation library for
6705 Haskell.")
6706 (license license:expat)))
6707
6708 (define-public ghc-intervalmap
6709 (package
6710 (name "ghc-intervalmap")
6711 (version "0.6.1.1")
6712 (source
6713 (origin
6714 (method url-fetch)
6715 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6716 "IntervalMap-" version ".tar.gz"))
6717 (sha256
6718 (base32
6719 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
6720 (build-system haskell-build-system)
6721 (native-inputs
6722 `(("ghc-quickcheck" ,ghc-quickcheck)))
6723 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6724 (synopsis "Containers for intervals, with efficient search")
6725 (description
6726 "This package provides ordered containers of intervals, with efficient
6727 search for all keys containing a point or overlapping an interval. See the
6728 example code on the home page for a quick introduction.")
6729 (license license:bsd-3)))
6730
6731 (define-public ghc-intervals
6732 (package
6733 (name "ghc-intervals")
6734 (version "0.8.1")
6735 (source
6736 (origin
6737 (method url-fetch)
6738 (uri (string-append "https://hackage.haskell.org/package/"
6739 "intervals/intervals-" version ".tar.gz"))
6740 (sha256
6741 (base32
6742 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6743 (build-system haskell-build-system)
6744 (inputs
6745 `(("ghc-distributive" ,ghc-distributive)))
6746 (native-inputs
6747 `(("cabal-doctest" ,cabal-doctest)
6748 ("ghc-doctest" ,ghc-doctest)
6749 ("ghc-quickcheck" ,ghc-quickcheck)))
6750 (arguments
6751 `(#:cabal-revision
6752 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6753 (home-page "https://github.com/ekmett/intervals")
6754 (synopsis "Interval arithmetic")
6755 (description "This library provides
6756 @code{Numeric.Interval.Interval}, which represets a closed, convex set
6757 of floating point values.")
6758 (license license:bsd-3)))
6759
6760 (define-public ghc-invariant
6761 (package
6762 (name "ghc-invariant")
6763 (version "0.5.3")
6764 (source
6765 (origin
6766 (method url-fetch)
6767 (uri (string-append
6768 "https://hackage.haskell.org/package/invariant/invariant-"
6769 version ".tar.gz"))
6770 (sha256
6771 (base32
6772 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
6773 (build-system haskell-build-system)
6774 (inputs
6775 `(("ghc-bifunctors" ,ghc-bifunctors)
6776 ("ghc-comonad" ,ghc-comonad)
6777 ("ghc-contravariant" ,ghc-contravariant)
6778 ("ghc-profunctors" ,ghc-profunctors)
6779 ("ghc-semigroups" ,ghc-semigroups)
6780 ("ghc-statevar" ,ghc-statevar)
6781 ("ghc-tagged" ,ghc-tagged)
6782 ("ghc-th-abstraction" ,ghc-th-abstraction)
6783 ("ghc-transformers-compat" ,ghc-transformers-compat)
6784 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6785 (native-inputs
6786 `(("ghc-hspec" ,ghc-hspec)
6787 ("ghc-quickcheck" ,ghc-quickcheck)
6788 ("hspec-discover" ,hspec-discover)))
6789 (home-page "https://github.com/nfrisby/invariant-functors")
6790 (synopsis "Haskell98 invariant functors")
6791 (description "Haskell98 invariant functors (also known as exponential
6792 functors). For more information, see Edward Kmett's article
6793 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6794 (license license:bsd-2)))
6795
6796 (define-public ghc-io-streams
6797 (package
6798 (name "ghc-io-streams")
6799 (version "1.5.1.0")
6800 (source
6801 (origin
6802 (method url-fetch)
6803 (uri (string-append "https://hackage.haskell.org/package/"
6804 "io-streams/io-streams-" version ".tar.gz"))
6805 (sha256
6806 (base32
6807 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
6808 (build-system haskell-build-system)
6809 (inputs
6810 `(("ghc-attoparsec" ,ghc-attoparsec)
6811 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6812 ("ghc-network" ,ghc-network)
6813 ("ghc-primitive" ,ghc-primitive)
6814 ("ghc-vector" ,ghc-vector)
6815 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6816 (native-inputs
6817 `(("ghc-hunit" ,ghc-hunit)
6818 ("ghc-quickcheck" ,ghc-quickcheck)
6819 ("ghc-test-framework" ,ghc-test-framework)
6820 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6821 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6822 ("ghc-zlib" ,ghc-zlib)))
6823 (home-page "https://hackage.haskell.org/package/io-streams")
6824 (synopsis "Simple and composable stream I/O")
6825 (description "This library contains simple and easy-to-use
6826 primitives for I/O using streams.")
6827 (license license:bsd-3)))
6828
6829 (define-public ghc-io-streams-haproxy
6830 (package
6831 (name "ghc-io-streams-haproxy")
6832 (version "1.0.1.0")
6833 (source
6834 (origin
6835 (method url-fetch)
6836 (uri (string-append "https://hackage.haskell.org/package/"
6837 "io-streams-haproxy/io-streams-haproxy-"
6838 version ".tar.gz"))
6839 (sha256
6840 (base32
6841 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6842 (build-system haskell-build-system)
6843 (inputs
6844 `(("ghc-attoparsec" ,ghc-attoparsec)
6845 ("ghc-io-streams" ,ghc-io-streams)
6846 ("ghc-network" ,ghc-network)))
6847 (native-inputs
6848 `(("ghc-hunit" ,ghc-hunit)
6849 ("ghc-test-framework" ,ghc-test-framework)
6850 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6851 (home-page "http://snapframework.com/")
6852 (synopsis "HAProxy protocol 1.5 support for io-streams")
6853 (description "HAProxy protocol version 1.5 support
6854 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6855 for applications using io-streams. The proxy protocol allows information
6856 about a networked peer (like remote address and port) to be propagated
6857 through a forwarding proxy that is configured to speak this protocol.")
6858 (license license:bsd-3)))
6859
6860 (define-public ghc-iproute
6861 (package
6862 (name "ghc-iproute")
6863 (version "1.7.7")
6864 (source
6865 (origin
6866 (method url-fetch)
6867 (uri (string-append
6868 "https://hackage.haskell.org/package/iproute/iproute-"
6869 version
6870 ".tar.gz"))
6871 (sha256
6872 (base32
6873 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
6874 (build-system haskell-build-system)
6875 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6876 ; exported by ghc-byteorder. Doctest issue.
6877 (inputs
6878 `(("ghc-appar" ,ghc-appar)
6879 ("ghc-byteorder" ,ghc-byteorder)
6880 ("ghc-network" ,ghc-network)
6881 ("ghc-safe" ,ghc-safe)))
6882 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6883 (synopsis "IP routing table")
6884 (description "IP Routing Table is a tree of IP ranges to search one of
6885 them on the longest match base. It is a kind of TRIE with one way branching
6886 removed. Both IPv4 and IPv6 are supported.")
6887 (license license:bsd-3)))
6888
6889 (define-public ghc-ipynb
6890 (package
6891 (name "ghc-ipynb")
6892 (version "0.1")
6893 (source
6894 (origin
6895 (method url-fetch)
6896 (uri (string-append "https://hackage.haskell.org/package/"
6897 "ipynb/ipynb-" version ".tar.gz"))
6898 (sha256
6899 (base32
6900 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6901 (build-system haskell-build-system)
6902 (inputs
6903 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6904 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6905 ("ghc-aeson" ,ghc-aeson)
6906 ("ghc-semigroups" ,ghc-semigroups)))
6907 (native-inputs
6908 `(("ghc-tasty" ,ghc-tasty)
6909 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6910 ("ghc-aeson-diff" ,ghc-aeson-diff)
6911 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6912 ("ghc-microlens" ,ghc-microlens)
6913 ("ghc-vector" ,ghc-vector)))
6914 (home-page "https://hackage.haskell.org/package/ipynb")
6915 (synopsis "Data structure for working with Jupyter notebooks")
6916 (description "This library defines a data structure for representing
6917 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6918 instances for conversion to and from JSON .ipynb files.")
6919 (license license:bsd-3)))
6920
6921 (define-public ghc-iwlib
6922 (package
6923 (name "ghc-iwlib")
6924 (version "0.1.0")
6925 (source
6926 (origin
6927 (method url-fetch)
6928 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6929 version ".tar.gz"))
6930 (sha256
6931 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6932 (build-system haskell-build-system)
6933 (arguments
6934 `(#:extra-directories ("wireless-tools")))
6935 (inputs
6936 `(("wireless-tools" ,wireless-tools)))
6937 (home-page "https://github.com/jaor/iwlib")
6938 (synopsis "Haskell binding to the iw wireless networking library")
6939 (description
6940 "IWlib is a thin Haskell binding to the iw C library. It provides
6941 information about the current wireless network connections, and adapters on
6942 supported systems.")
6943 (license license:bsd-3)))
6944
6945 (define-public ghc-json
6946 (package
6947 (name "ghc-json")
6948 (version "0.9.3")
6949 (source
6950 (origin
6951 (method url-fetch)
6952 (uri (string-append "https://hackage.haskell.org/package/json/"
6953 "json-" version ".tar.gz"))
6954 (sha256
6955 (base32
6956 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
6957 (build-system haskell-build-system)
6958 (inputs
6959 `(("ghc-syb" ,ghc-syb)))
6960 (home-page "https://hackage.haskell.org/package/json")
6961 (synopsis "Serializes Haskell data to and from JSON")
6962 (description "This package provides a parser and pretty printer for
6963 converting between Haskell values and JSON.
6964 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6965 (license license:bsd-3)))
6966
6967 (define-public ghc-juicypixels
6968 (package
6969 (name "ghc-juicypixels")
6970 (version "3.3.4")
6971 (source (origin
6972 (method url-fetch)
6973 (uri (string-append "https://hackage.haskell.org/package/"
6974 "JuicyPixels/JuicyPixels-"
6975 version ".tar.gz"))
6976 (sha256
6977 (base32
6978 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
6979 (build-system haskell-build-system)
6980 (outputs '("out" "static" "doc"))
6981 (inputs
6982 `(("ghc-zlib" ,ghc-zlib)
6983 ("ghc-vector" ,ghc-vector)
6984 ("ghc-primitive" ,ghc-primitive)
6985 ("ghc-mmap" ,ghc-mmap)))
6986 (home-page "https://github.com/Twinside/Juicy.Pixels")
6987 (synopsis "Picture loading and serialization library")
6988 (description
6989 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6990 TIFF and GIF formats.")
6991 (license license:bsd-3)))
6992
6993 (define-public ghc-kan-extensions
6994 (package
6995 (name "ghc-kan-extensions")
6996 (version "5.2")
6997 (source
6998 (origin
6999 (method url-fetch)
7000 (uri (string-append
7001 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
7002 version
7003 ".tar.gz"))
7004 (sha256
7005 (base32
7006 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
7007 (build-system haskell-build-system)
7008 (inputs
7009 `(("ghc-adjunctions" ,ghc-adjunctions)
7010 ("ghc-comonad" ,ghc-comonad)
7011 ("ghc-contravariant" ,ghc-contravariant)
7012 ("ghc-distributive" ,ghc-distributive)
7013 ("ghc-free" ,ghc-free)
7014 ("ghc-invariant" ,ghc-invariant)
7015 ("ghc-semigroupoids" ,ghc-semigroupoids)
7016 ("ghc-tagged" ,ghc-tagged)
7017 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7018 (home-page "https://github.com/ekmett/kan-extensions/")
7019 (synopsis "Kan extensions library")
7020 (description "This library provides Kan extensions, Kan lifts, various
7021 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
7022 (license license:bsd-3)))
7023
7024 (define-public ghc-language-c
7025 (package
7026 (name "ghc-language-c")
7027 (version "0.8.3")
7028 (source
7029 (origin
7030 (method url-fetch)
7031 (uri (string-append "https://hackage.haskell.org/package/"
7032 "language-c/language-c-" version ".tar.gz"))
7033 (sha256
7034 (base32
7035 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
7036 (build-system haskell-build-system)
7037 (inputs `(("ghc-syb" ,ghc-syb)))
7038 (native-inputs
7039 `(("ghc-happy" ,ghc-happy)
7040 ("ghc-alex" ,ghc-alex)))
7041 (home-page "https://visq.github.io/language-c/")
7042 (synopsis "Analysis and generation of C code")
7043 (description
7044 "Language C is a Haskell library for the analysis and generation of C code.
7045 It features a complete, well-tested parser and pretty printer for all of C99
7046 and a large set of GNU extensions.")
7047 (license license:bsd-3)))
7048
7049 (define-public ghc-language-glsl
7050 (package
7051 (name "ghc-language-glsl")
7052 (version "0.3.0")
7053 (source
7054 (origin
7055 (method url-fetch)
7056 (uri (string-append "https://hackage.haskell.org/package/"
7057 "language-glsl/language-glsl-" version ".tar.gz"))
7058 (sha256
7059 (base32
7060 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
7061 (build-system haskell-build-system)
7062 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
7063 (arguments
7064 `(#:tests? #f
7065 #:cabal-revision
7066 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
7067 (home-page "https://hackage.haskell.org/package/language-glsl")
7068 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
7069 (description "This package is a Haskell library for the
7070 representation, parsing, and pretty-printing of GLSL 1.50 code.")
7071 (license license:bsd-3)))
7072
7073 (define-public ghc-language-haskell-extract
7074 (package
7075 (name "ghc-language-haskell-extract")
7076 (version "0.2.4")
7077 (source
7078 (origin
7079 (method url-fetch)
7080 (uri (string-append "https://hackage.haskell.org/package/"
7081 "language-haskell-extract-" version "/"
7082 "language-haskell-extract-" version ".tar.gz"))
7083 (sha256
7084 (base32
7085 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
7086 (build-system haskell-build-system)
7087 (inputs
7088 `(("ghc-regex-posix" ,ghc-regex-posix)))
7089 (home-page "https://github.com/finnsson/template-helper")
7090 (synopsis "Haskell module to automatically extract functions from
7091 the local code")
7092 (description "This package contains helper functions on top of
7093 Template Haskell.
7094
7095 For example, @code{functionExtractor} extracts all functions after a
7096 regexp-pattern, which can be useful if you wish to extract all functions
7097 beginning with @code{test} (for a test framework) or all functions beginning
7098 with @code{wc} (for a web service).")
7099 (license license:bsd-3)))
7100
7101 (define-public ghc-lens
7102 (package
7103 (name "ghc-lens")
7104 (version "4.17.1")
7105 (source
7106 (origin
7107 (method url-fetch)
7108 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
7109 version ".tar.gz"))
7110 (sha256
7111 (base32
7112 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
7113 (build-system haskell-build-system)
7114 (outputs '("out" "static" "doc"))
7115 (inputs
7116 `(("ghc-base-orphans" ,ghc-base-orphans)
7117 ("ghc-bifunctors" ,ghc-bifunctors)
7118 ("ghc-distributive" ,ghc-distributive)
7119 ("ghc-exceptions" ,ghc-exceptions)
7120 ("ghc-free" ,ghc-free)
7121 ("ghc-kan-extensions" ,ghc-kan-extensions)
7122 ("ghc-parallel" ,ghc-parallel)
7123 ("ghc-reflection" ,ghc-reflection)
7124 ("ghc-semigroupoids" ,ghc-semigroupoids)
7125 ("ghc-vector" ,ghc-vector)
7126 ("ghc-call-stack" ,ghc-call-stack)
7127 ("ghc-comonad" ,ghc-comonad)
7128 ("ghc-contravariant" ,ghc-contravariant)
7129 ("ghc-hashable" ,ghc-hashable)
7130 ("ghc-profunctors" ,ghc-profunctors)
7131 ("ghc-semigroups" ,ghc-semigroups)
7132 ("ghc-tagged" ,ghc-tagged)
7133 ("ghc-transformers-compat" ,ghc-transformers-compat)
7134 ("ghc-unordered-containers" ,ghc-unordered-containers)
7135 ("ghc-void" ,ghc-void)
7136 ("ghc-generic-deriving" ,ghc-generic-deriving)
7137 ("ghc-nats" ,ghc-nats)
7138 ("ghc-simple-reflect" ,ghc-simple-reflect)
7139 ("hlint" ,hlint)))
7140 (native-inputs
7141 `(("cabal-doctest" ,cabal-doctest)
7142 ("ghc-doctest" ,ghc-doctest)
7143 ("ghc-hunit" ,ghc-hunit)
7144 ("ghc-test-framework" ,ghc-test-framework)
7145 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7146 ("ghc-test-framework-th" ,ghc-test-framework-th)
7147 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7148 ("ghc-quickcheck" ,ghc-quickcheck)))
7149 (home-page "https://github.com/ekmett/lens/")
7150 (synopsis "Lenses, Folds and Traversals")
7151 (description "This library provides @code{Control.Lens}. The combinators
7152 in @code{Control.Lens} provide a highly generic toolbox for composing families
7153 of getters, folds, isomorphisms, traversals, setters and lenses and their
7154 indexed variants.")
7155 (license license:bsd-3)))
7156
7157 (define-public ghc-lens-family-core
7158 (package
7159 (name "ghc-lens-family-core")
7160 (version "1.2.3")
7161 (source
7162 (origin
7163 (method url-fetch)
7164 (uri (string-append
7165 "mirror://hackage/package/lens-family-core/lens-family-core-"
7166 version
7167 ".tar.gz"))
7168 (sha256
7169 (base32
7170 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
7171 (build-system haskell-build-system)
7172 (home-page
7173 "http://hackage.haskell.org/package/lens-family-core")
7174 (synopsis "Haskell 98 Lens Families")
7175 (description
7176 "This package provides first class functional references. In addition to
7177 the usual operations of getting, setting and composition, plus integration
7178 with the state monad, lens families provide some unique features:
7179
7180 @itemize
7181 @item Polymorphic updating
7182 @item Traversals
7183 @item Cast projection functions to read-only lenses
7184 @item Cast @code{toList} functions to read-only traversals
7185 @item Cast semantic editor combinators to modify-only traversals
7186 @end itemize
7187
7188 For optimal first-class support use the lens-family package with rank 2/rank N
7189 polymorphism. @code{Lens.Family.Clone} allows for first-class support of
7190 lenses and traversals for those who require Haskell 98.")
7191 (license license:bsd-3)))
7192
7193 (define-public ghc-libffi
7194 (package
7195 (name "ghc-libffi")
7196 (version "0.1")
7197 (source
7198 (origin
7199 (method url-fetch)
7200 (uri (string-append "https://hackage.haskell.org/package/"
7201 "libffi/libffi-" version ".tar.gz"))
7202 (sha256
7203 (base32
7204 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
7205 (build-system haskell-build-system)
7206 (native-inputs `(("pkg-config" ,pkg-config)))
7207 (inputs `(("libffi" ,libffi)))
7208 (home-page "https://hackage.haskell.org/package/libffi")
7209 (synopsis "Haskell binding to libffi")
7210 (description
7211 "A binding to libffi, allowing C functions of types only known at runtime
7212 to be called from Haskell.")
7213 (license license:bsd-3)))
7214
7215 (define-public ghc-libmpd
7216 (package
7217 (name "ghc-libmpd")
7218 (version "0.9.0.10")
7219 (source
7220 (origin
7221 (method url-fetch)
7222 (uri (string-append
7223 "mirror://hackage/package/libmpd/libmpd-"
7224 version
7225 ".tar.gz"))
7226 (sha256
7227 (base32
7228 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
7229 (build-system haskell-build-system)
7230 ;; Tests fail on i686.
7231 ;; See https://github.com/vimus/libmpd-haskell/issues/112
7232 (arguments `(#:tests? #f))
7233 (inputs
7234 `(("ghc-attoparsec" ,ghc-attoparsec)
7235 ("ghc-old-locale" ,ghc-old-locale)
7236 ("ghc-data-default-class" ,ghc-data-default-class)
7237 ("ghc-network" ,ghc-network)
7238 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
7239 ("ghc-utf8-string" ,ghc-utf8-string)))
7240 (native-inputs
7241 `(("ghc-quickcheck" ,ghc-quickcheck)
7242 ("ghc-hspec" ,ghc-hspec)
7243 ("hspec-discover" ,hspec-discover)))
7244 (home-page "https://github.com/vimus/libmpd-haskell")
7245 (synopsis "Haskell client library for the Music Player Daemon")
7246 (description "This package provides a pure Haskell client library for the
7247 Music Player Daemon.")
7248 (license license:expat)))
7249
7250 (define-public ghc-lib-parser
7251 (package
7252 (name "ghc-lib-parser")
7253 (version "8.8.0.20190424")
7254 (source
7255 (origin
7256 (method url-fetch)
7257 (uri (string-append "https://hackage.haskell.org/package/"
7258 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
7259 (sha256
7260 (base32
7261 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
7262 (build-system haskell-build-system)
7263 (outputs '("out" "static" "doc")) ; documentation is 39M
7264 (native-inputs
7265 `(("ghc-alex" ,ghc-alex)
7266 ("ghc-happy" ,ghc-happy)))
7267 (home-page "https://github.com/digital-asset/ghc-lib")
7268 (synopsis "The GHC API, decoupled from GHC versions")
7269 (description "This library implements the GHC API. It is like the
7270 compiler-provided @code{ghc} package, but it can be loaded on many
7271 compiler versions.")
7272 (license license:bsd-3)))
7273
7274 (define-public ghc-libxml
7275 (package
7276 (name "ghc-libxml")
7277 (version "0.1.1")
7278 (source
7279 (origin
7280 (method url-fetch)
7281 (uri (string-append "https://hackage.haskell.org/package/libxml/"
7282 "libxml-" version ".tar.gz"))
7283 (sha256
7284 (base32
7285 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
7286 (build-system haskell-build-system)
7287 (inputs
7288 `(("libxml2" ,libxml2)))
7289 (arguments
7290 `(#:configure-flags
7291 `(,(string-append "--extra-include-dirs="
7292 (assoc-ref %build-inputs "libxml2")
7293 "/include/libxml2"))))
7294 (home-page "https://hackage.haskell.org/package/libxml")
7295 (synopsis "Haskell bindings to libxml2")
7296 (description
7297 "This library provides minimal Haskell binding to libxml2.")
7298 (license license:bsd-3)))
7299
7300 (define-public ghc-libyaml
7301 (package
7302 (name "ghc-libyaml")
7303 (version "0.1.1.0")
7304 (source
7305 (origin
7306 (method url-fetch)
7307 (uri (string-append "https://hackage.haskell.org/package/"
7308 "libyaml/libyaml-" version ".tar.gz"))
7309 (sha256
7310 (base32
7311 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
7312 (modules '((guix build utils)))
7313 (snippet
7314 ;; Delete bundled LibYAML.
7315 '(begin
7316 (delete-file-recursively "libyaml_src")
7317 #t))))
7318 (build-system haskell-build-system)
7319 (arguments
7320 `(#:configure-flags `("--flags=system-libyaml")
7321 #:extra-directories ("libyaml+static")))
7322 (inputs
7323 `(("ghc-conduit" ,ghc-conduit)
7324 ("ghc-resourcet" ,ghc-resourcet)
7325 ("libyaml+static" ,libyaml+static)))
7326 (home-page "https://github.com/snoyberg/yaml#readme")
7327 (synopsis "Low-level, streaming YAML interface.")
7328 (description "This package provides a Haskell wrapper over the
7329 LibYAML C library.")
7330 (license license:bsd-3)))
7331
7332 (define-public ghc-lifted-async
7333 (package
7334 (name "ghc-lifted-async")
7335 (version "0.10.0.4")
7336 (source
7337 (origin
7338 (method url-fetch)
7339 (uri (string-append
7340 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7341 version ".tar.gz"))
7342 (sha256
7343 (base32
7344 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
7345 (build-system haskell-build-system)
7346 (inputs
7347 `(("ghc-async" ,ghc-async)
7348 ("ghc-lifted-base" ,ghc-lifted-base)
7349 ("ghc-transformers-base" ,ghc-transformers-base)
7350 ("ghc-monad-control" ,ghc-monad-control)
7351 ("ghc-constraints" ,ghc-constraints)
7352 ("ghc-hunit" ,ghc-hunit)
7353 ("ghc-tasty" ,ghc-tasty)
7354 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
7355 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7356 ("ghc-tasty-th" ,ghc-tasty-th)))
7357 (home-page "https://github.com/maoe/lifted-async")
7358 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7359 (description
7360 "This package provides IO operations from @code{async} package lifted to any
7361 instance of @code{MonadBase} or @code{MonadBaseControl}.")
7362 (license license:bsd-3)))
7363
7364 (define-public ghc-lifted-base
7365 (package
7366 (name "ghc-lifted-base")
7367 (version "0.2.3.12")
7368 (source
7369 (origin
7370 (method url-fetch)
7371 (uri (string-append
7372 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
7373 version
7374 ".tar.gz"))
7375 (sha256
7376 (base32
7377 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
7378 (build-system haskell-build-system)
7379 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
7380 (inputs
7381 `(("ghc-transformers-base" ,ghc-transformers-base)
7382 ("ghc-monad-control" ,ghc-monad-control)
7383 ("ghc-transformers-compat" ,ghc-transformers-compat)
7384 ("ghc-hunit" ,ghc-hunit)))
7385 (home-page "https://github.com/basvandijk/lifted-base")
7386 (synopsis "Lifted IO operations from the base library")
7387 (description "Lifted-base exports IO operations from the @code{base}
7388 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
7389 Note that not all modules from @code{base} are converted yet. The package
7390 includes a copy of the @code{monad-peel} test suite written by Anders
7391 Kaseorg.")
7392 (license license:bsd-3)))
7393
7394 (define-public ghc-linear
7395 (package
7396 (name "ghc-linear")
7397 (version "1.20.9")
7398 (source
7399 (origin
7400 (method url-fetch)
7401 (uri (string-append "https://hackage.haskell.org/package/linear/"
7402 "linear-" version ".tar.gz"))
7403 (sha256
7404 (base32
7405 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
7406 (build-system haskell-build-system)
7407 (inputs
7408 `(("ghc-adjunctions" ,ghc-adjunctions)
7409 ("ghc-base-orphans" ,ghc-base-orphans)
7410 ("ghc-bytes" ,ghc-bytes)
7411 ("ghc-cereal" ,ghc-cereal)
7412 ("ghc-distributive" ,ghc-distributive)
7413 ("ghc-hashable" ,ghc-hashable)
7414 ("ghc-lens" ,ghc-lens)
7415 ("ghc-reflection" ,ghc-reflection)
7416 ("ghc-semigroups" ,ghc-semigroups)
7417 ("ghc-semigroupoids" ,ghc-semigroupoids)
7418 ("ghc-tagged" ,ghc-tagged)
7419 ("ghc-transformers-compat" ,ghc-transformers-compat)
7420 ("ghc-unordered-containers" ,ghc-unordered-containers)
7421 ("ghc-vector" ,ghc-vector)
7422 ("ghc-void" ,ghc-void)))
7423 (native-inputs
7424 `(("cabal-doctest" ,cabal-doctest)
7425 ("ghc-doctest" ,ghc-doctest)
7426 ("ghc-simple-reflect" ,ghc-simple-reflect)
7427 ("ghc-test-framework" ,ghc-test-framework)
7428 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7429 ("ghc-hunit" ,ghc-hunit)))
7430 (home-page "https://github.com/ekmett/linear/")
7431 (synopsis "Linear algebra library for Haskell")
7432 (description
7433 "This package provides types and combinators for linear algebra on free
7434 vector spaces.")
7435 (license license:bsd-3)))
7436
7437 (define-public ghc-listlike
7438 (package
7439 (name "ghc-listlike")
7440 (version "4.6.2")
7441 (source
7442 (origin
7443 (method url-fetch)
7444 (uri
7445 (string-append
7446 "https://hackage.haskell.org/package/ListLike/ListLike-"
7447 version ".tar.gz"))
7448 (sha256
7449 (base32
7450 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7451 (build-system haskell-build-system)
7452 (inputs
7453 `(("ghc-vector" ,ghc-vector)
7454 ("ghc-dlist" ,ghc-dlist)
7455 ("ghc-fmlist" ,ghc-fmlist)
7456 ("ghc-hunit" ,ghc-hunit)
7457 ("ghc-quickcheck" ,ghc-quickcheck)
7458 ("ghc-random" ,ghc-random)
7459 ("ghc-utf8-string" ,ghc-utf8-string)))
7460 (home-page "https://github.com/JohnLato/listlike")
7461 (synopsis "Generic support for list-like structures")
7462 (description "The ListLike module provides a common interface to the
7463 various Haskell types that are list-like. Predefined interfaces include
7464 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7465 Custom types can easily be made ListLike instances as well.
7466
7467 ListLike also provides for String-like types, such as String and
7468 ByteString, for types that support input and output, and for types that
7469 can handle infinite lists.")
7470 (license license:bsd-3)))
7471
7472 (define-public ghc-llvm-hs-pure
7473 (package
7474 (name "ghc-llvm-hs-pure")
7475 (version "9.0.0")
7476 (source
7477 (origin
7478 (method url-fetch)
7479 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7480 "llvm-hs-pure-" version ".tar.gz"))
7481 (sha256
7482 (base32
7483 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7484 (build-system haskell-build-system)
7485 (inputs
7486 `(("ghc-attoparsec" ,ghc-attoparsec)
7487 ("ghc-fail" ,ghc-fail)
7488 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7489 (native-inputs
7490 `(("ghc-tasty" ,ghc-tasty)
7491 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7492 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7493 (home-page "https://github.com/llvm-hs/llvm-hs/")
7494 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7495 (description "llvm-hs-pure is a set of pure Haskell types and functions
7496 for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7497 LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7498 llvm-hs-pure does not require LLVM to be available.")
7499 (license license:bsd-3)))
7500
7501 (define-public ghc-llvm-hs
7502 (package
7503 (name "ghc-llvm-hs")
7504 (version "9.0.1")
7505 (source
7506 (origin
7507 (method url-fetch)
7508 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7509 version ".tar.gz"))
7510 (sha256
7511 (base32
7512 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7513 (build-system haskell-build-system)
7514 (inputs
7515 `(("ghc-attoparsec" ,ghc-attoparsec)
7516 ("ghc-exceptions" ,ghc-exceptions)
7517 ("ghc-utf8-string" ,ghc-utf8-string)
7518 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7519 ("llvm" ,llvm-9)))
7520 (native-inputs
7521 `(("ghc-tasty" ,ghc-tasty)
7522 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7523 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7524 ("ghc-quickcheck" ,ghc-quickcheck)
7525 ("ghc-temporary" ,ghc-temporary)
7526 ("ghc-pretty-show" ,ghc-pretty-show)
7527 ("ghc-temporary" ,ghc-temporary)))
7528 (home-page "https://github.com/llvm-hs/llvm-hs/")
7529 (synopsis "General purpose LLVM bindings for Haskell")
7530 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7531 current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7532 IR, and so offers two advantages: it handles almost all of the stateful
7533 complexities of using the LLVM API to build IR; and it supports moving IR not
7534 only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7535 into Haskell.")
7536 (license license:bsd-3)))
7537
7538 (define-public ghc-logging-facade
7539 (package
7540 (name "ghc-logging-facade")
7541 (version "0.3.0")
7542 (source (origin
7543 (method url-fetch)
7544 (uri (string-append "https://hackage.haskell.org/package/"
7545 "logging-facade/logging-facade-"
7546 version ".tar.gz"))
7547 (sha256
7548 (base32
7549 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7550 (build-system haskell-build-system)
7551 (native-inputs
7552 `(("ghc-hspec" ,ghc-hspec)
7553 ("hspec-discover" ,hspec-discover)))
7554 (home-page "https://hackage.haskell.org/package/logging-facade")
7555 (synopsis "Simple logging abstraction that allows multiple back-ends")
7556 (description
7557 "This package provides a simple logging abstraction that allows multiple
7558 back-ends.")
7559 (license license:expat)))
7560
7561 (define-public ghc-logict
7562 (package
7563 (name "ghc-logict")
7564 (version "0.7.0.2")
7565 (source
7566 (origin
7567 (method url-fetch)
7568 (uri (string-append
7569 "https://hackage.haskell.org/package/logict/logict-"
7570 version
7571 ".tar.gz"))
7572 (sha256
7573 (base32
7574 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
7575 (build-system haskell-build-system)
7576 (native-inputs
7577 `(("ghc-tasty" ,ghc-tasty)
7578 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7579 (home-page "http://code.haskell.org/~dolio/")
7580 (synopsis "Backtracking logic-programming monad")
7581 (description "This library provides a continuation-based, backtracking,
7582 logic programming monad. An adaptation of the two-continuation implementation
7583 found in the paper \"Backtracking, Interleaving, and Terminating Monad
7584 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7585 online}.")
7586 (license license:bsd-3)))
7587
7588 (define-public ghc-lucid
7589 (package
7590 (name "ghc-lucid")
7591 (version "2.9.12")
7592 (source
7593 (origin
7594 (method url-fetch)
7595 (uri (string-append
7596 "https://hackage.haskell.org/package/lucid/lucid-"
7597 version
7598 ".tar.gz"))
7599 (sha256
7600 (base32
7601 "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh"))))
7602 (build-system haskell-build-system)
7603 (inputs
7604 `(("ghc-blaze-builder" ,ghc-blaze-builder)
7605 ("ghc-hashable" ,ghc-hashable)
7606 ("ghc-mmorph" ,ghc-mmorph)
7607 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7608 (native-inputs
7609 `(("ghc-hunit" ,ghc-hunit)
7610 ("ghc-hspec" ,ghc-hspec)
7611 ("ghc-bifunctors" ,ghc-bifunctors)))
7612 (arguments
7613 `(#:cabal-revision
7614 ("1"
7615 "1f0whk5ncanxfjjanrf6rqyncig2xgc5mh2j0sqy3nrlyjr9aqq9")))
7616 (home-page "https://github.com/chrisdone/lucid")
7617 (synopsis "Haskell DSL for rendering HTML")
7618 (description "Clear to write, read and edit Haskell DSL for HTML.
7619
7620 @itemize @bullet
7621 @item
7622 Names are consistent, and do not conflict with base or are keywords
7623 (all have suffix @code{-}).
7624 @item
7625 Same combinator can be used for attributes and elements
7626 (e.g. @code{style_}).
7627 @end itemize")
7628 (license license:bsd-3)))
7629
7630 (define-public ghc-lzma
7631 (package
7632 (name "ghc-lzma")
7633 (version "0.0.0.3")
7634 (source
7635 (origin
7636 (method url-fetch)
7637 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7638 "lzma-" version ".tar.gz"))
7639 (sha256
7640 (base32
7641 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7642 (build-system haskell-build-system)
7643 (arguments
7644 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7645 #:cabal-revision
7646 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7647 (native-inputs
7648 `(("ghc-hunit" ,ghc-hunit)
7649 ("ghc-quickcheck" ,ghc-quickcheck)
7650 ("ghc-tasty" ,ghc-tasty)
7651 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7652 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7653 (home-page "https://github.com/hvr/lzma")
7654 (synopsis "LZMA/XZ compression and decompression")
7655 (description
7656 "This package provides a pure interface for compressing and
7657 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7658 monadic incremental interface is provided as well.")
7659 (license license:bsd-3)))
7660
7661 (define-public ghc-lzma-conduit
7662 (package
7663 (name "ghc-lzma-conduit")
7664 (version "1.2.1")
7665 (source
7666 (origin
7667 (method url-fetch)
7668 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7669 "lzma-conduit-" version ".tar.gz"))
7670 (sha256
7671 (base32
7672 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7673 (build-system haskell-build-system)
7674 (inputs
7675 `(("ghc-conduit" ,ghc-conduit)
7676 ("ghc-lzma" ,ghc-lzma)
7677 ("ghc-resourcet" ,ghc-resourcet)))
7678 (native-inputs
7679 `(("ghc-base-compat" ,ghc-base-compat)
7680 ("ghc-test-framework" ,ghc-test-framework)
7681 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7682 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7683 ("ghc-hunit" ,ghc-hunit)
7684 ("ghc-quickcheck" ,ghc-quickcheck)))
7685 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7686 (synopsis "Conduit interface for lzma/xz compression")
7687 (description
7688 "This package provides a @code{Conduit} interface for the LZMA
7689 compression algorithm used in the @code{.xz} file format.")
7690 (license license:bsd-3)))
7691
7692 (define-public ghc-magic
7693 (package
7694 (name "ghc-magic")
7695 (version "1.1")
7696 (source
7697 (origin
7698 (method url-fetch)
7699 (uri (string-append
7700 "https://hackage.haskell.org/package/magic/magic-"
7701 version ".tar.gz"))
7702 (sha256
7703 (base32
7704 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7705 (build-system haskell-build-system)
7706 (home-page "https://hackage.haskell.org/package/magic")
7707 (synopsis "Interface to C file/magic library")
7708 (description
7709 "This package provides a full-featured binding to the C libmagic library.
7710 With it, you can determine the type of a file by examining its contents rather
7711 than its name.")
7712 (license license:bsd-3)))
7713
7714 (define-public ghc-managed
7715 (package
7716 (name "ghc-managed")
7717 (version "1.0.6")
7718 (source
7719 (origin
7720 (method url-fetch)
7721 (uri (string-append
7722 "mirror://hackage/package/managed/managed-"
7723 version
7724 ".tar.gz"))
7725 (sha256
7726 (base32
7727 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7728 (build-system haskell-build-system)
7729 (home-page "http://hackage.haskell.org/package/managed")
7730 (synopsis "Monad for managed values")
7731 (description
7732 "In Haskell you very often acquire values using the with... idiom using
7733 functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7734 special case of the ContT monad (from transformers) or the Codensity
7735 monad (from kan-extensions). The main purpose behind this package is to
7736 provide a restricted form of these monads specialized to this unusually common
7737 case.
7738
7739 The reason this package defines a specialized version of these types
7740 is to:
7741
7742 @itemize
7743 @item be more beginner-friendly,
7744 @item simplify inferred types and error messages, and:
7745 @item provide some additional type class instances that would otherwise be
7746 orphan instances
7747 @end itemize")
7748 (license license:bsd-3)))
7749
7750 (define-public ghc-markdown-unlit
7751 (package
7752 (name "ghc-markdown-unlit")
7753 (version "0.5.0")
7754 (source (origin
7755 (method url-fetch)
7756 (uri (string-append
7757 "mirror://hackage/package/markdown-unlit/"
7758 "markdown-unlit-" version ".tar.gz"))
7759 (sha256
7760 (base32
7761 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7762 (build-system haskell-build-system)
7763 (inputs
7764 `(("ghc-base-compat" ,ghc-base-compat)
7765 ("ghc-hspec" ,ghc-hspec)
7766 ("ghc-quickcheck" ,ghc-quickcheck)
7767 ("ghc-silently" ,ghc-silently)
7768 ("ghc-stringbuilder" ,ghc-stringbuilder)
7769 ("ghc-temporary" ,ghc-temporary)
7770 ("hspec-discover" ,hspec-discover)))
7771 (home-page "https://github.com/sol/markdown-unlit#readme")
7772 (synopsis "Literate Haskell support for Markdown")
7773 (description "This package allows you to have a README.md that at the
7774 same time is a literate Haskell program.")
7775 (license license:expat)))
7776
7777 (define-public ghc-math-functions
7778 (package
7779 (name "ghc-math-functions")
7780 (version "0.3.3.0")
7781 (source
7782 (origin
7783 (method url-fetch)
7784 (uri (string-append "https://hackage.haskell.org/package/"
7785 "math-functions-" version "/"
7786 "math-functions-" version ".tar.gz"))
7787 (sha256
7788 (base32
7789 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
7790 (build-system haskell-build-system)
7791 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7792 (inputs
7793 `(("ghc-data-default-class" ,ghc-data-default-class)
7794 ("ghc-vector" ,ghc-vector)
7795 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7796 (native-inputs
7797 `(("ghc-hunit" ,ghc-hunit)
7798 ("ghc-quickcheck" ,ghc-quickcheck)
7799 ("ghc-erf" ,ghc-erf)
7800 ("ghc-test-framework" ,ghc-test-framework)
7801 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7802 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7803 (home-page "https://github.com/bos/math-functions")
7804 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7805 (description "This Haskell library provides implementations of
7806 special mathematical functions and Chebyshev polynomials. These
7807 functions are often useful in statistical and numerical computing.")
7808 (license license:bsd-3)))
7809
7810 (define-public ghc-megaparsec
7811 (package
7812 (name "ghc-megaparsec")
7813 (version "7.0.5")
7814 (source
7815 (origin
7816 (method url-fetch)
7817 (uri (string-append "https://hackage.haskell.org/package/"
7818 "megaparsec/megaparsec-"
7819 version ".tar.gz"))
7820 (sha256
7821 (base32
7822 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
7823 (build-system haskell-build-system)
7824 (inputs
7825 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7826 ("ghc-parser-combinators" ,ghc-parser-combinators)
7827 ("ghc-scientific" ,ghc-scientific)))
7828 (native-inputs
7829 `(("ghc-quickcheck" ,ghc-quickcheck)
7830 ("ghc-hspec" ,ghc-hspec)
7831 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7832 ("hspec-discover" ,hspec-discover)))
7833 (home-page "https://github.com/mrkkrp/megaparsec")
7834 (synopsis "Monadic parser combinators")
7835 (description
7836 "This is an industrial-strength monadic parser combinator library.
7837 Megaparsec is a feature-rich package that strikes a nice balance between
7838 speed, flexibility, and quality of parse errors.")
7839 (license license:bsd-2)))
7840
7841 (define-public ghc-memory
7842 (package
7843 (name "ghc-memory")
7844 (version "0.14.18")
7845 (source (origin
7846 (method url-fetch)
7847 (uri (string-append "https://hackage.haskell.org/package/"
7848 "memory/memory-" version ".tar.gz"))
7849 (sha256
7850 (base32
7851 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
7852 (build-system haskell-build-system)
7853 (inputs
7854 `(("ghc-basement" ,ghc-basement)
7855 ("ghc-foundation" ,ghc-foundation)))
7856 (native-inputs
7857 `(("ghc-tasty" ,ghc-tasty)
7858 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7859 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7860 (home-page "https://github.com/vincenthz/hs-memory")
7861 (synopsis "Memory abstractions for Haskell")
7862 (description
7863 "This package provides memory abstractions, such as chunk of memory,
7864 polymorphic byte array management and manipulation functions. It contains a
7865 polymorphic byte array abstraction and functions similar to strict ByteString,
7866 different type of byte array abstraction, raw memory IO operations (memory
7867 set, memory copy, ..) and more")
7868 (license license:bsd-3)))
7869
7870 (define-public ghc-memotrie
7871 (package
7872 (name "ghc-memotrie")
7873 (version "0.6.9")
7874 (source
7875 (origin
7876 (method url-fetch)
7877 (uri (string-append
7878 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7879 version
7880 ".tar.gz"))
7881 (sha256
7882 (base32
7883 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7884 (build-system haskell-build-system)
7885 (inputs
7886 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7887 (home-page "https://github.com/conal/MemoTrie")
7888 (synopsis "Trie-based memo functions")
7889 (description "This package provides a functional library for creating
7890 efficient memo functions using tries.")
7891 (license license:bsd-3)))
7892
7893 (define-public ghc-microlens
7894 (package
7895 (name "ghc-microlens")
7896 (version "0.4.10")
7897 (source
7898 (origin
7899 (method url-fetch)
7900 (uri (string-append "https://hackage.haskell.org/package/"
7901 "microlens-" version "/"
7902 "microlens-" version ".tar.gz"))
7903 (sha256
7904 (base32
7905 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
7906 (build-system haskell-build-system)
7907 (home-page
7908 "https://github.com/aelve/microlens")
7909 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7910 (description "This Haskell package provides a lens library, just like
7911 @code{ghc-lens}, but smaller. It provides essential lenses and
7912 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7913 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7914 combinators (like @code{failing} and @code{singular}), but everything else is
7915 stripped. As the result, this package has no dependencies.")
7916 (license license:bsd-3)))
7917
7918 (define-public ghc-microlens-aeson
7919 (package
7920 (name "ghc-microlens-aeson")
7921 (version "2.3.0.4")
7922 (source
7923 (origin
7924 (method url-fetch)
7925 (uri (string-append "https://hackage.haskell.org/package/"
7926 "microlens-aeson/microlens-aeson-"
7927 version ".tar.gz"))
7928 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
7929 (sha256
7930 (base32
7931 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7932 (build-system haskell-build-system)
7933 (inputs
7934 `(("ghc-aeson" ,ghc-aeson)
7935 ("ghc-attoparsec" ,ghc-attoparsec)
7936 ("ghc-hashable" ,ghc-hashable)
7937 ("ghc-microlens" ,ghc-microlens)
7938 ("ghc-scientific" ,ghc-scientific)
7939 ("ghc-unordered-containers" ,ghc-unordered-containers)
7940 ("ghc-vector" ,ghc-vector)))
7941 (native-inputs
7942 `(("ghc-tasty" ,ghc-tasty)
7943 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7944 (home-page "https://github.com/fosskers/microlens-aeson")
7945 (synopsis "Law-abiding lenses for Aeson, using microlens")
7946 (description "This library provides law-abiding lenses for Aeson, using
7947 microlens.")
7948 (license license:expat)))
7949
7950 (define-public ghc-microlens-ghc
7951 (package
7952 (name "ghc-microlens-ghc")
7953 (version "0.4.10")
7954 (source
7955 (origin
7956 (method url-fetch)
7957 (uri (string-append
7958 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7959 version
7960 ".tar.gz"))
7961 (sha256
7962 (base32
7963 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
7964 (build-system haskell-build-system)
7965 (inputs `(("ghc-microlens" ,ghc-microlens)))
7966 (home-page "https://github.com/monadfix/microlens")
7967 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7968 (description "This library provides everything that @code{microlens}
7969 provides plus instances to make @code{each}, @code{at}, and @code{ix}
7970 usable with arrays, @code{ByteString}, and containers. This package is
7971 a part of the @uref{http://hackage.haskell.org/package/microlens,
7972 microlens} family; see the readme
7973 @uref{https://github.com/aelve/microlens#readme, on Github}.")
7974 (license license:bsd-3)))
7975
7976 (define-public ghc-microlens-mtl
7977 (package
7978 (name "ghc-microlens-mtl")
7979 (version "0.1.11.1")
7980 (source
7981 (origin
7982 (method url-fetch)
7983 (uri (string-append
7984 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7985 version
7986 ".tar.gz"))
7987 (sha256
7988 (base32
7989 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7990 (build-system haskell-build-system)
7991 (inputs
7992 `(("ghc-microlens" ,ghc-microlens)
7993 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7994 (home-page "https://github.com/monadfix/microlens")
7995 (synopsis
7996 "@code{microlens} support for Reader/Writer/State from mtl")
7997 (description
7998 "This package contains functions (like @code{view} or @code{+=}) which
7999 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
8000 mtl package. This package is a part of the
8001 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
8002 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
8003 (license license:bsd-3)))
8004
8005 (define-public ghc-microlens-platform
8006 (package
8007 (name "ghc-microlens-platform")
8008 (version "0.3.11")
8009 (source
8010 (origin
8011 (method url-fetch)
8012 (uri (string-append
8013 "https://hackage.haskell.org/package/"
8014 "microlens-platform/microlens-platform-" version ".tar.gz"))
8015 (sha256
8016 (base32
8017 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
8018 (build-system haskell-build-system)
8019 (inputs
8020 `(("ghc-hashable" ,ghc-hashable)
8021 ("ghc-microlens" ,ghc-microlens)
8022 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
8023 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
8024 ("ghc-microlens-th" ,ghc-microlens-th)
8025 ("ghc-unordered-containers" ,ghc-unordered-containers)
8026 ("ghc-vector" ,ghc-vector)))
8027 (home-page "https://github.com/monadfix/microlens")
8028 (synopsis "Feature-complete microlens")
8029 (description
8030 "This package exports a module which is the recommended starting point
8031 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
8032 you aren't trying to keep your dependencies minimal. By importing
8033 @code{Lens.Micro.Platform} you get all functions and instances from
8034 @uref{http://hackage.haskell.org/package/microlens, microlens},
8035 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
8036 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
8037 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
8038 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
8039 minor and major versions of @code{microlens-platform} are incremented whenever
8040 the minor and major versions of any other @code{microlens} package are
8041 incremented, so you can depend on the exact version of
8042 @code{microlens-platform} without specifying the version of @code{microlens}
8043 you need. This package is a part of the
8044 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
8045 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
8046 (license license:bsd-3)))
8047
8048 (define-public ghc-microlens-th
8049 (package
8050 (name "ghc-microlens-th")
8051 (version "0.4.2.3")
8052 (source
8053 (origin
8054 (method url-fetch)
8055 (uri (string-append "https://hackage.haskell.org/package/"
8056 "microlens-th-" version "/"
8057 "microlens-th-" version ".tar.gz"))
8058 (sha256
8059 (base32
8060 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
8061 (build-system haskell-build-system)
8062 (arguments
8063 `(#:cabal-revision
8064 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
8065 (inputs `(("ghc-microlens" ,ghc-microlens)
8066 ("ghc-th-abstraction" ,ghc-th-abstraction)))
8067 (home-page
8068 "https://github.com/aelve/microlens")
8069 (synopsis "Automatic generation of record lenses for
8070 @code{ghc-microlens}")
8071 (description "This Haskell package lets you automatically generate lenses
8072 for data types; code was extracted from the lens package, and therefore
8073 generated lenses are fully compatible with ones generated by lens (and can be
8074 used both from lens and microlens).")
8075 (license license:bsd-3)))
8076
8077 (define-public ghc-missingh
8078 (package
8079 (name "ghc-missingh")
8080 (version "1.4.1.0")
8081 (source
8082 (origin
8083 (method url-fetch)
8084 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
8085 "MissingH-" version ".tar.gz"))
8086 (sha256
8087 (base32
8088 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
8089 (build-system haskell-build-system)
8090 ;; Tests require the unmaintained testpack package, which depends on the
8091 ;; outdated QuickCheck version 2.7, which can no longer be built with
8092 ;; recent versions of GHC and Haskell libraries.
8093 (arguments '(#:tests? #f))
8094 (inputs
8095 `(("ghc-network" ,ghc-network)
8096 ("ghc-hunit" ,ghc-hunit)
8097 ("ghc-regex-compat" ,ghc-regex-compat)
8098 ("ghc-hslogger" ,ghc-hslogger)
8099 ("ghc-random" ,ghc-random)
8100 ("ghc-old-time" ,ghc-old-time)
8101 ("ghc-old-locale" ,ghc-old-locale)))
8102 (native-inputs
8103 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
8104 ("ghc-quickcheck" ,ghc-quickcheck)
8105 ("ghc-hunit" ,ghc-hunit)))
8106 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
8107 (home-page "https://github.com/haskell-hvr/missingh")
8108 (synopsis "Large utility library")
8109 (description
8110 "MissingH is a library of all sorts of utility functions for Haskell
8111 programmers. It is written in pure Haskell and thus should be extremely
8112 portable and easy to use.")
8113 (license license:bsd-3)))
8114
8115 (define-public ghc-mmap
8116 (package
8117 (name "ghc-mmap")
8118 (version "0.5.9")
8119 (source (origin
8120 (method url-fetch)
8121 (uri (string-append "https://hackage.haskell.org/package/"
8122 "mmap/mmap-" version ".tar.gz"))
8123 (sha256
8124 (base32
8125 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
8126 (build-system haskell-build-system)
8127 (home-page "https://hackage.haskell.org/package/mmap")
8128 (synopsis "Memory mapped files for Haskell")
8129 (description
8130 "This library provides a wrapper to @code{mmap}, allowing files or
8131 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
8132 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
8133 do on-demand loading.")
8134 (license license:bsd-3)))
8135
8136 (define-public ghc-mmorph
8137 (package
8138 (name "ghc-mmorph")
8139 (version "1.1.3")
8140 (source
8141 (origin
8142 (method url-fetch)
8143 (uri (string-append
8144 "https://hackage.haskell.org/package/mmorph/mmorph-"
8145 version
8146 ".tar.gz"))
8147 (sha256
8148 (base32
8149 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
8150 (build-system haskell-build-system)
8151 (inputs
8152 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
8153 (home-page "https://hackage.haskell.org/package/mmorph")
8154 (synopsis "Monad morphisms")
8155 (description
8156 "This library provides monad morphism utilities, most commonly used for
8157 manipulating monad transformer stacks.")
8158 (license license:bsd-3)))
8159
8160 (define-public ghc-mockery
8161 (package
8162 (name "ghc-mockery")
8163 (version "0.3.5")
8164 (source (origin
8165 (method url-fetch)
8166 (uri (string-append "https://hackage.haskell.org/package/"
8167 "mockery/mockery-" version ".tar.gz"))
8168 (sha256
8169 (base32
8170 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
8171 (build-system haskell-build-system)
8172 (inputs
8173 `(("ghc-temporary" ,ghc-temporary)
8174 ("ghc-logging-facade" ,ghc-logging-facade)
8175 ("ghc-base-compat" ,ghc-base-compat)))
8176 (native-inputs
8177 `(("ghc-hspec" ,ghc-hspec)
8178 ("hspec-discover" ,hspec-discover)))
8179 (home-page "https://hackage.haskell.org/package/mockery")
8180 (synopsis "Support functions for automated testing")
8181 (description
8182 "The mockery package provides support functions for automated testing.")
8183 (license license:expat)))
8184
8185 (define-public ghc-monad-control
8186 (package
8187 (name "ghc-monad-control")
8188 (version "1.0.2.3")
8189 (source
8190 (origin
8191 (method url-fetch)
8192 (uri (string-append
8193 "https://hackage.haskell.org/package/monad-control"
8194 "/monad-control-" version ".tar.gz"))
8195 (sha256
8196 (base32
8197 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
8198 (build-system haskell-build-system)
8199 (inputs
8200 `(("ghc-transformers-base" ,ghc-transformers-base)
8201 ("ghc-transformers-compat" ,ghc-transformers-compat)))
8202 (home-page "https://github.com/basvandijk/monad-control")
8203 (synopsis "Monad transformers to lift control operations like exception
8204 catching")
8205 (description "This package defines the type class @code{MonadBaseControl},
8206 a subset of @code{MonadBase} into which generic control operations such as
8207 @code{catch} can be lifted from @code{IO} or any other base monad.")
8208 (license license:bsd-3)))
8209
8210 (define-public ghc-monad-logger
8211 (package
8212 (name "ghc-monad-logger")
8213 (version "0.3.30")
8214 (source
8215 (origin
8216 (method url-fetch)
8217 (uri (string-append "https://hackage.haskell.org/package/"
8218 "monad-logger-" version "/"
8219 "monad-logger-" version ".tar.gz"))
8220 (sha256
8221 (base32
8222 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
8223 (build-system haskell-build-system)
8224 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
8225 ("ghc-stm-chans" ,ghc-stm-chans)
8226 ("ghc-lifted-base" ,ghc-lifted-base)
8227 ("ghc-resourcet" ,ghc-resourcet)
8228 ("ghc-conduit" ,ghc-conduit)
8229 ("ghc-conduit-extra" ,ghc-conduit-extra)
8230 ("ghc-fast-logger" ,ghc-fast-logger)
8231 ("ghc-transformers-base" ,ghc-transformers-base)
8232 ("ghc-monad-control" ,ghc-monad-control)
8233 ("ghc-monad-loops" ,ghc-monad-loops)
8234 ("ghc-blaze-builder" ,ghc-blaze-builder)
8235 ("ghc-exceptions" ,ghc-exceptions)))
8236 (home-page "https://github.com/kazu-yamamoto/logger")
8237 (synopsis "Provides a class of monads which can log messages for Haskell")
8238 (description "This Haskell package uses a monad transformer approach
8239 for logging.
8240
8241 This package provides Template Haskell functions for determining source
8242 code locations of messages.")
8243 (license license:expat)))
8244
8245 (define-public ghc-monad-loops
8246 (package
8247 (name "ghc-monad-loops")
8248 (version "0.4.3")
8249 (source
8250 (origin
8251 (method url-fetch)
8252 (uri (string-append "https://hackage.haskell.org/package/"
8253 "monad-loops-" version "/"
8254 "monad-loops-" version ".tar.gz"))
8255 (sha256
8256 (base32
8257 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
8258 (build-system haskell-build-system)
8259 (native-inputs `(("ghc-tasty" ,ghc-tasty)
8260 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8261 (home-page "https://github.com/mokus0/monad-loops")
8262 (synopsis "Monadic loops for Haskell")
8263 (description "This Haskell package provides some useful control
8264 operators for looping.")
8265 (license license:public-domain)))
8266
8267 (define-public ghc-monad-par
8268 (package
8269 (name "ghc-monad-par")
8270 (version "0.3.4.8")
8271 (source
8272 (origin
8273 (method url-fetch)
8274 (uri (string-append "https://hackage.haskell.org/package/"
8275 "monad-par-" version "/"
8276 "monad-par-" version ".tar.gz"))
8277 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
8278 (sha256
8279 (base32
8280 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8281 (build-system haskell-build-system)
8282 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8283 ("ghc-abstract-deque" ,ghc-abstract-deque)
8284 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8285 ("ghc-mwc-random" ,ghc-mwc-random)
8286 ("ghc-parallel" ,ghc-parallel)))
8287 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8288 ("ghc-hunit" ,ghc-hunit)
8289 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8290 ("ghc-test-framework-quickcheck2"
8291 ,ghc-test-framework-quickcheck2)
8292 ("ghc-test-framework" ,ghc-test-framework)
8293 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8294 (home-page "https://github.com/simonmar/monad-par")
8295 (synopsis "Haskell library for parallel programming based on a monad")
8296 (description "The @code{Par} monad offers an API for parallel
8297 programming. The library works for parallelising both pure and @code{IO}
8298 computations, although only the pure version is deterministic. The default
8299 implementation provides a work-stealing scheduler and supports forking tasks
8300 that are much lighter weight than IO-threads.")
8301 (license license:bsd-3)))
8302
8303 (define-public ghc-monad-par-extras
8304 (package
8305 (name "ghc-monad-par-extras")
8306 (version "0.3.3")
8307 (source
8308 (origin
8309 (method url-fetch)
8310 (uri (string-append "https://hackage.haskell.org/package/"
8311 "monad-par-extras-" version "/"
8312 "monad-par-extras-" version ".tar.gz"))
8313 (sha256
8314 (base32
8315 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8316 (build-system haskell-build-system)
8317 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8318 ("ghc-cereal" ,ghc-cereal)
8319 ("ghc-random" ,ghc-random)))
8320 (home-page "https://github.com/simonmar/monad-par")
8321 (synopsis "Combinators and extra features for Par monads for Haskell")
8322 (description "This Haskell package provides additional data structures,
8323 and other added capabilities layered on top of the @code{Par} monad.")
8324 (license license:bsd-3)))
8325
8326 (define-public ghc-monadrandom
8327 (package
8328 (name "ghc-monadrandom")
8329 (version "0.5.1.1")
8330 (source
8331 (origin
8332 (method url-fetch)
8333 (uri (string-append "https://hackage.haskell.org/package/"
8334 "MonadRandom-" version "/"
8335 "MonadRandom-" version ".tar.gz"))
8336 (sha256
8337 (base32
8338 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
8339 (build-system haskell-build-system)
8340 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
8341 ("ghc-primitive" ,ghc-primitive)
8342 ("ghc-fail" ,ghc-fail)
8343 ("ghc-random" ,ghc-random)))
8344 (home-page "https://github.com/byorgey/MonadRandom")
8345 (synopsis "Random-number generation monad for Haskell")
8346 (description "This Haskell package provides support for computations
8347 which consume random values.")
8348 (license license:bsd-3)))
8349
8350 (define-public ghc-monads-tf
8351 (package
8352 (name "ghc-monads-tf")
8353 (version "0.1.0.3")
8354 (source
8355 (origin
8356 (method url-fetch)
8357 (uri (string-append
8358 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
8359 version ".tar.gz"))
8360 (sha256
8361 (base32
8362 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
8363 (build-system haskell-build-system)
8364 (home-page "https://hackage.haskell.org/package/monads-tf")
8365 (synopsis "Monad classes, using type families")
8366 (description
8367 "Monad classes using type families, with instances for various monad transformers,
8368 inspired by the paper 'Functional Programming with Overloading and Higher-Order
8369 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
8370 the @code{mtl-tf} package.")
8371 (license license:bsd-3)))
8372
8373 (define-public ghc-mono-traversable
8374 (package
8375 (name "ghc-mono-traversable")
8376 (version "1.0.13.0")
8377 (source
8378 (origin
8379 (method url-fetch)
8380 (uri (string-append "https://hackage.haskell.org/package/"
8381 "mono-traversable-" version "/"
8382 "mono-traversable-" version ".tar.gz"))
8383 (sha256
8384 (base32
8385 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
8386 (build-system haskell-build-system)
8387 (outputs '("out" "static" "doc"))
8388 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
8389 ("ghc-hashable" ,ghc-hashable)
8390 ("ghc-vector" ,ghc-vector)
8391 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8392 ("ghc-split" ,ghc-split)))
8393 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8394 ("ghc-hunit" ,ghc-hunit)
8395 ("ghc-quickcheck" ,ghc-quickcheck)
8396 ("ghc-semigroups" ,ghc-semigroups)
8397 ("ghc-foldl" ,ghc-foldl)))
8398 (home-page "https://github.com/snoyberg/mono-traversable")
8399 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
8400 containers")
8401 (description "This Haskell package provides Monomorphic variants of the
8402 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
8403 basic typeclasses, you understand mono-traversable. In addition to what
8404 you are used to, it adds on an IsSequence typeclass and has code for marking
8405 data structures as non-empty.")
8406 (license license:expat)))
8407
8408 (define-public ghc-monoid-extras
8409 (package
8410 (name "ghc-monoid-extras")
8411 (version "0.5.1")
8412 (source
8413 (origin
8414 (method url-fetch)
8415 (uri (string-append "https://hackage.haskell.org/package/"
8416 "monoid-extras/monoid-extras-" version ".tar.gz"))
8417 (sha256
8418 (base32
8419 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
8420 (build-system haskell-build-system)
8421 (inputs
8422 `(("ghc-groups" ,ghc-groups)
8423 ("ghc-semigroups" ,ghc-semigroups)
8424 ("ghc-semigroupoids" ,ghc-semigroupoids)))
8425 (arguments
8426 `(#:cabal-revision
8427 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
8428 (home-page "https://hackage.haskell.org/package/monoid-extras")
8429 (synopsis "Various extra monoid-related definitions and utilities")
8430 (description "This package provides various extra monoid-related
8431 definitions and utilities, such as monoid actions, monoid coproducts,
8432 semi-direct products, \"deletable\" monoids, \"split\" monoids, and
8433 \"cut\" monoids.")
8434 (license license:bsd-3)))
8435
8436 (define-public ghc-mountpoints
8437 (package
8438 (name "ghc-mountpoints")
8439 (version "1.0.2")
8440 (source
8441 (origin
8442 (method url-fetch)
8443 (uri (string-append
8444 "https://hackage.haskell.org/package/mountpoints/mountpoints-"
8445 version
8446 ".tar.gz"))
8447 (sha256
8448 (base32
8449 "1hnm31pqcffphyc463wf0vbik9fzm5lb2r4wjdc1y4dqzmjdzz37"))))
8450 (build-system haskell-build-system)
8451 (home-page
8452 "http://hackage.haskell.org/package/mountpoints")
8453 (synopsis "Haskell library for listing mount points")
8454 (description "This library provides Haskell bindings for checking
8455 currently mounted filesystems.")
8456 (license license:lgpl2.1+)))
8457
8458 (define-public ghc-mtl-compat
8459 (package
8460 (name "ghc-mtl-compat")
8461 (version "0.2.2")
8462 (source
8463 (origin
8464 (method url-fetch)
8465 (uri (string-append
8466 "mirror://hackage/package/mtl-compat/mtl-compat-"
8467 version
8468 ".tar.gz"))
8469 (sha256
8470 (base32
8471 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
8472 (build-system haskell-build-system)
8473 (home-page
8474 "https://github.com/haskell-compat/mtl-compat")
8475 (synopsis
8476 "Backported Control.Monad.Except module from mtl")
8477 (description
8478 "This package backports the Control.Monad.Except module from mtl (if
8479 using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
8480 and the MonadError class.
8481
8482 This package should only be used if there is a need to use the
8483 Control.Monad.Except module specifically. If you just want the mtl class
8484 instances for ExceptT, use transformers-compat instead, since mtl-compat does
8485 nothing but reexport the instances from that package.
8486
8487 Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
8488 module defined in this package exports all of ExceptT's monad class instances.
8489 Therefore, you may have to declare @code{import Control.Monad.Except ()} at
8490 the top of your file to get all of the ExceptT instances in scope.")
8491 (license license:bsd-3)))
8492
8493 (define-public ghc-murmur-hash
8494 (package
8495 (name "ghc-murmur-hash")
8496 (version "0.1.0.9")
8497 (source
8498 (origin
8499 (method url-fetch)
8500 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
8501 "/murmur-hash-" version ".tar.gz"))
8502 (sha256
8503 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8504 (build-system haskell-build-system)
8505 (home-page "https://github.com/nominolo/murmur-hash")
8506 (synopsis "MurmurHash2 implementation for Haskell")
8507 (description
8508 "This package provides an implementation of MurmurHash2, a good, fast,
8509 general-purpose, non-cryptographic hashing function. See
8510 @url{https://sites.google.com/site/murmurhash/} for details. This
8511 implementation is pure Haskell, so it might be a bit slower than a C FFI
8512 binding.")
8513 (license license:bsd-3)))
8514
8515 (define-public ghc-mwc-random
8516 (package
8517 (name "ghc-mwc-random")
8518 (version "0.14.0.0")
8519 (source
8520 (origin
8521 (method url-fetch)
8522 (uri (string-append "https://hackage.haskell.org/package/"
8523 "mwc-random-" version "/"
8524 "mwc-random-" version ".tar.gz"))
8525 (sha256
8526 (base32
8527 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
8528 (build-system haskell-build-system)
8529 (inputs
8530 `(("ghc-primitive" ,ghc-primitive)
8531 ("ghc-vector" ,ghc-vector)
8532 ("ghc-math-functions" ,ghc-math-functions)))
8533 (arguments
8534 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8535 (native-inputs
8536 `(("ghc-hunit" ,ghc-hunit)
8537 ("ghc-quickcheck" ,ghc-quickcheck)
8538 ("ghc-test-framework" ,ghc-test-framework)
8539 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8540 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8541 (home-page "https://github.com/bos/mwc-random")
8542 (synopsis "Random number generation library for Haskell")
8543 (description "This Haskell package contains code for generating
8544 high quality random numbers that follow either a uniform or normal
8545 distribution. The generated numbers are suitable for use in
8546 statistical applications.
8547
8548 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8549 multiply-with-carry generator, which has a period of 2^{8222} and
8550 fares well in tests of randomness. It is also extremely fast,
8551 between 2 and 3 times faster than the Mersenne Twister.")
8552 (license license:bsd-3)))
8553
8554 (define-public ghc-nats
8555 (package
8556 (name "ghc-nats")
8557 (version "1.1.2")
8558 (source
8559 (origin
8560 (method url-fetch)
8561 (uri (string-append
8562 "https://hackage.haskell.org/package/nats/nats-"
8563 version
8564 ".tar.gz"))
8565 (sha256
8566 (base32
8567 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8568 (build-system haskell-build-system)
8569 (arguments `(#:haddock? #f))
8570 (inputs
8571 `(("ghc-hashable" ,ghc-hashable)))
8572 (home-page "https://hackage.haskell.org/package/nats")
8573 (synopsis "Natural numbers")
8574 (description "This library provides the natural numbers for Haskell.")
8575 (license license:bsd-3)))
8576
8577 (define-public ghc-nats-bootstrap
8578 (package
8579 (inherit ghc-nats)
8580 (name "ghc-nats-bootstrap")
8581 (inputs
8582 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8583 (properties '((hidden? #t)))))
8584
8585 (define-public ghc-ncurses
8586 (package
8587 (name "ghc-ncurses")
8588 (version "0.2.16")
8589 (source
8590 (origin
8591 (method url-fetch)
8592 (uri (string-append
8593 "https://hackage.haskell.org/package/ncurses/ncurses-"
8594 version ".tar.gz"))
8595 (sha256
8596 (base32
8597 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8598 (build-system haskell-build-system)
8599 (arguments
8600 '(#:extra-directories ("ncurses")
8601 #:phases
8602 (modify-phases %standard-phases
8603 (add-before 'build 'fix-includes
8604 (lambda _
8605 (substitute* '("cbits/hsncurses-shim.h"
8606 "lib/UI/NCurses.chs"
8607 "lib/UI/NCurses/Enums.chs"
8608 "lib/UI/NCurses/Panel.chs")
8609 (("<ncursesw/") "<"))
8610 #t)))
8611 #:cabal-revision
8612 ("1"
8613 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8614 (inputs `(("ncurses" ,ncurses)))
8615 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8616 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8617 (synopsis "Modernised bindings to GNU ncurses")
8618 (description "GNU ncurses is a library for creating command-line application
8619 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8620 ncurses.")
8621 (license license:gpl3)))
8622
8623 (define-public ghc-network
8624 (package
8625 (name "ghc-network")
8626 (version "2.8.0.1")
8627 (outputs '("out" "static" "doc"))
8628 (source
8629 (origin
8630 (method url-fetch)
8631 (uri (string-append
8632 "https://hackage.haskell.org/package/network/network-"
8633 version
8634 ".tar.gz"))
8635 (sha256
8636 (base32
8637 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
8638 (build-system haskell-build-system)
8639 ;; The regression tests depend on an unpublished module.
8640 (arguments `(#:tests? #f))
8641 (native-inputs
8642 `(("ghc-hunit" ,ghc-hunit)
8643 ("ghc-doctest" ,ghc-doctest)
8644 ("ghc-test-framework" ,ghc-test-framework)
8645 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8646 (home-page "https://github.com/haskell/network")
8647 (synopsis "Low-level networking interface")
8648 (description
8649 "This package provides a low-level networking interface.")
8650 (license license:bsd-3)))
8651
8652 (define-public ghc-network-bsd
8653 (package
8654 (name "ghc-network-bsd")
8655 (version "2.8.0.0")
8656 (source
8657 (origin
8658 (method url-fetch)
8659 (uri (string-append "https://hackage.haskell.org/package/"
8660 "network-bsd/network-bsd-" version ".tar.gz"))
8661 (sha256
8662 (base32
8663 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8664 (build-system haskell-build-system)
8665 (inputs
8666 `(("ghc-network" ,ghc-network)))
8667 (home-page "https://github.com/haskell/network-bsd")
8668 (synopsis "POSIX network database (<netdb.h>) API")
8669 (description "This package provides Haskell bindings to the the POSIX
8670 network database (<netdb.h>) API.")
8671 (license license:bsd-3)))
8672
8673 (define-public ghc-network-byte-order
8674 (package
8675 (name "ghc-network-byte-order")
8676 (version "0.1.1.1")
8677 (source
8678 (origin
8679 (method url-fetch)
8680 (uri (string-append "https://hackage.haskell.org/package/"
8681 "network-byte-order/network-byte-order-"
8682 version ".tar.gz"))
8683 (sha256
8684 (base32
8685 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8686 (build-system haskell-build-system)
8687 (native-inputs
8688 `(("ghc-doctest" ,ghc-doctest)))
8689 (home-page "https://hackage.haskell.org/package/network-byte-order")
8690 (synopsis "Network byte order utilities")
8691 (description "This library provides peek and poke functions for network
8692 byte order.")
8693 (license license:bsd-3)))
8694
8695 (define-public ghc-network-info
8696 (package
8697 (name "ghc-network-info")
8698 (version "0.2.0.10")
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append "https://hackage.haskell.org/package/"
8703 "network-info-" version "/"
8704 "network-info-" version ".tar.gz"))
8705 (sha256
8706 (base32
8707 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8708 (build-system haskell-build-system)
8709 (home-page "https://github.com/jystic/network-info")
8710 (synopsis "Access the local computer's basic network configuration")
8711 (description "This Haskell library provides simple read-only access to the
8712 local computer's networking configuration. It is currently capable of
8713 getting a list of all the network interfaces and their respective
8714 IPv4, IPv6 and MAC addresses.")
8715 (license license:bsd-3)))
8716
8717 (define-public ghc-network-multicast
8718 (package
8719 (name "ghc-network-multicast")
8720 (version "0.3.2")
8721 (source
8722 (origin
8723 (method url-fetch)
8724 (uri (string-append
8725 "https://hackage.haskell.org/package/network-multicast/network-multicast-"
8726 version
8727 ".tar.gz"))
8728 (sha256
8729 (base32
8730 "0whvi0pbwjy6dbwfdf9rv1j3yr3lcmfp3q7a8pwq63g537l4l2l3"))))
8731 (build-system haskell-build-system)
8732 (inputs
8733 `(("ghc-network" ,ghc-network)
8734 ("ghc-network-bsd" ,ghc-network-bsd)))
8735 (home-page
8736 "http://hackage.haskell.org/package/network-multicast")
8737 (synopsis "Simple multicast library for Haskell")
8738 (description
8739 "This package provides the Network.Multicast Haskell module for
8740 sending UDP datagrams over multicast (class D) addresses.")
8741 ;; Note that this is technically under CC0 1.0 and Expat, though it's not
8742 ;; totally clear what the breakdown is. Since CC0 1.0 is effectively
8743 ;; "public domain with a minimal fallback license", figuring marking it
8744 ;; as effectively Expat is probably correct.
8745 (license license:expat)))
8746
8747 (define-public ghc-network-uri
8748 (package
8749 (name "ghc-network-uri")
8750 (version "2.6.1.0")
8751 (outputs '("out" "static" "doc"))
8752 (source
8753 (origin
8754 (method url-fetch)
8755 (uri (string-append
8756 "https://hackage.haskell.org/package/network-uri/network-uri-"
8757 version
8758 ".tar.gz"))
8759 (sha256
8760 (base32
8761 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8762 (build-system haskell-build-system)
8763 (arguments
8764 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8765 (inputs
8766 `(("ghc-network" ,ghc-network)))
8767 (native-inputs
8768 `(("ghc-hunit" ,ghc-hunit)))
8769 (home-page
8770 "https://github.com/haskell/network-uri")
8771 (synopsis "Library for URI manipulation")
8772 (description "This package provides an URI manipulation interface. In
8773 @code{network-2.6} the @code{Network.URI} module was split off from the
8774 @code{network} package into this package.")
8775 (license license:bsd-3)))
8776
8777 (define-public ghc-newtype-generics
8778 (package
8779 (name "ghc-newtype-generics")
8780 (version "0.5.4")
8781 (source
8782 (origin
8783 (method url-fetch)
8784 (uri (string-append "https://hackage.haskell.org/package/"
8785 "newtype-generics/newtype-generics-"
8786 version ".tar.gz"))
8787 (sha256
8788 (base32
8789 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
8790 (build-system haskell-build-system)
8791 (native-inputs
8792 `(("ghc-hspec" ,ghc-hspec)
8793 ("hspec-discover" ,hspec-discover)))
8794 (home-page "https://github.com/sjakobi/newtype-generics")
8795 (synopsis "Typeclass and set of functions for working with newtypes")
8796 (description "The @code{Newtype} typeclass represents the packing and
8797 unpacking of a newtype, and allows you to operate under that newtype with
8798 functions such as @code{ala}. Generics support was added in version 0.4,
8799 making this package a full replacement for the original newtype package,
8800 and an alternative to newtype-th.")
8801 (license license:bsd-3)))
8802
8803 (define-public ghc-non-negative
8804 (package
8805 (name "ghc-non-negative")
8806 (version "0.1.2")
8807 (source
8808 (origin
8809 (method url-fetch)
8810 (uri
8811 (string-append
8812 "https://hackage.haskell.org/package/non-negative/non-negative-"
8813 version ".tar.gz"))
8814 (sha256
8815 (base32
8816 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8817 (build-system haskell-build-system)
8818 (inputs
8819 `(("ghc-semigroups" ,ghc-semigroups)
8820 ("ghc-utility-ht" ,ghc-utility-ht)
8821 ("ghc-quickcheck" ,ghc-quickcheck)))
8822 (home-page "https://hackage.haskell.org/package/non-negative")
8823 (synopsis "Non-negative numbers class")
8824 (description "This library provides a class for non-negative numbers,
8825 a wrapper which can turn any ordered numeric type into a member of that
8826 class, and a lazy number type for non-negative numbers (a generalization
8827 of Peano numbers).")
8828 (license license:gpl3+)))
8829
8830 (define-public ghc-nonce
8831 (package
8832 (name "ghc-nonce")
8833 (version "1.0.7")
8834 (source
8835 (origin
8836 (method url-fetch)
8837 (uri (string-append
8838 "https://hackage.haskell.org/package/nonce/"
8839 "nonce-" version ".tar.gz"))
8840 (sha256
8841 (base32
8842 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8843 (build-system haskell-build-system)
8844 (inputs
8845 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8846 ("ghc-entropy" ,ghc-entropy)
8847 ("ghc-unliftio" ,ghc-unliftio)
8848 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8849 (home-page "https://github.com/prowdsponsor/nonce")
8850 (synopsis "Generate cryptographic nonces in Haskell")
8851 (description
8852 "A nonce is an arbitrary number used only once in a cryptographic
8853 communication. This package contain helper functions for generating nonces.
8854 There are many kinds of nonces used in different situations. It's not
8855 guaranteed that by using the nonces from this package you won't have any
8856 security issues. Please make sure that the nonces generated via this
8857 package are usable on your design.")
8858 (license license:bsd-3)))
8859
8860 (define-public ghc-numeric-extras
8861 (package
8862 (name "ghc-numeric-extras")
8863 (version "0.1")
8864 (source
8865 (origin
8866 (method url-fetch)
8867 (uri (string-append "https://hackage.haskell.org/package/"
8868 "numeric-extras/numeric-extras-"
8869 version ".tar.gz"))
8870 (sha256
8871 (base32
8872 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8873 (build-system haskell-build-system)
8874 (home-page "https://github.com/ekmett/numeric-extras")
8875 (synopsis "Useful tools from the C standard library")
8876 (description "This library provides some useful tools from the C
8877 standard library.")
8878 (license license:bsd-3)))
8879
8880 (define-public ghc-objectname
8881 (package
8882 (name "ghc-objectname")
8883 (version "1.1.0.1")
8884 (source
8885 (origin
8886 (method url-fetch)
8887 (uri (string-append
8888 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8889 version
8890 ".tar.gz"))
8891 (sha256
8892 (base32
8893 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8894 (build-system haskell-build-system)
8895 (home-page "https://hackage.haskell.org/package/ObjectName")
8896 (synopsis "Helper library for Haskell OpenGL")
8897 (description "This tiny package contains the class ObjectName, which
8898 corresponds to the general notion of explicitly handled identifiers for API
8899 objects, e.g. a texture object name in OpenGL or a buffer object name in
8900 OpenAL.")
8901 (license license:bsd-3)))
8902
8903 (define-public ghc-old-locale
8904 (package
8905 (name "ghc-old-locale")
8906 (version "1.0.0.7")
8907 (source
8908 (origin
8909 (method url-fetch)
8910 (uri (string-append
8911 "https://hackage.haskell.org/package/old-locale/old-locale-"
8912 version
8913 ".tar.gz"))
8914 (sha256
8915 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8916 (build-system haskell-build-system)
8917 (arguments
8918 `(#:cabal-revision
8919 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8920 (home-page "https://hackage.haskell.org/package/old-locale")
8921 (synopsis "Adapt to locale conventions")
8922 (description
8923 "This package provides the ability to adapt to locale conventions such as
8924 date and time formats.")
8925 (license license:bsd-3)))
8926
8927 (define-public ghc-old-time
8928 (package
8929 (name "ghc-old-time")
8930 (version "1.1.0.3")
8931 (source
8932 (origin
8933 (method url-fetch)
8934 (uri (string-append
8935 "https://hackage.haskell.org/package/old-time/old-time-"
8936 version
8937 ".tar.gz"))
8938 (sha256
8939 (base32
8940 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8941 (build-system haskell-build-system)
8942 (arguments
8943 `(#:cabal-revision
8944 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8945 (inputs
8946 `(("ghc-old-locale" ,ghc-old-locale)))
8947 (home-page "https://hackage.haskell.org/package/old-time")
8948 (synopsis "Time compatibility library for Haskell")
8949 (description "Old-time is a package for backwards compatibility with the
8950 old @code{time} library. For new projects, the newer
8951 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8952 (license license:bsd-3)))
8953
8954 (define-public ghc-only
8955 (package
8956 (name "ghc-only")
8957 (version "0.1")
8958 (source
8959 (origin
8960 (method url-fetch)
8961 (uri (string-append
8962 "https://hackage.haskell.org/package/Only/Only-"
8963 version
8964 ".tar.gz"))
8965 (sha256
8966 (base32
8967 "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb"))))
8968 (build-system haskell-build-system)
8969 (arguments
8970 `(#:cabal-revision
8971 ("1"
8972 "1ahk7p34kmh041mz7lyc10nhcxgv2i4z8nvzxvqm2x34gslmsbzr")))
8973 (home-page "https://hackage.haskell.org/package/Only")
8974 (synopsis "The 1-tuple type or single-value collection")
8975 (description
8976 "This package provides a canonical anonymous 1-tuple type missing from
8977 Haskell for attaching typeclass instances.
8978
8979 There is also the @url{https://hackage.haskell.org/package/OneTuple, OneTuple
8980 package} which by using a boxed @code{data}-type provides a 1-tuple type which
8981 has laziness properties which are more faithful to the ones of Haskell's
8982 native tuples; whereas the primary purpose of @code{Only} is to provide the
8983 traditionally so named type-wrapper for attaching typeclass instances.")
8984 (license license:bsd-3)))
8985
8986 (define-public ghc-opengl
8987 (package
8988 (name "ghc-opengl")
8989 (version "3.0.3.0")
8990 (source
8991 (origin
8992 (method url-fetch)
8993 (uri (string-append
8994 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8995 version
8996 ".tar.gz"))
8997 (sha256
8998 (base32
8999 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
9000 (build-system haskell-build-system)
9001 (arguments
9002 `(#:cabal-revision
9003 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
9004 (inputs
9005 `(("ghc-objectname" ,ghc-objectname)
9006 ("ghc-gluraw" ,ghc-gluraw)
9007 ("ghc-statevar" ,ghc-statevar)
9008 ("ghc-openglraw" ,ghc-openglraw)))
9009 (home-page "https://wiki.haskell.org/Opengl")
9010 (synopsis "Haskell bindings for the OpenGL graphics system")
9011 (description "This package provides Haskell bindings for the OpenGL
9012 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
9013 version 1.3).")
9014 (license license:bsd-3)))
9015
9016 (define-public ghc-openglraw
9017 (package
9018 (name "ghc-openglraw")
9019 (version "3.3.3.0")
9020 (source
9021 (origin
9022 (method url-fetch)
9023 (uri (string-append
9024 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
9025 version
9026 ".tar.gz"))
9027 (sha256
9028 (base32
9029 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
9030 (build-system haskell-build-system)
9031 (arguments
9032 `(#:extra-directories ("glu")))
9033 (inputs
9034 `(("ghc-half" ,ghc-half)
9035 ("ghc-fixed" ,ghc-fixed)
9036 ("glu" ,glu)))
9037 (home-page "https://wiki.haskell.org/Opengl")
9038 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
9039 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
9040 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
9041 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
9042 offers access to all necessary functions, tokens and types plus a general
9043 facility for loading extension entries. The module hierarchy closely mirrors
9044 the naming structure of the OpenGL extensions, making it easy to find the
9045 right module to import. All API entries are loaded dynamically, so no special
9046 C header files are needed for building this package. If an API entry is not
9047 found at runtime, a userError is thrown.")
9048 (license license:bsd-3)))
9049
9050 (define-public ghc-operational
9051 (package
9052 (name "ghc-operational")
9053 (version "0.2.3.5")
9054 (source
9055 (origin
9056 (method url-fetch)
9057 (uri (string-append "https://hackage.haskell.org/package/operational/"
9058 "operational-" version ".tar.gz"))
9059 (sha256
9060 (base32
9061 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
9062 (build-system haskell-build-system)
9063 (inputs
9064 `(("ghc-random" ,ghc-random)))
9065 (home-page "http://wiki.haskell.org/Operational")
9066 (synopsis "Implementation of difficult monads made easy with operational semantics")
9067 (description
9068 "This library makes it easy to implement monads with tricky control
9069 flow. This is useful for: writing web applications in a sequential style,
9070 programming games with a uniform interface for human and AI players and easy
9071 replay capababilities, implementing fast parser monads, designing monadic
9072 DSLs, etc.")
9073 (license license:bsd-3)))
9074
9075 (define-public ghc-optional-args
9076 (package
9077 (name "ghc-optional-args")
9078 (version "1.0.2")
9079 (source
9080 (origin
9081 (method url-fetch)
9082 (uri (string-append
9083 "mirror://hackage/package/optional-args/optional-args-"
9084 version
9085 ".tar.gz"))
9086 (sha256
9087 (base32
9088 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
9089 (build-system haskell-build-system)
9090 (home-page
9091 "http://hackage.haskell.org/package/optional-args")
9092 (synopsis "Optional function arguments")
9093 (description
9094 "This library provides a type for specifying @code{Optional} function
9095 arguments.")
9096 (license license:bsd-3)))
9097
9098 (define-public ghc-options
9099 (package
9100 (name "ghc-options")
9101 (version "1.2.1.1")
9102 (source
9103 (origin
9104 (method url-fetch)
9105 (uri (string-append
9106 "https://hackage.haskell.org/package/options/options-"
9107 version ".tar.gz"))
9108 (sha256
9109 (base32
9110 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
9111 (build-system haskell-build-system)
9112 (arguments
9113 `(#:phases
9114 (modify-phases %standard-phases
9115 (add-before 'configure 'update-constraints
9116 (lambda _
9117 (substitute* "options.cabal"
9118 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
9119 #t)))))
9120 (inputs
9121 `(("ghc-monads-tf" ,ghc-monads-tf)
9122 ("ghc-chell" ,ghc-chell)
9123 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
9124 (home-page "https://john-millikin.com/software/haskell-options/")
9125 (synopsis "Powerful and easy-to-use command-line option parser")
9126 (description
9127 "The @code{options} package lets library and application developers
9128 easily work with command-line options.")
9129 (license license:expat)))
9130
9131 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
9132 (define ghc-options-bootstrap
9133 (package
9134 (name "ghc-options-bootstrap")
9135 (version "1.2.1.1")
9136 (source
9137 (origin
9138 (method url-fetch)
9139 (uri (string-append
9140 "https://hackage.haskell.org/package/options/options-"
9141 version ".tar.gz"))
9142 (sha256
9143 (base32
9144 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
9145 (build-system haskell-build-system)
9146 (arguments
9147 `(#:tests? #f))
9148 (inputs
9149 `(("ghc-monads-tf" ,ghc-monads-tf)))
9150 (home-page "https://john-millikin.com/software/haskell-options/")
9151 (synopsis "Powerful and easy-to-use command-line option parser")
9152 (description
9153 "The @code{options} package lets library and application developers
9154 easily work with command-line options.")
9155 (license license:expat)))
9156
9157
9158 (define-public ghc-optparse-applicative
9159 (package
9160 (name "ghc-optparse-applicative")
9161 (version "0.14.3.0")
9162 (source
9163 (origin
9164 (method url-fetch)
9165 (uri (string-append
9166 "https://hackage.haskell.org/package/optparse-applicative"
9167 "/optparse-applicative-" version ".tar.gz"))
9168 (sha256
9169 (base32
9170 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
9171 (build-system haskell-build-system)
9172 (arguments
9173 `(#:cabal-revision
9174 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
9175 (inputs
9176 `(("ghc-transformers-compat" ,ghc-transformers-compat)
9177 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
9178 (native-inputs
9179 `(("ghc-quickcheck" ,ghc-quickcheck)))
9180 (home-page "https://github.com/pcapriotti/optparse-applicative")
9181 (synopsis "Utilities and combinators for parsing command line options")
9182 (description "This package provides utilities and combinators for parsing
9183 command line options in Haskell.")
9184 (license license:bsd-3)))
9185
9186 (define-public ghc-jira-wiki-markup
9187 (package
9188 (name "ghc-jira-wiki-markup")
9189 (version "1.0.0")
9190 (source
9191 (origin
9192 (method url-fetch)
9193 (uri (string-append
9194 "https://hackage.haskell.org/package/jira-wiki-markup/"
9195 "jira-wiki-markup-" version ".tar.gz"))
9196 (sha256
9197 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
9198 (build-system haskell-build-system)
9199 (native-inputs
9200 `(("ghc-tasty" ,ghc-tasty)
9201 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9202 (home-page "https://github.com/tarleb/jira-wiki-markup")
9203 (synopsis "Handle Jira wiki markup")
9204 (description
9205 "Parse jira wiki text into an abstract syntax tree for easy transformation
9206 to other formats.")
9207 (license license:expat)))
9208
9209 (define-public ghc-emojis
9210 (package
9211 (name "ghc-emojis")
9212 (version "0.1")
9213 (source
9214 (origin
9215 (method url-fetch)
9216 (uri (string-append
9217 "https://hackage.haskell.org/package/emojis/"
9218 "emojis-" version ".tar.gz"))
9219 (sha256
9220 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
9221 (build-system haskell-build-system)
9222 (native-inputs
9223 `(("ghc-hunit" ,ghc-hunit)))
9224 (home-page "https://github.com/jgm/emojis#readme")
9225 (synopsis "Conversion between emoji characters and their names.")
9226 (description
9227 "This package provides functions for converting emoji names to emoji
9228 characters and vice versa.
9229
9230 How does it differ from the @code{emoji} package?
9231 @itemize
9232 @item It supports a fuller range of emojis, including all those supported by
9233 GitHub
9234 @item It supports lookup of emoji aliases from emoji
9235 @item It uses Text rather than String
9236 @item It has a lighter dependency footprint: in particular, it does not
9237 require aeson
9238 @item It does not require TemplateHaskell
9239 @end itemize")
9240 (license license:bsd-3)))
9241
9242 (define-public ghc-text-conversions
9243 (package
9244 (name "ghc-text-conversions")
9245 (version "0.3.0")
9246 (source
9247 (origin
9248 (method url-fetch)
9249 (uri (string-append
9250 "https://hackage.haskell.org/package/text-conversions/"
9251 "text-conversions-" version ".tar.gz"))
9252 (sha256
9253 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
9254 (build-system haskell-build-system)
9255 (inputs
9256 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
9257 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9258 ("ghc-errors" ,ghc-errors)))
9259 (native-inputs
9260 `(("ghc-hspec" ,ghc-hspec)
9261 ("hspec-discover" ,hspec-discover)))
9262 (home-page "https://github.com/cjdev/text-conversions#readme")
9263 (synopsis "Safe conversions between textual types")
9264 (description "Safe conversions between textual types")
9265 (license license:isc)))
9266
9267 (define-public ghc-text-short
9268 (package
9269 (name "ghc-text-short")
9270 (version "0.1.3")
9271 (source
9272 (origin
9273 (method url-fetch)
9274 (uri (string-append
9275 "https://hackage.haskell.org/package/text-short/text-short-"
9276 version
9277 ".tar.gz"))
9278 (sha256
9279 (base32
9280 "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz"))))
9281 (build-system haskell-build-system)
9282 (inputs `(("ghc-hashable" ,ghc-hashable)))
9283 (native-inputs
9284 `(("ghc-tasty" ,ghc-tasty)
9285 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9286 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9287 ("ghc-quickcheck-instances"
9288 ,ghc-quickcheck-instances)))
9289 (arguments
9290 `(#:cabal-revision
9291 ("2"
9292 "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51")))
9293 (home-page "https://hackage.haskell.org/package/text-short")
9294 (synopsis "Memory-efficient representation of Unicode text strings")
9295 (description "This package provides the @code{ShortText} type which
9296 is suitable for keeping many short strings in memory. This is similar
9297 to how @code{ShortByteString} relates to @code{ByteString}.
9298
9299 The main difference between @code{Text} and @code{ShortText} is that
9300 @code{ShortText} uses UTF-8 instead of UTF-16 internally and also doesn't
9301 support zero-copy slicing (thereby saving 2 words). Consequently, the memory
9302 footprint of a (boxed) @{ShortText} value is 4 words (2 words when unboxed)
9303 plus the length of the UTF-8 encoded payload.")
9304 (license license:bsd-3)))
9305
9306 (define-public ghc-text-zipper
9307 (package
9308 (name "ghc-text-zipper")
9309 (version "0.10.1")
9310 (source
9311 (origin
9312 (method url-fetch)
9313 (uri (string-append "https://hackage.haskell.org/package/text-zipper/"
9314 "text-zipper-" version ".tar.gz"))
9315 (sha256
9316 (base32 "0jxicjp0ak1fyl1n3yspxq6hv9l90zzy75glsv8bc2svsn9ypyls"))))
9317 (build-system haskell-build-system)
9318 (native-inputs
9319 `(("ghc-hspec" ,ghc-hspec)
9320 ("ghc-quickcheck" ,ghc-quickcheck)
9321 ("hspec-discover" ,hspec-discover)))
9322 (inputs
9323 `(("ghc-vector" ,ghc-vector)))
9324 (home-page "https://github.com/jtdaugherty/text-zipper/")
9325 (synopsis "Text editor zipper library")
9326 (description
9327 "This Haskell library provides a two-dimensional zipper data structure for
9328 editing text. The structure represents the body of text and an editing cursor
9329 which can be moved through it, along with a set of editing transformations.
9330
9331 Text zippers are generalized over the set of data types that might be used to
9332 store lists of characters (e.g., @code{String}, @code{T.Text}, etc.).
9333 Implementations using both of these examples are provided.")
9334 (license license:bsd-3)))
9335
9336 (define-public ghc-doclayout
9337 (package
9338 (name "ghc-doclayout")
9339 (version "0.3")
9340 (source
9341 (origin
9342 (method url-fetch)
9343 (uri (string-append
9344 "https://hackage.haskell.org/package/doclayout/"
9345 "doclayout-" version ".tar.gz"))
9346 (sha256
9347 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
9348 (build-system haskell-build-system)
9349 (inputs
9350 `(("ghc-safe" ,ghc-safe)))
9351 (native-inputs
9352 `(("ghc-tasty" ,ghc-tasty)
9353 ("ghc-tasty-golden" ,ghc-tasty-golden)
9354 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9355 (home-page "https://github.com/jgm/doclayout")
9356 (synopsis "Pretty-printing library for laying out text documents")
9357 (description
9358 "doclayout is a pretty-printing library for laying out text documents,
9359 with several features not present in pretty-printing libraries designed for
9360 code. It was designed for use in @code{Pandoc}.")
9361 (license license:bsd-3)))
9362
9363 (define-public ghc-pandoc
9364 (package
9365 (name "ghc-pandoc")
9366 (version "2.7.3")
9367 (source
9368 (origin
9369 (method url-fetch)
9370 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
9371 version ".tar.gz"))
9372 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
9373 "ghc-pandoc-fix-latex-test.patch"))
9374 (sha256
9375 (base32
9376 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
9377 (build-system haskell-build-system)
9378 (arguments
9379 `(#:phases
9380 (modify-phases %standard-phases
9381 (add-after 'unpack 'find-library
9382 (lambda _
9383 (substitute* "test/Tests/Command.hs"
9384 (("= dynlibEnv")
9385 (format #f "= [(\"LD_LIBRARY_PATH\" , \"~a/dist/build\")]"
9386 (getcwd))))
9387 #t)))))
9388 (outputs '("out" "static" "doc"))
9389 (inputs
9390 `(("ghc-aeson" ,ghc-aeson)
9391 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
9392 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9393 ("ghc-blaze-html" ,ghc-blaze-html)
9394 ("ghc-blaze-markup" ,ghc-blaze-markup)
9395 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
9396 ("ghc-data-default" ,ghc-data-default)
9397 ("ghc-diff" ,ghc-diff)
9398 ("ghc-doctemplates" ,ghc-doctemplates)
9399 ("ghc-executable-path" ,ghc-executable-path)
9400 ("ghc-glob" ,ghc-glob)
9401 ("ghc-haddock-library" ,ghc-haddock-library)
9402 ("ghc-hslua" ,ghc-hslua)
9403 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
9404 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
9405 ("ghc-hsyaml" ,ghc-hsyaml)
9406 ("ghc-http" ,ghc-http)
9407 ("ghc-http-client" ,ghc-http-client)
9408 ("ghc-http-client-tls" ,ghc-http-client-tls)
9409 ("ghc-http-types" ,ghc-http-types)
9410 ("ghc-ipynb" ,ghc-ipynb)
9411 ("ghc-juicypixels" ,ghc-juicypixels)
9412 ("ghc-network" ,ghc-network)
9413 ("ghc-network-uri" ,ghc-network-uri)
9414 ("ghc-pandoc-types" ,ghc-pandoc-types)
9415 ("ghc-random" ,ghc-random)
9416 ("ghc-scientific" ,ghc-scientific)
9417 ("ghc-sha" ,ghc-sha)
9418 ("ghc-skylighting" ,ghc-skylighting)
9419 ("ghc-split" ,ghc-split)
9420 ("ghc-syb" ,ghc-syb)
9421 ("ghc-tagsoup" ,ghc-tagsoup)
9422 ("ghc-temporary" ,ghc-temporary)
9423 ("ghc-texmath" ,ghc-texmath)
9424 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
9425 ("ghc-unordered-containers" ,ghc-unordered-containers)
9426 ("ghc-vector" ,ghc-vector)
9427 ("ghc-xml" ,ghc-xml)
9428 ("ghc-zip-archive" ,ghc-zip-archive)
9429 ("ghc-zlib" ,ghc-zlib)))
9430 (native-inputs
9431 `(("ghc-tasty" ,ghc-tasty)
9432 ("ghc-tasty-golden" ,ghc-tasty-golden)
9433 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9434 ("ghc-tasty-lua" ,ghc-tasty-lua)
9435 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9436 ("ghc-quickcheck" ,ghc-quickcheck)
9437 ("ghc-hunit" ,ghc-hunit)))
9438 (home-page "https://pandoc.org")
9439 (synopsis "Conversion between markup formats")
9440 (description
9441 "Pandoc is a Haskell library for converting from one markup format to
9442 another, and a command-line tool that uses this library. It can read and
9443 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
9444 LaTeX, DocBook, and many more.
9445
9446 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
9447 definition lists, tables, and other features. A compatibility mode is
9448 provided for those who need a drop-in replacement for Markdown.pl.")
9449 (license license:gpl2+)))
9450
9451 (define-public pandoc
9452 (package
9453 (inherit ghc-pandoc)
9454 (name "pandoc")
9455 (arguments
9456 `(#:configure-flags
9457 (list "-fstatic"
9458 ;; Do not build trypandoc; this is the default but it's better to
9459 ;; be explicit.
9460 "-f-trypandoc"
9461 ;; TODO: Without these we cannot link the Haskell libraries
9462 ;; statically. It would be nice if we could also build the
9463 ;; shared libraries.
9464 "--disable-shared"
9465 "--disable-executable-dynamic"
9466 ;; That's where we place all static libraries
9467 "--extra-lib-dirs=static-libs/"
9468 "--ghc-option=-static")
9469 #:modules ((guix build haskell-build-system)
9470 (guix build utils)
9471 (ice-9 match)
9472 (srfi srfi-1))
9473 #:phases
9474 (modify-phases %standard-phases
9475 (add-after 'unpack 'create-simple-paths-module
9476 (lambda* (#:key outputs #:allow-other-keys)
9477 (call-with-output-file "Paths_pandoc.hs"
9478 (lambda (port)
9479 (format port "\
9480 {-# LANGUAGE CPP #-}
9481 {-# LANGUAGE NoRebindableSyntax #-}
9482 {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
9483 module Paths_pandoc (version,getDataDir,getDataFileName) where
9484 import Prelude
9485 import Data.Version (Version(..))
9486 import System.Info
9487 version :: Version
9488 version = Version [~a] []
9489
9490 datadir :: FilePath
9491 datadir = \"~a/share/\" ++
9492 arch ++ \"-\" ++
9493 os ++ \"-\" ++
9494 compilerName ++ \"-~a/pandoc-~a\"
9495
9496 getDataDir :: IO FilePath
9497 getDataDir = return datadir
9498
9499 getDataFileName :: FilePath -> IO FilePath
9500 getDataFileName name = do
9501 dir <- getDataDir
9502 return (dir ++ \"/\" ++ name)
9503 "
9504 (string-map (lambda (chr) (if (eq? chr #\.) #\, chr))
9505 ,(package-version ghc-pandoc))
9506 (assoc-ref outputs "out")
9507 ,(package-version ghc)
9508 ,(package-version ghc-pandoc))))
9509 #t))
9510 (add-after 'unpack 'prepare-static-libraries
9511 (lambda* (#:key inputs #:allow-other-keys)
9512 (mkdir-p (string-append (getcwd) "/static-libs"))
9513 (for-each
9514 (lambda (input)
9515 (when (or (string-prefix? "static-" (car input))
9516 (string-prefix? "ghc" (car input)))
9517 (match (find-files (cdr input) "\\.a$")
9518 ((and (first . rest) libs)
9519 (for-each (lambda (lib)
9520 (let ((target (string-append (getcwd) "/static-libs/"
9521 (basename lib))))
9522 (unless (file-exists? target)
9523 (symlink first target))))
9524 libs))
9525 (_ #f))))
9526 inputs)
9527 #t))
9528 (delete 'check)
9529 (add-after 'install 'post-install-check
9530 (assoc-ref %standard-phases 'check)))))
9531 (outputs '("out" "lib" "static" "doc"))
9532 (inputs
9533 (let* ((direct-inputs (package-inputs ghc-pandoc))
9534 (all-static-inputs
9535 (map (lambda (pkg)
9536 (list (string-append "static-" (package-name pkg))
9537 pkg "static"))
9538 (delete-duplicates
9539 (append (map cadr direct-inputs)
9540 (filter (lambda (pkg)
9541 (string-prefix? "ghc-" (package-name pkg)))
9542 (package-closure
9543 (map cadr direct-inputs))))))))
9544 `(("zlib:static" ,zlib "static")
9545 ,@all-static-inputs
9546 ,@direct-inputs)))
9547 (native-inputs
9548 (let* ((direct-inputs (package-native-inputs ghc-pandoc))
9549 (all-static-inputs
9550 (map (lambda (pkg)
9551 (list (string-append "static-" (package-name pkg))
9552 pkg "static"))
9553 (delete-duplicates
9554 (append (map cadr direct-inputs)
9555 (filter (lambda (pkg)
9556 (string-prefix? "ghc-" (package-name pkg)))
9557 (package-closure
9558 (map cadr direct-inputs))))))))
9559 `(,@all-static-inputs
9560 ,@direct-inputs)))))
9561
9562 (define-public ghc-pandoc-citeproc
9563 (package
9564 (name "ghc-pandoc-citeproc")
9565 (version "0.16.2")
9566 (source
9567 (origin
9568 (method url-fetch)
9569 (uri (string-append "https://hackage.haskell.org/package/"
9570 "pandoc-citeproc/pandoc-citeproc-"
9571 version ".tar.gz"))
9572 (sha256
9573 (base32
9574 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
9575 (build-system haskell-build-system)
9576 (arguments
9577 `(#:phases
9578 (modify-phases %standard-phases
9579 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
9580 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
9581 (add-before 'configure 'patch-tests
9582 (lambda _
9583 (substitute* "tests/test-pandoc-citeproc.hs"
9584 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
9585 "let allTests = citeprocTests"))))
9586 ;; Tests need to be run after installation.
9587 (delete 'check)
9588 (add-after 'install 'post-install-check
9589 (assoc-ref %standard-phases 'check)))))
9590 (inputs
9591 `(("ghc-pandoc-types" ,ghc-pandoc-types)
9592 ("ghc-pandoc" ,ghc-pandoc)
9593 ("ghc-tagsoup" ,ghc-tagsoup)
9594 ("ghc-aeson" ,ghc-aeson)
9595 ("ghc-vector" ,ghc-vector)
9596 ("ghc-xml-conduit" ,ghc-xml-conduit)
9597 ("ghc-unordered-containers" ,ghc-unordered-containers)
9598 ("ghc-data-default" ,ghc-data-default)
9599 ("ghc-setenv" ,ghc-setenv)
9600 ("ghc-split" ,ghc-split)
9601 ("ghc-yaml" ,ghc-yaml)
9602 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
9603 ("ghc-rfc5051" ,ghc-rfc5051)
9604 ("ghc-syb" ,ghc-syb)
9605 ("ghc-old-locale" ,ghc-old-locale)
9606 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
9607 ("ghc-attoparsec" ,ghc-attoparsec)
9608 ("ghc-temporary" ,ghc-temporary)))
9609 (home-page "https://github.com/jgm/pandoc-citeproc")
9610 (synopsis "Library for using pandoc with citeproc")
9611 (description
9612 "The @code{pandoc-citeproc} library exports functions for using the
9613 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
9614 rendering bibliographic reference citations into a variety of styles using a
9615 macro language called @dfn{Citation Style Language} (CSL). This package also
9616 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
9617 and also has a mode for converting bibliographic databases a YAML format
9618 suitable for inclusion in pandoc YAML metadata.")
9619 (license license:bsd-3)))
9620
9621 (define-public pandoc-citeproc
9622 (package (inherit ghc-pandoc-citeproc)
9623 (name "pandoc-citeproc")
9624 (arguments
9625 `(#:configure-flags
9626 (list "-fstatic"
9627 "--disable-shared"
9628 "--disable-executable-dynamic"
9629 ;; That's where we place all static libraries
9630 "--extra-lib-dirs=static-libs/"
9631 "--ghc-option=-static")
9632 #:modules ((guix build haskell-build-system)
9633 (guix build utils)
9634 (ice-9 match)
9635 (srfi srfi-1))
9636 #:phases
9637 (modify-phases %standard-phases
9638 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
9639 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
9640 (add-before 'configure 'patch-tests
9641 (lambda _
9642 (substitute* "tests/test-pandoc-citeproc.hs"
9643 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
9644 "let allTests = citeprocTests"))))
9645 ;; Tests need to be run after installation.
9646 (delete 'check)
9647 (add-after 'install 'post-install-check
9648 (assoc-ref %standard-phases 'check))
9649 (add-after 'unpack 'create-simple-paths-module
9650 (lambda* (#:key outputs #:allow-other-keys)
9651 (call-with-output-file "Paths_pandoc_citeproc.hs"
9652 (lambda (port)
9653 (format port "\
9654 {-# LANGUAGE CPP #-}
9655 {-# LANGUAGE NoRebindableSyntax #-}
9656 {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
9657 module Paths_pandoc_citeproc (version,getDataFileName) where
9658 import Prelude
9659 import Data.Version (Version(..))
9660 import System.Info
9661 version :: Version
9662 version = Version [~a] []
9663
9664 datadir :: FilePath
9665 datadir = \"~a/share/\" ++
9666 arch ++ \"-\" ++
9667 os ++ \"-\" ++
9668 compilerName ++ \"-~a/pandoc-citeproc-~a\"
9669
9670 getDataDir :: IO FilePath
9671 getDataDir = return datadir
9672
9673 getDataFileName :: FilePath -> IO FilePath
9674 getDataFileName name = do
9675 dir <- getDataDir
9676 return (dir ++ \"/\" ++ name)
9677 "
9678 (string-map (lambda (chr) (if (eq? chr #\.) #\, chr))
9679 ,(package-version ghc-pandoc-citeproc))
9680 (assoc-ref outputs "out")
9681 ,(package-version ghc)
9682 ,(package-version ghc-pandoc-citeproc))))
9683 #t))
9684 (add-after 'unpack 'prepare-static-libraries
9685 (lambda* (#:key inputs #:allow-other-keys)
9686 (mkdir-p (string-append (getcwd) "/static-libs"))
9687 (for-each
9688 (lambda (input)
9689 (when (or (string-prefix? "static-" (car input))
9690 (string-prefix? "ghc" (car input)))
9691 (match (find-files (cdr input) "\\.a$")
9692 ((and (first . rest) libs)
9693 (for-each (lambda (lib)
9694 (let ((target (string-append (getcwd) "/static-libs/"
9695 (basename lib))))
9696 (unless (file-exists? target)
9697 (symlink first target))))
9698 libs))
9699 (_ #f))))
9700 inputs)
9701 #t)))))
9702 (inputs
9703 (let* ((direct-inputs
9704 (cons `("ghc-pandoc" ,pandoc)
9705 (alist-delete "ghc-pandoc"
9706 (package-inputs ghc-pandoc-citeproc))))
9707 (all-static-inputs
9708 (map (lambda (pkg)
9709 (list (string-append "static-" (package-name pkg))
9710 pkg "static"))
9711 (delete-duplicates
9712 (append (map cadr direct-inputs)
9713 (filter (lambda (pkg)
9714 (string-prefix? "ghc-" (package-name pkg)))
9715 (package-closure
9716 (map cadr direct-inputs))))))))
9717 `(("zlib:static" ,zlib "static")
9718 ("pandoc" ,pandoc "lib")
9719 ,@all-static-inputs
9720 ,@direct-inputs)))
9721 (outputs '("out" "lib" "static" "doc"))
9722 (synopsis "Pandoc filter for bibliographic references")))
9723
9724 (define-public ghc-pandoc-types
9725 (package
9726 (name "ghc-pandoc-types")
9727 (version "1.17.6.1")
9728 (source (origin
9729 (method url-fetch)
9730 (uri (string-append "https://hackage.haskell.org/package/"
9731 "pandoc-types/pandoc-types-"
9732 version ".tar.gz"))
9733 (sha256
9734 (base32
9735 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
9736 (build-system haskell-build-system)
9737 (arguments
9738 `(#:phases
9739 (modify-phases %standard-phases
9740 ;; None of the directory names are actually used. By generating a
9741 ;; simpler module without references to store names we avoid
9742 ;; introducing references in the pandoc executable.
9743 (add-after 'unpack 'create-simple-paths-module
9744 (lambda _
9745 (call-with-output-file "Paths_pandoc_types.hs"
9746 (lambda (port)
9747 (format port "\
9748 {-# LANGUAGE CPP #-}
9749 {-# LANGUAGE NoRebindableSyntax #-}
9750 {-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
9751 module Paths_pandoc_types (version) where
9752 import Data.Version (Version(..))
9753 version :: Version
9754 version = Version [~a] []
9755 " (string-map (lambda (chr) (if (eq? chr #\.) #\, chr)) ,version))))
9756 #t)))))
9757 (inputs
9758 `(("ghc-syb" ,ghc-syb)
9759 ("ghc-aeson" ,ghc-aeson)
9760 ("ghc-string-qq" ,ghc-string-qq)))
9761 (native-inputs
9762 `(("ghc-quickcheck" ,ghc-quickcheck)
9763 ("ghc-test-framework" ,ghc-test-framework)
9764 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9765 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
9766 ("ghc-hunit" ,ghc-hunit)))
9767 (home-page "https://johnmacfarlane.net/pandoc")
9768 (synopsis "Types for representing a structured document")
9769 (description
9770 "This module defines the @code{Pandoc} data structure, which is used by
9771 pandoc to represent structured documents. It also provides functions for
9772 building up, manipulating and serialising @code{Pandoc} structures.")
9773 (license license:bsd-3)))
9774
9775 (define-public ghc-parallel
9776 (package
9777 (name "ghc-parallel")
9778 (version "3.2.2.0")
9779 (outputs '("out" "static" "doc"))
9780 (source
9781 (origin
9782 (method url-fetch)
9783 (uri (string-append
9784 "https://hackage.haskell.org/package/parallel/parallel-"
9785 version
9786 ".tar.gz"))
9787 (sha256
9788 (base32
9789 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
9790 (build-system haskell-build-system)
9791 (home-page "https://hackage.haskell.org/package/parallel")
9792 (synopsis "Parallel programming library")
9793 (description
9794 "This package provides a library for parallel programming.")
9795 (license license:bsd-3)))
9796
9797 (define-public ghc-parsec-numbers
9798 (package
9799 (name "ghc-parsec-numbers")
9800 (version "0.1.0")
9801 (source
9802 (origin
9803 (method url-fetch)
9804 (uri (string-append "https://hackage.haskell.org/package/"
9805 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
9806 (sha256
9807 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
9808 (build-system haskell-build-system)
9809 (home-page "https://hackage.haskell.org/package/parsec-numbers")
9810 (synopsis "Utilities for parsing numbers from strings")
9811 (description
9812 "This package provides the number parsers without the need to use a large
9813 (and unportable) token parser.")
9814 (license license:bsd-3)))
9815
9816 (define-public ghc-parser-combinators
9817 (package
9818 (name "ghc-parser-combinators")
9819 (version "1.1.0")
9820 (source
9821 (origin
9822 (method url-fetch)
9823 (uri (string-append "https://hackage.haskell.org/package/"
9824 "parser-combinators/parser-combinators-"
9825 version ".tar.gz"))
9826 (sha256
9827 (base32
9828 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
9829 (build-system haskell-build-system)
9830 (home-page "https://github.com/mrkkrp/parser-combinators")
9831 (synopsis "Commonly useful parser combinators")
9832 (description
9833 "This is a lightweight package providing commonly useful parser
9834 combinators.")
9835 (license license:bsd-3)))
9836
9837 (define-public ghc-parsers
9838 (package
9839 (name "ghc-parsers")
9840 (version "0.12.10")
9841 (source
9842 (origin
9843 (method url-fetch)
9844 (uri (string-append
9845 "https://hackage.haskell.org/package/parsers/parsers-"
9846 version
9847 ".tar.gz"))
9848 (sha256
9849 (base32
9850 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
9851 (build-system haskell-build-system)
9852 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
9853 ; -package attoparsec-0.13.0.1"
9854 (inputs
9855 `(("ghc-base-orphans" ,ghc-base-orphans)
9856 ("ghc-attoparsec" ,ghc-attoparsec)
9857 ("ghc-scientific" ,ghc-scientific)
9858 ("ghc-charset" ,ghc-charset)
9859 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9860 (home-page "https://github.com/ekmett/parsers/")
9861 (synopsis "Parsing combinators")
9862 (description "This library provides convenient combinators for working
9863 with and building parsing combinator libraries. Given a few simple instances,
9864 you get access to a large number of canned definitions. Instances exist for
9865 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
9866 @code{Text.Read}.")
9867 (license license:bsd-3)))
9868
9869 (define-public ghc-path
9870 (package
9871 (name "ghc-path")
9872 (version "0.6.1")
9873 (source
9874 (origin
9875 (method url-fetch)
9876 (uri (string-append
9877 "https://hackage.haskell.org/package/path/path-"
9878 version
9879 ".tar.gz"))
9880 (sha256
9881 (base32
9882 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9883 (build-system haskell-build-system)
9884 (arguments
9885 ;; TODO: There are some Windows-related tests and modules that need to be
9886 ;; danced around.
9887 `(#:tests? #f
9888 #:cabal-revision
9889 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9890 (inputs
9891 `(("ghc-aeson" ,ghc-aeson)
9892 ("ghc-exceptions" ,ghc-exceptions)
9893 ("ghc-hashable" ,ghc-hashable)))
9894 (native-inputs
9895 `(("ghc-hspec" ,ghc-hspec)
9896 ("ghc-quickcheck" ,ghc-quickcheck)
9897 ("ghc-genvalidity" ,ghc-genvalidity)
9898 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9899 ("ghc-hspec" ,ghc-hspec)
9900 ("ghc-validity" ,ghc-validity)))
9901 (home-page
9902 "https://hackage.haskell.org/package/path")
9903 (synopsis "Support for well-typed paths")
9904 (description "This package introduces a type for paths upholding useful
9905 invariants.")
9906 (license license:bsd-3)))
9907
9908 (define-public ghc-path-io
9909 (package
9910 (name "ghc-path-io")
9911 (version "1.4.2")
9912 (source
9913 (origin
9914 (method url-fetch)
9915 (uri (string-append
9916 "https://hackage.haskell.org/package/path-io/path-io-"
9917 version
9918 ".tar.gz"))
9919 (sha256
9920 (base32
9921 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
9922 (build-system haskell-build-system)
9923 (inputs
9924 `(("ghc-dlist" ,ghc-dlist)
9925 ("ghc-exceptions" ,ghc-exceptions)
9926 ("ghc-path" ,ghc-path)
9927 ("ghc-transformers-base" ,ghc-transformers-base)
9928 ("ghc-unix-compat" ,ghc-unix-compat)
9929 ("ghc-temporary" ,ghc-temporary)))
9930 (native-inputs
9931 `(("ghc-hspec" ,ghc-hspec)))
9932 (home-page
9933 "https://github.com/mrkkrp/path-io")
9934 (synopsis "Functions for manipulating well-typed paths")
9935 (description "This package provides an interface to the @code{directory}
9936 package for users of @code{path}. It also implements some missing stuff like
9937 recursive scanning and copying of directories, working with temporary
9938 files/directories, and more.")
9939 (license license:bsd-3)))
9940
9941 (define-public ghc-paths
9942 (package
9943 (name "ghc-paths")
9944 (version "0.1.0.12")
9945 (outputs '("out" "static" "doc"))
9946 (source
9947 (origin
9948 (method url-fetch)
9949 (uri (string-append
9950 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9951 version
9952 ".tar.gz"))
9953 (sha256
9954 (base32
9955 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
9956 (build-system haskell-build-system)
9957 (home-page "https://github.com/simonmar/ghc-paths")
9958 (synopsis
9959 "Knowledge of GHC's installation directories")
9960 (description
9961 "Knowledge of GHC's installation directories.")
9962 (license license:bsd-3)))
9963
9964 (define-public ghc-patience
9965 (package
9966 (name "ghc-patience")
9967 (version "0.3")
9968 (source
9969 (origin
9970 (method url-fetch)
9971 (uri (string-append
9972 "https://hackage.haskell.org/package/patience/patience-"
9973 version ".tar.gz"))
9974 (sha256
9975 (base32
9976 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
9977 (build-system haskell-build-system)
9978 (home-page "https://hackage.haskell.org/package/patience")
9979 (synopsis "Patience diff and longest increasing subsequence")
9980 (description
9981 "This library implements the 'patience diff' algorithm, as well as the
9982 patience algorithm for the longest increasing subsequence problem.
9983 Patience diff computes the difference between two lists, for example the lines
9984 of two versions of a source file. It provides a good balance between
9985 performance, nice output for humans, and simplicity of implementation.")
9986 (license license:bsd-3)))
9987
9988 (define-public ghc-pattern-arrows
9989 (package
9990 (name "ghc-pattern-arrows")
9991 (version "0.0.2")
9992 (source
9993 (origin
9994 (method url-fetch)
9995 (uri (string-append
9996 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9997 version
9998 ".tar.gz"))
9999 (sha256
10000 (base32
10001 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
10002 (build-system haskell-build-system)
10003 (home-page
10004 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
10005 (synopsis "Arrows for Pretty Printing")
10006 (description
10007 "A library for generating concise pretty printers based on precedence
10008 rules.")
10009 (license license:expat)))
10010
10011 (define-public ghc-pcre-light
10012 (package
10013 (name "ghc-pcre-light")
10014 (version "0.4.0.4")
10015 (source
10016 (origin
10017 (method url-fetch)
10018 (uri (string-append
10019 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
10020 version
10021 ".tar.gz"))
10022 (sha256
10023 (base32
10024 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
10025 (build-system haskell-build-system)
10026 (arguments
10027 `(#:extra-directories ("pcre")))
10028 (inputs
10029 `(("pcre" ,pcre)))
10030 (native-inputs
10031 `(("pkg-config" ,pkg-config)))
10032 (home-page "https://github.com/Daniel-Diaz/pcre-light")
10033 (synopsis "Haskell library for Perl 5 compatible regular expressions")
10034 (description "This package provides a small, efficient, and portable regex
10035 library for Perl 5 compatible regular expressions. The PCRE library is a set
10036 of functions that implement regular expression pattern matching using the same
10037 syntax and semantics as Perl 5.")
10038 (license license:bsd-3)))
10039
10040 (define-public ghc-persistent
10041 (package
10042 (name "ghc-persistent")
10043 (version "2.10.4")
10044 (source
10045 (origin
10046 (method url-fetch)
10047 (uri (string-append
10048 "https://hackage.haskell.org/package/persistent/"
10049 "persistent-" version ".tar.gz"))
10050 (sha256
10051 (base32
10052 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
10053 (build-system haskell-build-system)
10054 (inputs
10055 `(("ghc-aeson" ,ghc-aeson)
10056 ("ghc-attoparsec" ,ghc-attoparsec)
10057 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10058 ("ghc-blaze-html" ,ghc-blaze-html)
10059 ("ghc-conduit" ,ghc-conduit)
10060 ("ghc-fast-logger" ,ghc-fast-logger)
10061 ("ghc-http-api-data" ,ghc-http-api-data)
10062 ("ghc-monad-logger" ,ghc-monad-logger)
10063 ("ghc-path-pieces" ,ghc-path-pieces)
10064 ("ghc-resource-pool" ,ghc-resource-pool)
10065 ("ghc-resourcet" ,ghc-resourcet)
10066 ("ghc-scientific" ,ghc-scientific)
10067 ("ghc-silently" ,ghc-silently)
10068 ("ghc-unliftio-core" ,ghc-unliftio-core)
10069 ("ghc-unliftio" ,ghc-unliftio)
10070 ("ghc-unordered-containers"
10071 ,ghc-unordered-containers)
10072 ("ghc-vector" ,ghc-vector)))
10073 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10074 (home-page "https://www.yesodweb.com/book/persistent")
10075 (synopsis "Type-safe, multi-backend data serialization for Haskell")
10076 (description "This Haskell package allows Haskell programs to access data
10077 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
10078 way.")
10079 (license license:expat)))
10080
10081 (define-public ghc-persistent-sqlite
10082 (package
10083 (name "ghc-persistent-sqlite")
10084 (version "2.10.5.2")
10085 (source
10086 (origin
10087 (method url-fetch)
10088 (uri (string-append
10089 "https://hackage.haskell.org/package/persistent-sqlite/"
10090 "persistent-sqlite-" version ".tar.gz"))
10091 (sha256
10092 (base32
10093 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
10094 (build-system haskell-build-system)
10095 (inputs
10096 `(("ghc-persistent" ,ghc-persistent)
10097 ("ghc-aeson" ,ghc-aeson)
10098 ("ghc-conduit" ,ghc-conduit)
10099 ("ghc-microlens-th" ,ghc-microlens-th)
10100 ("ghc-monad-logger" ,ghc-monad-logger)
10101 ("ghc-resource-pool" ,ghc-resource-pool)
10102 ("ghc-resourcet" ,ghc-resourcet)
10103 ("ghc-unliftio-core" ,ghc-unliftio-core)
10104 ("ghc-unordered-containers"
10105 ,ghc-unordered-containers)))
10106 (native-inputs
10107 `(("ghc-persistent-template"
10108 ,ghc-persistent-template)
10109 ("ghc-persistent-test" ,ghc-persistent-test)
10110 ("ghc-exceptions" ,ghc-exceptions)
10111 ("ghc-fast-logger" ,ghc-fast-logger)
10112 ("ghc-hspec" ,ghc-hspec)
10113 ("ghc-hunit" ,ghc-hunit)
10114 ("ghc-quickcheck" ,ghc-quickcheck)
10115 ("ghc-system-fileio" ,ghc-system-fileio)
10116 ("ghc-system-filepath" ,ghc-system-filepath)
10117 ("ghc-temporary" ,ghc-temporary)))
10118 (home-page
10119 "https://www.yesodweb.com/book/persistent")
10120 (synopsis "Backend for the persistent library using sqlite3")
10121 (description "This Haskell package includes a thin sqlite3 wrapper based
10122 on the direct-sqlite package, as well as the entire C library, so there are no
10123 system dependencies.")
10124 (license license:expat)))
10125
10126 (define-public ghc-persistent-template
10127 (package
10128 (name "ghc-persistent-template")
10129 (version "2.8.0")
10130 (source
10131 (origin
10132 (method url-fetch)
10133 (uri (string-append
10134 "https://hackage.haskell.org/package/persistent-template/"
10135 "persistent-template-" version ".tar.gz"))
10136 (sha256
10137 (base32
10138 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
10139 (build-system haskell-build-system)
10140 (inputs
10141 `(("ghc-persistent" ,ghc-persistent)
10142 ("ghc-aeson" ,ghc-aeson)
10143 ("ghc-http-api-data" ,ghc-http-api-data)
10144 ("ghc-monad-control" ,ghc-monad-control)
10145 ("ghc-monad-logger" ,ghc-monad-logger)
10146 ("ghc-path-pieces" ,ghc-path-pieces)
10147 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10148 ("ghc-unordered-containers"
10149 ,ghc-unordered-containers)))
10150 (native-inputs
10151 `(("ghc-hspec" ,ghc-hspec)
10152 ("ghc-quickcheck" ,ghc-quickcheck)))
10153 (home-page "https://www.yesodweb.com/book/persistent")
10154 (synopsis "Type-safe, non-relational, multi-backend persistence")
10155 (description "This Haskell package provides interfaces and helper
10156 functions for the ghc-persistent package.")
10157 (license license:expat)))
10158
10159 (define-public ghc-persistent-test
10160 (package
10161 (name "ghc-persistent-test")
10162 (version "2.0.3.1")
10163 (source
10164 (origin
10165 (method url-fetch)
10166 (uri (string-append
10167 "https://hackage.haskell.org/package/persistent-test/"
10168 "persistent-test-" version ".tar.gz"))
10169 (sha256
10170 (base32
10171 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
10172 (build-system haskell-build-system)
10173 (inputs
10174 `(("ghc-aeson" ,ghc-aeson)
10175 ("ghc-blaze-html" ,ghc-blaze-html)
10176 ("ghc-conduit" ,ghc-conduit)
10177 ("ghc-monad-control" ,ghc-monad-control)
10178 ("ghc-monad-logger" ,ghc-monad-logger)
10179 ("ghc-path-pieces" ,ghc-path-pieces)
10180 ("ghc-persistent" ,ghc-persistent)
10181 ("ghc-persistent-template" ,ghc-persistent-template)
10182 ("ghc-random" ,ghc-random)
10183 ("ghc-resourcet" ,ghc-resourcet)
10184 ("ghc-transformers-base" ,ghc-transformers-base)
10185 ("ghc-unliftio" ,ghc-unliftio)
10186 ("ghc-unliftio-core" ,ghc-unliftio-core)
10187 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10188 (native-inputs
10189 `(("ghc-quickcheck" ,ghc-quickcheck)
10190 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
10191 ("ghc-hspec" ,ghc-hspec)
10192 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
10193 ("ghc-hunit" ,ghc-hunit)))
10194 (home-page "https://www.yesodweb.com/book/persistent")
10195 (synopsis "Tests for the Persistent database library")
10196 (description
10197 "This is only for use in developing libraries that should conform to
10198 the persistent interface, not for users of the persistent suite of database
10199 libraries.")
10200 (license license:expat)))
10201
10202 (define-public ghc-pgp-wordlist
10203 (package
10204 (name "ghc-pgp-wordlist")
10205 (version "0.1.0.3")
10206 (source
10207 (origin
10208 (method url-fetch)
10209 (uri (string-append
10210 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
10211 version
10212 ".tar.gz"))
10213 (sha256
10214 (base32
10215 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
10216 (build-system haskell-build-system)
10217 (inputs
10218 `(("ghc-vector" ,ghc-vector)))
10219 (native-inputs
10220 `(("ghc-hunit" ,ghc-hunit)
10221 ("ghc-tasty" ,ghc-tasty)
10222 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10223 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10224 ("ghc-doctest" ,ghc-doctest)))
10225 (home-page
10226 "https://github.com/quchen/pgp-wordlist")
10227 (synopsis
10228 "Translate between binary data and a human-readable collection of words")
10229 (description
10230 "The PGP Word List consists of two phonetic alphabets, each with one word
10231 per possible byte value. A string of bytes is translated with these
10232 alphabets, alternating between them at each byte.
10233
10234 The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
10235 spellbind headwaters\", for example.
10236
10237 For further information, see
10238 @url{http://en.wikipedia.org/wiki/PGP_word_list}.")
10239 (license license:bsd-3)))
10240
10241 (define-public ghc-pipes
10242 (package
10243 (name "ghc-pipes")
10244 (version "4.3.13")
10245 (source
10246 (origin
10247 (method url-fetch)
10248 (uri (string-append
10249 "https://hackage.haskell.org/package/pipes/"
10250 "pipes-" version ".tar.gz"))
10251 (sha256
10252 (base32
10253 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
10254 (build-system haskell-build-system)
10255 (inputs
10256 `(("ghc-exceptions" ,ghc-exceptions)
10257 ("ghc-mmorph" ,ghc-mmorph)
10258 ("ghc-void" ,ghc-void)
10259 ("ghc-semigroups" ,ghc-semigroups)))
10260 (native-inputs
10261 `(("ghc-quickcheck" ,ghc-quickcheck)
10262 ("ghc-test-framework" ,ghc-test-framework)
10263 ("ghc-test-framework-quickcheck2"
10264 ,ghc-test-framework-quickcheck2)))
10265 (home-page
10266 "https://hackage.haskell.org/package/pipes")
10267 (synopsis "Compositional pipelines")
10268 (description
10269 "A clean and powerful stream processing library that lets you build
10270 and connect reusable streaming components. Advantages over traditional streaming
10271 libraries:
10272 @itemize
10273 @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
10274 and @code{yield}
10275 @item Blazing fast: Implementation tuned for speed, including shortcut fusion
10276 @item Lightweight Dependency: pipes is small and compiles very rapidly, including
10277 dependencies
10278 @item Elegant semantics: Use practical category theory
10279 @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
10280 @item Bidirectionality: Implement duplex channels
10281 @end itemize")
10282 (license license:bsd-3)))
10283
10284 (define-public ghc-pointedlist
10285 (package
10286 (name "ghc-pointedlist")
10287 (version "0.6.1")
10288 (source
10289 (origin
10290 (method url-fetch)
10291 (uri (string-append
10292 "https://hackage.haskell.org/package/pointedlist/"
10293 "pointedlist-" version ".tar.gz"))
10294 (sha256
10295 (base32
10296 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
10297 (build-system haskell-build-system)
10298 (home-page
10299 "https://hackage.haskell.org/package/pointedlist")
10300 (synopsis
10301 "Zipper-like comonad which works as a list, tracking a position")
10302 (description
10303 "A PointedList tracks the position in a non-empty list which works
10304 similarly to a zipper. A current item is always required, and therefore
10305 the list may never be empty. A circular PointedList wraps around to the
10306 other end when progressing past the actual edge.")
10307 (license license:bsd-3)))
10308
10309 (define-public ghc-polyparse
10310 (package
10311 (name "ghc-polyparse")
10312 (version "1.12.1")
10313 (source
10314 (origin
10315 (method url-fetch)
10316 (uri (string-append
10317 "https://hackage.haskell.org/package/polyparse/polyparse-"
10318 version
10319 ".tar.gz"))
10320 (sha256
10321 (base32
10322 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
10323 (build-system haskell-build-system)
10324 (home-page
10325 "http://code.haskell.org/~malcolm/polyparse/")
10326 (synopsis
10327 "Alternative parser combinator libraries")
10328 (description
10329 "This package provides a variety of alternative parser combinator
10330 libraries, including the original HuttonMeijer set. The Poly sets have
10331 features like good error reporting, arbitrary token type, running state, lazy
10332 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
10333 standard Read class, for better deserialisation of Haskell values from
10334 Strings.")
10335 (license license:lgpl2.1)))
10336
10337 (define-public ghc-pqueue
10338 (package
10339 (name "ghc-pqueue")
10340 (version "1.4.1.2")
10341 (source
10342 (origin
10343 (method url-fetch)
10344 (uri (string-append "https://hackage.haskell.org/package/"
10345 "pqueue/pqueue-" version ".tar.gz"))
10346 (sha256
10347 (base32
10348 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
10349 (build-system haskell-build-system)
10350 (native-inputs
10351 `(("ghc-quickcheck" ,ghc-quickcheck)))
10352 (home-page "https://hackage.haskell.org/package/pqueue")
10353 (synopsis "Reliable, persistent, fast priority queues")
10354 (description
10355 "This package provides a fast, reliable priority queue implementation
10356 based on a binomial heap.")
10357 (license license:bsd-3)))
10358
10359 (define-public ghc-prelude-extras
10360 (package
10361 (name "ghc-prelude-extras")
10362 (version "0.4.0.3")
10363 (source
10364 (origin
10365 (method url-fetch)
10366 (uri (string-append
10367 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
10368 version
10369 ".tar.gz"))
10370 (sha256
10371 (base32
10372 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
10373 (build-system haskell-build-system)
10374 (home-page "https://github.com/ekmett/prelude-extras")
10375 (synopsis "Higher order versions of Prelude classes")
10376 (description "This library provides higher order versions of
10377 @code{Prelude} classes to ease programming with polymorphic recursion and
10378 reduce @code{UndecidableInstances}.")
10379 (license license:bsd-3)))
10380
10381 (define-public ghc-prettyclass
10382 (package
10383 (name "ghc-prettyclass")
10384 (version "1.0.0.0")
10385 (source
10386 (origin
10387 (method url-fetch)
10388 (uri (string-append "https://hackage.haskell.org/package/"
10389 "prettyclass/prettyclass-" version ".tar.gz"))
10390 (sha256
10391 (base32
10392 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
10393 (build-system haskell-build-system)
10394 (home-page "https://hackage.haskell.org/package/prettyclass")
10395 (synopsis "Pretty printing class similar to Show")
10396 (description "This package provides a pretty printing class similar
10397 to @code{Show}, based on the HughesPJ pretty printing library. It
10398 provides the pretty printing class and instances for the Prelude
10399 types.")
10400 (license license:bsd-3)))
10401
10402 (define-public ghc-prettyprinter
10403 (package
10404 (name "ghc-prettyprinter")
10405 (version "1.2.1.1")
10406 (source
10407 (origin
10408 (method url-fetch)
10409 (uri (string-append
10410 "mirror://hackage/package/prettyprinter/prettyprinter-"
10411 version
10412 ".tar.gz"))
10413 (sha256
10414 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
10415 (build-system haskell-build-system)
10416 (native-inputs
10417 `(("ghc-doctest" ,ghc-doctest)
10418 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
10419 ("ghc-tasty" ,ghc-tasty)
10420 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10421 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10422 (home-page "https://github.com/quchen/prettyprinter")
10423 (synopsis
10424 "Modern, easy to use, well-documented, extensible pretty-printer")
10425 (description
10426 "A prettyprinter/text rendering engine. Easy to use, well-documented,
10427 ANSI terminal backend exists, HTML backend is trivial to implement, no name
10428 clashes, @code{Text}-based, extensible.")
10429 (license license:bsd-2)))
10430
10431 (define-public ghc-prettyprinter-1.6
10432 (package
10433 (inherit ghc-prettyprinter)
10434 (version "1.6.1")
10435 (source
10436 (origin
10437 (method url-fetch)
10438 (uri (string-append
10439 "mirror://hackage/package/prettyprinter/prettyprinter-"
10440 version
10441 ".tar.gz"))
10442 (sha256
10443 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
10444 (inputs
10445 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
10446 ,@(package-inputs ghc-prettyprinter)))))
10447
10448 (define-public ghc-prettyprinter-ansi-terminal
10449 (package
10450 (name "ghc-prettyprinter-ansi-terminal")
10451 (version "1.1.1.2")
10452 (source
10453 (origin
10454 (method url-fetch)
10455 (uri (string-append
10456 "mirror://hackage/package/prettyprinter-ansi-terminal/"
10457 "prettyprinter-ansi-terminal-" version ".tar.gz"))
10458 (sha256
10459 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
10460 (build-system haskell-build-system)
10461 (inputs
10462 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
10463 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
10464 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
10465 (home-page
10466 "https://github.com/quchen/prettyprinter")
10467 (synopsis
10468 "ANSI terminal backend for the prettyprinter package")
10469 (description "ANSI terminal backend for the prettyprinter package.")
10470 (license license:bsd-2)))
10471
10472 (define-public ghc-pretty-hex
10473 (package
10474 (name "ghc-pretty-hex")
10475 (version "1.0")
10476 (source
10477 (origin
10478 (method url-fetch)
10479 (uri (string-append "https://hackage.haskell.org/package/"
10480 "pretty-hex-" version "/"
10481 "pretty-hex-" version ".tar.gz"))
10482 (sha256
10483 (base32
10484 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
10485 (build-system haskell-build-system)
10486 (home-page "https://github.com/GaloisInc/hexdump")
10487 (synopsis "Haskell library for hex dumps of ByteStrings")
10488 (description "This Haskell library generates pretty hex dumps of
10489 ByteStrings in the style of other common *nix hex dump tools.")
10490 (license license:bsd-3)))
10491
10492 (define-public ghc-pretty-show
10493 (package
10494 (name "ghc-pretty-show")
10495 (version "1.9.5")
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
10500 "pretty-show-" version ".tar.gz"))
10501 (sha256
10502 (base32
10503 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
10504 (build-system haskell-build-system)
10505 (inputs
10506 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
10507 ("ghc-happy" ,ghc-happy)))
10508 (home-page "https://wiki.github.com/yav/pretty-show")
10509 (synopsis "Tools for working with derived `Show` instances")
10510 (description
10511 "This package provides a library and an executable for working with
10512 derived @code{Show} instances. By using the library, derived @code{Show}
10513 instances can be parsed into a generic data structure. The @code{ppsh} tool
10514 uses the library to produce human-readable versions of @code{Show} instances,
10515 which can be quite handy for debugging Haskell programs. We can also render
10516 complex generic values into an interactive Html page, for easier
10517 examination.")
10518 (license license:expat)))
10519
10520 (define-public ghc-pretty-simple
10521 (package
10522 (name "ghc-pretty-simple")
10523 (version "2.2.0.1")
10524 (source
10525 (origin
10526 (method url-fetch)
10527 (uri (string-append
10528 "mirror://hackage/package/pretty-simple/"
10529 "pretty-simple-" version ".tar.gz"))
10530 (sha256
10531 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
10532 (build-system haskell-build-system)
10533 (inputs
10534 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
10535 ("ghc-glob" ,ghc-glob)
10536 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10537 ("ghc-aeson" ,ghc-aeson)))
10538 (native-inputs
10539 `(("ghc-doctest" ,ghc-doctest)))
10540 (home-page "https://github.com/cdepillabout/pretty-simple")
10541 (synopsis "Pretty printer for data types with a 'Show' instance")
10542 (description
10543 "Pretty-simple is a pretty printer for Haskell data types that have a
10544 Show instance.")
10545 (license license:bsd-3)))
10546
10547 (define-public ghc-primitive
10548 (package
10549 (name "ghc-primitive")
10550 (version "0.6.4.0")
10551 (outputs '("out" "static" "doc"))
10552 (source
10553 (origin
10554 (method url-fetch)
10555 (uri (string-append
10556 "https://hackage.haskell.org/package/primitive/primitive-"
10557 version
10558 ".tar.gz"))
10559 (sha256
10560 (base32
10561 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
10562 (build-system haskell-build-system)
10563 (arguments
10564 `(#:cabal-revision
10565 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
10566 (home-page
10567 "https://github.com/haskell/primitive")
10568 (synopsis "Primitive memory-related operations")
10569 (description
10570 "This package provides various primitive memory-related operations.")
10571 (license license:bsd-3)))
10572
10573 (define-public ghc-process-extras
10574 (package
10575 (name "ghc-process-extras")
10576 (version "0.7.4")
10577 (source
10578 (origin
10579 (method url-fetch)
10580 (uri
10581 (string-append
10582 "https://hackage.haskell.org/package/process-extras/"
10583 "process-extras-" version ".tar.gz"))
10584 (sha256
10585 (base32
10586 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
10587 (build-system haskell-build-system)
10588 (inputs
10589 `(("ghc-data-default" ,ghc-data-default)
10590 ("ghc-generic-deriving" ,ghc-generic-deriving)
10591 ("ghc-hunit" ,ghc-hunit)
10592 ("ghc-listlike" ,ghc-listlike)))
10593 (home-page "https://github.com/seereason/process-extras")
10594 (synopsis "Extra tools for managing processes")
10595 (description "This package extends
10596 @url{http://hackage.haskell.org/package/process}. It allows you to read
10597 process input and output as ByteStrings or Text, or write your own
10598 ProcessOutput instance. It also provides lazy process input and output,
10599 and a ProcessMaker class for more flexibility in the process creation
10600 API.")
10601 (license license:expat)))
10602
10603 (define-public ghc-profunctors
10604 (package
10605 (name "ghc-profunctors")
10606 (version "5.3")
10607 (source
10608 (origin
10609 (method url-fetch)
10610 (uri (string-append
10611 "https://hackage.haskell.org/package/profunctors/profunctors-"
10612 version
10613 ".tar.gz"))
10614 (sha256
10615 (base32
10616 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
10617 (build-system haskell-build-system)
10618 (outputs '("out" "static" "doc"))
10619 (inputs
10620 `(("ghc-base-orphans" ,ghc-base-orphans)
10621 ("ghc-bifunctors" ,ghc-bifunctors)
10622 ("ghc-comonad" ,ghc-comonad)
10623 ("ghc-contravariant" ,ghc-contravariant)
10624 ("ghc-distributive" ,ghc-distributive)
10625 ("ghc-semigroups" ,ghc-semigroups)
10626 ("ghc-tagged" ,ghc-tagged)))
10627 (home-page "https://github.com/ekmett/profunctors/")
10628 (synopsis "Profunctors for Haskell")
10629 (description "This library provides profunctors for Haskell.")
10630 (license license:bsd-3)))
10631
10632 (define-public ghc-project-template
10633 (package
10634 (name "ghc-project-template")
10635 (version "0.2.0.1")
10636 (source
10637 (origin
10638 (method url-fetch)
10639 (uri (string-append
10640 "https://hackage.haskell.org/package/project-template/project-template-"
10641 version ".tar.gz"))
10642 (sha256
10643 (base32
10644 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
10645 (build-system haskell-build-system)
10646 (inputs
10647 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10648 ("ghc-conduit" ,ghc-conduit)
10649 ("ghc-conduit-extra" ,ghc-conduit-extra)
10650 ("ghc-resourcet" ,ghc-resourcet)))
10651 (native-inputs
10652 `(("ghc-hspec" ,ghc-hspec)
10653 ("hspec-discover" ,hspec-discover)
10654 ("ghc-quickcheck" ,ghc-quickcheck)))
10655 (arguments
10656 `(#:cabal-revision
10657 ("1"
10658 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
10659 (home-page "https://github.com/fpco/haskell-ide")
10660 (synopsis "Specify Haskell project templates and generate files")
10661 (description
10662 "Haskell library for both generating and consuming project templates.
10663
10664 ost IDEs provide the concept of a project template: instead of writing all
10665 of the code for a project from scratch, you select a template, answer a few
10666 questions, and a bunch of files are automatically generated.
10667
10668 project-template tries to provide a canonical Haskell library for implementing
10669 the ideal templating system.")
10670 (license license:bsd-3)))
10671
10672 (define-public ghc-protolude
10673 (package
10674 (name "ghc-protolude")
10675 (version "0.2.3")
10676 (source
10677 (origin
10678 (method url-fetch)
10679 (uri (string-append
10680 "mirror://hackage/package/protolude/protolude-"
10681 version
10682 ".tar.gz"))
10683 (sha256
10684 (base32
10685 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
10686 (build-system haskell-build-system)
10687 (inputs
10688 `(("ghc-async" ,ghc-async)
10689 ("ghc-hashable" ,ghc-hashable)
10690 ("ghc-mtl-compat" ,ghc-mtl-compat)
10691 ("ghc-transformers-compat" ,ghc-transformers-compat)))
10692 (home-page "https://github.com/protolude/protolude")
10693 (synopsis "Sensible set of defaults for writing custom Preludes")
10694 (description
10695 "Protolude gives you sensible defaults for writing custom Preludes to
10696 replace the standard one provided by GHC.")
10697 (license license:expat)))
10698
10699 (define-public ghc-protolude-0.3
10700 (package
10701 (inherit ghc-protolude)
10702 (name "ghc-protolude")
10703 (version "0.3.0")
10704 (source
10705 (origin
10706 (method url-fetch)
10707 (uri (string-append
10708 "mirror://hackage/package/protolude/protolude-"
10709 version
10710 ".tar.gz"))
10711 (sha256
10712 (base32
10713 "1b6wprbwfdjyvds2bm6na0fbqgzdkj5ikkk33whbkyh3krd3i0s0"))))))
10714
10715 (define-public ghc-psqueue
10716 (package
10717 (name "ghc-psqueue")
10718 (version "1.1.0.1")
10719 (source (origin
10720 (method url-fetch)
10721 (uri (string-append "mirror://hackage/package/PSQueue-"
10722 version "/PSQueue-" version ".tar.gz"))
10723 (sha256
10724 (base32
10725 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
10726 (build-system haskell-build-system)
10727 (home-page "https://hackage.haskell.org/package/PSQueue")
10728 (synopsis "Priority search queue")
10729 (description
10730 "A @dfn{priority search queue} efficiently supports the operations of
10731 both a search tree and a priority queue. A @code{Binding} is a product of
10732 a key and a priority. Bindings can be inserted, deleted, modified and queried
10733 in logarithmic time, and the binding with the least priority can be retrieved
10734 in constant time. A queue can be built from a list of bindings, sorted by
10735 keys, in linear time.")
10736 (license license:bsd-3)))
10737
10738 (define-public ghc-psqueues
10739 (package
10740 (name "ghc-psqueues")
10741 (version "0.2.7.2")
10742 (source
10743 (origin
10744 (method url-fetch)
10745 (uri (string-append "https://hackage.haskell.org/package/"
10746 "psqueues-" version "/"
10747 "psqueues-" version ".tar.gz"))
10748 (sha256
10749 (base32
10750 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
10751 (build-system haskell-build-system)
10752 (inputs
10753 `(("ghc-hashable" ,ghc-hashable)))
10754 (native-inputs
10755 `(("ghc-hunit" ,ghc-hunit)
10756 ("ghc-quickcheck" ,ghc-quickcheck)
10757 ("ghc-tagged" ,ghc-tagged)
10758 ("ghc-tasty" ,ghc-tasty)
10759 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10760 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10761 (home-page "https://github.com/jaspervdj/psqueues")
10762 (synopsis "Pure priority search queues")
10763 (description "The psqueues package provides
10764 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
10765 three different flavors:
10766
10767 @itemize
10768 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
10769 fast insertion, deletion and lookup. This implementation is based on Ralf
10770 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
10771 Implementation Technique for Priority Search Queues}.
10772
10773 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
10774 PSQueue} library, although it is considerably faster and provides a slightly
10775 different API.
10776
10777 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
10778 key type to @code{Int} and uses a
10779 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
10780 with an additional min-heap property.
10781
10782 @item @code{HashPSQ k p v} is a fairly straightforward extension
10783 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
10784 @code{IntPSQ}. If there are any hash collisions, it uses an
10785 @code{OrdPSQ} to resolve those. The performance of this implementation
10786 is comparable to that of @code{IntPSQ}, but it is more widely
10787 applicable since the keys are not restricted to @code{Int},
10788 but rather to any @code{Hashable} datatype.
10789 @end itemize
10790
10791 Each of the three implementations provides the same API, so they can
10792 be used interchangeably.
10793
10794 Typical applications of Priority Search Queues include:
10795
10796 @itemize
10797 @item Caches, and more specifically LRU Caches;
10798 @item Schedulers;
10799 @item Pathfinding algorithms, such as Dijkstra's and A*.
10800 @end itemize")
10801 (license license:bsd-3)))
10802
10803 (define-public ghc-pwstore-fast
10804 (package
10805 (name "ghc-pwstore-fast")
10806 (version "2.4.4")
10807 (source
10808 (origin
10809 (method url-fetch)
10810 (uri (string-append
10811 "https://hackage.haskell.org/package/pwstore-fast/"
10812 "pwstore-fast-" version ".tar.gz"))
10813 (sha256
10814 (base32
10815 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
10816 (build-system haskell-build-system)
10817 (inputs
10818 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10819 ("ghc-cryptohash" ,ghc-cryptohash)
10820 ("ghc-random" ,ghc-random)
10821 ("ghc-byteable" ,ghc-byteable)))
10822 (home-page "https://github.com/PeterScott/pwstore")
10823 (synopsis "Secure password storage")
10824 (description
10825 "To store passwords securely, they should be salted, then hashed with
10826 a slow hash function. This library uses PBKDF1-SHA256, and handles all the
10827 details. It uses the cryptohash package for speed; if you need a pure
10828 Haskell library, pwstore-purehaskell has the exact same API, but uses only
10829 pure Haskell. It is about 25 times slower than this package, but still quite
10830 usable.")
10831 (license license:bsd-3)))
10832
10833 (define-public ghc-random
10834 (package
10835 (name "ghc-random")
10836 (version "1.1")
10837 (outputs '("out" "static" "doc"))
10838 (source
10839 (origin
10840 (method url-fetch)
10841 (uri (string-append
10842 "https://hackage.haskell.org/package/random/random-"
10843 version
10844 ".tar.gz"))
10845 (sha256
10846 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
10847 (build-system haskell-build-system)
10848 (home-page "https://hackage.haskell.org/package/random")
10849 (synopsis "Random number library")
10850 (description "This package provides a basic random number generation
10851 library, including the ability to split random number generators.")
10852 (license license:bsd-3)))
10853
10854 (define-public ghc-raw-strings-qq
10855 (package
10856 (name "ghc-raw-strings-qq")
10857 (version "1.1")
10858 (source
10859 (origin
10860 (method url-fetch)
10861 (uri (string-append "https://hackage.haskell.org/package/"
10862 "raw-strings-qq/raw-strings-qq-"
10863 version ".tar.gz"))
10864 (sha256
10865 (base32
10866 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
10867 (build-system haskell-build-system)
10868 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
10869 (home-page "https://github.com/23Skidoo/raw-strings-qq")
10870 (synopsis "Raw string literals for Haskell")
10871 (description
10872 "This package provides a quasiquoter for raw string literals, i.e. string
10873 literals that don't recognise the standard escape sequences. Basically, they
10874 make your code more readable by freeing you from the responsibility to escape
10875 backslashes. They are useful when working with regular expressions,
10876 DOS/Windows paths and markup languages (such as XML).")
10877 (license license:bsd-3)))
10878
10879 (define-public ghc-readable
10880 (package
10881 (name "ghc-readable")
10882 (version "0.3.1")
10883 (source
10884 (origin
10885 (method url-fetch)
10886 (uri (string-append "https://hackage.haskell.org/package/"
10887 "readable/readable-" version ".tar.gz"))
10888 (sha256
10889 (base32
10890 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
10891 (build-system haskell-build-system)
10892 (home-page "https://github.com/mightybyte/readable")
10893 (synopsis "Type class for reading from Text and ByteString")
10894 (description "This package provides a @code{Readable} type class for
10895 reading data types from @code{ByteString} and @code{Text}. It also
10896 includes efficient implementations for common data types.")
10897 (license license:bsd-3)))
10898
10899 (define-public ghc-rebase
10900 (package
10901 (name "ghc-rebase")
10902 (version "1.3.1.1")
10903 (source
10904 (origin
10905 (method url-fetch)
10906 (uri (string-append "https://hackage.haskell.org/package/"
10907 "rebase-" version "/"
10908 "rebase-" version ".tar.gz"))
10909 (sha256
10910 (base32
10911 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
10912 (build-system haskell-build-system)
10913 (outputs '("out" "static" "doc"))
10914 (inputs `(("ghc-hashable" ,ghc-hashable)
10915 ("ghc-vector" ,ghc-vector)
10916 ("ghc-unordered-containers" ,ghc-unordered-containers)
10917 ("ghc-scientific" ,ghc-scientific)
10918 ("ghc-uuid" ,ghc-uuid)
10919 ("ghc-dlist" ,ghc-dlist)
10920 ("ghc-void" ,ghc-void)
10921 ("ghc-bifunctors" ,ghc-bifunctors)
10922 ("ghc-profunctors" ,ghc-profunctors)
10923 ("ghc-contravariant" ,ghc-contravariant)
10924 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10925 ("ghc-semigroups" ,ghc-semigroups)
10926 ("ghc-either" ,ghc-either)
10927 ("ghc-fail" ,ghc-fail)
10928 ("ghc-base-prelude" ,ghc-base-prelude)))
10929 (home-page "https://github.com/nikita-volkov/rebase")
10930 (synopsis "Progressive alternative to the base package
10931 for Haskell")
10932 (description "This Haskell package is intended for those who are
10933 tired of keeping long lists of dependencies to the same essential libraries
10934 in each package as well as the endless imports of the same APIs all over again.
10935
10936 It also supports the modern tendencies in the language.
10937
10938 To solve those problems this package does the following:
10939
10940 @itemize
10941 @item Reexport the original APIs under the @code{Rebase} namespace.
10942
10943 @item Export all the possible non-conflicting symbols from the
10944 @code{Rebase.Prelude} module.
10945
10946 @item Give priority to the modern practices in the conflicting cases.
10947 @end itemize
10948
10949 The policy behind the package is only to reexport the non-ambiguous and
10950 non-controversial APIs, which the community has obviously settled on.
10951 The package is intended to rapidly evolve with the contribution from
10952 the community, with the missing features being added with pull-requests.")
10953 (license license:expat)))
10954
10955 (define-public ghc-reducers
10956 (package
10957 (name "ghc-reducers")
10958 (version "3.12.3")
10959 (source
10960 (origin
10961 (method url-fetch)
10962 (uri (string-append
10963 "https://hackage.haskell.org/package/reducers/reducers-"
10964 version
10965 ".tar.gz"))
10966 (sha256
10967 (base32
10968 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10969 (build-system haskell-build-system)
10970 (inputs
10971 `(("ghc-fingertree" ,ghc-fingertree)
10972 ("ghc-hashable" ,ghc-hashable)
10973 ("ghc-unordered-containers" ,ghc-unordered-containers)
10974 ("ghc-semigroupoids" ,ghc-semigroupoids)
10975 ("ghc-semigroups" ,ghc-semigroups)))
10976 (home-page "https://github.com/ekmett/reducers/")
10977 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10978 (description "This library provides various semigroups, specialized
10979 containers and a general map/reduce framework for Haskell.")
10980 (license license:bsd-3)))
10981
10982 (define-public ghc-refact
10983 (package
10984 (name "ghc-refact")
10985 (version "0.3.0.2")
10986 (source
10987 (origin
10988 (method url-fetch)
10989 (uri (string-append "https://hackage.haskell.org/package/"
10990 "refact/refact-"
10991 version ".tar.gz"))
10992 (sha256
10993 (base32
10994 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10995 (build-system haskell-build-system)
10996 (home-page "https://hackage.haskell.org/package/refact")
10997 (synopsis "Specify refactorings to perform with apply-refact")
10998 (description
10999 "This library provides a datatype which can be interpreted by
11000 @code{apply-refact}. It exists as a separate library so that applications can
11001 specify refactorings without depending on GHC.")
11002 (license license:bsd-3)))
11003
11004 (define-public ghc-reflection
11005 (package
11006 (name "ghc-reflection")
11007 (version "2.1.5")
11008 (source
11009 (origin
11010 (method url-fetch)
11011 (uri (string-append
11012 "https://hackage.haskell.org/package/reflection/reflection-"
11013 version
11014 ".tar.gz"))
11015 (sha256
11016 (base32
11017 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
11018 (build-system haskell-build-system)
11019 (inputs `(("ghc-tagged" ,ghc-tagged)))
11020 (native-inputs
11021 `(("ghc-hspec" ,ghc-hspec)
11022 ("ghc-quickcheck" ,ghc-quickcheck)
11023 ("hspec-discover" ,hspec-discover)))
11024 (home-page "https://github.com/ekmett/reflection")
11025 (synopsis "Reify arbitrary terms into types that can be reflected back
11026 into terms")
11027 (description "This package addresses the 'configuration problem' which is
11028 propagating configurations that are available at run-time, allowing multiple
11029 configurations to coexist without resorting to mutable global variables or
11030 @code{System.IO.Unsafe.unsafePerformIO}.")
11031 (license license:bsd-3)))
11032
11033 (define-public ghc-regex
11034 (package
11035 (name "ghc-regex")
11036 (version "1.0.2.0")
11037 (source
11038 (origin
11039 (method url-fetch)
11040 (uri (string-append "https://hackage.haskell.org/package/regex/"
11041 "regex-" version ".tar.gz"))
11042 (sha256
11043 (base32
11044 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
11045 (build-system haskell-build-system)
11046 (arguments
11047 `(#:phases
11048 (modify-phases %standard-phases
11049 (add-after 'unpack 'relax-dependencies
11050 (lambda _
11051 (substitute* "regex.cabal"
11052 (("base-compat.*>=.*0.6.*")
11053 "base-compat >= 0.6\n")
11054 (("template-haskell.*>=.*2.7.*")
11055 "template-haskell >= 2.7\n"))
11056 #t)))))
11057 (inputs
11058 `(("ghc-base-compat" ,ghc-base-compat)
11059 ("ghc-hashable" ,ghc-hashable)
11060 ("ghc-regex-base" ,ghc-regex-base)
11061 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11062 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
11063 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
11064 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
11065 ("ghc-unordered-containers" ,ghc-unordered-containers)
11066 ("ghc-utf8-string" ,ghc-utf8-string)))
11067 (home-page "http://regex.uk")
11068 (synopsis "Toolkit for regex-base")
11069 (description
11070 "This package provides a regular expression toolkit for @code{regex-base}
11071 with compile-time checking of regular expression syntax, data types for
11072 matches and captures, a text replacement toolkit, portable options, high-level
11073 AWK-like tools for building text processing apps, regular expression macros
11074 with parsers and test bench, comprehensive documentation, tutorials and
11075 copious examples.")
11076 (license license:bsd-3)))
11077
11078 (define-public ghc-regex-applicative
11079 (package
11080 (name "ghc-regex-applicative")
11081 (version "0.3.3.1")
11082 (source
11083 (origin
11084 (method url-fetch)
11085 (uri (string-append
11086 "https://hackage.haskell.org/package/regex-applicative/"
11087 "regex-applicative-" version ".tar.gz"))
11088 (sha256
11089 (base32
11090 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
11091 (build-system haskell-build-system)
11092 (inputs
11093 `(("ghc-smallcheck" ,ghc-smallcheck)
11094 ("ghc-tasty" ,ghc-tasty)
11095 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
11096 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11097 (home-page "https://github.com/feuerbach/regex-applicative")
11098 (synopsis "Regex-based parsing with applicative interface")
11099 (description
11100 "@code{regex-applicative} is a Haskell library for parsing using
11101 regular expressions. Parsers can be built using Applicative interface.")
11102 (license license:expat)))
11103
11104 (define-public ghc-regex-base
11105 (package
11106 (name "ghc-regex-base")
11107 (version "0.93.2")
11108 (source
11109 (origin
11110 (method url-fetch)
11111 (uri (string-append
11112 "https://hackage.haskell.org/package/regex-base/regex-base-"
11113 version
11114 ".tar.gz"))
11115 (sha256
11116 (base32
11117 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
11118 (build-system haskell-build-system)
11119 (home-page
11120 "https://sourceforge.net/projects/lazy-regex")
11121 (synopsis "Replaces/Enhances Text.Regex")
11122 (description "@code{Text.Regex.Base} provides the interface API for
11123 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
11124 (license license:bsd-3)))
11125
11126 (define-public ghc-regex-compat
11127 (package
11128 (name "ghc-regex-compat")
11129 (version "0.95.1")
11130 (source
11131 (origin
11132 (method url-fetch)
11133 (uri (string-append
11134 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
11135 version
11136 ".tar.gz"))
11137 (sha256
11138 (base32
11139 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
11140 (build-system haskell-build-system)
11141 (inputs
11142 `(("ghc-regex-base" ,ghc-regex-base)
11143 ("ghc-regex-posix" ,ghc-regex-posix)))
11144 (home-page "https://sourceforge.net/projects/lazy-regex")
11145 (synopsis "Replaces/Enhances Text.Regex")
11146 (description "This library provides one module layer over
11147 @code{regex-posix} to replace @code{Text.Regex}.")
11148 (license license:bsd-3)))
11149
11150 (define-public ghc-regex-compat-tdfa
11151 (package
11152 (name "ghc-regex-compat-tdfa")
11153 (version "0.95.1.4")
11154 (source
11155 (origin
11156 (method url-fetch)
11157 (uri (string-append
11158 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
11159 version ".tar.gz"))
11160 (sha256
11161 (base32
11162 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
11163 (build-system haskell-build-system)
11164 (inputs
11165 `(("ghc-regex-base" ,ghc-regex-base)
11166 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
11167 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
11168 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
11169 (description
11170 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
11171 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
11172 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
11173 this problem.")
11174 (license license:bsd-3)))
11175
11176 (define-public ghc-regex-pcre
11177 (package
11178 (name "ghc-regex-pcre")
11179 (version "0.94.4")
11180 (source (origin
11181 (method url-fetch)
11182 (uri (string-append "https://hackage.haskell.org/package/"
11183 "regex-pcre/regex-pcre-" version ".tar.gz"))
11184 (sha256
11185 (base32
11186 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
11187 (build-system haskell-build-system)
11188 (arguments
11189 `(#:extra-directories ("pcre")))
11190 (inputs
11191 `(("ghc-regex-base" ,ghc-regex-base)
11192 ("pcre" ,pcre)))
11193 (home-page "https://hackage.haskell.org/package/regex-pcre")
11194 (synopsis "Enhancement of the builtin Text.Regex library")
11195 (description
11196 "This package is an enhancement of the @code{Text.Regex} library.
11197 It wraps the @code{PCRE} C library providing Perl-compatible regular
11198 expressions.")
11199 (license license:bsd-3)))
11200
11201 (define-public ghc-regex-pcre-builtin
11202 (package
11203 (name "ghc-regex-pcre-builtin")
11204 (version "0.94.5.8.8.35")
11205 (source (origin
11206 (method url-fetch)
11207 (uri (string-append "https://hackage.haskell.org/package/"
11208 "regex-pcre-builtin/regex-pcre-builtin-"
11209 version ".tar.gz"))
11210 (sha256
11211 (base32
11212 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
11213 (build-system haskell-build-system)
11214 (inputs
11215 `(("ghc-regex-base" ,ghc-regex-base)))
11216 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
11217 (synopsis "Enhancement of the builtin Text.Regex library")
11218 (description
11219 "This package is an enhancement of the @code{Text.Regex} library,
11220 providing the PCRE backend to accompany regex-base, with bundled code from
11221 @url{https://www.pcre.org}.")
11222 (license license:bsd-3)))
11223
11224 (define-public ghc-regex-posix
11225 (package
11226 (name "ghc-regex-posix")
11227 (version "0.95.2")
11228 (source
11229 (origin
11230 (method url-fetch)
11231 (uri (string-append
11232 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
11233 version
11234 ".tar.gz"))
11235 (sha256
11236 (base32
11237 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
11238 (build-system haskell-build-system)
11239 (inputs
11240 `(("ghc-regex-base" ,ghc-regex-base)))
11241 (home-page "https://sourceforge.net/projects/lazy-regex")
11242 (synopsis "POSIX regular expressions for Haskell")
11243 (description "This library provides the POSIX regex backend used by the
11244 Haskell library @code{regex-base}.")
11245 (license license:bsd-3)))
11246
11247 (define-public ghc-regex-tdfa
11248 (package
11249 (name "ghc-regex-tdfa")
11250 (version "1.2.3.2")
11251 (source
11252 (origin
11253 (method url-fetch)
11254 (uri (string-append
11255 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
11256 version ".tar.gz"))
11257 (sha256
11258 (base32
11259 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
11260 (build-system haskell-build-system)
11261 (outputs '("out" "static" "doc"))
11262 (inputs
11263 `(("ghc-regex-base" ,ghc-regex-base)))
11264 (home-page "https://github.com/haskell-hvr/regex-tdfa")
11265 (synopsis "POSIX extended regular expressions in Haskell.")
11266 (description
11267 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
11268 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
11269 inspired by libtre.")
11270 (license license:bsd-3)))
11271
11272 (define-public ghc-regex-tdfa-text
11273 (package
11274 (name "ghc-regex-tdfa-text")
11275 (version "1.0.0.3")
11276 (source
11277 (origin
11278 (method url-fetch)
11279 (uri (string-append
11280 "https://hackage.haskell.org/package/regex-tdfa-text/"
11281 "regex-tdfa-text-" version ".tar.gz"))
11282 (sha256
11283 (base32
11284 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
11285 (build-system haskell-build-system)
11286 (inputs
11287 `(("ghc-regex-base" ,ghc-regex-base)
11288 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
11289 (home-page
11290 "https://hackage.haskell.org/package/regex-tdfa-text")
11291 (synopsis "Text interface for regex-tdfa")
11292 (description
11293 "This provides an extra text interface for regex-tdfa.")
11294 (license license:bsd-3)))
11295
11296 (define-public ghc-repline
11297 (package
11298 (name "ghc-repline")
11299 (version "0.2.0.0")
11300 (source
11301 (origin
11302 (method url-fetch)
11303 (uri (string-append
11304 "mirror://hackage/package/repline/repline-"
11305 version
11306 ".tar.gz"))
11307 (sha256
11308 (base32
11309 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
11310 (build-system haskell-build-system)
11311 (home-page "https://github.com/sdiehl/repline")
11312 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
11313 (description
11314 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
11315 normal mtl transformers.")
11316 (license license:expat)))
11317
11318 (define-public ghc-repline-0.3
11319 (package
11320 (inherit ghc-repline)
11321 (version "0.3.0.0")
11322 (source
11323 (origin
11324 (method url-fetch)
11325 (uri (string-append
11326 "mirror://hackage/package/repline/repline-"
11327 version
11328 ".tar.gz"))
11329 (sha256
11330 (base32
11331 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
11332 (inputs
11333 `(("ghc-exceptions" ,ghc-exceptions)
11334 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
11335
11336 (define-public ghc-rerebase
11337 (package
11338 (name "ghc-rerebase")
11339 (version "1.3.1.1")
11340 (source
11341 (origin
11342 (method url-fetch)
11343 (uri (string-append
11344 "https://hackage.haskell.org/package/rerebase/rerebase-"
11345 version ".tar.gz"))
11346 (sha256
11347 (base32
11348 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
11349 (build-system haskell-build-system)
11350 (outputs '("out" "static" "doc"))
11351 (inputs
11352 `(("ghc-rebase" ,ghc-rebase)))
11353 (home-page "https://github.com/nikita-volkov/rerebase")
11354 (synopsis "Reexports from ``base'' with many other standard libraries")
11355 (description "A rich drop-in replacement for @code{base}. For details and
11356 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
11357 the project's home page}.")
11358 (license license:expat)))
11359
11360 (define-public ghc-resolv
11361 (package
11362 (name "ghc-resolv")
11363 (version "0.1.1.2")
11364 (source
11365 (origin
11366 (method url-fetch)
11367 (uri (string-append
11368 "https://hackage.haskell.org/package/resolv/resolv-"
11369 version ".tar.gz"))
11370 (sha256
11371 (base32
11372 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
11373 (build-system haskell-build-system)
11374 (arguments
11375 `(#:phases
11376 (modify-phases %standard-phases
11377 (add-before 'configure 'update-constraints
11378 (lambda _
11379 (substitute* "resolv.cabal"
11380 (("tasty >= 1\\.1 && < 1\\.2")
11381 "tasty >= 1.1 && < 1.3"))
11382 #t)))))
11383 (inputs
11384 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
11385 (native-inputs
11386 `(("ghc-tasty" ,ghc-tasty)
11387 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11388 (home-page "https://github.com/haskell/hackage-security")
11389 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
11390 (description "This package implements an API for accessing the
11391 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
11392 resolver service via the standard @code{libresolv} system library (whose
11393 API is often available directly via the standard @code{libc} C library) on
11394 Unix systems.")
11395 (license license:gpl3)))
11396
11397 (define-public ghc-resource-pool
11398 (package
11399 (name "ghc-resource-pool")
11400 (version "0.2.3.2")
11401 (source
11402 (origin
11403 (method url-fetch)
11404 (uri (string-append "https://hackage.haskell.org/package/"
11405 "resource-pool-" version "/"
11406 "resource-pool-" version ".tar.gz"))
11407 (sha256
11408 (base32
11409 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
11410 (build-system haskell-build-system)
11411 (inputs `(("ghc-hashable" ,ghc-hashable)
11412 ("ghc-monad-control" ,ghc-monad-control)
11413 ("ghc-transformers-base" ,ghc-transformers-base)
11414 ("ghc-vector" ,ghc-vector)))
11415 (home-page "https://github.com/bos/pool")
11416 (synopsis "Striped resource pooling implementation in Haskell")
11417 (description "This Haskell package provides striped pooling abstraction
11418 for managing flexibly-sized collections of resources such as database
11419 connections.")
11420 (license license:bsd-3)))
11421
11422 (define-public ghc-resourcet
11423 (package
11424 (name "ghc-resourcet")
11425 (version "1.2.2")
11426 (source
11427 (origin
11428 (method url-fetch)
11429 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
11430 "resourcet-" version ".tar.gz"))
11431 (sha256
11432 (base32
11433 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
11434 (build-system haskell-build-system)
11435 (inputs
11436 `(("ghc-transformers-base" ,ghc-transformers-base)
11437 ("ghc-monad-control" ,ghc-monad-control)
11438 ("ghc-transformers-compat" ,ghc-transformers-compat)
11439 ("ghc-mmorph" ,ghc-mmorph)
11440 ("ghc-exceptions" ,ghc-exceptions)
11441 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11442 (native-inputs
11443 `(("ghc-lifted-base" ,ghc-lifted-base)
11444 ("ghc-hspec" ,ghc-hspec)))
11445 (home-page "https://github.com/snoyberg/conduit")
11446 (synopsis "Deterministic allocation and freeing of scarce resources")
11447 (description "ResourceT is a monad transformer which creates a region of
11448 code where you can safely allocate resources.")
11449 (license license:bsd-3)))
11450
11451 (define-public ghc-retry
11452 (package
11453 (name "ghc-retry")
11454 (version "0.8.1.0")
11455 (source
11456 (origin
11457 (method url-fetch)
11458 (uri (string-append "https://hackage.haskell.org/package/"
11459 "retry/retry-" version ".tar.gz"))
11460 (sha256
11461 (base32
11462 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
11463 (build-system haskell-build-system)
11464 (inputs
11465 `(("ghc-exceptions" ,ghc-exceptions)
11466 ("ghc-random" ,ghc-random)))
11467 (native-inputs
11468 `(("ghc-hunit" ,ghc-hunit)
11469 ("ghc-tasty" ,ghc-tasty)
11470 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11471 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
11472 ("ghc-hedgehog" ,ghc-hedgehog)))
11473 (home-page "https://github.com/Soostone/retry")
11474 (synopsis "Retry combinators for monadic actions that may fail")
11475 (description "This package exposes combinators that can wrap
11476 arbitrary monadic actions. They run the action and potentially retry
11477 running it with some configurable delay for a configurable number of
11478 times. The purpose is to make it easier to work with IO and especially
11479 network IO actions that often experience temporary failure and warrant
11480 retrying of the original action. For example, a database query may time
11481 out for a while, in which case we should hang back for a bit and retry
11482 the query instead of simply raising an exception.")
11483 (license license:bsd-3)))
11484
11485 (define-public ghc-rfc5051
11486 (package
11487 (name "ghc-rfc5051")
11488 (version "0.1.0.4")
11489 (source
11490 (origin
11491 (method url-fetch)
11492 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
11493 "rfc5051-" version ".tar.gz"))
11494 (sha256
11495 (base32
11496 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
11497 (build-system haskell-build-system)
11498 (home-page "https://hackage.haskell.org/package/rfc5051")
11499 (synopsis "Simple unicode collation as per RFC5051")
11500 (description
11501 "This library implements @code{unicode-casemap}, the simple, non
11502 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
11503 unicode collation can be done using @code{text-icu}, but that is a big
11504 dependency that depends on a large C library, and @code{rfc5051} might be
11505 better for some purposes.")
11506 (license license:bsd-3)))
11507
11508 (define-public ghc-rio
11509 (package
11510 (name "ghc-rio")
11511 (version "0.1.12.0")
11512 (source
11513 (origin
11514 (method url-fetch)
11515 (uri (string-append
11516 "https://hackage.haskell.org/package/rio/rio-"
11517 version ".tar.gz"))
11518 (sha256
11519 (base32
11520 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
11521 (build-system haskell-build-system)
11522 (inputs
11523 `(("ghc-exceptions" ,ghc-exceptions)
11524 ("ghc-hashable" ,ghc-hashable)
11525 ("ghc-microlens" ,ghc-microlens)
11526 ("ghc-primitive" ,ghc-primitive)
11527 ("ghc-typed-process" ,ghc-typed-process)
11528 ("ghc-unliftio" ,ghc-unliftio)
11529 ("ghc-unordered-containers" ,ghc-unordered-containers)
11530 ("ghc-vector" ,ghc-vector)))
11531 (native-inputs
11532 `(("ghc-hspec" ,ghc-hspec)
11533 ("hspec-discover" ,hspec-discover)))
11534 (home-page "https://github.com/commercialhaskell/rio#readme")
11535 (synopsis "A standard library for Haskell")
11536 (description "This package works as a prelude replacement for Haskell,
11537 providing more functionality and types out of the box than the standard
11538 prelude (such as common data types like @code{ByteString} and
11539 @code{Text}), as well as removing common ``gotchas'', like partial
11540 functions and lazy I/O. The guiding principle here is:
11541 @itemize
11542 @item If something is safe to use in general and has no expected naming
11543 conflicts, expose it.
11544 @item If something should not always be used, or has naming conflicts,
11545 expose it from another module in the hierarchy.
11546 @end itemize")
11547 (license license:expat)))
11548
11549 (define-public ghc-safe
11550 (package
11551 (name "ghc-safe")
11552 (version "0.3.17")
11553 (source
11554 (origin
11555 (method url-fetch)
11556 (uri (string-append
11557 "https://hackage.haskell.org/package/safe/safe-"
11558 version
11559 ".tar.gz"))
11560 (sha256
11561 (base32
11562 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
11563 (build-system haskell-build-system)
11564 (native-inputs
11565 `(("ghc-quickcheck" ,ghc-quickcheck)))
11566 (home-page "https://github.com/ndmitchell/safe#readme")
11567 (synopsis "Library of safe (exception free) functions")
11568 (description "This library provides wrappers around @code{Prelude} and
11569 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
11570 exceptions.")
11571 (license license:bsd-3)))
11572
11573 (define-public ghc-safe-exceptions
11574 (package
11575 (name "ghc-safe-exceptions")
11576 (version "0.1.7.0")
11577 (source
11578 (origin
11579 (method url-fetch)
11580 (uri (string-append "https://hackage.haskell.org/package/"
11581 "safe-exceptions/safe-exceptions-"
11582 version ".tar.gz"))
11583 (sha256
11584 (base32
11585 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
11586 (build-system haskell-build-system)
11587 (arguments
11588 '(#:cabal-revision
11589 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
11590 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11591 (native-inputs
11592 `(("ghc-hspec" ,ghc-hspec)
11593 ("ghc-void" ,ghc-void)
11594 ("hspec-discover" ,hspec-discover)))
11595 (home-page "https://github.com/fpco/safe-exceptions")
11596 (synopsis "Safe, consistent, and easy exception handling")
11597 (description "Runtime exceptions - as exposed in @code{base} by the
11598 @code{Control.Exception} module - have long been an intimidating part of the
11599 Haskell ecosystem. This package is intended to overcome this. It provides a
11600 safe and simple API on top of the existing exception handling machinery. The
11601 API is equivalent to the underlying implementation in terms of power but
11602 encourages best practices to minimize the chances of getting the exception
11603 handling wrong.")
11604 (license license:expat)))
11605
11606 (define-public ghc-safeio
11607 (package
11608 (name "ghc-safeio")
11609 (version "0.0.5.0")
11610 (source
11611 (origin
11612 (method url-fetch)
11613 (uri (string-append "https://hackage.haskell.org/package/safeio/"
11614 "safeio-" version ".tar.gz"))
11615 (sha256
11616 (base32
11617 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
11618 (build-system haskell-build-system)
11619 (inputs
11620 `(("ghc-conduit" ,ghc-conduit)
11621 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11622 ("ghc-exceptions" ,ghc-exceptions)
11623 ("ghc-resourcet" ,ghc-resourcet)))
11624 (native-inputs
11625 `(("ghc-hunit" ,ghc-hunit)
11626 ("ghc-test-framework" ,ghc-test-framework)
11627 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11628 ("ghc-test-framework-th" ,ghc-test-framework-th)))
11629 (home-page "https://github.com/luispedro/safeio")
11630 (synopsis "Write output to disk atomically")
11631 (description
11632 "This package implements utilities to perform atomic output so as to
11633 avoid the problem of partial intermediate files.")
11634 (license license:expat)))
11635
11636 (define-public ghc-safesemaphore
11637 (package
11638 (name "ghc-safesemaphore")
11639 (version "0.10.1")
11640 (source
11641 (origin
11642 (method url-fetch)
11643 (uri (string-append "https://hackage.haskell.org/package/"
11644 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
11645 (sha256
11646 (base32
11647 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
11648 (build-system haskell-build-system)
11649 (native-inputs
11650 `(("ghc-hunit" ,ghc-hunit)))
11651 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
11652 (synopsis "Exception safe semaphores")
11653 (description "This library provides exception safe semaphores that can be
11654 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
11655 are not exception safe and can be broken by @code{killThread}.")
11656 (license license:bsd-3)))
11657
11658 (define-public ghc-sandi
11659 (package
11660 (name "ghc-sandi")
11661 (version "0.5")
11662 (source
11663 (origin
11664 (method url-fetch)
11665 (uri (string-append
11666 "https://hackage.haskell.org/package/sandi/sandi-"
11667 version ".tar.gz"))
11668 (sha256
11669 (base32
11670 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
11671 (build-system haskell-build-system)
11672 (inputs
11673 `(("ghc-stringsearch" ,ghc-stringsearch)
11674 ("ghc-conduit" ,ghc-conduit)
11675 ("ghc-exceptions" ,ghc-exceptions)
11676 ("ghc-hunit" ,ghc-hunit)
11677 ("ghc-tasty" ,ghc-tasty)
11678 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11679 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11680 ("ghc-tasty-th" ,ghc-tasty-th)))
11681 (home-page "https://hackage.haskell.org/package/sandi")
11682 (synopsis "Data encoding library")
11683 (description "Reasonably fast data encoding library.")
11684 (license license:bsd-3)))
11685
11686 (define-public ghc-say
11687 (package
11688 (name "ghc-say")
11689 (version "0.1.0.1")
11690 (source
11691 (origin
11692 (method url-fetch)
11693 (uri (string-append
11694 "https://hackage.haskell.org/package/say/say-"
11695 version
11696 ".tar.gz"))
11697 (sha256
11698 (base32
11699 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
11700 (build-system haskell-build-system)
11701 (native-inputs
11702 `(("ghc-hspec" ,ghc-hspec)
11703 ("hspec-discover" ,hspec-discover)
11704 ("ghc-unliftio" ,ghc-unliftio)))
11705 (home-page "https://github.com/fpco/say")
11706 (synopsis
11707 "Send textual messages to a Handle in a thread-friendly way")
11708 (description
11709 "A thread safe API to write a line of textual data to a Handle, such
11710 as sending some messages to the terminal - that has the following properties:
11711 @itemize
11712 @item Properly handle character encoding settings on the Handle
11713 @item For reasonably sized messages, ensure that the entire message is written
11714 in one chunk to avoid interleaving data with other threads
11715 @item Avoid unnecessary memory allocations and copies
11716 @item Minimize locking.
11717 @end itemize")
11718 (license license:expat)))
11719
11720 (define-public ghc-scientific
11721 (package
11722 (name "ghc-scientific")
11723 (version "0.3.6.2")
11724 (source
11725 (origin
11726 (method url-fetch)
11727 (uri (string-append
11728 "https://hackage.haskell.org/package/scientific/scientific-"
11729 version
11730 ".tar.gz"))
11731 (sha256
11732 (base32
11733 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
11734 (build-system haskell-build-system)
11735 (inputs
11736 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
11737 ("ghc-hashable" ,ghc-hashable)
11738 ("ghc-primitive" ,ghc-primitive)))
11739 (native-inputs
11740 `(("ghc-tasty" ,ghc-tasty)
11741 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
11742 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11743 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
11744 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11745 ("ghc-smallcheck" ,ghc-smallcheck)
11746 ("ghc-quickcheck" ,ghc-quickcheck)))
11747 (home-page "https://github.com/basvandijk/scientific")
11748 (synopsis "Numbers represented using scientific notation")
11749 (description "This package provides @code{Data.Scientific}, which provides
11750 the number type @code{Scientific}. Scientific numbers are arbitrary precision
11751 and space efficient. They are represented using
11752 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
11753 notation}.")
11754 (license license:bsd-3)))
11755
11756 (define-public ghc-scientific-bootstrap
11757 (package
11758 (inherit ghc-scientific)
11759 (name "ghc-scientific-bootstrap")
11760 (arguments `(#:tests? #f))
11761 (inputs
11762 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
11763 ("ghc-hashable" ,ghc-hashable)
11764 ("ghc-primitive" ,ghc-primitive)))
11765 (native-inputs '())
11766 (properties '((hidden? #t)))))
11767
11768 (define-public ghc-sdl
11769 (package
11770 (name "ghc-sdl")
11771 (version "0.6.7.0")
11772 (source
11773 (origin
11774 (method url-fetch)
11775 (uri (string-append
11776 "https://hackage.haskell.org/package/SDL/SDL-"
11777 version
11778 ".tar.gz"))
11779 (sha256
11780 (base32
11781 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
11782 (build-system haskell-build-system)
11783 (inputs
11784 `(("sdl" ,sdl)))
11785 (home-page "https://hackage.haskell.org/package/SDL")
11786 (synopsis "LibSDL for Haskell")
11787 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
11788 multimedia library designed to provide low level access to audio, keyboard,
11789 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
11790 by MPEG playback software, emulators, and many popular games, including the
11791 award winning Linux port of \"Civilization: Call To Power.\"")
11792 (license license:bsd-3)))
11793
11794 (define-public ghc-sdl2
11795 (package
11796 (name "ghc-sdl2")
11797 (version "2.5.0.0")
11798 (source
11799 (origin
11800 (method url-fetch)
11801 (uri (string-append "https://hackage.haskell.org/package/"
11802 "sdl2/sdl2-" version ".tar.gz"))
11803 (sha256
11804 (base32
11805 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
11806 (build-system haskell-build-system)
11807 (arguments '(#:tests? #f)) ; tests require graphical environment
11808 (inputs
11809 `(("ghc-exceptions" ,ghc-exceptions)
11810 ("ghc-linear" ,ghc-linear)
11811 ("ghc-statevar" ,ghc-statevar)
11812 ("ghc-vector" ,ghc-vector)
11813 ("sdl2" ,sdl2)))
11814 (native-inputs
11815 `(("ghc-weigh" ,ghc-weigh)
11816 ("pkg-config" ,pkg-config)))
11817 (home-page "https://hackage.haskell.org/package/sdl2")
11818 (synopsis "High- and low-level bindings to the SDL library")
11819 (description
11820 "This package contains bindings to the SDL 2 library, in both high- and
11821 low-level forms. The @code{SDL} namespace contains high-level bindings, where
11822 enumerations are split into sum types, and we perform automatic
11823 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
11824 translation of the C API into Haskell FFI calls. As such, this does not
11825 contain sum types nor error checking. Thus this namespace is suitable for
11826 building your own abstraction over SDL, but is not recommended for day-to-day
11827 programming.")
11828 (license license:bsd-3)))
11829
11830 (define-public ghc-sdl2-image
11831 (package
11832 (name "ghc-sdl2-image")
11833 (version "2.0.0")
11834 (source
11835 (origin
11836 (method url-fetch)
11837 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
11838 "sdl2-image-" version ".tar.gz"))
11839 (sha256
11840 (base32
11841 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
11842 (build-system haskell-build-system)
11843 (inputs
11844 `(("ghc-sdl2" ,ghc-sdl2)
11845 ("sdl2-image" ,sdl2-image)))
11846 (native-inputs
11847 `(("pkg-config" ,pkg-config)))
11848 (home-page "https://hackage.haskell.org/package/sdl2-image")
11849 (synopsis "Bindings to SDL2_image")
11850 (description "This package provides Haskell bindings to
11851 @code{SDL2_image}.")
11852 (license license:expat)))
11853
11854 (define-public ghc-sdl2-mixer
11855 (package
11856 (name "ghc-sdl2-mixer")
11857 (version "1.1.0")
11858 (source
11859 (origin
11860 (method url-fetch)
11861 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
11862 "sdl2-mixer-" version ".tar.gz"))
11863 (sha256
11864 (base32
11865 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
11866 (build-system haskell-build-system)
11867 (inputs
11868 `(("ghc-data-default-class" ,ghc-data-default-class)
11869 ("ghc-lifted-base" ,ghc-lifted-base)
11870 ("ghc-monad-control" ,ghc-monad-control)
11871 ("ghc-sdl2" ,ghc-sdl2)
11872 ("ghc-vector" ,ghc-vector)
11873 ("sdl2-mixer" ,sdl2-mixer)))
11874 (native-inputs
11875 `(("pkg-config" ,pkg-config)))
11876 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
11877 (synopsis "Bindings to SDL2 mixer")
11878 (description "This package provides Haskell bindings to
11879 @code{SDL2_mixer}.")
11880 (license license:bsd-3)))
11881
11882 (define-public ghc-sdl-image
11883 (package
11884 (name "ghc-sdl-image")
11885 (version "0.6.2.0")
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri (string-append
11890 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
11891 version
11892 ".tar.gz"))
11893 (sha256
11894 (base32
11895 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
11896 (build-system haskell-build-system)
11897 (arguments
11898 `(#:configure-flags
11899 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
11900 (sdl-image-include (string-append sdl-image "/include/SDL")))
11901 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
11902 (inputs
11903 `(("ghc-sdl" ,ghc-sdl)
11904 ("sdl-image" ,sdl-image)))
11905 (home-page "https://hackage.haskell.org/package/SDL-image")
11906 (synopsis "Haskell bindings to libSDL_image")
11907 (description "SDL_image is an image file loading library. It loads images
11908 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11909 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11910 (license license:bsd-3)))
11911
11912 (define-public ghc-sdl-mixer
11913 (package
11914 (name "ghc-sdl-mixer")
11915 (version "0.6.3.0")
11916 (source
11917 (origin
11918 (method url-fetch)
11919 (uri (string-append
11920 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11921 version
11922 ".tar.gz"))
11923 (sha256
11924 (base32
11925 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11926 (build-system haskell-build-system)
11927 (arguments
11928 `(#:configure-flags
11929 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11930 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11931 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11932 (inputs
11933 `(("ghc-sdl" ,ghc-sdl)
11934 ("sdl-mixer" ,sdl-mixer)))
11935 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11936 (synopsis "Haskell bindings to libSDL_mixer")
11937 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11938 supports any number of simultaneously playing channels of 16 bit stereo audio,
11939 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11940 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11941 (license license:bsd-3)))
11942
11943 (define-public ghc-securemem
11944 (package
11945 (name "ghc-securemem")
11946 (version "0.1.10")
11947 (source
11948 (origin
11949 (method url-fetch)
11950 (uri (string-append "https://hackage.haskell.org/package/"
11951 "securemem-" version "/"
11952 "securemem-" version ".tar.gz"))
11953 (sha256
11954 (base32
11955 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11956 (build-system haskell-build-system)
11957 (inputs `(("ghc-byteable" ,ghc-byteable)
11958 ("ghc-memory" ,ghc-memory)))
11959 (home-page "https://github.com/vincenthz/hs-securemem")
11960 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11961 Haskell")
11962 (description "SecureMem is similar to ByteString, except that it provides
11963 a memory chunk that will be auto-scrubbed after it run out of scope.")
11964 (license license:bsd-3)))
11965
11966 (define-public ghc-semialign
11967 (package
11968 (name "ghc-semialign")
11969 (version "1")
11970 (source
11971 (origin
11972 (method url-fetch)
11973 (uri (string-append
11974 "https://hackage.haskell.org/package/semialign/semialign-"
11975 version
11976 ".tar.gz"))
11977 (sha256
11978 (base32
11979 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11980 (build-system haskell-build-system)
11981 (inputs
11982 `(("ghc-these" ,ghc-these)
11983 ("ghc-base-compat" ,ghc-base-compat)
11984 ("ghc-hashable" ,ghc-hashable)
11985 ("ghc-tagged" ,ghc-tagged)
11986 ("ghc-unordered-containers" ,ghc-unordered-containers)
11987 ("ghc-vector" ,ghc-vector)
11988 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11989 (arguments
11990 `(#:cabal-revision
11991 ("1"
11992 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11993 (home-page
11994 "https://github.com/isomorphism/these")
11995 (synopsis
11996 "Align and Zip type-classes from the common Semialign ancestor ")
11997 (description
11998 "The major use of @code{These} of this is provided by the
11999 @code{align} member of @code{Semialign} class, representing a
12000 generalized notion of \"zipping with padding\" that combines
12001 structures without truncating to the size of the smaller input. It
12002 turns out that @code{zip} operation fits well the @code{Semialign}
12003 class, forming lattice-like structure.")
12004 (license license:bsd-3)))
12005
12006 (define-public ghc-semigroupoids
12007 (package
12008 (name "ghc-semigroupoids")
12009 (version "5.3.3")
12010 (source
12011 (origin
12012 (method url-fetch)
12013 (uri (string-append
12014 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
12015 version
12016 ".tar.gz"))
12017 (sha256
12018 (base32
12019 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
12020 (build-system haskell-build-system)
12021 (outputs '("out" "static" "doc"))
12022 (inputs
12023 `(("ghc-base-orphans" ,ghc-base-orphans)
12024 ("ghc-transformers-compat" ,ghc-transformers-compat)
12025 ("ghc-bifunctors" ,ghc-bifunctors)
12026 ("ghc-comonad" ,ghc-comonad)
12027 ("ghc-contravariant" ,ghc-contravariant)
12028 ("ghc-distributive" ,ghc-distributive)
12029 ("ghc-hashable" ,ghc-hashable)
12030 ("ghc-semigroups" ,ghc-semigroups)
12031 ("ghc-tagged" ,ghc-tagged)
12032 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12033 (native-inputs
12034 `(("cabal-doctest" ,cabal-doctest)
12035 ("ghc-doctest" ,ghc-doctest)))
12036 (home-page "https://github.com/ekmett/semigroupoids")
12037 (synopsis "Semigroupoids operations for Haskell")
12038 (description "This library provides a wide array of (semi)groupoids and
12039 operations for working with them. A @code{Semigroupoid} is a @code{Category}
12040 without the requirement of identity arrows for every object in the category.
12041 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
12042 Finally, to work with these weaker structures it is beneficial to have
12043 containers that can provide stronger guarantees about their contents, so
12044 versions of @code{Traversable} and @code{Foldable} that can be folded with
12045 just a @code{Semigroup} are added.")
12046 (license license:bsd-3)))
12047
12048 (define-public ghc-semigroups
12049 (package
12050 (name "ghc-semigroups")
12051 (version "0.18.5")
12052 (source
12053 (origin
12054 (method url-fetch)
12055 (uri (string-append
12056 "https://hackage.haskell.org/package/semigroups/semigroups-"
12057 version
12058 ".tar.gz"))
12059 (sha256
12060 (base32
12061 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
12062 (build-system haskell-build-system)
12063 (inputs
12064 `(("ghc-nats" ,ghc-nats)
12065 ("ghc-tagged" ,ghc-tagged)
12066 ("ghc-unordered-containers" ,ghc-unordered-containers)
12067 ("ghc-hashable" ,ghc-hashable)))
12068 (home-page "https://github.com/ekmett/semigroups/")
12069 (synopsis "Semigroup operations for Haskell")
12070 (description "This package provides semigroups for Haskell. In
12071 mathematics, a semigroup is an algebraic structure consisting of a set
12072 together with an associative binary operation. A semigroup generalizes a
12073 monoid in that there might not exist an identity element. It
12074 also (originally) generalized a group (a monoid with all inverses) to a type
12075 where every element did not have to have an inverse, thus the name
12076 semigroup.")
12077 (license license:bsd-3)))
12078
12079 (define-public ghc-semigroups-bootstrap
12080 (package
12081 (inherit ghc-semigroups)
12082 (name "ghc-semigroups-bootstrap")
12083 (inputs
12084 `(("ghc-nats" ,ghc-nats-bootstrap)
12085 ("ghc-tagged" ,ghc-tagged)
12086 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
12087 ("ghc-hashable" ,ghc-hashable-bootstrap)))
12088 (properties '((hidden? #t)))))
12089
12090 (define-public ghc-serialise
12091 (package
12092 (name "ghc-serialise")
12093 (version "0.2.1.0")
12094 (source
12095 (origin
12096 (method url-fetch)
12097 (uri (string-append
12098 "mirror://hackage/package/serialise/serialise-"
12099 version
12100 ".tar.gz"))
12101 (sha256
12102 (base32
12103 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
12104 (build-system haskell-build-system)
12105 (inputs
12106 `(("ghc-cborg" ,ghc-cborg)
12107 ("ghc-half" ,ghc-half)
12108 ("ghc-hashable" ,ghc-hashable)
12109 ("ghc-primitive" ,ghc-primitive)
12110 ("ghc-unordered-containers" ,ghc-unordered-containers)
12111 ("ghc-vector" ,ghc-vector)))
12112 (native-inputs
12113 `(("ghc-quickcheck" ,ghc-quickcheck)
12114 ("ghc-tasty" ,ghc-tasty)
12115 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12116 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12117 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
12118 (arguments
12119 `(#:cabal-revision
12120 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
12121 (home-page "https://github.com/well-typed/cborg")
12122 (synopsis "Binary serialisation library for Haskell values")
12123 (description
12124 "This package (formerly binary-serialise-cbor) provides pure,
12125 efficient serialization of Haskell values directly into ByteStrings for
12126 storage or transmission purposes. By providing a set of type class instances,
12127 you can also serialise any custom data type you have as well.
12128
12129 The underlying binary format used is the 'Concise Binary Object
12130 Representation', or CBOR, specified in RFC 7049. As a result, serialised
12131 Haskell values have implicit structure outside of the Haskell program itself,
12132 meaning they can be inspected or analyzed without custom tools.
12133
12134 An implementation of the standard bijection between CBOR and JSON is
12135 provided by the https://hackage.haskell.org/package/cborg-json
12136 package. Also see https://hackage.haskell.org/package/cbor-tool for a
12137 convenient command-line utility for working with CBOR data.")
12138 (license license:bsd-3)))
12139
12140 (define-public ghc-setenv
12141 (package
12142 (name "ghc-setenv")
12143 (version "0.1.1.3")
12144 (source
12145 (origin
12146 (method url-fetch)
12147 (uri (string-append
12148 "https://hackage.haskell.org/package/setenv/setenv-"
12149 version
12150 ".tar.gz"))
12151 (sha256
12152 (base32
12153 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
12154 (build-system haskell-build-system)
12155 (home-page "https://hackage.haskell.org/package/setenv")
12156 (synopsis "Library for setting environment variables")
12157 (description "This package provides a Haskell library for setting
12158 environment variables.")
12159 (license license:expat)))
12160
12161 (define-public ghc-setlocale
12162 (package
12163 (name "ghc-setlocale")
12164 (version "1.0.0.9")
12165 (source (origin
12166 (method url-fetch)
12167 (uri (string-append
12168 "https://hackage.haskell.org/package/setlocale-"
12169 version "/setlocale-" version ".tar.gz"))
12170 (sha256
12171 (base32
12172 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
12173 (build-system haskell-build-system)
12174 (home-page "https://hackage.haskell.org/package/setlocale")
12175 (synopsis "Haskell bindings to setlocale")
12176 (description "This package provides Haskell bindings to the
12177 @code{setlocale} C function.")
12178 (license license:bsd-3)))
12179
12180 (define-public ghc-shakespeare
12181 (package
12182 (name "ghc-shakespeare")
12183 (version "2.0.22")
12184 (source
12185 (origin
12186 (method url-fetch)
12187 (uri (string-append "https://hackage.haskell.org/package/"
12188 "shakespeare-" version "/"
12189 "shakespeare-" version ".tar.gz"))
12190 (sha256
12191 (base32
12192 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
12193 (build-system haskell-build-system)
12194 (inputs `(("ghc-aeson" ,ghc-aeson)
12195 ("ghc-blaze-markup" ,ghc-blaze-markup)
12196 ("ghc-blaze-html" ,ghc-blaze-html)
12197 ("ghc-exceptions" ,ghc-exceptions)
12198 ("ghc-vector" ,ghc-vector)
12199 ("ghc-unordered-containers" ,ghc-unordered-containers)
12200 ("ghc-scientific" ,ghc-scientific)))
12201 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12202 ("ghc-hunit" ,ghc-hunit)
12203 ("hspec-discover" ,hspec-discover)))
12204 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
12205 (synopsis "Family of type-safe template languages for Haskell")
12206 (description "This Haskell package provides a family of type-safe
12207 templates with simple variable interpolation. Shakespeare templates can
12208 be used inline with a quasi-quoter or in an external file and it
12209 interpolates variables according to the type being inserted.")
12210 (license license:expat)))
12211
12212 (define-public ghc-shelly
12213 (package
12214 (name "ghc-shelly")
12215 (version "1.8.1")
12216 (source
12217 (origin
12218 (method url-fetch)
12219 (uri (string-append
12220 "https://hackage.haskell.org/package/shelly/shelly-"
12221 version ".tar.gz"))
12222 (sha256
12223 (base32
12224 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
12225 (build-system haskell-build-system)
12226 (inputs
12227 `(("ghc-unix-compat" ,ghc-unix-compat)
12228 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12229 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
12230 ("ghc-monad-control" ,ghc-monad-control)
12231 ("ghc-lifted-base" ,ghc-lifted-base)
12232 ("ghc-lifted-async" ,ghc-lifted-async)
12233 ("ghc-exceptions" ,ghc-exceptions)
12234 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
12235 ("ghc-async" ,ghc-async)
12236 ("ghc-transformers-base" ,ghc-transformers-base)
12237 ("ghc-hunit" ,ghc-hunit)
12238 ("ghc-hspec" ,ghc-hspec)
12239 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
12240 (home-page "https://github.com/yesodweb/Shelly.hs")
12241 (synopsis "Shell-like (systems) programming in Haskell")
12242 (description
12243 "Shelly provides convenient systems programming in Haskell, similar in
12244 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
12245 (license license:bsd-3)))
12246
12247 (define-public ghc-silently
12248 (package
12249 (name "ghc-silently")
12250 (version "1.2.5.1")
12251 (source
12252 (origin
12253 (method url-fetch)
12254 (uri (string-append
12255 "https://hackage.haskell.org/package/silently/silently-"
12256 version
12257 ".tar.gz"))
12258 (sha256
12259 (base32
12260 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
12261 (build-system haskell-build-system)
12262 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
12263 ;; (inputs
12264 ;; `(("ghc-temporary" ,ghc-temporary)))
12265 (home-page "https://github.com/hspec/silently")
12266 (synopsis "Prevent writing to stdout")
12267 (description "This package provides functions to prevent or capture
12268 writing to stdout and other handles.")
12269 (license license:bsd-3)))
12270
12271 (define-public ghc-simple-reflect
12272 (package
12273 (name "ghc-simple-reflect")
12274 (version "0.3.3")
12275 (source
12276 (origin
12277 (method url-fetch)
12278 (uri (string-append
12279 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
12280 version
12281 ".tar.gz"))
12282 (sha256
12283 (base32
12284 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
12285 (build-system haskell-build-system)
12286 (home-page
12287 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
12288 (synopsis
12289 "Simple reflection of expressions containing variables")
12290 (description
12291 "This package allows simple reflection of expressions containing
12292 variables. Reflection here means that a Haskell expression is turned into a
12293 string. The primary aim of this package is teaching and understanding; there
12294 are no options for manipulating the reflected expressions beyond showing
12295 them.")
12296 (license license:bsd-3)))
12297
12298 (define-public ghc-simple-sendfile
12299 (package
12300 (name "ghc-simple-sendfile")
12301 (version "0.2.30")
12302 (source
12303 (origin
12304 (method url-fetch)
12305 (uri (string-append "https://hackage.haskell.org/package/"
12306 "simple-sendfile-" version "/"
12307 "simple-sendfile-" version ".tar.gz"))
12308 (sha256
12309 (base32
12310 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
12311 (build-system haskell-build-system)
12312 (inputs
12313 `(("ghc-conduit" ,ghc-conduit)
12314 ("ghc-conduit-extra" ,ghc-conduit-extra)
12315 ("ghc-network" ,ghc-network)
12316 ("ghc-resourcet" ,ghc-resourcet)))
12317 (native-inputs
12318 `(("ghc-hspec" ,ghc-hspec)
12319 ("hspec-discover" ,hspec-discover)))
12320 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
12321 (synopsis "Cross platform library for the sendfile system call")
12322 (description "This library tries to call minimum system calls which
12323 are the bottleneck of web servers.")
12324 (license license:bsd-3)))
12325
12326 (define-public ghc-size-based
12327 (package
12328 (name "ghc-size-based")
12329 (version "0.1.2.0")
12330 (source
12331 (origin
12332 (method url-fetch)
12333 (uri (string-append "https://hackage.haskell.org/package/"
12334 "size-based/size-based-" version ".tar.gz"))
12335 (sha256
12336 (base32
12337 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
12338 (build-system haskell-build-system)
12339 (inputs
12340 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
12341 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
12342 ("ghc-semigroups" ,ghc-semigroups)))
12343 (arguments
12344 `(#:cabal-revision
12345 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
12346 (home-page "https://hackage.haskell.org/package/size-based")
12347 (synopsis "Sized functors for size-based enumerations")
12348 (description "This library provides a framework for size-based
12349 enumerations.")
12350 (license license:bsd-3)))
12351
12352 (define-public ghc-skylighting-core
12353 (package
12354 (name "ghc-skylighting-core")
12355 (version "0.8.2.1")
12356 (source (origin
12357 (method url-fetch)
12358 (uri (string-append "https://hackage.haskell.org/package/"
12359 "skylighting-core/skylighting-core-"
12360 version ".tar.gz"))
12361 (sha256
12362 (base32
12363 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
12364 (build-system haskell-build-system)
12365 (inputs
12366 `(("ghc-aeson" ,ghc-aeson)
12367 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12368 ("ghc-attoparsec" ,ghc-attoparsec)
12369 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
12370 ("ghc-blaze-html" ,ghc-blaze-html)
12371 ("ghc-case-insensitive" ,ghc-case-insensitive)
12372 ("ghc-colour" ,ghc-colour)
12373 ("ghc-hxt" ,ghc-hxt)
12374 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
12375 ("ghc-safe" ,ghc-safe)
12376 ("ghc-utf8-string" ,ghc-utf8-string)))
12377 (native-inputs
12378 `(("ghc-diff" ,ghc-diff)
12379 ("ghc-hunit" ,ghc-hunit)
12380 ("ghc-pretty-show" ,ghc-pretty-show)
12381 ("ghc-quickcheck" ,ghc-quickcheck)
12382 ("ghc-tasty" ,ghc-tasty)
12383 ("ghc-tasty-golden" ,ghc-tasty-golden)
12384 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12385 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12386 (home-page "https://github.com/jgm/skylighting")
12387 (synopsis "Syntax highlighting library")
12388 (description "Skylighting is a syntax highlighting library with support
12389 for over one hundred languages. It derives its tokenizers from XML syntax
12390 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
12391 supported by that framework can be added. An optional command-line program is
12392 provided. Skylighting is intended to be the successor to highlighting-kate.")
12393 (license license:gpl2)))
12394
12395 (define-public ghc-skylighting
12396 (package
12397 (inherit ghc-skylighting-core)
12398 (name "ghc-skylighting")
12399 (version "0.8.2.1")
12400 (source (origin
12401 (method url-fetch)
12402 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
12403 version "/skylighting-" version ".tar.gz"))
12404 (sha256
12405 (base32
12406 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
12407 (inputs
12408 `(("ghc-skylighting-core" ,ghc-skylighting-core)
12409 ,@(package-inputs ghc-skylighting-core)))))
12410
12411 (define-public ghc-smallcheck
12412 (package
12413 (name "ghc-smallcheck")
12414 (version "1.1.5")
12415 (source
12416 (origin
12417 (method url-fetch)
12418 (uri (string-append
12419 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
12420 version
12421 ".tar.gz"))
12422 (sha256
12423 (base32
12424 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
12425 (build-system haskell-build-system)
12426 (inputs
12427 `(("ghc-logict" ,ghc-logict)))
12428 (home-page
12429 "https://github.com/feuerbach/smallcheck")
12430 (synopsis "Property-based testing library")
12431 (description "SmallCheck is a testing library that verifies
12432 properties for all test cases up to some depth. The test cases are generated
12433 automatically by SmallCheck.")
12434 (license license:bsd-3)))
12435
12436 (define-public ghc-socks
12437 (package
12438 (name "ghc-socks")
12439 (version "0.6.1")
12440 (source (origin
12441 (method url-fetch)
12442 (uri (string-append "https://hackage.haskell.org/package/"
12443 "socks/socks-" version ".tar.gz"))
12444 (sha256
12445 (base32
12446 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
12447 (build-system haskell-build-system)
12448 (inputs
12449 `(("ghc-cereal" ,ghc-cereal)
12450 ("ghc-basement" ,ghc-basement)
12451 ("ghc-network" ,ghc-network)))
12452 (home-page "https://github.com/vincenthz/hs-socks")
12453 (synopsis "SOCKS proxy (version 5) implementation")
12454 (description
12455 "This library provides a SOCKS proxy (version 5) implementation.")
12456 (license license:bsd-3)))
12457
12458 (define-public ghc-sop-core
12459 (package
12460 (name "ghc-sop-core")
12461 (version "0.4.0.0")
12462 (source
12463 (origin
12464 (method url-fetch)
12465 (uri (string-append "https://hackage.haskell.org/package/"
12466 "sop-core/sop-core-" version ".tar.gz"))
12467 (sha256
12468 (base32
12469 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
12470 (build-system haskell-build-system)
12471 (home-page "https://hackage.haskell.org/package/sop-core")
12472 (synopsis "True Sums of Products")
12473 (description "This package provides an implementation of
12474 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
12475 is the main module of this library and contains more detailed
12476 documentation. The main use case of this package is to serve as the
12477 core of @url{https://hackage.haskell.org/package/generics-sop,
12478 generics-sop}.")
12479 (license license:bsd-3)))
12480
12481 (define-public ghc-special-values
12482 (package
12483 (name "ghc-special-values")
12484 (version "0.1.0.0")
12485 (source
12486 (origin
12487 (method url-fetch)
12488 (uri (string-append
12489 "https://hackage.haskell.org/package/special-values/"
12490 "special-values-" version ".tar.gz"))
12491 (sha256
12492 (base32
12493 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
12494 (build-system haskell-build-system)
12495 (inputs
12496 `(("ghc-scientific" ,ghc-scientific)
12497 ("ghc-ieee754" ,ghc-ieee754)
12498 ("ghc-nats" ,ghc-nats)))
12499 (home-page
12500 "https://github.com/minad/special-values#readme")
12501 (synopsis "Typeclass providing special values")
12502 (description
12503 "Special values are provided by a SpecialValues typeclass. Those can be
12504 used for example by QuickCheck, see quickcheck-special." )
12505 (license license:expat)))
12506
12507 (define-public ghc-split
12508 (package
12509 (name "ghc-split")
12510 (version "0.2.3.3")
12511 (outputs '("out" "static" "doc"))
12512 (source
12513 (origin
12514 (method url-fetch)
12515 (uri (string-append
12516 "https://hackage.haskell.org/package/split/split-"
12517 version
12518 ".tar.gz"))
12519 (sha256
12520 (base32
12521 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
12522 (build-system haskell-build-system)
12523 (arguments
12524 `(#:cabal-revision
12525 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
12526 (native-inputs
12527 `(("ghc-quickcheck" ,ghc-quickcheck)))
12528 (home-page "https://hackage.haskell.org/package/split")
12529 (synopsis "Combinator library for splitting lists")
12530 (description "This package provides a collection of Haskell functions for
12531 splitting lists into parts, akin to the @code{split} function found in several
12532 mainstream languages.")
12533 (license license:bsd-3)))
12534
12535 (define-public ghc-splitmix
12536 (package
12537 (name "ghc-splitmix")
12538 (version "0.0.3")
12539 (source
12540 (origin
12541 (method url-fetch)
12542 (uri (string-append "https://hackage.haskell.org/package/"
12543 "splitmix/splitmix-" version ".tar.gz"))
12544 (sha256
12545 (base32
12546 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
12547 (build-system haskell-build-system)
12548 (inputs
12549 `(("ghc-random" ,ghc-random)))
12550 (native-inputs
12551 `(("ghc-hunit" ,ghc-hunit)
12552 ("ghc-async" ,ghc-async)
12553 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
12554 ("ghc-tf-random" ,ghc-tf-random)
12555 ("ghc-vector" ,ghc-vector)))
12556 (home-page "https://hackage.haskell.org/package/splitmix")
12557 (synopsis "Fast and splittable pseudorandom number generator")
12558 (description "This package provides a Pure Haskell implementation of the
12559 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
12560 pseudorandom number generator that is quite fast: 9 64-bit
12561 arithmetic/logical operations per 64 bits generated. SplitMix is tested
12562 with two standard statistical test suites (DieHarder and TestU01, this
12563 implementation only using the former) and it appears to be adequate for
12564 \"everyday\" use, such as Monte Carlo algorithms and randomized data
12565 structures where speed is important. In particular, it @strong{should not
12566 be used for cryptographic or security applications}, because generated
12567 sequences of pseudorandom values are too predictable (the mixing functions
12568 are easily inverted, and two successive outputs suffice to reconstruct the
12569 internal state).")
12570 (license license:bsd-3)))
12571
12572 (define-public ghc-splitmix-bootstrap
12573 (package
12574 (inherit ghc-splitmix)
12575 (name "ghc-splitmix-bootstrap")
12576 (arguments `(#:tests? #f))
12577 (native-inputs '())
12578 (properties '((hidden? #t)))))
12579
12580 (define-public ghc-spoon
12581 (package
12582 (name "ghc-spoon")
12583 (version "0.3.1")
12584 (source
12585 (origin
12586 (method url-fetch)
12587 (uri (string-append
12588 "https://hackage.haskell.org/package/spoon/spoon-"
12589 version
12590 ".tar.gz"))
12591 (sha256
12592 (base32
12593 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
12594 (build-system haskell-build-system)
12595 (arguments
12596 `(#:cabal-revision
12597 ("1"
12598 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
12599 (home-page
12600 "http://hackage.haskell.org/package/spoon")
12601 (synopsis
12602 "Catch errors thrown from pure computations")
12603 (description
12604 "Takes an error-throwing expression and puts it back in the Maybe it
12605 belongs in.
12606
12607 Note that this suffers from the
12608 @url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
12609 (license license:bsd-3)))
12610
12611 (define-public ghc-statevar
12612 (package
12613 (name "ghc-statevar")
12614 (version "1.2")
12615 (source
12616 (origin
12617 (method url-fetch)
12618 (uri (string-append
12619 "https://hackage.haskell.org/package/StateVar/StateVar-"
12620 version
12621 ".tar.gz"))
12622 (sha256
12623 (base32
12624 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
12625 (build-system haskell-build-system)
12626 (home-page "https://hackage.haskell.org/package/StateVar")
12627 (synopsis "State variables for Haskell")
12628 (description "This package provides state variables, which are references
12629 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
12630 (license license:bsd-3)))
12631
12632 (define-public ghc-statistics
12633 (package
12634 (name "ghc-statistics")
12635 (version "0.15.1.1")
12636 (source
12637 (origin
12638 (method url-fetch)
12639 (uri (string-append "https://hackage.haskell.org/package/"
12640 "statistics-" version "/"
12641 "statistics-" version ".tar.gz"))
12642 (sha256
12643 (base32
12644 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
12645 (build-system haskell-build-system)
12646 (arguments
12647 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
12648 #:tests? #f))
12649 (inputs
12650 `(("ghc-aeson" ,ghc-aeson)
12651 ("ghc-async" ,ghc-async)
12652 ("ghc-base-orphans" ,ghc-base-orphans)
12653 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
12654 ("ghc-math-functions" ,ghc-math-functions)
12655 ("ghc-monad-par" ,ghc-monad-par)
12656 ("ghc-mwc-random" ,ghc-mwc-random)
12657 ("ghc-primitive" ,ghc-primitive)
12658 ("ghc-vector" ,ghc-vector)
12659 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
12660 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
12661 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
12662 (native-inputs
12663 `(("ghc-hunit" ,ghc-hunit)
12664 ("ghc-quickcheck" ,ghc-quickcheck)
12665 ("ghc-ieee754" ,ghc-ieee754)
12666 ("ghc-test-framework" ,ghc-test-framework)
12667 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12668 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
12669 (home-page "https://github.com/bos/mwc-random")
12670 (synopsis "Haskell library of statistical types, data, and functions")
12671 (description "This library provides a number of common functions
12672 and types useful in statistics. We focus on high performance, numerical
12673 robustness, and use of good algorithms. Where possible, we provide references
12674 to the statistical literature.
12675
12676 The library's facilities can be divided into four broad categories:
12677
12678 @itemize
12679 @item Working with widely used discrete and continuous probability
12680 distributions. (There are dozens of exotic distributions in use; we focus
12681 on the most common.)
12682
12683 @item Computing with sample data: quantile estimation, kernel density
12684 estimation, histograms, bootstrap methods, significance testing,
12685 and regression and autocorrelation analysis.
12686
12687 @item Random variate generation under several different distributions.
12688
12689 @item Common statistical tests for significant differences between samples.
12690 @end itemize")
12691 (license license:bsd-2)))
12692
12693 (define-public ghc-stm-chans
12694 (package
12695 (name "ghc-stm-chans")
12696 (version "3.0.0.4")
12697 (source
12698 (origin
12699 (method url-fetch)
12700 (uri (string-append "https://hackage.haskell.org/package/"
12701 "stm-chans-" version "/"
12702 "stm-chans-" version ".tar.gz"))
12703 (sha256
12704 (base32
12705 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
12706 (build-system haskell-build-system)
12707 (home-page "https://hackage.haskell.org/package/stm-chans")
12708 (synopsis "Additional types of channels for ghc-stm")
12709 (description "This Haskell package offers a collection of channel types,
12710 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
12711 features.")
12712 (license license:bsd-3)))
12713
12714 (define-public ghc-stm-conduit
12715 (package
12716 (name "ghc-stm-conduit")
12717 (version "4.0.1")
12718 (source
12719 (origin
12720 (method url-fetch)
12721 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
12722 "stm-conduit-" version ".tar.gz"))
12723 (sha256
12724 (base32
12725 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
12726 (build-system haskell-build-system)
12727 (inputs
12728 `(("ghc-stm-chans" ,ghc-stm-chans)
12729 ("ghc-cereal" ,ghc-cereal)
12730 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
12731 ("ghc-conduit" ,ghc-conduit)
12732 ("ghc-conduit-extra" ,ghc-conduit-extra)
12733 ("ghc-exceptions" ,ghc-exceptions)
12734 ("ghc-resourcet" ,ghc-resourcet)
12735 ("ghc-async" ,ghc-async)
12736 ("ghc-monad-loops" ,ghc-monad-loops)
12737 ("ghc-unliftio" ,ghc-unliftio)))
12738 (native-inputs
12739 `(("ghc-doctest" ,ghc-doctest)
12740 ("ghc-quickcheck" ,ghc-quickcheck)
12741 ("ghc-hunit" ,ghc-hunit)
12742 ("ghc-test-framework" ,ghc-test-framework)
12743 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12744 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
12745 (home-page "https://github.com/cgaebel/stm-conduit")
12746 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
12747 (description
12748 "This package provides two simple conduit wrappers around STM channels: a
12749 source and a sink.")
12750 (license license:bsd-3)))
12751
12752 (define-public ghc-stmonadtrans
12753 (package
12754 (name "ghc-stmonadtrans")
12755 (version "0.4.3")
12756 (source
12757 (origin
12758 (method url-fetch)
12759 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
12760 "/STMonadTrans-" version ".tar.gz"))
12761 (sha256
12762 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
12763 (build-system haskell-build-system)
12764 (home-page "https://hackage.haskell.org/package/STMonadTrans")
12765 (synopsis "Monad transformer version of the ST monad")
12766 (description
12767 "This package provides a monad transformer version of the @code{ST} monad
12768 for strict state threads.")
12769 (license license:bsd-3)))
12770
12771 (define-public ghc-storable-complex
12772 (package
12773 (name "ghc-storable-complex")
12774 (version "0.2.3.0")
12775 (source
12776 (origin
12777 (method url-fetch)
12778 (uri (string-append
12779 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
12780 version ".tar.gz"))
12781 (sha256
12782 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
12783 (build-system haskell-build-system)
12784 (inputs
12785 `(("ghc-base-orphans" ,ghc-base-orphans)))
12786 (home-page "https://github.com/cartazio/storable-complex")
12787 (synopsis "Haskell Storable instance for Complex")
12788 (description "This package provides a Haskell library including a
12789 Storable instance for Complex which is binary compatible with C99, C++
12790 and Fortran complex data types.")
12791 (license license:bsd-3)))
12792
12793 (define-public ghc-storable-record
12794 (package
12795 (name "ghc-storable-record")
12796 (version "0.0.4")
12797 (source
12798 (origin
12799 (method url-fetch)
12800 (uri
12801 (string-append
12802 "https://hackage.haskell.org/package/storable-record/"
12803 "storable-record-" version ".tar.gz"))
12804 (sha256
12805 (base32
12806 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
12807 (build-system haskell-build-system)
12808 (inputs
12809 `(("ghc-semigroups" ,ghc-semigroups)
12810 ("ghc-utility-ht" ,ghc-utility-ht)
12811 ("ghc-storablevector" ,ghc-storablevector)
12812 ("ghc-timeit" ,ghc-timeit)))
12813 (home-page "https://hackage.haskell.org/package/storable-record")
12814 (synopsis "Elegant definition of Storable instances for records")
12815 (description "With this package you can build a Storable instance of
12816 a record type from Storable instances of its elements in an elegant way.
12817 It does not do any magic, just a bit arithmetic to compute the right
12818 offsets, that would be otherwise done manually or by a preprocessor like
12819 C2HS. There is no guarantee that the generated memory layout is
12820 compatible with that of a corresponding C struct. However, the module
12821 generates the smallest layout that is possible with respect to the
12822 alignment of the record elements.")
12823 (license license:bsd-3)))
12824
12825 (define-public ghc-storable-tuple
12826 (package
12827 (name "ghc-storable-tuple")
12828 (version "0.0.3.3")
12829 (source
12830 (origin
12831 (method url-fetch)
12832 (uri
12833 (string-append
12834 "https://hackage.haskell.org/package/storable-tuple/"
12835 "storable-tuple-" version ".tar.gz"))
12836 (sha256
12837 (base32
12838 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
12839 (build-system haskell-build-system)
12840 (inputs
12841 `(("ghc-storable-record" ,ghc-storable-record)
12842 ("ghc-utility-ht" ,ghc-utility-ht)
12843 ("ghc-base-orphans" ,ghc-base-orphans)))
12844 (home-page "https://hackage.haskell.org/package/storable-tuple")
12845 (synopsis "Storable instance for pairs and triples")
12846 (description "This package provides a Storable instance for pairs
12847 and triples which should be binary compatible with C99 and C++. The
12848 only purpose of this package is to provide a standard location for this
12849 instance so that other packages needing this instance can play nicely
12850 together.")
12851 (license license:bsd-3)))
12852
12853 (define-public ghc-storablevector
12854 (package
12855 (name "ghc-storablevector")
12856 (version "0.2.13")
12857 (source
12858 (origin
12859 (method url-fetch)
12860 (uri
12861 (string-append
12862 "https://hackage.haskell.org/package/storablevector/storablevector-"
12863 version ".tar.gz"))
12864 (sha256
12865 (base32
12866 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
12867 (build-system haskell-build-system)
12868 (inputs
12869 `(("ghc-non-negative" ,ghc-non-negative)
12870 ("ghc-utility-ht" ,ghc-utility-ht)
12871 ("ghc-semigroups" ,ghc-semigroups)
12872 ("ghc-unsafe" ,ghc-unsafe)
12873 ("ghc-quickcheck" ,ghc-quickcheck)
12874 ("ghc-syb" ,ghc-syb)))
12875 (home-page "https://wiki.haskell.org/Storable_Vector")
12876 (synopsis "Fast, packed, strict storable arrays with a list interface")
12877 (description "This library provides fast, packed, strict storable
12878 arrays with a list interface, a chunky lazy list interface with variable
12879 chunk size and an interface for write access via the ST monad. This is
12880 much like bytestring and binary but can be used for every
12881 @code{Foreign.Storable.Storable} type. See also
12882 @url{http://hackage.haskell.org/package/vector}, a library with a
12883 similar intention.
12884
12885 This library does not do advanced fusion optimization, since especially
12886 for lazy vectors this would either be incorrect or not applicable. See
12887 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
12888 a library that provides fusion with lazy lists.")
12889 (license license:bsd-3)))
12890
12891 (define-public ghc-streaming-commons
12892 (package
12893 (name "ghc-streaming-commons")
12894 (version "0.2.1.1")
12895 (source
12896 (origin
12897 (method url-fetch)
12898 (uri (string-append "https://hackage.haskell.org/package/"
12899 "streaming-commons/streaming-commons-"
12900 version ".tar.gz"))
12901 (sha256
12902 (base32
12903 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
12904 (build-system haskell-build-system)
12905 (inputs
12906 `(("ghc-async" ,ghc-async)
12907 ("ghc-blaze-builder" ,ghc-blaze-builder)
12908 ("ghc-network" ,ghc-network)
12909 ("ghc-random" ,ghc-random)
12910 ("ghc-zlib" ,ghc-zlib)))
12911 (native-inputs
12912 `(("ghc-quickcheck" ,ghc-quickcheck)
12913 ("ghc-hspec" ,ghc-hspec)
12914 ("hspec-discover" ,hspec-discover)))
12915 (home-page "https://hackage.haskell.org/package/streaming-commons")
12916 (synopsis "Conduit and pipes needed by some streaming data libraries")
12917 (description "This package provides low-dependency functionality commonly
12918 needed by various Haskell streaming data libraries, such as @code{conduit} and
12919 @code{pipe}s.")
12920 (license license:expat)))
12921
12922 (define-public ghc-strict
12923 (package
12924 (name "ghc-strict")
12925 (version "0.3.2")
12926 (source
12927 (origin
12928 (method url-fetch)
12929 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12930 version ".tar.gz"))
12931 (sha256
12932 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12933 (build-system haskell-build-system)
12934 (home-page "https://hackage.haskell.org/package/strict")
12935 (synopsis "Strict data types and String IO")
12936 (description
12937 "This package provides strict versions of some standard Haskell data
12938 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12939 IO operations.")
12940 (license license:bsd-3)))
12941
12942 (define-public ghc-stringbuilder
12943 (package
12944 (name "ghc-stringbuilder")
12945 (version "0.5.1")
12946 (source
12947 (origin
12948 (method url-fetch)
12949 (uri (string-append
12950 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12951 version
12952 ".tar.gz"))
12953 (sha256
12954 (base32
12955 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12956 (build-system haskell-build-system)
12957 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12958 ; enabled
12959 (home-page "https://hackage.haskell.org/package/stringbuilder")
12960 (synopsis "Writer monad for multi-line string literals")
12961 (description "This package provides a writer monad for multi-line string
12962 literals.")
12963 (license license:expat)))
12964
12965 (define-public ghc-string-qq
12966 (package
12967 (name "ghc-string-qq")
12968 (version "0.0.4")
12969 (source
12970 (origin
12971 (method url-fetch)
12972 (uri (string-append
12973 "https://hackage.haskell.org/package/string-qq/string-qq-"
12974 version
12975 ".tar.gz"))
12976 (sha256
12977 (base32
12978 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
12979 (build-system haskell-build-system)
12980 (native-inputs
12981 `(("ghc-hunit" ,ghc-hunit)))
12982 (home-page "https://hackage.haskell.org/package/string-qq")
12983 (synopsis
12984 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12985 (description
12986 "This package provides a quasiquoter for non-interpolated strings, texts
12987 and bytestrings.")
12988 (license license:public-domain)))
12989
12990 (define-public ghc-stringsearch
12991 (package
12992 (name "ghc-stringsearch")
12993 (version "0.3.6.6")
12994 (source
12995 (origin
12996 (method url-fetch)
12997 (uri (string-append
12998 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12999 version
13000 ".tar.gz"))
13001 (sha256
13002 (base32
13003 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
13004 (build-system haskell-build-system)
13005 (arguments
13006 `(#:cabal-revision
13007 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
13008 (home-page "https://bitbucket.org/dafis/stringsearch")
13009 (synopsis "Fast searching, splitting and replacing of ByteStrings")
13010 (description "This package provides several functions to quickly search
13011 for substrings in strict or lazy @code{ByteStrings}. It also provides
13012 functions for breaking or splitting on substrings and replacing all
13013 occurrences of a substring (the first in case of overlaps) with another.")
13014 (license license:bsd-3)))
13015
13016 (define-public ghc-svg-builder
13017 (package
13018 (name "ghc-svg-builder")
13019 (version "0.1.1")
13020 (source
13021 (origin
13022 (method url-fetch)
13023 (uri (string-append "https://hackage.haskell.org/package/"
13024 "svg-builder/svg-builder-" version ".tar.gz"))
13025 (sha256
13026 (base32
13027 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
13028 (build-system haskell-build-system)
13029 (inputs
13030 `(("ghc-blaze-builder" ,ghc-blaze-builder)
13031 ("ghc-hashable" ,ghc-hashable)
13032 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13033 (arguments
13034 `(#:cabal-revision
13035 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
13036 (home-page "https://github.com/diagrams/svg-builder.git")
13037 (synopsis "Domain-specific language for building Scalable Vector Graphics")
13038 (description "Easy-to-write domain-specific language (DSL) for
13039 building Scalable Vector Graphics (SVG).")
13040 (license license:bsd-3)))
13041
13042 (define-public ghc-syb
13043 (package
13044 (name "ghc-syb")
13045 (version "0.7.1")
13046 (outputs '("out" "static" "doc"))
13047 (source
13048 (origin
13049 (method url-fetch)
13050 (uri (string-append
13051 "https://hackage.haskell.org/package/syb/syb-"
13052 version
13053 ".tar.gz"))
13054 (sha256
13055 (base32
13056 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
13057 (build-system haskell-build-system)
13058 (inputs
13059 `(("ghc-hunit" ,ghc-hunit)))
13060 (home-page
13061 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
13062 (synopsis "Scrap Your Boilerplate")
13063 (description "This package contains the generics system described in the
13064 /Scrap Your Boilerplate/ papers (see
13065 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
13066 defines the @code{Data} class of types permitting folding and unfolding of
13067 constructor applications, instances of this class for primitive types, and a
13068 variety of traversals.")
13069 (license license:bsd-3)))
13070
13071 (define-public ghc-system-fileio
13072 (package
13073 (name "ghc-system-fileio")
13074 (version "0.3.16.4")
13075 (source
13076 (origin
13077 (method url-fetch)
13078 (uri (string-append
13079 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
13080 version ".tar.gz"))
13081 (sha256
13082 (base32
13083 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
13084 (build-system haskell-build-system)
13085 (arguments
13086 `(#:phases
13087 (modify-phases %standard-phases
13088 (add-before 'configure 'update-constraints
13089 (lambda _
13090 (substitute* "system-fileio.cabal"
13091 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
13092 #t)))))
13093 (inputs
13094 `(("ghc-system-filepath" ,ghc-system-filepath)
13095 ("ghc-chell" ,ghc-chell)
13096 ("ghc-temporary" ,ghc-temporary)))
13097 (home-page "https://github.com/fpco/haskell-filesystem")
13098 (synopsis "Consistent file system interaction across GHC versions")
13099 (description
13100 "This is a small wrapper around the directory, unix, and Win32 packages,
13101 for use with system-filepath. It provides a consistent API to the various
13102 versions of these packages distributed with different versions of GHC.
13103 In particular, this library supports working with POSIX files that have paths
13104 which can't be decoded in the current locale encoding.")
13105 (license license:expat)))
13106
13107 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
13108 ;; ghc-system-filepath.
13109 (define ghc-system-fileio-bootstrap
13110 (package
13111 (name "ghc-system-fileio-bootstrap")
13112 (version "0.3.16.3")
13113 (source
13114 (origin
13115 (method url-fetch)
13116 (uri (string-append
13117 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
13118 version ".tar.gz"))
13119 (sha256
13120 (base32
13121 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
13122 (build-system haskell-build-system)
13123 (arguments
13124 `(#:tests? #f))
13125 (inputs
13126 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
13127 ("ghc-temporary" ,ghc-temporary)))
13128 (home-page "https://github.com/fpco/haskell-filesystem")
13129 (synopsis "Consistent file system interaction across GHC versions")
13130 (description
13131 "This is a small wrapper around the directory, unix, and Win32 packages,
13132 for use with system-filepath. It provides a consistent API to the various
13133 versions of these packages distributed with different versions of GHC.
13134 In particular, this library supports working with POSIX files that have paths
13135 which can't be decoded in the current locale encoding.")
13136 (license license:expat)))
13137
13138
13139 (define-public ghc-system-filepath
13140 (package
13141 (name "ghc-system-filepath")
13142 (version "0.4.14")
13143 (source
13144 (origin
13145 (method url-fetch)
13146 (uri (string-append
13147 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
13148 version ".tar.gz"))
13149 (sha256
13150 (base32
13151 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
13152 (build-system haskell-build-system)
13153 ;; FIXME: One of the tests fails:
13154 ;; [ FAIL ] tests.validity.posix
13155 ;; note: seed=7310214548328823169
13156 ;; *** Failed! Falsifiable (after 24 tests):
13157 ;; 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"
13158 (arguments `(#:tests? #f))
13159 (inputs
13160 `(("ghc-chell" ,ghc-chell)
13161 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
13162 ("ghc-quickcheck" ,ghc-quickcheck)))
13163 (home-page "https://github.com/fpco/haskell-filesystem")
13164 (synopsis "High-level, byte-based file and directory path manipulations")
13165 (description
13166 "Provides a FilePath datatype and utility functions for operating on it.
13167 Unlike the filepath package, this package does not simply reuse String,
13168 increasing type safety.")
13169 (license license:expat)))
13170
13171 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
13172 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
13173 ;; which depends on ghc-chell and ghc-chell-quickcheck.
13174 ;; Therefore we bootstrap it with tests disabled.
13175 (define ghc-system-filepath-bootstrap
13176 (package
13177 (name "ghc-system-filepath-bootstrap")
13178 (version "0.4.14")
13179 (source
13180 (origin
13181 (method url-fetch)
13182 (uri (string-append
13183 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
13184 version ".tar.gz"))
13185 (sha256
13186 (base32
13187 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
13188 (build-system haskell-build-system)
13189 (arguments
13190 `(#:tests? #f))
13191 (inputs
13192 `(("ghc-quickcheck" ,ghc-quickcheck)))
13193 (home-page "https://github.com/fpco/haskell-filesystem")
13194 (synopsis "High-level, byte-based file and directory path manipulations")
13195 (description
13196 "Provides a FilePath datatype and utility functions for operating on it.
13197 Unlike the filepath package, this package does not simply reuse String,
13198 increasing type safety.")
13199 (license license:expat)))
13200
13201 (define-public ghc-tabular
13202 (package
13203 (name "ghc-tabular")
13204 (version "0.2.2.7")
13205 (source
13206 (origin
13207 (method url-fetch)
13208 (uri (string-append
13209 "https://hackage.haskell.org/package/tabular/tabular-"
13210 version
13211 ".tar.gz"))
13212 (sha256
13213 (base32
13214 "1ysgq7rrks7f98nnvxil8xz1q27hxdgz4szbjhqwzbwd209dmy0k"))))
13215 (build-system haskell-build-system)
13216 (inputs
13217 `(("ghc-csv" ,ghc-csv)
13218 ("ghc-html" ,ghc-html)))
13219 (home-page "https://github.com/bgamari/tabular")
13220 (synopsis "Two-dimensional data tables with rendering functions")
13221 (description
13222 "Tabular provides a Haskell representation of two-dimensional data
13223 tables, the kind that you might find in a spreadsheet or or a research report.
13224 It also comes with some default rendering functions for turning those tables
13225 into ASCII art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX.
13226
13227 Below is an example of the kind of output this library produces. The tabular
13228 package can group rows and columns, each group having one of three
13229 separators (no line, single line, double line) between its members.
13230
13231 @example
13232
13233 || memtest 1 | memtest 2 || time test | time test 2
13234 ====++===========+===========++=============+============
13235 A 1 || hog | terrible || slow | slower
13236 A 2 || pig | not bad || fast | slowest
13237 ----++-----------+-----------++-------------+------------
13238 B 1 || good | awful || intolerable | bearable
13239 B 2 || better | no chance || crawling | amazing
13240 B 3 || meh | well... || worst ever | ok
13241
13242 @end example")
13243 (license license:bsd-3)))
13244
13245 (define-public ghc-tagged
13246 (package
13247 (name "ghc-tagged")
13248 (version "0.8.6")
13249 (source
13250 (origin
13251 (method url-fetch)
13252 (uri (string-append
13253 "https://hackage.haskell.org/package/tagged/tagged-"
13254 version
13255 ".tar.gz"))
13256 (sha256
13257 (base32
13258 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
13259 (build-system haskell-build-system)
13260 (arguments
13261 `(#:cabal-revision
13262 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
13263 (inputs
13264 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13265 (home-page "https://hackage.haskell.org/package/tagged")
13266 (synopsis "Haskell phantom types to avoid passing dummy arguments")
13267 (description "This library provides phantom types for Haskell 98, to avoid
13268 having to unsafely pass dummy arguments.")
13269 (license license:bsd-3)))
13270
13271 (define-public ghc-tar
13272 (package
13273 (name "ghc-tar")
13274 (version "0.5.1.1")
13275 (source
13276 (origin
13277 (method url-fetch)
13278 (uri (string-append
13279 "https://hackage.haskell.org/package/tar/tar-"
13280 version ".tar.gz"))
13281 (sha256
13282 (base32
13283 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
13284 (build-system haskell-build-system)
13285 ;; FIXME: 2/24 tests fail.
13286 (arguments `(#:tests? #f))
13287 (inputs
13288 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
13289 ("ghc-quickcheck" ,ghc-quickcheck)
13290 ("ghc-tasty" ,ghc-tasty)
13291 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13292 (home-page "https://hackage.haskell.org/package/tar")
13293 (synopsis "Reading, writing and manipulating \".tar\" archive files")
13294 (description
13295 "This library is for working with \\\"@.tar@\\\" archive files.
13296 It can read and write a range of common variations of the tar archive format
13297 including V7, POSIX USTAR and GNU formats. It provides support for packing and
13298 unpacking portable archives. This makes it suitable for distribution but not
13299 backup because details like file ownership and exact permissions are not
13300 preserved. It also provides features for random access to archive content using
13301 an index.")
13302 (license license:bsd-3)))
13303
13304 (define-public ghc-tar-conduit
13305 (package
13306 (name "ghc-tar-conduit")
13307 (version "0.3.2")
13308 (source
13309 (origin
13310 (method url-fetch)
13311 (uri (string-append "https://hackage.haskell.org/package/"
13312 "tar-conduit/tar-conduit-" version ".tar.gz"))
13313 (sha256
13314 (base32
13315 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
13316 (build-system haskell-build-system)
13317 (inputs
13318 `(("ghc-conduit" ,ghc-conduit)
13319 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
13320 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
13321 (native-inputs
13322 `(("ghc-quickcheck" ,ghc-quickcheck)
13323 ("ghc-conduit-extra" ,ghc-conduit-extra)
13324 ("ghc-hspec" ,ghc-hspec)
13325 ("ghc-hspec" ,ghc-hspec)
13326 ("ghc-weigh" ,ghc-weigh)))
13327 (home-page "https://github.com/snoyberg/tar-conduit#readme")
13328 (synopsis "Extract and create tar files using conduit for streaming")
13329 (description "This library provides a conduit-based, streaming
13330 interface for extracting and creating tar files.")
13331 (license license:expat)))
13332
13333 (define-public ghc-temporary
13334 (package
13335 (name "ghc-temporary")
13336 (version "1.3")
13337 (source
13338 (origin
13339 (method url-fetch)
13340 (uri (string-append
13341 "https://hackage.haskell.org/package/temporary/temporary-"
13342 version
13343 ".tar.gz"))
13344 (sha256
13345 (base32
13346 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
13347 (build-system haskell-build-system)
13348 (inputs
13349 `(("ghc-exceptions" ,ghc-exceptions)
13350 ("ghc-random" ,ghc-random)))
13351 (native-inputs
13352 `(("ghc-base-compat" ,ghc-base-compat)
13353 ("ghc-tasty" ,ghc-tasty)
13354 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13355 (home-page "https://www.github.com/batterseapower/temporary")
13356 (synopsis "Temporary file and directory support")
13357 (description "The functions for creating temporary files and directories
13358 in the Haskelll base library are quite limited. This library just repackages
13359 the Cabal implementations of its own temporary file and folder functions so
13360 that you can use them without linking against Cabal or depending on it being
13361 installed.")
13362 (license license:bsd-3)))
13363
13364 (define-public ghc-temporary-rc
13365 (package
13366 (name "ghc-temporary-rc")
13367 (version "1.2.0.3")
13368 (source
13369 (origin
13370 (method url-fetch)
13371 (uri (string-append
13372 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
13373 version
13374 ".tar.gz"))
13375 (sha256
13376 (base32
13377 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
13378 (build-system haskell-build-system)
13379 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
13380 (home-page
13381 "https://www.github.com/feuerbach/temporary")
13382 (synopsis
13383 "Portable temporary file and directory support")
13384 (description
13385 "The functions for creating temporary files and directories in the base
13386 library are quite limited. The unixutils package contains some good ones, but
13387 they aren't portable to Windows. This library just repackages the Cabal
13388 implementations of its own temporary file and folder functions so that you can
13389 use them without linking against Cabal or depending on it being installed.
13390 This is a better maintained fork of the \"temporary\" package.")
13391 (license license:bsd-3)))
13392
13393 (define-public ghc-terminal-size
13394 (package
13395 (name "ghc-terminal-size")
13396 (version "0.3.2.1")
13397 (source (origin
13398 (method url-fetch)
13399 (uri (string-append
13400 "https://hackage.haskell.org/package/terminal-size/"
13401 "terminal-size-" version ".tar.gz"))
13402 (sha256
13403 (base32
13404 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
13405 (build-system haskell-build-system)
13406 (home-page "https://hackage.haskell.org/package/terminal-size")
13407 (synopsis "Get terminal window height and width")
13408 (description "Get terminal window height and width without ncurses
13409 dependency.")
13410 (license license:bsd-3)))
13411
13412 (define-public ghc-texmath
13413 (package
13414 (name "ghc-texmath")
13415 (version "0.11.3")
13416 (source (origin
13417 (method url-fetch)
13418 (uri (string-append "https://hackage.haskell.org/package/"
13419 "texmath/texmath-" version ".tar.gz"))
13420 (sha256
13421 (base32
13422 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
13423 (build-system haskell-build-system)
13424 (inputs
13425 `(("ghc-syb" ,ghc-syb)
13426 ("ghc-network-uri" ,ghc-network-uri)
13427 ("ghc-split" ,ghc-split)
13428 ("ghc-temporary" ,ghc-temporary)
13429 ("ghc-utf8-string" ,ghc-utf8-string)
13430 ("ghc-xml" ,ghc-xml)
13431 ("ghc-pandoc-types" ,ghc-pandoc-types)))
13432 (home-page "https://github.com/jgm/texmath")
13433 (synopsis "Conversion between formats used to represent mathematics")
13434 (description
13435 "The texmath library provides functions to read and write TeX math,
13436 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
13437 Office). Support is also included for converting math formats to pandoc's
13438 native format (allowing conversion, via pandoc, to a variety of different
13439 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
13440 it can parse and apply LaTeX macros.")
13441 (license license:gpl2+)))
13442
13443 (define-public ghc-text-binary
13444 (package
13445 (name "ghc-text-binary")
13446 (version "0.2.1.1")
13447 (source
13448 (origin
13449 (method url-fetch)
13450 (uri (string-append "https://hackage.haskell.org/package/"
13451 "text-binary/text-binary-"
13452 version ".tar.gz"))
13453 (sha256
13454 (base32
13455 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
13456 (build-system haskell-build-system)
13457 (home-page "https://github.com/kawu/text-binary")
13458 (synopsis "Binary instances for text types")
13459 (description
13460 "This package provides a compatibility layer providing @code{Binary}
13461 instances for strict and lazy text types for versions older than 1.2.1 of the
13462 text package.")
13463 (license license:bsd-2)))
13464
13465 (define-public ghc-text-manipulate
13466 (package
13467 (name "ghc-text-manipulate")
13468 (version "0.2.0.1")
13469 (source
13470 (origin
13471 (method url-fetch)
13472 (uri (string-append
13473 "https://hackage.haskell.org/package/text-manipulate"
13474 "/text-manipulate-"
13475 version
13476 ".tar.gz"))
13477 (sha256
13478 (base32
13479 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
13480 (build-system haskell-build-system)
13481 (native-inputs
13482 `(("ghc-tasty" ,ghc-tasty)
13483 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13484 (home-page
13485 "https://github.com/brendanhay/text-manipulate")
13486 (synopsis
13487 "Case conversion, word boundary manipulation, and textual subjugation")
13488 (description
13489 "Manipulate identifiers and structurally non-complex pieces of text by
13490 delimiting word boundaries via a combination of whitespace,
13491 control-characters, and case-sensitivity.
13492
13493 Has support for common idioms like casing of programmatic variable names,
13494 taking, dropping, and splitting by word, and modifying the first character of
13495 a piece of text.
13496
13497 Caution: this library makes heavy use of the text library's internal loop
13498 optimisation framework. Since internal modules are not guaranteed to have a
13499 stable API there is potential for build breakage when the text dependency is
13500 upgraded. Consider yourself warned!")
13501 (license license:mpl2.0)))
13502
13503 (define-public ghc-text-metrics
13504 (package
13505 (name "ghc-text-metrics")
13506 (version "0.3.0")
13507 (source
13508 (origin
13509 (method url-fetch)
13510 (uri (string-append "https://hackage.haskell.org/package/"
13511 "text-metrics/text-metrics-" version ".tar.gz"))
13512 (sha256
13513 (base32
13514 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
13515 (build-system haskell-build-system)
13516 (inputs
13517 `(("ghc-vector" ,ghc-vector)))
13518 (native-inputs
13519 `(("ghc-quickcheck" ,ghc-quickcheck)
13520 ("ghc-hspec" ,ghc-hspec)))
13521 (arguments
13522 `(#:cabal-revision
13523 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
13524 (home-page "https://github.com/mrkkrp/text-metrics")
13525 (synopsis "Calculate various string metrics efficiently")
13526 (description "This library provides tools to calculate various
13527 string metrics efficiently.")
13528 (license license:bsd-3)))
13529
13530 (define-public ghc-tf-random
13531 (package
13532 (name "ghc-tf-random")
13533 (version "0.5")
13534 (outputs '("out" "static" "doc"))
13535 (source
13536 (origin
13537 (method url-fetch)
13538 (uri (string-append
13539 "https://hackage.haskell.org/package/tf-random/tf-random-"
13540 version
13541 ".tar.gz"))
13542 (sha256
13543 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
13544 (build-system haskell-build-system)
13545 (inputs
13546 `(("ghc-primitive" ,ghc-primitive)
13547 ("ghc-random" ,ghc-random)))
13548 (home-page "https://hackage.haskell.org/package/tf-random")
13549 (synopsis "High-quality splittable pseudorandom number generator")
13550 (description "This package contains an implementation of a high-quality
13551 splittable pseudorandom number generator. The generator is based on a
13552 cryptographic hash function built on top of the ThreeFish block cipher. See
13553 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
13554 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
13555 (license license:bsd-3)))
13556
13557 (define-public ghc-th-abstraction
13558 (package
13559 (name "ghc-th-abstraction")
13560 (version "0.3.1.0")
13561 (source
13562 (origin
13563 (method url-fetch)
13564 (uri (string-append "https://hackage.haskell.org/package/"
13565 "th-abstraction/th-abstraction-"
13566 version ".tar.gz"))
13567 (sha256
13568 (base32
13569 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
13570 (build-system haskell-build-system)
13571 (home-page "https://github.com/glguy/th-abstraction")
13572 (synopsis "Nicer interface for reified information about data types")
13573 (description
13574 "This package normalizes variations in the interface for inspecting
13575 datatype information via Template Haskell so that packages and support a
13576 single, easier to use informational datatype while supporting many versions of
13577 Template Haskell.")
13578 (license license:isc)))
13579
13580 (define-public ghc-th-expand-syns
13581 (package
13582 (name "ghc-th-expand-syns")
13583 (version "0.4.5.0")
13584 (source (origin
13585 (method url-fetch)
13586 (uri (string-append "https://hackage.haskell.org/package/"
13587 "th-expand-syns/th-expand-syns-"
13588 version ".tar.gz"))
13589 (sha256
13590 (base32
13591 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
13592 (build-system haskell-build-system)
13593 (inputs
13594 `(("ghc-syb" ,ghc-syb)))
13595 (home-page "https://hackage.haskell.org/package/th-expand-syns")
13596 (synopsis "Expands type synonyms in Template Haskell ASTs")
13597 (description
13598 "This package enables users to expand type synonyms in Template Haskell
13599 @dfn{abstract syntax trees} (ASTs).")
13600 (license license:bsd-3)))
13601
13602 (define-public ghc-th-lift
13603 (package
13604 (name "ghc-th-lift")
13605 (version "0.8.0.1")
13606 (source (origin
13607 (method url-fetch)
13608 (uri (string-append "https://hackage.haskell.org/package/"
13609 "th-lift/th-lift-" version ".tar.gz"))
13610 (sha256
13611 (base32
13612 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
13613 (build-system haskell-build-system)
13614 (inputs
13615 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
13616 (home-page "https://github.com/mboes/th-lift")
13617 (synopsis "Derive Template Haskell's Lift class for datatypes")
13618 (description
13619 "This is a Haskell library to derive Template Haskell's Lift class for
13620 datatypes.")
13621 (license license:bsd-3)))
13622
13623 (define-public ghc-th-lift-instances
13624 (package
13625 (name "ghc-th-lift-instances")
13626 (version "0.1.14")
13627 (source
13628 (origin
13629 (method url-fetch)
13630 (uri (string-append "https://hackage.haskell.org/package/"
13631 "th-lift-instances/th-lift-instances-"
13632 version ".tar.gz"))
13633 (sha256
13634 (base32
13635 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
13636 (build-system haskell-build-system)
13637 (inputs
13638 `(("ghc-th-lift" ,ghc-th-lift)
13639 ("ghc-vector" ,ghc-vector)
13640 ("ghc-quickcheck" ,ghc-quickcheck)))
13641 (home-page "https://github.com/bennofs/th-lift-instances/")
13642 (synopsis "Lift instances for template-haskell for common data types.")
13643 (description "Most data types in the Haskell platform do not have Lift
13644 instances. This package provides orphan instances for @code{containers},
13645 @code{text}, @code{bytestring} and @code{vector}.")
13646 (license license:bsd-3)))
13647
13648 (define-public ghc-th-orphans
13649 (package
13650 (name "ghc-th-orphans")
13651 (version "0.13.9")
13652 (source (origin
13653 (method url-fetch)
13654 (uri (string-append "https://hackage.haskell.org/package/"
13655 "th-orphans/th-orphans-" version ".tar.gz"))
13656 (sha256
13657 (base32
13658 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
13659 (build-system haskell-build-system)
13660 (inputs
13661 `(("ghc-th-lift" ,ghc-th-lift)
13662 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
13663 ("ghc-th-reify-many" ,ghc-th-reify-many)
13664 ("ghc-generic-deriving" ,ghc-generic-deriving)))
13665 (native-inputs
13666 `(("ghc-hspec" ,ghc-hspec)))
13667 (home-page "https://hackage.haskell.org/package/th-orphans")
13668 (synopsis "Orphan instances for TH datatypes")
13669 (description
13670 "This package provides orphan instances for Template Haskell datatypes. In particular,
13671 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
13672 and @code{Eq} instances. These instances used to live in the haskell-src-meta
13673 package, and that's where the version number started.")
13674 (license license:bsd-3)))
13675
13676 (define-public ghc-these
13677 (package
13678 (name "ghc-these")
13679 (version "1.0.1")
13680 (source
13681 (origin
13682 (method url-fetch)
13683 (uri (string-append
13684 "https://hackage.haskell.org/package/these/these-"
13685 version
13686 ".tar.gz"))
13687 (sha256
13688 (base32
13689 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
13690 (build-system haskell-build-system)
13691 (inputs
13692 `(("ghc-base-compat" ,ghc-base-compat)
13693 ("ghc-hashable" ,ghc-hashable)
13694 ("ghc-aeson" ,ghc-aeson)
13695 ("ghc-unordered-containers" ,ghc-unordered-containers)
13696 ("ghc-assoc" ,ghc-assoc)
13697 ("ghc-semigroupoids" ,ghc-semigroupoids)
13698 ("ghc-quickcheck" ,ghc-quickcheck)))
13699 (arguments
13700 `(#:cabal-revision
13701 ("1"
13702 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
13703 (home-page
13704 "https://github.com/isomorphism/these")
13705 (synopsis "Either-or-both data type")
13706 (description
13707 "This package provides a data type @code{These a b} which can
13708 hold a value of either type or values of each type. This is usually
13709 thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
13710 \"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
13711 as \"inner join\").
13712
13713 @code{data These a b = This a | That b | These a b}
13714
13715 Since version 1, this package was split into parts:
13716
13717 @itemize
13718 @item
13719 https://hackage.haskell.org/package/semialign For @code{Align} and
13720 @code{Zip} type-classes.
13721 @item
13722 https://hackage.haskell.org/package/semialign-indexed For
13723 @code{SemialignWithIndex} class, providing @code{ialignWith} and
13724 @code{izipWith}
13725 @item
13726 https://hackage.haskell.org/package/these-lens For lens combinators.
13727 @item
13728 http://hackage.haskell.org/package/monad-chronicle For transformers
13729 variant of @code{These}.
13730 @end itemize")
13731 (license license:bsd-3)))
13732
13733 (define-public ghc-threads
13734 (package
13735 (name "ghc-threads")
13736 (version "0.5.1.6")
13737 (source
13738 (origin
13739 (method url-fetch)
13740 (uri (string-append "https://hackage.haskell.org/package/"
13741 "threads/threads-" version ".tar.gz"))
13742 (sha256
13743 (base32
13744 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
13745 (build-system haskell-build-system)
13746 (native-inputs
13747 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
13748 ("ghc-hunit" ,ghc-hunit)
13749 ("ghc-test-framework" ,ghc-test-framework)
13750 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
13751 (home-page "https://github.com/basvandijk/threads")
13752 (synopsis "Fork threads and wait for their result")
13753 (description "This package provides functions to fork threads and
13754 wait for their result, whether it's an exception or a normal value.
13755 Besides waiting for the termination of a single thread this package also
13756 provides functions to wait for a group of threads to terminate. This
13757 package is similar to the @code{threadmanager}, @code{async} and
13758 @code{spawn} packages. The advantages of this package are:
13759
13760 @itemize
13761 @item Simpler API.
13762 @item More efficient in both space and time.
13763 @item No space-leak when forking a large number of threads.
13764 @item Correct handling of asynchronous exceptions.
13765 @item GHC specific functionality like @code{forkOn} and
13766 @code{forkIOWithUnmask}.
13767 @end itemize")
13768 (license license:bsd-3)))
13769
13770 (define-public ghc-th-reify-many
13771 (package
13772 (name "ghc-th-reify-many")
13773 (version "0.1.9")
13774 (source (origin
13775 (method url-fetch)
13776 (uri (string-append "https://hackage.haskell.org/package/"
13777 "th-reify-many/th-reify-many-"
13778 version ".tar.gz"))
13779 (sha256
13780 (base32
13781 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
13782 (build-system haskell-build-system)
13783 (inputs
13784 `(("ghc-safe" ,ghc-safe)
13785 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
13786 (home-page "https://github.com/mgsloan/th-reify-many")
13787 (synopsis "Recurseively reify template haskell datatype info")
13788 (description
13789 "th-reify-many provides functions for recursively reifying top level
13790 declarations. The main intended use case is for enumerating the names of
13791 datatypes reachable from an initial datatype, and passing these names to some
13792 function which generates instances.")
13793 (license license:bsd-3)))
13794
13795 (define-public ghc-time-compat
13796 (package
13797 (name "ghc-time-compat")
13798 (version "1.9.2.2")
13799 (source
13800 (origin
13801 (method url-fetch)
13802 (uri (string-append "https://hackage.haskell.org/package/"
13803 "time-compat/time-compat-" version ".tar.gz"))
13804 (sha256
13805 (base32
13806 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
13807 (build-system haskell-build-system)
13808 (inputs
13809 `(("ghc-base-orphans" ,ghc-base-orphans)))
13810 (native-inputs
13811 `(("ghc-hunit" ,ghc-hunit)
13812 ("ghc-base-compat" ,ghc-base-compat)
13813 ("ghc-quickcheck" ,ghc-quickcheck)
13814 ("ghc-tagged" ,ghc-tagged)
13815 ("ghc-tasty" ,ghc-tasty)
13816 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13817 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13818 (arguments
13819 `(#:cabal-revision
13820 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
13821 (home-page "https://github.com/phadej/time-compat")
13822 (synopsis "Compatibility package for time")
13823 (description "This package tries to compat as many @code{time}
13824 features as possible.")
13825 (license license:bsd-3)))
13826
13827 (define-public ghc-time-locale-compat
13828 (package
13829 (name "ghc-time-locale-compat")
13830 (version "0.1.1.5")
13831 (source
13832 (origin
13833 (method url-fetch)
13834 (uri (string-append "https://hackage.haskell.org/package/"
13835 "time-locale-compat/time-locale-compat-"
13836 version ".tar.gz"))
13837 (sha256
13838 (base32
13839 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
13840 (build-system haskell-build-system)
13841 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
13842 (home-page "https://github.com/khibino/haskell-time-locale-compat")
13843 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
13844 (description "This package contains a wrapped name module for
13845 @code{TimeLocale}.")
13846 (license license:bsd-3)))
13847
13848 (define-public ghc-time-manager
13849 (package
13850 (name "ghc-time-manager")
13851 (version "0.0.0")
13852 (source
13853 (origin
13854 (method url-fetch)
13855 (uri (string-append "https://hackage.haskell.org/package/"
13856 "time-manager/time-manager-" version ".tar.gz"))
13857 (sha256
13858 (base32
13859 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
13860 (build-system haskell-build-system)
13861 (inputs
13862 `(("ghc-auto-update" ,ghc-auto-update)))
13863 (home-page "https://github.com/yesodweb/wai")
13864 (synopsis "Scalable timer")
13865 (description "This library contains scalable timer functions provided by a
13866 timer manager.")
13867 (license license:expat)))
13868
13869 (define-public ghc-timeit
13870 (package
13871 (name "ghc-timeit")
13872 (version "2.0")
13873 (source
13874 (origin
13875 (method url-fetch)
13876 (uri
13877 (string-append
13878 "https://hackage.haskell.org/package/timeit/timeit-"
13879 version ".tar.gz"))
13880 (sha256
13881 (base32
13882 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
13883 (build-system haskell-build-system)
13884 (home-page "https://github.com/merijn/timeit")
13885 (synopsis "Time monadic computations with an IO base")
13886 (description "This package provides a simple wrapper to show the
13887 used CPU time of monadic computation with an IO base.")
13888 (license license:bsd-3)))
13889
13890 (define-public ghc-timezone-series
13891 (package
13892 (name "ghc-timezone-series")
13893 (version "0.1.9")
13894 (source
13895 (origin
13896 (method url-fetch)
13897 (uri
13898 (string-append
13899 "mirror://hackage/package/timezone-series/timezone-series-"
13900 version ".tar.gz"))
13901 (sha256
13902 (base32
13903 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
13904 (build-system haskell-build-system)
13905 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
13906 (synopsis "Enhanced timezone handling for Time")
13907 (description
13908 "This package endows @code{Data.Time}, from the time package, with several
13909 data types and functions for enhanced processing of timezones. For one way to
13910 create timezone series, see the ghc-timezone-olson package.")
13911 (license license:bsd-3)))
13912
13913 (define-public ghc-timezone-olson
13914 (package
13915 (name "ghc-timezone-olson")
13916 (version "0.1.9")
13917 (source
13918 (origin
13919 (method url-fetch)
13920 (uri
13921 (string-append
13922 "mirror://hackage/package/timezone-olson/timezone-olson-"
13923 version ".tar.gz"))
13924 (sha256
13925 (base32
13926 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
13927 (build-system haskell-build-system)
13928 (inputs
13929 `(("ghc-timezone-series" ,ghc-timezone-series)
13930 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
13931 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
13932 (synopsis "Parser and renderer for binary Olson timezone files")
13933 (description
13934 "A parser and renderer for binary Olson timezone files whose format
13935 is specified by the tzfile(5) man page on Unix-like systems. For more
13936 information about this format, see
13937 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
13938 are provided for converting the parsed data into @code{TimeZoneSeries}
13939 objects from the timezone-series package.")
13940 (license license:bsd-3)))
13941
13942 (define-public ghc-tldr
13943 (package
13944 (name "ghc-tldr")
13945 (version "0.4.0.2")
13946 (source
13947 (origin
13948 (method url-fetch)
13949 (uri (string-append
13950 "https://hackage.haskell.org/package/tldr/tldr-"
13951 version
13952 ".tar.gz"))
13953 (sha256
13954 (base32
13955 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
13956 (build-system haskell-build-system)
13957 (inputs
13958 `(("ghc-cmark" ,ghc-cmark)
13959 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13960 ("ghc-typed-process" ,ghc-typed-process)
13961 ("ghc-semigroups" ,ghc-semigroups)))
13962 (native-inputs
13963 `(("ghc-tasty" ,ghc-tasty)
13964 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13965 (home-page "https://github.com/psibi/tldr-hs#readme")
13966 (synopsis "Haskell tldr client")
13967 (description "This package provides the @command{tldr} command and a
13968 Haskell client library allowing users to update and view @code{tldr} pages
13969 from a shell. The @code{tldr} pages are a community effort to simplify the
13970 man pages with practical examples.")
13971 (license license:bsd-3)))
13972
13973 (define-public ghc-torrent
13974 (package
13975 (name "ghc-torrent")
13976 (version "10000.1.1")
13977 (source
13978 (origin
13979 (method url-fetch)
13980 (uri (string-append
13981 "https://hackage.haskell.org/package/torrent/torrent-"
13982 version ".tar.gz"))
13983 (sha256
13984 (base32 "0m7s0q7f8c7glxzqhf2j86ch5xhk6jnzwwsa4mkywag22119c290"))))
13985 (build-system haskell-build-system)
13986 (inputs
13987 `(("ghc-bencode" ,ghc-bencode)
13988 ("ghc-syb" ,ghc-syb)))
13989 (home-page "https://hackage.haskell.org/package/torrent")
13990 (synopsis "BitTorrent file parser and generator")
13991 (description "This library provides support for parsing and generating
13992 BitTorrent files.")
13993 (license license:bsd-3)))
13994
13995 (define-public ghc-transformers
13996 (package
13997 (name "ghc-transformers")
13998 (version "0.5.6.2")
13999 (source
14000 (origin
14001 (method url-fetch)
14002 (uri (string-append
14003 "mirror://hackage/package/transformers/transformers-"
14004 version
14005 ".tar.gz"))
14006 (sha256
14007 (base32
14008 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
14009 (build-system haskell-build-system)
14010 (home-page
14011 "http://hackage.haskell.org/package/transformers")
14012 (synopsis "Concrete functor and monad transformers")
14013 (description
14014 "Transformers provides functor and monad transformers, inspired by the
14015 paper \"Functional Programming with Overloading and Higher-Order
14016 Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
14017 1995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
14018
14019 This package contains:
14020 @itemize
14021 @item the monad transformer class (in @code{Control.Monad.Trans.Class})
14022 @item concrete functor and monad transformers, each with associated operations
14023 and functions to lift operations associated with other transformers.
14024 @end itemize
14025
14026 This package can be used on its own in portable Haskell code, in which case
14027 operations need to be manually lifted through transformer stacks (see
14028 @code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
14029 used with the non-portable monad classes in the mtl or monads-tf packages,
14030 which automatically lift operations introduced by monad transformers through
14031 other transformers.")
14032 (license license:bsd-3)))
14033
14034 (define-public ghc-transformers-base
14035 (package
14036 (name "ghc-transformers-base")
14037 (version "0.4.5.2")
14038 (source
14039 (origin
14040 (method url-fetch)
14041 (uri (string-append
14042 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
14043 version
14044 ".tar.gz"))
14045 (sha256
14046 (base32
14047 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
14048 (build-system haskell-build-system)
14049 (inputs
14050 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
14051 (home-page
14052 "https://hackage.haskell.org/package/transformers-compat")
14053 (synopsis
14054 "Backported transformer library")
14055 (description
14056 "Backported versions of types that were added to transformers in
14057 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
14058 compatibility to run on old versions of the platform.")
14059 (license license:bsd-3)))
14060
14061 (define-public ghc-transformers-compat
14062 (package
14063 (name "ghc-transformers-compat")
14064 (version "0.6.5")
14065 (source
14066 (origin
14067 (method url-fetch)
14068 (uri (string-append
14069 "https://hackage.haskell.org/package/transformers-compat"
14070 "/transformers-compat-" version ".tar.gz"))
14071 (sha256
14072 (base32
14073 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
14074 (build-system haskell-build-system)
14075 (home-page "https://github.com/ekmett/transformers-compat/")
14076 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
14077 (description "This package includes backported versions of types that were
14078 added to transformers in transformers 0.3 and 0.4 for users who need strict
14079 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
14080 but also need those types.")
14081 (license license:bsd-3)))
14082
14083 (define-public ghc-tree-diff
14084 (package
14085 (name "ghc-tree-diff")
14086 (version "0.1")
14087 (source
14088 (origin
14089 (method url-fetch)
14090 (uri (string-append
14091 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
14092 version
14093 ".tar.gz"))
14094 (sha256
14095 (base32
14096 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
14097 (build-system haskell-build-system)
14098 (inputs
14099 `(("ghc-aeson" ,ghc-aeson)
14100 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
14101 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
14102 ("ghc-base-compat" ,ghc-base-compat)
14103 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
14104 ("ghc-hashable" ,ghc-hashable)
14105 ("ghc-parsers" ,ghc-parsers)
14106 ("ghc-quickcheck" ,ghc-quickcheck)
14107 ("ghc-scientific" ,ghc-scientific)
14108 ("ghc-tagged" ,ghc-tagged)
14109 ("ghc-unordered-containers" ,ghc-unordered-containers)
14110 ("ghc-uuid-types" ,ghc-uuid-types)
14111 ("ghc-vector" ,ghc-vector)))
14112 (native-inputs
14113 `(("ghc-base-compat" ,ghc-base-compat)
14114 ("ghc-quickcheck" ,ghc-quickcheck)
14115 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
14116 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
14117 ("ghc-trifecta" ,ghc-trifecta)
14118 ("ghc-tasty" ,ghc-tasty)
14119 ("ghc-tasty-golden" ,ghc-tasty-golden)
14120 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14121 (home-page "https://github.com/phadej/tree-diff")
14122 (synopsis "Compute difference between (expression) trees")
14123 (description "This Haskell library provides a function for computing
14124 the difference between (expression) trees. It also provides a way to
14125 compute the difference between arbitrary abstract datatypes (ADTs) using
14126 @code{Generics}-derivable helpers.")
14127 (license license:bsd-3)))
14128
14129 (define-public ghc-trifecta
14130 (package
14131 (name "ghc-trifecta")
14132 (version "2")
14133 (source (origin
14134 (method url-fetch)
14135 (uri (string-append
14136 "https://hackage.haskell.org/package/trifecta/"
14137 "trifecta-" version ".tar.gz"))
14138 (sha256
14139 (base32
14140 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
14141 (build-system haskell-build-system)
14142 (arguments
14143 `(#:tests? #f ; doctest suite fails to build on i686
14144 #:cabal-revision
14145 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
14146 (inputs
14147 `(("ghc-reducers" ,ghc-reducers)
14148 ("ghc-semigroups" ,ghc-semigroups)
14149 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
14150 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
14151 ("ghc-blaze-builder" ,ghc-blaze-builder)
14152 ("ghc-blaze-html" ,ghc-blaze-html)
14153 ("ghc-blaze-markup" ,ghc-blaze-markup)
14154 ("ghc-charset" ,ghc-charset)
14155 ("ghc-comonad" ,ghc-comonad)
14156 ("ghc-fingertree" ,ghc-fingertree)
14157 ("ghc-hashable" ,ghc-hashable)
14158 ("ghc-lens" ,ghc-lens)
14159 ("ghc-parsers" ,ghc-parsers)
14160 ("ghc-profunctors" ,ghc-profunctors)
14161 ("ghc-unordered-containers" ,ghc-unordered-containers)
14162 ("ghc-utf8-string" ,ghc-utf8-string)))
14163 (native-inputs
14164 `(("cabal-doctest" ,cabal-doctest)
14165 ("ghc-doctest" ,ghc-doctest)
14166 ("ghc-quickcheck" ,ghc-quickcheck)))
14167 (home-page "https://github.com/ekmett/trifecta/")
14168 (synopsis "Parser combinator library with convenient diagnostics")
14169 (description "Trifecta is a modern parser combinator library for Haskell,
14170 with slicing and Clang-style colored diagnostics.")
14171 (license license:bsd-3)))
14172
14173 (define-public ghc-tuple-th
14174 (package
14175 (name "ghc-tuple-th")
14176 (version "0.2.5")
14177 (source
14178 (origin
14179 (method url-fetch)
14180 (uri (string-append "https://hackage.haskell.org/package/"
14181 "tuple-th-" version "/"
14182 "tuple-th-" version ".tar.gz"))
14183 (sha256
14184 (base32
14185 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
14186 (build-system haskell-build-system)
14187 (home-page "https://github.com/DanielSchuessler/tuple-th")
14188 (synopsis "Generate utility functions for tuples of statically known size
14189 for Haskell")
14190 (description "This Haskell package contains Template Haskell functions for
14191 generating functions similar to those in @code{Data.List} for tuples of
14192 statically known size.")
14193 (license license:bsd-3)))
14194
14195 (define-public ghc-turtle
14196 (package
14197 (name "ghc-turtle")
14198 (version "1.5.15")
14199 (source
14200 (origin
14201 (method url-fetch)
14202 (uri (string-append
14203 "mirror://hackage/package/turtle/turtle-"
14204 version
14205 ".tar.gz"))
14206 (sha256
14207 (base32
14208 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
14209 (build-system haskell-build-system)
14210 (inputs
14211 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
14212 ("ghc-async" ,ghc-async)
14213 ("ghc-clock" ,ghc-clock)
14214 ("ghc-exceptions" ,ghc-exceptions)
14215 ("ghc-foldl" ,ghc-foldl)
14216 ("ghc-hostname" ,ghc-hostname)
14217 ("ghc-managed" ,ghc-managed)
14218 ("ghc-semigroups" ,ghc-semigroups)
14219 ("ghc-system-filepath" ,ghc-system-filepath)
14220 ("ghc-system-fileio" ,ghc-system-fileio)
14221 ("ghc-streaming-commons" ,ghc-streaming-commons)
14222 ("ghc-temporary" ,ghc-temporary)
14223 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
14224 ("ghc-optional-args" ,ghc-optional-args)
14225 ("ghc-unix-compat" ,ghc-unix-compat)))
14226 (native-inputs
14227 `(("ghc-doctest" ,ghc-doctest)
14228 ("ghc-fail" ,ghc-fail)))
14229 (arguments
14230 `(#:cabal-revision
14231 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
14232 (home-page
14233 "http://hackage.haskell.org/package/turtle")
14234 (synopsis "Shell programming, Haskell-style")
14235 (description
14236 "Turtle is a reimplementation of the Unix command line environment in
14237 Haskell so that you can use Haskell as both a shell and a scripting
14238 language. Features include:
14239
14240 @itemize
14241 @item Batteries included: Command an extended suite of predefined utilities.
14242 @item Interoperability: You can still run external shell commands.
14243 @item Portability: Works on Windows, OS X, and Linux.
14244 @item Exception safety: Safely acquire and release resources.
14245 @item Streaming: Transform or fold command output in constant space.
14246 @item Patterns: Use typed regular expressions that can parse structured values.
14247 @item Formatting: Type-safe printf-style text formatting.
14248 @item Modern: Supports text and system-filepath.
14249 @end itemize
14250
14251 Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
14252 quick-start guide. Turtle is designed to be beginner-friendly, but as a
14253 result lacks certain features, like tracing commands. If you feel comfortable
14254 using turtle then you should also check out the Shelly library which provides
14255 similar functionality.")
14256 (license license:bsd-3)))
14257
14258 (define-public ghc-typed-process
14259 (package
14260 (name "ghc-typed-process")
14261 (version "0.2.6.0")
14262 (source
14263 (origin
14264 (method url-fetch)
14265 (uri (string-append "https://hackage.haskell.org/package/"
14266 "typed-process/typed-process-"
14267 version ".tar.gz"))
14268 (sha256
14269 (base32
14270 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
14271 (build-system haskell-build-system)
14272 (inputs
14273 `(("ghc-async" ,ghc-async)
14274 ("ghc-unliftio-core" ,ghc-unliftio-core)))
14275 (native-inputs
14276 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
14277 ("ghc-hspec" ,ghc-hspec)
14278 ("hspec-discover" ,hspec-discover)
14279 ("ghc-temporary" ,ghc-temporary)))
14280 (home-page "https://haskell-lang.org/library/typed-process")
14281 (synopsis "Run external processes with strong typing of streams")
14282 (description
14283 "This library provides the ability to launch and interact with external
14284 processes. It wraps around the @code{process} library, and intends to improve
14285 upon it.")
14286 (license license:expat)))
14287
14288 (define-public ghc-uglymemo
14289 (package
14290 (name "ghc-uglymemo")
14291 (version "0.1.0.1")
14292 (source
14293 (origin
14294 (method url-fetch)
14295 (uri (string-append
14296 "https://hackage.haskell.org/package/uglymemo/uglymemo-"
14297 version
14298 ".tar.gz"))
14299 (sha256
14300 (base32
14301 "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy"))))
14302 (build-system haskell-build-system)
14303 (home-page "https://hackage.haskell.org/package/uglymemo")
14304 (synopsis "Simple memoization function for Haskell")
14305 (description
14306 "This package provides a simple (but internally ugly) memoization
14307 function.")
14308 (license license:public-domain)))
14309
14310 (define-public ghc-unagi-chan
14311 (package
14312 (name "ghc-unagi-chan")
14313 (version "0.4.1.2")
14314 (source
14315 (origin
14316 (method url-fetch)
14317 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
14318 "/unagi-chan-" version ".tar.gz"))
14319 (sha256
14320 (base32
14321 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
14322 (build-system haskell-build-system)
14323 (inputs
14324 `(("ghc-atomic-primops" ,ghc-atomic-primops)
14325 ("ghc-primitive" ,ghc-primitive)))
14326 (arguments
14327 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
14328 #:cabal-revision
14329 ("1"
14330 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
14331 (home-page "https://hackage.haskell.org/package/unagi-chan")
14332 (synopsis "Fast concurrent queues with a Chan-like API, and more")
14333 (description
14334 "This library provides implementations of concurrent FIFO queues (for
14335 both general boxed and primitive unboxed values) that are fast, perform well
14336 under contention, and offer a Chan-like interface. The library may be of
14337 limited usefulness outside of x86 architectures where the fetch-and-add
14338 instruction is not available.")
14339 (license license:bsd-3)))
14340
14341 (define-public ghc-unbounded-delays
14342 (package
14343 (name "ghc-unbounded-delays")
14344 (version "0.1.1.0")
14345 (source
14346 (origin
14347 (method url-fetch)
14348 (uri (string-append
14349 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
14350 version
14351 ".tar.gz"))
14352 (sha256
14353 (base32
14354 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
14355 (build-system haskell-build-system)
14356 (home-page "https://github.com/basvandijk/unbounded-delays")
14357 (synopsis "Unbounded thread delays and timeouts")
14358 (description "The @code{threadDelay} and @code{timeout} functions from the
14359 Haskell base library use the bounded @code{Int} type for specifying the delay
14360 or timeout period. This package provides alternative functions which use the
14361 unbounded @code{Integer} type.")
14362 (license license:bsd-3)))
14363
14364 (define-public ghc-unexceptionalio
14365 (package
14366 (name "ghc-unexceptionalio")
14367 (version "0.4.0")
14368 (source
14369 (origin
14370 (method url-fetch)
14371 (uri (string-append "https://hackage.haskell.org/package/"
14372 "unexceptionalio-" version "/" "unexceptionalio-"
14373 version ".tar.gz"))
14374 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
14375 (build-system haskell-build-system)
14376 (home-page "https://github.com/singpolyma/unexceptionalio")
14377 (synopsis "IO without any non-error, synchronous exceptions")
14378 (description "When you've caught all the exceptions that can be
14379 handled safely, this is what you're left with.")
14380 (license license:isc)))
14381
14382 (define-public ghc-unicode-transforms
14383 (package
14384 (name "ghc-unicode-transforms")
14385 (version "0.3.6")
14386 (source
14387 (origin
14388 (method url-fetch)
14389 (uri (string-append "https://hackage.haskell.org/package/"
14390 "unicode-transforms/unicode-transforms-"
14391 version ".tar.gz"))
14392 (sha256
14393 (base32
14394 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
14395 (build-system haskell-build-system)
14396 (inputs
14397 `(("ghc-bitarray" ,ghc-bitarray)))
14398 (native-inputs
14399 `(("ghc-quickcheck" ,ghc-quickcheck)
14400 ("ghc-getopt-generics" ,ghc-getopt-generics)
14401 ("ghc-split" ,ghc-split)))
14402 (home-page "https://github.com/composewell/unicode-transforms")
14403 (synopsis "Unicode normalization")
14404 (description "This library provides tools for fast Unicode 12.1.0
14405 normalization in Haskell (normalization forms C, KC, D, and KD).")
14406 (license license:bsd-3)))
14407
14408 (define-public ghc-union-find
14409 (package
14410 (name "ghc-union-find")
14411 (version "0.2")
14412 (source (origin
14413 (method url-fetch)
14414 (uri (string-append
14415 "https://hackage.haskell.org/package/union-find/union-find-"
14416 version ".tar.gz"))
14417 (sha256
14418 (base32
14419 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
14420 (build-system haskell-build-system)
14421 (home-page "https://github.com/nominolo/union-find")
14422 (synopsis "Efficient union and equivalence testing of sets")
14423 (description
14424 "The Union/Find algorithm implements these operations in (effectively)
14425 constant-time:
14426 @enumerate
14427 @item Check whether two elements are in the same equivalence class.
14428 @item Create a union of two equivalence classes.
14429 @item Look up the descriptor of the equivalence class.
14430 @end enumerate\n")
14431 (license license:bsd-3)))
14432
14433 (define-public ghc-uniplate
14434 (package
14435 (name "ghc-uniplate")
14436 (version "1.6.12")
14437 (source
14438 (origin
14439 (method url-fetch)
14440 (uri (string-append
14441 "https://hackage.haskell.org/package/uniplate/uniplate-"
14442 version
14443 ".tar.gz"))
14444 (sha256
14445 (base32
14446 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
14447 (build-system haskell-build-system)
14448 (inputs
14449 `(("ghc-syb" ,ghc-syb)
14450 ("ghc-hashable" ,ghc-hashable)
14451 ("ghc-unordered-containers" ,ghc-unordered-containers)))
14452 (home-page "https://github.com/ndmitchell/uniplate")
14453 (synopsis "Simple, concise and fast generic operations")
14454 (description "Uniplate is a library for writing simple and concise generic
14455 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
14456 work, but is substantially simpler and faster.")
14457 (license license:bsd-3)))
14458
14459 (define-public ghc-unix-compat
14460 (package
14461 (name "ghc-unix-compat")
14462 (version "0.5.2")
14463 (source
14464 (origin
14465 (method url-fetch)
14466 (uri (string-append
14467 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
14468 version
14469 ".tar.gz"))
14470 (sha256
14471 (base32
14472 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
14473 (build-system haskell-build-system)
14474 (home-page
14475 "https://github.com/jystic/unix-compat")
14476 (synopsis "Portable POSIX-compatibility layer")
14477 (description
14478 "This package provides portable implementations of parts of the unix
14479 package. This package re-exports the unix package when available. When it
14480 isn't available, portable implementations are used.")
14481 (license license:bsd-3)))
14482
14483 (define-public ghc-unix-time
14484 (package
14485 (name "ghc-unix-time")
14486 (version "0.4.7")
14487 (source
14488 (origin
14489 (method url-fetch)
14490 (uri (string-append
14491 "https://hackage.haskell.org/package/unix-time/unix-time-"
14492 version
14493 ".tar.gz"))
14494 (sha256
14495 (base32
14496 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
14497 (build-system haskell-build-system)
14498 (arguments
14499 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
14500 ; is weird, that should be provided by GHC 7.10.2.
14501 (inputs
14502 `(("ghc-old-time" ,ghc-old-time)
14503 ("ghc-old-locale" ,ghc-old-locale)))
14504 (home-page "https://hackage.haskell.org/package/unix-time")
14505 (synopsis "Unix time parser/formatter and utilities")
14506 (description "This library provides fast parsing and formatting utilities
14507 for Unix time in Haskell.")
14508 (license license:bsd-3)))
14509
14510 (define-public ghc-unliftio
14511 (package
14512 (name "ghc-unliftio")
14513 (version "0.2.12")
14514 (source
14515 (origin
14516 (method url-fetch)
14517 (uri (string-append
14518 "https://hackage.haskell.org/package/unliftio/unliftio-"
14519 version
14520 ".tar.gz"))
14521 (sha256
14522 (base32
14523 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
14524 (build-system haskell-build-system)
14525 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
14526 (outputs '("out" "static" "doc"))
14527 (inputs
14528 `(("ghc-async" ,ghc-async)
14529 ("ghc-unliftio-core" ,ghc-unliftio-core)))
14530 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
14531 (home-page "https://github.com/fpco/unliftio")
14532 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
14533 IO (batteries included)")
14534 (description "This Haskell package provides the core @code{MonadUnliftIO}
14535 typeclass, a number of common instances, and a collection of common functions
14536 working with it.")
14537 (license license:expat)))
14538
14539 (define-public ghc-unliftio-core
14540 (package
14541 (name "ghc-unliftio-core")
14542 (version "0.1.2.0")
14543 (source
14544 (origin
14545 (method url-fetch)
14546 (uri (string-append "https://hackage.haskell.org/package/"
14547 "unliftio-core-" version "/"
14548 "unliftio-core-" version ".tar.gz"))
14549 (sha256
14550 (base32
14551 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
14552 (build-system haskell-build-system)
14553 (arguments
14554 `(#:cabal-revision
14555 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
14556 (home-page
14557 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
14558 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
14559 (description "This Haskell package provides the core @code{MonadUnliftIO}
14560 typeclass, instances for base and transformers, and basic utility
14561 functions.")
14562 (license license:expat)))
14563
14564 (define-public ghc-unordered-containers
14565 (package
14566 (name "ghc-unordered-containers")
14567 (version "0.2.10.0")
14568 (outputs '("out" "static" "doc"))
14569 (source
14570 (origin
14571 (method url-fetch)
14572 (uri (string-append
14573 "https://hackage.haskell.org/package/unordered-containers"
14574 "/unordered-containers-" version ".tar.gz"))
14575 (sha256
14576 (base32
14577 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
14578 (build-system haskell-build-system)
14579 (inputs
14580 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
14581 ("ghc-hunit" ,ghc-hunit)
14582 ("ghc-quickcheck" ,ghc-quickcheck)
14583 ("ghc-test-framework" ,ghc-test-framework)
14584 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
14585 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
14586 ("ghc-hashable" ,ghc-hashable)))
14587 (home-page
14588 "https://github.com/tibbe/unordered-containers")
14589 (synopsis
14590 "Efficient hashing-based container types")
14591 (description
14592 "Efficient hashing-based container types. The containers have been
14593 optimized for performance critical use, both in terms of large data quantities
14594 and high speed.")
14595 (license license:bsd-3)))
14596
14597 (define-public ghc-unordered-containers-bootstrap
14598 (package
14599 (inherit ghc-unordered-containers)
14600 (name "ghc-unordered-containers-bootstrap")
14601 (arguments `(#:tests? #f))
14602 (inputs
14603 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
14604 (properties '((hidden? #t)))))
14605
14606 (define-public ghc-unsafe
14607 (package
14608 (name "ghc-unsafe")
14609 (version "0.0")
14610 (source
14611 (origin
14612 (method url-fetch)
14613 (uri
14614 (string-append
14615 "https://hackage.haskell.org/package/unsafe/unsafe-"
14616 version ".tar.gz"))
14617 (sha256
14618 (base32
14619 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
14620 (build-system haskell-build-system)
14621 (home-page "https://hackage.haskell.org/package/unsafe")
14622 (synopsis "Unified interface to unsafe functions")
14623 (description "Safe Haskell introduced the notion of safe and unsafe
14624 modules. In order to make as many as possible modules ``safe'', the
14625 well-known unsafe functions were moved to distinguished modules. This
14626 makes it hard to write packages that work with both old and new versions
14627 of GHC. This package provides a single module System.Unsafe that
14628 exports the unsafe functions from the base package. It provides them in
14629 a style ready for qualification, that is, you should import them by
14630 @code{import qualified System.Unsafe as Unsafe}.")
14631 (license license:bsd-3)))
14632
14633 (define-public ghc-uri-bytestring
14634 (package
14635 (name "ghc-uri-bytestring")
14636 (version "0.3.2.2")
14637 (source
14638 (origin
14639 (method url-fetch)
14640 (uri (string-append "https://hackage.haskell.org/package/"
14641 "uri-bytestring-" version "/"
14642 "uri-bytestring-" version ".tar.gz"))
14643 (sha256
14644 (base32
14645 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
14646 (build-system haskell-build-system)
14647 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14648 ("ghc-blaze-builder" ,ghc-blaze-builder)
14649 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
14650 (native-inputs `(("ghc-hunit" ,ghc-hunit)
14651 ("ghc-tasty" ,ghc-tasty)
14652 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14653 ("ghc-hedgehog" ,ghc-hedgehog)
14654 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
14655 ("ghc-base-compat" ,ghc-base-compat)
14656 ("ghc-semigroups" ,ghc-semigroups)
14657 ("ghc-safe" ,ghc-safe)))
14658 (home-page "https://github.com/Soostone/uri-bytestring")
14659 (synopsis "Haskell URI parsing as ByteStrings")
14660 (description "This Haskell package aims to be an RFC3986 compliant URI
14661 parser that uses ByteStrings for parsing and representing the URI data.")
14662 (license license:bsd-3)))
14663
14664 (define-public ghc-utf8-light
14665 (package
14666 (name "ghc-utf8-light")
14667 (version "0.4.2")
14668 (source
14669 (origin
14670 (method url-fetch)
14671 (uri (string-append
14672 "mirror://hackage/package/utf8-light/utf8-light-"
14673 version
14674 ".tar.gz"))
14675 (sha256
14676 (base32
14677 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
14678 (build-system haskell-build-system)
14679 (home-page
14680 "http://hackage.haskell.org/package/utf8-light")
14681 (synopsis "Lightweight unicode support for Haskell")
14682 (description
14683 "This package profides a class for encoding and decoding UTF8 strings
14684 with instances for several common types. It also includes several functions
14685 for working with UTF8. It aims to be lightweight, depending only on Base and
14686 including only one module.")
14687 (license license:bsd-3)))
14688
14689 (define-public ghc-utf8-string
14690 (package
14691 (name "ghc-utf8-string")
14692 (version "1.0.1.1")
14693 (source
14694 (origin
14695 (method url-fetch)
14696 (uri (string-append
14697 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
14698 version
14699 ".tar.gz"))
14700 (sha256
14701 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
14702 (build-system haskell-build-system)
14703 (arguments
14704 `(#:cabal-revision
14705 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
14706 (home-page "https://github.com/glguy/utf8-string/")
14707 (synopsis "Support for reading and writing UTF8 Strings")
14708 (description
14709 "A UTF8 layer for Strings. The utf8-string package provides operations
14710 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
14711 UTF8 without truncation.")
14712 (license license:bsd-3)))
14713
14714 (define-public ghc-utility-ht
14715 (package
14716 (name "ghc-utility-ht")
14717 (version "0.0.14")
14718 (home-page "https://hackage.haskell.org/package/utility-ht")
14719 (source
14720 (origin
14721 (method url-fetch)
14722 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
14723 (sha256
14724 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
14725 (build-system haskell-build-system)
14726 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
14727 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
14728 (description "This package includes Hakell modules providing various
14729 helper functions for Lists, Maybes, Tuples, Functions.")
14730 (license license:bsd-3)))
14731
14732 (define-public ghc-uuid
14733 (package
14734 (name "ghc-uuid")
14735 (version "1.3.13")
14736 (source
14737 (origin
14738 (method url-fetch)
14739 (uri (string-append "https://hackage.haskell.org/package/"
14740 "uuid-" version "/"
14741 "uuid-" version ".tar.gz"))
14742 (sha256
14743 (base32
14744 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
14745 (build-system haskell-build-system)
14746 (arguments
14747 `(#:cabal-revision
14748 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
14749 #:phases
14750 (modify-phases %standard-phases
14751 (add-before 'configure 'strip-test-framework-constraints
14752 (lambda _
14753 (substitute* "uuid.cabal"
14754 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
14755 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
14756 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
14757 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
14758 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14759 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
14760 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
14761 ("ghc-entropy" ,ghc-entropy)
14762 ("ghc-network-info" ,ghc-network-info)
14763 ("ghc-random" ,ghc-random)
14764 ("ghc-uuid-types" ,ghc-uuid-types)))
14765 (native-inputs `(("ghc-hunit" ,ghc-hunit)
14766 ("ghc-quickcheck" ,ghc-quickcheck)
14767 ("ghc-tasty" ,ghc-tasty)
14768 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14769 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14770 (home-page "https://github.com/hvr/uuid")
14771 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
14772 (description "This Haskell library provides utilities creating, comparing,
14773 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
14774 (license license:bsd-3)))
14775
14776 (define-public ghc-uuid-types
14777 (package
14778 (name "ghc-uuid-types")
14779 (version "1.0.3")
14780 (source
14781 (origin
14782 (method url-fetch)
14783 (uri (string-append "https://hackage.haskell.org/package/"
14784 "uuid-types-" version "/"
14785 "uuid-types-" version ".tar.gz"))
14786 (sha256
14787 (base32
14788 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
14789 (build-system haskell-build-system)
14790 (arguments
14791 `(#:phases
14792 (modify-phases %standard-phases
14793 (add-before 'configure 'strip-test-framework-constraints
14794 (lambda _
14795 (substitute* "uuid-types.cabal"
14796 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
14797 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
14798 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
14799 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
14800 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14801 (inputs `(("ghc-hashable" ,ghc-hashable)
14802 ("ghc-random" ,ghc-random)))
14803 (native-inputs `(("ghc-hunit" ,ghc-hunit)
14804 ("ghc-quickcheck" ,ghc-quickcheck)
14805 ("ghc-tasty" ,ghc-tasty)
14806 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14807 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14808 (home-page "https://github.com/hvr/uuid")
14809 (synopsis "Haskell type definitions for UUIDs")
14810 (description "This Haskell library contains type definitions for
14811 @dfn{Universally Unique Identifiers} or
14812 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
14813 functions.")
14814 (license license:bsd-3)))
14815
14816 (define-public ghc-validation
14817 (package
14818 (name "ghc-validation")
14819 (version "1.1")
14820 (source
14821 (origin
14822 (method url-fetch)
14823 (uri (string-append
14824 "mirror://hackage/package/validation/validation-"
14825 version
14826 ".tar.gz"))
14827 (sha256
14828 (base32
14829 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
14830 (build-system haskell-build-system)
14831 (arguments
14832 `(#:cabal-revision
14833 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
14834 (inputs
14835 `(("ghc-semigroups" ,ghc-semigroups)
14836 ("ghc-semigroupoids" ,ghc-semigroupoids)
14837 ("ghc-bifunctors" ,ghc-bifunctors)
14838 ("ghc-lens" ,ghc-lens)))
14839 (native-inputs
14840 `(("ghc-hedgehog" ,ghc-hedgehog)
14841 ("ghc-hunit" ,ghc-hunit)))
14842 (home-page "https://github.com/qfpl/validation")
14843 (synopsis
14844 "Data-type like Either but with an accumulating Applicative")
14845 (description
14846 "A data-type like Either but with differing properties and type-class
14847 instances.
14848
14849 Library support is provided for this different representation, including
14850 @code{lens}-related functions for converting between each and abstracting over
14851 their similarities.
14852
14853 The @code{Validation} data type is isomorphic to @code{Either}, but has an
14854 instance of @code{Applicative} that accumulates on the error side. That is to
14855 say, if two (or more) errors are encountered, they are appended using a
14856 @{Semigroup} operation.
14857
14858 As a consequence of this @code{Applicative} instance, there is no
14859 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
14860 example of, \"An applicative functor that is not a monad.\"")
14861 (license license:bsd-3)))
14862
14863 (define-public ghc-validity
14864 (package
14865 (name "ghc-validity")
14866 (version "0.9.0.2")
14867 (source
14868 (origin
14869 (method url-fetch)
14870 (uri (string-append
14871 "https://hackage.haskell.org/package/validity/validity-"
14872 version
14873 ".tar.gz"))
14874 (sha256
14875 (base32
14876 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
14877 (build-system haskell-build-system)
14878 (native-inputs `(("ghc-hspec" ,ghc-hspec)
14879 ("hspec-discover" ,hspec-discover)))
14880 (home-page
14881 "https://github.com/NorfairKing/validity")
14882 (synopsis "Validity typeclass")
14883 (description
14884 "Values of custom types usually have invariants imposed upon them. This
14885 package provides the @code{Validity} type class, which makes these invariants
14886 explicit by providing a function to check whether the invariants hold.")
14887 (license license:expat)))
14888
14889 (define-public ghc-vault
14890 (package
14891 (name "ghc-vault")
14892 (version "0.3.1.3")
14893 (source
14894 (origin
14895 (method url-fetch)
14896 (uri (string-append
14897 "https://hackage.haskell.org/package/vault/vault-"
14898 version
14899 ".tar.gz"))
14900 (sha256
14901 (base32
14902 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
14903 (build-system haskell-build-system)
14904 (inputs
14905 `(("ghc-unordered-containers" ,ghc-unordered-containers)
14906 ("ghc-hashable" ,ghc-hashable)
14907 ("ghc-semigroups" ,ghc-semigroups)))
14908 (home-page
14909 "https://github.com/HeinrichApfelmus/vault")
14910 (synopsis "Persistent store for arbitrary values")
14911 (description "This package provides vaults for Haskell. A vault is a
14912 persistent store for values of arbitrary types. It's like having first-class
14913 access to the storage space behind @code{IORefs}. The data structure is
14914 analogous to a bank vault, where you can access different bank boxes with
14915 different keys; hence the name. Also provided is a @code{locker} type,
14916 representing a store for a single element.")
14917 (license license:bsd-3)))
14918
14919 (define-public ghc-vector
14920 (package
14921 (name "ghc-vector")
14922 (version "0.12.0.3")
14923 (outputs '("out" "static" "doc"))
14924 (source
14925 (origin
14926 (method url-fetch)
14927 (uri (string-append
14928 "https://hackage.haskell.org/package/vector/vector-"
14929 version
14930 ".tar.gz"))
14931 (sha256
14932 (base32
14933 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
14934 (build-system haskell-build-system)
14935 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
14936 ;; disabled for now.
14937 (arguments
14938 `(#:tests? #f))
14939 (inputs
14940 `(("ghc-primitive" ,ghc-primitive)
14941 ("ghc-random" ,ghc-random)
14942 ("ghc-quickcheck" ,ghc-quickcheck)
14943 ;; ("ghc-hunit" ,ghc-hunit)
14944 ;; ("ghc-test-framework" ,ghc-test-framework)
14945 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
14946 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
14947 ))
14948 (home-page "https://github.com/haskell/vector")
14949 (synopsis "Efficient Arrays")
14950 (description "This library provides an efficient implementation of
14951 Int-indexed arrays (both mutable and immutable), with a powerful loop
14952 optimisation framework.")
14953 (license license:bsd-3)))
14954
14955 (define-public ghc-vector-algorithms
14956 (package
14957 (name "ghc-vector-algorithms")
14958 (version "0.8.0.1")
14959 (source
14960 (origin
14961 (method url-fetch)
14962 (uri (string-append "https://hackage.haskell.org/package/"
14963 "vector-algorithms-" version "/"
14964 "vector-algorithms-" version ".tar.gz"))
14965 (sha256
14966 (base32
14967 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
14968 (build-system haskell-build-system)
14969 (inputs
14970 `(("ghc-vector" ,ghc-vector)))
14971 (native-inputs
14972 `(("ghc-quickcheck" ,ghc-quickcheck)))
14973 (home-page "https://github.com/bos/math-functions")
14974 (synopsis "Algorithms for vector arrays in Haskell")
14975 (description "This Haskell library algorithms for vector arrays.")
14976 (license license:bsd-3)))
14977
14978 (define-public ghc-vector-binary-instances
14979 (package
14980 (name "ghc-vector-binary-instances")
14981 (version "0.2.5.1")
14982 (source
14983 (origin
14984 (method url-fetch)
14985 (uri (string-append
14986 "https://hackage.haskell.org/package/"
14987 "vector-binary-instances/vector-binary-instances-"
14988 version ".tar.gz"))
14989 (sha256
14990 (base32
14991 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
14992 (build-system haskell-build-system)
14993 (inputs
14994 `(("ghc-vector" ,ghc-vector)))
14995 (native-inputs
14996 `(("ghc-tasty" ,ghc-tasty)
14997 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14998 (home-page "https://github.com/bos/vector-binary-instances")
14999 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
15000 (description "This library provides instances of @code{Binary} for the
15001 types defined in the @code{vector} package, making it easy to serialize
15002 vectors to and from disk. We use the generic interface to vectors, so all
15003 vector types are supported. Specific instances are provided for unboxed,
15004 boxed and storable vectors.")
15005 (license license:bsd-3)))
15006
15007 (define-public ghc-vector-builder
15008 (package
15009 (name "ghc-vector-builder")
15010 (version "0.3.8")
15011 (source
15012 (origin
15013 (method url-fetch)
15014 (uri (string-append "https://hackage.haskell.org/package/"
15015 "vector-builder-" version "/"
15016 "vector-builder-" version ".tar.gz"))
15017 (sha256
15018 (base32
15019 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
15020 (build-system haskell-build-system)
15021 (inputs `(("ghc-vector" ,ghc-vector)
15022 ("ghc-semigroups" ,ghc-semigroups)
15023 ("ghc-base-prelude" ,ghc-base-prelude)))
15024 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
15025 ("ghc-tasty" ,ghc-tasty)
15026 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
15027 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
15028 ("ghc-hunit" ,ghc-hunit)
15029 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
15030 ("ghc-rerebase" ,ghc-rerebase)))
15031 (home-page "https://github.com/nikita-volkov/vector-builder")
15032 (synopsis "Vector builder for Haskell")
15033 (description "This Haskell package provides an API for constructing vectors.
15034 It provides the composable @code{Builder} abstraction, which has instances of the
15035 @code{Monoid} and @code{Semigroup} classes.
15036
15037 You would first use the @code{Builder} abstraction to specify the structure of
15038 the vector; then you can execute the builder to actually produce the
15039 vector. ")
15040 (license license:expat)))
15041
15042 (define-public ghc-vector-th-unbox
15043 (package
15044 (name "ghc-vector-th-unbox")
15045 (version "0.2.1.7")
15046 (source
15047 (origin
15048 (method url-fetch)
15049 (uri (string-append "https://hackage.haskell.org/package/"
15050 "vector-th-unbox-" version "/"
15051 "vector-th-unbox-" version ".tar.gz"))
15052 (sha256
15053 (base32
15054 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
15055 (build-system haskell-build-system)
15056 (inputs
15057 `(("ghc-vector" ,ghc-vector)
15058 ("ghc-data-default" ,ghc-data-default)))
15059 (home-page "https://github.com/liyang/vector-th-unbox")
15060 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
15061 (description "This Haskell library provides a Template Haskell
15062 deriver for unboxed vectors, given a pair of coercion functions to
15063 and from some existing type with an Unbox instance.")
15064 (license license:bsd-3)))
15065
15066 (define-public ghc-void
15067 (package
15068 (name "ghc-void")
15069 (version "0.7.3")
15070 (source
15071 (origin
15072 (method url-fetch)
15073 (uri (string-append
15074 "https://hackage.haskell.org/package/void/void-"
15075 version
15076 ".tar.gz"))
15077 (sha256
15078 (base32
15079 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
15080 (build-system haskell-build-system)
15081 (inputs
15082 `(("ghc-semigroups" ,ghc-semigroups)
15083 ("ghc-hashable" ,ghc-hashable)))
15084 (home-page "https://github.com/ekmett/void")
15085 (synopsis
15086 "Logically uninhabited data type")
15087 (description
15088 "A Haskell 98 logically uninhabited data type, used to indicate that a
15089 given term should not exist.")
15090 (license license:bsd-3)))
15091
15092 (define-public ghc-wave
15093 (package
15094 (name "ghc-wave")
15095 (version "0.2.0")
15096 (source (origin
15097 (method url-fetch)
15098 (uri (string-append
15099 "https://hackage.haskell.org/package/wave/wave-"
15100 version
15101 ".tar.gz"))
15102 (sha256
15103 (base32
15104 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
15105 (build-system haskell-build-system)
15106 (arguments
15107 '(#:phases
15108 (modify-phases %standard-phases
15109 (add-before 'configure 'update-constraints
15110 (lambda _
15111 (substitute* "wave.cabal"
15112 (("temporary.* < 1\\.3")
15113 "temporary >= 1.1 && < 1.4")))))))
15114 (inputs
15115 `(("ghc-cereal" ,ghc-cereal)
15116 ("ghc-data-default-class"
15117 ,ghc-data-default-class)
15118 ("ghc-quickcheck" ,ghc-quickcheck)
15119 ("ghc-temporary" ,ghc-temporary)))
15120 (native-inputs
15121 `(("hspec-discover" ,hspec-discover)
15122 ("ghc-hspec" ,ghc-hspec)))
15123 (home-page "https://github.com/mrkkrp/wave")
15124 (synopsis "Work with WAVE and RF64 files in Haskell")
15125 (description "This package allows you to work with WAVE and RF64
15126 files in Haskell.")
15127 (license license:bsd-3)))
15128
15129 (define-public ghc-wcwidth
15130 (package
15131 (name "ghc-wcwidth")
15132 (version "0.0.2")
15133 (source
15134 (origin
15135 (method url-fetch)
15136 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
15137 version ".tar.gz"))
15138 (sha256
15139 (base32
15140 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
15141 (build-system haskell-build-system)
15142 (inputs
15143 `(("ghc-setlocale" ,ghc-setlocale)
15144 ("ghc-utf8-string" ,ghc-utf8-string)
15145 ("ghc-attoparsec" ,ghc-attoparsec)))
15146 (home-page "https://github.com/solidsnack/wcwidth/")
15147 (synopsis "Haskell bindings to wcwidth")
15148 (description "This package provides Haskell bindings to your system's
15149 native wcwidth and a command line tool to examine the widths assigned by it.
15150 The command line tool can compile a width table to Haskell code that assigns
15151 widths to the Char type.")
15152 (license license:bsd-3)))
15153
15154 (define-public ghc-wcwidth-bootstrap
15155 (package
15156 (inherit ghc-wcwidth)
15157 (name "ghc-wcwidth-bootstrap")
15158 (inputs
15159 `(("ghc-setlocale" ,ghc-setlocale)
15160 ("ghc-utf8-string" ,ghc-utf8-string)
15161 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
15162 (properties '((hidden? #t)))))
15163
15164 (define-public ghc-weigh
15165 (package
15166 (name "ghc-weigh")
15167 (version "0.0.14")
15168 (source
15169 (origin
15170 (method url-fetch)
15171 (uri (string-append "https://hackage.haskell.org/package/weigh/"
15172 "weigh-" version ".tar.gz"))
15173 (sha256
15174 (base32
15175 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
15176 (build-system haskell-build-system)
15177 (inputs
15178 `(("ghc-split" ,ghc-split)
15179 ("ghc-temporary" ,ghc-temporary)))
15180 (home-page "https://github.com/fpco/weigh#readme")
15181 (synopsis "Measure allocations of a Haskell functions/values")
15182 (description "This package provides tools to measure the memory usage of a
15183 Haskell value or function.")
15184 (license license:bsd-3)))
15185
15186 (define-public ghc-wizards
15187 (package
15188 (name "ghc-wizards")
15189 (version "1.0.3")
15190 (source
15191 (origin
15192 (method url-fetch)
15193 (uri (string-append
15194 "https://hackage.haskell.org/package/wizards/wizards-"
15195 version
15196 ".tar.gz"))
15197 (sha256
15198 (base32
15199 "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85"))))
15200 (build-system haskell-build-system)
15201 (inputs
15202 `(("ghc-control-monad-free" ,ghc-control-monad-free)))
15203 (arguments
15204 `(#:cabal-revision
15205 ("1"
15206 "095qd17zrdhqmcvmslbyzfa5sh9glvvsnsvnlz31gzsmi8nnsgim")))
15207 (home-page "http://hackage.haskell.org/package/wizards")
15208 (synopsis "High level, generic library for interrogative user interfaces")
15209 (description
15210 "@code{wizards} is a package designed for the quick and painless
15211 development of @emph{interrogative} programs, which revolve around a dialogue
15212 with the user, who is asked a series of questions in a sequence much like an
15213 installation wizard.
15214
15215 Everything from interactive system scripts, to installation wizards, to
15216 full-blown shells can be implemented with the support of @code{wizards}.
15217
15218 It is developed transparently on top of a free monad, which separates out the
15219 semantics of the program from any particular interface. A variety of backends
15220 exist, including console-based @code{System.Console.Wizard.Haskeline} and
15221 @code{System.Console.Wizard.BasicIO}, and the pure
15222 @code{System.Console.Wizard.Pure}. It is also possible to write your own
15223 backends, or extend existing back-ends with new features. While both built-in
15224 IO backends operate on a console, there is no reason why @code{wizards} cannot
15225 also be used for making GUI wizard interfaces.")
15226 (license license:bsd-3)))
15227
15228 (define-public ghc-wl-pprint
15229 (package
15230 (name "ghc-wl-pprint")
15231 (version "1.2.1")
15232 (source (origin
15233 (method url-fetch)
15234 (uri (string-append
15235 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
15236 version ".tar.gz"))
15237 (sha256
15238 (base32
15239 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
15240 (build-system haskell-build-system)
15241 (home-page "https://hackage.haskell.org/package/wl-pprint")
15242 (synopsis "Wadler/Leijen pretty printer")
15243 (description
15244 "This is a pretty printing library based on Wadler's paper @i{A Prettier
15245 Printer}. This version allows the library user to declare overlapping
15246 instances of the @code{Pretty} class.")
15247 (license license:bsd-3)))
15248
15249 (define-public ghc-wl-pprint-annotated
15250 (package
15251 (name "ghc-wl-pprint-annotated")
15252 (version "0.1.0.1")
15253 (source
15254 (origin
15255 (method url-fetch)
15256 (uri (string-append
15257 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
15258 version
15259 ".tar.gz"))
15260 (sha256
15261 (base32
15262 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
15263 (build-system haskell-build-system)
15264 (native-inputs
15265 `(("ghc-tasty" ,ghc-tasty)
15266 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
15267 (home-page
15268 "https://github.com/minad/wl-pprint-annotated#readme")
15269 (synopsis
15270 "Wadler/Leijen pretty printer with annotation support")
15271 (description
15272 "Annotations are useful for coloring. This is a limited version of
15273 @code{wl-pprint-extras} without support for point effects and without the free
15274 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
15275 Compared to @code{annotated-wl-pprint} this library provides a slightly
15276 modernized interface.")
15277 (license license:bsd-3)))
15278
15279 (define-public ghc-wl-pprint-text
15280 (package
15281 (name "ghc-wl-pprint-text")
15282 (version "1.2.0.0")
15283 (source
15284 (origin
15285 (method url-fetch)
15286 (uri (string-append
15287 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
15288 version ".tar.gz"))
15289 (sha256
15290 (base32
15291 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
15292 (build-system haskell-build-system)
15293 (inputs
15294 `(("ghc-base-compat" ,ghc-base-compat)))
15295 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
15296 (synopsis "Wadler/Leijen Pretty Printer for Text values")
15297 (description
15298 "A clone of wl-pprint for use with the text library.")
15299 (license license:bsd-3)))
15300
15301 (define-public ghc-word-wrap
15302 (package
15303 (name "ghc-word-wrap")
15304 (version "0.4.1")
15305 (source
15306 (origin
15307 (method url-fetch)
15308 (uri (string-append "https://hackage.haskell.org/package/"
15309 "word-wrap/word-wrap-" version ".tar.gz"))
15310 (sha256
15311 (base32 "15rcqhg9vb7qisk9ryjnyhhfgigxksnkrczycaw2rin08wczjwpb"))))
15312 (build-system haskell-build-system)
15313 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
15314 (arguments
15315 `(#:cabal-revision
15316 ("1" "1k4w4g053vhmpp08542hrqaw81p3p35i567xgdarqmpghfrk68pp")))
15317 (home-page "https://github.com/jtdaugherty/word-wrap/")
15318 (synopsis "Haskell library for word-wrapping text")
15319 (description
15320 "The @code{word-wrap} Haskell library wraps long lines of text.")
15321 (license license:bsd-3)))
15322
15323 (define-public ghc-word8
15324 (package
15325 (name "ghc-word8")
15326 (version "0.1.3")
15327 (source
15328 (origin
15329 (method url-fetch)
15330 (uri (string-append
15331 "https://hackage.haskell.org/package/word8/word8-"
15332 version
15333 ".tar.gz"))
15334 (sha256
15335 (base32
15336 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
15337 (build-system haskell-build-system)
15338 (native-inputs
15339 `(("ghc-hspec" ,ghc-hspec)
15340 ("hspec-discover" ,hspec-discover)))
15341 (home-page "https://hackage.haskell.org/package/word8")
15342 (synopsis "Word8 library for Haskell")
15343 (description "Word8 library to be used with @code{Data.ByteString}.")
15344 (license license:bsd-3)))
15345
15346 (define-public ghc-wordexp
15347 (package
15348 (name "ghc-wordexp")
15349 (version "0.2.2")
15350 (source
15351 (origin
15352 (method url-fetch)
15353 (uri (string-append
15354 "https://hackage.haskell.org/package/wordexp/wordexp-"
15355 version
15356 ".tar.gz"))
15357 (sha256
15358 (base32
15359 "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4"))))
15360 (build-system haskell-build-system)
15361 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
15362 (inputs
15363 `(("ghc-semigroups" ,ghc-semigroups)))
15364 (home-page "https://hackage.haskell.org/package/wordexp")
15365 (synopsis "Library wrapping @code{wordexp} for Haskell")
15366 (description "@code{wordexp(3)} wrapper library for Haskell to perform
15367 word expansion like a posix-shell.")
15368 (license license:bsd-3)))
15369
15370 (define-public ghc-x11
15371 (package
15372 (name "ghc-x11")
15373 (version "1.9.1")
15374 (source
15375 (origin
15376 (method url-fetch)
15377 (uri (string-append "https://hackage.haskell.org/package/X11/"
15378 "X11-" version ".tar.gz"))
15379 (sha256
15380 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
15381 (build-system haskell-build-system)
15382 (arguments
15383 `(#:extra-directories
15384 ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
15385 (inputs
15386 `(("libx11" ,libx11)
15387 ("libxrandr" ,libxrandr)
15388 ("libxinerama" ,libxinerama)
15389 ("libxscrnsaver" ,libxscrnsaver)
15390 ("ghc-data-default" ,ghc-data-default)))
15391 (home-page "https://github.com/haskell-pkg-janitors/X11")
15392 (synopsis "Bindings to the X11 graphics library")
15393 (description
15394 "This package provides Haskell bindings to the X11 graphics library. The
15395 bindings are a direct translation of the C bindings.")
15396 (license license:bsd-3)))
15397
15398 (define-public ghc-x11-xft
15399 (package
15400 (name "ghc-x11-xft")
15401 (version "0.3.1")
15402 (source
15403 (origin
15404 (method url-fetch)
15405 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
15406 "X11-xft-" version ".tar.gz"))
15407 (sha256
15408 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
15409 (arguments
15410 `(#:extra-directories ("libx11" "libxft" "xorgproto")))
15411 (inputs
15412 `(("ghc-x11" ,ghc-x11)
15413 ("ghc-utf8-string" ,ghc-utf8-string)
15414 ("libx11" ,libx11)
15415 ("libxft" ,libxft)
15416 ("xorgproto" ,xorgproto)))
15417 (native-inputs
15418 `(("pkg-config" ,pkg-config)))
15419 (build-system haskell-build-system)
15420 (home-page "https://hackage.haskell.org/package/X11-xft")
15421 (synopsis "Bindings to Xft")
15422 (description
15423 "Bindings to the Xft, X Free Type interface library, and some Xrender
15424 parts.")
15425 (license license:lgpl2.1)))
15426
15427 (define-public ghc-xdg-basedir
15428 (package
15429 (name "ghc-xdg-basedir")
15430 (version "0.2.2")
15431 (source
15432 (origin
15433 (method url-fetch)
15434 (uri (string-append
15435 "https://hackage.haskell.org/package/xdg-basedir/"
15436 "xdg-basedir-" version ".tar.gz"))
15437 (sha256
15438 (base32
15439 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
15440 (build-system haskell-build-system)
15441 (home-page "https://github.com/willdonnelly/xdg-basedir")
15442 (synopsis "XDG Base Directory library for Haskell")
15443 (description "This package provides a library implementing the XDG Base Directory spec.")
15444 (license license:bsd-3)))
15445
15446 (define-public ghc-xml
15447 (package
15448 (name "ghc-xml")
15449 (version "1.3.14")
15450 (source
15451 (origin
15452 (method url-fetch)
15453 (uri (string-append
15454 "https://hackage.haskell.org/package/xml/xml-"
15455 version
15456 ".tar.gz"))
15457 (sha256
15458 (base32
15459 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
15460 (build-system haskell-build-system)
15461 (home-page "https://github.com/GaloisInc/xml")
15462 (synopsis "Simple XML library for Haskell")
15463 (description "This package provides a simple XML library for Haskell.")
15464 (license license:bsd-3)))
15465
15466 (define-public ghc-xml-conduit
15467 (package
15468 (name "ghc-xml-conduit")
15469 (version "1.8.0.1")
15470 (source
15471 (origin
15472 (method url-fetch)
15473 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
15474 "xml-conduit-" version ".tar.gz"))
15475 (sha256
15476 (base32
15477 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
15478 (build-system haskell-build-system)
15479 (inputs
15480 `(("ghc-conduit" ,ghc-conduit)
15481 ("ghc-conduit-extra" ,ghc-conduit-extra)
15482 ("ghc-doctest" ,ghc-doctest)
15483 ("ghc-resourcet" ,ghc-resourcet)
15484 ("ghc-xml-types" ,ghc-xml-types)
15485 ("ghc-attoparsec" ,ghc-attoparsec)
15486 ("ghc-data-default-class" ,ghc-data-default-class)
15487 ("ghc-blaze-markup" ,ghc-blaze-markup)
15488 ("ghc-blaze-html" ,ghc-blaze-html)
15489 ("ghc-monad-control" ,ghc-monad-control)
15490 ("ghc-hspec" ,ghc-hspec)
15491 ("ghc-hunit" ,ghc-hunit)))
15492 (home-page "https://github.com/snoyberg/xml")
15493 (synopsis "Utilities for dealing with XML with the conduit package")
15494 (description
15495 "This package provides pure-Haskell utilities for dealing with XML with
15496 the @code{conduit} package.")
15497 (license license:expat)))
15498
15499 (define-public ghc-xml-types
15500 (package
15501 (name "ghc-xml-types")
15502 (version "0.3.6")
15503 (source
15504 (origin
15505 (method url-fetch)
15506 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
15507 "xml-types-" version ".tar.gz"))
15508 (sha256
15509 (base32
15510 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
15511 (build-system haskell-build-system)
15512 (home-page "https://john-millikin.com/software/haskell-xml/")
15513 (synopsis "Basic types for representing XML")
15514 (description "This package provides basic types for representing XML
15515 documents.")
15516 (license license:expat)))
15517
15518 (define-public ghc-xml-hamlet
15519 (package
15520 (name "ghc-xml-hamlet")
15521 (version "0.5.0.1")
15522 (source
15523 (origin
15524 (method url-fetch)
15525 (uri (string-append "https://hackage.haskell.org/package/xml-hamlet/"
15526 "xml-hamlet-" version ".tar.gz"))
15527 (sha256
15528 (base32 "0jrhcjy7ww59dafg857f2g2df1fw2jmbwcs1q379ph0pc5rxj3lj"))))
15529 (build-system haskell-build-system)
15530 (inputs
15531 `(("ghc-shakespeare" ,ghc-shakespeare)
15532 ("ghc-xml-conduit" ,ghc-xml-conduit)))
15533 (native-inputs
15534 `(("ghc-hspec" ,ghc-hspec)
15535 ("ghc-hunit" ,ghc-hunit)))
15536 (home-page "https://www.yesodweb.com/")
15537 (synopsis "Hamlet-style quasiquoter for XML content")
15538 (description "This package provides a type-safe tool for generating XML
15539 code via quasi-quoting built on top of @code{ghc-shakespeare}.")
15540 (license license:bsd-3)))
15541
15542 (define-public ghc-yaml
15543 (package
15544 (name "ghc-yaml")
15545 (version "0.11.1.2")
15546 (source (origin
15547 (method url-fetch)
15548 (uri (string-append "https://hackage.haskell.org/package/"
15549 "yaml/yaml-" version ".tar.gz"))
15550 (sha256
15551 (base32
15552 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
15553 (build-system haskell-build-system)
15554 (inputs
15555 `(("ghc-conduit" ,ghc-conduit)
15556 ("ghc-resourcet" ,ghc-resourcet)
15557 ("ghc-aeson" ,ghc-aeson)
15558 ("ghc-unordered-containers" ,ghc-unordered-containers)
15559 ("ghc-vector" ,ghc-vector)
15560 ("ghc-attoparsec" ,ghc-attoparsec)
15561 ("ghc-scientific" ,ghc-scientific)
15562 ("ghc-semigroups" ,ghc-semigroups)
15563 ("ghc-temporary" ,ghc-temporary)
15564 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
15565 ("ghc-base-compat" ,ghc-base-compat)
15566 ("ghc-libyaml" ,ghc-libyaml)))
15567 (native-inputs
15568 `(("ghc-hspec" ,ghc-hspec)
15569 ("ghc-hunit" ,ghc-hunit)
15570 ("hspec-discover" ,hspec-discover)
15571 ("ghc-mockery" ,ghc-mockery)
15572 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
15573 (home-page "https://github.com/snoyberg/yaml/")
15574 (synopsis "Parsing and rendering YAML documents")
15575 (description
15576 "This package provides a library to parse and render YAML documents.")
15577 (license license:bsd-3)))
15578
15579 (define-public ghc-zip-archive
15580 (package
15581 (name "ghc-zip-archive")
15582 (version "0.4.1")
15583 (source
15584 (origin
15585 (method url-fetch)
15586 (uri (string-append
15587 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
15588 version
15589 ".tar.gz"))
15590 (sha256
15591 (base32
15592 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
15593 (build-system haskell-build-system)
15594 (arguments
15595 `(#:phases
15596 (modify-phases %standard-phases
15597 (add-before 'check 'set-PATH-for-tests
15598 (lambda* (#:key inputs #:allow-other-keys)
15599 (let ((unzip (assoc-ref inputs "unzip"))
15600 (which (assoc-ref inputs "which"))
15601 (path (getenv "PATH")))
15602 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
15603 #t))))))
15604 (inputs
15605 `(("ghc-digest" ,ghc-digest)
15606 ("ghc-temporary" ,ghc-temporary)
15607 ("ghc-zlib" ,ghc-zlib)))
15608 (native-inputs
15609 `(("ghc-hunit" ,ghc-hunit)
15610 ("unzip" ,unzip)
15611 ("which" ,which)))
15612 (home-page "https://hackage.haskell.org/package/zip-archive")
15613 (synopsis "Zip archive library for Haskell")
15614 (description "The zip-archive library provides functions for creating,
15615 modifying, and extracting files from zip archives in Haskell.")
15616 (license license:bsd-3)))
15617
15618 (define-public ghc-zlib
15619 (package
15620 (name "ghc-zlib")
15621 (version "0.6.2.1")
15622 (outputs '("out" "static" "doc"))
15623 (source
15624 (origin
15625 (method url-fetch)
15626 (uri (string-append
15627 "https://hackage.haskell.org/package/zlib/zlib-"
15628 version
15629 ".tar.gz"))
15630 (sha256
15631 (base32
15632 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
15633 (build-system haskell-build-system)
15634 (arguments
15635 `(#:extra-directories ("zlib")
15636 #:phases
15637 (modify-phases %standard-phases
15638 (add-before 'configure 'strip-test-framework-constraints
15639 (lambda _
15640 (substitute* "zlib.cabal"
15641 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
15642 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
15643 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
15644 (inputs `(("zlib" ,zlib)))
15645 (native-inputs
15646 `(("ghc-quickcheck" ,ghc-quickcheck)
15647 ("ghc-tasty" ,ghc-tasty)
15648 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
15649 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
15650 (home-page "https://hackage.haskell.org/package/zlib")
15651 (synopsis
15652 "Compression and decompression in the gzip and zlib formats")
15653 (description
15654 "This package provides a pure interface for compressing and decompressing
15655 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
15656 library so it has high performance. It supports the @code{zlib}, @code{gzip}
15657 and @code{raw} compression formats. It provides a convenient high level API
15658 suitable for most tasks and for the few cases where more control is needed it
15659 provides access to the full zlib feature set.")
15660 (license license:bsd-3)))
15661
15662 (define-public ghc-zlib-bindings
15663 (package
15664 (name "ghc-zlib-bindings")
15665 (version "0.1.1.5")
15666 (source
15667 (origin
15668 (method url-fetch)
15669 (uri (string-append "https://hackage.haskell.org/package/"
15670 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
15671 (sha256
15672 (base32
15673 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
15674 (build-system haskell-build-system)
15675 (inputs
15676 `(("ghc-zlib" ,ghc-zlib)))
15677 (native-inputs
15678 `(("ghc-hspec" ,ghc-hspec)
15679 ("ghc-quickcheck" ,ghc-quickcheck)))
15680 (arguments
15681 `(#:cabal-revision
15682 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
15683 (home-page "https://github.com/snapframework/zlib-bindings")
15684 (synopsis "Low-level bindings to the @code{zlib} package")
15685 (description "This package provides low-level bindings to the
15686 @code{zlib} package.")
15687 (license license:bsd-3)))
15688
15689 (define-public ghc-zstd
15690 (package
15691 (name "ghc-zstd")
15692 (version "0.1.1.2")
15693 (source
15694 (origin
15695 (method url-fetch)
15696 (uri (string-append "https://hackage.haskell.org/package/"
15697 "zstd/zstd-" version ".tar.gz"))
15698 (sha256
15699 (base32
15700 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
15701 (build-system haskell-build-system)
15702 (native-inputs
15703 `(("ghc-quickcheck" ,ghc-quickcheck)
15704 ("ghc-test-framework" ,ghc-test-framework)
15705 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
15706 (home-page "https://github.com/luispedro/hs-zstd")
15707 (synopsis "Haskell bindings to the Zstandard compression algorithm")
15708 (description "This library provides Haskell bindings to the
15709 Zstandard compression algorithm, a fast lossless compression algorithm
15710 targeting real-time compression scenarios at zlib-level and better
15711 compression ratios.")
15712 (license license:bsd-3)))