projects/guix·blob javascript-team · refs

18099 lines · 671.5 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015, 2016 Federico Beffa <[email protected]>
3;;; Copyright © 2015 Siniša Biđin <[email protected]>
4;;; Copyright © 2015 Paul van der Walt <[email protected]>
5;;; Copyright © 2015, 2019 Eric Bavier <[email protected]>
6;;; Copyright © 2016, 2018, 2019, 2021, 2026 Ludovic Courtès <[email protected]>
7;;; Copyright © 2016, 2017 Nikita <[email protected]>
8;;; Copyright © 2016, 2019, 2023, 2025 Efraim Flashner <[email protected]>
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <[email protected]>
10;;; Copyright © 2016, 2017 David Craven <[email protected]>
11;;; Copyright © 2017 Danny Milosavljevic <[email protected]>
12;;; Copyright © 2017 Peter Mikkelsen <[email protected]>
13;;; Copyright © 2017, 2018 Alex Vong <[email protected]>
14;;; Copyright © 2017 rsiddharth <[email protected]>
15;;; Copyright © 2017–2019, 2021, 2023 Tobias Geerinckx-Rice <[email protected]>
16;;; Copyright © 2018 Tonton <[email protected]>
17;;; Copyright © 2018, 2019 Timothy Sample <[email protected]>
18;;; Copyright © 2018 Arun Isaac <[email protected]>
19;;; Copyright © 2018, 2019 Gabriel Hondet <[email protected]>
20;;; Copyright © 2019 Robert Vollmert <[email protected]>
21;;; Copyright © 2019 Jacob MacDonald <[email protected]>
22;;; Copyright © 2019,2020 John Soo <[email protected]>
23;;; Copyright © 2019, 2020 Kyle Meyer <[email protected]>
24;;; Copyright © 2019 Alex Griffin <[email protected]>
25;;; Copyright © 2020 Brett Gilio <[email protected]>
26;;; Copyright © 2020 JoJo <[email protected]>
27;;; Copyright © 2020, 2021 Nicolas Goaziou <[email protected]>
28;;; Copyright © 2020 Alexandru-Sergiu Marton <[email protected]>
29;;; Copyright © 2020 Carlo Holl <[email protected]>
30;;; Copyright © 2020 Christine Lemmer-Webber <[email protected]>
31;;; Copyright © 2021–2023 Alice BRENON <[email protected]>
32;;; Copyright © 2021 John Kehayias <[email protected]>
33;;; Copyright © 2022 jgart <[email protected]>
34;;; Copyright © 2023 Josselin Poiret <[email protected]>
35;;; Copyright © 2023 zamfofex <[email protected]>
36;;; Copyright © 2026 Konstantin Suntsov <[email protected]>
37;;;
38;;; This file is part of GNU Guix.
39;;;
40;;; GNU Guix is free software; you can redistribute it and/or modify it
41;;; under the terms of the GNU General Public License as published by
42;;; the Free Software Foundation; either version 3 of the License, or (at
43;;; your option) any later version.
44;;;
45;;; GNU Guix is distributed in the hope that it will be useful, but
46;;; WITHOUT ANY WARRANTY; without even the implied warranty of
47;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
48;;; GNU General Public License for more details.
49;;;
50;;; You should have received a copy of the GNU General Public License
51;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
52
53(define-module (gnu packages haskell-xyz)
54 #:use-module (gnu packages)
55 #:use-module (gnu packages base)
56 #:use-module (gnu packages check)
57 #:use-module (gnu packages compression)
58 #:use-module (gnu packages databases)
59 #:use-module (gnu packages emacs)
60 #:use-module (gnu packages freedesktop)
61 #:use-module (gnu packages gl)
62 #:use-module (gnu packages gl)
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages graphviz)
65 #:use-module (gnu packages gtk)
66 #:use-module (gnu packages haskell)
67 #:use-module (gnu packages haskell-apps)
68 #:use-module (gnu packages haskell-check)
69 #:use-module (gnu packages haskell-crypto)
70 #:use-module (gnu packages haskell-web)
71 #:use-module (gnu packages icu4c)
72 #:use-module (gnu packages libffi)
73 #:use-module (gnu packages linux)
74 #:use-module (gnu packages llvm)
75 #:use-module (gnu packages lua)
76 #:use-module (gnu packages maths)
77 #:use-module (gnu packages ncurses)
78 #:use-module (gnu packages pcre)
79 #:use-module (gnu packages pkg-config)
80 #:use-module (gnu packages sdl)
81 #:use-module (gnu packages serialization)
82 #:use-module (gnu packages tls)
83 #:use-module (gnu packages version-control)
84 #:use-module (gnu packages xml)
85 #:use-module (gnu packages xorg)
86 #:use-module (guix build-system haskell)
87 #:use-module (guix download)
88 #:use-module (guix gexp)
89 #:use-module (guix git-download)
90 #:use-module (guix utils)
91 #:use-module ((guix licenses) #:prefix license:)
92 #:use-module (guix packages)
93 #:use-module (srfi srfi-1))
94
95(define-public ghc-abstract-deque
96 (package
97 (name "ghc-abstract-deque")
98 (version "0.3")
99 (source
100 (origin
101 (method url-fetch)
102 (uri (hackage-uri "abstract-deque" version))
103 (sha256
104 (base32 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
105 (build-system haskell-build-system)
106 (properties '((upstream-name . "abstract-deque")))
107 (inputs (list ghc-random ghc-atomic-primops))
108 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
109 (synopsis
110 "Abstract, parameterized interface to mutable Deques for Haskell")
111 (description
112 "This Haskell package provides an abstract interface to
113highly-parameterizable queues/deques.
114
115Background: There exists a feature space for queues that extends between:
116
117@itemize
118@item Simple, single-ended, non-concurrent, bounded queues
119
120@item Double-ended, thread-safe, growable queues with important points
121in between (such as the queues used for work stealing).
122@end itemize
123
124This package includes an interface for Deques that allows the programmer
125to use a single API for all of the above, while using the type system to
126select an efficient implementation given the requirements (using type families).
127
128This package also includes a simple reference implementation based on
129@code{IORef} and @code{Data.Sequence}.")
130 (license license:bsd-3)))
131
132(define-public ghc-abstract-par
133 (package
134 (name "ghc-abstract-par")
135 (version "0.3.3")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (hackage-uri "abstract-par" version))
140 (sha256
141 (base32 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
142 (build-system haskell-build-system)
143 (properties '((upstream-name . "abstract-par")))
144 (home-page "https://github.com/simonmar/monad-par")
145 (synopsis "Abstract parallelization interface for Haskell")
146 (description
147 "This Haskell package is an abstract interface
148only. It provides a number of type clasess, but not an
149implementation. The type classes separate different levels
150of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
151module for more details.")
152 (license license:bsd-3)))
153
154(define-public ghc-active
155 (package
156 (name "ghc-active")
157 (version "0.2.1")
158 (source
159 (origin
160 (method url-fetch)
161 (uri (hackage-uri "active" version))
162 (sha256
163 (base32 "150kwir36aj9q219qi80mlqd0vxm4941dh6x4xp58rbd5a3mhmv1"))))
164 (build-system haskell-build-system)
165 (properties '((upstream-name . "active")))
166 (inputs (list ghc-vector ghc-semigroups ghc-semigroupoids ghc-lens
167 ghc-linear))
168 (native-inputs (list ghc-quickcheck))
169 (arguments
170 `(#:cabal-revision ("5"
171 "0wxl3pfdz4krx7lg1rckvmjkm2hj5vlwx3kyzzfrpsfhc9zq7f1g")))
172 (home-page "http://hackage.haskell.org/package/active")
173 (synopsis "Abstractions for animation")
174 (description
175 "This package defines an @code{Active} abstraction for
176time-varying values with finite start and end times. It is used for
177describing animations within the
178@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
179diagrams framework}.")
180 (license license:bsd-3)))
181
182(define-public ghc-adjunctions
183 (package
184 (name "ghc-adjunctions")
185 (version "4.4.3")
186 (source
187 (origin
188 (method url-fetch)
189 (uri (hackage-uri "adjunctions" version))
190 (sha256
191 (base32 "16hqxd88998dgjib8k1dy78a1waww3hd33hqqgd17y9bxqf15swb"))))
192 (build-system haskell-build-system)
193 (properties '((upstream-name . "adjunctions")))
194 (inputs (list ghc-comonad
195 ghc-contravariant
196 ghc-distributive
197 ghc-free
198 ghc-profunctors
199 ghc-tagged
200 ghc-semigroupoids
201 ghc-semigroups
202 ghc-transformers-compat
203 ghc-void))
204 (native-inputs (list ghc-hspec hspec-discover))
205 (home-page "http://github.com/ekmett/adjunctions/")
206 (synopsis "Adjunctions and representable functors")
207 (description "This library provides adjunctions and representable functors
208for Haskell.")
209 (license license:bsd-2)))
210
211(define-public ghc-aeson-diff
212 (package
213 (name "ghc-aeson-diff")
214 (version "1.1.0.13")
215 (source
216 (origin
217 (method url-fetch)
218 (uri (hackage-uri "aeson-diff" version))
219 (sha256
220 (base32 "0sd13q0nj0k1sam5xfj6dcjcki18f375sa69hm6i4xc6snfhn3cb"))))
221 (build-system haskell-build-system)
222 (properties '((upstream-name . "aeson-diff")))
223 (inputs (list ghc-aeson
224 ghc-edit-distance-vector
225 ghc-scientific
226 ghc-vector
227 ghc-optparse-applicative
228 ghc-yaml))
229 (native-inputs (list ghc-quickcheck ghc-glob ghc-doctest cabal-doctest))
230 (arguments
231 `(#:cabal-revision ("1"
232 "1028adallw7bm72948lj322bb5a99gfs0qc1j0pnm8hryp6n7ma5")))
233 (home-page "https://github.com/ysangkok/aeson-diff")
234 (synopsis "Extract and apply patches to JSON documents")
235 (description
236 "This is a small library for working with changes to JSON
237documents. It includes a library and two command-line executables in the
238style of the @command{diff} and @command{patch} commands available on many
239systems.")
240 (license license:bsd-3)))
241
242(define-public ghc-alex
243 (package
244 (name "ghc-alex")
245 (version "3.5.4.0")
246 (source
247 (origin
248 (method url-fetch)
249 (uri (hackage-uri "alex" version))
250 (sha256
251 (base32 "1plasa0h85dfcga2h4yd1bqfi8smx4ghscyg299nh3lhqkr71sm9"))))
252 (build-system haskell-build-system)
253 (properties '((upstream-name . "alex")))
254 (home-page "http://www.haskell.org/alex/")
255 (synopsis "Tool for generating lexical analysers in Haskell")
256 (description
257 "Alex is a tool for generating lexical analysers in Haskell. It takes a
258description of tokens based on regular expressions and generates a Haskell
259module containing code for scanning text efficiently. It is similar to the
260tool lex or flex for C/C++.")
261 (license license:bsd-3)))
262
263(define-public ghc-alsa-core
264 (package
265 (name "ghc-alsa-core")
266 (version "0.5.0.1")
267 (source
268 (origin
269 (method url-fetch)
270 (uri (hackage-uri "alsa-core" version))
271 (sha256
272 (base32 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
273 (build-system haskell-build-system)
274 (properties '((upstream-name . "alsa-core")))
275 (inputs (list ghc-extensible-exceptions alsa-lib))
276 (native-inputs (list pkg-config))
277 (home-page "https://www.haskell.org/haskellwiki/ALSA")
278 (synopsis "Binding to the ALSA Library API (Exceptions)")
279 (description "This package provides access to ALSA infrastructure, that is
280needed by both alsa-seq and alsa-pcm.")
281 (license license:bsd-3)))
282
283(define-public ghc-alsa-mixer
284 (package
285 (name "ghc-alsa-mixer")
286 (version "0.3.0.1")
287 (source
288 (origin
289 (method url-fetch)
290 (uri (hackage-uri "alsa-mixer" version))
291 (sha256
292 (base32 "0bxxmsnh2cx63gb19mzwslslwxqhz5m26pd19xnhgs9yyc3jhp57"))))
293 (build-system haskell-build-system)
294 (properties '((upstream-name . "alsa-mixer")))
295 (inputs (list ghc-alsa-core))
296 (native-inputs (list ghc-c2hs))
297 (home-page "https://github.com/ttuegel/alsa-mixer")
298 (synopsis "Bindings to the ALSA simple mixer API")
299 (description
300 "This package provides bindings to the ALSA simple mixer API.")
301 (license license:bsd-3)))
302
303(define-public ghc-annotated-wl-pprint
304 (package
305 (name "ghc-annotated-wl-pprint")
306 (version "0.7.0")
307 (source
308 (origin
309 (method url-fetch)
310 (uri (hackage-uri "annotated-wl-pprint" version))
311 (sha256
312 (base32 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
313 (build-system haskell-build-system)
314 (properties '((upstream-name . "annotated-wl-pprint")))
315 (arguments
316 `(#:cabal-revision ("1"
317 "138k24qxvl90l7dwdw1b3w36mpw93n0xi0nljblqg88pxg7jcvjx")))
318 (home-page "https://github.com/david-christiansen/annotated-wl-pprint")
319 (synopsis "The Wadler/Leijen Pretty Printer, with annotation support")
320 (description
321 "This is a modified version of wl-pprint, which was based on
322Wadler's paper \"A Prettier Printer\". This version allows the library user
323to annotate the text with semantic information, which can later be rendered in
324a variety of ways.")
325 (license license:bsd-3)))
326
327(define-public ghc-ansi-terminal
328 (package
329 (name "ghc-ansi-terminal")
330 (version "1.1.3")
331 (source
332 (origin
333 (method url-fetch)
334 (uri (hackage-uri "ansi-terminal" version))
335 (sha256
336 (base32 "14n0d3a4351mlin4dvk9xjg3x7dksnpkdg5l0gbby2fpbhb1mlc8"))))
337 (build-system haskell-build-system)
338 (properties '((upstream-name . "ansi-terminal")))
339 (inputs (list ghc-ansi-terminal-types ghc-colour))
340 (home-page "https://github.com/UnkindPartition/ansi-terminal")
341 (synopsis "ANSI terminal support for Haskell")
342 (description
343 "This package provides ANSI terminal support for Haskell. It
344allows cursor movement, screen clearing, color output showing or hiding the
345cursor, and changing the title.")
346 (license license:bsd-3)))
347
348(define-public ghc-ansi-wl-pprint
349 (package
350 (name "ghc-ansi-wl-pprint")
351 (version "1.0.2")
352 (source
353 (origin
354 (method url-fetch)
355 (uri (hackage-uri "ansi-wl-pprint" version))
356 (sha256
357 (base32 "0ir7mxvdxm94i09j0lf415pylczzws8f2d8n29nldrbql49ihki3"))))
358 (build-system haskell-build-system)
359 (properties '((upstream-name . "ansi-wl-pprint")))
360 (inputs (list ghc-prettyprinter-compat-ansi-wl-pprint))
361 (home-page "http://github.com/ekmett/ansi-wl-pprint")
362 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
363 (description
364 "This is a pretty printing library based on Wadler's paper
365\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
366colored output using the ansi-terminal package.")
367 (license license:bsd-3)))
368
369(define-public ghc-appar
370 (package
371 (name "ghc-appar")
372 (version "0.1.8")
373 (source
374 (origin
375 (method url-fetch)
376 (uri (hackage-uri "appar" version))
377 (sha256
378 (base32 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
379 (build-system haskell-build-system)
380 (properties '((upstream-name . "appar")))
381 (home-page "http://hackage.haskell.org/package/appar")
382 (synopsis "Simple applicative parser")
383 (description "This package provides a simple applicative parser in Parsec
384style.")
385 (license license:bsd-3)))
386
387(define-public ghc-aspell-pipe
388 (package
389 (name "ghc-aspell-pipe")
390 (version "0.6")
391 (source
392 (origin
393 (method url-fetch)
394 (uri (hackage-uri "aspell-pipe" version))
395 (sha256
396 (base32 "09dw4v4j5pmqi8pdh3p7kk7f8pph5w33s7vd21fgvhv3arnrj6p8"))))
397 (build-system haskell-build-system)
398 (properties '((upstream-name . "aspell-pipe")))
399 (inputs (list ghc-async))
400 (home-page "https://hackage.haskell.org/package/aspell-pipe")
401 (synopsis "Pipe-based interface to the Aspell program")
402 (description
403 "This package provides a pipe-based interface to the Aspell program (no
404dynamic linking required).")
405 (license license:bsd-3)))
406
407(define-public ghc-assoc
408 (package
409 (name "ghc-assoc")
410 (version "1.1.1")
411 (source
412 (origin
413 (method url-fetch)
414 (uri (hackage-uri "assoc" version))
415 (sha256
416 (base32 "1xhg7fqs8i067q2wmpma1yynsa9vbrhjh4pmbbcmv7zhzsvlj493"))))
417 (build-system haskell-build-system)
418 (properties '((upstream-name . "assoc")))
419 (arguments
420 `(#:cabal-revision ("1"
421 "0pqq27nzpsabvklgbldqls37mcl2hzs19qy6balsqk7b3x6rpcqa")))
422 (home-page "http://hackage.haskell.org/package/assoc")
423 (synopsis "Swap and assoc: Symmetric and Semigroupy Bifunctors")
424 (description
425 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
426@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
427similar operations (e.g. @code{Either}, @code{These}).")
428 (license license:bsd-3)))
429
430(define-public ghc-async
431 (package
432 (name "ghc-async")
433 (version "2.2.5")
434 (source
435 (origin
436 (method url-fetch)
437 (uri (hackage-uri "async" version))
438 (sha256
439 (base32 "1xqnixmcxbird7rxl124bn5swpyyxxx2jxpdsbx2l8drp8z4f60q"))))
440 (build-system haskell-build-system)
441 (properties '((upstream-name . "async")))
442 (inputs (list ghc-hashable))
443 (native-inputs (list ghc-test-framework ghc-test-framework-hunit ghc-hunit))
444 (arguments
445 `(#:cabal-revision ("3"
446 "0fvnk4rz1d2j4n5pww17qy0km0blv2gqycnbjlyrg6kjcmhqqr5p")))
447 (home-page "https://github.com/simonmar/async")
448 (synopsis "Library to run IO operations asynchronously")
449 (description
450 "Async provides a library to run IO operations
451asynchronously, and wait for their results. It is a higher-level interface
452over threads in Haskell, in which @code{Async a} is a concurrent thread that
453will eventually deliver a value of type @code{a}.")
454 (license license:bsd-3)))
455
456(define-public ghc-atomic-counter
457 (package
458 (name "ghc-atomic-counter")
459 (version "0.1.2.3")
460 (source
461 (origin
462 (method url-fetch)
463 (uri (hackage-uri "atomic-counter" version))
464 (sha256
465 (base32 "016gyi2nzgr0lyd3g99snjjh49i2hgs8kbrjprn4439w3cwn6jyf"))))
466 (build-system haskell-build-system)
467 (properties '((upstream-name . "atomic-counter")))
468 (native-inputs (list ghc-quickcheck ghc-async ghc-tasty
469 ghc-tasty-quickcheck))
470 (home-page "https://github.com/sergv/atomic-counter")
471 (synopsis "Mutable counters that can be modified with atomic operatinos")
472 (description
473 "This package defines Counter type that can be safely modified concurrently from
474multiple threads. The type supports only few operations, namely read, write,
475cas (compare and swap), add, subtract and a few bitwise ones like or, and xor.
476Most common use case is having a shared counter that multiple threads increment.
477 Another potential use case is lightweight locks.")
478 (license license:asl2.0)))
479
480(define-public ghc-atomic-primops
481 (package
482 (name "ghc-atomic-primops")
483 (version "0.8.8")
484 (source
485 (origin
486 (method url-fetch)
487 (uri (hackage-uri "atomic-primops" version))
488 (sha256
489 (base32 "1sp7ffyybnvq9s0b73rr33wjck3ffip2v56q1l87d1r5150wwh60"))))
490 (build-system haskell-build-system)
491 (properties '((upstream-name . "atomic-primops")))
492 (inputs (list ghc-primitive))
493 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
494 (synopsis "Safe approach to CAS and other atomic ops")
495 (description
496 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
497use safely, because pointer equality is a highly unstable property in Haskell.
498This library provides a safer method based on the concept of @code{Ticket}s.")
499 (license license:bsd-3)))
500
501(define-public ghc-atomic-write
502 (package
503 (name "ghc-atomic-write")
504 (version "0.2.1.1")
505 (source
506 (origin
507 (method url-fetch)
508 (uri (hackage-uri "atomic-write" version))
509 (sha256
510 (base32 "05i9vzcb6xhbh50gyr6h1lx63c0nrg6y964c46q9jn92ph9zf2ha"))))
511 (build-system haskell-build-system)
512 (properties '((upstream-name . "atomic-write")))
513 (inputs (list ghc-temporary ghc-unix-compat))
514 (native-inputs (list ghc-hspec hspec-discover))
515 (home-page "https://github.com/stackbuilders/atomic-write")
516 (synopsis "Atomically write to a file")
517 (description
518 "Atomically write to a file on POSIX-compliant systems while preserving
519permissions. @code{mv} is an atomic operation. This makes it simple to write
520to a file atomically just by using the @code{mv} operation. However, this
521will destroy the permissions on the original file. This library preserves
522permissions while atomically writing to a file.")
523 (license license:expat)))
524
525(define-public ghc-attoparsec
526 (package
527 (name "ghc-attoparsec")
528 (version "0.14.4")
529 (source
530 (origin
531 (method url-fetch)
532 (uri (hackage-uri "attoparsec" version))
533 (sha256
534 (base32 "0v4yjz4qi8bwhbyavqxlhsfb1iv07v10gxi64khmsmi4hvjpycrz"))))
535 (build-system haskell-build-system)
536 (properties '((upstream-name . "attoparsec")))
537 (inputs (list ghc-scientific))
538 (native-inputs (list ghc-quickcheck ghc-quickcheck-unicode ghc-tasty
539 ghc-tasty-quickcheck ghc-vector))
540 (arguments
541 `(#:cabal-revision ("6"
542 "1wrm23wl373219znwbcgpdpyw6a9ahwwhbvx387h07vln459s4im")))
543 (home-page "https://github.com/haskell/attoparsec")
544 (synopsis "Fast combinator parsing for bytestrings and text")
545 (description
546 "This library provides a fast parser combinator library,
547aimed particularly at dealing efficiently with network protocols and
548complicated text/binary file formats.")
549 (license license:bsd-3)))
550
551(define-public ghc-attoparsec-aeson
552 (package
553 (name "ghc-attoparsec-aeson")
554 (version "2.2.2.0")
555 (source
556 (origin
557 (method url-fetch)
558 (uri (hackage-uri "attoparsec-aeson" version))
559 (sha256
560 (base32 "1pcyiwni9kvpg97k3sm9qrxcl2n8rh698af3867zzqbgl4ijr6zy"))))
561 (build-system haskell-build-system)
562 (properties '((upstream-name . "attoparsec-aeson")))
563 (inputs (list ghc-aeson
564 ghc-attoparsec
565 ghc-character-ps
566 ghc-integer-conversion
567 ghc-primitive
568 ghc-scientific
569 ghc-vector))
570 (home-page "https://github.com/haskell/aeson")
571 (synopsis "Parsing of aeson's Value with attoparsec")
572 (description
573 "Parsing of aeson's Value with attoparsec, originally from aeson.")
574 (license license:bsd-3)))
575
576(define-public ghc-attoparsec-iso8601
577 (package
578 (name "ghc-attoparsec-iso8601")
579 (version "1.1.1.0")
580 (source
581 (origin
582 (method url-fetch)
583 (uri (hackage-uri "attoparsec-iso8601" version))
584 (sha256
585 (base32 "0yn9l9drza1wcj59a9dzm4vnihwmsxk6zd3fqg6kgww1an8x3k9l"))))
586 (build-system haskell-build-system)
587 (properties '((upstream-name . "attoparsec-iso8601")))
588 (inputs (list ghc-attoparsec ghc-integer-conversion ghc-time-compat))
589 (arguments
590 `(#:cabal-revision ("1"
591 "0chjsgkkdvnj6zps4gj80dwdfxmic1dal0cs5jfmrw8jalkqflzl")))
592 (home-page "https://github.com/haskell/aeson")
593 (synopsis "Parse ISO 8601 dates")
594 (description "Haskell library for parsing of ISO 8601 dates, originally
595from aeson.")
596 (license license:bsd-3)))
597
598(define-public ghc-auto-update
599 (package
600 (name "ghc-auto-update")
601 (version "0.2.6")
602 (source
603 (origin
604 (method url-fetch)
605 (uri (hackage-uri "auto-update" version))
606 (sha256
607 (base32 "0m0f9v3cbacgs1fmbh82r2bqbs7ya76zz0g9zy0hk8p2kmfcq9cs"))))
608 (build-system haskell-build-system)
609 (properties '((upstream-name . "auto-update")))
610 (native-inputs (list ghc-hspec ghc-retry ghc-hunit hspec-discover))
611 (home-page "https://github.com/yesodweb/wai")
612 (synopsis "Efficiently run periodic, on-demand actions")
613 (description "This library provides mechanisms to efficiently run
614periodic, on-demand actions in Haskell.")
615 (license license:expat)))
616
617(define-public ghc-aws
618 (package
619 (name "ghc-aws")
620 (version "0.24.4")
621 (source
622 (origin
623 (method url-fetch)
624 (uri (hackage-uri "aws" version))
625 (sha256
626 (base32 "0x78fydxg8qsr77mn7sy544xzl35jwc9j44vl3l868l51xkx3jwj"))))
627 (build-system haskell-build-system)
628 (properties '((upstream-name . "aws")))
629 (arguments (list #:tests? #f)) ; tests require AWS credentials and networking
630 (inputs (list ghc-aeson
631 ghc-attoparsec
632 ghc-attoparsec-aeson
633 ghc-base16-bytestring
634 ghc-base64-bytestring
635 ghc-blaze-builder
636 ghc-byteable
637 ghc-case-insensitive
638 ghc-cereal
639 ghc-conduit
640 ghc-conduit-extra
641 ghc-cryptonite
642 ghc-data-default
643 ghc-http-conduit
644 ghc-http-client-tls
645 ghc-http-types
646 ghc-lifted-base
647 ghc-memory
648 ghc-monad-control
649 ghc-old-locale
650 ghc-resourcet
651 ghc-safe
652 ghc-scientific
653 ghc-tagged
654 ghc-unordered-containers
655 ghc-utf8-string
656 ghc-vector
657 ghc-xml-conduit
658 ghc-network
659 ghc-network-bsd
660 ghc-errors))
661 (native-inputs (list ghc-quickcheck
662 ghc-http-client
663 ghc-quickcheck-instances
664 ghc-tasty
665 ghc-tasty-quickcheck
666 ghc-transformers-base
667 ghc-quickcheck
668 ghc-http-client
669 ghc-quickcheck-instances
670 ghc-tasty
671 ghc-tasty-quickcheck
672 ghc-transformers-base
673 ghc-quickcheck
674 ghc-http-client
675 ghc-tasty
676 ghc-tasty-hunit
677 ghc-tasty-quickcheck
678 ghc-transformers-base))
679 (home-page "http://github.com/aristidb/aws")
680 (synopsis "Amazon Web Services for Haskell")
681 (description
682 "This package attempts to provide support for using
683Amazon Web Services like S3 (storage), SQS (queuing) and others to
684Haskell programmers. The ultimate goal is to support all Amazon
685Web Services.")
686 (license license:bsd-3)))
687
688(define-public ghc-base16
689 (package
690 (name "ghc-base16")
691 (version "1.0")
692 (source
693 (origin
694 (method url-fetch)
695 (uri (hackage-uri "base16" version))
696 (sha256
697 (base32 "1plwc4yrkvd5j6y09fjvyzhr05mzhzwz6z41fyb60y0bj5j66dl6"))))
698 (build-system haskell-build-system)
699 (properties '((upstream-name . "base16")))
700 (inputs (list ghc-primitive ghc-text-short))
701 (native-inputs (list ghc-base16-bytestring
702 ghc-quickcheck
703 ghc-random-bytestring
704 ghc-tasty
705 ghc-tasty-hunit
706 ghc-tasty-quickcheck
707 ghc-text-short))
708 (arguments
709 `(#:cabal-revision
710 ("4"
711 "0xvk439dhk1znz3zc0127rqs09p7bqbp5pal77hcvwk8h4i43lsd")))
712 (home-page "https://github.com/emilypi/base16")
713 (synopsis "Fast RFC 4648-compliant Base16 encoding")
714 (description
715 "This library provides RFC 4648-compliant Base16 encoding and decoding
716primitives, as well as support for textual values.")
717 (license license:bsd-3)))
718
719(define-public ghc-base16-bytestring
720 (package
721 (name "ghc-base16-bytestring")
722 (version "1.0.2.0")
723 (source
724 (origin
725 (method url-fetch)
726 (uri (hackage-uri "base16-bytestring" version))
727 (sha256
728 (base32 "1167f9jaivnabn6kg2gc421ac9njb67fr4v0adbj3qph7qa92nhx"))))
729 (build-system haskell-build-system)
730 (properties '((upstream-name . "base16-bytestring")))
731 (native-inputs (list ghc-hunit ghc-quickcheck ghc-test-framework
732 ghc-test-framework-hunit
733 ghc-test-framework-quickcheck2))
734 (arguments
735 `(#:cabal-revision ("1"
736 "1zg2c9jwpbmwnpfw5ail1bvnhasrx8zks8rzn3q7kz69ks7yi556")))
737 (home-page "http://github.com/haskell/base16-bytestring")
738 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
739 (description
740 "This package provides a Haskell library for working with base16-encoded
741data quickly and efficiently, using the ByteString type.")
742 (license license:bsd-3)))
743
744(define-public ghc-base64-bytestring
745 (package
746 (name "ghc-base64-bytestring")
747 (version "1.2.1.0")
748 (source
749 (origin
750 (method url-fetch)
751 (uri (hackage-uri "base64-bytestring" version))
752 (sha256
753 (base32 "1ja9vkgnpkzaw8gz6sm5jmgha6wg3m1j281m0nv1w9yyxlqfvy7v"))))
754 (build-system haskell-build-system)
755 (properties '((upstream-name . "base64-bytestring")))
756 (native-inputs (list ghc-hunit ghc-quickcheck ghc-test-framework
757 ghc-test-framework-hunit
758 ghc-test-framework-quickcheck2))
759 (arguments
760 `(#:cabal-revision ("1"
761 "00wqskhc31agyxvm7546367qb33v5i3j31sibcw6vihli77mqc25")))
762 (home-page "https://github.com/haskell/base64-bytestring")
763 (synopsis "Base64 encoding and decoding for ByteStrings")
764 (description "This library provides fast base64 encoding and decoding for
765Haskell @code{ByteString}s.")
766 (license license:bsd-3)))
767
768(define-public ghc-base-compat
769 (package
770 (name "ghc-base-compat")
771 (version "0.14.1")
772 (source
773 (origin
774 (method url-fetch)
775 (uri (hackage-uri "base-compat" version))
776 (sha256
777 (base32 "1s9mk80lb8rscb0rndm9pkh1nmkkd4dnl7nymb3qypk43ra5brkl"))))
778 (build-system haskell-build-system)
779 (properties '((upstream-name . "base-compat")))
780 (home-page "http://hackage.haskell.org/package/base-compat")
781 (synopsis "Haskell compiler compatibility library")
782 (description
783 "This library provides functions available in later versions
784of base to a wider range of compilers, without requiring the use of CPP
785pragmas in your code.")
786 (license license:expat)))
787
788(define-public ghc-base-compat-batteries
789 (package
790 (name "ghc-base-compat-batteries")
791 (version "0.14.1")
792 (source
793 (origin
794 (method url-fetch)
795 (uri (hackage-uri "base-compat-batteries" version))
796 (sha256
797 (base32 "1q9873jrfld2gqkw8xfhcmw1r3hqkvi58r1lxpvwh0nd0hpz8arx"))))
798 (build-system haskell-build-system)
799 (properties '((upstream-name . "base-compat-batteries")))
800 (inputs (list ghc-base-compat))
801 (native-inputs (list ghc-hspec hspec-discover ghc-quickcheck))
802 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
803 (synopsis "Extra batteries included base-compat")
804 (description
805 "This library provides functions available in later
806versions of @code{base} to a wider range of compilers, without requiring
807you to use CPP pragmas in your code. This package provides the same API
808as the @code{base-compat} library, but depends on compatibility
809packages (such as @code{semigroups}) to offer a wider support window
810than @code{base-compat}, which has no dependencies.")
811 (license license:expat)))
812
813(define-public ghc-basement
814 (package
815 (name "ghc-basement")
816 (version "0.0.16")
817 (source
818 (origin
819 (method url-fetch)
820 (uri (hackage-uri "basement" version))
821 (sha256
822 (base32 "00332i4n98gh06x8ii4p8mhjpq0ch1bdan9hxmdblxpgk8j7xdvz"))))
823 (build-system haskell-build-system)
824 (arguments
825 (if (target-32bit?)
826 (list #:phases
827 #~(modify-phases %standard-phases
828 (add-after 'unpack 'patch-for-32-bit-system
829 (lambda _
830 (define patch
831 #$(local-file
832 (search-patch "ghc-basement-fix-32-bit.patch")))
833
834 (invoke "patch" "-p1" "--force" "-i" patch)))))
835 '()))
836 (properties '((upstream-name . "basement")))
837 (home-page "https://github.com/haskell-foundation/foundation#readme")
838 (synopsis "Basic primitives for Foundation starter pack")
839 (description
840 "This package contains basic primitives for the Foundation set of
841packages.")
842 (license license:bsd-3)))
843
844(define-public ghc-base-orphans
845 (package
846 (name "ghc-base-orphans")
847 (version "0.9.3")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (hackage-uri "base-orphans" version))
852 (sha256
853 (base32 "1n5bpwzgw8xg00p23prajw0bj08kxh2ri3821ib1943ir1wm18qp"))))
854 (build-system haskell-build-system)
855 (properties '((upstream-name . "base-orphans")))
856 (native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
857 (home-page "https://github.com/haskell-compat/base-orphans#readme")
858 (synopsis "Orphan instances for backwards compatibility")
859 (description
860 "This package defines orphan instances that mimic instances
861available in later versions of base to a wider (older) range of compilers.")
862 (license license:expat)))
863
864(define-public ghc-base-orphans-bootstrap
865 (package
866 (inherit ghc-base-orphans)
867 (name "ghc-base-orphans-bootstrap")
868 (arguments '(#:tests? #f))
869 (native-inputs '())
870 (properties '((hidden? #t)))))
871
872(define-public ghc-base-prelude
873 (package
874 (name "ghc-base-prelude")
875 (version "1.6.1.1")
876 (source
877 (origin
878 (method url-fetch)
879 (uri (hackage-uri "base-prelude" version))
880 (sha256
881 (base32 "1lqxa8lhnhiyxkqcwq82a8g2sizhagy3l0z7x57xrmn9y81sy241"))))
882 (build-system haskell-build-system)
883 (properties '((upstream-name . "base-prelude")))
884 (home-page "https://github.com/nikita-volkov/base-prelude")
885 (synopsis "The most complete prelude formed solely from the Haskell's base
886package")
887 (description
888 "This Haskell package aims to reexport all the non-conflicting
889and most general definitions from the \"base\" package.
890
891This includes APIs for applicatives, arrows, monoids, foldables, traversables,
892exceptions, generics, ST, MVars and STM.
893
894This package will never have any dependencies other than \"base\".
895
896Versioning policy:
897
898The versioning policy of this package deviates from PVP in the sense
899that its exports in part are transitively determined by the version of \"base\".
900Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
901the bounds of \"base\" as well.")
902 (license license:expat)))
903
904(define-public ghc-base-unicode-symbols
905 (package
906 (name "ghc-base-unicode-symbols")
907 (version "0.2.4.2")
908 (source
909 (origin
910 (method url-fetch)
911 (uri (hackage-uri "base-unicode-symbols" version))
912 (sha256
913 (base32 "0qkhp4ybmx4nbqqkrmw3hkm47bv61i2wpi20qb09wvk10g2dcr23"))))
914 (build-system haskell-build-system)
915 (properties '((upstream-name . "base-unicode-symbols")))
916 (home-page "http://haskell.org/haskellwiki/Unicode-symbols")
917 (synopsis "Unicode alternatives for common functions and operators")
918 (description
919 "This package defines new symbols for a number of functions,
920operators and types in the base package. All symbols are documented with
921their actual definition and information regarding their Unicode code point.
922They should be completely interchangeable with their definitions. For
923further Unicode goodness you can enable the @code{UnicodeSyntax}
924@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
925language extension}. This extension enables Unicode characters to be used to
926stand for certain ASCII character sequences, i.e. → instead of @code{->},
927∀ instead of @code{forall} and many others.")
928 (license license:bsd-3)))
929
930(define-public ghc-basic-prelude
931 (package
932 (name "ghc-basic-prelude")
933 (version "0.7.0")
934 (source
935 (origin
936 (method url-fetch)
937 (uri (hackage-uri "basic-prelude" version))
938 (sha256
939 (base32 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
940 (build-system haskell-build-system)
941 (properties '((upstream-name . "basic-prelude")))
942 (inputs (list ghc-hashable ghc-unordered-containers ghc-vector))
943 (home-page "https://github.com/snoyberg/basic-prelude#readme")
944 (synopsis
945 "Enhanced core prelude; a common foundation for alternate preludes")
946 (description
947 "The premise of basic-prelude is that there are a lot of very commonly
948desired features missing from the standard Prelude, such as commonly used
949operators (<$> and >=>, for instance) and imports for common datatypes
950(e.g., ByteString and Vector). At the same time, there are lots of other
951components which are more debatable, such as providing polymorphic versions
952of common functions.
953
954So basic-prelude is intended to give a common foundation for a number of
955alternate preludes. The package provides two modules: CorePrelude provides
956the common ground for other preludes to build on top of, while BasicPrelude
957exports CorePrelude together with commonly used list functions to provide a
958drop-in replacement for the standard Prelude.
959
960Users wishing to have an improved Prelude can use BasicPrelude. Developers
961wishing to create a new prelude should use CorePrelude.")
962 (license license:expat)))
963
964(define-public ghc-bencode
965 (package
966 (name "ghc-bencode")
967 (version "0.6.1.1")
968 (source
969 (origin
970 (method url-fetch)
971 (uri (hackage-uri "bencode" version))
972 (sha256
973 (base32 "0znv0y3b3zm5jvhlvj5f5s7y93db67j9yd59w1bnrw2pqv30gqaq"))))
974 (build-system haskell-build-system)
975 (properties '((upstream-name . "bencode")))
976 (inputs (list ghc-transformers-compat))
977 (native-inputs (list ghc-quickcheck ghc-hspec))
978 (home-page "http://hackage.haskell.org/package/bencode")
979 (synopsis "Parsers and printers for bencoded data")
980 (description
981 "This library provides parsers and printers for bencoded data. Bencode
982is the encoding used by the peer-to-peer file sharing system BitTorrent for
983storing and transmitting loosely structured data.")
984 (license license:bsd-3)))
985
986(define-public ghc-bifunctors
987 (package
988 (name "ghc-bifunctors")
989 (version "5.6.2")
990 (source
991 (origin
992 (method url-fetch)
993 (uri (hackage-uri "bifunctors" version))
994 (sha256
995 (base32 "0yk9v71xpwnxd6xia1bdr8pxbvrx4am6bjykqp1d1vk1a0lak1hh"))))
996 (build-system haskell-build-system)
997 (properties '((upstream-name . "bifunctors")))
998 (inputs (list ghc-assoc ghc-comonad ghc-th-abstraction ghc-tagged))
999 (native-inputs (list ghc-hspec ghc-quickcheck ghc-transformers-compat
1000 hspec-discover))
1001 (arguments
1002 `(#:cabal-revision ("2"
1003 "1ll0i0pjrmswpps64l1h6k83j7z2f4rxvr7r6iwb1axa9qf64nhi")))
1004 (home-page "http://github.com/ekmett/bifunctors/")
1005 (synopsis "Bifunctors for Haskell")
1006 (description "This package provides bifunctors for Haskell.")
1007 (license license:bsd-3)))
1008
1009(define-public ghc-bimap
1010 (package
1011 (name "ghc-bimap")
1012 (version "0.5.0")
1013 (source
1014 (origin
1015 (method url-fetch)
1016 (uri (hackage-uri "bimap" version))
1017 (sha256
1018 (base32 "158cdwk9jwklcfgbn62dqq255i40w13ifggsdps87sxc5q7lpd5h"))))
1019 (build-system haskell-build-system)
1020 (properties '((upstream-name . "bimap")))
1021 (native-inputs (list ghc-quickcheck))
1022 (home-page "https://github.com/joelwilliamson/bimap")
1023 (synopsis "Bidirectional mapping between two key types")
1024 (description
1025 "This package provides a data structure representing a bidirectional
1026mapping between two key types. Each value in the bimap is associated with
1027exactly one value of the opposite type.")
1028 (license license:bsd-3)))
1029
1030(define-public ghc-bindings-dsl
1031 (package
1032 (name "ghc-bindings-dsl")
1033 (version "1.0.25")
1034 (source
1035 (origin
1036 (method url-fetch)
1037 (uri (hackage-uri "bindings-DSL" version))
1038 (sha256
1039 (base32 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1040 (build-system haskell-build-system)
1041 (properties '((upstream-name . "bindings-DSL")))
1042 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1043 (synopsis "FFI domain specific language, on top of hsc2hs")
1044 (description
1045 "This is a set of macros to be used when writing Haskell FFI. They were
1046designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1047extract from them all Haskell code needed to mimic such interfaces. All
1048Haskell names used are automatically derived from C names, structures are
1049mapped to Haskell instances of @code{Storable}, and there are also macros you
1050can use with C code to help write bindings to inline functions or macro
1051functions.")
1052 (license license:bsd-3)))
1053
1054(define-public ghc-bitarray
1055 (package
1056 (name "ghc-bitarray")
1057 (version "0.0.1.1")
1058 (source
1059 (origin
1060 (method url-fetch)
1061 (uri (hackage-uri "bitarray" version))
1062 (sha256
1063 (base32 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1064 (build-system haskell-build-system)
1065 (properties '((upstream-name . "bitarray")))
1066 (arguments
1067 `(#:cabal-revision ("1"
1068 "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1069 (home-page "http://code.haskell.org/~bkomuves/")
1070 (synopsis "Mutable and immutable bit arrays")
1071 (description "The package provides mutable and immutable bit arrays.")
1072 (license license:bsd-3)))
1073
1074(define-public ghc-bitvec
1075 (package
1076 (name "ghc-bitvec")
1077 (version "1.1.5.0")
1078 (source
1079 (origin
1080 (method url-fetch)
1081 (uri (hackage-uri "bitvec" version))
1082 (sha256
1083 (base32 "1ifyz0lsmgqz8yjyx4887m1wnm7ar389k6gkvcnk9mg1bgp7rll3"))))
1084 (build-system haskell-build-system)
1085 (properties '((upstream-name . "bitvec")))
1086 (inputs (list ghc-primitive ghc-vector))
1087 (native-inputs (list ghc-quickcheck-classes-base ghc-quickcheck-classes
1088 ghc-tasty ghc-tasty-quickcheck))
1089 (arguments
1090 `(#:cabal-revision ("3"
1091 "1cw8gz65n5m20sy9wrxrg2kz2lskqcw81ib952jmha72c3ffcjs3")))
1092 (home-page "https://github.com/Bodigrim/bitvec")
1093 (synopsis "Space-efficient bit vectors")
1094 (description
1095 "This package provides a newtype over Bool with a Vector instance that
1096requires only 1/8 of the normal memory and is in some cases much faster.")
1097 (license license:bsd-3)))
1098
1099(define-public ghc-blaze-builder
1100 (package
1101 (name "ghc-blaze-builder")
1102 (version "0.4.4.1")
1103 (source
1104 (origin
1105 (method url-fetch)
1106 (uri (hackage-uri "blaze-builder" version))
1107 (sha256
1108 (base32 "04six8rkyrhfa96ykmp51kfcxxj96v1g5r2m9sdaz5xc5023c7cp"))))
1109 (build-system haskell-build-system)
1110 (properties '((upstream-name . "blaze-builder")))
1111 (native-inputs (list ghc-hunit
1112 ghc-quickcheck
1113 ghc-test-framework
1114 ghc-test-framework-hunit
1115 ghc-test-framework-quickcheck2
1116 ghc-utf8-string))
1117 (home-page "https://github.com/blaze-builder/blaze-builder")
1118 (synopsis "Efficient buffered output")
1119 (description
1120 "This library provides an implementation of the older
1121@code{blaze-builder} interface in terms of the new builder that shipped with
1122@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1123bridge to the new builder, so that code that uses the old interface can
1124interoperate with code that uses the new implementation.")
1125 (license license:bsd-3)))
1126
1127(define-public ghc-blaze-markup
1128 (package
1129 (name "ghc-blaze-markup")
1130 (version "0.8.3.0")
1131 (source
1132 (origin
1133 (method url-fetch)
1134 (uri (hackage-uri "blaze-markup" version))
1135 (sha256
1136 (base32 "1s1hb477smr0m8rvpp7vr768hvwv5rsv4w07phdqyzqz9a5sq1l6"))))
1137 (build-system haskell-build-system)
1138 (properties '((upstream-name . "blaze-markup")))
1139 (inputs (list ghc-blaze-builder))
1140 (native-inputs (list ghc-hunit ghc-quickcheck ghc-tasty ghc-tasty-hunit
1141 ghc-tasty-quickcheck))
1142 (arguments
1143 `(#:cabal-revision ("2"
1144 "1r6pkaip7bgv6i4f3klxbqa2vaas9rn4agdr6c57r2njh65j2zq2")))
1145 (home-page "http://jaspervdj.be/blaze")
1146 (synopsis "Fast markup combinator library for Haskell")
1147 (description "This library provides core modules of a markup combinator
1148library for Haskell.")
1149 (license license:bsd-3)))
1150
1151(define-public ghc-bloomfilter
1152 (package
1153 (name "ghc-bloomfilter")
1154 (version "2.0.1.2")
1155 (source
1156 (origin
1157 (method url-fetch)
1158 (uri (hackage-uri "bloomfilter" version))
1159 (sha256
1160 (base32 "0klb26ldkw32axv3927w489j71r2rc9pangsvznqjbljib9970hp"))))
1161 (build-system haskell-build-system)
1162 (properties '((upstream-name . "bloomfilter")))
1163 (native-inputs (list ghc-quickcheck ghc-random ghc-test-framework
1164 ghc-test-framework-quickcheck2))
1165 (home-page "https://github.com/haskell-pkg-janitors/bloomfilter")
1166 (synopsis "Pure and impure Bloom filter implementations")
1167 (description
1168 "This package provides both mutable and immutable Bloom
1169filter data types, along with a family of hash functions and an easy-to-use
1170interface.")
1171 (license license:bsd-3)))
1172
1173(define-public ghc-boxes
1174 (package
1175 (name "ghc-boxes")
1176 (version "0.1.5")
1177 (source
1178 (origin
1179 (method url-fetch)
1180 (uri (hackage-uri "boxes" version))
1181 (sha256
1182 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1183 (build-system haskell-build-system)
1184 (properties '((upstream-name . "boxes")))
1185 (inputs (list ghc-split))
1186 (native-inputs (list ghc-quickcheck))
1187 (home-page "http://hackage.haskell.org/package/boxes")
1188 (synopsis "2D text pretty-printing library")
1189 (description
1190 "Boxes is a pretty-printing library for laying out text in two dimensions,
1191using a simple box model.")
1192 (license license:bsd-3)))
1193
1194(define-public ghc-byteable
1195 (package
1196 (name "ghc-byteable")
1197 (version "0.1.1")
1198 (source
1199 (origin
1200 (method url-fetch)
1201 (uri (hackage-uri "byteable" version))
1202 (sha256
1203 (base32 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1204 (build-system haskell-build-system)
1205 (properties '((upstream-name . "byteable")))
1206 (home-page "http://github.com/vincenthz/hs-byteable")
1207 (synopsis "Type class for sequence of bytes")
1208 (description
1209 "This package provides an abstract class to manipulate sequence of bytes.
1210The use case of this class is abstracting manipulation of types that are just
1211wrapping a bytestring with stronger and more meaniful name.")
1212 (license license:bsd-3)))
1213
1214(define-public ghc-byteorder
1215 (package
1216 (name "ghc-byteorder")
1217 (version "1.0.4")
1218 (source
1219 (origin
1220 (method url-fetch)
1221 (uri (hackage-uri "byteorder" version))
1222 (sha256
1223 (base32 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1224 (build-system haskell-build-system)
1225 (properties '((upstream-name . "byteorder")))
1226 (home-page "http://community.haskell.org/~aslatter/code/byteorder")
1227 (synopsis "Exposes the native endianness of the system")
1228 (description
1229 "This package is for working with the native byte-ordering of the
1230system.")
1231 (license license:bsd-3)))
1232
1233(define-public ghc-bytes
1234 (package
1235 (name "ghc-bytes")
1236 (version "0.17.4")
1237 (source
1238 (origin
1239 (method url-fetch)
1240 (uri (hackage-uri "bytes" version))
1241 (sha256
1242 (base32 "14x3wnjg7ik1kh3vy9ahfal0hl86v8z3kj1h152364mf94j9macc"))))
1243 (build-system haskell-build-system)
1244 (properties '((upstream-name . "bytes")))
1245 (inputs (list ghc-binary-orphans
1246 ghc-cereal
1247 ghc-hashable
1248 ghc-transformers-compat
1249 ghc-unordered-containers
1250 ghc-scientific
1251 ghc-void))
1252 (arguments
1253 `(#:cabal-revision ("1"
1254 "0jhzp9ihka03fsgnjhhj3864p3zq500xqm2whjyvin3580wigc97")))
1255 (home-page "https://github.com/ekmett/bytes")
1256 (synopsis "Serialization between @code{binary} and @code{cereal}")
1257 (description
1258 "This package provides a simple compatibility shim that lets
1259you work with both @code{binary} and @code{cereal} with one chunk of
1260serialization code.")
1261 (license license:bsd-3)))
1262
1263(define-public ghc-bytestring-builder
1264 (package
1265 (name "ghc-bytestring-builder")
1266 (version "0.10.8.2.0")
1267 (source
1268 (origin
1269 (method url-fetch)
1270 (uri (hackage-uri "bytestring-builder" version))
1271 (sha256
1272 (base32 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1273 (build-system haskell-build-system)
1274 (properties '((upstream-name . "bytestring-builder")))
1275 (home-page "http://hackage.haskell.org/package/bytestring-builder")
1276 (synopsis "The new bytestring builder, packaged outside of GHC")
1277 (description
1278 "This package provides the bytestring builder that is
1279debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1280Compatibility package for older packages.")
1281 (license license:bsd-3)))
1282
1283(define-public ghc-bytestring-lexing
1284 (package
1285 (name "ghc-bytestring-lexing")
1286 (version "0.5.0.15")
1287 (source
1288 (origin
1289 (method url-fetch)
1290 (uri (hackage-uri "bytestring-lexing" version))
1291 (sha256
1292 (base32 "0m0375fjr20071s0sx596b45bw962q17i5m4icriq1jv4swx9f3j"))))
1293 (build-system haskell-build-system)
1294 (properties '((upstream-name . "bytestring-lexing")))
1295 (native-inputs (list ghc-tasty ghc-tasty-smallcheck ghc-tasty-quickcheck))
1296 (home-page "https://wrengr.org/software/hackage.html")
1297 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1298 (description
1299 "This package provides tools to parse and produce literals efficiently
1300from strict or lazy bytestrings.")
1301 (license license:bsd-3)))
1302
1303(define-public ghc-bzlib-conduit
1304 (package
1305 (name "ghc-bzlib-conduit")
1306 (version "0.3.0.4")
1307 (source
1308 (origin
1309 (method url-fetch)
1310 (uri (hackage-uri "bzlib-conduit" version))
1311 (sha256
1312 (base32 "0c7nhc3a93x648yf8pq5js81zr97fnfiahg2hjbn999nbwg89800"))))
1313 (build-system haskell-build-system)
1314 (properties '((upstream-name . "bzlib-conduit")))
1315 (inputs (list ghc-bindings-dsl ghc-conduit ghc-data-default-class
1316 ghc-resourcet))
1317 (native-inputs (list ghc-hspec ghc-random))
1318 (home-page "https://github.com/snoyberg/bzlib-conduit#readme")
1319 (synopsis "Streaming compression/decompression via conduits")
1320 (description
1321 "This package provides Haskell bindings to bzlib and Conduit support for
1322streaming compression and decompression.")
1323 (license license:bsd-3)))
1324
1325(define-public ghc-c2hs
1326 (package
1327 (name "ghc-c2hs")
1328 (version "0.28.8")
1329 (source
1330 (origin
1331 (method url-fetch)
1332 (uri (hackage-uri "c2hs" version))
1333 (sha256
1334 (base32 "0k482wv94jbpwd96a2c2lc7qz9k8072slx7l7943472nzk7k41ir"))))
1335 (build-system haskell-build-system)
1336 (properties '((upstream-name . "c2hs")))
1337 (inputs (list ghc-language-c ghc-dlist))
1338 (native-inputs (list ghc-test-framework
1339 ghc-test-framework-hunit
1340 ghc-hunit
1341 ghc-shelly
1342 ghc-test-framework
1343 ghc-test-framework-hunit
1344 ghc-hunit
1345 ghc-shelly))
1346 (arguments
1347 `(#:cabal-revision
1348 ("3" "1f1jxkj89bms4hsqwl47hldixfdx96l66cs8zjlf8i6j7c9qiz3s")
1349 #:phases
1350 (modify-phases %standard-phases
1351 ;; The tarball on Hackage does not ship these tests. See
1352 ;; https://github.com/haskell/c2hs/issues/269
1353 (add-after 'unpack 'disable-tests
1354 (lambda _
1355 (substitute* "tests/test-bugs.hs"
1356 ((", testCase \"Issue #242\" issue242") ""))
1357 (substitute* "tests/test-system.hs"
1358 ((", testCase \"Interruptible\" test_interruptible") ""))))
1359 (add-before 'check 'set-cc
1360 ;; add a cc executable in the path, needed for some tests to pass
1361 (lambda* (#:key inputs #:allow-other-keys)
1362 (let ((gcc (assoc-ref inputs "gcc"))
1363 (tmpbin (tmpnam))
1364 (curpath (getenv "PATH")))
1365 (mkdir-p tmpbin)
1366 (symlink (which "gcc") (string-append tmpbin "/cc"))
1367 (setenv "PATH" (string-append tmpbin ":" curpath)))
1368 #t))
1369 (add-after 'check 'remove-cc
1370 ;; clean the tmp dir made in 'set-cc
1371 (lambda _
1372 (let* ((cc-path (which "cc"))
1373 (cc-dir (dirname cc-path)))
1374 (delete-file-recursively cc-dir)
1375 #t))))))
1376 (home-page "https://github.com/haskell/c2hs")
1377 (synopsis "Create Haskell bindings to C libraries")
1378 (description
1379 "C->Haskell assists in the development of Haskell bindings to
1380C libraries. It extracts interface information from C header files and
1381generates Haskell code with foreign imports and marshaling. Unlike writing
1382foreign imports by hand (or using hsc2hs), this ensures that C functions are
1383imported with the correct Haskell types.")
1384 (license license:gpl2)))
1385
1386(define-public ghc-cairo
1387 (package
1388 (name "ghc-cairo")
1389 (version "0.13.12.0")
1390 (source
1391 (origin
1392 (method url-fetch)
1393 (uri (hackage-uri "cairo" version))
1394 (sha256
1395 (base32 "1d3ba8gz72f8dz3m5c2i6y85b3vf7405m16al7ms7k9qjy1wcpby"))))
1396 (build-system haskell-build-system)
1397 (properties '((upstream-name . "cairo")))
1398 (inputs (list ghc-utf8-string cairo))
1399 (native-inputs (list ghc-gtk2hs-buildtools pkg-config))
1400 (home-page "https://projects.haskell.org/gtk2hs/")
1401 (synopsis "Haskell bindings to the Cairo vector graphics library")
1402 (description
1403 "Cairo is a library to render high quality vector graphics. There exist
1404various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1405documents, amongst others.")
1406 (license license:bsd-3)))
1407
1408(define-public ghc-call-stack
1409 (package
1410 (name "ghc-call-stack")
1411 (version "0.4.0")
1412 (source
1413 (origin
1414 (method url-fetch)
1415 (uri (hackage-uri "call-stack" version))
1416 (sha256
1417 (base32 "0yxq6v37kcmgv6rrna4g1ipr8mhkgf00ng2p359ybxq46j5cy2s3"))))
1418 (build-system haskell-build-system)
1419 (properties '((upstream-name . "call-stack")))
1420 (arguments
1421 (list
1422 #:phases
1423 #~(modify-phases %standard-phases
1424 ;; Tests fail because they assume that they are not in any package,
1425 ;; but when running them with Cabal theu are in a package.
1426 ;; This is fixed by running the tests by hand, bypassing Cabal.
1427 (replace 'check
1428 (lambda _
1429 (invoke "runhaskell"
1430 (string-append "-package-db=" (or (getenv "TMP") "/tmp")
1431 "/package.conf.d")
1432 "-itest:src" "-package=nanospec" "test/Spec.hs"))))))
1433 (native-inputs (list ghc-nanospec-bootstrap))
1434 (home-page "https://github.com/sol/call-stack#readme")
1435 (synopsis "Use GHC call-stacks in a backward compatible way")
1436 (description "This package provides a compatibility layer for using GHC
1437call stacks with different versions of the compiler.")
1438 (license license:expat)))
1439
1440;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1441;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1442(define-public ghc-call-stack-boot
1443 (hidden-package
1444 (package
1445 (inherit ghc-call-stack)
1446 (arguments '(#:tests? #f))
1447 (native-inputs '()))))
1448
1449(define-public ghc-case-insensitive
1450 (package
1451 (name "ghc-case-insensitive")
1452 (version "1.2.1.0")
1453 (source
1454 (origin
1455 (method url-fetch)
1456 (uri (hackage-uri "case-insensitive" version))
1457 (sha256
1458 (base32 "01p40hfjyldfds5jg6vlvvn3ihs4ki63xn6fh8yzngaz1izc2v99"))))
1459 (build-system haskell-build-system)
1460 (properties '((upstream-name . "case-insensitive")))
1461 (inputs (list ghc-hashable))
1462 (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
1463 (home-page "https://github.com/basvandijk/case-insensitive")
1464 (synopsis "Case insensitive string comparison")
1465 (description
1466 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1467constructor which can be parameterised by a string-like type like:
1468@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1469the resulting type will be insensitive to cases.")
1470 (license license:bsd-3)))
1471
1472(define-public ghc-cassava
1473 (package
1474 (name "ghc-cassava")
1475 (version "0.5.4.1")
1476 (source
1477 (origin
1478 (method url-fetch)
1479 (uri (hackage-uri "cassava" version))
1480 (sha256
1481 (base32 "0ps9b8lgc1ah186rlxsy8hdnwkfh60i351105309jykk63skc1nl"))))
1482 (build-system haskell-build-system)
1483 (properties '((upstream-name . "cassava")))
1484 (inputs (list ghc-attoparsec
1485 ghc-hashable
1486 ghc-scientific
1487 ghc-text-short
1488 ghc-unordered-containers
1489 ghc-vector
1490 ghc-only))
1491 (native-inputs (list ghc-hunit
1492 ghc-quickcheck
1493 ghc-quickcheck-instances
1494 ghc-test-framework
1495 ghc-test-framework-hunit
1496 ghc-test-framework-quickcheck2))
1497 (home-page "https://github.com/haskell-hvr/cassava")
1498 (synopsis "CSV parsing and encoding library")
1499 (description
1500 "@code{cassava} is a library for parsing and encoding
1501@url{https://tools.ietf.org/html/rfc4180, RFC 4180} compliant @url{https://
1502en.wikipedia.org/wiki/Comma-separated_values, comma-separated values (CSV)}
1503data, which is a textual line-oriented format commonly used for exchanging
1504tabular data.
1505
1506@code{cassava}'s API includes support for:
1507
1508@itemize @bullet
1509
1510@item
1511Index-based record-conversion
1512@item
1513Name-based record-conversion
1514@item
1515Typeclass directed conversion of fields and records
1516@item
1517Built-in field-conversion instances for standard types
1518@item
1519Customizable record-conversion instance derivation via GHC generics
1520@item
1521Low-level @url{https://hackage.haskell.org/package/bytestring), bytestring}
1522builders (see @url{https://hackage.haskell.org/package/cassava-0.5.2.0/docs/
1523Data-Csv-Builder.html, Data.Csv.Builder})
1524@item
1525Incremental decoding and encoding API (see @url{https://hackage.haskell.org/
1526package/cassava-0.5.2.0/docs/Data-Csv-Incremental.html, Data.Csv.Incremental})
1527@item
1528Streaming API for constant-space decoding (see @url{https://hackage.haskell.org/
1529package/cassava-0.5.2.0/docs/Data-Csv-Streaming.html, Data.Csv.Streaming})
1530@end itemize
1531
1532Moreover, this library is designed to be easy to use; for instance, here's a
1533very simple example of encoding CSV data:
1534
1535@verbatim
1536>>> Data.Csv.encode [(\"John\",27),(\"Jane\",28)]
1537\"John,27\\r\\nJane,28\\r\\n\"
1538@end verbatim
1539")
1540 (license license:bsd-3)))
1541
1542(define-public ghc-cassava-megaparsec
1543 (package
1544 (name "ghc-cassava-megaparsec")
1545 (version "2.1.1")
1546 (source
1547 (origin
1548 (method url-fetch)
1549 (uri (hackage-uri "cassava-megaparsec" version))
1550 (sha256
1551 (base32 "11p7cdxmb3s21g3cmzs8gj5ydfml4yzm55xzq92v2pb76wrrcca6"))))
1552 (build-system haskell-build-system)
1553 (properties '((upstream-name . "cassava-megaparsec")))
1554 (inputs (list ghc-cassava ghc-megaparsec ghc-unordered-containers
1555 ghc-vector))
1556 (native-inputs (list ghc-hspec ghc-hspec-megaparsec))
1557 (home-page "https://github.com/stackbuilders/cassava-megaparsec")
1558 (synopsis "Megaparsec parser for CSV files that plays nicely with Cassava")
1559 (description
1560 "Alternative parser for the Cassava package written with Megaparsec that
1561provides for better error messages at the expense of some speed.")
1562 (license license:expat)))
1563
1564(define-public ghc-cborg
1565 (package
1566 (name "ghc-cborg")
1567 (version "0.2.10.0")
1568 (source
1569 (origin
1570 (method url-fetch)
1571 (uri (hackage-uri "cborg" version))
1572 (sha256
1573 (base32 "15y7p5rsv76fpklh4rgrxlxxaivpbchxdfdw96mqqjgw7060gzhp"))))
1574 (build-system haskell-build-system)
1575 (properties '((upstream-name . "cborg")))
1576 (inputs (list ghc-half ghc-primitive))
1577 (native-inputs (list ghc-base-orphans
1578 ghc-aeson
1579 ghc-base64-bytestring
1580 ghc-base16-bytestring
1581 ghc-quickcheck
1582 ghc-random
1583 ghc-scientific
1584 ghc-tasty
1585 ghc-tasty-hunit
1586 ghc-tasty-quickcheck
1587 ghc-vector))
1588 (arguments
1589 `(#:cabal-revision ("3"
1590 "1ahqlq51kjc8cf5sybbmrh4rf6vsbkcd67rhxhrr9rc5w6nl9h27")))
1591 (home-page "http://hackage.haskell.org/package/cborg")
1592 (synopsis "Concise Binary Object Representation")
1593 (description
1594 "This package (formerly binary-serialise-cbor) provides an
1595efficient implementation of the Concise Binary Object
1596Representation (CBOR), as specified by RFC 7049 at
1597https://tools.ietf.org/html/rfc7049.
1598
1599If you are looking for a library for serialisation of Haskell values, have a
1600look at the @url{https://hackage.haskell.org/package/serialise} package, which
1601is built upon this library.
1602
1603An implementation of the standard bijection between CBOR and JSON is provided
1604by the @url{https://hackage.haskell.org/package/cborg-json} package.
1605
1606Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1607command-line utility for working with CBOR data.")
1608 (license license:bsd-3)))
1609
1610(define-public ghc-cborg-json
1611 (package
1612 (name "ghc-cborg-json")
1613 (version "0.2.6.0")
1614 (source
1615 (origin
1616 (method url-fetch)
1617 (uri (hackage-uri "cborg-json" version))
1618 (sha256
1619 (base32 "1p6xdimwypmlsc0zdyw1vyyapnhwn2g8b9n0a83ca6h4r90722yv"))))
1620 (build-system haskell-build-system)
1621 (properties '((upstream-name . "cborg-json")))
1622 (inputs (list ghc-aeson
1623 ghc-aeson-pretty
1624 ghc-base64-bytestring
1625 ghc-unordered-containers
1626 ghc-scientific
1627 ghc-vector
1628 ghc-cborg))
1629 (native-inputs (list ghc-base-orphans ghc-base16-bytestring ghc-quickcheck
1630 ghc-tasty ghc-tasty-hunit))
1631 (arguments
1632 `(#:cabal-revision ("4"
1633 "06pjqx8v7j8f6rvkf84vahva8y02lykaymnjdrjqrc5rgy01c6m0")))
1634 (home-page "https://github.com/well-typed/cborg")
1635 (synopsis "Library for encoding JSON as CBOR")
1636 (description "This package implements the bijection between JSON and CBOR
1637defined in the CBOR specification, RFC 7049.")
1638 (license license:bsd-3)))
1639
1640(define-public ghc-cereal
1641 (package
1642 (name "ghc-cereal")
1643 (version "0.5.8.3")
1644 (source
1645 (origin
1646 (method url-fetch)
1647 (uri (hackage-uri "cereal" version))
1648 (sha256
1649 (base32 "0shg3q933cvf18j1gmxill48d4sl4mvxj2qkj6yya9hvcqh5544r"))))
1650 (build-system haskell-build-system)
1651 (properties '((upstream-name . "cereal")))
1652 (native-inputs (list ghc-quickcheck ghc-test-framework
1653 ghc-test-framework-quickcheck2))
1654 (home-page "https://github.com/GaloisInc/cereal")
1655 (synopsis "Binary serialization library")
1656 (description
1657 "This package provides a binary serialization library,
1658similar to @code{binary}, that introduces an @code{isolate} primitive for
1659parser isolation, and labeled blocks for better error messages.")
1660 (license license:bsd-3)))
1661
1662(define-public ghc-cereal-conduit
1663 (package
1664 (name "ghc-cereal-conduit")
1665 (version "0.8.0")
1666 (source
1667 (origin
1668 (method url-fetch)
1669 (uri (hackage-uri "cereal-conduit" version))
1670 (sha256
1671 (base32 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1672 (build-system haskell-build-system)
1673 (properties '((upstream-name . "cereal-conduit")))
1674 (inputs (list ghc-conduit ghc-resourcet ghc-cereal))
1675 (native-inputs (list ghc-hunit))
1676 (arguments
1677 `(#:cabal-revision ("2"
1678 "1w26az4pj699qbpa9pz55g4svkbs92ls5k6wkzjn40ghisnjk2q6")))
1679 (home-page "https://github.com/snoyberg/conduit")
1680 (synopsis
1681 "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1682 (description
1683 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1684@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1685 (license license:bsd-3)))
1686
1687;; XXX: bytestring <0.11, time >=1.5 && <1.10
1688(define-public ghc-cgi
1689 (package
1690 (name "ghc-cgi")
1691 (version "3001.5.1.0")
1692 (source
1693 (origin
1694 (method url-fetch)
1695 (uri (hackage-uri "cgi" version))
1696 (sha256
1697 (base32 "0n7a1vfja26340xfg4ni5zrcwqcc1wmpsxmyksyhri99kb6g9rm0"))))
1698 (build-system haskell-build-system)
1699 (properties '((upstream-name . "cgi")))
1700 (inputs (list ghc-multipart ghc-network-uri))
1701 (home-page "https://github.com/cheecheeo/haskell-cgi")
1702 (synopsis "Library for writing CGI programs")
1703 (description "This is a Haskell library for writing CGI programs.")
1704 (license license:bsd-3)))
1705
1706(define-public ghc-character-ps
1707 (package
1708 (name "ghc-character-ps")
1709 (version "0.1")
1710 (source
1711 (origin
1712 (method url-fetch)
1713 (uri (hackage-uri "character-ps" version))
1714 (sha256
1715 (base32 "172jq74b9cs7yyyng1h2yjs1ypg7w6sk5a38j4z6s8wbwgyp3pi2"))))
1716 (build-system haskell-build-system)
1717 (properties '((upstream-name . "character-ps")))
1718 (home-page "https://github.com/phadej/character-ps")
1719 (synopsis "Pattern synonyms for ASCII characters for Word8, Word16 etc")
1720 (description
1721 "Pattern synonyms for ASCII characters, e.g. . @@ pattern SPACE :: Word8 pattern
1722SPACE = 0x20 @@.")
1723 (license license:bsd-3)))
1724
1725(define-public ghc-charset
1726 (package
1727 (name "ghc-charset")
1728 (version "0.3.12")
1729 (source
1730 (origin
1731 (method url-fetch)
1732 (uri (hackage-uri "charset" version))
1733 (sha256
1734 (base32 "0bbjrbgqdxiz47c0g5am6xh4lk3llbyiiqcz162md7df8kacds0w"))))
1735 (build-system haskell-build-system)
1736 (properties '((upstream-name . "charset")))
1737 (inputs (list ghc-unordered-containers))
1738 (home-page "http://github.com/ekmett/charset")
1739 (synopsis "Fast unicode character sets for Haskell")
1740 (description "This package provides fast unicode character sets for
1741Haskell, based on complemented PATRICIA tries.")
1742 (license license:bsd-3)))
1743
1744(define-public ghc-chart
1745 (package
1746 (name "ghc-chart")
1747 (version "1.9.5")
1748 (source
1749 (origin
1750 (method url-fetch)
1751 (uri (hackage-uri "Chart" version))
1752 (sha256
1753 (base32 "0nyzdag9p56vknrphdnqjsf19fmw9abs81avdm2vjgh9cnw2y7hc"))))
1754 (build-system haskell-build-system)
1755 (properties '((upstream-name . "Chart")))
1756 (inputs (list ghc-old-locale
1757 ghc-lens
1758 ghc-colour
1759 ghc-data-default-class
1760 ghc-operational
1761 ghc-vector))
1762 (arguments
1763 `(#:cabal-revision ("2"
1764 "1a9z8an5yhsqbawzahmg77g9l6jvavhxbk2v48k4j8fyr7sy544q")))
1765 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1766 (synopsis "Library for generating 2D charts and plots")
1767 (description
1768 "This package provides a library for generating 2D charts and plots, with
1769backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1770 (license license:bsd-3)))
1771
1772(define-public ghc-chart-cairo
1773 (package
1774 (name "ghc-chart-cairo")
1775 (version "1.9.4.1")
1776 (source
1777 (origin
1778 (method url-fetch)
1779 (uri (hackage-uri "Chart-cairo" version))
1780 (sha256
1781 (base32 "0x10l9y38bscx88n849k9ybn7axp4j9hlivc1jv9wwvv4gqw5jr7"))))
1782 (build-system haskell-build-system)
1783 (properties '((upstream-name . "Chart-cairo")))
1784 (inputs (list ghc-old-locale
1785 ghc-cairo
1786 ghc-colour
1787 ghc-data-default-class
1788 ghc-operational
1789 ghc-lens
1790 ghc-chart))
1791 (arguments
1792 `(#:cabal-revision ("3"
1793 "0rl4var9s1521n6ryxp59kglfip2bw1svm3mx72ya8zc4yj3z5rb")))
1794 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1795 (synopsis "Cairo backend for Charts")
1796 (description "This package provides a Cairo vector graphics rendering
1797backend for the Charts library.")
1798 (license license:bsd-3)))
1799
1800(define-public ghc-chasingbottoms
1801 (package
1802 (name "ghc-chasingbottoms")
1803 (version "1.3.1.16")
1804 (source
1805 (origin
1806 (method url-fetch)
1807 (uri (hackage-uri "ChasingBottoms" version))
1808 (sha256
1809 (base32 "08zg018arf4qvp970dcnf0nyaqp7wkp5ba2dhck3v4l49k5cax9m"))))
1810 (build-system haskell-build-system)
1811 (properties '((upstream-name . "ChasingBottoms")))
1812 (inputs (list ghc-quickcheck ghc-random ghc-syb))
1813 (home-page "http://hackage.haskell.org/package/ChasingBottoms")
1814 (synopsis "Testing of partial and infinite values in Haskell")
1815 (description
1816 "This is a library for testing code involving bottoms or infinite values.
1817For the underlying theory and a larger example involving use of QuickCheck,
1818see the article
1819@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1820\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1821Partial and Infinite Values\"}.")
1822 (license license:expat)))
1823
1824(define-public ghc-cheapskate
1825 (package
1826 (name "ghc-cheapskate")
1827 (version "0.1.1.2")
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (hackage-uri "cheapskate" version))
1832 (sha256
1833 (base32
1834 "17n6laihqrjn62l8qw4565nf77zkvrl68bjmc3vzr4ckqfblhdzd"))))
1835 (build-system haskell-build-system)
1836 (properties '((upstream-name . "cheapskate")))
1837 (inputs
1838 (list ghc-blaze-html ghc-xss-sanitize ghc-data-default ghc-syb
1839 ghc-uniplate))
1840 (home-page "https://github.com/jgm/cheapskate")
1841 (synopsis "Experimental markdown processor")
1842 (description "Cheapskate is an experimental Markdown processor in pure
1843Haskell. It aims to process Markdown efficiently and in the most forgiving
1844possible way. It is designed to deal with any input, including garbage, with
1845linear performance. Output is sanitized by default for protection against
1846cross-site scripting (@dfn{XSS}) attacks.")
1847 (license license:bsd-3)))
1848
1849(define-public ghc-checkers
1850 (package
1851 (name "ghc-checkers")
1852 (version "0.6.0")
1853 (source
1854 (origin
1855 (method url-fetch)
1856 (uri (hackage-uri "checkers" version))
1857 (sha256
1858 (base32 "1r4rsa4k0fy8xig3m530ryflry9viv9v47g4gh7h0ld27rbd6z60"))))
1859 (build-system haskell-build-system)
1860 (properties '((upstream-name . "checkers")))
1861 (inputs (list ghc-random ghc-quickcheck ghc-semigroupoids))
1862 (arguments
1863 `(#:cabal-revision ("1"
1864 "0wkvf57zd7i87z18vj285whjpcl9pscpwxz2cp7v7w6kk0769p0i")))
1865 (home-page "https://github.com/haskell-checkers/checkers")
1866 (synopsis "Check properties on standard classes and data structures")
1867 (description
1868 "Checkers wraps up the expected properties associated with various
1869standard type classes as @code{QuickCheck} properties. It also provides some
1870morphism properties, arbitrary instances, and generator combinators for common
1871data types.")
1872 (license license:bsd-3)))
1873
1874(define-public ghc-chell
1875 (package
1876 (name "ghc-chell")
1877 (version "0.5.0.2")
1878 (source
1879 (origin
1880 (method url-fetch)
1881 (uri (hackage-uri "chell" version))
1882 (sha256
1883 (base32 "1iy1x5pn5y08zsl5f79vfxjm0asi2vy9hrags7jj9s8fh1dh7fxv"))))
1884 (build-system haskell-build-system)
1885 (properties '((upstream-name . "chell")))
1886 (inputs (list ghc-options ghc-patience ghc-random ghc-ansi-terminal))
1887 (arguments
1888 `(#:cabal-revision ("4"
1889 "13l0zrpighm50gcsjzj3x29f6m8i9av7c2q12cflqlkv74kl4y03")))
1890 (home-page "https://github.com/typeclasses/chell")
1891 (synopsis "Simple and intuitive library for automated testing")
1892 (description
1893 "Chell is a simple and intuitive library for automated testing.
1894It natively supports assertion-based testing, and can use companion
1895libraries such as @code{chell-quickcheck} to support more complex
1896testing strategies.")
1897 (license license:expat)))
1898
1899(define-public ghc-chell-quickcheck
1900 (package
1901 (name "ghc-chell-quickcheck")
1902 (version "0.2.5.4")
1903 (source
1904 (origin
1905 (method url-fetch)
1906 (uri (hackage-uri "chell-quickcheck" version))
1907 (sha256
1908 (base32
1909 "046cs6f65s9nrsac6782gw4n61dpgjgz7iv7p8ag6civywj32m4i"))))
1910 (build-system haskell-build-system)
1911 (properties '((upstream-name . "chell-quickcheck")))
1912 (arguments
1913 (list
1914 #:cabal-revision '("2" "05b1w5pc2d1ks3vnj4x2hvamk5gxvk3n8fj9kp963gbrn8n1bk6a")
1915 #:phases
1916 #~(modify-phases %standard-phases
1917 (add-after 'patch-cabal-file 'fix-build-with-quickcheck-2.15
1918 (lambda _
1919 (let ((patch #$(local-file
1920 (search-patch
1921 "ghc-chell-quickcheck-enable-qc-2.15.patch"))))
1922 (invoke "patch" "--force" "--no-backup-if-mismatch" "-p1"
1923 "--input" patch)))))))
1924 (inputs
1925 (list ghc-chell ghc-random ghc-quickcheck))
1926 (home-page "https://john-millikin.com/software/chell/")
1927 (synopsis "QuickCheck support for the Chell testing library")
1928 (description "More complex tests for @code{chell}.")
1929 (license license:expat)))
1930
1931(define-public ghc-chunked-data
1932 (package
1933 (name "ghc-chunked-data")
1934 (version "0.3.1")
1935 (source
1936 (origin
1937 (method url-fetch)
1938 (uri (hackage-uri "chunked-data" version))
1939 (sha256
1940 (base32 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1941 (build-system haskell-build-system)
1942 (properties '((upstream-name . "chunked-data")))
1943 (inputs (list ghc-semigroups ghc-vector))
1944 (home-page "https://github.com/snoyberg/mono-traversable#readme")
1945 (synopsis "Typeclasses for dealing with various chunked data
1946representations for Haskell")
1947 (description "This Haskell package was originally present in
1948classy-prelude.")
1949 (license license:expat)))
1950
1951(define-public ghc-clock
1952 (package
1953 (name "ghc-clock")
1954 (version "0.8.4")
1955 (source
1956 (origin
1957 (method url-fetch)
1958 (uri (hackage-uri "clock" version))
1959 (sha256
1960 (base32 "0bnzcx3qmcyvaywzgah9z9cqwbiwib8xbynm9hrmx2kqzs58ksba"))
1961 (patches (search-patches "ghc-clock-realfrag.patch"))))
1962 (build-system haskell-build-system)
1963 (properties '((upstream-name . "clock")))
1964 (native-inputs (list ghc-tasty ghc-tasty-quickcheck))
1965 (home-page "https://github.com/corsis/clock")
1966 (synopsis "High-resolution clock for Haskell")
1967 (description
1968 "A package for convenient access to high-resolution clock and
1969timer functions of different operating systems via a unified API.")
1970 (license license:bsd-3)))
1971
1972;; This package builds `clock` without tests, since the tests rely on tasty
1973;; and tasty-quickcheck, which in turn require clock to build.
1974(define-public ghc-clock-bootstrap
1975 (package
1976 (inherit ghc-clock)
1977 (name "ghc-clock-bootstrap")
1978 (arguments '(#:tests? #f))
1979 (native-inputs '())
1980 (properties '((hidden? #t)))))
1981
1982(define-public ghc-cmark
1983 (package
1984 (name "ghc-cmark")
1985 (version "0.6.1")
1986 (source
1987 (origin
1988 (method url-fetch)
1989 (uri (hackage-uri "cmark" version))
1990 (sha256
1991 (base32 "0ajwb2azv57q4240f76h9xqivkfi16vhi4g2sr4nasr4rmkns789"))))
1992 (build-system haskell-build-system)
1993 (properties '((upstream-name . "cmark")))
1994 (native-inputs (list ghc-hunit))
1995 (arguments
1996 `(#:cabal-revision ("1"
1997 "11c07f13fwn2cdcrary8bs1ym2hjqkm58l9pcdq8avi8dpayb52r")))
1998 (home-page "https://github.com/jgm/cmark-hs")
1999 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2000 (description
2001 "This package provides Haskell bindings for
2002@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2003CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2004sources, and does not require prior installation of the C library.")
2005 (license license:bsd-3)))
2006
2007(define-public ghc-cmark-gfm
2008 (package
2009 (name "ghc-cmark-gfm")
2010 (version "0.2.6")
2011 (source
2012 (origin
2013 (method url-fetch)
2014 (uri (hackage-uri "cmark-gfm" version))
2015 (sha256
2016 (base32 "0sd8q42j51ba7ymyxk5360mhvhbnirsd371d3sggl6sbslxzp34m"))))
2017 (build-system haskell-build-system)
2018 (properties '((upstream-name . "cmark-gfm")))
2019 (native-inputs (list ghc-hunit))
2020 (arguments
2021 `(#:cabal-revision ("1"
2022 "1385k2xvxy9ssw69g606vwnpm07sf919prciwvnaipsxiwwbjwl6")))
2023 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2024 (synopsis "Fast, accurate GitHub Flavored Markdown parser and renderer")
2025 (description
2026 "This package provides Haskell bindings for libcmark-gfm, the reference
2027parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2028It includes sources for libcmark-gfm and does not require prior installation
2029of the C library.")
2030 (license license:bsd-3)))
2031
2032(define-public ghc-cmdargs
2033 (package
2034 (name "ghc-cmdargs")
2035 (version "0.10.22")
2036 (source
2037 (origin
2038 (method url-fetch)
2039 (uri (hackage-uri "cmdargs" version))
2040 (sha256
2041 (base32 "1vwvdszal6clkvsqd1amcap8wy3cp19x8qmhgc1i7kwmhxzjxcdq"))))
2042 (build-system haskell-build-system)
2043 (properties '((upstream-name . "cmdargs")))
2044 (inputs (list ghc-semigroups))
2045 (home-page "https://github.com/ndmitchell/cmdargs#readme")
2046 (synopsis "Command line argument processing")
2047 (description
2048 "This library provides an easy way to define command line parsers.")
2049 (license license:bsd-3)))
2050
2051(define-public ghc-code-page
2052 (package
2053 (name "ghc-code-page")
2054 (version "0.2.1")
2055 (source
2056 (origin
2057 (method url-fetch)
2058 (uri (hackage-uri "code-page" version))
2059 (sha256
2060 (base32 "1aiavczjk6f2kc1cdwjc1mwkr4d9shiz3xwmfbzsdn0yqqchxydj"))))
2061 (build-system haskell-build-system)
2062 (properties '((upstream-name . "code-page")))
2063 (home-page "https://github.com/RyanGlScott/code-page")
2064 (synopsis "Windows code page library for Haskell")
2065 (description
2066 "A cross-platform library with functions for adjusting
2067code pages on Windows. On all other operating systems, the library does
2068nothing.")
2069 (license license:bsd-3)))
2070
2071(define-public ghc-choice
2072 (package
2073 (name "ghc-choice")
2074 (version "0.2.4.1")
2075 (source
2076 (origin
2077 (method url-fetch)
2078 (uri (hackage-uri "choice" version))
2079 (sha256
2080 (base32 "099c5ibal8llzr5nh62dnpb1pwj30gxqwdcjx0rds51ga2j32z5i"))))
2081 (build-system haskell-build-system)
2082 (properties '((upstream-name . "choice")))
2083 (home-page "https://github.com/mboes/choice")
2084 (synopsis "Provides a type to mitigate Boolean blindness")
2085 (description
2086 "Package providing a @code{Choice} type of labeled booleans to mitigate
2087the Boolean blindness problem, which refers to the problem that boolean literals
2088on their own aren't very informative (e.g., what does @code{True} mean in a
2089given context?).")
2090 (license license:bsd-3)))
2091
2092(define-public ghc-colour
2093 (package
2094 (name "ghc-colour")
2095 (version "2.3.6")
2096 (source
2097 (origin
2098 (method url-fetch)
2099 (uri (hackage-uri "colour" version))
2100 (sha256
2101 (base32 "0wgqj64mh2y2zk77kv59k3xb3dk4wmgfp988y74sp9a4d76mvlrc"))))
2102 (build-system haskell-build-system)
2103 (arguments
2104 ;; The tests for this package have the following dependency cycle:
2105 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour. Additionally,
2106 ;; the tests are not buildable with dependency versions in stackage
2107 `(#:tests? #f))
2108 (properties '((upstream-name . "colour")))
2109 (home-page "http://www.haskell.org/haskellwiki/Colour")
2110 (synopsis "Model for human colour perception")
2111 (description
2112 "This package provides a data type for colours and transparency.
2113Colours can be blended and composed. Various colour spaces are
2114supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2115 (license license:expat)))
2116
2117(define-public ghc-hscolour
2118 (package
2119 (name "ghc-hscolour")
2120 (version "1.25")
2121 (source
2122 (origin
2123 (method url-fetch)
2124 (uri (hackage-uri "hscolour" version))
2125 (sha256
2126 (base32 "0z679khnmb6as1zcdb44n9qjk7in32jpm4ldscpqg7jrapd31kjl"))))
2127 (build-system haskell-build-system)
2128 (properties '((upstream-name . "hscolour")))
2129 (home-page "http://code.haskell.org/~malcolm/hscolour/")
2130 (synopsis "Colourise Haskell code")
2131 (description
2132 "hscolour is a small Haskell script to colourise Haskell code. It currently has
2133six output formats: ANSI terminal codes (optionally XTerm-256colour codes), HTML
21343.2 with <font> tags, HTML 4.01 with CSS, HTML 4.01 with CSS and mouseover
2135annotations, XHTML 1.0 with inline CSS styling, LaTeX, and mIRC chat codes.")
2136 (license license:lgpl2.1)))
2137
2138(define-public ghc-comonad
2139 (package
2140 (name "ghc-comonad")
2141 (version "5.0.9")
2142 (source
2143 (origin
2144 (method url-fetch)
2145 (uri (hackage-uri "comonad" version))
2146 (sha256
2147 (base32 "12d7g3c2x1jb6jlmdgwdmi840z3p91b0l7fkfsdml1c0kas0xyv9"))))
2148 (build-system haskell-build-system)
2149 (properties '((upstream-name . "comonad")))
2150 (inputs (list ghc-tagged ghc-transformers-compat ghc-distributive
2151 ghc-indexed-traversable))
2152 (arguments
2153 `(#:cabal-revision ("1"
2154 "0ly3cy3p99zvizspassk0wjnw9bz0spc11s69s790g2qpxwyvbbm")))
2155 (home-page "http://github.com/ekmett/comonad/")
2156 (synopsis "Comonads for Haskell")
2157 (description "This library provides @code{Comonad}s for Haskell.")
2158 (license license:bsd-3)))
2159
2160(define-public ghc-concatenative
2161 (package
2162 (name "ghc-concatenative")
2163 (version "1.0.1")
2164 (source (origin
2165 (method url-fetch)
2166 (uri (hackage-uri "concatenative" version))
2167 (sha256
2168 (base32
2169 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2170 (build-system haskell-build-system)
2171 (properties '((upstream-name . "concatenative")))
2172 (home-page
2173 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2174 (synopsis "Library for postfix control flow")
2175 (description
2176 "Concatenative gives Haskell Factor-style combinators and arrows for
2177postfix notation. For more information on stack based languages, see
2178@uref{https://concatenative.org}.")
2179 (license license:bsd-3)))
2180
2181(define-public ghc-concurrent-output
2182 (package
2183 (name "ghc-concurrent-output")
2184 (version "1.10.21")
2185 (source
2186 (origin
2187 (method url-fetch)
2188 (uri (hackage-uri "concurrent-output" version))
2189 (sha256
2190 (base32 "04mmlfgamhki4fgi8cxjdqlmxif32d5dkrimzlwka0m18fpz682a"))))
2191 (build-system haskell-build-system)
2192 (properties '((upstream-name . "concurrent-output")))
2193 (inputs (list ghc-async ghc-ansi-terminal ghc-terminal-size))
2194 (home-page "http://hackage.haskell.org/package/concurrent-output")
2195 (synopsis "Ungarble output from several threads or commands")
2196 (description
2197 "Lets multiple threads and external processes concurrently output to the
2198console, without it getting all garbled up.
2199
2200Built on top of that is a way of defining multiple output regions, which are
2201automatically laid out on the screen and can be individually updated by
2202concurrent threads. Can be used for progress displays etc.")
2203 (license license:bsd-2)))
2204
2205(define-public ghc-conduit
2206 (package
2207 (name "ghc-conduit")
2208 (version "1.3.6.1")
2209 (source
2210 (origin
2211 (method url-fetch)
2212 (uri (hackage-uri "conduit" version))
2213 (sha256
2214 (base32 "0gxsahlfaqjkmr0a2bm5s1i3p5rnzqma8gd85yccpr577vq2m439"))))
2215 (build-system haskell-build-system)
2216 (properties '((upstream-name . "conduit")))
2217 (inputs (list ghc-resourcet ghc-primitive ghc-unliftio-core
2218 ghc-mono-traversable ghc-vector))
2219 (native-inputs (list ghc-hspec
2220 ghc-quickcheck
2221 ghc-safe
2222 ghc-split
2223 ghc-silently
2224 ghc-unliftio))
2225 (home-page "http://github.com/snoyberg/conduit")
2226 (synopsis "Streaming data library")
2227 (description
2228 "The conduit package is a solution to the streaming data problem,
2229allowing for production, transformation, and consumption of streams of data
2230in constant memory. It is an alternative to lazy I/O which guarantees
2231deterministic resource handling, and fits in the same general solution
2232space as enumerator/iteratee and pipes.")
2233 (license license:expat)))
2234
2235(define-public ghc-conduit-algorithms
2236 (package
2237 (name "ghc-conduit-algorithms")
2238 (version "0.0.14.0")
2239 (source
2240 (origin
2241 (method url-fetch)
2242 (uri (hackage-uri "conduit-algorithms" version))
2243 (sha256
2244 (base32 "1gjw7a1q6spvds53j5bvcxz906s8p3jn3phiq52bf42pfzf7yw4k"))))
2245 (build-system haskell-build-system)
2246 (properties '((upstream-name . "conduit-algorithms")))
2247 (inputs (list ghc-async
2248 ghc-bzlib-conduit
2249 ghc-conduit
2250 ghc-conduit-combinators
2251 ghc-conduit-extra
2252 ghc-conduit-zstd
2253 ghc-fingertree
2254 ghc-lzma
2255 ghc-monad-control
2256 ghc-resourcet
2257 ghc-stm-conduit
2258 ghc-streaming-commons
2259 ghc-unliftio-core
2260 ghc-vector))
2261 (native-inputs (list ghc-hunit
2262 ghc-quickcheck
2263 ghc-tasty
2264 ghc-tasty-hunit
2265 ghc-tasty-quickcheck
2266 ghc-tasty-th))
2267 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2268 (synopsis "Conduit-based algorithms")
2269 (description
2270 "This package provides algorithms on @code{Conduits}, including higher
2271level asynchronous processing and some other utilities.")
2272 (license license:expat)))
2273
2274(define-public ghc-conduit-combinators
2275 (package
2276 (name "ghc-conduit-combinators")
2277 (version "1.3.0")
2278 (source
2279 (origin
2280 (method url-fetch)
2281 (uri (hackage-uri "conduit-combinators" version))
2282 (sha256
2283 (base32 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2284 (build-system haskell-build-system)
2285 (properties '((upstream-name . "conduit-combinators")))
2286 (home-page "https://github.com/snoyberg/mono-traversable#readme")
2287 (synopsis "Commonly used conduit functions, for both chunked and
2288unchunked data")
2289 (description
2290 "This Haskell package provides a replacement for Data.Conduit.List,
2291as well as a convenient Conduit module.")
2292 (license license:expat)))
2293
2294(define-public ghc-conduit-extra
2295 (package
2296 (name "ghc-conduit-extra")
2297 (version "1.3.8")
2298 (source
2299 (origin
2300 (method url-fetch)
2301 (uri (hackage-uri "conduit-extra" version))
2302 (sha256
2303 (base32 "08l2728vyr3dppnj4z3yagi2265ixp8g8ayhz07x3x88jj73w7s9"))))
2304 (build-system haskell-build-system)
2305 (properties '((upstream-name . "conduit-extra")))
2306 (inputs (list ghc-conduit
2307 ghc-async
2308 ghc-attoparsec
2309 ghc-network
2310 ghc-primitive
2311 ghc-resourcet
2312 ghc-streaming-commons
2313 ghc-unliftio-core
2314 ghc-typed-process))
2315 (native-inputs (list ghc-hspec hspec-discover ghc-quickcheck ghc-transformers-base))
2316 (arguments
2317 `(#:cabal-revision ("1"
2318 "1fq0cs2fcn2kd1mvp9ygsp7rm5qridwp1wwnr60jmpahvihb4cp9")))
2319 (home-page "http://github.com/snoyberg/conduit")
2320 (synopsis "Conduit adapters for common libraries")
2321 (description
2322 "The @code{conduit} package itself maintains relative small dependencies.
2323The purpose of this package is to collect commonly used utility functions
2324wrapping other library dependencies, without depending on heavier-weight
2325dependencies. The basic idea is that this package should only depend on
2326@code{haskell-platform} packages and @code{conduit}.")
2327 (license license:expat)))
2328
2329(define-public ghc-conduit-zstd
2330 (package
2331 (name "ghc-conduit-zstd")
2332 (version "0.0.2.0")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (hackage-uri "conduit-zstd" version))
2337 (sha256
2338 (base32 "0f0ir4zs3skw33c8mfppxhfsyqh1c2cnc4gkf8bvv3bdiikdj1yl"))))
2339 (build-system haskell-build-system)
2340 (properties '((upstream-name . "conduit-zstd")))
2341 (inputs (list ghc-conduit ghc-zstd))
2342 (native-inputs (list ghc-conduit-combinators ghc-conduit-extra
2343 ghc-quickcheck-instances ghc-tasty
2344 ghc-tasty-quickcheck))
2345 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2346 (synopsis "Conduit-based ZStd Compression")
2347 (description
2348 "Zstandard compression packaged as a conduit. This is
2349a very thin wrapper around the
2350@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2351interface}.")
2352 (license license:expat)))
2353
2354(define-public ghc-config-ini
2355 (package
2356 (name "ghc-config-ini")
2357 (version "0.2.7.0")
2358 (source
2359 (origin
2360 (method url-fetch)
2361 (uri (hackage-uri "config-ini" version))
2362 (sha256
2363 (base32 "00b9b590566hrxrjn31jkq70768dnrzzsjrasrnhdvd6p92iq5rs"))))
2364 (build-system haskell-build-system)
2365 (properties '((upstream-name . "config-ini")))
2366 (inputs (list ghc-unordered-containers ghc-megaparsec))
2367 (native-inputs (list ghc-ini ghc-hedgehog ghc-doctest ghc-microlens))
2368 (arguments
2369 `(#:cabal-revision ("1"
2370 "1cjpz7q0lsxac1r011ik34fcsi4lsy634ayxyblzyszigvks7r9a")))
2371 (home-page "https://github.com/aisamanra/config-ini")
2372 (synopsis "Monadic Haskell DSL for parsing simple INI configuration files")
2373 (description
2374 "The @code{config-ini} Haskell library exports some simple monadic
2375functions to ease the parsing of @file{.ini}-style configuration files, and
2376to write and update them in an efficient @i{diff-minimal} way. This means that
2377if you parse a file, update a single field, and reserialize, that file should
2378differ only in the field we changed and @emph{that's it}: field order, comments,
2379and incidental whitespace will remain unchanged. The library aims to produce
2380human-readable error messages when things go wrong.")
2381 (license license:bsd-3)))
2382
2383(define-public ghc-config-schema
2384 (package
2385 (name "ghc-config-schema")
2386 (version "1.3.0.0")
2387 (source
2388 (origin
2389 (method url-fetch)
2390 (uri (hackage-uri "config-schema" version))
2391 (sha256
2392 (base32 "1j5br9y4s51ajxyg4aldibywqhf4qrxhrypac8jgca2irxdwb29w"))))
2393 (build-system haskell-build-system)
2394 (arguments
2395 `(#:cabal-revision ("7"
2396 "19yg0k7cixxfhwxfdyy6js7rgfiy8ag8n8n3wlbkcsacl3r4jwca")))
2397 (inputs
2398 (list ghc-config-value
2399 ghc-free
2400 ghc-kan-extensions
2401 ghc-semigroupoids))
2402 (properties '((upstream-name . "config-schema")))
2403 (home-page "https://github.com/glguy/config-schema")
2404 (synopsis "Schema definitions for the config-value package")
2405 (description
2406 "This package makes it possible to define schemas for use when loading
2407configuration files using the config-value format. These schemas can be used to
2408process a configuration file into a Haskell value or to automatically generate
2409documentation for the file format.")
2410 (license license:isc)))
2411
2412(define-public ghc-config-value
2413 (package
2414 (name "ghc-config-value")
2415 (version "0.8.3")
2416 (source
2417 (origin
2418 (method url-fetch)
2419 (uri (hackage-uri "config-value" version))
2420 (sha256
2421 (base32 "0pkcwxg91wali7986k03d7q940hb078hlsxfknqhkp2spr3d1f3w"))))
2422 (build-system haskell-build-system)
2423 (native-inputs (list ghc-alex ghc-happy))
2424 (properties '((upstream-name . "config-value")))
2425 (arguments
2426 `(#:cabal-revision ("9"
2427 "082fxqjf40fn14m6w5j0pq21qbl89l6yflxpy9wcna2nmv9rc3sk")))
2428 (home-page "https://github.com/glguy/config-value")
2429 (synopsis "Simple, layout-based value language similar to YAML or JSON")
2430 (description
2431 "This package implements a language similar to YAML or JSON but with fewer
2432special cases and fewer dependencies. It emphasizes layout structure for
2433sections and lists, and requires quotes around strings.")
2434 (license license:expat)))
2435
2436(define-public ghc-configurator
2437 (package
2438 (name "ghc-configurator")
2439 (version "0.3.0.0")
2440 (source
2441 (origin
2442 (method url-fetch)
2443 (uri (hackage-uri "configurator" version))
2444 (sha256
2445 (base32 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2446 (build-system haskell-build-system)
2447 (properties '((upstream-name . "configurator")))
2448 (inputs (list ghc-attoparsec ghc-hashable ghc-unix-compat
2449 ghc-unordered-containers))
2450 (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
2451 (home-page "http://github.com/bos/configurator")
2452 (synopsis "Configuration management")
2453 (description
2454 "This package provides a configuration management library for programs
2455and daemons. The features include:
2456
2457@enumerate
2458@item Automatic, dynamic reloading in response to modifications to
2459 configuration files.
2460@item A simple, but flexible, configuration language, supporting several of
2461 the most commonly needed types of data, along with interpolation of strings
2462 from the configuration or the system environment (e.g. @code{$(HOME)}).
2463@item Subscription-based notification of changes to configuration properties.
2464@item An @code{import} directive allows the configuration of a complex
2465 application to be split across several smaller files, or common configuration
2466 data to be shared across several applications.
2467@end enumerate
2468")
2469 (license license:bsd-3)))
2470
2471(define-public ghc-constraints
2472 (package
2473 (name "ghc-constraints")
2474 (version "0.14.2")
2475 (source
2476 (origin
2477 (method url-fetch)
2478 (uri (hackage-uri "constraints" version))
2479 (sha256
2480 (base32 "1y0rzl41wwkr3gqzf3ymf0mns86qkafamqindvcfq1qqbn09y92g"))))
2481 (build-system haskell-build-system)
2482 (properties '((upstream-name . "constraints")))
2483 (inputs (list ghc-boring ghc-hashable))
2484 (native-inputs (list ghc-hspec hspec-discover))
2485 (arguments
2486 `(#:cabal-revision ("1"
2487 "1rx81r735ih046j4afgqlbmqlsf3zk2c5d8k9mj3gndasplm66iq")))
2488 (home-page "http://github.com/ekmett/constraints/")
2489 (synopsis "Constraint manipulation")
2490 (description
2491 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2492They stopped crashing the compiler in GHC 7.6. This package provides
2493a vocabulary for working with them.")
2494 (license license:bsd-2)))
2495
2496(define-public ghc-constraints-extras
2497 (package
2498 (name "ghc-constraints-extras")
2499 (version "0.4.0.2")
2500 (source
2501 (origin
2502 (method url-fetch)
2503 (uri (hackage-uri "constraints-extras" version))
2504 (sha256
2505 (base32 "0b28rc1wb2c231za7w7j90s6m8bdxgidhxhia0bfpfpi4lkdnzyc"))))
2506 (build-system haskell-build-system)
2507 (properties '((upstream-name . "constraints-extras")))
2508 (inputs (list ghc-constraints ghc-aeson))
2509 (home-page "https://github.com/obsidiansystems/constraints-extras")
2510 (synopsis "Utility package for constraints")
2511 (description
2512 "Convenience functions and TH for working with constraints. See
2513@file{README.md} for example usage.")
2514 (license license:bsd-3)))
2515
2516(define-public ghc-contravariant
2517 (package
2518 (name "ghc-contravariant")
2519 (version "1.5.5")
2520 (source
2521 (origin
2522 (method url-fetch)
2523 (uri (hackage-uri "contravariant" version))
2524 (sha256
2525 (base32 "1ynz89vfn7czxpa203zmdqknkvpylzzl9rlkpasx1anph1jxcbq6"))))
2526 (build-system haskell-build-system)
2527 (properties '((upstream-name . "contravariant")))
2528 (inputs (list ghc-statevar))
2529 (home-page "http://github.com/ekmett/contravariant/")
2530 (synopsis "Contravariant functors")
2531 (description "Contravariant functors for Haskell.")
2532 (license license:bsd-3)))
2533
2534(define-public ghc-contravariant-extras
2535 (package
2536 (name "ghc-contravariant-extras")
2537 (version "0.3.5.4")
2538 (source
2539 (origin
2540 (method url-fetch)
2541 (uri (hackage-uri "contravariant-extras" version))
2542 (sha256
2543 (base32 "13i9cip0qb8piib2sfq35qvb978npra2w53zvc28fxxnik9icfig"))))
2544 (build-system haskell-build-system)
2545 (properties '((upstream-name . "contravariant-extras")))
2546 (inputs (list ghc-contravariant ghc-template-haskell-compat-v0208))
2547 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2548 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2549 (description "This Haskell package provides extras for the
2550@code{ghc-contravariant} package.")
2551 (license license:expat)))
2552
2553(define-public ghc-control-monad-free
2554 (package
2555 (name "ghc-control-monad-free")
2556 (version "0.6.2")
2557 (source
2558 (origin
2559 (method url-fetch)
2560 (uri (hackage-uri "control-monad-free" version))
2561 (sha256
2562 (base32 "1habgf7byffqf1rqjkzpihvdhclaafgqsqpfpwp3fgpj5ayk1j33"))))
2563 (build-system haskell-build-system)
2564 (properties '((upstream-name . "control-monad-free")))
2565 (home-page "http://github.com/pepeiborra/control-monad-free")
2566 (synopsis "Free monads and monad transformers")
2567 (description
2568 "This package provides datatypes to construct Free monads, Free monad
2569transformers, and useful instances. In addition it provides the constructs to
2570avoid quadratic complexity of left associative bind, as explained in:
2571
2572@itemize @bullet
2573@item
2574Janis Voigtlander, @cite{Asymptotic Improvement of Computations over
2575Free Monads, MPC'08}
2576@end itemize")
2577 (license license:public-domain)))
2578
2579(define-public ghc-convertible
2580 (package
2581 (name "ghc-convertible")
2582 (version "1.1.1.1")
2583 (source
2584 (origin
2585 (method url-fetch)
2586 (uri (hackage-uri "convertible" version))
2587 (sha256
2588 (base32 "1vwc6h1z88xkw4bq3js8x9x86jnk3amdskyksca77p0kwiqbs7lr"))))
2589 (build-system haskell-build-system)
2590 (properties '((upstream-name . "convertible")))
2591 (inputs (list ghc-old-time))
2592 (native-inputs (list ghc-quickcheck))
2593 (home-page "http://hackage.haskell.org/package/convertible")
2594 (synopsis "Typeclasses and instances for converting between types")
2595 (description
2596 "This package provides a typeclass with a single function that is
2597designed to help convert between different types: numeric values, dates and
2598times, and the like. The conversions perform bounds checking and return a
2599pure @code{Either} value. This means that you need not remember which specific
2600function performs the conversion you desire.")
2601 (license license:bsd-3)))
2602
2603(define-public ghc-csv
2604 (package
2605 (name "ghc-csv")
2606 (version "0.1.2")
2607 (source
2608 (origin
2609 (method url-fetch)
2610 (uri (hackage-uri "csv" version))
2611 (sha256
2612 (base32 "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c"))))
2613 (build-system haskell-build-system)
2614 (properties '((upstream-name . "csv")))
2615 (arguments
2616 (list
2617 #:phases
2618 #~(modify-phases %standard-phases
2619 ;; The package includes an old Setup.hs script that no longer works
2620 ;; with modern Cabal versions
2621 (add-before 'generate-setuphs 'remove-setup.hs
2622 (lambda _
2623 (delete-file "Setup.hs"))))))
2624 (home-page "http://hackage.haskell.org/package/csv")
2625 (synopsis "CSV loader and dumper")
2626 (description
2627 "This library parses and dumps documents that are formatted according to
2628RFC 4180, @cite{The common Format and MIME Type for Comma-Separated
2629Values (CSV) Files}. This format is used, among many other things, as a
2630lingua franca for spreadsheets, and for certain web services.")
2631 (license license:expat)))
2632
2633(define-public ghc-data-accessor
2634 (package
2635 (name "ghc-data-accessor")
2636 (version "0.2.3.1")
2637 (source
2638 (origin
2639 (method url-fetch)
2640 (uri (hackage-uri "data-accessor" version))
2641 (sha256
2642 (base32 "14ap1lxizxkgphl4kg8lr3ny9lblx1k6hm8i9nm7l43yla8cg8q6"))))
2643 (build-system haskell-build-system)
2644 (properties '((upstream-name . "data-accessor")))
2645 (arguments
2646 `(#:cabal-revision ("2"
2647 "0qzccxgxfiyas435z14k8mkxz10fpyj0vrl856hiw0inv228cn9z")))
2648 (home-page "http://www.haskell.org/haskellwiki/Record_access")
2649 (synopsis
2650 "Haskell utilities for accessing and manipulating fields of records")
2651 (description "This package provides Haskell modules for accessing and
2652manipulating fields of records.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-data-accessor-transformers
2656 (package
2657 (name "ghc-data-accessor-transformers")
2658 (version "0.2.1.8")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (hackage-uri "data-accessor-transformers" version))
2663 (sha256
2664 (base32 "1m18bdhddi4l7ijd1mighjbjdw5qkznsgrqb8532cv9al55r9y83"))))
2665 (build-system haskell-build-system)
2666 (properties '((upstream-name . "data-accessor-transformers")))
2667 (inputs (list ghc-data-accessor))
2668 (home-page "http://www.haskell.org/haskellwiki/Record_access")
2669 (synopsis "Use Accessor to access state in transformers State monad")
2670 (description "This package provides Haskell modules to allow use of
2671Accessor to access state in transformers State monad.")
2672 (license license:bsd-3)))
2673
2674(define-public ghc-data-clist
2675 (package
2676 (name "ghc-data-clist")
2677 (version "0.2")
2678 (source
2679 (origin
2680 (method url-fetch)
2681 (uri (hackage-uri "data-clist" version))
2682 (sha256
2683 (base32 "04mj0d1yp0l27v2my51w9q5zpdrdhp29fdyvmwqgxxp8f6yiwfhw"))))
2684 (build-system haskell-build-system)
2685 (properties '((upstream-name . "data-clist")))
2686 (native-inputs (list ghc-quickcheck))
2687 (arguments
2688 (list
2689 #:cabal-revision '("1"
2690 "09922p8ydfgqsy29p9qfiss70bks85bzz6g9s3gzrd93lpzhiba7")
2691 #:phases
2692 #~(modify-phases %standard-phases
2693 (add-before 'configure 'relax-dependency-contraints
2694 (lambda _
2695 (substitute* "data-clist.cabal"
2696 (("QuickCheck [0-9 .&|<>=*]*") "QuickCheck")))))))
2697 (home-page "https://github.com/sw17ch/data-clist")
2698 (synopsis "Simple, functional, bidirectional circular list type")
2699 (description
2700 "This Haskell library provides a simple purely functional circular list,
2701or ring, data type: a circular data structure such that if you continue rotating
2702the ring in either direction, you'll eventually return to the element you first
2703observed.")
2704 (license license:bsd-3)))
2705
2706(define-public ghc-data-default
2707 (package
2708 (name "ghc-data-default")
2709 (version "0.8.0.1")
2710 (source
2711 (origin
2712 (method url-fetch)
2713 (uri (hackage-uri "data-default" version))
2714 (sha256
2715 (base32 "1jmn83y7ss7896xvykpxxp4kfmvxa65avw0asg0z15i1xkl5s26f"))))
2716 (build-system haskell-build-system)
2717 (properties '((upstream-name . "data-default")))
2718 (home-page "http://hackage.haskell.org/package/data-default")
2719 (synopsis "Types with default values")
2720 (description
2721 "This package defines a class for types with a default value, and
2722provides instances for types from the base, containers, dlist and old-locale
2723packages.")
2724 (license license:bsd-3)))
2725
2726(define-public ghc-data-default-class
2727 (package
2728 (name "ghc-data-default-class")
2729 (version "0.2.0.0")
2730 (source
2731 (origin
2732 (method url-fetch)
2733 (uri (hackage-uri "data-default-class" version))
2734 (sha256
2735 (base32 "1d6m12yv5vjciwbig484jrv9qpy7v762k51rpalcimhbzg231r8a"))))
2736 (build-system haskell-build-system)
2737 (properties '((upstream-name . "data-default-class")))
2738 (inputs (list ghc-data-default))
2739 (home-page "http://hackage.haskell.org/package/data-default-class")
2740 (synopsis "Types with default values")
2741 (description "This package defines a class for types with default values.")
2742 (license license:bsd-3)))
2743
2744(define-public ghc-data-fix
2745 (package
2746 (name "ghc-data-fix")
2747 (version "0.3.4")
2748 (source
2749 (origin
2750 (method url-fetch)
2751 (uri (hackage-uri "data-fix" version))
2752 (sha256
2753 (base32 "0dxb2s2bxdl4fcd0kfybprz9kwsskdwshdh543lvjyh4ik8m5w4d"))))
2754 (build-system haskell-build-system)
2755 (properties '((upstream-name . "data-fix")))
2756 (inputs (list ghc-hashable))
2757 (arguments
2758 `(#:cabal-revision ("1"
2759 "06r6054jfaqqf8yx21m86x5bzpnkjmqrbppyf3b7h26ad1hvwy7f")))
2760 (home-page "https://github.com/spell-music/data-fix")
2761 (synopsis "Fixpoint data types")
2762 (description
2763 "Fixpoint types and recursion schemes. If you define your AST as
2764fixpoint type, you get fold and unfold operations for free.
2765
2766Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2767 (license license:bsd-3)))
2768
2769(define-public ghc-data-hash
2770 (package
2771 (name "ghc-data-hash")
2772 (version "0.2.0.1")
2773 (source
2774 (origin
2775 (method url-fetch)
2776 (uri (hackage-uri "data-hash" version))
2777 (sha256
2778 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2779 (build-system haskell-build-system)
2780 (properties '((upstream-name . "data-hash")))
2781 (native-inputs (list ghc-quickcheck ghc-test-framework
2782 ghc-test-framework-quickcheck2))
2783 (home-page "http://hackage.haskell.org/package/data-hash")
2784 (synopsis "Combinators for building fast hashing functions")
2785 (description
2786 "This package provides combinators for building fast hashing functions.
2787It includes hashing functions for all basic Haskell98 types.")
2788 (license license:bsd-3)))
2789
2790(define-public ghc-data-ordlist
2791 (package
2792 (name "ghc-data-ordlist")
2793 (version "0.4.7.0")
2794 (source
2795 (origin
2796 (method url-fetch)
2797 (uri (hackage-uri "data-ordlist" version))
2798 (sha256
2799 (base32 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2800 (build-system haskell-build-system)
2801 (properties '((upstream-name . "data-ordlist")))
2802 (home-page "http://hackage.haskell.org/package/data-ordlist")
2803 (synopsis "Set and bag operations on ordered lists")
2804 (description
2805 "This module provides set and multiset operations on ordered lists.")
2806 (license license:bsd-3)))
2807
2808(define-public ghc-dbus
2809 (package
2810 (name "ghc-dbus")
2811 (version "1.4.1")
2812 (source
2813 (origin
2814 (method url-fetch)
2815 (uri (hackage-uri "dbus" version))
2816 (sha256
2817 (base32 "016xrx8gnvldpwgalpsxzvkwagavpzw9m7j65w5msskaxk474ln7"))))
2818 (build-system haskell-build-system)
2819 (properties '((upstream-name . "dbus")))
2820 (arguments (list #:tests? #f)) ; Network tests fail to connect.
2821 (inputs (list ghc-cereal
2822 ghc-conduit
2823 ghc-lens
2824 ghc-network
2825 ghc-random
2826 ghc-split
2827 ghc-th-lift
2828 ghc-vector
2829 ghc-xml-conduit
2830 ghc-xml-types))
2831 (native-inputs (list ;ghc-alex
2832 ghc-extra
2833 ghc-quickcheck
2834 ghc-resourcet
2835 ghc-tasty
2836 ghc-tasty-hunit
2837 ghc-tasty-quickcheck
2838 ghc-temporary))
2839 (home-page "https://github.com/rblaze/haskell-dbus#readme")
2840 (synopsis "Client library for the D-Bus IPC system")
2841 (description
2842 "D-Bus is a simple, message-based protocol for inter-process
2843communication, which allows applications to interact with other parts
2844of the machine and the user's session using remote procedure
2845calls. D-Bus is a essential part of the modern Linux desktop, where
2846it replaces earlier protocols such as CORBA and DCOP. This library
2847is an implementation of the D-Bus protocol in Haskell. It can be used
2848to add D-Bus support to Haskell applications, without the awkward
2849interfaces common to foreign bindings.")
2850 (license license:asl2.0)))
2851
2852(define-public ghc-decimal
2853 (package
2854 (name "ghc-decimal")
2855 (version "0.5.2")
2856 (source
2857 (origin
2858 (method url-fetch)
2859 (uri (hackage-uri "Decimal" version))
2860 (sha256
2861 (base32 "19w7i9f0lbiyzwa0v3bm95233vi7f1688f0xms6cnjsf88h04ym3"))))
2862 (build-system haskell-build-system)
2863 (properties '((upstream-name . "Decimal")))
2864 (native-inputs (list ghc-hunit ghc-quickcheck ghc-test-framework
2865 ghc-test-framework-quickcheck2
2866 ghc-test-framework-hunit))
2867 (home-page "https://github.com/PaulJohnson/Haskell-Decimal")
2868 (synopsis "Decimal numbers with variable precision")
2869 (description
2870 "A decimal number has an integer mantissa and a negative exponent.
2871The exponent can be interpreted as the number of decimal places in the
2872value.")
2873 (license license:bsd-3)))
2874
2875(define-public ghc-deepseq-generics
2876 (package
2877 (name "ghc-deepseq-generics")
2878 (version "0.2.0.1")
2879 (source
2880 (origin
2881 (method url-fetch)
2882 (uri (hackage-uri "deepseq-generics" version))
2883 (sha256
2884 (base32 "1ygfppvlxhm2zl3jvnalinl7cp790m7p31408lzgsw2jah63k6ai"))))
2885 (build-system haskell-build-system)
2886 (properties '((upstream-name . "deepseq-generics")))
2887 (native-inputs (list ghc-test-framework ghc-test-framework-hunit ghc-hunit))
2888 (home-page "https://github.com/haskell-hvr/deepseq-generics")
2889 (synopsis "Generic RNF implementation")
2890 (description
2891 "This package provides a @code{GHC.Generics}-based
2892@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2893providing an @code{rnf} implementation.")
2894 (license license:bsd-3)))
2895
2896(define-public ghc-dense-linear-algebra
2897 (package
2898 (name "ghc-dense-linear-algebra")
2899 (version "0.1.0.0")
2900 (source
2901 (origin
2902 (method url-fetch)
2903 (uri (hackage-uri "dense-linear-algebra" version))
2904 (sha256
2905 (base32 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2906 (build-system haskell-build-system)
2907 (properties '((upstream-name . "dense-linear-algebra")))
2908 (inputs (list ghc-math-functions
2909 ghc-primitive
2910 ghc-vector
2911 ghc-vector-algorithms
2912 ghc-vector-th-unbox
2913 ghc-vector-binary-instances))
2914 (native-inputs (list ghc-hspec ghc-quickcheck))
2915 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2916 (synopsis "Simple and incomplete implementation of linear algebra")
2917 (description "This library is simply a collection of linear-algebra
2918related modules split from the statistics library.")
2919 (license license:bsd-2)))
2920
2921(define-public ghc-diagrams-core
2922 (package
2923 (name "ghc-diagrams-core")
2924 (version "1.5.1.1")
2925 (source
2926 (origin
2927 (method url-fetch)
2928 (uri (hackage-uri "diagrams-core" version))
2929 (sha256
2930 (base32 "168kjikw3x21pjgfy3lmxmrm89g9zlhbypkmzdg5xz9rl7acn7rc"))))
2931 (build-system haskell-build-system)
2932 (properties '((upstream-name . "diagrams-core")))
2933 (inputs (list ghc-unordered-containers
2934 ghc-semigroups
2935 ghc-monoid-extras
2936 ghc-dual-tree
2937 ghc-lens
2938 ghc-linear
2939 ghc-adjunctions
2940 ghc-distributive
2941 ghc-profunctors))
2942 (arguments
2943 `(#:cabal-revision ("4"
2944 "0lq4hs7h7ja9x8wz05z21fi9b507r8capxwknmadrxznrh892kky")))
2945 (home-page "https://diagrams.github.io")
2946 (synopsis "Core libraries for diagrams embedded domain-specific language")
2947 (description
2948 "This package provides the core modules underlying
2949diagrams, an embedded domain-specific language for compositional,
2950declarative drawing.")
2951 (license license:bsd-3)))
2952
2953(define-public ghc-diagrams-lib
2954 (package
2955 (name "ghc-diagrams-lib")
2956 (version "1.5.0.1")
2957 (source
2958 (origin
2959 (method url-fetch)
2960 (uri (hackage-uri "diagrams-lib" version))
2961 (sha256
2962 (base32 "0s09qkhlp0w7ga20i482icw48y0l8rgqb38818ny64h3ivh8s5hm"))))
2963 (build-system haskell-build-system)
2964 (properties '((upstream-name . "diagrams-lib")))
2965 (inputs (list ghc-semigroups
2966 ghc-monoid-extras
2967 ghc-dual-tree
2968 ghc-diagrams-core
2969 ghc-diagrams-solve
2970 ghc-active
2971 ghc-colour
2972 ghc-data-default
2973 ghc-fingertree
2974 ghc-intervals
2975 ghc-lens
2976 ghc-tagged
2977 ghc-optparse-applicative
2978 ghc-juicypixels
2979 ghc-hashable
2980 ghc-linear
2981 ghc-adjunctions
2982 ghc-distributive
2983 ghc-unordered-containers
2984 ghc-profunctors
2985 ghc-cereal
2986 ghc-fail))
2987 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck
2988 ghc-quickcheck ghc-numeric-extras))
2989 (home-page "http://diagrams.github.io")
2990 (synopsis "Embedded domain-specific language for declarative graphics")
2991 (description
2992 "Diagrams is a flexible, extensible embedded
2993domain-specific language (EDSL) for creating graphics of many types.
2994Graphics can be created in arbitrary vector spaces and rendered with
2995multiple backends. This package provides a standard library of
2996primitives and operations for creating diagrams.")
2997 (license license:bsd-3)))
2998
2999(define-public ghc-diagrams-solve
3000 (package
3001 (name "ghc-diagrams-solve")
3002 (version "0.1.3.1")
3003 (source
3004 (origin
3005 (method url-fetch)
3006 (uri (hackage-uri "diagrams-solve" version))
3007 (sha256
3008 (base32 "19rymk08gh8bq7afa5p2hjj4747j0ardacbdvh205czfhirmdmga"))))
3009 (build-system haskell-build-system)
3010 (properties '((upstream-name . "diagrams-solve")))
3011 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
3012 (home-page "https://diagrams.github.io")
3013 (synopsis "Pure Haskell solver routines used by diagrams")
3014 (description
3015 "This library provides Pure Haskell solver routines for
3016use by the
3017@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3018diagrams framework}. It currently includes routines for finding real
3019roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3020and cyclic tridiagonal linear systems.")
3021 (license license:bsd-3)))
3022
3023(define-public ghc-diagrams-svg
3024 (package
3025 (name "ghc-diagrams-svg")
3026 (version "1.5")
3027 (source
3028 (origin
3029 (method url-fetch)
3030 (uri (hackage-uri "diagrams-svg" version))
3031 (sha256
3032 (base32 "1g11fvcgx99xg71c9sd6m7pfclnzcfx72alcx3avlb4qzz56wn52"))))
3033 (build-system haskell-build-system)
3034 (properties '((upstream-name . "diagrams-svg")))
3035 (inputs (list ghc-base64-bytestring
3036 ghc-colour
3037 ghc-diagrams-core
3038 ghc-diagrams-lib
3039 ghc-monoid-extras
3040 ghc-svg-builder
3041 ghc-juicypixels
3042 ghc-split
3043 ghc-lens
3044 ghc-hashable
3045 ghc-optparse-applicative
3046 ghc-semigroups))
3047 (arguments
3048 `(#:cabal-revision ("2"
3049 "1d7n707vmcbk1l1fi956hagyyzzn3hd11wxyabm1mirv8qxrha0s")))
3050 (home-page "https://diagrams.github.io/")
3051 (synopsis "Scalable Vector Graphics backend for the diagrams framework")
3052 (description "This package provides a modular backend for rendering
3053diagrams created with the diagrams embedded domain-specific
3054language (EDSL) to Scalable Vector Graphics (SVG) files.")
3055 (license license:bsd-3)))
3056
3057(define-public ghc-dictionary-sharing
3058 (package
3059 (name "ghc-dictionary-sharing")
3060 (version "0.1.0.0")
3061 (source
3062 (origin
3063 (method url-fetch)
3064 (uri (hackage-uri "dictionary-sharing" version))
3065 (sha256
3066 (base32 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3067 (build-system haskell-build-system)
3068 (properties '((upstream-name . "dictionary-sharing")))
3069 (arguments
3070 `(#:cabal-revision ("4"
3071 "18v6x0pjih851q5d8cdm79bhpdh6wxv9p6z746y7wppmy9j943qy")))
3072 (home-page "http://hackage.haskell.org/package/dictionary-sharing")
3073 (synopsis "Sharing/memoization of class members")
3074 (description "This library provides tools for ensuring that class
3075members are shared.")
3076 (license license:bsd-3)))
3077
3078(define-public ghc-diff
3079 (package
3080 (name "ghc-diff")
3081 (version "1.0.2")
3082 (source
3083 (origin
3084 (method url-fetch)
3085 (uri (hackage-uri "Diff" version))
3086 (sha256
3087 (base32 "11ad6ng3pqjb9dixnqk35bpgzjzva7ifnnjjlz0z5xzbsp9jcznd"))))
3088 (build-system haskell-build-system)
3089 (properties '((upstream-name . "Diff")))
3090 (native-inputs (list ghc-quickcheck ghc-test-framework
3091 ghc-test-framework-quickcheck2))
3092 (home-page
3093 "https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927")
3094 (synopsis "O(ND) diff algorithm in Haskell")
3095 (description
3096 "This package provides an implementation of the standard diff algorithm,
3097and utilities for pretty printing.")
3098 (license license:bsd-3)))
3099
3100(define-public ghc-directory-ospath-streaming
3101 (package
3102 (name "ghc-directory-ospath-streaming")
3103 (version "0.2.2")
3104 (source
3105 (origin
3106 (method url-fetch)
3107 (uri (hackage-uri "directory-ospath-streaming" version))
3108 (sha256
3109 (base32 "1xsfaps14pm68qfva4crqsmpqqcl8yjxrv514a6mxc9xw6z8zphs"))))
3110 (build-system haskell-build-system)
3111 (properties '((upstream-name . "directory-ospath-streaming")))
3112 (inputs (list ghc-os-string ghc-atomic-counter))
3113 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-random))
3114 (home-page "https://github.com/sergv/directory-ospath-streaming")
3115 (synopsis "Stream directory entries in constant memory in vanilla IO")
3116 (description
3117 "Reading of directory contents in constant memory, i.e. in an iterative fashion
3118without storing all directory elements in memory. From another perspective,
3119this reading interface allows stopping at any point without loading every
3120directory element. Also defines general-purpose recursive directory traversals.
3121 Both Windows and Unix systems are supported.")
3122 (license license:asl2.0)))
3123
3124(define-public ghc-disk-free-space
3125 (package
3126 (name "ghc-disk-free-space")
3127 (version "0.1.0.1")
3128 (source
3129 (origin
3130 (method url-fetch)
3131 (uri (hackage-uri "disk-free-space" version))
3132 (sha256
3133 (base32 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3134 (build-system haskell-build-system)
3135 (properties '((upstream-name . "disk-free-space")))
3136 (arguments
3137 `(#:cabal-revision ("3"
3138 "0x0wjycr3rhw9vcq51b4sz8cf7mcvx7whhywv72y25r9385lxb3i")))
3139 (home-page "https://github.com/redneb/disk-free-space")
3140 (synopsis "Retrieve information about disk space usage")
3141 (description "A cross-platform library for retrieving information about
3142disk space usage.")
3143 (license license:bsd-3)))
3144
3145(define-public ghc-distributive
3146 (package
3147 (name "ghc-distributive")
3148 (version "0.6.2.1")
3149 (source
3150 (origin
3151 (method url-fetch)
3152 (uri (hackage-uri "distributive" version))
3153 (sha256
3154 (base32 "14bb66qyfn43bj688igfvnfjw7iycjf4n2k38sm8rxbqw2916dfp"))))
3155 (build-system haskell-build-system)
3156 (properties '((upstream-name . "distributive")))
3157 (inputs (list ghc-base-orphans ghc-tagged ghc-semigroups-bootstrap))
3158 (native-inputs (list ghc-generic-deriving ghc-hspec hspec-discover))
3159 (arguments
3160 `(#:cabal-revision ("1"
3161 "033890dfyd23dh7g7px863l0hr1b881jnhv4kgwaq16a3iagb68g")))
3162 (home-page "http://github.com/ekmett/distributive/")
3163 (synopsis "Distributive functors for Haskell")
3164 (description "This package provides distributive functors for Haskell.
3165Dual to @code{Traversable}.")
3166 (license license:bsd-3)))
3167
3168(define-public ghc-djot
3169 (package
3170 (name "ghc-djot")
3171 (version "0.1.2.2")
3172 (source
3173 (origin
3174 (method url-fetch)
3175 (uri (hackage-uri "djot" version))
3176 (sha256
3177 (base32 "17fqnzacnnraij9lwca25761sn5gaxjd42vnpmd397fdzd5dm6fh"))))
3178 (build-system haskell-build-system)
3179 (properties '((upstream-name . "djot")))
3180 (inputs (list ghc-doclayout))
3181 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
3182 (home-page "http://hackage.haskell.org/package/djot")
3183 (synopsis "Parser and renderer for djot light markup syntax.")
3184 (description
3185 "Djot (<https://djot.net>) is a light markup language. This package provides a
3186data structure to represent djot documents, a very fast parser, and functions to
3187render a parsed document as HTML and as djot.")
3188 (license license:expat)))
3189
3190(define-public ghc-dlist
3191 (package
3192 (name "ghc-dlist")
3193 (version "1.0")
3194 (source
3195 (origin
3196 (method url-fetch)
3197 (uri (hackage-uri "dlist" version))
3198 (sha256
3199 (base32 "0581a60xw4gw7pmqlmg5w2hr4hm9yjgx4c2z6v63y5xv51rn6g8p"))))
3200 (build-system haskell-build-system)
3201 (properties '((upstream-name . "dlist")))
3202 (native-inputs (list ghc-quickcheck))
3203 (arguments
3204 `(#:cabal-revision ("2"
3205 "1lk1ladz44chpfi1gx8yglzrxbzd9yyb258gs6rnm0as9icjfiw5")))
3206 (home-page "https://github.com/spl/dlist")
3207 (synopsis "Difference lists")
3208 (description
3209 "Difference lists are a list-like type supporting O(1) append. This is
3210particularly useful for efficient logging and pretty printing (e.g. with the
3211Writer monad), where list append quickly becomes too expensive.")
3212 (license license:bsd-3)))
3213
3214(define-public ghc-doctemplates
3215 (package
3216 (name "ghc-doctemplates")
3217 (version "0.11.0.1")
3218 (source
3219 (origin
3220 (method url-fetch)
3221 (uri (hackage-uri "doctemplates" version))
3222 (sha256
3223 (base32 "1ysmd7dl12gh4a1ci9g6qfwz2836dqb22g5l5q9941dac4c4al0i"))))
3224 (build-system haskell-build-system)
3225 (properties '((upstream-name . "doctemplates")))
3226 (inputs (list ghc-safe
3227 ghc-text-conversions
3228 ghc-aeson
3229 ghc-doclayout
3230 ghc-vector
3231 ghc-scientific))
3232 (native-inputs (list ghc-glob ghc-tasty ghc-tasty-golden ghc-tasty-hunit
3233 ghc-temporary))
3234 (home-page "https://github.com/jgm/doctemplates#readme")
3235 (synopsis "Pandoc-style document templates")
3236 (description
3237 "This package provides a simple text templating system used by pandoc.")
3238 (license license:bsd-3)))
3239
3240(define-public ghc-doctest
3241 (package
3242 (name "ghc-doctest")
3243 (version "0.24.2")
3244 (source
3245 (origin
3246 (method url-fetch)
3247 (uri (hackage-uri "doctest" version))
3248 (sha256
3249 (base32 "1dpffnr24zaricmkwc13npap569crwwfha1w9vz3fhywmh0dnfjk"))))
3250 (build-system haskell-build-system)
3251 (properties '((upstream-name . "doctest")))
3252 ;; The tests depend on cabal-install which depends on doctest
3253 (arguments (list #:tests? #f))
3254 (inputs (list ghc-code-page ghc-paths ghc-syb ghc-temporary))
3255 (home-page "https://github.com/sol/doctest#readme")
3256 (synopsis "Test interactive Haskell examples")
3257 (description
3258 "The doctest program checks examples in source code comments.
3259It is modeled after doctest for Python, see
3260@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3261 (license license:expat)))
3262
3263(define-public ghc-dotgen
3264 (package
3265 (name "ghc-dotgen")
3266 (version "0.4.3")
3267 (source
3268 (origin
3269 (method url-fetch)
3270 (uri (hackage-uri "dotgen" version))
3271 (sha256
3272 (base32 "1jcn5m9342jrdq7jln2v9msf9978ngrx0pq9rrjh8izhvbvph76s"))))
3273 (build-system haskell-build-system)
3274 (properties '((upstream-name . "dotgen")))
3275 (home-page "https://github.com/ku-fpg/dotgen")
3276 (synopsis "Simple interface for building .dot graph files")
3277 (description
3278 "This package provides a simple interface for building .dot graph
3279files, for input into the dot and graphviz tools. It includes a
3280monadic interface for building graphs.")
3281 (license license:bsd-3)))
3282
3283(define-public ghc-double-conversion
3284 (package
3285 (name "ghc-double-conversion")
3286 (version "2.0.5.0")
3287 (source
3288 (origin
3289 (method url-fetch)
3290 (uri (hackage-uri "double-conversion" version))
3291 (sha256
3292 (base32 "1fj358zamb5zr1h481wf02c2aijqk3imk7flhpzps9bvwjv9kilq"))))
3293 (build-system haskell-build-system)
3294 (properties '((upstream-name . "double-conversion")))
3295 (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit
3296 ghc-test-framework-quickcheck2))
3297 (home-page "https://github.com/haskell/double-conversion")
3298 (synopsis
3299 "Fast conversion between double precision floating point and text")
3300 (description
3301 "This package provides a library that performs fast, accurate conversion
3302between double precision floating point and text.")
3303 (license license:bsd-3)))
3304
3305(define-public ghc-dual-tree
3306 (package
3307 (name "ghc-dual-tree")
3308 (version "0.2.3.1")
3309 (source
3310 (origin
3311 (method url-fetch)
3312 (uri (hackage-uri "dual-tree" version))
3313 (sha256
3314 (base32 "19nm34d166fhlkk7npx0iq9kbx7300a82bg75q1sx98jqfa4nffh"))))
3315 (build-system haskell-build-system)
3316 (properties '((upstream-name . "dual-tree")))
3317 (inputs (list ghc-semigroups ghc-monoid-extras))
3318 (native-inputs (list ghc-quickcheck ghc-testing-feat))
3319 (arguments
3320 `(#:cabal-revision ("5"
3321 "0ihx1l9s864z4pvqkahy0ch6k4fqrz4yzb0dqwrnagsa2akbz9c4")))
3322 (home-page "http://hackage.haskell.org/package/dual-tree")
3323 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3324 (description
3325 "Rose (@math{n}-ary) trees with both upwards- (i.e.
3326cached) and downwards-traveling (i.e. accumulating) monoidal
3327annotations. This is used as the core data structure underlying the
3328@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3329diagrams framework}, but potentially has other applications as well.")
3330 (license license:bsd-3)))
3331
3332(define-public ghc-easy-file
3333 (package
3334 (name "ghc-easy-file")
3335 (version "0.2.5")
3336 (source
3337 (origin
3338 (method url-fetch)
3339 (uri (hackage-uri "easy-file" version))
3340 (sha256
3341 (base32 "1fzj9x9br57rcik3dvwxqb5mqy524g6xg2d670l6dcrv9f8s03zf"))))
3342 (build-system haskell-build-system)
3343 (properties '((upstream-name . "easy-file")))
3344 (native-inputs (list ghc-tasty ghc-tasty-hunit))
3345 (home-page "http://github.com/kazu-yamamoto/easy-file")
3346 (synopsis "File handling library for Haskell")
3347 (description "This library provides file handling utilities for Haskell.")
3348 (license license:bsd-3)))
3349
3350(define-public ghc-easyplot
3351 (package
3352 (name "ghc-easyplot")
3353 (version "1.0")
3354 (source
3355 (origin
3356 (method url-fetch)
3357 (uri (hackage-uri "easyplot" version))
3358 (sha256
3359 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))
3360 (snippet #~(rename-file "Setup.lhs" "Setup.hs")))) ; the file lacks lhs syntax
3361 (build-system haskell-build-system)
3362 (properties '((upstream-name . "easyplot")))
3363 (home-page "http://hub.darcs.net/scravy/easyplot")
3364 (synopsis "Haskell plotting library based on gnuplot")
3365 (description "This package provides a plotting library for
3366Haskell, using gnuplot for rendering.")
3367 (license license:expat)))
3368
3369(define-public ghc-echo
3370 (package
3371 (name "ghc-echo")
3372 (version "0.1.4")
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (hackage-uri "echo" version))
3377 (sha256
3378 (base32 "0hqfdd4kvpp59cjjv790bkf72yqr9xjfqlbjcrdsc9a8j3r1pzn9"))))
3379 (build-system haskell-build-system)
3380 (properties '((upstream-name . "echo")))
3381 (home-page "https://github.com/RyanGlScott/echo")
3382 (synopsis "Echo terminal input portably")
3383 (description
3384 "The @code{base} library exposes the @code{hGetEcho} and
3385@code{hSetEcho} functions for querying and setting echo status, but
3386unfortunately, neither function works with MinTTY consoles on Windows.
3387This library provides an alternative interface which works with both
3388MinTTY and other consoles.")
3389 (license license:bsd-3)))
3390
3391(define-public ghc-edit-distance
3392 (package
3393 (name "ghc-edit-distance")
3394 (version "0.2.2.1")
3395 (source
3396 (origin
3397 (method url-fetch)
3398 (uri (hackage-uri "edit-distance" version))
3399 (sha256
3400 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3401 (build-system haskell-build-system)
3402 (properties '((upstream-name . "edit-distance")))
3403 (inputs (list ghc-random))
3404 (native-inputs (list ghc-test-framework ghc-quickcheck
3405 ghc-test-framework-quickcheck2))
3406 (arguments
3407 (list
3408 #:cabal-revision '("1"
3409 "1vjn4ryzdilz7l1ad7czh11nw48h5mj8if7ij3q0mmc3sffa8csd")
3410 #:phases
3411 #~(modify-phases %standard-phases
3412 (add-before 'configure 'relax-dependencies
3413 (lambda _
3414 (substitute* "edit-distance.cabal"
3415 (("QuickCheck [ <>=^*&|0-9.]*") "QuickCheck < 2.16")))))))
3416 (home-page "http://github.com/phadej/edit-distance")
3417 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3418 (description
3419 "This package provides optimized functions to determine the edit
3420distances for fuzzy matching, including Levenshtein and restricted
3421Damerau-Levenshtein algorithms.")
3422 (license license:bsd-3)))
3423
3424(define-public ghc-edit-distance-vector
3425 (package
3426 (name "ghc-edit-distance-vector")
3427 (version "1.0.0.4")
3428 (source
3429 (origin
3430 (method url-fetch)
3431 (uri (hackage-uri "edit-distance-vector" version))
3432 (sha256
3433 (base32 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3434 (build-system haskell-build-system)
3435 (properties '((upstream-name . "edit-distance-vector")))
3436 (inputs (list ghc-vector))
3437 (native-inputs (list ghc-quickcheck ghc-quickcheck-instances))
3438 (home-page "https://github.com/thsutton/edit-distance-vector")
3439 (synopsis "Calculate edit distances and edit scripts between vectors")
3440 (description
3441 "This package provides implementation of the
3442Wagner-Fischer dynamic programming algorithm to find the optimal edit
3443script and cost between two sequences. The implementation in this
3444package is specialised to sequences represented with @code{Data.Vector}
3445but is otherwise agnostic to:
3446@itemize
3447@item The type of values in the vectors;
3448@item The type representing edit operations; and
3449@item The type representing the cost of operations.
3450@end itemize")
3451 (license license:bsd-3)) )
3452
3453(define-public ghc-either
3454 (package
3455 (name "ghc-either")
3456 (version "5.0.3")
3457 (source
3458 (origin
3459 (method url-fetch)
3460 (uri (hackage-uri "either" version))
3461 (sha256
3462 (base32 "00a8h2jgrpqdlsi8vjrm2qa6rmw33ksirxv9s6i90nlmhhg6jrkd"))))
3463 (build-system haskell-build-system)
3464 (properties '((upstream-name . "either")))
3465 (inputs (list ghc-bifunctors ghc-profunctors ghc-semigroupoids))
3466 (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
3467 (home-page "http://github.com/ekmett/either/")
3468 (synopsis "Provides an either monad transformer for Haskell")
3469 (description "This Haskell package provides an either monad transformer.")
3470 (license license:bsd-3)))
3471
3472(define-public ghc-email-validate
3473 (package
3474 (name "ghc-email-validate")
3475 (version "2.3.2.21")
3476 (source
3477 (origin
3478 (method url-fetch)
3479 (uri (hackage-uri "email-validate" version))
3480 (sha256
3481 (base32 "132ijz65csl1ki32nhw3d95x9vzl3lc22z2zhivv1yqh30lfpfgq"))))
3482 (build-system haskell-build-system)
3483 (properties '((upstream-name . "email-validate")))
3484 (inputs (list ghc-attoparsec))
3485 (native-inputs (list ghc-hspec ghc-quickcheck))
3486 (home-page "https://github.com/Porges/email-validate-hs")
3487 (synopsis "Email address validator for Haskell")
3488 (description
3489 "This Haskell package provides a validator that can validate an email
3490address string against RFC 5322.")
3491 (license license:bsd-3)))
3492
3493(define-public ghc-enclosed-exceptions
3494 (package
3495 (name "ghc-enclosed-exceptions")
3496 (version "1.0.3")
3497 (source
3498 (origin
3499 (method url-fetch)
3500 (uri (hackage-uri "enclosed-exceptions" version))
3501 (sha256
3502 (base32 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3503 (build-system haskell-build-system)
3504 (properties '((upstream-name . "enclosed-exceptions")))
3505 (inputs (list ghc-lifted-base ghc-monad-control ghc-transformers-base))
3506 (native-inputs (list ghc-async ghc-hspec ghc-quickcheck))
3507 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3508 (synopsis "Catch all exceptions from within an enclosed computation")
3509 (description
3510 "This library implements a technique to catch all exceptions raised
3511within an enclosed computation, while remaining responsive to (external)
3512asynchronous exceptions.")
3513 (license license:expat)))
3514
3515(define-public ghc-encoding
3516 (package
3517 (name "ghc-encoding")
3518 (version "0.10.2")
3519 (source
3520 (origin
3521 (method url-fetch)
3522 (uri (hackage-uri "encoding" version))
3523 (sha256
3524 (base32 "07fclvjvd25cb21j6hakkcrk83f46ri9mkc9qdgllhb5p9zwxdig"))))
3525 (build-system haskell-build-system)
3526 (properties '((upstream-name . "encoding")))
3527 (inputs (list ghc-extensible-exceptions ghc-regex-compat))
3528 (native-inputs (list ghc-hunit ghc-quickcheck))
3529 (home-page "https://github.com/dmwit/encoding")
3530 (synopsis "A library for various character encodings")
3531 (description
3532 "Haskell has excellect handling of unicode, the Char type covers all unicode
3533chars. Unfortunately, there's no possibility to read or write something to the
3534outer world in an encoding other than ascii due to the lack of support for
3535encodings. This library should help with that.")
3536 (license license:bsd-3)))
3537
3538(define-public ghc-equivalence
3539 (package
3540 (name "ghc-equivalence")
3541 (version "0.4.1.1")
3542 (source
3543 (origin
3544 (method url-fetch)
3545 (uri (hackage-uri "equivalence" version))
3546 (sha256
3547 (base32 "1wib20n367x3rjwgpr13jim535karbq155x6mwysqfhmr4fwcvcj"))))
3548 (build-system haskell-build-system)
3549 (properties '((upstream-name . "equivalence")))
3550 (inputs (list ghc-stmonadtrans))
3551 (native-inputs (list ghc-quickcheck))
3552 (home-page "https://github.com/pa-ba/equivalence")
3553 (synopsis "Maintaining an equivalence relation implemented as union-find")
3554 (description
3555 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3556Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
355722(2), 1975) in order to maintain an equivalence relation. This
3558implementation is a port of the @code{union-find} package using the @code{ST}
3559monad transformer (instead of the IO monad).")
3560 (license license:bsd-3)))
3561
3562(define-public ghc-erf
3563 (package
3564 (name "ghc-erf")
3565 (version "2.0.0.0")
3566 (source
3567 (origin
3568 (method url-fetch)
3569 (uri (hackage-uri "erf" version))
3570 (sha256
3571 (base32 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3572 (build-system haskell-build-system)
3573 (properties '((upstream-name . "erf")))
3574 (home-page "http://hackage.haskell.org/package/erf")
3575 (synopsis "The error function, erf, and related functions for Haskell")
3576 (description
3577 "This Haskell library provides a type class for the
3578error function, erf, and related functions. Instances for Float and
3579Double.")
3580 (license license:bsd-3)))
3581
3582(define-public ghc-errors
3583 (package
3584 (name "ghc-errors")
3585 (version "2.3.0")
3586 (source
3587 (origin
3588 (method url-fetch)
3589 (uri (hackage-uri "errors" version))
3590 (sha256
3591 (base32 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3592 (build-system haskell-build-system)
3593 (properties '((upstream-name . "errors")))
3594 (inputs (list ghc-transformers-compat ghc-safe))
3595 (arguments
3596 `(#:cabal-revision ("5"
3597 "0ljfsadhqbqjivrr08x11zazpl115902ikvyhxq6nmg6zp54w7al")))
3598 (home-page "http://hackage.haskell.org/package/errors")
3599 (synopsis "Error handling library for Haskell")
3600 (description
3601 "This library encourages an error-handling style that
3602directly uses the type system, rather than out-of-band exceptions.")
3603 (license license:bsd-3)))
3604
3605(define-public ghc-esqueleto
3606 (package
3607 (name "ghc-esqueleto")
3608 (version "3.6.0.0")
3609 (source
3610 (origin
3611 (method url-fetch)
3612 (uri (hackage-uri "esqueleto" version))
3613 (sha256
3614 (base32 "1x7bd4l7ax6d47mhkbfdqsfjay0qn362is393cnbbm0395v2ijlh"))))
3615 (build-system haskell-build-system)
3616 (properties '((upstream-name . "esqueleto")))
3617 (inputs (list ghc-aeson
3618 ghc-attoparsec
3619 ghc-blaze-html
3620 ghc-conduit
3621 ghc-monad-logger
3622 ghc-persistent
3623 ghc-resourcet
3624 ghc-tagged
3625 ghc-unliftio
3626 ghc-unordered-containers))
3627 (native-inputs (list ghc-hspec
3628 ghc-hspec-core
3629 ghc-mysql
3630 ghc-mysql-simple
3631 ghc-persistent-mysql
3632 ghc-persistent-postgresql
3633 ghc-persistent-sqlite
3634 ghc-postgresql-simple
3635 ghc-quickcheck))
3636 (arguments
3637 `(#:cabal-revision ("1"
3638 "1xfigma6ha5rhll6cg05iz6lzh88w3pgniarib7fzvi6rxyg3a17")
3639 #:tests? #f)) ; tests require a running postgresql server
3640 (home-page "https://github.com/bitemyapp/esqueleto")
3641 (synopsis "Type-safe embedded domain specific language for SQL queries")
3642 (description
3643 "This library provides a type-safe embedded domain specific
3644language (EDSL) for SQL queries that works with SQL backends as provided by
3645@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3646to learn new concepts, just new syntax, and it's fairly easy to predict the
3647generated SQL and optimize it for your backend.")
3648 (license license:bsd-3)))
3649
3650(define-public ghc-exactprint
3651 (package
3652 (name "ghc-exactprint")
3653 (version "1.10.0.0")
3654 (source
3655 (origin
3656 (method url-fetch)
3657 (uri (hackage-uri "ghc-exactprint" version))
3658 (sha256
3659 (base32 "14jwkx0q2bidcv5ss7zmkvl41z264k7siy9fh7py27h7azb539v0"))))
3660 (build-system haskell-build-system)
3661 (properties '((upstream-name . "ghc-exactprint")))
3662 (inputs (list ghc-syb))
3663 (native-inputs (list ghc-hunit ghc-diff ghc-extra ghc-paths ghc-silently))
3664 (home-page "http://hackage.haskell.org/package/ghc-exactprint")
3665 (synopsis "ExactPrint for GHC")
3666 (description
3667 "Using the API Annotations available from GHC 7.10.2, this library
3668provides a means to round-trip any code that can be compiled by GHC, currently
3669excluding @file{.lhs} files.")
3670 (license license:bsd-3)))
3671
3672(define-public ghc-exceptions
3673 (package
3674 (name "ghc-exceptions")
3675 (version "0.10.9")
3676 (source
3677 (origin
3678 (method url-fetch)
3679 (uri (hackage-uri "exceptions" version))
3680 (sha256
3681 (base32 "0h5y2rqg7kz4ic59n5i7619766mzfpqcdill3l712nihs3q2nk4v"))))
3682 (build-system haskell-build-system)
3683 (properties '((upstream-name . "exceptions")))
3684 (native-inputs (list ghc-test-framework ghc-test-framework-hunit
3685 ghc-test-framework-quickcheck2 ghc-quickcheck))
3686 (arguments
3687 `(#:cabal-revision ("3"
3688 "0qv4z7p78ld8kz11xppkbax288y0admpidldxxc9bk6k5yfcn43a")))
3689 (home-page "http://github.com/ekmett/exceptions/")
3690 (synopsis "Extensible optionally-pure exceptions")
3691 (description "This library provides extensible optionally-pure exceptions
3692for Haskell.")
3693 (license license:bsd-3)))
3694
3695(define-public ghc-executable-path
3696 (package
3697 (name "ghc-executable-path")
3698 (version "0.0.3.1")
3699 (source
3700 (origin
3701 (method url-fetch)
3702 (uri (hackage-uri "executable-path" version))
3703 (sha256
3704 (base32 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3705 (build-system haskell-build-system)
3706 (properties '((upstream-name . "executable-path")))
3707 (home-page "http://code.haskell.org/~bkomuves/")
3708 (synopsis "Find out the full path of the executable")
3709 (description
3710 "The documentation of @code{System.Environment.getProgName} says that
3711\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3712instead, for maximum portability, we just return the leafname of the program
3713as invoked.\" This library tries to provide the missing path.")
3714 (license license:public-domain)))
3715
3716(define-public ghc-extensible-exceptions
3717 (package
3718 (name "ghc-extensible-exceptions")
3719 (version "0.1.1.4")
3720 (source
3721 (origin
3722 (method url-fetch)
3723 (uri (hackage-uri "extensible-exceptions" version))
3724 (sha256
3725 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3726 (build-system haskell-build-system)
3727 (properties '((upstream-name . "extensible-exceptions")))
3728 (home-page "http://hackage.haskell.org/package/extensible-exceptions")
3729 (synopsis "Extensible exceptions for Haskell")
3730 (description
3731 "This package provides extensible exceptions for both new and old
3732versions of GHC (i.e., < 6.10).")
3733 (license license:bsd-3)))
3734
3735(define-public ghc-extra
3736 (package
3737 (name "ghc-extra")
3738 (version "1.8")
3739 (source
3740 (origin
3741 (method url-fetch)
3742 (uri (hackage-uri "extra" version))
3743 (sha256
3744 (base32 "18c9ad7wjf6q4yp0sagxhwyjpm9frw9kk27ih2x0nmjhmrgcx91g"))))
3745 (build-system haskell-build-system)
3746 (properties '((upstream-name . "extra")))
3747 (inputs (list ghc-clock-bootstrap))
3748 ;; testsuite depends indirectly on ghc-extra via many packages
3749 (arguments (list #:tests? #f))
3750 (home-page "https://github.com/ndmitchell/extra#readme")
3751 (synopsis "Extra Haskell functions")
3752 (description
3753 "This library provides extra functions for the standard
3754Haskell libraries. Most functions are simple additions, filling out missing
3755functionality. A few functions are available in later versions of GHC, but
3756this package makes them available back to GHC 7.2.")
3757 (license license:bsd-3)))
3758
3759(define-public ghc-fail
3760 (package
3761 (name "ghc-fail")
3762 (version "4.9.0.0")
3763 (source
3764 (origin
3765 (method url-fetch)
3766 (uri (hackage-uri "fail" version))
3767 (sha256
3768 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3769 (build-system haskell-build-system)
3770 (properties '((upstream-name . "fail")))
3771 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3772 (synopsis "Forward-compatible MonadFail class")
3773 (description
3774 "This package contains the @code{Control.Monad.Fail} module providing the
3775@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3776class that became available in
3777@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3778older @code{base} package versions. This package turns into an empty package
3779when used with GHC versions which already provide the
3780@code{Control.Monad.Fail} module.")
3781 (license license:bsd-3)))
3782
3783(define-public ghc-fast-logger
3784 (package
3785 (name "ghc-fast-logger")
3786 (version "3.2.6")
3787 (source
3788 (origin
3789 (method url-fetch)
3790 (uri (hackage-uri "fast-logger" version))
3791 (sha256
3792 (base32 "1hy5cczg64q6cafahfcfjsij48w80zskgjnn3ks0w5w4vqiccrmx"))))
3793 (build-system haskell-build-system)
3794 (properties '((upstream-name . "fast-logger")))
3795 (inputs (list ghc-auto-update ghc-easy-file ghc-unix-time ghc-unix-compat
3796 ghc-bytestring-builder))
3797 (native-inputs (list ghc-async ghc-hspec hspec-discover))
3798 (home-page "https://github.com/kazu-yamamoto/logger")
3799 (synopsis "Fast logging system")
3800 (description "This library provides a fast logging system for Haskell.")
3801 (license license:bsd-3)))
3802
3803(define-public ghc-fdo-notify
3804 (package
3805 (name "ghc-fdo-notify")
3806 (version "0.3.1")
3807 (source
3808 (origin
3809 (method url-fetch)
3810 (uri (hackage-uri "fdo-notify" version))
3811 (sha256
3812 (base32 "1n4zk1i7g34w0wk5zy8n4r63xbglxf62h8j78kv5fc2yn95l30vh"))))
3813 (build-system haskell-build-system)
3814 (properties '((upstream-name . "fdo-notify")))
3815 (inputs (list ghc-dbus))
3816 (home-page "http://bitbucket.org/taejo/fdo-notify/")
3817 (synopsis "Desktop Notifications client")
3818 (description
3819 "This package provides a library for issuing notifications using
3820@code{FreeDesktop.org's} Desktop Notifications protocol. This protocol is
3821supported by services such as Ubuntu's @code{NotifyOSD}.")
3822 (license license:bsd-3)))
3823
3824(define-public ghc-feed
3825 (package
3826 (name "ghc-feed")
3827 (version "1.3.2.1")
3828 (source
3829 (origin
3830 (method url-fetch)
3831 (uri (hackage-uri "feed" version))
3832 (sha256
3833 (base32 "0marh7qmggq1z5339nid3gil7k786d3yk79b0rwfkxxaxmr41xd8"))))
3834 (build-system haskell-build-system)
3835 (properties '((upstream-name . "feed")))
3836 (inputs (list ghc-base-compat
3837 ghc-old-locale
3838 ghc-old-time
3839 ghc-safe
3840 ghc-time-locale-compat
3841 ghc-utf8-string
3842 ghc-xml-types
3843 ghc-xml-conduit))
3844 (arguments
3845 `(#:cabal-revision ("5"
3846 "0y9f6dcgmmfzgxq9dbgs6lypd6pmcb0x1qvvkj20l74ba9k30v96")
3847 #:tests? #f)) ; tests fail to compile with current xml-conduit
3848 (home-page "https://github.com/haskell-party/feed")
3849 (synopsis "Haskell package for handling various syndication formats")
3850 (description
3851 "This Haskell package includes tools for generating and
3852consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3853 (license license:bsd-3)))
3854
3855(define-public ghc-fgl
3856 (package
3857 (name "ghc-fgl")
3858 (version "5.8.3.0")
3859 (source
3860 (origin
3861 (method url-fetch)
3862 (uri (hackage-uri "fgl" version))
3863 (sha256
3864 (base32 "1hb3mgqqz67qwfw2893bslj4mkhs4g0y51c6zpc6r2h6caqibjm4"))))
3865 (build-system haskell-build-system)
3866 (properties '((upstream-name . "fgl")))
3867 (native-inputs (list ghc-quickcheck ghc-hspec))
3868 (arguments
3869 `(#:cabal-revision ("1"
3870 "13yn7h8rwmdjwscli9cpn44dp5pm2c0km7b3v1cmfq4na16pczsh")))
3871 (home-page "http://hackage.haskell.org/package/fgl")
3872 (synopsis "Martin Erwig's Functional Graph Library")
3873 (description
3874 "The functional graph library, FGL, is a collection of type
3875and function definitions to address graph problems. The basis of the library
3876is an inductive definition of graphs in the style of algebraic data types that
3877encourages inductive, recursive definitions of graph algorithms.")
3878 (license license:bsd-3)))
3879
3880(define-public ghc-fgl-arbitrary
3881 (package
3882 (name "ghc-fgl-arbitrary")
3883 (version "0.2.0.6")
3884 (source
3885 (origin
3886 (method url-fetch)
3887 (uri (hackage-uri "fgl-arbitrary" version))
3888 (sha256
3889 (base32
3890 "1mykbd1r43gpsn10ys8q3nr0i4wnhn6wq23hcici18mxxji11wkc"))))
3891 (build-system haskell-build-system)
3892 (properties '((upstream-name . "fgl-arbitrary")))
3893 (inputs
3894 (list ghc-fgl ghc-quickcheck ghc-hspec))
3895 (arguments
3896 `(#:phases
3897 (modify-phases %standard-phases
3898 (add-before 'configure 'update-constraints
3899 (lambda _
3900 (substitute* "fgl-arbitrary.cabal"
3901 (("hspec >= 2\\.1 && < 2\\.8") "hspec")
3902 (("QuickCheck >= 2.3 && < 2.15") "QuickCheck")))))))
3903 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3904 (synopsis "QuickCheck support for fgl")
3905 (description
3906 "Provides Arbitrary instances for fgl graphs to avoid adding a
3907QuickCheck dependency for fgl whilst still making the instances
3908available to others. Also available are non-fgl-specific functions
3909for generating graph-like data structures.")
3910 (license license:bsd-3)))
3911
3912(define-public ghc-file-embed
3913 (package
3914 (name "ghc-file-embed")
3915 (version "0.0.16.0")
3916 (source
3917 (origin
3918 (method url-fetch)
3919 (uri (hackage-uri "file-embed" version))
3920 (sha256
3921 (base32 "05glld1cy9yx2g1xlbkl4bpdf18j8l2kj5nxgiamaqwkzwp6f62z"))))
3922 (build-system haskell-build-system)
3923 (properties '((upstream-name . "file-embed")))
3924 (home-page "https://github.com/snoyberg/file-embed")
3925 (synopsis "Use Template Haskell to embed file contents directly")
3926 (description
3927 "This package allows you to use Template Haskell to read a file or all
3928the files in a directory, and turn them into @code{(path, bytestring)} pairs
3929embedded in your Haskell code.")
3930 (license license:bsd-2)))
3931
3932(define-public ghc-filemanip
3933 (package
3934 (name "ghc-filemanip")
3935 (version "0.3.6.3")
3936 (source
3937 (origin
3938 (method url-fetch)
3939 (uri (hackage-uri "filemanip" version))
3940 (sha256
3941 (base32 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3942 (build-system haskell-build-system)
3943 (properties '((upstream-name . "filemanip")))
3944 (inputs (list ghc-unix-compat))
3945 (arguments
3946 `(#:cabal-revision ("1"
3947 "1l53qqlh9w7572n5dxk8rq0p8vsvg6m1afbak6xzdx0kgg8j6y8a")))
3948 (home-page "https://github.com/bos/filemanip")
3949 (synopsis "File and directory manipulation for Haskell")
3950 (description
3951 "This package provides a Haskell library for working with files and
3952directories. It includes code for pattern matching, finding files, modifying
3953file contents, and more.")
3954 (license license:bsd-3)))
3955
3956;; Deprecated.
3957(define-public ghc-filepath-bytestring
3958 (package
3959 (name "ghc-filepath-bytestring")
3960 (version "1.5.2.0.3")
3961 (source
3962 (origin
3963 (method url-fetch)
3964 (uri (hackage-uri "filepath-bytestring" version))
3965 (sha256
3966 (base32 "0jz6mpr6fvxijvkib9500x25np7j836wrvy8jd23l16r4rhnhmxy"))))
3967 (build-system haskell-build-system)
3968 (properties '((upstream-name . "filepath-bytestring")))
3969 (native-inputs (list ghc-quickcheck))
3970 (home-page "http://hackage.haskell.org/package/filepath-bytestring")
3971 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
3972 (description
3973 "This package provides a drop-in replacement for the standard
3974@code{filepath} library, operating on @code{RawFilePath} values rather than
3975@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
3976 (license license:bsd-3)))
3977
3978(define-public ghc-findbin
3979 (package
3980 (name "ghc-findbin")
3981 (version "0.0.5")
3982 (source
3983 (origin
3984 (method url-fetch)
3985 (uri (hackage-uri "FindBin" version))
3986 (sha256
3987 (base32 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3988 (build-system haskell-build-system)
3989 (properties '((upstream-name . "FindBin")))
3990 (home-page "https://github.com/audreyt/findbin")
3991 (synopsis "Get the absolute path of the running program")
3992 (description
3993 "This module locates the full directory of the running program, to allow
3994the use of paths relative to it. FindBin supports invocation of Haskell
3995programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3996an executable.")
3997 (license license:bsd-3)))
3998
3999(define-public ghc-fingertree
4000 (package
4001 (name "ghc-fingertree")
4002 (version "0.1.6.2")
4003 (source
4004 (origin
4005 (method url-fetch)
4006 (uri (hackage-uri "fingertree" version))
4007 (sha256
4008 (base32 "1aww2c2alnkaaigh0xx2cvx6s8qddzlfy1xcwf0fddnf9p2psqgj"))))
4009 (build-system haskell-build-system)
4010 (properties '((upstream-name . "fingertree")))
4011 (native-inputs (list ghc-hunit ghc-quickcheck ghc-test-framework
4012 ghc-test-framework-hunit
4013 ghc-test-framework-quickcheck2))
4014 (home-page "http://hackage.haskell.org/package/fingertree")
4015 (synopsis "Generic finger-tree structure")
4016 (description
4017 "This library provides finger trees, a general sequence
4018representation with arbitrary annotations, for use as a base for
4019implementations of various collection types. It includes examples, as
4020described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4021simple general-purpose data structure\".")
4022 (license license:bsd-3)))
4023
4024(define-public ghc-finite-typelits
4025 (package
4026 (name "ghc-finite-typelits")
4027 (version "0.2.1.0")
4028 (source
4029 (origin
4030 (method url-fetch)
4031 (uri (hackage-uri "finite-typelits" version))
4032 (sha256
4033 (base32 "0i786r2l3k9fxkpyy6rsi8my6kkar7y8yxk7h9gncm0z6kmvrnvk"))))
4034 (build-system haskell-build-system)
4035 (properties '((upstream-name . "finite-typelits")))
4036 (inputs (list ghc-tagged))
4037 (native-inputs (list ghc-quickcheck))
4038 (arguments
4039 `(#:cabal-revision ("1"
4040 "1967xzvdhlk92ifn980pm05jxjnmra32wlfzx7l2p2gn1cydzlhv")))
4041 (home-page "https://github.com/mniip/finite-typelits")
4042 (synopsis "Finitely many values, indexed by type-level naturals")
4043 (description
4044 "This package provides a Haskell type inhabited by finitely many values
4045and indexed by type-level naturals.")
4046 (license license:bsd-3)))
4047
4048(define-public ghc-fixed
4049 (package
4050 (name "ghc-fixed")
4051 (version "0.3")
4052 (source
4053 (origin
4054 (method url-fetch)
4055 (uri (hackage-uri "fixed" version))
4056 (sha256
4057 (base32 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4058 (build-system haskell-build-system)
4059 (properties '((upstream-name . "fixed")))
4060 (home-page "http://github.com/ekmett/fixed")
4061 (synopsis "Signed 15.16 precision fixed point arithmetic")
4062 (description
4063 "This package provides functions for signed 15.16 precision fixed point
4064arithmetic.")
4065 (license license:bsd-3)))
4066
4067(define-public ghc-fmlist
4068 (package
4069 (name "ghc-fmlist")
4070 (version "0.9.4")
4071 (source
4072 (origin
4073 (method url-fetch)
4074 (uri (hackage-uri "fmlist" version))
4075 (sha256
4076 (base32 "19h95ph7lh7llw6j1v1rssrdi5k7xw8x0iac9rgzss371s2w3g9d"))))
4077 (build-system haskell-build-system)
4078 (properties '((upstream-name . "fmlist")))
4079 (inputs (list ghc-fail))
4080 (home-page "https://github.com/sjoerdvisscher/fmlist")
4081 (synopsis "FoldMap lists")
4082 (description
4083 "FoldMap lists are lists represented by their
4084@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4085append, just like DLists, but other operations might have favorable
4086performance characteristics as well. These wild claims are still
4087completely unverified though.")
4088 (license license:bsd-3)))
4089
4090(define-public ghc-foldl
4091 (package
4092 (name "ghc-foldl")
4093 (version "1.4.18")
4094 (source
4095 (origin
4096 (method url-fetch)
4097 (uri (hackage-uri "foldl" version))
4098 (sha256
4099 (base32 "03jhj5p017r6f75vb0dk6igcaklgykjpp23j5wk7blzph18z9n6a"))))
4100 (build-system haskell-build-system)
4101 (properties '((upstream-name . "foldl")))
4102 (inputs (list ghc-random
4103 ghc-primitive
4104 ghc-vector
4105 ghc-unordered-containers
4106 ghc-hashable
4107 ghc-contravariant
4108 ghc-profunctors
4109 ghc-semigroupoids
4110 ghc-comonad
4111 ghc-semigroups))
4112 (native-inputs (list ghc-doctest))
4113 (arguments
4114 (list
4115 #:phases
4116 #~(modify-phases %standard-phases
4117 (replace 'check
4118 (lambda* (#:key tests? #:allow-other-keys)
4119 (if tests?
4120 (let* ((tmpdir (or (getenv "TMP")
4121 "/tmp"))
4122 (package-db
4123 (string-append tmpdir "/package.conf.d")))
4124 (setenv "GHC_PACKAGE_PATH" package-db)
4125 (invoke "./dist/build/doctest/doctest")
4126 (unsetenv "GHC_PACKAGE_PATH"))))))
4127 #:cabal-revision '("1"
4128 "1isis41wbfpgdqgrhapkcqqrkd20kxxl8qcqyqmrr41pvgca0hma")))
4129 (home-page "http://hackage.haskell.org/package/foldl")
4130 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4131 (description
4132 "This Haskell library provides strict left folds that stream
4133in constant memory, and you can combine folds using @code{Applicative} style
4134to derive new folds. Derived folds still traverse the container just once
4135and are often as efficient as hand-written folds.")
4136 (license license:bsd-3)))
4137
4138(define-public ghc-foundation
4139 (package
4140 (name "ghc-foundation")
4141 (version "0.0.30")
4142 (source
4143 (origin
4144 (method url-fetch)
4145 (uri (hackage-uri "foundation" version))
4146 (sha256
4147 (base32 "11hdqd01ggdr7fjw3w00giay06bzz97qqiiq60vi1l1dzz1wrwzn"))))
4148 (build-system haskell-build-system)
4149 (properties '((upstream-name . "foundation")))
4150 (inputs (list ghc-basement))
4151 (home-page "https://github.com/haskell-foundation/foundation")
4152 (synopsis "Alternative prelude with batteries and no dependencies")
4153 (description
4154 "This package provides a custom prelude with no dependencies apart from
4155the base package.
4156
4157Foundation has the following goals:
4158
4159@enumerate
4160@item provide a base like sets of modules that provide a consistent set of
4161 features and bugfixes across multiple versions of GHC (unlike base).
4162@item provide a better and more efficient prelude than base's prelude.
4163@item be self-sufficient: no external dependencies apart from base;
4164@item provide better data-types: packed unicode string by default, arrays;
4165@item Numerical classes that better represent mathematical things (no more
4166 all-in-one @code{Num});
4167@item I/O system with less lazy IO.
4168@end enumerate
4169")
4170 (license license:bsd-3)))
4171
4172(define-public ghc-free
4173 (package
4174 (name "ghc-free")
4175 (version "5.2")
4176 (source
4177 (origin
4178 (method url-fetch)
4179 (uri (hackage-uri "free" version))
4180 (sha256
4181 (base32 "12agp68cwwixcwfwnvk2xamg34a2x6ax7s1naxv66chpi5y7z1kj"))))
4182 (build-system haskell-build-system)
4183 (properties '((upstream-name . "free")))
4184 (inputs (list ghc-comonad
4185 ghc-distributive
4186 ghc-indexed-traversable
4187 ghc-profunctors
4188 ghc-semigroupoids
4189 ghc-th-abstraction
4190 ghc-transformers-base))
4191 (arguments
4192 `(#:cabal-revision ("7"
4193 "0h43xp4f38bpxhs5s06x1jw6d6zv55hhyhj6cmdbmfw7d6k94fbz")))
4194 (home-page "http://github.com/ekmett/free/")
4195 (synopsis "Unrestricted monads for Haskell")
4196 (description
4197 "This library provides free monads, which are useful for many
4198tree-like structures and domain specific languages. If @code{f} is a
4199@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4200whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4201is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4202f} makes no constraining assumptions beyond those given by @code{f} and the
4203definition of @code{Monad}.")
4204 (license license:bsd-3)))
4205
4206(define-public ghc-fsnotify
4207 (package
4208 (name "ghc-fsnotify")
4209 (version "0.4.4.0")
4210 (source
4211 (origin
4212 (method url-fetch)
4213 (uri (hackage-uri "fsnotify" version))
4214 (sha256
4215 (base32 "06v3yb8vpvk43qb0r0063q1rr1rf2c0l9plhs6pm1gzhwbcszcc2"))))
4216 (build-system haskell-build-system)
4217 (properties '((upstream-name . "fsnotify")))
4218 (inputs (list ghc-async
4219 ghc-monad-control
4220 ghc-safe-exceptions
4221 ghc-unix-compat
4222 ghc-hinotify
4223 ghc-monad-logger
4224 ghc-random
4225 ghc-retry
4226 ghc-string-interpolate
4227 ghc-temporary
4228 ghc-unliftio))
4229 (native-inputs (list ghc-sandwich))
4230 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4231 (synopsis "Cross platform library for file change notification")
4232 (description
4233 "Cross platform library for file creation, modification, and
4234deletion notification. This library builds upon existing libraries for platform
4235specific Windows, Mac, and Linux file system event notification.")
4236 (license license:bsd-3)))
4237
4238(define-public ghc-generically
4239 (package
4240 (name "ghc-generically")
4241 (version "0.1.1")
4242 (source
4243 (origin
4244 (method url-fetch)
4245 (uri (hackage-uri "generically" version))
4246 (sha256
4247 (base32 "1ks3pi6mpma83xffplz8vmimyhvzpnhmcgvk3bvl3c64pqva9i84"))))
4248 (build-system haskell-build-system)
4249 (properties '((upstream-name . "generically")))
4250 (arguments
4251 `(#:cabal-revision ("4"
4252 "0bj5vhnrggf9ka89z628hcxx1g3r00lv2rrrjv3dfbaqbj7jfr1z")))
4253 (home-page "http://hackage.haskell.org/package/generically")
4254 (synopsis "Generically newtype to use with DerivingVia")
4255 (description
4256 "This is a compatibility package as @@Generically@@ and @@Generically1@@ newtypes
4257are available since @@base-4.17@@ in GHC.Generics'.")
4258 (license license:bsd-3)))
4259
4260(define-public ghc-generic-deriving
4261 (package
4262 (name "ghc-generic-deriving")
4263 (version "1.14.6")
4264 (source
4265 (origin
4266 (method url-fetch)
4267 (uri (hackage-uri "generic-deriving" version))
4268 (sha256
4269 (base32 "1bxjar1kc29nma3whxb0kqgjgxmmm7wvhql7pyick8rj39zw35gi"))))
4270 (build-system haskell-build-system)
4271 (properties '((upstream-name . "generic-deriving")))
4272 (inputs (list ghc-th-abstraction))
4273 (native-inputs (list ghc-hspec hspec-discover))
4274 (arguments
4275 `(#:cabal-revision ("1"
4276 "0mdcj86qy4qnjlx4nh3bi4nrplmycjci7mns4zp0w3ipj0fhfz7l")))
4277 (home-page "https://github.com/dreixel/generic-deriving")
4278 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4279 (description "This package provides functionality for generalising the
4280deriving mechanism in Haskell to arbitrary classes.")
4281 (license license:bsd-3)))
4282
4283(define-public ghc-generic-random
4284 (package
4285 (name "ghc-generic-random")
4286 (version "1.5.0.1")
4287 (source
4288 (origin
4289 (method url-fetch)
4290 (uri (hackage-uri "generic-random" version))
4291 (sha256
4292 (base32 "02iczjf2xc4sxfi234nf6irfj5slvf3p5hpaxl8r5nc8hy052d6x"))))
4293 (build-system haskell-build-system)
4294 (properties '((upstream-name . "generic-random")))
4295 (inputs (list ghc-quickcheck))
4296 (native-inputs (list ghc-inspection-testing ghc-inspection-testing))
4297 (home-page "http://github.com/lysxia/generic-random")
4298 (synopsis "Generic random generators for QuickCheck")
4299 (description
4300 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4301to customize implementations.
4302
4303Automating the arbitrary boilerplate also ensures that when a type changes to
4304have more or fewer constructors, then the generator either fixes itself to
4305generate that new case (when using the uniform distribution) or causes a
4306compilation error so you remember to fix it (when using an explicit
4307distribution).
4308
4309This package also offers a simple (optional) strategy to ensure termination
4310for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4311at every recursive call; when it reaches zero, sample directly from a
4312trivially terminating generator given explicitly (@code{genericArbitraryRec}
4313and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4314 (license license:expat)))
4315
4316(define-public ghc-generics-sop
4317 (package
4318 (name "ghc-generics-sop")
4319 (version "0.5.1.4")
4320 (source
4321 (origin
4322 (method url-fetch)
4323 (uri (hackage-uri "generics-sop" version))
4324 (sha256
4325 (base32 "0zkri1w7qdqlxcfx0kzld7ai5g7xzxwxjxjfa7wnjx09fqhiqsk1"))))
4326 (build-system haskell-build-system)
4327 (properties '((upstream-name . "generics-sop")))
4328 (inputs (list ghc-sop-core ghc-th-abstraction))
4329 (arguments
4330 `(#:cabal-revision ("2"
4331 "0xacmrv5jscb2jxqpvrnrd8cq80zk2ww6f3ajkdl9y4nl2h68a56")))
4332 (home-page "http://hackage.haskell.org/package/generics-sop")
4333 (synopsis "Generic Programming using True Sums of Products for Haskell")
4334 (description
4335 "This Haskell package supports the definition of generic
4336functions. Datatypes are viewed in a uniform, structured way: the choice
4337between constructors is represented using an n-ary sum, and the arguments of
4338each constructor are represented using an n-ary product.")
4339 (license license:bsd-3)))
4340
4341(define-public ghc-genvalidity
4342 (package
4343 (name "ghc-genvalidity")
4344 (version "1.1.1.0")
4345 (source
4346 (origin
4347 (method url-fetch)
4348 (uri (hackage-uri "genvalidity" version))
4349 (sha256
4350 (base32 "0l3xprs2gbf9xcgmm5813rbprway8p2qwxnqnxwb53snxfms8c0f"))))
4351 (build-system haskell-build-system)
4352 (properties '((upstream-name . "genvalidity")))
4353 (inputs (list ghc-quickcheck ghc-random ghc-validity))
4354 (native-inputs (list ghc-hspec ghc-hspec-core hspec-discover))
4355 (home-page "https://github.com/NorfairKing/validity#readme")
4356 (synopsis "Testing utilities for the @code{validity} library")
4357 (description
4358 "This package provides testing utilities that are useful in conjunction
4359with the @code{Validity} typeclass.")
4360 (license license:expat)))
4361
4362(define-public ghc-genvalidity-property
4363 (package
4364 (name "ghc-genvalidity-property")
4365 (version "1.0.0.0")
4366 (source
4367 (origin
4368 (method url-fetch)
4369 (uri (hackage-uri "genvalidity-property" version))
4370 (sha256
4371 (base32 "1nxcdq04rkckrb3v49pjx378n5s828k24x7hix6manyxqmd3hplw"))))
4372 (build-system haskell-build-system)
4373 (properties '((upstream-name . "genvalidity-property")))
4374 (inputs (list ghc-quickcheck ghc-genvalidity ghc-hspec ghc-pretty-show
4375 ghc-validity))
4376 (native-inputs (list hspec-discover))
4377 (home-page "https://github.com/NorfairKing/validity#readme")
4378 (synopsis "Standard properties for functions on @code{Validity} types")
4379 (description
4380 "This package supplements the @code{Validity} typeclass with standard
4381properties for functions operating on them.")
4382 (license license:expat)))
4383
4384(define-public ghc-getopt-generics
4385 (package
4386 (name "ghc-getopt-generics")
4387 (version "0.13.1.0")
4388 (source
4389 (origin
4390 (method url-fetch)
4391 (uri (hackage-uri "getopt-generics" version))
4392 (sha256
4393 (base32 "00xswyi9y49qab2fpkdx7isx40kfa93p3gfransivzgg9m3si37d"))))
4394 (build-system haskell-build-system)
4395 (properties '((upstream-name . "getopt-generics")))
4396 (inputs (list ghc-base-compat ghc-base-orphans ghc-generics-sop ghc-tagged))
4397 (native-inputs (list ghc-quickcheck ghc-hspec hspec-discover ghc-safe ghc-silently))
4398 (home-page "https://github.com/soenkehahn/getopt-generics#readme")
4399 (synopsis "Create command line interfaces with ease")
4400 (description "This library provides tools to create command line
4401interfaces with ease.")
4402 (license license:bsd-3)))
4403
4404(define-public ghc-gitrev
4405 (package
4406 (name "ghc-gitrev")
4407 (version "1.3.1")
4408 (source
4409 (origin
4410 (method url-fetch)
4411 (uri (hackage-uri "gitrev" version))
4412 (sha256
4413 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4414 (build-system haskell-build-system)
4415 (properties '((upstream-name . "gitrev")))
4416 (inputs (list ghc-base-compat))
4417 (home-page "https://github.com/acfoltzer/gitrev")
4418 (synopsis "Compile git revision info into Haskell projects")
4419 (description
4420 "This package provides some handy Template Haskell splices for including
4421the current git hash and branch in the code of your project. This is useful
4422for including in panic messages, @command{--version} output, or diagnostic
4423info for more informative bug reports.")
4424 (license license:bsd-3)))
4425
4426(define-public ghc-glob
4427 (package
4428 (name "ghc-glob")
4429 (version "0.10.2")
4430 (source
4431 (origin
4432 (method url-fetch)
4433 (uri (hackage-uri "Glob" version))
4434 (sha256
4435 (base32
4436 "1h3kh46qds4nqvixm4myy1kb5slg53f44hfn8aymrlr7hjn75xka"))))
4437 (build-system haskell-build-system)
4438 (properties '((upstream-name . "Glob")))
4439 (arguments
4440 `(#:cabal-revision
4441 ("3" "1080rd5073g87rfm5whimb72b75105lqanybrbsfi14gmvndnbfx")))
4442 (inputs
4443 (list ghc-dlist ghc-semigroups-bootstrap ghc-transformers-compat))
4444 (native-inputs
4445 (list ghc-hunit ghc-quickcheck ghc-test-framework
4446 ghc-test-framework-hunit ghc-test-framework-quickcheck2))
4447 (home-page "https://iki.fi/matti.niemenmaa/glob/")
4448 (synopsis "Haskell library matching glob patterns against file paths")
4449 (description "This package provides a Haskell library for @dfn{globbing}:
4450matching patterns against file paths.")
4451 (license license:bsd-3)))
4452
4453(define-public ghc-gluraw
4454 (package
4455 (name "ghc-gluraw")
4456 (version "2.0.0.5")
4457 (source
4458 (origin
4459 (method url-fetch)
4460 (uri (hackage-uri "GLURaw" version))
4461 (sha256
4462 (base32 "1b3rnva77k9naw5bl573bqgmsq7n9i8rrrvfvhbjcndqgmzhkini"))))
4463 (build-system haskell-build-system)
4464 (properties '((upstream-name . "GLURaw")))
4465 (inputs (list glu ghc-openglraw))
4466 (home-page "http://www.haskell.org/haskellwiki/Opengl")
4467 (synopsis "Raw Haskell bindings GLU")
4468 (description
4469 "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4470utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4471basis for a nicer interface.")
4472 (license license:bsd-3)))
4473
4474(define-public ghc-glut
4475 (package
4476 (name "ghc-glut")
4477 (version "2.7.0.16")
4478 (source
4479 (origin
4480 (method url-fetch)
4481 (uri (hackage-uri "GLUT" version))
4482 (sha256
4483 (base32 "0vdkfj4wjzigdpzgr5l001y9wkhwgl00mclr26gf93kps14fkymn"))))
4484 (build-system haskell-build-system)
4485 (properties '((upstream-name . "GLUT")))
4486 (inputs (list ghc-statevar ghc-opengl ghc-openglraw ghc-random))
4487 (arguments
4488 `(#:cabal-revision ("4"
4489 "0xfm8l90llyyqj3aip0i87ykq936zfl3bc7sibgdng8dhi5xj7y3")))
4490 (home-page "http://www.haskell.org/haskellwiki/Opengl")
4491 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4492 (description
4493 "This library provides Haskell bindings for the OpenGL
4494Utility Toolkit, a window system-independent toolkit for writing OpenGL
4495programs.")
4496 (license license:bsd-3)))
4497
4498(define-public ghc-gnuplot
4499 (package
4500 (name "ghc-gnuplot")
4501 (version "0.5.7")
4502 (source
4503 (origin
4504 (method url-fetch)
4505 (uri (hackage-uri "gnuplot" version))
4506 (sha256
4507 (base32 "1glahh3si5bpazsklnpwxx4h4ivgb4wyngc032797zq1496fhhm3"))))
4508 (build-system haskell-build-system)
4509 (properties '((upstream-name . "gnuplot")))
4510 (inputs (list ghc-temporary ghc-utility-ht ghc-data-accessor-transformers
4511 ghc-data-accessor ghc-semigroups))
4512 (arguments
4513 `(#:cabal-revision ("3"
4514 "1rwlkr94h6lzp6aa3p4i5dgdl1i9nl7mahxny2qz9ggjbj4yiw65")))
4515 (home-page "http://www.haskell.org/haskellwiki/Gnuplot")
4516 (synopsis "2D and 3D plots using gnuplot")
4517 (description "This package provides a Haskell module for creating 2D and
45183D plots using gnuplot.")
4519 (license license:bsd-3)))
4520
4521(define-public ghc-graphviz
4522 (package
4523 (name "ghc-graphviz")
4524 (version "2999.20.2.1")
4525 (source
4526 (origin
4527 (method url-fetch)
4528 (uri (hackage-uri "graphviz" version))
4529 (sha256
4530 (base32 "10mksxlg0pn82z6sfz8xnnmhn03ddi4cml9fh3wlgph1ksjhzz4g"))))
4531 (build-system haskell-build-system)
4532 (properties '((upstream-name . "graphviz")))
4533 (inputs (list ghc-temporary
4534 ghc-fgl
4535 ghc-polyparse
4536 ghc-colour
4537 ghc-wl-pprint-text
4538 ghc-dlist))
4539 (native-inputs (list ghc-fgl-arbitrary ghc-hspec ghc-quickcheck))
4540 (home-page "http://hackage.haskell.org/package/graphviz")
4541 (synopsis "Bindings to Graphviz for graph visualisation")
4542 (description
4543 "This library provides bindings for the Dot language used by
4544the @uref{https://graphviz.org/, Graphviz} suite of programs for
4545visualising graphs, as well as functions to call those programs.
4546Main features of the graphviz library include:
4547
4548@enumerate
4549@item Almost complete coverage of all Graphviz attributes and syntax
4550@item Support for specifying clusters
4551@item The ability to use a custom node type
4552@item Functions for running a Graphviz layout tool with all specified output types
4553@item Generate and parse Dot code with two options: strict and liberal
4554@item Functions to convert FGL graphs and other graph-like data structures
4555@item Round-trip support for passing an FGL graph through Graphviz to augment node
4556and edge labels with positional information, etc.
4557@end enumerate
4558")
4559 (license license:bsd-3)))
4560
4561(define-public ghc-groups
4562 (package
4563 (name "ghc-groups")
4564 (version "0.5.3")
4565 (source
4566 (origin
4567 (method url-fetch)
4568 (uri (hackage-uri "groups" version))
4569 (sha256
4570 (base32 "0f5c8dg9b74glfw2sdvdcl9c8igs6knz1bayk4gvvzvypsl547nf"))))
4571 (build-system haskell-build-system)
4572 (properties '((upstream-name . "groups")))
4573 (home-page "http://hackage.haskell.org/package/groups")
4574 (synopsis "Haskell 98 groups")
4575 (description "This package provides Haskell 98 groups. A group is a
4576monoid with invertibility.")
4577 (license license:bsd-3)))
4578
4579(define-public ghc-gtk2hs-buildtools
4580 (package
4581 (name "ghc-gtk2hs-buildtools")
4582 (version "0.13.12.0")
4583 (source
4584 (origin
4585 (method url-fetch)
4586 (uri (hackage-uri "gtk2hs-buildtools" version))
4587 (sha256
4588 (base32 "15g4y6i0w0grnl1vi2c51k10qzhdbnqqk2vp2p3pclx5n41g6213"))))
4589 (build-system haskell-build-system)
4590 (properties '((upstream-name . "gtk2hs-buildtools")))
4591 (inputs (list ghc-random ghc-hashtables))
4592 (native-inputs (list ghc-alex ghc-happy))
4593 (home-page "http://projects.haskell.org/gtk2hs/")
4594 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4595 (description
4596 "This package provides a set of helper programs necessary to build the
4597Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4598that is used to generate FFI declarations, a tool to build a type hierarchy
4599that mirrors the C type hierarchy of GObjects found in glib, and a generator
4600for signal declarations that are used to call back from C to Haskell. These
4601tools are not needed to actually run Gtk2Hs programs.")
4602 (license license:gpl2)))
4603
4604(define-public ghc-hackage-security
4605 (package
4606 (name "ghc-hackage-security")
4607 (version "0.6.3.1")
4608 (source
4609 (origin
4610 (method url-fetch)
4611 (uri (hackage-uri "hackage-security" version))
4612 (sha256
4613 (base32 "05sckvvwj10krkhp1457mgp1hgq45p7r2sp850g3b5689i91mvqx"))))
4614 (build-system haskell-build-system)
4615 (properties '((upstream-name . "hackage-security")))
4616 (inputs (list ghc-base16-bytestring
4617 ghc-base64-bytestring
4618 ghc-cryptohash-sha256
4619 ghc-ed25519
4620 ghc-network-uri
4621 ghc-network
4622 ghc-tar
4623 ghc-zlib
4624 ghc-cabal-syntax))
4625 (native-inputs (list ghc-tasty
4626 ghc-tasty-hunit
4627 ghc-tasty-quickcheck
4628 ghc-quickcheck
4629 ghc-aeson
4630 ghc-vector
4631 ghc-unordered-containers
4632 ghc-temporary))
4633 (arguments
4634 `(#:cabal-revision ("1"
4635 "1si6mkc8gimkpqkdl2wyzxp14v7yphp40hxvp77im7bhr8brsa77")))
4636 (home-page "https://github.com/haskell/hackage-security")
4637 (synopsis "Hackage security library")
4638 (description
4639 "This Hackage security library provides both server and
4640client utilities for securing @uref{https://hackage.haskell.org/, the
4641Hackage package server}. It is based on
4642@uref{http://theupdateframework.com/, The Update Framework}, a set of
4643recommendations developed by security researchers at various universities
4644in the US as well as developers on the @uref{https://www.torproject.org/,
4645Tor project}.")
4646 (license license:bsd-3)))
4647
4648(define-public ghc-haddock
4649 (package
4650 (name "ghc-haddock")
4651 (version "2.26.0")
4652 (source
4653 (origin
4654 (method url-fetch)
4655 (uri (hackage-uri "haddock" version))
4656 (sha256
4657 (base32
4658 "0jqp37pbz4zjqc3dm0jkcsdqsh2ql9ygnr06m75bbk330yqchnl3"))))
4659 (build-system haskell-build-system)
4660 (properties '((upstream-name . "haddock")))
4661 (arguments
4662 `(#:tests? #f ; TODO: haddock-test does not build.
4663 #:phases
4664 (modify-phases %standard-phases
4665 (add-before 'check 'add-haddock-to-path
4666 (lambda _
4667 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4668 ":" (getenv "PATH")))
4669 #t)))))
4670 (inputs (list ghc-haddock-api))
4671; (native-inputs
4672; `(("ghc-haddock-test" ,ghc-haddock-test)
4673; ("ghc-hspec" ,ghc-hspec)))
4674 (home-page "https://www.haskell.org/haddock/")
4675 (synopsis
4676 "Documentation-generation tool for Haskell libraries")
4677 (description
4678 "Haddock is a documentation-generation tool for Haskell libraries.")
4679 (license license:bsd-3)))
4680
4681(define-public ghc-haddock-api
4682 (package
4683 (name "ghc-haddock-api")
4684 (version "2.26.0")
4685 (source
4686 (origin
4687 (method url-fetch)
4688 (uri (hackage-uri "haddock-api" version))
4689 (sha256
4690 (base32
4691 "0ris5m61vig5nh5y2ddm98midl3v51vzgfgvsfyhm3nwk5hif6ay"))))
4692 (build-system haskell-build-system)
4693 (properties '((upstream-name . "haddock-api")))
4694 (inputs
4695 (list ghc-paths ghc-haddock-library))
4696 (native-inputs
4697 (list ghc-quickcheck ghc-hspec hspec-discover))
4698 (arguments
4699 `(#:phases
4700 (modify-phases %standard-phases
4701 (add-before 'configure 'update-constraints
4702 (lambda _
4703 (substitute* "haddock-api.cabal"
4704 (("haddock-library \\^>= 1\\.9\\.0") "haddock-library")
4705 (("hspec \\^>= 2.8") "hspec")))))))
4706 (home-page "https://www.haskell.org/haddock/")
4707 (synopsis "API for documentation-generation tool Haddock")
4708 (description "This package provides an API to Haddock, the
4709documentation-generation tool for Haskell libraries.")
4710 (license license:bsd-3)))
4711
4712(define-public ghc-haddock-library
4713 (package
4714 (name "ghc-haddock-library")
4715 (version "1.11.0")
4716 (source
4717 (origin
4718 (method url-fetch)
4719 (uri (hackage-uri "haddock-library" version))
4720 (sha256
4721 (base32 "02m2pr1jyn0k86bjqksn2vrpyv0y40sj3rq5svcs5c3qlg4mw1vw"))))
4722 (build-system haskell-build-system)
4723 (properties '((upstream-name . "haddock-library")))
4724 (native-inputs (list ghc-base-compat
4725 ghc-quickcheck
4726 ghc-hspec
4727 hspec-discover
4728 ghc-base-compat
4729 ghc-optparse-applicative
4730 ghc-tree-diff))
4731 (arguments
4732 (list
4733 #:phases
4734 #~(modify-phases %standard-phases
4735 (add-before 'configure 'relax-dependency-versions
4736 (lambda _
4737 (substitute* "haddock-library.cabal"
4738 (("(base-compat|filepath) +[0-9<>=^.|& ]*" all package)
4739 package)))))
4740 #:cabal-revision '("5"
4741 "1gi861bwyizq164pl2ikqr3zmklifndizlr5hn1ly0zq58ram3yi")))
4742 (home-page "http://www.haskell.org/haddock/")
4743 (synopsis "Library exposing some functionality of Haddock")
4744 (description
4745 "Haddock is a documentation-generation tool for Haskell libraries. These
4746modules expose some functionality of it without pulling in the GHC dependency.
4747Please note that the API is likely to change so specify upper bounds in your
4748project if you can't release often. For interacting with Haddock itself, see
4749the ‘haddock’ package.")
4750 (license license:bsd-3)))
4751
4752;; This package is needed for testing 'ghc-haddock'. It is no longer
4753;; published to Hackage, but it is maintained in the Haddock Git
4754;; repository.
4755(define ghc-haddock-test
4756 (package
4757 (name "ghc-haddock-test")
4758 (version "2.22.0")
4759 (source
4760 (origin
4761 (method git-fetch)
4762 (uri (git-reference
4763 (url "https://github.com/haskell/haddock")
4764 (commit (string-append "haddock-" version "-release"))))
4765 (file-name (git-file-name name version))
4766 (sha256
4767 (base32
4768 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4769 (build-system haskell-build-system)
4770 (arguments
4771 `(#:phases
4772 (modify-phases %standard-phases
4773 (add-after 'unpack 'change-directory
4774 (lambda _
4775 (chdir "haddock-test"))))))
4776 (inputs
4777 `(("ghc-syb" ,ghc-syb)
4778 ("ghc-xml" ,ghc-xml)))
4779 (home-page "https://www.haskell.org/haddock/")
4780 (synopsis "Test utilities for Haddock")
4781 (description "This package provides test utilities for Haddock.")
4782 (license license:bsd-3)
4783 (properties '((hidden? #t)))))
4784
4785(define-public ghc-hakyll
4786 (package
4787 (name "ghc-hakyll")
4788 ;; XXX: Stackage LTS version is incompatible with our packaged
4789 ;; version of optparse-applicative and template-haskell.
4790 (version "4.17.0.0")
4791 (source
4792 (origin
4793 (method url-fetch)
4794 (uri (hackage-uri "hakyll" version))
4795 (sha256
4796 (base32 "0gk7ar6iz6wrz9z7zibqjn1y65h9572cmlfhq38n86jsrrff4am0"))))
4797 (build-system haskell-build-system)
4798 (arguments
4799 (list
4800 #:phases
4801 #~(modify-phases %standard-phases
4802 (add-after 'unpack 'fix-paths
4803 (lambda* (#:key inputs #:allow-other-keys)
4804 (substitute* "tests/Hakyll/Core/UnixFilter/Tests.hs"
4805 (("unixFilter \"([^\"]+)\"" all cmd)
4806 (string-append
4807 "unixFilter "
4808 "\""
4809 (search-input-file inputs (string-append "/bin/" cmd))
4810 "\""))))))))
4811 (properties '((upstream-name . "hakyll")))
4812 (inputs (list ghc-aeson
4813 ghc-blaze-html
4814 ghc-data-default
4815 ghc-file-embed
4816 ghc-hashable
4817 ghc-lrucache
4818 ghc-network-uri
4819 ghc-optparse-applicative
4820 ghc-random
4821 ghc-regex-tdfa
4822 ghc-resourcet
4823 ghc-scientific
4824 ghc-tagsoup
4825 ghc-time-locale-compat
4826 ghc-vector
4827 ghc-wai-app-static
4828 ghc-yaml
4829 ghc-xml-conduit
4830 ghc-wai
4831 ghc-warp
4832 ghc-http-types
4833 ghc-fsnotify
4834 ghc-http-conduit
4835 ghc-pandoc
4836 ghc-pandoc-types))
4837 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-golden
4838 ghc-tasty-hunit ghc-tasty-quickcheck util-linux))
4839 (home-page "https://jaspervdj.be/hakyll/")
4840 (synopsis
4841 "This package provides a Haskell-based static website compiler library")
4842 (description
4843 "Hakyll is a static website compiler library. That is, it provides you
4844with the tools to create a simple or advanced static website using a Haskell
4845@acronym{EDSL, Embedded Domain Specific Language} and input formats such as
4846Markdown or @acronym{RST, reStructuredText}.")
4847 (license license:bsd-3)))
4848
4849(define-public ghc-half
4850 (package
4851 (name "ghc-half")
4852 (version "0.3.3")
4853 (source
4854 (origin
4855 (method url-fetch)
4856 (uri (hackage-uri "half" version))
4857 (sha256
4858 (base32 "00mb2xfz0q8sq8zxqpw3ycp1p8gjhlgc0wxh5xr7kzyn52b08xpl"))))
4859 (build-system haskell-build-system)
4860 (properties '((upstream-name . "half")))
4861 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-quickcheck))
4862 (home-page "http://github.com/ekmett/half")
4863 (synopsis "Half-precision floating-point computations")
4864 (description "This library provides a half-precision floating-point
4865computation library for Haskell.")
4866 (license license:bsd-3)))
4867
4868(define-public ghc-happy-lib
4869 (package
4870 (name "ghc-happy-lib")
4871 (version "2.1.7")
4872 (source
4873 (origin
4874 (method url-fetch)
4875 (uri (hackage-uri "happy-lib" version))
4876 (sha256
4877 (base32 "0sgj004khhy95xlw514s7pl8vk02fmssh3sn7kxgmdgjlg2b49gn"))))
4878 (build-system haskell-build-system)
4879 (properties '((upstream-name . "happy-lib")))
4880 (home-page "https://www.haskell.org/happy/")
4881 (synopsis
4882 "Happy is a parser generator for Haskell implemented using this library")
4883 (description
4884 "Given a grammar specification in BNF, Happy generates Haskell code to
4885parse the grammar. Happy works in a similar way to the yacc tool for C.")
4886 (license license:bsd-2)))
4887
4888(define-public ghc-happy
4889 (package
4890 (name "ghc-happy")
4891 (version "2.1.7")
4892 (source
4893 (origin
4894 (method url-fetch)
4895 (uri (hackage-uri "happy" version))
4896 (sha256
4897 (base32 "0aky5m9r3420h88ghq0qf9ck09g8ysr1aqlgb531vlc2n050yfcy"))))
4898 (build-system haskell-build-system)
4899 (properties '((upstream-name . "happy")))
4900 (arguments
4901 (list
4902 #:phases
4903 #~(modify-phases %standard-phases
4904 (add-before 'check 'fix-testsuite
4905 (lambda _
4906 (setenv "HAPPY" (string-append (getcwd) "/dist/build/happy/happy")))))))
4907 (inputs (list ghc-happy-lib))
4908 (native-inputs (list which))
4909 (home-page "https://www.haskell.org/happy/")
4910 (synopsis "Parser generator for Haskell")
4911 (description
4912 "Happy is a parser generator for Haskell. Given a grammar
4913specification in BNF, Happy generates Haskell code to parse the grammar.
4914Happy works in a similar way to the yacc tool for C.")
4915 (license license:bsd-2)))
4916
4917(define-public ghc-hashable
4918 (package
4919 (name "ghc-hashable")
4920 (version "1.5.0.0")
4921 (source
4922 (origin
4923 (method url-fetch)
4924 (uri (hackage-uri "hashable" version))
4925 (sha256
4926 (base32 "0snvrnh9q4arjwk6hdvb4zwb22sh7rlgvr9px7bnqpys3273m2z5"))))
4927 (build-system haskell-build-system)
4928 (properties '((upstream-name . "hashable")))
4929 (native-inputs (list ghc-hunit
4930 ghc-quickcheck
4931 ghc-random
4932 ghc-tasty
4933 ghc-tasty-hunit
4934 ghc-tasty-quickcheck
4935 ghc-primitive
4936 ghc-tasty
4937 ghc-tasty-hunit
4938 ghc-tasty-quickcheck))
4939 (arguments
4940 `(#:cabal-revision ("1"
4941 "1vsq3wv397lp208p7zs8fplxdix4jmv688dj4ych4983prn188rg")))
4942 (home-page "http://github.com/haskell-unordered-containers/hashable")
4943 (synopsis "Class for types that can be converted to a hash value")
4944 (description
4945 "This package defines a class, @code{Hashable}, for types that can be
4946converted to a hash value. This class exists for the benefit of hashing-based
4947data structures. The package provides instances for basic types and a way to
4948combine hash values.")
4949 (license license:bsd-3)))
4950
4951(define-public ghc-hashable-bootstrap
4952 (package
4953 (inherit ghc-hashable)
4954 (name "ghc-hashable-bootstrap")
4955 (arguments
4956 `(#:tests? #f
4957 ,@(package-arguments ghc-hashable)))
4958 (native-inputs '())
4959 (properties '((hidden? #t)))))
4960
4961(define-public ghc-hashtables
4962 (package
4963 (name "ghc-hashtables")
4964 (version "1.4.2")
4965 (source
4966 (origin
4967 (method url-fetch)
4968 (uri (hackage-uri "hashtables" version))
4969 (sha256
4970 (base32 "03gga0iz3mg42wbjsydvk0cqkhzipyphf2ff8n7r233cxsgjj3na"))))
4971 (build-system haskell-build-system)
4972 (properties '((upstream-name . "hashtables")))
4973 (inputs (list ghc-hashable ghc-primitive ghc-vector))
4974 (native-inputs (list ghc-mwc-random ghc-quickcheck ghc-tasty
4975 ghc-tasty-quickcheck ghc-tasty-hunit))
4976 (home-page "http://github.com/gregorycollins/hashtables")
4977 (synopsis "Haskell Mutable hash tables in the ST monad")
4978 (description
4979 "This package provides a Haskell library including a
4980couple of different implementations of mutable hash tables in the ST
4981monad, as well as a typeclass abstracting their common operations, and
4982a set of wrappers to use the hash tables in the IO monad.")
4983 (license license:bsd-3)))
4984
4985(define-public ghc-haskeline
4986 (package
4987 (name "ghc-haskeline")
4988 (version "0.8.4.1")
4989 (source
4990 (origin
4991 (method url-fetch)
4992 (uri (hackage-uri "haskeline" version))
4993 (sha256
4994 (base32 "0kxdgy3s6pakb7yqk9jy747xv6n3plzwxnnzabqnyk83cs0d8n22"))))
4995 (build-system haskell-build-system)
4996 (properties '((upstream-name . "haskeline")))
4997 (native-inputs (list ghc-hunit which))
4998 (arguments
4999 (list
5000 #:phases
5001 #~(modify-phases %standard-phases
5002 (add-before 'check 'fix-path
5003 (lambda _
5004 (setenv "PATH" (string-append "dist/build/haskeline-examples-Test:" (getenv "PATH"))))))))
5005 (home-page "https://github.com/judah/haskeline")
5006 (synopsis "Command-line interface for user input, written in Haskell")
5007 (description
5008 "Haskeline provides a user interface for line input in command-line
5009programs. This library is similar in purpose to readline, but since it is
5010written in Haskell it is (hopefully) more easily used in other Haskell
5011programs.
5012
5013Haskeline runs both on POSIX-compatible systems and on Windows.")
5014 (license license:bsd-3)))
5015
5016(define-public ghc-haskell-lexer
5017 (package
5018 (name "ghc-haskell-lexer")
5019 (version "1.2.1")
5020 (source
5021 (origin
5022 (method url-fetch)
5023 (uri (hackage-uri "haskell-lexer" version))
5024 (sha256
5025 (base32 "0h8s19j2flby3qrvb93j1d2lpjl1jgin8lj6dqpb7c86h59f2xlx"))))
5026 (build-system haskell-build-system)
5027 (properties '((upstream-name . "haskell-lexer")))
5028 (home-page "https://github.com/yav/haskell-lexer")
5029 (synopsis "Fully compliant Haskell 98 lexer")
5030 (description "This package provides a fully compliant Haskell 98 lexer.")
5031 (license license:expat)))
5032
5033(define-public ghc-haskell-src
5034 (package
5035 (name "ghc-haskell-src")
5036 (version "1.0.4.2")
5037 (source
5038 (origin
5039 (method url-fetch)
5040 (uri (hackage-uri "haskell-src" version))
5041 (sha256
5042 (base32 "1bairsbik3n9pbhkl547793sh9dp15n32a93di2n1xa75bbiy3zy"))))
5043 (build-system haskell-build-system)
5044 (properties '((upstream-name . "haskell-src")))
5045 (inputs (list ghc-syb))
5046 (native-inputs (list ghc-happy))
5047 (home-page "http://hackage.haskell.org/package/haskell-src")
5048 (synopsis "Support for manipulating Haskell source code")
5049 (description
5050 "The @code{haskell-src} package provides support for manipulating Haskell
5051source code. The package provides a lexer, parser and pretty-printer, and a
5052definition of a Haskell abstract syntax tree (AST). Common uses of this
5053package are to parse or generate Haskell 98 code.")
5054 (license license:bsd-3)))
5055
5056(define-public ghc-haskell-src-exts
5057 (package
5058 (name "ghc-haskell-src-exts")
5059 (version "1.23.1")
5060 (source
5061 (origin
5062 (method url-fetch)
5063 (uri (hackage-uri "haskell-src-exts" version))
5064 (sha256
5065 (base32 "01bcrxs9af4yqpclw43aijmsd1g19qhyzb47blz7vzwz2r3k11b7"))))
5066 (build-system haskell-build-system)
5067 (properties '((upstream-name . "haskell-src-exts")))
5068 (native-inputs (list ghc-smallcheck ghc-tasty ghc-tasty-smallcheck
5069 ghc-tasty-golden ghc-pretty-show ghc-happy))
5070 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5071 (synopsis "Library for manipulating Haskell source")
5072 (description
5073 "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5074extension of the standard @code{haskell-src} package, and handles most
5075registered syntactic extensions to Haskell. All extensions implemented in GHC
5076are supported. Apart from these standard extensions, it also handles regular
5077patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5078 (license license:bsd-3)))
5079
5080(define-public ghc-haskell-src-exts-util
5081 (package
5082 (name "ghc-haskell-src-exts-util")
5083 (version "0.2.5")
5084 (source
5085 (origin
5086 (method url-fetch)
5087 (uri (hackage-uri "haskell-src-exts-util" version))
5088 (sha256
5089 (base32 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5090 (build-system haskell-build-system)
5091 (properties '((upstream-name . "haskell-src-exts-util")))
5092 (inputs (list ghc-data-default ghc-haskell-src-exts ghc-semigroups
5093 ghc-uniplate))
5094 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5095 (synopsis "Helper functions for working with haskell-src-exts trees")
5096 (description "This package provides helper functions for working with
5097@code{haskell-src-exts} trees.")
5098 (license license:bsd-3)))
5099
5100(define-public ghc-haskell-src-meta
5101 (package
5102 (name "ghc-haskell-src-meta")
5103 (version "0.8.15")
5104 (source
5105 (origin
5106 (method url-fetch)
5107 (uri (hackage-uri "haskell-src-meta" version))
5108 (sha256
5109 (base32 "1ghdddbrhv4qwa7fgibafs7y2mr1rxrh2w67irs15wfmk4qvdsi6"))))
5110 (build-system haskell-build-system)
5111 (properties '((upstream-name . "haskell-src-meta")))
5112 (inputs (list ghc-haskell-src-exts ghc-syb ghc-th-orphans))
5113 (native-inputs (list ghc-hunit ghc-tasty ghc-tasty-hunit))
5114 (home-page "http://hackage.haskell.org/package/haskell-src-meta")
5115 (synopsis "Parse source to template-haskell abstract syntax")
5116 (description "This package provides tools to parse Haskell sources to the
5117template-haskell abstract syntax.")
5118 (license license:bsd-3)))
5119
5120(define-public ghc-hasktags
5121 (package
5122 (name "ghc-hasktags")
5123 (version "0.73.0")
5124 (source
5125 (origin
5126 (method url-fetch)
5127 (uri (hackage-uri "hasktags" version))
5128 (sha256
5129 (base32 "0w0g50ggdmkpxgwqdwdbizw3cz8q86l1xwhvj3bjczh72q5xa0nh"))))
5130 (build-system haskell-build-system)
5131 (properties '((upstream-name . "hasktags")))
5132 (inputs (list ghc-json ghc-microlens-platform ghc-utf8-string
5133 ghc-optparse-applicative))
5134 (native-inputs (list ghc-hunit))
5135 (arguments
5136 `(#:cabal-revision ("2"
5137 "175kmkz4k2dssn4dg0d288allkqwx8y6m3p7pcgg88km8d2p0mgp")))
5138 (home-page "http://github.com/MarcWeber/hasktags")
5139 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5140 (description
5141 "This package provides a means of generating tag files for Emacs and
5142Vim.")
5143 (license license:bsd-3)))
5144
5145(define-public ghc-hcodecs
5146 (package
5147 (name "ghc-hcodecs")
5148 (version "0.5.2")
5149 (source (origin
5150 (method url-fetch)
5151 (uri (hackage-uri "HCodecs" version))
5152 (sha256
5153 (base32
5154 "0gbspig721viwncsfg9m4qc9jbl9rz93ra74d5b1zw9pw7rhy5ji"))))
5155 (build-system haskell-build-system)
5156 (inputs (list ghc-fail
5157 ghc-random
5158 ghc-semigroups))
5159 (native-inputs (list ghc-quickcheck))
5160 (home-page "https://github.com/Mokosha/HCodecs")
5161 (synopsis "Read, write and manipulate MIDI, WAVE and SoundFont2 multimedia files")
5162 (description "This library provides functions to read, write and manipulate MIDI, WAVE
5163and SoundFont2 multimedia files. It is written entirely in Haskell (without any FFI).
5164It uses efficient parsing and building combinators for binary data stored in ByteStrings
5165(based on the one in binary package).")
5166 (license license:bsd-3)))
5167
5168(define-public ghc-hex
5169 (package
5170 (name "ghc-hex")
5171 (version "0.2.0")
5172 (source
5173 (origin
5174 (method url-fetch)
5175 (uri (hackage-uri "hex" version))
5176 (sha256
5177 (base32 "1mc66758254d93m7vab7q6lhn7qphzxd6wyc3v6yq1diy0gji4va"))))
5178 (build-system haskell-build-system)
5179 (properties '((upstream-name . "hex")))
5180 (home-page "https://github.com/taruti/haskell-hex")
5181 (synopsis "Convert strings into hexadecimal and back")
5182 (description "This package converts between bytestrings and their
5183hexadecimal string representation.")
5184 (license license:bsd-3)))
5185
5186(define-public ghc-hindent
5187 (package
5188 (name "ghc-hindent")
5189 (version "6.3.0")
5190 (source (origin
5191 (method url-fetch)
5192 (uri (hackage-uri "hindent" version))
5193 (sha256
5194 (base32
5195 "0axbrrpqm4p8d43ypdsgi345xz7zbdll9a1zv235dia4cxk0mpv4"))))
5196 (build-system haskell-build-system)
5197 (properties '((upstream-name . "hindent")))
5198 (inputs (list ghc-async
5199 ghc-lib-parser
5200 ghc-lib-parser-ex
5201 ghc-monad-loops
5202 ghc-optparse-applicative
5203 ghc-path
5204 ghc-path-io
5205 ghc-regex-tdfa
5206 ghc-split
5207 ghc-syb
5208 ghc-unicode-show
5209 ghc-utf8-string
5210 ghc-yaml))
5211 (native-inputs (list ghc-hspec ghc-diff))
5212 (home-page "https://github.com/mihaimaruseac/hindent")
5213 (synopsis "Extensible Haskell pretty printer")
5214 (description
5215 "This package provides automatic formatting for Haskell files. Both a
5216library and an executable.")
5217 (license license:bsd-3)))
5218
5219(define-public ghc-hinotify
5220 (package
5221 (name "ghc-hinotify")
5222 (version "0.4.2")
5223 (source
5224 (origin
5225 (method url-fetch)
5226 (uri (hackage-uri "hinotify" version))
5227 (sha256
5228 (base32 "1h6hvy9zcwvp5ww592b9q9rs5v86dacq6r01k75mzjakmjbnzm57"))))
5229 (build-system haskell-build-system)
5230 (properties '((upstream-name . "hinotify")))
5231 (inputs (list ghc-async))
5232 (home-page "https://github.com/kolmodin/hinotify")
5233 (synopsis "Haskell binding to inotify")
5234 (description
5235 "This library provides a wrapper to the Linux kernel's inotify
5236feature, allowing applications to subscribe to notifications when a file is
5237accessed or modified.")
5238 (license license:bsd-3)))
5239
5240(define-public ghc-hledger-lib
5241 (package
5242 (name "ghc-hledger-lib")
5243 (version "1.52.4")
5244 (source
5245 (origin
5246 (method url-fetch)
5247 (uri (hackage-uri "hledger-lib" version))
5248 (sha256
5249 (base32 "1kg63gxkg6d06rh8z6fb4qhvyijpbhgg7ha7xhi2x261y2vw82f7"))))
5250 (build-system haskell-build-system)
5251 (properties '((upstream-name . "hledger-lib")))
5252 (arguments
5253 (list
5254 #:phases
5255 #~(modify-phases %standard-phases
5256 ;; The doctests require GHC_PACKAGE_PATH but Setup.hs fails
5257 ;; if it is defined, so we run them separately
5258 (replace 'check
5259 (lambda* (#:key tests? #:allow-other-keys)
5260 (if tests?
5261 (let* ((tmpdir (or (getenv "TMP") "/tmp"))
5262 (package-db (string-append tmpdir "/package.conf.d")))
5263 (invoke "runhaskell" "Setup.hs" "test" "unittest")
5264 (setenv "GHC_PACKAGE_PATH" package-db)
5265 (invoke "./dist/build/doctest/doctest")
5266 (unsetenv "GHC_PACKAGE_PATH"))
5267 (format #t "Testsuite not run.%~")))))))
5268 (inputs (list ghc-decimal
5269 ghc-glob
5270 ghc-aeson
5271 ghc-aeson-pretty
5272 ghc-ansi-terminal
5273 ghc-blaze-html
5274 ghc-blaze-markup
5275 ghc-call-stack
5276 ghc-cassava
5277 ghc-cassava-megaparsec
5278 ghc-cmdargs
5279 ghc-colour
5280 ghc-data-default
5281 ghc-doclayout
5282 ghc-encoding
5283 ghc-extra
5284 ghc-file-embed
5285 ghc-hashtables
5286 ghc-lucid
5287 ghc-megaparsec
5288 ghc-microlens
5289 ghc-microlens-th
5290 ghc-parser-combinators
5291 ghc-pretty-simple
5292 ghc-regex-tdfa
5293 ghc-safe
5294 ghc-tabular
5295 ghc-tasty
5296 ghc-tasty-hunit
5297 ghc-terminal-size
5298 ghc-timeit
5299 ghc-uglymemo
5300 ghc-unordered-containers
5301 ghc-utf8-string))
5302 (native-inputs (list ghc-doctest))
5303 (home-page "http://hledger.org")
5304 (synopsis "Reusable library providing the core functionality of hledger")
5305 (description
5306 "A reusable library containing hledger's core functionality.
5307This is used by most hledger* packages so that they support the same common
5308file formats, command line options, reports etc.
5309
5310hledger is a robust, cross-platform set of tools for tracking money, time, or
5311any other commodity, using double-entry accounting and a simple, editable file
5312format, with command-line, terminal and web interfaces. It is a Haskell
5313rewrite of Ledger, and one of the leading implementations of Plain Text
5314Accounting.")
5315 (license license:gpl3)))
5316
5317(define-public ghc-hmatrix
5318 (package
5319 (name "ghc-hmatrix")
5320 (version "0.20.2")
5321 (source
5322 (origin
5323 (method url-fetch)
5324 (uri (hackage-uri "hmatrix" version))
5325 (sha256
5326 (base32 "05462prqkbqpxfbzsgsp8waf0sirg2qz6lzsk7r1ll752n7gqkbg"))))
5327 (build-system haskell-build-system)
5328 (properties '((upstream-name . "hmatrix")))
5329 (inputs (list ghc-random
5330 ghc-split
5331 ghc-primitive
5332 ghc-storable-complex
5333 ghc-semigroups
5334 ghc-vector))
5335 (arguments
5336 `(#:cabal-revision ("1"
5337 "154n2hddfk90rqd9fwwhfjnq6ab701nglsrdjss71brza93wjy8d")))
5338 (home-page "https://github.com/haskell-numerics/hmatrix")
5339 (synopsis "Haskell numeric linear algebra library")
5340 (description "The HMatrix package provides a Haskell library for
5341dealing with linear systems, matrix decompositions, and other
5342numerical computations based on BLAS and LAPACK.")
5343 (license license:bsd-3)))
5344
5345(define-public ghc-hmatrix-gsl
5346 (package
5347 (name "ghc-hmatrix-gsl")
5348 (version "0.19.0.1")
5349 (source
5350 (origin
5351 (method url-fetch)
5352 (uri (hackage-uri "hmatrix-gsl" version))
5353 (sha256
5354 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5355 (build-system haskell-build-system)
5356 (properties '((upstream-name . "hmatrix-gsl")))
5357 (inputs (list ghc-hmatrix ghc-vector ghc-random))
5358 (home-page "https://github.com/albertoruiz/hmatrix")
5359 (synopsis "Haskell GSL binding")
5360 (description
5361 "This Haskell library provides a purely functional
5362interface to selected numerical computations, internally implemented
5363using GSL.")
5364 (license license:gpl3)))
5365
5366(define-public ghc-hmatrix-gsl-stats
5367 (package
5368 (name "ghc-hmatrix-gsl-stats")
5369 (version "0.4.1.8")
5370 (source
5371 (origin
5372 (method url-fetch)
5373 (uri (hackage-uri "hmatrix-gsl-stats" version))
5374 (sha256
5375 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5376 (build-system haskell-build-system)
5377 (properties '((upstream-name . "hmatrix-gsl-stats")))
5378 (inputs (list ghc-vector ghc-storable-complex ghc-hmatrix))
5379 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5380 (synopsis "GSL Statistics interface for Haskell")
5381 (description "This Haskell library provides a purely functional
5382interface for statistics based on hmatrix and GSL.")
5383 (license license:bsd-3)))
5384
5385(define-public ghc-hmatrix-special
5386 (package
5387 (name "ghc-hmatrix-special")
5388 (version "0.19.0.0")
5389 (source
5390 (origin
5391 (method url-fetch)
5392 (uri (hackage-uri "hmatrix-special" version))
5393 (sha256
5394 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5395 (build-system haskell-build-system)
5396 (properties '((upstream-name . "hmatrix-special")))
5397 (inputs (list ghc-hmatrix ghc-hmatrix-gsl))
5398 (home-page "https://github.com/albertoruiz/hmatrix")
5399 (synopsis "Haskell interface to GSL special functions")
5400 (description "This library provides an interface to GSL special
5401functions for Haskell.")
5402 (license license:gpl3)))
5403
5404(define-public ghc-hookup
5405 (package
5406 (name "ghc-hookup")
5407 (version "0.8")
5408 (source
5409 (origin
5410 (method url-fetch)
5411 (uri (hackage-uri "hookup" version))
5412 (sha256
5413 (base32 "1p8mkb71bbs3lv7n1krcngaskn2s2icm3sl30qs8dsla7ww8afqm"))
5414 (snippet
5415 #~(substitute* "hookup.cabal"
5416 (("(base|network) *[0-9<>=^&|. ]*" _ package)
5417 package)))
5418 (modules '((guix build utils)))))
5419 (build-system haskell-build-system)
5420 (inputs
5421 (list ghc-async
5422 ghc-network
5423 ghc-attoparsec
5424 ghc-hsopenssl
5425 ghc-hsopenssl-x509-system))
5426 (properties '((upstream-name . "hookup")))
5427 (home-page "https://github.com/glguy/irc-core")
5428 (synopsis "Abstracts network connections over SOCKS5 and TLS")
5429 (description
5430 "This package provides an abstraction for communicating with line-oriented
5431network services while abstracting over the use of SOCKS5 and TLS (via
5432OpenSSL)")
5433 (license license:isc)))
5434
5435(define-public ghc-hostname
5436 (package
5437 (name "ghc-hostname")
5438 (version "1.0")
5439 (source
5440 (origin
5441 (method url-fetch)
5442 (uri (hackage-uri "hostname" version))
5443 (sha256
5444 (base32 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5445 (build-system haskell-build-system)
5446 (properties '((upstream-name . "hostname")))
5447 (home-page "http://hackage.haskell.org/package/hostname")
5448 (synopsis "Hostname in Haskell")
5449 (description "Network.HostName is a simple package providing a means to
5450determine the hostname.")
5451 (license license:bsd-3)))
5452
5453(define-public ghc-hourglass
5454 (package
5455 (name "ghc-hourglass")
5456 (version "0.2.12")
5457 (source
5458 (origin
5459 (method url-fetch)
5460 (uri (hackage-uri "hourglass" version))
5461 (sha256
5462 (base32 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5463 (build-system haskell-build-system)
5464 (properties '((upstream-name . "hourglass")))
5465 (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit
5466 ghc-old-locale))
5467 (arguments
5468 (list
5469 #:tests? #f ; tests require a badly outdated time library
5470 #:cabal-revision '("1"
5471 "0yc9k9lrx6z5r52mk3hra4v74ksk590d89lrj934bj1hrnv6ri45")))
5472 (home-page "https://github.com/vincenthz/hs-hourglass")
5473 (synopsis "Simple time-related library for Haskell")
5474 (description
5475 "This is a simple time library providing a simple but powerful and
5476performant API. The backbone of the library are the @code{Timeable} and
5477@code{Time} type classes. Each @code{Timeable} instances can be converted to
5478a type that has a @code{Time} instances, and thus are different
5479representations of current time.")
5480 (license license:bsd-3)))
5481
5482(define-public ghc-hpack
5483 (package
5484 (name "ghc-hpack")
5485 (version "0.38.2")
5486 (source
5487 (origin
5488 (method url-fetch)
5489 (uri (hackage-uri "hpack" version))
5490 (sha256
5491 (base32 "1g47rf3pglfkjyk3qfz6wvjp0zh16s4qhayqyyzxg91aqq3fqqd6"))))
5492 (build-system haskell-build-system)
5493 (properties '((upstream-name . "hpack")))
5494 (arguments (list #:tests? #f)) ; tests require internet access
5495 (inputs (list ghc-glob
5496 ghc-aeson
5497 ghc-bifunctors
5498 ghc-crypton
5499 ghc-http-client
5500 ghc-http-client-tls
5501 ghc-http-types
5502 ghc-infer-license
5503 ghc-scientific
5504 ghc-unordered-containers
5505 ghc-vector
5506 ghc-yaml))
5507 (native-inputs (list hspec-discover))
5508 (home-page "https://github.com/sol/hpack#readme")
5509 (synopsis "Tools for an alternative Haskell package format")
5510 (description
5511 "Hpack is a format for Haskell packages. It is an alternative to the
5512Cabal package format and follows different design principles. Hpack packages
5513are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5514@code{stack} support @code{package.yaml} natively. For other build tools the
5515@code{hpack} executable can be used to generate a @code{.cabal} file from
5516@code{package.yaml}.")
5517 (license license:expat)))
5518
5519(define-public ghc-hspec-megaparsec
5520 (package
5521 (name "ghc-hspec-megaparsec")
5522 (version "2.2.1")
5523 (source
5524 (origin
5525 (method url-fetch)
5526 (uri (hackage-uri "hspec-megaparsec" version))
5527 (sha256
5528 (base32 "0bbajckrjxynjmd8ax2xv4k5fbjgrypnmbg8amgwwpy0jrzzbx35"))))
5529 (build-system haskell-build-system)
5530 (properties '((upstream-name . "hspec-megaparsec")))
5531 (inputs (list ghc-hspec-expectations ghc-megaparsec))
5532 (native-inputs (list ghc-hspec))
5533 (home-page "https://github.com/mrkkrp/hspec-megaparsec")
5534 (synopsis "Utility functions for testing Megaparsec parsers with Hspec")
5535 (description
5536 "Provides a small set of helper functions for testing Megaparsec parsers
5537with Hspec.")
5538 (license license:bsd-3)))
5539
5540(define-public ghc-hs-bibutils
5541 (package
5542 (name "ghc-hs-bibutils")
5543 (version "6.10.0.0")
5544 (source
5545 (origin
5546 (method url-fetch)
5547 (uri (hackage-uri "hs-bibutils" version))
5548 (sha256
5549 (base32 "1wnpy1v5rbii2iwlcc9psnww8pkirv9zl21s64cmbi6q7dv15g3n"))))
5550 (build-system haskell-build-system)
5551 (properties '((upstream-name . "hs-bibutils")))
5552 (inputs (list ghc-syb))
5553 (home-page "https://github.com/wilx/hs-bibutils")
5554 (synopsis "Haskell bindings to bibutils")
5555 (description
5556 "This package provides Haskell bindings to @code{bibutils}, a library
5557that interconverts between various bibliography formats using a common
5558MODS-format XML intermediate.")
5559 (license license:gpl2+)))
5560
5561(define-public ghc-hs-conllu
5562 (package
5563 (name "ghc-hs-conllu")
5564 (version "0.1.5")
5565 (source (origin
5566 (method url-fetch)
5567 (uri (hackage-uri "hs-conllu" version))
5568 (sha256
5569 (base32
5570 "1azh4g5kdng8v729ldgblkmrdqrc501rgm9wwqx6gkqwwzn8w3r4"))
5571 (snippet
5572 #~(substitute* "hs-conllu.cabal"
5573 (("(containers|filepath) *[0-9<>=^&|.* ]*" _ package)
5574 package)))
5575 (modules '((guix build utils)))))
5576 (build-system haskell-build-system)
5577 (inputs (list ghc-megaparsec ghc-void))
5578 (home-page "https://github.com/arademaker/hs-conllu")
5579 (synopsis "CoNLL-U validating parser and utils")
5580 (description
5581 "Utilities to parse, print, diff, and analyse data in CoNLL-U, a format
5582used in linguistics to represent the syntactic annotation of sentences. See
5583@url{https://universaldependencies.org/format.html}")
5584 (license license:lgpl3)))
5585
5586(define-public ghc-hslogger
5587 (package
5588 (name "ghc-hslogger")
5589 (version "1.3.2.0")
5590 (source
5591 (origin
5592 (method url-fetch)
5593 (uri (hackage-uri "hslogger" version))
5594 (sha256
5595 (base32 "0hz6v02p89ihr0130hzya78h54lf6kw3vgf7idnxpqwy8v9a49zb"))))
5596 (build-system haskell-build-system)
5597 (properties '((upstream-name . "hslogger")))
5598 (inputs (list ghc-network-bsd ghc-network))
5599 (native-inputs (list ghc-hunit))
5600 (home-page "https://github.com/haskell-hvr/hslogger/wiki")
5601 (synopsis
5602 "Logging framework for Haskell, similar to Python's logging module")
5603 (description
5604 "Hslogger lets each log message have a priority and source be
5605associated with it. The programmer can then define global handlers that route
5606or filter messages based on the priority and source. It also has a syslog
5607handler built in.")
5608 (license license:bsd-3)))
5609
5610(define-public ghc-hslua
5611 (package
5612 (name "ghc-hslua")
5613 (version "2.3.1")
5614 (source
5615 (origin
5616 (method url-fetch)
5617 (uri (hackage-uri "hslua" version))
5618 (sha256
5619 (base32 "096x45rz1czsnilpn3my5vyafw9dn8qdnmf0apz0q3y3wa4840j9"))))
5620 (build-system haskell-build-system)
5621 (properties '((upstream-name . "hslua")))
5622 (inputs (list ghc-hslua-aeson
5623 ghc-hslua-core
5624 ghc-hslua-classes
5625 ghc-hslua-marshalling
5626 ghc-hslua-objectorientation
5627 ghc-hslua-packaging
5628 ghc-hslua-typing))
5629 (native-inputs (list ghc-lua
5630 ghc-lua-arbitrary
5631 ghc-quickcheck
5632 ghc-quickcheck-instances
5633 ghc-tasty-hslua
5634 ghc-tasty
5635 ghc-tasty-hunit))
5636 (home-page "https://hslua.org/")
5637 (synopsis "Lua language interpreter embedding in Haskell")
5638 (description
5639 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5640described in @url{https://www.lua.org/}.")
5641 (license license:expat)))
5642
5643(define-public ghc-hslua-module-system
5644 (package
5645 (name "ghc-hslua-module-system")
5646 (version "1.1.3")
5647 (source
5648 (origin
5649 (method url-fetch)
5650 (uri (hackage-uri "hslua-module-system" version))
5651 (sha256
5652 (base32 "0skdgb21x2zdyv1m3ai4n8axnk85i3s08pvsrkjwwsfcr7v3r432"))))
5653 (build-system haskell-build-system)
5654 (properties '((upstream-name . "hslua-module-system")))
5655 (inputs (list ghc-hslua-core ghc-hslua-packaging ghc-hslua-marshalling
5656 ghc-temporary))
5657 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-lua))
5658 (home-page "https://github.com/hslua/hslua")
5659 (synopsis "Lua module wrapper around Haskell's System module")
5660 (description
5661 "This library provides access to system information and
5662functionality to Lua scripts via Haskell's @code{System} module. Intended
5663usage for this package is to preload it by adding the loader function to
5664@code{package.preload}. Note that the Lua @code{package} library must have
5665already been loaded before the loader can be added.")
5666 (license license:expat)))
5667
5668(define-public ghc-hslua-module-text
5669 (package
5670 (name "ghc-hslua-module-text")
5671 (version "1.1.1")
5672 (source
5673 (origin
5674 (method url-fetch)
5675 (uri (hackage-uri "hslua-module-text" version))
5676 (sha256
5677 (base32 "16635kdanaiwn5rdmkaga6d9jhw8zrvhpnqsyqm0zap98n6b146b"))))
5678 (build-system haskell-build-system)
5679 (properties '((upstream-name . "hslua-module-text")))
5680 (inputs (list ghc-hslua-core ghc-hslua-packaging ghc-hslua-marshalling))
5681 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-lua))
5682 (home-page "https://github.com/hslua/hslua")
5683 (synopsis "Lua module for text")
5684 (description
5685 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5686for Haskell. The functions provided by this module are @code{upper},
5687@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5688 (license license:expat)))
5689
5690(define-public ghc-hsyaml
5691 (package
5692 (name "ghc-hsyaml")
5693 (version "0.2.1.5")
5694 (source
5695 (origin
5696 (method url-fetch)
5697 (uri (hackage-uri "HsYAML" version))
5698 (sha256
5699 (base32 "13av46629msknp1spmcczgd2hpsyj0ca590vpiy7df8l6cfwjyk5"))))
5700 (build-system haskell-build-system)
5701 (properties '((upstream-name . "HsYAML")))
5702 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-quickcheck))
5703 (arguments
5704 `(#:cabal-revision ("1"
5705 "1l5ig8a1c13rwcx530li93p0kkxcsjpjyr303v19z6n8zmdvnz6a")))
5706 (home-page "https://github.com/haskell-hvr/HsYAML")
5707 (synopsis "Pure Haskell YAML 1.2 parser")
5708 (description
5709 "This library provides a
5710@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5711for Haskell. Its features include:
5712
5713@itemize
5714@item Pure Haskell implementation with small dependency footprint and
5715emphasis on strict compliance with the YAML 1.2 specification.
5716
5717@item Direct decoding to native Haskell types via (aeson-inspired)
5718typeclass-based API (see @code{Data.YAML}).
5719
5720@item Support for constructing custom YAML node graph
5721representation (including support for cyclic YAML data structures).
5722
5723@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5724@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5725typing rules as defined in the YAML 1.2 specification (including support
5726for user-defined custom schemas).
5727
5728@item Event-based API resembling LibYAML's Event-based API (see
5729@code{Data.YAML.Event}).
5730
5731@item Low-level API access to lexical token-based scanner (see
5732@code{Data.YAML.Token}).
5733@end itemize")
5734 (license license:gpl2)))
5735
5736(define-public ghc-http-api-data
5737 (package
5738 (name "ghc-http-api-data")
5739 (version "0.6.2")
5740 (source
5741 (origin
5742 (method url-fetch)
5743 (uri (hackage-uri "http-api-data" version))
5744 (sha256
5745 (base32 "0d42xkm60i3irxcvwixvn5c01paz2kpfsz29vhxz08ir83zsk16w"))))
5746 (build-system haskell-build-system)
5747 (properties '((upstream-name . "http-api-data")))
5748 (inputs (list ghc-cookie
5749 ghc-hashable
5750 ghc-http-types
5751 ghc-text-iso8601
5752 ghc-tagged
5753 ghc-time-compat
5754 ghc-unordered-containers
5755 ghc-uuid-types))
5756 (native-inputs (list ghc-hunit ghc-hspec ghc-quickcheck
5757 ghc-quickcheck-instances ghc-hspec hspec-discover))
5758 (home-page "http://github.com/fizruk/http-api-data")
5759 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5760query parameters")
5761 (description "This Haskell package defines typeclasses used for converting
5762Haskell data types to and from HTTP API data.")
5763 (license license:bsd-3)))
5764
5765(define-public ghc-ieee754
5766 (package
5767 (name "ghc-ieee754")
5768 (version "0.8.0")
5769 (source
5770 (origin
5771 (method url-fetch)
5772 (uri (hackage-uri "ieee754" version))
5773 (sha256
5774 (base32 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5775 (build-system haskell-build-system)
5776 (properties '((upstream-name . "ieee754")))
5777 (home-page "http://github.com/patperry/hs-ieee754")
5778 (synopsis "Utilities for dealing with IEEE floating point numbers")
5779 (description
5780 "Utilities for dealing with IEEE floating point numbers,
5781ported from the Tango math library; approximate and exact equality comparisons
5782for general types.")
5783 (license license:bsd-3)))
5784
5785(define-public ghc-ifelse
5786 (package
5787 (name "ghc-ifelse")
5788 (version "0.85")
5789 (source
5790 (origin
5791 (method url-fetch)
5792 (uri (hackage-uri "IfElse" version))
5793 (sha256
5794 (base32 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5795 (build-system haskell-build-system)
5796 (properties '((upstream-name . "IfElse")))
5797 (home-page "http://hackage.haskell.org/package/IfElse")
5798 (synopsis "Monadic control flow with anaphoric variants")
5799 (description
5800 "This library provides functions for control flow inside of
5801monads with anaphoric variants on @code{if} and @code{when} and a C-like
5802@code{switch} function.")
5803 (license license:bsd-3)))
5804
5805(define-public ghc-indents
5806 (package
5807 (name "ghc-indents")
5808 (version "0.5.0.1")
5809 (source
5810 (origin
5811 (method url-fetch)
5812 (uri (hackage-uri "indents" version))
5813 (sha256
5814 (base32 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
5815 (build-system haskell-build-system)
5816 (properties '((upstream-name . "indents")))
5817 (native-inputs (list ghc-tasty ghc-tasty-hunit))
5818 (arguments
5819 `(#:cabal-revision ("2"
5820 "0rdj5w8d5ykb2sh88xsdgddxyp50dij4zb8bbb9220yfs0l18dsy")))
5821 (home-page "http://github.com/jaspervdj/indents")
5822 (synopsis "Indentation sensitive parser-combinators for parsec")
5823 (description
5824 "This library provides functions for use in parsing indentation sensitive
5825contexts. It parses blocks of lines all indented to the same level as well as
5826lines continued at an indented level below.")
5827 (license license:bsd-3)))
5828
5829(define-public ghc-infer-license
5830 (package
5831 (name "ghc-infer-license")
5832 (version "0.2.0")
5833 (source
5834 (origin
5835 (method url-fetch)
5836 (uri (hackage-uri "infer-license" version))
5837 (sha256
5838 (base32 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5839 (build-system haskell-build-system)
5840 (properties '((upstream-name . "infer-license")))
5841 (inputs (list ghc-text-metrics))
5842 (native-inputs (list ghc-hspec hspec-discover))
5843 (home-page "http://hackage.haskell.org/package/infer-license")
5844 (synopsis "Infer software license from a given license file")
5845 (description "This library provides tools to infer a software
5846license from a given license file.")
5847 (license license:expat)))
5848
5849(define-public ghc-ini
5850 (package
5851 (name "ghc-ini")
5852 (version "0.4.2")
5853 (source
5854 (origin
5855 (method url-fetch)
5856 (uri (hackage-uri "ini" version))
5857 (sha256
5858 (base32 "0dp9c48vli8z6058yajnqg9hyf9swglk8ga4wcwl03aal7n8r7gp"))))
5859 (build-system haskell-build-system)
5860 (properties '((upstream-name . "ini")))
5861 (inputs (list ghc-attoparsec ghc-unordered-containers))
5862 (native-inputs (list ghc-hspec))
5863 (home-page "https://github.com/andreasabel/ini")
5864 (synopsis
5865 "Haskell library to easily handle configuration files in the INI format")
5866 (description
5867 "The @code{ghc-ini} Haskell library lets programmers quickly and easily
5868read and write configuration files in the simple INI format.")
5869 (license license:bsd-3)))
5870
5871(define-public ghc-inline-c
5872 (package
5873 (name "ghc-inline-c")
5874 (version "0.9.1.10")
5875 (source
5876 (origin
5877 (method url-fetch)
5878 (uri (hackage-uri "inline-c" version))
5879 (sha256
5880 (base32 "1cd4bqb4gzd8sgh8icnnzdyqnh81x7150ibx7mqjaygj9672w3bd"))))
5881 (build-system haskell-build-system)
5882 (properties '((upstream-name . "inline-c")))
5883 (inputs (list ghc-prettyprinter ghc-hashable ghc-parsers
5884 ghc-unordered-containers ghc-vector))
5885 (native-inputs (list ghc-quickcheck
5886 ghc-hspec
5887 ghc-quickcheck
5888 ghc-raw-strings-qq
5889 ghc-regex-posix
5890 ghc-split))
5891 (home-page "http://hackage.haskell.org/package/inline-c")
5892 (synopsis "Write Haskell source files including C code inline")
5893 (description
5894 "inline-c lets you seamlessly call C libraries and embed high-performance
5895inline C code in Haskell modules. Haskell and C can be freely intermixed in
5896the same source file, and data passed to and from code in either language with
5897minimal overhead. No FFI required.")
5898 (license license:expat)))
5899
5900(define-public ghc-inline-c-cpp
5901 (package
5902 (name "ghc-inline-c-cpp")
5903 (version "0.5.0.2")
5904 (source
5905 (origin
5906 (method url-fetch)
5907 (uri (hackage-uri "inline-c-cpp" version))
5908 (sha256
5909 (base32 "0m8rkmjmqh8xy41ci87z3c7x9z2r5p8j4qwibqw189rrgy5g1471"))))
5910 (build-system haskell-build-system)
5911 (properties '((upstream-name . "inline-c-cpp")))
5912 (inputs (list ghc-inline-c ghc-safe-exceptions))
5913 (native-inputs (list ghc-hspec ghc-vector))
5914 (home-page "http://hackage.haskell.org/package/inline-c-cpp")
5915 (synopsis "Lets you embed C++ code into Haskell")
5916 (description
5917 "This package provides utilities to inline C++ code into Haskell using
5918@code{inline-c}.")
5919 (license license:expat)))
5920
5921(define-public ghc-integer-conversion
5922 (package
5923 (name "ghc-integer-conversion")
5924 (version "0.1.1")
5925 (source
5926 (origin
5927 (method url-fetch)
5928 (uri (hackage-uri "integer-conversion" version))
5929 (sha256
5930 (base32 "0nhm487gdg17w02wwqwr56wa8lkv0g4n9g1y6pv10cq792h690f1"))))
5931 (build-system haskell-build-system)
5932 (properties '((upstream-name . "integer-conversion")))
5933 (inputs (list ghc-primitive))
5934 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-quickcheck))
5935 (arguments
5936 `(#:cabal-revision ("1"
5937 "1jf1wqbs6cgjbc1igy4lll1qxz4ynknspqpgbpzwn911dvhll7cl")))
5938 (home-page "https://github.com/phadej/integer-conversion")
5939 (synopsis "Conversion from strings to Integer")
5940 (description
5941 "The naive @@foldl (\\acc d -> acc * 10 + d) 0@@ is expensive (quadratic!) for
5942large @@Integer@@s. This package provides sub-quadratic implementation.")
5943 (license license:bsd-3)))
5944
5945(define-public ghc-integer-logarithms
5946 (package
5947 (name "ghc-integer-logarithms")
5948 (version "1.0.4")
5949 (source
5950 (origin
5951 (method url-fetch)
5952 (uri (hackage-uri "integer-logarithms" version))
5953 (sha256
5954 (base32 "0icg8k0h7yc3aynsbidppwyfkjnq8spaczdi5bby5jqq4mncg4va"))))
5955 (build-system haskell-build-system)
5956 (properties '((upstream-name . "integer-logarithms")))
5957 (native-inputs (list ghc-quickcheck
5958 ghc-smallcheck
5959 ghc-tasty
5960 ghc-tasty-hunit
5961 ghc-tasty-quickcheck
5962 ghc-tasty-smallcheck))
5963 (home-page "https://github.com/haskellari/integer-logarithms")
5964 (synopsis "Integer logarithms")
5965 (description
5966 "This package provides the following modules:
5967@code{Math.NumberTheory.Logarithms} and
5968@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5969@code{GHC.Integer.Logarithms.Compat} and
5970@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5971in migrated modules.")
5972 (license license:expat)))
5973
5974(define-public ghc-interpolate
5975 (package
5976 (name "ghc-interpolate")
5977 (version "0.2.1")
5978 (source
5979 (origin
5980 (method url-fetch)
5981 (uri (hackage-uri "interpolate" version))
5982 (sha256
5983 (base32 "03jrkj9c62w0c2awym8mhpsgpd0jffl50cqwfrm7bbdfhd8dsxi7"))))
5984 (build-system haskell-build-system)
5985 (properties '((upstream-name . "interpolate")))
5986 (inputs (list ghc-haskell-src-meta))
5987 (native-inputs (list ghc-quickcheck ghc-base-compat ghc-hspec
5988 hspec-discover ghc-quickcheck-instances))
5989 (home-page "https://github.com/sol/interpolate#readme")
5990 (synopsis "String interpolation library")
5991 (description "This package provides a string interpolation library for
5992Haskell.")
5993 (license license:expat)))
5994
5995(define-public ghc-intervalmap
5996 (package
5997 (name "ghc-intervalmap")
5998 (version "0.6.2.1")
5999 (source
6000 (origin
6001 (method url-fetch)
6002 (uri (hackage-uri "IntervalMap" version))
6003 (sha256
6004 (base32 "17v9q1vnm3pzrr5xhv8xvxqh27facwwfladrr10l57fzibp82265"))))
6005 (build-system haskell-build-system)
6006 (properties '((upstream-name . "IntervalMap")))
6007 (native-inputs (list ghc-quickcheck ghc-quickcheck ghc-quickcheck
6008 ghc-quickcheck))
6009 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6010 (synopsis "Containers for intervals, with efficient search")
6011 (description
6012 "This package provides ordered containers of intervals, with efficient
6013search for all keys containing a point or overlapping an interval. See the
6014example code on the home page for a quick introduction.")
6015 (license license:bsd-3)))
6016
6017(define-public ghc-intervals
6018 (package
6019 (name "ghc-intervals")
6020 (version "0.9.3")
6021 (source
6022 (origin
6023 (method url-fetch)
6024 (uri (hackage-uri "intervals" version))
6025 (sha256
6026 (base32 "07qsz1pzfgbxllavj8d428i3vnz7a5a9cxikimzd0rsz9dlprdnn"))))
6027 (build-system haskell-build-system)
6028 (properties '((upstream-name . "intervals")))
6029 (inputs (list ghc-distributive))
6030 (native-inputs (list ghc-quickcheck))
6031 (home-page "http://github.com/ekmett/intervals")
6032 (synopsis "Interval arithmetic")
6033 (description
6034 "This library provides @code{Numeric.Interval.Interval},
6035which represents a closed, convex set of floating point values.")
6036 (license license:bsd-3)))
6037
6038(define-public ghc-invariant
6039 (package
6040 (name "ghc-invariant")
6041 (version "0.6.4")
6042 (source
6043 (origin
6044 (method url-fetch)
6045 (uri (hackage-uri "invariant" version))
6046 (sha256
6047 (base32 "1cxfy1s3p91g5n1z85058lc27xy4xfl3dnkvxcxn3m70wd7apqm9"))))
6048 (build-system haskell-build-system)
6049 (properties '((upstream-name . "invariant")))
6050 (inputs (list ghc-bifunctors
6051 ghc-comonad
6052 ghc-contravariant
6053 ghc-profunctors
6054 ghc-statevar
6055 ghc-tagged
6056 ghc-th-abstraction
6057 ghc-transformers-compat
6058 ghc-unordered-containers))
6059 (native-inputs (list ghc-hspec ghc-quickcheck hspec-discover))
6060 (arguments
6061 `(#:cabal-revision ("1"
6062 "1inib3bc400cghq70lqslw5a6v9cha05lkrvicayvzwk9sgn16ja")))
6063 (home-page "https://github.com/nfrisby/invariant-functors")
6064 (synopsis "Haskell98 invariant functors")
6065 (description
6066 "Haskell98 invariant functors (also known as exponential
6067functors). For more information, see Edward Kmett's article
6068@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6069 (license license:bsd-2)))
6070
6071(define-public ghc-io-streams
6072 (package
6073 (name "ghc-io-streams")
6074 (version "1.5.2.2")
6075 (source
6076 (origin
6077 (method url-fetch)
6078 (uri (hackage-uri "io-streams" version))
6079 (sha256
6080 (base32 "1zn4iyd18g9jc1qdgixp6hi56nj7czy4jdz2xca59hcn2q2xarfk"))))
6081 (build-system haskell-build-system)
6082 (properties '((upstream-name . "io-streams")))
6083 (inputs (list ghc-attoparsec ghc-primitive ghc-vector ghc-zlib-bindings
6084 ghc-network))
6085 (native-inputs (list ghc-zlib
6086 ghc-hunit
6087 ghc-quickcheck
6088 ghc-test-framework
6089 ghc-test-framework-hunit
6090 ghc-test-framework-quickcheck2))
6091 (arguments
6092 `(#:cabal-revision ("6"
6093 "12nra580v0l6ijqqg6ccbhqmpczbb8r7g0iqp1hcsg0pbxjmkywj")))
6094 (home-page "http://hackage.haskell.org/package/io-streams")
6095 (synopsis "Simple and composable stream I/O")
6096 (description "This library contains simple and easy-to-use
6097primitives for I/O using streams.")
6098 (license license:bsd-3)))
6099
6100(define-public ghc-io-streams-haproxy
6101 (package
6102 (name "ghc-io-streams-haproxy")
6103 (version "1.0.1.0")
6104 (source
6105 (origin
6106 (method url-fetch)
6107 (uri (hackage-uri "io-streams-haproxy" version))
6108 (sha256
6109 (base32 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6110 (build-system haskell-build-system)
6111 (properties '((upstream-name . "io-streams-haproxy")))
6112 (inputs (list ghc-attoparsec ghc-io-streams ghc-network))
6113 (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
6114 (arguments
6115 `(#:cabal-revision ("9"
6116 "1waziyv0f1iap83abgn4ax1zwbdbhfhzh72smzm1azqzl6ggcdq2")))
6117 (home-page "http://snapframework.com/")
6118 (synopsis "HAProxy protocol 1.5 support for io-streams")
6119 (description
6120 "HAProxy protocol version 1.5 support
6121(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6122for applications using io-streams. The proxy protocol allows information
6123about a networked peer (like remote address and port) to be propagated
6124through a forwarding proxy that is configured to speak this protocol.")
6125 (license license:bsd-3)))
6126
6127(define-public ghc-iproute
6128 (package
6129 (name "ghc-iproute")
6130 (version "1.7.15")
6131 (source
6132 (origin
6133 (method url-fetch)
6134 (uri (hackage-uri "iproute" version))
6135 (sha256
6136 (base32 "19abgdk9pk6n8qmvfcpqp282dgbn1mxmg5fsla4xryg6w2kk38qq"))))
6137 (build-system haskell-build-system)
6138 (properties '((upstream-name . "iproute")))
6139 (inputs (list ghc-appar ghc-byteorder ghc-network ghc-semigroups))
6140 (native-inputs (list ghc-hspec ghc-quickcheck ghc-safe hspec-discover))
6141 (home-page "http://www.mew.org/~kazu/proj/iproute/")
6142 (synopsis "IP routing table")
6143 (description
6144 "IP Routing Table is a tree of IP ranges to search one of
6145them on the longest match base. It is a kind of TRIE with one way branching
6146removed. Both IPv4 and IPv6 are supported.")
6147 (license license:bsd-3)))
6148
6149(define-public ghc-ipynb
6150 (package
6151 (name "ghc-ipynb")
6152 (version "0.2")
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (hackage-uri "ipynb" version))
6157 (sha256
6158 (base32 "1iwia4sxg40m4d290gys72wabqmkqx24ywsaranwzk2wx5s3sx4s"))))
6159 (build-system haskell-build-system)
6160 (properties '((upstream-name . "ipynb")))
6161 (inputs (list ghc-unordered-containers ghc-base64-bytestring ghc-aeson
6162 ghc-semigroups))
6163 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-microlens-aeson
6164 ghc-microlens))
6165 (arguments
6166 `(#:cabal-revision ("1"
6167 "0fl9x5amq0g5dg57dcgc0g4ir0r1fdbx06aldsqdwzdc9zs97v6k")))
6168 (home-page "http://hackage.haskell.org/package/ipynb")
6169 (synopsis "Data structure for working with Jupyter notebooks")
6170 (description
6171 "This library defines a data structure for representing
6172Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6173instances for conversion to and from JSON .ipynb files.")
6174 (license license:bsd-3)))
6175
6176(define-public ghc-irc-core
6177 (package
6178 (name "ghc-irc-core")
6179 (version "2.13")
6180 (source
6181 (origin
6182 (method url-fetch)
6183 (uri (hackage-uri "irc-core" version))
6184 (sha256
6185 (base32 "0z95cl8pg6zhzmz642bzgxc0525645whvxbmz6h1i8g1mll3i6kx"))))
6186 (build-system haskell-build-system)
6187 (native-inputs
6188 (list ghc-hunit))
6189 (inputs
6190 (list ghc-base64-bytestring
6191 ghc-attoparsec
6192 ghc-hashable
6193 ghc-primitive ghc-vector))
6194 (properties '((upstream-name . "irc-core")))
6195 (home-page "https://github.com/glguy/irc-core")
6196 (synopsis "IRC core library for glirc")
6197 (description
6198 "This is the IRC core library for glirc. The client is available in its own
6199glirc package.")
6200 (license license:isc)))
6201
6202(define-public ghc-isocline
6203 (package
6204 (name "ghc-isocline")
6205 (version "1.0.9")
6206 (source
6207 (origin
6208 (method url-fetch)
6209 (uri (hackage-uri "isocline" version))
6210 (sha256
6211 (base32 "0s2lwypsvzxcgcml3b3q9g0acwg6ph2q47p42i9a9kc2h2gcd44h"))))
6212 (build-system haskell-build-system)
6213 (properties '((upstream-name . "isocline")))
6214 (home-page "https://github.com/daanx/isocline")
6215 (synopsis "A portable alternative to GNU Readline")
6216 (description
6217 "A Haskell wrapper around the @url{https://github.com/daanx/isocline,
6218Isocline C library} which can provide an alternative to GNU Readline. The
6219Isocline library is included whole and there are no runtime dependencies.")
6220 (license license:expat)))
6221
6222(define-public ghc-iwlib
6223 (package
6224 (name "ghc-iwlib")
6225 (version "0.1.0")
6226 (source
6227 (origin
6228 (method url-fetch)
6229 (uri (hackage-uri "iwlib" version))
6230 (sha256
6231 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6232 (build-system haskell-build-system)
6233 (properties '((upstream-name . "iwlib")))
6234 (arguments
6235 `(#:extra-directories ("wireless-tools")))
6236 (inputs
6237 (list wireless-tools))
6238 (home-page "https://github.com/jaor/iwlib")
6239 (synopsis "Haskell binding to the iw wireless networking library")
6240 (description
6241 "IWlib is a thin Haskell binding to the iw C library. It provides
6242information about the current wireless network connections, and adapters on
6243supported systems.")
6244 (license license:bsd-3)))
6245
6246(define-public ghc-json
6247 (package
6248 (name "ghc-json")
6249 (version "0.11")
6250 (source
6251 (origin
6252 (method url-fetch)
6253 (uri (hackage-uri "json" version))
6254 (sha256
6255 (base32 "1476fxrfybch9j2mr6yacbvhnggj5ksir1a42114j8s8w89anyfh"))))
6256 (build-system haskell-build-system)
6257 (properties '((upstream-name . "json")))
6258 (inputs (list ghc-syb))
6259 (home-page "http://hackage.haskell.org/package/json")
6260 (synopsis "Serializes Haskell data to and from JSON")
6261 (description
6262 "This package provides a parser and pretty printer for
6263converting between Haskell values and JSON. @acronym{JavaScript Object
6264Notation, JSON} is a lightweight data-interchange format.")
6265 (license license:bsd-3)))
6266
6267(define-public ghc-juicypixels
6268 (package
6269 (name "ghc-juicypixels")
6270 (version "3.3.9")
6271 (source
6272 (origin
6273 (method url-fetch)
6274 (uri (hackage-uri "JuicyPixels" version))
6275 (sha256
6276 (base32 "0kc68bjj3izbdvw67kyzg74fv1ksj2dclq5gxzlnajv87rfsqi1y"))))
6277 (build-system haskell-build-system)
6278 (properties '((upstream-name . "JuicyPixels")))
6279 (inputs (list ghc-zlib ghc-vector ghc-primitive))
6280 (home-page "https://github.com/Twinside/Juicy.Pixels")
6281 (synopsis "Picture loading and serialization library")
6282 (description
6283 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6284TIFF and GIF formats.")
6285 (license license:bsd-3)))
6286
6287(define-public ghc-kan-extensions
6288 (package
6289 (name "ghc-kan-extensions")
6290 (version "5.2.7")
6291 (source
6292 (origin
6293 (method url-fetch)
6294 (uri (hackage-uri "kan-extensions" version))
6295 (sha256
6296 (base32 "0n716zyihbnq3s1zhqbh3fm0qzhgy2hk79ziy8b6bvydjpzsq8y3"))))
6297 (build-system haskell-build-system)
6298 (properties '((upstream-name . "kan-extensions")))
6299 (inputs (list ghc-adjunctions
6300 ghc-comonad
6301 ghc-contravariant
6302 ghc-distributive
6303 ghc-invariant
6304 ghc-free
6305 ghc-profunctors
6306 ghc-semigroupoids
6307 ghc-tagged))
6308 (home-page "http://github.com/ekmett/kan-extensions/")
6309 (synopsis "Kan extensions library")
6310 (description
6311 "This library provides Kan extensions, Kan lifts, various
6312forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6313 (license license:bsd-3)))
6314
6315(define-public ghc-language-c
6316 (package
6317 (name "ghc-language-c")
6318 (version "0.10.0")
6319 (source
6320 (origin
6321 (method url-fetch)
6322 (uri (hackage-uri "language-c" version))
6323 (sha256
6324 (base32 "0m3dphd0r0n763a5rrg0z4fmiaqn7nkjq15l4vif332zrmgipb37"))))
6325 (build-system haskell-build-system)
6326 (properties '((upstream-name . "language-c")))
6327 (native-inputs (list ghc-happy ghc-alex))
6328 (arguments
6329 `(#:cabal-revision ("1"
6330 "1ffvpasi3yj59fffwdjx6c8wjby5pv42fmfzm7pisnpczmv5hsx6")))
6331 (home-page "https://visq.github.io/language-c/")
6332 (synopsis "Analysis and generation of C code")
6333 (description
6334 "Language C is a Haskell library for the analysis and generation of C code.
6335It features a complete, well-tested parser and pretty printer for all of C99
6336and a large set of GNU extensions.")
6337 (license license:bsd-3)))
6338
6339(define-public ghc-language-glsl
6340 (package
6341 (name "ghc-language-glsl")
6342 (version "0.3.0")
6343 (source
6344 (origin
6345 (method url-fetch)
6346 (uri (hackage-uri "language-glsl" version))
6347 (sha256
6348 (base32
6349 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6350 (build-system haskell-build-system)
6351 (properties '((upstream-name . "language-glsl")))
6352 (inputs (list ghc-prettyclass))
6353 (arguments
6354 `(#:tests? #f
6355 #:cabal-revision
6356 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6357 (home-page "https://hackage.haskell.org/package/language-glsl")
6358 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6359 (description "This package is a Haskell library for the
6360representation, parsing, and pretty-printing of GLSL 1.50 code.")
6361 (license license:bsd-3)))
6362
6363(define-public ghc-language-haskell-extract
6364 (package
6365 (name "ghc-language-haskell-extract")
6366 (version "0.2.4")
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri (hackage-uri "language-haskell-extract" version))
6371 (patches (search-patches "ghc-language-haskell-extract-ghc-8.10.patch"))
6372 (sha256
6373 (base32
6374 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6375 (build-system haskell-build-system)
6376 (properties '((upstream-name . "language-haskell-extract")))
6377 (arguments
6378 `(#:cabal-revision
6379 ("1" "1chx4g8ngb1hpyh3r9rbl8rkjkm67klms4wmw3p1g2llg47vvqip")
6380 #:phases
6381 (modify-phases %standard-phases
6382 (add-before 'configure 'update-constraints
6383 (lambda _
6384 (substitute* "language-haskell-extract.cabal"
6385 (("(template-haskell)\\s+[^,]+" all dep)
6386 dep)))))))
6387 (inputs
6388 (list ghc-regex-posix ghc-template-haskell))
6389 (home-page "https://github.com/finnsson/template-helper")
6390 (synopsis "Haskell module to automatically extract functions from
6391the local code")
6392 (description "This package contains helper functions on top of
6393Template Haskell.
6394
6395For example, @code{functionExtractor} extracts all functions after a
6396regexp-pattern, which can be useful if you wish to extract all functions
6397beginning with @code{test} (for a test framework) or all functions beginning
6398with @code{wc} (for a web service).")
6399 (license license:bsd-3)))
6400
6401(define-public ghc-language-python
6402 (package
6403 (name "ghc-language-python")
6404 (version "0.5.8")
6405 (source
6406 (origin
6407 (method url-fetch)
6408 (uri (hackage-uri "language-python" version))
6409 (sha256
6410 (base32 "1mf3czvnh9582klv0c9g7pcn1wx4qjwpvhv8la6afaifv6y5lki2"))
6411 (patches (search-patches "ghc-language-python-fix-build-with-happy-2.patch"))))
6412 (build-system haskell-build-system)
6413 (arguments
6414 `(#:cabal-revision ("2"
6415 "024fn653gmxw4ndmqvg1d3lwmxbvrlllc9iw2zw0c3nkcgcv39sg")))
6416 (native-inputs (list ghc-alex ghc-happy))
6417 (inputs (list ghc-monads-tf ghc-utf8-string))
6418 (home-page "http://github.com/bjpop/language-python")
6419 (synopsis "Parse and pretty print Python code in Haskell")
6420 (description
6421 "@code{language-python} is a Haskell library for lexical analysis,
6422parsing and pretty printing Python code. It supports versions 2.x and 3.x of
6423Python.")
6424 (license license:bsd-3)
6425 (properties '((upstream-name . "language-python")))))
6426
6427(define-public ghc-lens
6428 (package
6429 (name "ghc-lens")
6430 (version "5.3.5")
6431 (source
6432 (origin
6433 (method url-fetch)
6434 (uri (hackage-uri "lens" version))
6435 (sha256
6436 (base32 "1s0ziznj60l9z3z5dacq58kaq8cdfxcz0r75f5hwj25ivzrsrszg"))))
6437 (build-system haskell-build-system)
6438 (properties '((upstream-name . "lens")))
6439 (inputs (list ghc-assoc
6440 ghc-base-orphans
6441 ghc-bifunctors
6442 ghc-call-stack
6443 ghc-comonad
6444 ghc-contravariant
6445 ghc-distributive
6446 ghc-free
6447 ghc-hashable
6448 ghc-indexed-traversable
6449 ghc-indexed-traversable-instances
6450 ghc-kan-extensions
6451 ghc-parallel
6452 ghc-profunctors
6453 ghc-reflection
6454 ghc-semigroupoids
6455 ghc-strict
6456 ghc-tagged
6457 ghc-th-abstraction
6458 ghc-these
6459 ghc-transformers-compat
6460 ghc-unordered-containers
6461 ghc-vector))
6462 (native-inputs (list ghc-quickcheck
6463 ghc-tasty
6464 ghc-tasty-quickcheck
6465 ghc-tasty
6466 ghc-tasty-hunit
6467 ghc-simple-reflect))
6468 (home-page "http://github.com/ekmett/lens/")
6469 (synopsis "Lenses, Folds and Traversals")
6470 (description
6471 "This library provides @code{Control.Lens}. The combinators
6472in @code{Control.Lens} provide a highly generic toolbox for composing families
6473of getters, folds, isomorphisms, traversals, setters and lenses and their
6474indexed variants.")
6475 (license license:bsd-2)))
6476
6477(define-public ghc-lens-family-core
6478 (package
6479 (name "ghc-lens-family-core")
6480 (version "2.1.3")
6481 (source
6482 (origin
6483 (method url-fetch)
6484 (uri (hackage-uri "lens-family-core" version))
6485 (sha256
6486 (base32 "0r8v42ybwvl1ayz2502mpjl2nc4815699k3f30qln5b9g6qk26lv"))))
6487 (build-system haskell-build-system)
6488 (properties '((upstream-name . "lens-family-core")))
6489 (home-page "http://hackage.haskell.org/package/lens-family-core")
6490 (synopsis "Haskell 98 Lens Families")
6491 (description
6492 "This package provides first class functional references. In addition to
6493the usual operations of getting, setting and composition, plus integration
6494with the state monad, lens families provide some unique features:
6495
6496@itemize
6497@item Polymorphic updating
6498@item Traversals
6499@item Cast projection functions to read-only lenses
6500@item Cast @code{toList} functions to read-only traversals
6501@item Cast semantic editor combinators to modify-only traversals
6502@end itemize
6503
6504For optimal first-class support use the lens-family package with rank 2/rank N
6505polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6506lenses and traversals for those who require Haskell 98.")
6507 (license license:bsd-3)))
6508
6509(define-public ghc-generic-lens-core
6510 (package
6511 (name "ghc-generic-lens-core")
6512 (version "2.2.1.0")
6513 (source
6514 (origin
6515 (method url-fetch)
6516 (uri (hackage-uri "generic-lens-core" version))
6517 (sha256
6518 (base32 "08i4c9yb6z84iknrnl9f3f343121j7ilp0a679v81nsjm9xz3rlf"))))
6519 (build-system haskell-build-system)
6520 (properties '((upstream-name . "generic-lens-core")))
6521 (inputs (list ghc-indexed-profunctors))
6522 (arguments
6523 `(#:cabal-revision ("2"
6524 "028vm0h89civn7f4cvrh3b67s2qd82g4qn5src0mkm68gngz6bqd")))
6525 (home-page "https://github.com/kcsongor/generic-lens")
6526 (synopsis "Generically derive traversals, lenses and prisms")
6527 (description
6528 "This library uses GHC.Generics to derive efficient optics (traversals,
6529lenses and prisms) for algebraic data types in a type-directed way, with a
6530focus on good type inference and error messages when possible. This package
6531is the shared internal logic of the @code{generic-lens} and
6532@code{generic-optics} libraries.")
6533 (license license:bsd-3)))
6534
6535(define-public ghc-generic-lens
6536 (package
6537 (name "ghc-generic-lens")
6538 (version "2.2.2.0")
6539 (source
6540 (origin
6541 (method url-fetch)
6542 (uri (hackage-uri "generic-lens" version))
6543 (sha256
6544 (base32 "0s4b51s11ssmndmx9m9zbwgv9rb27ajwihsrk10hn582rp4ck3c6"))))
6545 (build-system haskell-build-system)
6546 (properties '((upstream-name . "generic-lens")))
6547 (inputs (list ghc-generic-lens-core ghc-profunctors))
6548 (native-inputs (list ghc-lens
6549 ghc-inspection-testing
6550 ghc-hunit
6551 ghc-lens
6552 ghc-hunit
6553 ghc-lens
6554 ghc-hunit
6555 ghc-doctest
6556 ghc-lens))
6557 (arguments
6558 (list
6559 #:cabal-revision '("1"
6560 "0ib9848rh56v0dc1giiax2zi2w7is6ahb2cj6ry3p0hwapfd3p49")
6561 #:phases
6562 #~ (modify-phases %standard-phases
6563 ;; The doctests require GHC_PACKAGE_PATH but Setup.hs fails
6564 ;; if it is defined, so we run them separately
6565 (replace 'check
6566 (lambda* (#:key tests? #:allow-other-keys)
6567 (if tests?
6568 (let* ((tmpdir (or (getenv "TMP") "/tmp"))
6569 (package-db (string-append tmpdir "/package.conf.d")))
6570 (invoke "runhaskell" "Setup.hs" "test" "inspection-tests"
6571 "generic-lens-syb-tree" "generic-lens-bifunctor")
6572 (setenv "GHC_PACKAGE_PATH" package-db)
6573 (invoke "./dist/build/doctests/doctests")
6574 (unsetenv "GHC_PACKAGE_PATH"))
6575 (format #t "Testsuite not run.%~")))))))
6576 (home-page "https://github.com/kcsongor/generic-lens")
6577 (synopsis "Generically derive traversals, lenses and prisms")
6578 (description
6579 "This library uses @code{GHC.Generics} to derive efficient
6580optics (traversals, lenses and prisms) for algebraic data types in a
6581type-directed way, with a focus on good type inference and error messages when
6582possible. The library exposes a van Laarhoven interface. For an alternative
6583interface, supporting an opaque optic type, see @code{generic-optics}.")
6584 (license license:bsd-3)))
6585
6586(define-public ghc-these-lens
6587 (package
6588 (name "ghc-these-lens")
6589 (version "1.0.2")
6590 (source
6591 (origin
6592 (method url-fetch)
6593 (uri (hackage-uri "these-lens" version))
6594 (sha256
6595 (base32 "159dp25rbhcnmpxvvabjl8s9df9mvqi30p81vrmh7kgg86xa050y"))))
6596 (build-system haskell-build-system)
6597 (properties '((upstream-name . "these-lens")))
6598 (inputs (list ghc-these ghc-lens))
6599 (arguments
6600 `(#:cabal-revision ("1"
6601 "07dyn6kqh8apxvzigc64k12h7b0wic8pzy4c5zw4mnsbn8v0l8bh")))
6602 (home-page "https://github.com/haskellari/these")
6603 (synopsis "Lenses for These")
6604 (description
6605 "This package provides Prism and Traversals for @code{These}.")
6606 (license license:bsd-3)))
6607
6608(define-public ghc-libffi
6609 (package
6610 (name "ghc-libffi")
6611 (version "0.2.1")
6612 (source
6613 (origin
6614 (method url-fetch)
6615 (uri (hackage-uri "libffi" version))
6616 (sha256
6617 (base32 "1w9ssmjx521f4lmaynmh1zargl2zmfvvpq2bldsvnwldfdgikbkn"))))
6618 (build-system haskell-build-system)
6619 (properties '((upstream-name . "libffi")))
6620 (home-page "http://haskell.org/haskellwiki/Library/libffi")
6621 (synopsis "Haskell binding to libffi")
6622 (description
6623 "A binding to libffi, allowing C functions of types only known at runtime
6624to be called from Haskell.")
6625 (license license:bsd-3)))
6626
6627(define-public ghc-libmpd
6628 (package
6629 (name "ghc-libmpd")
6630 (version "0.10.0.1")
6631 (source
6632 (origin
6633 (method url-fetch)
6634 (uri (hackage-uri "libmpd" version))
6635 (sha256
6636 (base32 "0ca3ispg92aj49fjzg5ykv7ggvdzb8lsvrh8rfh6fbnivqyzqn56"))))
6637 (build-system haskell-build-system)
6638 (properties '((upstream-name . "libmpd")))
6639 (inputs (list ghc-attoparsec ghc-data-default-class ghc-network
6640 ghc-safe-exceptions ghc-utf8-string))
6641 (native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
6642 (home-page "http://github.com/vimus/libmpd-haskell#readme")
6643 (synopsis "Haskell client library for the Music Player Daemon")
6644 (description "This package provides a pure Haskell client library for the
6645Music Player Daemon.")
6646 (license license:expat)))
6647
6648(define-public ghc-lib-parser
6649 (package
6650 (name "ghc-lib-parser")
6651 (version "9.12.2.20250421")
6652 (source
6653 (origin
6654 (method url-fetch)
6655 (uri (hackage-uri "ghc-lib-parser" version))
6656 (sha256
6657 (base32 "1lscfnbpmyv0fahl9y33kwiypnp45iljljax69dxhlr9zdijv7x4"))))
6658 (build-system haskell-build-system)
6659 (native-inputs (list ghc-alex ghc-happy))
6660 (properties '((upstream-name . "ghc-lib-parser")))
6661 (home-page "https://github.com/digital-asset/ghc-lib")
6662 (synopsis "The GHC API, decoupled from GHC versions")
6663 (description
6664 "This library implements the GHC API. It is like the
6665compiler-provided @code{ghc} package, but it can be loaded on many
6666compiler versions.")
6667 (license license:bsd-3)))
6668
6669(define-public ghc-libxml
6670 (package
6671 (name "ghc-libxml")
6672 (version "0.1.1")
6673 (source
6674 (origin
6675 (method url-fetch)
6676 (uri (hackage-uri "libxml" version))
6677 (sha256
6678 (base32
6679 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6680 (build-system haskell-build-system)
6681 (properties '((upstream-name . "libxml")))
6682 (inputs
6683 (list libxml2))
6684 (arguments
6685 `(#:configure-flags
6686 `(,(string-append "--extra-include-dirs="
6687 (assoc-ref %build-inputs "libxml2")
6688 "/include/libxml2"))))
6689 (home-page "https://hackage.haskell.org/package/libxml")
6690 (synopsis "Haskell bindings to libxml2")
6691 (description
6692 "This library provides minimal Haskell binding to libxml2.")
6693 (license license:bsd-3)))
6694
6695(define-public ghc-libyaml
6696 (package
6697 (name "ghc-libyaml")
6698 (version "0.1.4")
6699 (source
6700 (origin
6701 (method url-fetch)
6702 (uri (hackage-uri "libyaml" version))
6703 (sha256
6704 (base32 "04zslsxp7fblxr9hq3512czgb9h81n27sdd4h2sy9d7bn74pwafn"))))
6705 (build-system haskell-build-system)
6706 (properties '((upstream-name . "libyaml")))
6707 (inputs (list ghc-conduit ghc-resourcet ghc-libyaml-clib))
6708 (home-page "https://github.com/snoyberg/yaml#readme")
6709 (synopsis "Low-level, streaming YAML interface")
6710 (description "This package provides a Haskell wrapper over the
6711LibYAML C library.")
6712 (license license:bsd-3)))
6713
6714(define-public ghc-libyaml-clib
6715 (package
6716 (name "ghc-libyaml-clib")
6717 (version "0.2.5")
6718 (source
6719 (origin
6720 (method url-fetch)
6721 (uri (hackage-uri "libyaml-clib" version))
6722 (sha256
6723 (base32 "0jaif8y10ql8rmkfhm6nwfk65q8rnpk58a6j5cf4gksz9v2nnlh4"))))
6724 (build-system haskell-build-system)
6725 (properties '((upstream-name . "libyaml-clib")))
6726 (home-page "https://github.com/hasufell/streamly-yaml#readme")
6727 (synopsis "libyaml clibs")
6728 (description "libyaml C source code for yaml bindings.")
6729 (license license:expat)))
6730
6731(define-public ghc-lifted-async
6732 (package
6733 (name "ghc-lifted-async")
6734 (version "0.10.2.7")
6735 (source
6736 (origin
6737 (method url-fetch)
6738 (uri (hackage-uri "lifted-async" version))
6739 (sha256
6740 (base32 "0m9xzlj9hrbs0j4sak2jdvm13l66mpr2k99xcv7rhy8wfssvz0f2"))))
6741 (build-system haskell-build-system)
6742 (properties '((upstream-name . "lifted-async")))
6743 (inputs (list ghc-async ghc-lifted-base ghc-transformers-base
6744 ghc-monad-control ghc-constraints))
6745 (native-inputs (list ghc-hunit
6746 ghc-tasty
6747 ghc-tasty-expected-failure
6748 ghc-tasty-hunit
6749 ghc-tasty-th
6750 ghc-tasty-hunit
6751 ghc-tasty-th))
6752 (home-page "https://github.com/maoe/lifted-async")
6753 (synopsis
6754 "Run lifted IO operations asynchronously and wait for their results")
6755 (description
6756 "This package provides IO operations from @code{async} package lifted to any
6757instance of @code{MonadBase} or @code{MonadBaseControl}.")
6758 (license license:bsd-3)))
6759
6760(define-public ghc-lifted-base
6761 (package
6762 (name "ghc-lifted-base")
6763 (version "0.2.3.12")
6764 (source
6765 (origin
6766 (method url-fetch)
6767 (uri (hackage-uri "lifted-base" version))
6768 (sha256
6769 (base32 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6770 (build-system haskell-build-system)
6771 (properties '((upstream-name . "lifted-base")))
6772 (inputs (list ghc-transformers-base ghc-monad-control))
6773 (arguments (list #:tests? #f)) ; Tests depend on inexistent modules
6774 (home-page "https://github.com/basvandijk/lifted-base")
6775 (synopsis "Lifted IO operations from the base library")
6776 (description
6777 "Lifted-base exports IO operations from the @code{base}
6778library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6779Note that not all modules from @code{base} are converted yet. The package
6780includes a copy of the @code{monad-peel} test suite written by Anders
6781Kaseorg.")
6782 (license license:bsd-3)))
6783
6784(define-public ghc-linear
6785 (package
6786 (name "ghc-linear")
6787 (version "1.23.2")
6788 (source
6789 (origin
6790 (method url-fetch)
6791 (uri (hackage-uri "linear" version))
6792 (sha256
6793 (base32 "05v91is8rwm34a86gra2q03d5f1klj4nmlxx8r3cx0gbkdhrvmmv"))))
6794 (build-system haskell-build-system)
6795 (properties '((upstream-name . "linear")))
6796 (inputs (list ghc-adjunctions
6797 ghc-base-orphans
6798 ghc-bytes
6799 ghc-cereal
6800 ghc-distributive
6801 ghc-hashable
6802 ghc-indexed-traversable
6803 ghc-lens
6804 ghc-random
6805 ghc-reflection
6806 ghc-semigroupoids
6807 ghc-tagged
6808 ghc-transformers-compat
6809 ghc-unordered-containers
6810 ghc-vector
6811 ghc-void
6812 ghc-semigroups))
6813 (native-inputs (list ghc-simple-reflect ghc-tasty ghc-tasty-hunit
6814 ghc-tasty-quickcheck ghc-quickcheck))
6815 (home-page "http://github.com/ekmett/linear/")
6816 (synopsis "Linear algebra library for Haskell")
6817 (description
6818 "This package provides types and combinators for linear algebra on free
6819vector spaces.")
6820 (license license:bsd-3)))
6821
6822(define-public ghc-listlike
6823 (package
6824 (name "ghc-listlike")
6825 (version "4.7.8.4")
6826 (source
6827 (origin
6828 (method url-fetch)
6829 (uri (hackage-uri "ListLike" version))
6830 (sha256
6831 (base32 "1i397ig6pz1aa404gfjz2s340mlc97x9yywprx3hp684q81ybirv"))))
6832 (build-system haskell-build-system)
6833 (properties '((upstream-name . "ListLike")))
6834 (inputs (list ghc-vector ghc-dlist ghc-fmlist ghc-utf8-string))
6835 (native-inputs (list ghc-hunit ghc-quickcheck))
6836 (home-page "http://github.com/ddssff/listlike")
6837 (synopsis "Generic support for list-like structures")
6838 (description
6839 "The ListLike module provides a common interface to the
6840various Haskell types that are list-like. Predefined interfaces include
6841standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6842Custom types can easily be made ListLike instances as well.
6843
6844ListLike also provides for String-like types, such as String and
6845ByteString, for types that support input and output, and for types that
6846can handle infinite lists.")
6847 (license license:bsd-3)))
6848
6849(define-public ghc-logging-facade
6850 (package
6851 (name "ghc-logging-facade")
6852 (version "0.3.1")
6853 (source
6854 (origin
6855 (method url-fetch)
6856 (uri (hackage-uri "logging-facade" version))
6857 (sha256
6858 (base32 "0rn12j77gn3p84khrmbn5kq6fyj44i3z1hrdm29apikp7csv65ib"))))
6859 (build-system haskell-build-system)
6860 (properties '((upstream-name . "logging-facade")))
6861 (inputs (list ghc-call-stack))
6862 (native-inputs (list ghc-hspec hspec-discover))
6863 (home-page "https://github.com/sol/logging-facade#readme")
6864 (synopsis "Simple logging abstraction that allows multiple back-ends")
6865 (description
6866 "This package provides a simple logging abstraction that allows multiple
6867back-ends.")
6868 (license license:expat)))
6869
6870(define-public ghc-logging-facade-bootstrap
6871 (package
6872 (inherit ghc-logging-facade)
6873 (name "ghc-logging-facade-bootstrap")
6874 (arguments `(#:tests? #f))
6875 (native-inputs '())
6876 (properties '((hidden? #t)))))
6877
6878(define-public ghc-logict
6879 (package
6880 (name "ghc-logict")
6881 (version "0.8.2.0")
6882 (source
6883 (origin
6884 (method url-fetch)
6885 (uri (hackage-uri "logict" version))
6886 (sha256
6887 (base32 "1vxb8vyfhvl901kfywvr4czwmiz3ah4l9rlcrx7djs4f3kwfd6hq"))))
6888 (build-system haskell-build-system)
6889 (properties '((upstream-name . "logict")))
6890 (native-inputs (list ghc-async ghc-tasty ghc-tasty-hunit))
6891 (home-page "https://github.com/Bodigrim/logict#readme")
6892 (synopsis "Backtracking logic-programming monad")
6893 (description
6894 "This library provides a continuation-based, backtracking,
6895logic programming monad. An adaptation of the two-continuation implementation
6896found in the paper \"Backtracking, Interleaving, and Terminating Monad
6897Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6898online}.")
6899 (license license:bsd-3)))
6900
6901(define-public ghc-lrucache
6902 (package
6903 (name "ghc-lrucache")
6904 (version "1.2.0.1")
6905 (source
6906 (origin
6907 (method url-fetch)
6908 (uri (hackage-uri "lrucache" version))
6909 (sha256
6910 (base32 "11avhnjnb89rvn2s41jhh5r40zgp7r6kb5c0hcfiibpabqvv46pw"))))
6911 (build-system haskell-build-system)
6912 (properties '((upstream-name . "lrucache")))
6913 (inputs (list ghc-contravariant))
6914 (arguments
6915 `(#:cabal-revision ("1"
6916 "0v2wc5k2knvv5knbarzspmbzf657r52jyjm9kf6r4ylsmi9cbq0k")))
6917 (home-page "https://github.com/chowells79/lrucache")
6918 (synopsis "Implementation of a simple LRU cache")
6919 (description
6920 "This package contains a simple and pure @acronym{LRU, Least Recently
6921Used} cache. The implementation is based on @code{Data.Map} from the
6922@code{containers} library. Further, the package also containes a multiple IO
6923wrapper that enables atomic updates of the cache.")
6924 (license license:bsd-3)))
6925
6926(define-public ghc-lucid
6927 (package
6928 (name "ghc-lucid")
6929 (version "2.11.20250303")
6930 (source
6931 (origin
6932 (method url-fetch)
6933 (uri (hackage-uri "lucid" version))
6934 (sha256
6935 (base32 "1x24nzfjrwqwn1pl8qk4zxd0rndlha79k3swykkrqm24x5bj7rmv"))))
6936 (build-system haskell-build-system)
6937 (properties '((upstream-name . "lucid")))
6938 (inputs (list ghc-blaze-builder ghc-hashable ghc-mmorph))
6939 (native-inputs (list ghc-hunit ghc-hspec ghc-bifunctors))
6940 (home-page "https://github.com/chrisdone/lucid")
6941 (synopsis "Haskell DSL for rendering HTML")
6942 (description
6943 "Clear to write, read and edit Haskell DSL for HTML.
6944
6945@itemize @bullet
6946@item
6947Names are consistent, and do not conflict with base or are keywords
6948(all have suffix @code{-}).
6949@item
6950Same combinator can be used for attributes and elements
6951(e.g. @code{style_}).
6952@end itemize")
6953 (license license:bsd-3)))
6954
6955(define-public ghc-lzma
6956 (package
6957 (name "ghc-lzma")
6958 (version "0.0.1.1")
6959 (source
6960 (origin
6961 (method url-fetch)
6962 (uri (hackage-uri "lzma" version))
6963 (sha256
6964 (base32 "1wfwxa927607kfqy9qs8lxm11gngl3ikwwwm0d7i3km2j612g9c0"))))
6965 (build-system haskell-build-system)
6966 (properties '((upstream-name . "lzma")))
6967 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-hunit
6968 ghc-tasty-quickcheck pkg-config))
6969 (arguments
6970 `(#:cabal-revision ("1"
6971 "1lby8y4pf5kagdnywyjadv3hv9mfv3ygfdjrlh9gakyqgj8wjjhb")))
6972 (home-page "https://github.com/hvr/lzma")
6973 (synopsis "LZMA/XZ compression and decompression")
6974 (description
6975 "This package provides a pure interface for compressing and
6976decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6977monadic incremental interface is provided as well.")
6978 (license license:bsd-3)))
6979
6980(define-public ghc-lzma-conduit
6981 (package
6982 (name "ghc-lzma-conduit")
6983 (version "1.2.3")
6984 (source (origin
6985 (method url-fetch)
6986 (uri (hackage-uri "lzma-conduit" version))
6987 (sha256
6988 (base32
6989 "1pmvmchrg429b2yk485x0066lxcr37cbyczlyp3ala2iaq8hm61z"))))
6990 (build-system haskell-build-system)
6991 (properties '((upstream-name . "lzma-conduit")))
6992 (inputs (list ghc-conduit ghc-lzma ghc-resourcet))
6993 (native-inputs (list ghc-base-compat
6994 ghc-test-framework
6995 ghc-test-framework-hunit
6996 ghc-test-framework-quickcheck2
6997 ghc-hunit
6998 ghc-quickcheck))
6999 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7000 (synopsis "Conduit interface for lzma/xz compression")
7001 (description
7002 "This package provides a @code{Conduit} interface for the LZMA
7003compression algorithm used in the @code{.xz} file format.")
7004 (license license:bsd-3)))
7005
7006(define-public ghc-magic
7007 (package
7008 (name "ghc-magic")
7009 (version "1.1")
7010 (source
7011 (origin
7012 (method url-fetch)
7013 (uri (hackage-uri "magic" version))
7014 (sha256
7015 (base32 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7016 (build-system haskell-build-system)
7017 (properties '((upstream-name . "magic")))
7018 (home-page "http://hackage.haskell.org/package/magic")
7019 (synopsis "Interface to C file/magic library")
7020 (description
7021 "This package provides a full-featured binding to the C libmagic library.
7022With it, you can determine the type of a file by examining its contents rather
7023than its name.")
7024 (license license:bsd-3)))
7025
7026(define-public ghc-managed
7027 (package
7028 (name "ghc-managed")
7029 (version "1.0.10")
7030 (source
7031 (origin
7032 (method url-fetch)
7033 (uri (hackage-uri "managed" version))
7034 (sha256
7035 (base32 "0ngpk6zkpnc9hl9a46pgkc8ii4d7y06xci52birc5vy1a2fwl8is"))))
7036 (build-system haskell-build-system)
7037 (properties '((upstream-name . "managed")))
7038 (home-page "http://hackage.haskell.org/package/managed")
7039 (synopsis "Monad for managed values")
7040 (description
7041 "In Haskell you very often acquire values using the with... idiom using
7042functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7043special case of the ContT monad (from transformers) or the Codensity
7044monad (from kan-extensions). The main purpose behind this package is to
7045provide a restricted form of these monads specialized to this unusually common
7046case.
7047
7048The reason this package defines a specialized version of these types
7049is to:
7050
7051@itemize
7052@item be more beginner-friendly,
7053@item simplify inferred types and error messages, and:
7054@item provide some additional type class instances that would otherwise be
7055orphan instances
7056@end itemize")
7057 (license license:bsd-3)))
7058
7059(define-public ghc-markdown-unlit
7060 (package
7061 (name "ghc-markdown-unlit")
7062 (version "0.6.0")
7063 (source
7064 (origin
7065 (method url-fetch)
7066 (uri (hackage-uri "markdown-unlit" version))
7067 (sha256
7068 (base32 "0nkvg33i8vkpb774lph306c7xwl8ib26ily5zjy37np43xc1i2yk"))))
7069 (build-system haskell-build-system)
7070 (properties '((upstream-name . "markdown-unlit")))
7071 (inputs (list ghc-base-compat))
7072 (native-inputs (list ghc-quickcheck ghc-hspec ghc-silently
7073 ghc-stringbuilder ghc-temporary ghc-hspec-discover))
7074 (home-page "https://github.com/sol/markdown-unlit#readme")
7075 (synopsis "Literate Haskell support for Markdown")
7076 (description "This package allows you to have a README.md that at the
7077same time is a literate Haskell program.")
7078 (license license:expat)))
7079
7080(define-public ghc-math-functions
7081 (package
7082 (name "ghc-math-functions")
7083 (version "0.3.4.4")
7084 (source
7085 (origin
7086 (method url-fetch)
7087 (uri (hackage-uri "math-functions" version))
7088 (sha256
7089 (base32 "1ypqza0v1qbm94yjj536ynh7njlcz36s1cj8c0slbx7ga3fxhh94"))))
7090 (build-system haskell-build-system)
7091 (properties '((upstream-name . "math-functions")))
7092 (inputs (list ghc-data-default-class ghc-vector ghc-primitive))
7093 (native-inputs (list ghc-vector-th-unbox
7094 ghc-erf
7095 ghc-quickcheck
7096 ghc-tasty
7097 ghc-tasty-hunit
7098 ghc-tasty-quickcheck))
7099 (home-page "https://github.com/haskell/math-functions")
7100 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7101 (description
7102 "This Haskell library provides implementations of
7103special mathematical functions and Chebyshev polynomials. These
7104functions are often useful in statistical and numerical computing.")
7105 (license license:bsd-2)))
7106
7107(define-public ghc-megaparsec
7108 (package
7109 (name "ghc-megaparsec")
7110 (version "9.7.0")
7111 (source
7112 (origin
7113 (method url-fetch)
7114 (uri (hackage-uri "megaparsec" version))
7115 (sha256
7116 (base32 "15zc66lplq5382wayigcw9kql08nvp9403a8f9xaw85z4lv45vdr"))))
7117 (build-system haskell-build-system)
7118 (properties '((upstream-name . "megaparsec")))
7119 (inputs (list ghc-case-insensitive ghc-parser-combinators ghc-scientific))
7120 (home-page "https://github.com/mrkkrp/megaparsec")
7121 (synopsis "Monadic parser combinators")
7122 (description
7123 "This is an industrial-strength monadic parser combinator library.
7124Megaparsec is a feature-rich package that strikes a nice balance between
7125speed, flexibility, and quality of parse errors.")
7126 (license license:bsd-2)))
7127
7128(define-public ghc-memory
7129 (package
7130 (name "ghc-memory")
7131 (version "0.18.0")
7132 (source
7133 (origin
7134 (method url-fetch)
7135 (uri (hackage-uri "memory" version))
7136 (sha256
7137 (base32 "0gifhvvq4za0sdlqjv38cwpnywiilmr8gmndwss82jz273vbckpx"))))
7138 (build-system haskell-build-system)
7139 (properties '((upstream-name . "memory")))
7140 (inputs (list ghc-basement))
7141 (native-inputs (list ghc-foundation))
7142 (arguments
7143 `(#:cabal-revision ("1"
7144 "1y8r0gn7vbk82bj6fyvxny0dwg9r2prnd8f9fkqvd01g6mkyjkcz")))
7145 (home-page "https://github.com/vincenthz/hs-memory")
7146 (synopsis "Memory abstractions for Haskell")
7147 (description
7148 "This package provides memory abstractions, such as chunk of memory,
7149polymorphic byte array management and manipulation functions. It contains a
7150polymorphic byte array abstraction and functions similar to strict ByteString,
7151different type of byte array abstraction, raw memory IO operations (memory
7152set, memory copy, ..) and more")
7153 (license license:bsd-3)))
7154
7155(define-public ghc-memotrie
7156 (package
7157 (name "ghc-memotrie")
7158 (version "0.6.11")
7159 (source
7160 (origin
7161 (method url-fetch)
7162 (uri (hackage-uri "MemoTrie" version))
7163 (sha256
7164 (base32 "08141kdn9d2md1nz0xfz5868rn4ya7li93k7f2rwdhga6vqsp9pp"))))
7165 (build-system haskell-build-system)
7166 (properties '((upstream-name . "MemoTrie")))
7167 (inputs (list ghc-newtype-generics))
7168 (home-page "https://github.com/conal/MemoTrie")
7169 (synopsis "Trie-based memo functions")
7170 (description "This package provides a functional library for creating
7171efficient memo functions using tries.")
7172 (license license:bsd-3)))
7173
7174(define-public ghc-microlens
7175 (package
7176 (name "ghc-microlens")
7177 (version "0.4.14.0")
7178 (source
7179 (origin
7180 (method url-fetch)
7181 (uri (hackage-uri "microlens" version))
7182 (sha256
7183 (base32 "0blj96kbgf0vivc8pv0gpvlaljxcffvxqm6zvr5n7c2g7rhjlyan"))))
7184 (build-system haskell-build-system)
7185 (properties '((upstream-name . "microlens")))
7186 (home-page "http://github.com/stevenfontanella/microlens")
7187 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7188 (description
7189 "This Haskell package provides a lens library, just like
7190@code{ghc-lens}, but smaller. It provides essential lenses and
7191traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7192nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7193combinators (like @code{failing} and @code{singular}), but everything else is
7194stripped. As the result, this package has no dependencies.")
7195 (license license:bsd-3)))
7196
7197(define-public ghc-microlens-aeson
7198 (package
7199 (name "ghc-microlens-aeson")
7200 (version "2.5.2")
7201 (source
7202 (origin
7203 (method url-fetch)
7204 (uri (hackage-uri "microlens-aeson" version))
7205 (sha256
7206 (base32 "1cnmasig3wq132k1j89qj7g1bsamhpbjg492cynch4lb2r8bwxkc"))))
7207 (build-system haskell-build-system)
7208 (properties '((upstream-name . "microlens-aeson")))
7209 (inputs (list ghc-aeson
7210 ghc-hashable
7211 ghc-microlens
7212 ghc-vector
7213 ghc-attoparsec
7214 ghc-scientific))
7215 (native-inputs (list ghc-tasty ghc-tasty-hunit))
7216 (home-page "http://github.com/fosskers/microlens-aeson/")
7217 (synopsis "Law-abiding lenses for Aeson, using microlens")
7218 (description "This library provides law-abiding lenses for Aeson, using
7219microlens.")
7220 (license license:expat)))
7221
7222(define-public ghc-microlens-ghc
7223 (package
7224 (name "ghc-microlens-ghc")
7225 (version "0.4.15.1")
7226 (source
7227 (origin
7228 (method url-fetch)
7229 (uri (hackage-uri "microlens-ghc" version))
7230 (sha256
7231 (base32 "0xdhlby2ygjdiwnmpd1d3rr74qv7syq356f6mmq3zj607ikkbv86"))))
7232 (build-system haskell-build-system)
7233 (properties '((upstream-name . "microlens-ghc")))
7234 (inputs (list ghc-microlens))
7235 (home-page "http://github.com/stevenfontanella/microlens")
7236 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7237 (description
7238 "This library provides everything that @code{microlens}
7239provides plus instances to make @code{each}, @code{at}, and @code{ix}
7240usable with arrays, @code{ByteString}, and containers. This package is
7241a part of the @uref{https://hackage.haskell.org/package/microlens,
7242microlens} family; see the readme
7243@uref{https://github.com/aelve/microlens#readme, on Github}.")
7244 (license license:bsd-3)))
7245
7246(define-public ghc-microlens-mtl
7247 (package
7248 (name "ghc-microlens-mtl")
7249 (version "0.2.1.0")
7250 (source
7251 (origin
7252 (method url-fetch)
7253 (uri (hackage-uri "microlens-mtl" version))
7254 (sha256
7255 (base32 "13w4fx1kslm8yy5liwrw59y47nq773bxmv3nwg7k79gjw5r9rmzv"))))
7256 (build-system haskell-build-system)
7257 (properties '((upstream-name . "microlens-mtl")))
7258 (inputs (list ghc-microlens ghc-transformers-compat))
7259 (home-page "http://github.com/stevenfontanella/microlens")
7260 (synopsis "@code{microlens} support for Reader/Writer/State from mtl")
7261 (description
7262 "This package contains functions (like @code{view} or @code{+=}) which
7263work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7264mtl package. This package is a part of the
7265@uref{https://hackage.haskell.org/package/microlens, microlens} family; see the
7266readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7267 (license license:bsd-3)))
7268
7269(define-public ghc-microlens-platform
7270 (package
7271 (name "ghc-microlens-platform")
7272 (version "0.4.4.1")
7273 (source
7274 (origin
7275 (method url-fetch)
7276 (uri (hackage-uri "microlens-platform" version))
7277 (sha256
7278 (base32 "0d37rzskqr94grq75a00wgwlz8wrm6awxjw0r396hwwjl8abwipm"))))
7279 (build-system haskell-build-system)
7280 (properties '((upstream-name . "microlens-platform")))
7281 (inputs (list ghc-hashable
7282 ghc-microlens
7283 ghc-microlens-ghc
7284 ghc-microlens-mtl
7285 ghc-microlens-th
7286 ghc-unordered-containers
7287 ghc-vector))
7288 (home-page "http://github.com/stevenfontanella/microlens")
7289 (synopsis "Feature-complete microlens")
7290 (description
7291 "This package exports a module which is the recommended starting point
7292for using @uref{https://hackage.haskell.org/package/microlens, microlens} if
7293you aren't trying to keep your dependencies minimal. By importing
7294@code{Lens.Micro.Platform} you get all functions and instances from
7295@uref{https://hackage.haskell.org/package/microlens, microlens},
7296@uref{https://hackage.haskell.org/package/microlens-th, microlens-th},
7297@uref{https://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7298@uref{https://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7299well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7300minor and major versions of @code{microlens-platform} are incremented whenever
7301the minor and major versions of any other @code{microlens} package are
7302incremented, so you can depend on the exact version of
7303@code{microlens-platform} without specifying the version of @code{microlens}
7304you need. This package is a part of the
7305@uref{https://hackage.haskell.org/package/microlens, microlens} family; see the
7306readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7307 (license license:bsd-3)))
7308
7309(define-public ghc-microlens-th
7310 (package
7311 (name "ghc-microlens-th")
7312 (version "0.4.3.17")
7313 (source
7314 (origin
7315 (method url-fetch)
7316 (uri (hackage-uri "microlens-th" version))
7317 (sha256
7318 (base32 "150a9kgab4l6324dkf9vpvgbwarw89xfhcdhdj8awcm3gh12qxhx"))))
7319 (build-system haskell-build-system)
7320 (properties '((upstream-name . "microlens-th")))
7321 (inputs (list ghc-microlens ghc-th-abstraction))
7322 (native-inputs (list ghc-tagged))
7323 (home-page "http://github.com/stevenfontanella/microlens")
7324 (synopsis "Automatic generation of record lenses for
7325@code{ghc-microlens}")
7326 (description
7327 "This Haskell package lets you automatically generate lenses
7328for data types; code was extracted from the lens package, and therefore
7329generated lenses are fully compatible with ones generated by lens (and can be
7330used both from lens and microlens).")
7331 (license license:bsd-3)))
7332
7333(define-public ghc-microstache
7334 (package
7335 (name "ghc-microstache")
7336 (version "1.0.3")
7337 (source
7338 (origin
7339 (method url-fetch)
7340 (uri (hackage-uri "microstache" version))
7341 (sha256
7342 (base32 "13w9macbi0krdilyp7dvzcg48di89biyz1axd7vvl3ylggjr1wim"))))
7343 (build-system haskell-build-system)
7344 (properties '((upstream-name . "microstache")))
7345 (inputs (list ghc-aeson ghc-unordered-containers ghc-vector))
7346 (native-inputs (list ghc-base-orphans
7347 ghc-tasty
7348 ghc-tasty-hunit
7349 ghc-base-orphans
7350 ghc-tasty
7351 ghc-tasty-hunit))
7352 (arguments
7353 `(#:cabal-revision ("1"
7354 "13hqvjzb7k03bxnvyyflfw1rs6hyc3z16b7n2r52xsk32lrmz9c6")))
7355 (home-page "https://github.com/haskellari/microstache")
7356 (synopsis "Mustache templates for Haskell")
7357 (description
7358 "This library provides Mustache templates for Haskell based on the
7359@code{stache} library using @code{parsec} instead of @code{megaparsec}.")
7360 (license license:bsd-3)))
7361
7362(define-public ghc-missingh
7363 (package
7364 (name "ghc-missingh")
7365 (version "1.6.0.2")
7366 (source
7367 (origin
7368 (method url-fetch)
7369 (uri (hackage-uri "MissingH" version))
7370 (sha256
7371 (base32 "17ckc5hck9ng9rqx2afj1xac0d7m1p0vqfc5mdmmlkg5nza432is"))))
7372 (build-system haskell-build-system)
7373 (properties '((upstream-name . "MissingH")))
7374 (inputs (list ghc-hslogger
7375 ghc-old-locale
7376 ghc-old-time
7377 ghc-regex-compat
7378 ghc-network-bsd
7379 ghc-network))
7380 (native-inputs (list ghc-hunit))
7381 (home-page "http://hackage.haskell.org/package/MissingH")
7382 (synopsis "Large utility library")
7383 (description
7384 "MissingH is a library of all sorts of utility functions for Haskell
7385programmers. It is written in pure Haskell and thus should be extremely
7386portable and easy to use.")
7387 (license license:bsd-3)))
7388
7389(define-public ghc-mmap
7390 (package
7391 (name "ghc-mmap")
7392 (version "0.5.9")
7393 (source
7394 (origin
7395 (method url-fetch)
7396 (uri (hackage-uri "mmap" version))
7397 (sha256
7398 (base32 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7399 (build-system haskell-build-system)
7400 (properties '((upstream-name . "mmap")))
7401 (home-page "http://hackage.haskell.org/package/mmap")
7402 (synopsis "Memory mapped files for Haskell")
7403 (description
7404 "This library provides a wrapper to @code{mmap}, allowing files or
7405devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7406@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7407do on-demand loading.")
7408 (license license:bsd-3)))
7409
7410(define-public ghc-mmorph
7411 (package
7412 (name "ghc-mmorph")
7413 (version "1.2.1")
7414 (source
7415 (origin
7416 (method url-fetch)
7417 (uri (hackage-uri "mmorph" version))
7418 (sha256
7419 (base32 "1rjclyxyr5ajnpmkrlwap77h5fmdwys8bpwfj0n87v33hh1dcn8f"))))
7420 (build-system haskell-build-system)
7421 (properties '((upstream-name . "mmorph")))
7422 (inputs (list ghc-transformers-compat ghc-fail))
7423 (home-page "http://hackage.haskell.org/package/mmorph")
7424 (synopsis "Monad morphisms")
7425 (description
7426 "This library provides monad morphism utilities, most commonly used for
7427manipulating monad transformer stacks.")
7428 (license license:bsd-3)))
7429
7430(define-public ghc-mockery
7431 (package
7432 (name "ghc-mockery")
7433 (version "0.3.5")
7434 (source
7435 (origin
7436 (method url-fetch)
7437 (uri (hackage-uri "mockery" version))
7438 (sha256
7439 (base32 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7440 (build-system haskell-build-system)
7441 (properties '((upstream-name . "mockery")))
7442 (inputs (list ghc-base-compat ghc-temporary ghc-logging-facade))
7443 (native-inputs (list ghc-hspec hspec-discover))
7444 (home-page "http://hackage.haskell.org/package/mockery")
7445 (synopsis "Support functions for automated testing")
7446 (description
7447 "The mockery package provides support functions for automated testing.")
7448 (license license:expat)))
7449
7450(define-public ghc-mockery-bootstrap
7451 (package
7452 (inherit ghc-mockery)
7453 (name "ghc-mockery-bootstrap")
7454 (arguments `(#:tests? #f))
7455 (inputs (modify-inputs (package-inputs ghc-mockery)
7456 (replace "ghc-logging-facade" ghc-logging-facade-bootstrap)
7457 (replace "ghc-temporary" ghc-temporary-bootstrap)))
7458 (native-inputs '())
7459 (properties '((hidden? #t)))))
7460
7461(define-public ghc-monad-control
7462 (package
7463 (name "ghc-monad-control")
7464 (version "1.0.3.1")
7465 (source
7466 (origin
7467 (method url-fetch)
7468 (uri (hackage-uri "monad-control" version))
7469 (sha256
7470 (base32 "0g3if9km8ik80bcy130a826ig9wlk4bnf0qli3vmwdwr9nhaw2xf"))))
7471 (build-system haskell-build-system)
7472 (properties '((upstream-name . "monad-control")))
7473 (inputs (list ghc-transformers-base ghc-transformers-compat))
7474 (home-page "https://github.com/basvandijk/monad-control")
7475 (synopsis "Monad transformers to lift control operations like exception
7476catching")
7477 (description
7478 "This package defines the type class @code{MonadBaseControl},
7479a subset of @code{MonadBase} into which generic control operations such as
7480@code{catch} can be lifted from @code{IO} or any other base monad.")
7481 (license license:bsd-3)))
7482
7483(define-public ghc-monad-logger
7484 (package
7485 (name "ghc-monad-logger")
7486 (version "0.3.42")
7487 (source
7488 (origin
7489 (method url-fetch)
7490 (uri (hackage-uri "monad-logger" version))
7491 (sha256
7492 (base32 "042h2bmgzl2jjcnqbb6nj64kpwgzik0spx11ks5gb89asin488v6"))))
7493 (build-system haskell-build-system)
7494 (properties '((upstream-name . "monad-logger")))
7495 (inputs (list ghc-conduit
7496 ghc-conduit-extra
7497 ghc-fast-logger
7498 ghc-lifted-base
7499 ghc-monad-control
7500 ghc-monad-loops
7501 ghc-resourcet
7502 ghc-stm-chans
7503 ghc-transformers-base
7504 ghc-transformers-compat
7505 ghc-unliftio-core))
7506 (home-page "https://github.com/snoyberg/monad-logger#readme")
7507 (synopsis "Provides a class of monads which can log messages for Haskell")
7508 (description
7509 "This Haskell package uses a monad transformer approach
7510for logging.
7511
7512This package provides Template Haskell functions for determining source
7513code locations of messages.")
7514 (license license:expat)))
7515
7516(define-public ghc-monad-loops
7517 (package
7518 (name "ghc-monad-loops")
7519 (version "0.4.3")
7520 (source
7521 (origin
7522 (method url-fetch)
7523 (uri (hackage-uri "monad-loops" version))
7524 (sha256
7525 (base32
7526 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7527 (build-system haskell-build-system)
7528 (properties '((upstream-name . "monad-loops")))
7529 (native-inputs (list ghc-tasty ghc-tasty-hunit))
7530 (home-page "https://github.com/mokus0/monad-loops")
7531 (synopsis "Monadic loops for Haskell")
7532 (description "This Haskell package provides some useful control
7533operators for looping.")
7534 (license license:public-domain)))
7535
7536(define-public ghc-monad-par
7537 (package
7538 (name "ghc-monad-par")
7539 (version "0.3.6")
7540 (source
7541 (origin
7542 (method url-fetch)
7543 (uri (hackage-uri "monad-par" version))
7544 (sha256
7545 (base32 "10b2wir7g7pr7gf3d8azkv829fl2fmxzgy8wc4livlwks0vax9jf"))))
7546 (build-system haskell-build-system)
7547 (properties '((upstream-name . "monad-par")))
7548 (inputs (list ghc-abstract-par ghc-abstract-deque ghc-monad-par-extras
7549 ghc-mwc-random ghc-parallel))
7550 (native-inputs (list ghc-quickcheck
7551 ghc-hunit
7552 ghc-test-framework-hunit
7553 ghc-test-framework-quickcheck2
7554 ghc-test-framework
7555 ghc-test-framework-th))
7556 (arguments
7557 `(#:cabal-revision ("1"
7558 "0n329g47a5bfx21fd2j1w2y0ngka87mpfsy1c6yxw57s5x0wda77")))
7559 (home-page "https://github.com/simonmar/monad-par")
7560 (synopsis "Haskell library for parallel programming based on a monad")
7561 (description
7562 "The @code{Par} monad offers an API for parallel
7563programming. The library works for parallelising both pure and @code{IO}
7564computations, although only the pure version is deterministic. The default
7565implementation provides a work-stealing scheduler and supports forking tasks
7566that are much lighter weight than IO-threads.")
7567 (license license:bsd-3)))
7568
7569(define-public ghc-monad-par-extras
7570 (package
7571 (name "ghc-monad-par-extras")
7572 (version "0.3.3")
7573 (source
7574 (origin
7575 (method url-fetch)
7576 (uri (hackage-uri "monad-par-extras" version))
7577 (sha256
7578 (base32 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7579 (build-system haskell-build-system)
7580 (properties '((upstream-name . "monad-par-extras")))
7581 (inputs (list ghc-abstract-par ghc-cereal ghc-random))
7582 (home-page "https://github.com/simonmar/monad-par")
7583 (synopsis "Combinators and extra features for Par monads for Haskell")
7584 (description
7585 "This Haskell package provides additional data structures,
7586and other added capabilities layered on top of the @code{Par} monad.")
7587 (license license:bsd-3)))
7588
7589(define-public ghc-monad-parallel
7590 (package
7591 (name "ghc-monad-parallel")
7592 (version "0.8")
7593 (source
7594 (origin
7595 (method url-fetch)
7596 (uri (hackage-uri "monad-parallel" version))
7597 (sha256
7598 (base32 "1j905cwc440g7rvbhsdkqf50ag7p2bi6cy2rqsk918rn80fqqra4"))))
7599 (build-system haskell-build-system)
7600 (properties '((upstream-name . "monad-parallel")))
7601 (inputs (list ghc-parallel ghc-transformers-compat))
7602 (home-page "https://hub.darcs.net/blamario/SCC.wiki/")
7603 (synopsis "Parallel execution of monadic computations")
7604 (description
7605 "This package defines classes of monads that can perform multiple
7606executions in parallel and combine their results. For any monad that's an
7607instance of the class, the package re-implements a subset of the
7608@code{Control.Monad} interface, but with parallel execution.")
7609 (license license:bsd-3)))
7610
7611(define-public ghc-monadrandom
7612 (package
7613 (name "ghc-monadrandom")
7614 (version "0.6.2")
7615 (source
7616 (origin
7617 (method url-fetch)
7618 (uri (hackage-uri "MonadRandom" version))
7619 (sha256
7620 (base32 "0sk61xbpagiwfpmfskysc2f7y05rpmaz0q8hr0a7m6f2xyw1rw02"))))
7621 (build-system haskell-build-system)
7622 (properties '((upstream-name . "MonadRandom")))
7623 (inputs (list ghc-transformers-compat ghc-primitive ghc-random ghc-fail))
7624 (home-page "http://hackage.haskell.org/package/MonadRandom")
7625 (synopsis "Random-number generation monad for Haskell")
7626 (description "This Haskell package provides support for computations
7627which consume random values.")
7628 (license license:bsd-3)))
7629
7630(define-public ghc-monads-tf
7631 (package
7632 (name "ghc-monads-tf")
7633 (version "0.3.0.1")
7634 (source
7635 (origin
7636 (method url-fetch)
7637 (uri (hackage-uri "monads-tf" version))
7638 (sha256
7639 (base32 "00jzz9lqpz3s5xwvmc5xi300jkkjv9bk62k0jgwnqfv6py9x5g11"))))
7640 (build-system haskell-build-system)
7641 (properties '((upstream-name . "monads-tf")))
7642 (arguments
7643 `(#:cabal-revision ("2"
7644 "1wyfl2w8pfkg233180qlk65kka41iqb2hgxsyx700sfqd4p9vs36")))
7645 (home-page "https://github.com/typeclasses/monads-tf")
7646 (synopsis "Monad classes, using type families")
7647 (description
7648 "Monad classes using type families, with instances for various monad transformers,
7649inspired by the paper 'Functional Programming with Overloading and Higher-Order
7650Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7651the @code{mtl-tf} package.")
7652 (license license:bsd-3)))
7653
7654(define-public ghc-mono-traversable
7655 (package
7656 (name "ghc-mono-traversable")
7657 (version "1.0.21.0")
7658 (source
7659 (origin
7660 (method url-fetch)
7661 (uri (hackage-uri "mono-traversable" version))
7662 (sha256
7663 (base32 "1kf5qwicr8ld4bgkzijxwpzppfwdr4wsl1rg8009a5n06jikxnad"))))
7664 (build-system haskell-build-system)
7665 (properties '((upstream-name . "mono-traversable")))
7666 (inputs (list ghc-hashable ghc-split ghc-unordered-containers ghc-vector
7667 ghc-vector-algorithms))
7668 (native-inputs (list ghc-hunit ghc-quickcheck ghc-foldl ghc-hspec))
7669 (home-page "https://github.com/snoyberg/mono-traversable#readme")
7670 (synopsis
7671 "Haskell classes for mapping, folding, and traversing monomorphic
7672containers")
7673 (description
7674 "This Haskell package provides Monomorphic variants of the
7675Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7676basic typeclasses, you understand mono-traversable. In addition to what
7677you are used to, it adds on an IsSequence typeclass and has code for marking
7678data structures as non-empty.")
7679 (license license:expat)))
7680
7681(define-public ghc-monoid-extras
7682 (package
7683 (name "ghc-monoid-extras")
7684 (version "0.7")
7685 (source
7686 (origin
7687 (method url-fetch)
7688 (uri (hackage-uri "monoid-extras" version))
7689 (sha256
7690 (base32 "0c25hcvsw6xqdgy6p8q5jdgxmnqhiq7z2hm43cn0yh9nk2y294ws"))))
7691 (build-system haskell-build-system)
7692 (properties '((upstream-name . "monoid-extras")))
7693 (inputs (list ghc-groups ghc-semigroupoids))
7694 (home-page "http://hackage.haskell.org/package/monoid-extras")
7695 (synopsis "Various extra monoid-related definitions and utilities")
7696 (description
7697 "This package provides various extra monoid-related
7698definitions and utilities, such as monoid actions, monoid coproducts,
7699semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7700\"cut\" monoids.")
7701 (license license:bsd-3)))
7702
7703(define-public ghc-mountpoints
7704 (package
7705 (name "ghc-mountpoints")
7706 (version "1.0.2")
7707 (source
7708 (origin
7709 (method url-fetch)
7710 (uri (hackage-uri "mountpoints" version))
7711 (sha256
7712 (base32 "1hnm31pqcffphyc463wf0vbik9fzm5lb2r4wjdc1y4dqzmjdzz37"))))
7713 (build-system haskell-build-system)
7714 (properties '((upstream-name . "mountpoints")))
7715 (home-page "http://hackage.haskell.org/package/mountpoints")
7716 (synopsis "Haskell library for listing mount points")
7717 (description "This library provides Haskell bindings for checking
7718currently mounted filesystems.")
7719 (license license:lgpl2.1+)))
7720
7721(define-public ghc-mtl-compat
7722 (package
7723 (name "ghc-mtl-compat")
7724 (version "0.2.2")
7725 (source
7726 (origin
7727 (method url-fetch)
7728 (uri (hackage-uri "mtl-compat" version))
7729 (sha256
7730 (base32 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7731 (build-system haskell-build-system)
7732 (properties '((upstream-name . "mtl-compat")))
7733 (home-page "https://github.com/haskell-compat/mtl-compat")
7734 (synopsis "Backported Control.Monad.Except module from mtl")
7735 (description
7736 "This package backports the Control.Monad.Except module from mtl (if
7737using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7738and the MonadError class.
7739
7740This package should only be used if there is a need to use the
7741Control.Monad.Except module specifically. If you just want the mtl class
7742instances for ExceptT, use transformers-compat instead, since mtl-compat does
7743nothing but reexport the instances from that package.
7744
7745Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7746module defined in this package exports all of ExceptT's monad class instances.
7747Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7748the top of your file to get all of the ExceptT instances in scope.")
7749 (license license:bsd-3)))
7750
7751(define-public ghc-murmur-hash
7752 (package
7753 (name "ghc-murmur-hash")
7754 (version "0.1.0.11")
7755 (source
7756 (origin
7757 (method url-fetch)
7758 (uri (hackage-uri "murmur-hash" version))
7759 (sha256
7760 (base32 "1zkd575b6rgs0js4vsr56hy7xhjmvbwxibiwcm6q2wgz5c9igaki"))))
7761 (build-system haskell-build-system)
7762 (properties '((upstream-name . "murmur-hash")))
7763 (home-page "https://github.com/nominolo/murmur-hash")
7764 (synopsis "MurmurHash2 implementation for Haskell")
7765 (description
7766 "This package provides an implementation of MurmurHash2, a good, fast,
7767general-purpose, non-cryptographic hashing function. See
7768@url{https://sites.google.com/site/murmurhash/} for details. This
7769implementation is pure Haskell, so it might be a bit slower than a C FFI
7770binding.")
7771 (license license:bsd-3)))
7772
7773(define-public ghc-mwc-random
7774 (package
7775 (name "ghc-mwc-random")
7776 (version "0.15.2.0")
7777 (source
7778 (origin
7779 (method url-fetch)
7780 (uri (hackage-uri "mwc-random" version))
7781 (sha256
7782 (base32 "0cs12ycr966ff5k4z515rqxnw3a0hrjf5dafm8k96469ww3anhsq"))))
7783 (build-system haskell-build-system)
7784 (properties '((upstream-name . "mwc-random")))
7785 (arguments
7786 (list
7787 #:phases
7788 #~(modify-phases %standard-phases
7789 (add-before 'configure 'relax-dependency-versions
7790 (lambda _
7791 (substitute* "mwc-random.cabal"
7792 (("doctest [<>=0-9. &|]*") "doctest"))))
7793 ;; The doctests require GHC_PACKAGE_PATH but Setup.hs fails
7794 ;; if it is defined, so we run them separately
7795 (replace 'check
7796 (lambda* (#:key tests? #:allow-other-keys)
7797 (if tests?
7798 (let* ((tmpdir (or (getenv "TMP") "/tmp"))
7799 (package-db (string-append tmpdir "/package.conf.d")))
7800 (invoke "runhaskell" "Setup.lhs" "test" "mwc-prop-tests")
7801 (setenv "GHC_PACKAGE_PATH" package-db)
7802 (invoke "./dist/build/mwc-doctests/mwc-doctests")
7803 (unsetenv "GHC_PACKAGE_PATH"))
7804 (format #t "Testsuite not run.%~")))))))
7805 (inputs (list ghc-primitive ghc-random ghc-vector ghc-math-functions))
7806 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-quickcheck
7807 ghc-tasty-hunit ghc-doctest))
7808 (home-page "https://github.com/haskell/mwc-random")
7809 (synopsis "Random number generation library for Haskell")
7810 (description
7811 "This Haskell package contains code for generating
7812high quality random numbers that follow either a uniform or normal
7813distribution. The generated numbers are suitable for use in
7814statistical applications.
7815
7816The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7817multiply-with-carry generator, which has a period of 2^{8222} and
7818fares well in tests of randomness. It is also extremely fast,
7819between 2 and 3 times faster than the Mersenne Twister.")
7820 (license license:bsd-3)))
7821
7822(define-public ghc-nats
7823 (package
7824 (name "ghc-nats")
7825 (version "1.1.2")
7826 (source
7827 (origin
7828 (method url-fetch)
7829 (uri (hackage-uri "nats" version))
7830 (sha256
7831 (base32 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7832 (build-system haskell-build-system)
7833 (properties '((upstream-name . "nats")))
7834 (inputs (list ghc-hashable))
7835 (arguments
7836 `(#:cabal-revision ("4"
7837 "0qccypqkfs7hi0v2bsjfqfhpi2jgsnpfwi9vmcqh7jxk5g08njk0")))
7838 (home-page "http://github.com/ekmett/nats/")
7839 (synopsis "Natural numbers")
7840 (description "This library provides the natural numbers for Haskell.")
7841 (license license:bsd-3)))
7842
7843(define-public ghc-nats-bootstrap
7844 (package
7845 (inherit ghc-nats)
7846 (name "ghc-nats-bootstrap")
7847 (inputs
7848 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7849 (properties '((hidden? #t)))))
7850
7851(define-public ghc-ncurses
7852 (package
7853 (name "ghc-ncurses")
7854 (version "0.2.16")
7855 (source
7856 (origin
7857 (method url-fetch)
7858 (uri (hackage-uri "ncurses" version))
7859 (sha256
7860 (base32
7861 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7862 (build-system haskell-build-system)
7863 (properties '((upstream-name . "ncurses")))
7864 (arguments
7865 '(#:extra-directories ("ncurses")
7866 #:phases
7867 (modify-phases %standard-phases
7868 (add-before 'build 'fix-includes
7869 (lambda _
7870 (substitute* '("cbits/hsncurses-shim.h"
7871 "lib/UI/NCurses.chs"
7872 "lib/UI/NCurses/Enums.chs"
7873 "lib/UI/NCurses/Panel.chs")
7874 (("<ncursesw/") "<"))
7875 ;; KEY_EVENT doesn't appear in our ncurses.h
7876 (substitute* "lib/UI/NCurses/Enums.chs"
7877 ((".*KEY_EVENT.*") "")))))
7878 #:cabal-revision
7879 ("1"
7880 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7881 (inputs (list ncurses))
7882 (native-inputs (list ghc-c2hs))
7883 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7884 (synopsis "Modernised bindings to GNU ncurses")
7885 (description "GNU ncurses is a library for creating command-line application
7886with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7887ncurses.")
7888 (license license:gpl3)))
7889
7890(define-public ghc-network
7891 (package
7892 (name "ghc-network")
7893 (version "3.2.8.0")
7894 (source
7895 (origin
7896 (method url-fetch)
7897 (uri (hackage-uri "network" version))
7898 (sha256
7899 (base32 "1j2zbjqpnrwkhi5673by8z1dp92mh3glik8a4r7jcxvxxdg8wy2i"))))
7900 (build-system haskell-build-system)
7901 (properties '((upstream-name . "network")))
7902 (native-inputs (list ghc-hunit ghc-temporary ghc-hspec ghc-quickcheck
7903 hspec-discover))
7904 (home-page "https://github.com/haskell/network")
7905 (synopsis "Low-level networking interface")
7906 (description "This package provides a low-level networking interface.")
7907 (license license:bsd-3)))
7908
7909(define-public ghc-network-bsd
7910 (package
7911 (name "ghc-network-bsd")
7912 (version "2.8.1.0")
7913 (source
7914 (origin
7915 (method url-fetch)
7916 (uri (hackage-uri "network-bsd" version))
7917 (sha256
7918 (base32 "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr"))))
7919 (build-system haskell-build-system)
7920 (properties '((upstream-name . "network-bsd")))
7921 (inputs (list ghc-network))
7922 (arguments
7923 `(#:cabal-revision ("6"
7924 "173jmmqfmqwv6am1yk127ixbdqzng9sjj45v9f9g3cvf3kw6fy6c")))
7925 (home-page "https://github.com/haskell/network-bsd")
7926 (synopsis "POSIX network database (<netdb.h>) API")
7927 (description "This package provides Haskell bindings to the the POSIX
7928network database (<netdb.h>) API.")
7929 (license license:bsd-3)))
7930
7931(define-public ghc-network-byte-order
7932 (package
7933 (name "ghc-network-byte-order")
7934 (version "0.1.7")
7935 (source
7936 (origin
7937 (method url-fetch)
7938 (uri (hackage-uri "network-byte-order" version))
7939 (sha256
7940 (base32 "0yc6s2zdxkr2awmf56vqwds417ix8rgq33ffsk44wdk7gyny0328"))))
7941 (build-system haskell-build-system)
7942 (properties '((upstream-name . "network-byte-order")))
7943 (home-page "http://hackage.haskell.org/package/network-byte-order")
7944 (synopsis "Network byte order utilities")
7945 (description "This library provides peek and poke functions for network
7946byte order.")
7947 (license license:bsd-3)))
7948
7949(define-public ghc-network-info
7950 (package
7951 (name "ghc-network-info")
7952 (version "0.2.1")
7953 (source
7954 (origin
7955 (method url-fetch)
7956 (uri (hackage-uri "network-info" version))
7957 (sha256
7958 (base32 "015lm3b8n8sb16qsffjxz1jvijyy0z600ch0sm8h6a685wqqhbcv"))))
7959 (build-system haskell-build-system)
7960 (properties '((upstream-name . "network-info")))
7961 (home-page "http://github.com/jacobstanley/network-info")
7962 (synopsis "Access the local computer's basic network configuration")
7963 (description
7964 "This Haskell library provides simple read-only access to the
7965local computer's networking configuration. It is currently capable of
7966getting a list of all the network interfaces and their respective
7967IPv4, IPv6 and MAC addresses.")
7968 (license license:bsd-3)))
7969
7970(define-public ghc-network-multicast
7971 (package
7972 (name "ghc-network-multicast")
7973 (version "0.3.2")
7974 (source
7975 (origin
7976 (method url-fetch)
7977 (uri (hackage-uri "network-multicast" version))
7978 (sha256
7979 (base32 "0whvi0pbwjy6dbwfdf9rv1j3yr3lcmfp3q7a8pwq63g537l4l2l3"))))
7980 (build-system haskell-build-system)
7981 (properties '((upstream-name . "network-multicast")))
7982 (inputs (list ghc-network ghc-network-bsd))
7983 (home-page "http://hackage.haskell.org/package/network-multicast")
7984 (synopsis "Simple multicast library for Haskell")
7985 (description
7986 "This package provides the Network.Multicast Haskell module for
7987sending UDP datagrams over multicast (class D) addresses.")
7988 (license license:public-domain)))
7989
7990(define-public ghc-network-uri
7991 (package
7992 (name "ghc-network-uri")
7993 (version "2.6.4.2")
7994 (source
7995 (origin
7996 (method url-fetch)
7997 (uri (hackage-uri "network-uri" version))
7998 (sha256
7999 (base32 "0a3jg6aykwm1yw32nh137hi6r86w2640xwl1p18352bf29rqj64w"))))
8000 (build-system haskell-build-system)
8001 (properties '((upstream-name . "network-uri")))
8002 (inputs (list ghc-th-compat))
8003 (native-inputs (list ghc-hunit ghc-tasty ghc-tasty-hunit
8004 ghc-tasty-quickcheck ghc-quickcheck))
8005 (arguments
8006 `(#:cabal-revision ("1"
8007 "12350bi5sqamk1mdgkm757q3p2q96bvhm2yvl98mcawnfdrvbzvg")))
8008 (home-page "https://github.com/haskell/network-uri")
8009 (synopsis "Library for URI manipulation")
8010 (description
8011 "This package provides an URI manipulation interface. In
8012@code{network-2.6} the @code{Network.URI} module was split off from the
8013@code{network} package into this package.")
8014 (license license:bsd-3)))
8015
8016(define-public ghc-newtype-generics
8017 (package
8018 (name "ghc-newtype-generics")
8019 (version "0.6.2")
8020 (source
8021 (origin
8022 (method url-fetch)
8023 (uri (hackage-uri "newtype-generics" version))
8024 (sha256
8025 (base32 "0km7cp041bgdgrxrbrawz611mcylxp943880a2yg228a09961b51"))))
8026 (build-system haskell-build-system)
8027 (properties '((upstream-name . "newtype-generics")))
8028 (native-inputs (list ghc-hspec hspec-discover))
8029 (arguments
8030 `(#:cabal-revision ("5"
8031 "0arlqrq482ai3j6cwgb8kc34zc8y3ghg8fgrxxcnw752hzrl1g71")))
8032 (home-page "http://github.com/sjakobi/newtype-generics")
8033 (synopsis "Typeclass and set of functions for working with newtypes")
8034 (description
8035 "The @code{Newtype} typeclass represents the packing and
8036unpacking of a newtype, and allows you to operate under that newtype with
8037functions such as @code{ala}. Generics support was added in version 0.4,
8038making this package a full replacement for the original newtype package,
8039and an alternative to newtype-th.")
8040 (license license:bsd-3)))
8041
8042(define-public ghc-non-negative
8043 (package
8044 (name "ghc-non-negative")
8045 (version "0.1.2")
8046 (source
8047 (origin
8048 (method url-fetch)
8049 (uri (hackage-uri "non-negative" version))
8050 (sha256
8051 (base32 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8052 (build-system haskell-build-system)
8053 (properties '((upstream-name . "non-negative")))
8054 (inputs (list ghc-semigroups ghc-utility-ht ghc-quickcheck))
8055 (home-page "http://code.haskell.org/~thielema/non-negative/")
8056 (synopsis "Non-negative numbers class")
8057 (description
8058 "This library provides a class for non-negative numbers,
8059a wrapper which can turn any ordered numeric type into a member of that
8060class, and a lazy number type for non-negative numbers (a generalization
8061of Peano numbers).")
8062 (license license:gpl3+)))
8063
8064(define-public ghc-nonce
8065 (package
8066 (name "ghc-nonce")
8067 (version "1.0.7")
8068 (source
8069 (origin
8070 (method url-fetch)
8071 (uri (hackage-uri "nonce" version))
8072 (sha256
8073 (base32 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8074 (build-system haskell-build-system)
8075 (properties '((upstream-name . "nonce")))
8076 (inputs (list ghc-base64-bytestring ghc-entropy ghc-unliftio
8077 ghc-unliftio-core))
8078 (arguments
8079 `(#:cabal-revision ("2"
8080 "09xvg4lpmb1hw153afhbjrdg9v3npfwpdfhpv5y8b0qvb4zi3n9q")))
8081 (home-page "https://github.com/prowdsponsor/nonce")
8082 (synopsis "Generate cryptographic nonces in Haskell")
8083 (description
8084 "A nonce is an arbitrary number used only once in a cryptographic
8085communication. This package contain helper functions for generating nonces.
8086There are many kinds of nonces used in different situations. It's not
8087guaranteed that by using the nonces from this package you won't have any
8088security issues. Please make sure that the nonces generated via this
8089package are usable on your design.")
8090 (license license:bsd-3)))
8091
8092(define-public ghc-numeric-extras
8093 (package
8094 (name "ghc-numeric-extras")
8095 (version "0.1")
8096 (source
8097 (origin
8098 (method url-fetch)
8099 (uri (hackage-uri "numeric-extras" version))
8100 (sha256
8101 (base32 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8102 (build-system haskell-build-system)
8103 (properties '((upstream-name . "numeric-extras")))
8104 (home-page "http://github.com/ekmett/numeric-extras")
8105 (synopsis "Useful tools from the C standard library")
8106 (description "This library provides some useful tools from the C
8107standard library.")
8108 (license license:bsd-3)))
8109
8110(define-public ghc-objectname
8111 (package
8112 (name "ghc-objectname")
8113 (version "1.1.0.2")
8114 (source
8115 (origin
8116 (method url-fetch)
8117 (uri (hackage-uri "ObjectName" version))
8118 (sha256
8119 (base32 "0xdkfc97salzj5s3fvmwk4k0097dcd8c4xcr5ghhv9mz0wcxm9gz"))))
8120 (build-system haskell-build-system)
8121 (properties '((upstream-name . "ObjectName")))
8122 (home-page "https://github.com/svenpanne/ObjectName")
8123 (synopsis "Helper library for Haskell OpenGL")
8124 (description
8125 "This tiny package contains the class ObjectName, which
8126corresponds to the general notion of explicitly handled identifiers for API
8127objects, e.g. a texture object name in OpenGL or a buffer object name in
8128OpenAL.")
8129 (license license:bsd-3)))
8130
8131(define-public ghc-old-locale
8132 (package
8133 (name "ghc-old-locale")
8134 (version "1.0.0.7")
8135 (source
8136 (origin
8137 (method url-fetch)
8138 (uri (hackage-uri "old-locale" version))
8139 (sha256
8140 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8141 (build-system haskell-build-system)
8142 (properties '((upstream-name . "old-locale")))
8143 (arguments
8144 `(#:cabal-revision ("2"
8145 "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8146 (home-page "http://hackage.haskell.org/package/old-locale")
8147 (synopsis "Adapt to locale conventions")
8148 (description
8149 "This package provides the ability to adapt to locale conventions such as
8150date and time formats.")
8151 (license license:bsd-3)))
8152
8153(define-public ghc-old-time
8154 (package
8155 (name "ghc-old-time")
8156 (version "1.1.0.4")
8157 (source
8158 (origin
8159 (method url-fetch)
8160 (uri (hackage-uri "old-time" version))
8161 (sha256
8162 (base32 "0vqn9iifrg601734pvvl3khyxv2y7dxr25z3a9pnfjljgdzyn8hy"))))
8163 (build-system haskell-build-system)
8164 (properties '((upstream-name . "old-time")))
8165 (inputs (list ghc-old-locale))
8166 (home-page "http://hackage.haskell.org/package/old-time")
8167 (synopsis "Time compatibility library for Haskell")
8168 (description
8169 "Old-time is a package for backwards compatibility with the
8170old @code{time} library. For new projects, the newer
8171@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8172 (license license:bsd-3)))
8173
8174(define-public ghc-only
8175 (package
8176 (name "ghc-only")
8177 (version "0.1")
8178 (source
8179 (origin
8180 (method url-fetch)
8181 (uri (hackage-uri "Only" version))
8182 (sha256
8183 (base32 "0rdj3a629fk2vp121jq8mf2smkblrz5w3cxhlsyx6my2x29s2ymb"))))
8184 (build-system haskell-build-system)
8185 (properties '((upstream-name . "Only")))
8186 (arguments
8187 `(#:cabal-revision ("2"
8188 "01rvhsm4gyvjpgakrj7nzlfb1bjhkkx87xj3hng2x00g3qc3s0y6")))
8189 (home-page "http://hackage.haskell.org/package/Only")
8190 (synopsis "The 1-tuple type or single-value collection")
8191 (description
8192 "This package provides a canonical anonymous 1-tuple type missing from
8193Haskell for attaching typeclass instances.
8194
8195There is also the @url{https://hackage.haskell.org/package/OneTuple, OneTuple
8196package} which by using a boxed @code{data}-type provides a 1-tuple type which
8197has laziness properties which are more faithful to the ones of Haskell's
8198native tuples; whereas the primary purpose of @code{Only} is to provide the
8199traditionally so named type-wrapper for attaching typeclass instances.")
8200 (license license:bsd-3)))
8201
8202(define-public ghc-opengl
8203 (package
8204 (name "ghc-opengl")
8205 (version "3.0.3.0")
8206 (source
8207 (origin
8208 (method url-fetch)
8209 (uri (hackage-uri "OpenGL" version))
8210 (sha256
8211 (base32 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
8212 (build-system haskell-build-system)
8213 (properties '((upstream-name . "OpenGL")))
8214 (inputs (list ghc-objectname ghc-statevar ghc-openglraw ghc-gluraw glu))
8215 (arguments
8216 `(#:cabal-revision ("4"
8217 "121998ckmpama7cfl63m5nvin46cqzip3ypzmy7v4y96ks6s1n5w")))
8218 (home-page "https://wiki.haskell.org/OpenGL")
8219 (synopsis "Haskell bindings for the OpenGL graphics system")
8220 (description
8221 "This package provides Haskell bindings for the OpenGL
8222graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8223version 1.3).")
8224 (license license:bsd-3)))
8225
8226(define-public ghc-openglraw
8227 (package
8228 (name "ghc-openglraw")
8229 (version "3.3.4.1")
8230 (source
8231 (origin
8232 (method url-fetch)
8233 (uri (hackage-uri "OpenGLRaw" version))
8234 (sha256
8235 (base32 "07nk0rgm6jcxz6yshwhv5lj5frs6371w3hdjxwa4biws2kmbs6hj"))))
8236 (build-system haskell-build-system)
8237 (properties '((upstream-name . "OpenGLRaw")))
8238 (inputs (list ghc-fixed ghc-half glu))
8239 (arguments
8240 `(#:cabal-revision ("3"
8241 "1wbqfgcswng27v76r7rgy1zlb4wpap2ibjf3hbcrdz39sbxlbdq1")))
8242 (home-page "http://www.haskell.org/haskellwiki/Opengl")
8243 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8244 (description
8245 "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8246graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8247of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8248offers access to all necessary functions, tokens and types plus a general
8249facility for loading extension entries. The module hierarchy closely mirrors
8250the naming structure of the OpenGL extensions, making it easy to find the
8251right module to import. All API entries are loaded dynamically, so no special
8252C header files are needed for building this package. If an API entry is not
8253found at runtime, a userError is thrown.")
8254 (license license:bsd-3)))
8255
8256(define-public ghc-operational
8257 (package
8258 (name "ghc-operational")
8259 (version "0.2.4.2")
8260 (source
8261 (origin
8262 (method url-fetch)
8263 (uri (hackage-uri "operational" version))
8264 (sha256
8265 (base32 "1dx6vpmg21fskxyz12ba26hffk25b2qk9sznqfczgaamn6rahzc5"))))
8266 (build-system haskell-build-system)
8267 (properties '((upstream-name . "operational")))
8268 (inputs (list ghc-random))
8269 (arguments
8270 `(#:cabal-revision ("1"
8271 "0hdqwjm1jp6f8n8qglg9ylz07sbhrc7cm4kvcglymi2s4i9mdsai")))
8272 (home-page "https://github.com/HeinrichApfelmus/operational")
8273 (synopsis
8274 "Implementation of difficult monads made easy with operational semantics")
8275 (description
8276 "This library makes it easy to implement monads with tricky control
8277flow. This is useful for: writing web applications in a sequential style,
8278programming games with a uniform interface for human and AI players and easy
8279replay capabilities, implementing fast parser monads, designing monadic
8280DSLs, etc.")
8281 (license license:bsd-3)))
8282
8283(define-public ghc-optional-args
8284 (package
8285 (name "ghc-optional-args")
8286 (version "1.0.2")
8287 (source
8288 (origin
8289 (method url-fetch)
8290 (uri (hackage-uri "optional-args" version))
8291 (sha256
8292 (base32 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8293 (build-system haskell-build-system)
8294 (properties '((upstream-name . "optional-args")))
8295 (arguments
8296 `(#:cabal-revision ("2"
8297 "1f3j092lk2qa6hi2p4iciyyxg27mzm37dlcw5hg3ch2wh6jw0a37")))
8298 (home-page "http://hackage.haskell.org/package/optional-args")
8299 (synopsis "Optional function arguments")
8300 (description
8301 "This library provides a type for specifying @code{Optional} function
8302arguments.")
8303 (license license:bsd-3)))
8304
8305(define-public ghc-options
8306 (package
8307 (name "ghc-options")
8308 (version "1.2.1.2")
8309 (source
8310 (origin
8311 (method url-fetch)
8312 (uri (hackage-uri "options" version))
8313 (sha256
8314 (base32 "0jjz7b69qrsrbfz07xq43v70habxk8sj2gdlbkwh0gbifyhqykbf"))))
8315 (build-system haskell-build-system)
8316 (properties '((upstream-name . "options")))
8317 (inputs (list ghc-monads-tf))
8318 (native-inputs (list ghc-hspec ghc-patience))
8319 (arguments
8320 `(#:cabal-revision ("2"
8321 "1aqs45xs42hzga0k9fryrj10my7crgbnmyip58vxrfd0s43rqdxq")))
8322 (home-page "https://github.com/typeclasses/options/")
8323 (synopsis "Powerful and easy-to-use command-line option parser")
8324 (description
8325 "The @code{options} package lets library and application developers
8326easily work with command-line options.")
8327 (license license:expat)))
8328
8329;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8330(define-public ghc-options-bootstrap
8331 (package
8332 (name "ghc-options-bootstrap")
8333 (version "1.2.1.1")
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append
8338 "https://hackage.haskell.org/package/options/options-"
8339 version ".tar.gz"))
8340 (sha256
8341 (base32
8342 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8343 (build-system haskell-build-system)
8344 (arguments
8345 `(#:tests? #f))
8346 (inputs
8347 `(("ghc-monads-tf" ,ghc-monads-tf)))
8348 (home-page "https://john-millikin.com/software/haskell-options/")
8349 (synopsis "Powerful and easy-to-use command-line option parser")
8350 (description
8351 "The @code{options} package lets library and application developers
8352easily work with command-line options.")
8353 (properties '((hidden? . #t))) ;for bootstrapping purposes only
8354 (license license:expat)))
8355
8356
8357(define-public ghc-optparse-applicative
8358 (package
8359 (name "ghc-optparse-applicative")
8360 (version "0.18.1.0")
8361 (source
8362 (origin
8363 (method url-fetch)
8364 (uri (hackage-uri "optparse-applicative" version))
8365 (sha256
8366 (base32 "14f4xihvklrdbc0banwzh5wwqfmyi1d34r43hsw2ks16zns1m0b3"))))
8367 (build-system haskell-build-system)
8368 (properties '((upstream-name . "optparse-applicative")))
8369 (inputs (list ghc-transformers-compat ghc-prettyprinter
8370 ghc-prettyprinter-ansi-terminal))
8371 (native-inputs (list ghc-quickcheck))
8372 (arguments
8373 (list
8374 #:phases
8375 #~(modify-phases %standard-phases
8376 ;; Tests pass with 2.15.1 even though the package requires < 2.15
8377 (add-before 'configure 'relax-quickcheck-version
8378 (lambda _
8379 (substitute* "optparse-applicative.cabal"
8380 (("(QuickCheck *[^<]*)< *2.15" all bound)
8381 (string-append bound "< 2.16"))))))
8382 #:cabal-revision '("1"
8383 "10kd3gn961kb20acrqah70gkla2d3qypr37z0pzypry73a3762gk")))
8384 (home-page "https://github.com/pcapriotti/optparse-applicative")
8385 (synopsis "Utilities and combinators for parsing command line options")
8386 (description "This package provides utilities and combinators for parsing
8387command line options in Haskell.")
8388 (license license:bsd-3)))
8389
8390(define-public ghc-jira-wiki-markup
8391 (package
8392 (name "ghc-jira-wiki-markup")
8393 (version "1.5.1")
8394 (source
8395 (origin
8396 (method url-fetch)
8397 (uri (hackage-uri "jira-wiki-markup" version))
8398 (sha256
8399 (base32 "0875x0x8v92zh89m28xq3y8gb9c8ca7dm790zczipkrwkhv3v8lw"))))
8400 (build-system haskell-build-system)
8401 (properties '((upstream-name . "jira-wiki-markup")))
8402 (native-inputs (list ghc-tasty ghc-tasty-hunit))
8403 (arguments
8404 `(#:cabal-revision ("1"
8405 "19lkrzzhqjy5rjg7xcdwsrkna7nygjs0ayq7sm3114b1kbs8hahl")))
8406 (home-page "https://github.com/tarleb/jira-wiki-markup")
8407 (synopsis "Handle Jira wiki markup")
8408 (description
8409 "Parse jira wiki text into an abstract syntax tree for easy transformation
8410to other formats.")
8411 (license license:expat)))
8412
8413(define-public ghc-emojis
8414 (package
8415 (name "ghc-emojis")
8416 (version "0.1.4.1")
8417 (source
8418 (origin
8419 (method url-fetch)
8420 (uri (hackage-uri "emojis" version))
8421 (sha256
8422 (base32 "1r8a8xjnsqbyzg96fla2s1cg6804297w6487rnrvjhqxgccxc040"))))
8423 (build-system haskell-build-system)
8424 (properties '((upstream-name . "emojis")))
8425 (native-inputs (list ghc-hunit))
8426 (home-page "https://github.com/jgm/emojis#readme")
8427 (synopsis "Conversion between emoji characters and their names")
8428 (description
8429 "This package provides functions for converting emoji names to emoji
8430characters and vice versa.
8431
8432How does it differ from the @code{emoji} package?
8433@itemize
8434@item It supports a fuller range of emojis, including all those supported by
8435GitHub
8436@item It supports lookup of emoji aliases from emoji
8437@item It uses Text rather than String
8438@item It has a lighter dependency footprint: in particular, it does not
8439require aeson
8440@item It does not require TemplateHaskell
8441@end itemize")
8442 (license license:bsd-3)))
8443
8444(define-public ghc-text-conversions
8445 (package
8446 (name "ghc-text-conversions")
8447 (version "0.3.1.1")
8448 (source
8449 (origin
8450 (method url-fetch)
8451 (uri (hackage-uri "text-conversions" version))
8452 (sha256
8453 (base32 "0pbjlzsjd3m8np5p6iq7zb0bx6n40d8jha76r8s07s4wg2x0yxy8"))))
8454 (build-system haskell-build-system)
8455 (properties '((upstream-name . "text-conversions")))
8456 (inputs (list ghc-base16-bytestring ghc-base64-bytestring))
8457 (native-inputs (list ghc-hspec hspec-discover))
8458 (home-page "https://github.com/cjdev/text-conversions")
8459 (synopsis "Safe conversions between textual types")
8460 (description "Safe conversions between textual types")
8461 (license license:isc)))
8462
8463(define-public ghc-text-icu
8464 (package
8465 (name "ghc-text-icu")
8466 (version "0.8.0.5")
8467 (source
8468 (origin
8469 (method url-fetch)
8470 (uri (hackage-uri "text-icu" version))
8471 (sha256
8472 (base32 "1nzd7al2vpm07xa19w9vy6f696bm4z48h0m4fljsxjg4v0wblbj4"))))
8473 (build-system haskell-build-system)
8474 (properties '((upstream-name . "text-icu")))
8475 (inputs (list icu4c))
8476 (native-inputs (list ghc-hunit
8477 ghc-quickcheck
8478 ghc-random
8479 ghc-test-framework
8480 ghc-test-framework-hunit
8481 ghc-test-framework-quickcheck2
8482 ghc-semigroups
8483 pkg-config))
8484 (arguments
8485 `(#:cabal-revision ("1"
8486 "1zqbcsnf9943mk8i9lyj1ab2xvg6dw9k6jfjhblxqcliq53c3dpp")))
8487 (home-page "https://github.com/haskell/text-icu")
8488 (synopsis "Bindings to the ICU library")
8489 (description
8490 "Haskell bindings to the International Components for Unicode (ICU) libraries.
8491These libraries provide robust and full-featured Unicode services on a wide
8492variety of platforms. . Features include: . * Both pure and impure bindings, to
8493allow for fine control over efficiency and ease of use. . * Breaking of strings
8494on character, word, sentence, and line boundaries. . * Access to the Unicode
8495Character Database (UCD) of character metadata. . * String collation functions,
8496for locales where the conventions for lexicographic ordering differ from the
8497simple numeric ordering of character codes. . * Character set conversion
8498functions, allowing conversion between Unicode and over 220 character encodings.
8499. * Unicode normalization. (When implementations keep strings in a normalized
8500form, they can be assured that equivalent strings have a unique binary
8501representation.) . * Regular expression search and replace. . * Security checks
8502for visually confusable (spoofable) strings. . * Bidirectional Unicode algorithm
8503. * Calendar objects holding dates and times. . * Number and calendar
8504formatting.")
8505 (license license:bsd-3)))
8506
8507(define-public ghc-text-iso8601
8508 (package
8509 (name "ghc-text-iso8601")
8510 (version "0.1.1")
8511 (source
8512 (origin
8513 (method url-fetch)
8514 (uri (hackage-uri "text-iso8601" version))
8515 (sha256
8516 (base32 "00l2m3xj39mrz7lbmbnir4k9jbn3jm3xa2q6zkh0zr7arsvx5slx"))))
8517 (build-system haskell-build-system)
8518 (properties '((upstream-name . "text-iso8601")))
8519 (inputs (list ghc-integer-conversion ghc-time-compat))
8520 (native-inputs (list ghc-quickcheck ghc-quickcheck-instances ghc-tasty
8521 ghc-tasty-hunit ghc-tasty-quickcheck))
8522 (arguments
8523 `(#:cabal-revision ("2"
8524 "0jaqs685h5zip0vac6wrbz37mw3kvkjsifzr5fcki4wnxxg64yp0")))
8525 (home-page "https://github.com/haskell/aeson")
8526 (synopsis "Converting time to and from ISO 8601 text.")
8527 (description
8528 "Converting time to and from IS0 8601 text. Specifically the
8529@url{https://datatracker.ietf.org/doc/html/rfc3339, RFC3339} profile.")
8530 (license license:bsd-3)))
8531
8532(define-public ghc-text-short
8533 (package
8534 (name "ghc-text-short")
8535 (version "0.1.6")
8536 (source
8537 (origin
8538 (method url-fetch)
8539 (uri (hackage-uri "text-short" version))
8540 (sha256
8541 (base32 "1avfamw6sig6r5zpm2hbas373qbrdszi4q33gds9ihvxil9ylww1"))))
8542 (build-system haskell-build-system)
8543 (properties '((upstream-name . "text-short")))
8544 (inputs (list ghc-hashable))
8545 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
8546 (arguments
8547 `(#:cabal-revision ("3"
8548 "0fhnd5dd46pjja8rpawq8ld93ix31q9wa18bkfv6lr7nsg699gj1")))
8549 (home-page "http://hackage.haskell.org/package/text-short")
8550 (synopsis "Memory-efficient representation of Unicode text strings")
8551 (description
8552 "This package provides the @code{ShortText} type which
8553is suitable for keeping many short strings in memory. This is similar
8554to how @code{ShortByteString} relates to @code{ByteString}.
8555
8556The main difference between @code{Text} and @code{ShortText} is that
8557@code{ShortText} uses UTF-8 instead of UTF-16 internally and also doesn't
8558support zero-copy slicing (thereby saving 2 words). Consequently, the memory
8559footprint of a (boxed) @code{ShortText} value is 4 words (2 words when unboxed)
8560plus the length of the UTF-8 encoded payload.")
8561 (license license:bsd-3)))
8562
8563(define-public ghc-text-zipper
8564 (package
8565 (name "ghc-text-zipper")
8566 (version "0.13")
8567 (source
8568 (origin
8569 (method url-fetch)
8570 (uri (hackage-uri "text-zipper" version))
8571 (sha256
8572 (base32 "1acq583wmgb53viqslbkgl454300fawg5lryxddfiy1mqk3iqlh6"))))
8573 (build-system haskell-build-system)
8574 (properties '((upstream-name . "text-zipper")))
8575 (inputs (list ghc-vector))
8576 (native-inputs (list ghc-hspec hspec-discover ghc-quickcheck))
8577 (home-page "https://github.com/jtdaugherty/text-zipper/")
8578 (synopsis "Text editor zipper library")
8579 (description
8580 "This Haskell library provides a two-dimensional zipper data structure for
8581editing text. The structure represents the body of text and an editing cursor
8582which can be moved through it, along with a set of editing transformations.
8583
8584Text zippers are generalized over the set of data types that might be used to
8585store lists of characters (e.g., @code{String}, @code{T.Text}, etc.).
8586Implementations using both of these examples are provided.")
8587 (license license:bsd-3)))
8588
8589(define-public ghc-doclayout
8590 (package
8591 (name "ghc-doclayout")
8592 (version "0.5.0.1")
8593 (source
8594 (origin
8595 (method url-fetch)
8596 (uri (hackage-uri "doclayout" version))
8597 (sha256
8598 (base32 "01vh5j9w0xprh2p9njnrmfj2lpivbfg4r1rksshgaj8b9fqdh8b5"))))
8599 (build-system haskell-build-system)
8600 (properties '((upstream-name . "doclayout")))
8601 (inputs (list ghc-emojis ghc-safe))
8602 (native-inputs (list ghc-tasty ghc-tasty-golden ghc-tasty-hunit
8603 ghc-tasty-quickcheck))
8604 (home-page "https://github.com/jgm/doclayout")
8605 (synopsis "Pretty-printing library for laying out text documents")
8606 (description
8607 "doclayout is a pretty-printing library for laying out text documents,
8608with several features not present in pretty-printing libraries designed for
8609code. It was designed for use in @code{Pandoc}.")
8610 (license license:bsd-3)))
8611
8612(define-public ghc-pandoc
8613 (package
8614 (name "ghc-pandoc")
8615 (version "3.7.0.2")
8616 (source
8617 (origin
8618 (method url-fetch)
8619 (uri (hackage-uri "pandoc" version))
8620 (sha256
8621 (base32 "1l33amh5dkbxbgicvk4hh231b8x36fb90jlpxmgqwfqldk7j3lmz"))))
8622 (build-system haskell-build-system)
8623 (properties '((upstream-name . "pandoc")))
8624 (inputs (list ghc-xml
8625 ghc-xml-conduit
8626 ghc-xml-types
8627 ghc-glob
8628 ghc-juicypixels
8629 ghc-aeson
8630 ghc-aeson-pretty
8631 ghc-attoparsec
8632 ghc-base64-bytestring
8633 ghc-blaze-html
8634 ghc-blaze-markup
8635 ghc-case-insensitive
8636 ghc-citeproc
8637 ghc-commonmark
8638 ghc-commonmark-extensions
8639 ghc-commonmark-pandoc
8640 ghc-crypton
8641 ghc-crypton-connection
8642 ghc-data-default
8643 ghc-doclayout
8644 ghc-doctemplates
8645 ghc-emojis
8646 ghc-file-embed
8647 ghc-gridtables
8648 ghc-haddock-library
8649 ghc-http-client
8650 ghc-http-client-tls
8651 ghc-http-types
8652 ghc-ipynb
8653 ghc-jira-wiki-markup
8654 ghc-mime-types
8655 ghc-network
8656 ghc-network-uri
8657 ghc-pandoc-types
8658 ghc-pretty-show
8659 ghc-random
8660 ghc-safe
8661 ghc-scientific
8662 ghc-skylighting
8663 ghc-skylighting-core
8664 ghc-split
8665 ghc-syb
8666 ghc-tagsoup
8667 ghc-temporary
8668 ghc-texmath
8669 ghc-text-conversions
8670 ghc-unicode-collation
8671 ghc-unicode-transforms
8672 ghc-yaml
8673 ghc-libyaml
8674 ghc-zip-archive
8675 ghc-zlib
8676 ghc-typst
8677 ghc-vector
8678 ghc-djot
8679 ghc-tls
8680 ghc-crypton-x509-system))
8681 (native-inputs (list ghc-diff ghc-tasty ghc-tasty-golden ghc-tasty-hunit
8682 ghc-tasty-quickcheck))
8683 (home-page "https://pandoc.org")
8684 (synopsis "Conversion between markup formats")
8685 (description
8686 "Pandoc is a Haskell library for converting from one markup format to
8687another, and a command-line tool that uses this library. It can read and
8688write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8689LaTeX, DocBook, and many more.
8690
8691Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8692definition lists, tables, and other features. A compatibility mode is
8693provided for those who need a drop-in replacement for Markdown.pl.")
8694 (license license:gpl2+)))
8695
8696(define-public ghc-pandoc-server
8697 (package
8698 (name "ghc-pandoc-server")
8699 (version "0.1.0.11")
8700 (source
8701 (origin
8702 (method url-fetch)
8703 (uri (hackage-uri "pandoc-server" version))
8704 (sha256
8705 (base32 "1686kl05pr6bqrmg5dda1d7m9dmk0c087fpg54r9v5iy1x732gws"))))
8706 (build-system haskell-build-system)
8707 (properties '((upstream-name . "pandoc-server")))
8708 (inputs (list ghc-pandoc
8709 ghc-pandoc-types
8710 ghc-aeson
8711 ghc-base64-bytestring
8712 ghc-doctemplates
8713 ghc-data-default
8714 ghc-unicode-collation
8715 ghc-servant-server
8716 ghc-skylighting
8717 ghc-wai
8718 ghc-wai-cors))
8719 (home-page "https://pandoc.org")
8720 (synopsis "Pandoc document conversion as an HTTP servant-server")
8721 (description
8722 "Pandoc-server provides pandoc's document conversion functions in an HTTP server.")
8723 (license license:gpl2+)))
8724
8725(define-public ghc-pandoc-lua-engine
8726 (package
8727 (name "ghc-pandoc-lua-engine")
8728 (version "0.4.3")
8729 (source
8730 (origin
8731 (method url-fetch)
8732 (uri (hackage-uri "pandoc-lua-engine" version))
8733 (sha256
8734 (base32 "1s5g1mvl13pa411kyd2jp5jz0lw8alxqpv984nnfnq17d2nj4mkw"))))
8735 (build-system haskell-build-system)
8736 (properties '((upstream-name . "pandoc-lua-engine")))
8737 (inputs (list ghc-aeson
8738 ghc-crypton
8739 ghc-citeproc
8740 ghc-data-default
8741 ghc-doclayout
8742 ghc-doctemplates
8743 ghc-hslua
8744 ghc-hslua-module-doclayout
8745 ghc-hslua-module-path
8746 ghc-hslua-module-system
8747 ghc-hslua-module-text
8748 ghc-hslua-module-version
8749 ghc-hslua-module-zip
8750 ghc-hslua-repl
8751 ghc-lpeg
8752 ghc-pandoc
8753 ghc-pandoc-lua-marshal
8754 ghc-pandoc-types))
8755 (native-inputs (list ghc-tasty ghc-tasty-golden ghc-tasty-hunit
8756 ghc-tasty-lua))
8757 (arguments
8758 `(#:cabal-revision ("2"
8759 "0a00gmr5ymp5jl6dp6f1qcmyxcqz1nqp2d4y6x1342zhqsi1zs8s")))
8760 (home-page "https://pandoc.org")
8761 (synopsis "Lua engine to power custom pandoc conversions")
8762 (description
8763 "This package provides a pandoc scripting engine based on Lua.")
8764 (license license:gpl2+)))
8765
8766(define-public pandoc
8767 (package
8768 (name "pandoc")
8769 (version "3.7.0.2")
8770 (source
8771 (origin
8772 (method url-fetch)
8773 (uri (hackage-uri "pandoc-cli" version))
8774 (sha256
8775 (base32 "0g9x7h2aimiffnv03pcvai64kpwxykz18kd126x92lpsdjwclkgz"))))
8776 (build-system haskell-build-system)
8777 (properties '((upstream-name . "pandoc-cli")))
8778 (arguments
8779 (list
8780 ;; Create entirely self-contained binary by embedding the data files
8781 ;; in the binary itself. Required for python-pypandoc.
8782 #:configure-flags #~(list "-fembed_data_files")
8783 #:phases
8784 #~(modify-phases %standard-phases
8785 (add-after 'install 'install-more
8786 (lambda _
8787 (let ((bash (string-append #$output "/etc/bash_completion.d/pandoc"))
8788 (man1 (string-append #$output "/share/man/man1")))
8789 (mkdir-p (dirname bash))
8790 (with-output-to-file bash
8791 (lambda _
8792 (invoke (string-append #$output "/bin/pandoc")
8793 "--bash-completion")))
8794 (mkdir-p man1)
8795 (install-file "man/pandoc.1" man1)
8796 (install-file "man/pandoc-lua.1" man1)
8797 (install-file "man/pandoc-server.1" man1)))))))
8798 (inputs (list ghc-pandoc
8799 ghc-pandoc-server
8800 ghc-wai-extra
8801 ghc-warp
8802 ghc-safe
8803 ghc-hslua-cli
8804 ghc-pandoc-lua-engine
8805 ghc-temporary))
8806 (home-page "https://pandoc.org")
8807 (synopsis "Conversion between documentation formats")
8808 (description
8809 "Pandoc-cli provides a command-line executable that uses the pandoc library to
8810convert between markup formats.")
8811 (license license:gpl2+)))
8812
8813(define-public ghc-pandoc-types
8814 (package
8815 (name "ghc-pandoc-types")
8816 (version "1.23.1")
8817 (source
8818 (origin
8819 (method url-fetch)
8820 (uri (hackage-uri "pandoc-types" version))
8821 (sha256
8822 (base32 "1hd18l1c5yh7x24gsligkbraadq12hn7mim16xyjnicdsa1s03xd"))))
8823 (build-system haskell-build-system)
8824 (properties '((upstream-name . "pandoc-types")))
8825 (inputs (list ghc-syb ghc-aeson ghc-quickcheck))
8826 (native-inputs (list ghc-test-framework ghc-test-framework-hunit
8827 ghc-test-framework-quickcheck2 ghc-hunit))
8828 (arguments
8829 `(#:cabal-revision ("3"
8830 "0w2n4vzxs3jasrivaq49clxdlccnfv2gh4mkp8s7krxa1arambrz")))
8831 (home-page "https://pandoc.org/")
8832 (synopsis "Types for representing a structured document")
8833 (description
8834 "This module defines the @code{Pandoc} data structure, which is used by
8835pandoc to represent structured documents. It also provides functions for
8836building up, manipulating and serialising @code{Pandoc} structures.")
8837 (license license:bsd-3)))
8838
8839(define-public ghc-parallel
8840 (package
8841 (name "ghc-parallel")
8842 (version "3.2.2.0")
8843 (source
8844 (origin
8845 (method url-fetch)
8846 (uri (hackage-uri "parallel" version))
8847 (sha256
8848 (base32 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8849 (build-system haskell-build-system)
8850 (properties '((upstream-name . "parallel")))
8851 (arguments
8852 `(#:cabal-revision ("10"
8853 "0rm92b8ny5qxalhg83dk2i4b4ca455vrbnqad905waz18z16xx1x")))
8854 (home-page "http://hackage.haskell.org/package/parallel")
8855 (synopsis "Parallel programming library")
8856 (description "This package provides a library for parallel programming.")
8857 (license license:bsd-3)))
8858
8859(define-public ghc-parsec
8860 (package
8861 (name "ghc-parsec")
8862 (version "3.1.18.0")
8863 (source (origin
8864 (method url-fetch)
8865 (uri (hackage-uri "parsec" version))
8866 (sha256
8867 (base32
8868 "1byha0j1i0h5wwzafm0csx0y8maga17r6my2z5w2ciki789rybs0"))))
8869 (build-system haskell-build-system)
8870 (properties '((upstream-name . "parsec")))
8871 (native-inputs (list ghc-tasty ghc-tasty-hunit))
8872 (home-page "https://github.com/haskell/parsec")
8873 (synopsis "Monadic parser combinators")
8874 (description "Parsec is designed from scratch as an industrial-strength
8875parser library. It is simple, safe, well documented (on the package
8876homepage), has extensive libraries, good error messages, and is fast. It is
8877defined as a monad transformer that can be stacked on arbitrary monads, and it
8878is also parametric in the input stream type.")
8879 (license license:bsd-3)))
8880
8881(define-public ghc-parsec-numbers
8882 (package
8883 (name "ghc-parsec-numbers")
8884 (version "0.1.0")
8885 (source
8886 (origin
8887 (method url-fetch)
8888 (uri (hackage-uri "parsec-numbers" version))
8889 (sha256
8890 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8891 (build-system haskell-build-system)
8892 (properties '((upstream-name . "parsec-numbers")))
8893 (home-page "http://hackage.haskell.org/package/parsec-numbers")
8894 (synopsis "Utilities for parsing numbers from strings")
8895 (description
8896 "This package provides the number parsers without the need to use a large
8897(and unportable) token parser.")
8898 (license license:bsd-3)))
8899
8900(define-public ghc-parser-combinators
8901 (package
8902 (name "ghc-parser-combinators")
8903 (version "1.3.0")
8904 (source
8905 (origin
8906 (method url-fetch)
8907 (uri (hackage-uri "parser-combinators" version))
8908 (sha256
8909 (base32 "0is45q3q6ngfqvzpwwga9phbwk45v7g1q2x1rlm95a7q946yy44k"))))
8910 (build-system haskell-build-system)
8911 (properties '((upstream-name . "parser-combinators")))
8912 (arguments
8913 `(#:cabal-revision ("1"
8914 "0xkqxas64dd77lgc341b526rip7vva0ipy2kbczmfga41lz5fnc6")))
8915 (home-page "https://github.com/mrkkrp/parser-combinators")
8916 (synopsis "Commonly useful parser combinators")
8917 (description
8918 "This is a lightweight package providing commonly useful parser
8919combinators.")
8920 (license license:bsd-3)))
8921
8922(define-public ghc-parsers
8923 (package
8924 (name "ghc-parsers")
8925 (version "0.12.12")
8926 (source
8927 (origin
8928 (method url-fetch)
8929 (uri (hackage-uri "parsers" version))
8930 (sha256
8931 (base32 "1g16qrhacjzfcja2wn5936xz9bwqs80xxmj189d2lwwyga5m77nx"))))
8932 (build-system haskell-build-system)
8933 (properties '((upstream-name . "parsers")))
8934 (inputs (list ghc-charset ghc-scientific ghc-unordered-containers
8935 ghc-attoparsec ghc-semigroups))
8936 (native-inputs (list ghc-quickcheck ghc-quickcheck-instances))
8937 (arguments
8938 `(#:cabal-revision ("1"
8939 "11y65sabwqcliqxwdss8pjvliy0w4m3b4amd1acf0jgmx4bhxdf6")))
8940 (home-page "http://github.com/ekmett/parsers/")
8941 (synopsis "Parsing combinators")
8942 (description
8943 "This library provides convenient combinators for working
8944with and building parsing combinator libraries. Given a few simple instances,
8945you get access to a large number of canned definitions. Instances exist for
8946the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8947@code{Text.Read}.")
8948 (license license:bsd-3)))
8949
8950(define-public ghc-path
8951 ;; Upstream didn't create a Git tag for release 0.9.6. Therefore, we build
8952 ;; from the commit which bumped the Cabal version to 0.9.6.
8953 (let ((commit "17294d1c9c185a69b79fedb8ff6c6f853a500d2e")
8954 (revision "1"))
8955 (package
8956 (name "ghc-path")
8957 (version (git-version "0.9.6" revision commit))
8958 ;; Need to build from Git since the hackage tarball is missing Include.h
8959 ;; files required to make the tests pass.
8960 (source
8961 (origin
8962 (method git-fetch)
8963 (uri (git-reference
8964 (url "https://github.com/commercialhaskell/path")
8965 (commit commit)))
8966 (file-name (git-file-name name version))
8967 (sha256
8968 (base32 "02ivlhnw8rc05zbk706fpab7607axyw2fx9jkgi5knpwwkxwwv6d"))))
8969 (build-system haskell-build-system)
8970 (properties '((upstream-name . "path")))
8971 (inputs (list ghc-aeson ghc-hashable))
8972 (arguments
8973 '(#:phases (modify-phases %standard-phases
8974 (add-before 'configure 'update-constraints
8975 (lambda _
8976 (substitute* "path.cabal"
8977 (("hashable >= 1.2 && < 1.5")
8978 "hashable")))))))
8979 (native-inputs (list ghc-hspec
8980 ghc-quickcheck
8981 ghc-genvalidity
8982 ghc-genvalidity-hspec
8983 ghc-validity-bytestring))
8984 (home-page "http://hackage.haskell.org/package/path")
8985 (synopsis "Support for well-typed paths")
8986 (description "This package introduces a type for paths upholding useful
8987 invariants.")
8988 (license license:bsd-3))))
8989
8990(define-public ghc-path-io
8991 (package
8992 (name "ghc-path-io")
8993 (version "1.8.2")
8994 (source
8995 (origin
8996 (method url-fetch)
8997 (uri (hackage-uri "path-io" version))
8998 (sha256
8999 (base32 "1a4s4fc2rbzri1cb27gzlm0v24k5g2975smvqg2j4d4h6xmpzbfd"))))
9000 (build-system haskell-build-system)
9001 (properties '((upstream-name . "path-io")))
9002 (inputs (list ghc-dlist ghc-path ghc-temporary ghc-unix-compat))
9003 (native-inputs (list ghc-hspec))
9004 (home-page "https://github.com/mrkkrp/path-io")
9005 (synopsis "Functions for manipulating well-typed paths")
9006 (description
9007 "This package provides an interface to the @code{directory}
9008package for users of @code{path}. It also implements some missing stuff like
9009recursive scanning and copying of directories, working with temporary
9010files/directories, and more.")
9011 (license license:bsd-3)))
9012
9013(define-public ghc-paths
9014 (package
9015 (name "ghc-paths")
9016 (version "0.1.0.12")
9017 (source
9018 (origin
9019 (method url-fetch)
9020 (uri (hackage-uri "ghc-paths" version))
9021 (sha256
9022 (base32 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
9023 (build-system haskell-build-system)
9024 (properties '((upstream-name . "ghc-paths")))
9025 (arguments
9026 `(#:cabal-revision ("8"
9027 "1ymhq0il4l8a91n8iqfrq9q57sj6zfkmvpjf8nwgavwclfi50ka2")))
9028 (home-page "http://hackage.haskell.org/package/ghc-paths")
9029 (synopsis "Knowledge of GHC's installation directories")
9030 (description "Knowledge of GHC's installation directories.")
9031 (license license:bsd-3)))
9032
9033(define-public ghc-patience
9034 (package
9035 (name "ghc-patience")
9036 (version "0.3")
9037 (source
9038 (origin
9039 (method url-fetch)
9040 (uri (hackage-uri "patience" version))
9041 (sha256
9042 (base32 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
9043 (build-system haskell-build-system)
9044 (properties '((upstream-name . "patience")))
9045 (arguments
9046 `(#:cabal-revision ("1"
9047 "0vldslyv381bmiw9f22wv46jmdcnxcjz5b8xqh8n7h7zzc5qs6j9")))
9048 (home-page "https://github.com/chessai/patience")
9049 (synopsis "Patience diff and longest increasing subsequence")
9050 (description
9051 "This library implements the 'patience diff' algorithm, as well as the
9052patience algorithm for the longest increasing subsequence problem.
9053Patience diff computes the difference between two lists, for example the lines
9054of two versions of a source file. It provides a good balance between
9055performance, nice output for humans, and simplicity of implementation.")
9056 (license license:bsd-3)))
9057
9058(define-public ghc-pattern-arrows
9059 (package
9060 (name "ghc-pattern-arrows")
9061 (version "0.0.2")
9062 (source
9063 (origin
9064 (method url-fetch)
9065 (uri (hackage-uri "pattern-arrows" version))
9066 (sha256
9067 (base32
9068 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9069 (build-system haskell-build-system)
9070 (properties '((upstream-name . "pattern-arrows")))
9071 (home-page
9072 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9073 (synopsis "Arrows for Pretty Printing")
9074 (description
9075 "A library for generating concise pretty printers based on precedence
9076rules.")
9077 (license license:expat)))
9078
9079(define-public ghc-pcre-light
9080 (package
9081 (name "ghc-pcre-light")
9082 (version "0.4.1.3")
9083 (source
9084 (origin
9085 (method url-fetch)
9086 (uri (hackage-uri "pcre-light" version))
9087 (sha256
9088 (base32 "1rhlp0v32ahwlh5293xyq04my8f2ln1mfycpg01cm0qvmng2irmw"))))
9089 (build-system haskell-build-system)
9090 (properties '((upstream-name . "pcre-light")))
9091 (inputs (list pcre))
9092 (native-inputs (list ghc-hunit))
9093 (arguments
9094 `(#:cabal-revision ("1"
9095 "0yafqik2hsb9x2k79kz6k5r3awk1g6gzyq7yxjb5grm3czgh4hhx")))
9096 (home-page "http://hackage.haskell.org/package/pcre-light")
9097 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9098 (description
9099 "This package provides a small, efficient, and portable regex
9100library for Perl 5 compatible regular expressions. The PCRE library is a set
9101of functions that implement regular expression pattern matching using the same
9102syntax and semantics as Perl 5.")
9103 (license license:bsd-3)))
9104
9105(define-public ghc-peano
9106 (package
9107 (name "ghc-peano")
9108 (version "0.1.0.1")
9109 (source (origin
9110 (method url-fetch)
9111 (uri (hackage-uri "peano" version))
9112 (sha256
9113 (base32
9114 "0yzcxrl41dacvx2wkyxjj7hgvz56l4qb59r4h9rmaqd7jcwx5z9i"))))
9115 (build-system haskell-build-system)
9116 (arguments
9117 `(#:cabal-revision ("3"
9118 "0wl22dnz6ld300cg6id3lw991bp8kdfi8h0nbv37vn79i1zdcj5n")))
9119 (home-page "https://hackage.haskell.org/package/peano")
9120 (synopsis "Peano numbers")
9121 (description "Provides an efficient Haskell implementation of Peano
9122numbers")
9123 (license license:bsd-3)))
9124
9125(define-public ghc-persistent
9126 (package
9127 (name "ghc-persistent")
9128 (version "2.17.1.0")
9129 (source
9130 (origin
9131 (method url-fetch)
9132 (uri (hackage-uri "persistent" version))
9133 (sha256
9134 (base32 "0c3kz36nv9n8xd21z7hgk8djj2ldvzfmy3qrmxhr8p617s18182g"))))
9135 (build-system haskell-build-system)
9136 (properties '((upstream-name . "persistent")))
9137 (inputs (list ghc-aeson
9138 ghc-attoparsec
9139 ghc-attoparsec-aeson
9140 ghc-base64-bytestring
9141 ghc-blaze-html
9142 ghc-conduit
9143 ghc-fast-logger
9144 ghc-http-api-data
9145 ghc-lift-type
9146 ghc-megaparsec
9147 ghc-monad-logger
9148 ghc-path-pieces
9149 ghc-replace-megaparsec
9150 ghc-resource-pool
9151 ghc-resourcet
9152 ghc-scientific
9153 ghc-semigroupoids
9154 ghc-silently
9155 ghc-th-lift-instances
9156 ghc-unliftio
9157 ghc-unliftio-core
9158 ghc-unordered-containers
9159 ghc-vault
9160 ghc-vector))
9161 (native-inputs (list ghc-hspec hspec-discover ghc-quickcheck
9162 ghc-quickcheck-instances ghc-shakespeare))
9163 (home-page "http://www.yesodweb.com/book/persistent")
9164 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9165 (description
9166 "This Haskell package allows Haskell programs to access data
9167storage systems like PostgreSQL, SQLite, and MariaDB in a type-safe way.")
9168 (license license:expat)))
9169
9170(define-public ghc-persistent-sqlite
9171 (package
9172 (name "ghc-persistent-sqlite")
9173 (version "2.13.3.1")
9174 (source
9175 (origin
9176 (method url-fetch)
9177 (uri (hackage-uri "persistent-sqlite" version))
9178 (sha256
9179 (base32 "14yn3a5nqjq1b7ss6xl2455nwq92kbwc94q675jiyi4gzh85xfd0"))))
9180 (build-system haskell-build-system)
9181 (properties '((upstream-name . "persistent-sqlite")))
9182 (inputs (list ghc-aeson
9183 ghc-conduit
9184 ghc-microlens-th
9185 ghc-monad-logger
9186 ghc-persistent
9187 ghc-resource-pool
9188 ghc-resourcet
9189 ghc-unliftio-core
9190 ghc-unordered-containers))
9191 (native-inputs (list ghc-fast-logger
9192 ghc-hspec
9193 ghc-hunit
9194 ghc-microlens
9195 ghc-persistent-test
9196 ghc-quickcheck
9197 ghc-system-fileio
9198 ghc-system-filepath
9199 ghc-temporary))
9200 (home-page "http://www.yesodweb.com/book/persistent")
9201 (synopsis "Backend for the persistent library using sqlite3")
9202 (description
9203 "This Haskell package includes a thin sqlite3 wrapper based
9204on the direct-sqlite package, as well as the entire C library, so there are no
9205system dependencies.")
9206 (license license:expat)))
9207
9208(define-public ghc-persistent-template
9209 (package
9210 (name "ghc-persistent-template")
9211 (version "2.12.0.0")
9212 (source
9213 (origin
9214 (method url-fetch)
9215 (uri (hackage-uri "persistent-template" version))
9216 (sha256
9217 (base32 "0c9cs27j43azimj74s2m2cdks87682ibpy1xbyzvygipgmb8nj6w"))))
9218 (build-system haskell-build-system)
9219 (properties '((upstream-name . "persistent-template")))
9220 (home-page "http://www.yesodweb.com/book/persistent")
9221 (synopsis "Type-safe, non-relational, multi-backend persistence")
9222 (description "This Haskell package provides interfaces and helper
9223functions for the ghc-persistent package.")
9224 (license license:expat)))
9225
9226(define-public ghc-persistent-test
9227 (package
9228 (name "ghc-persistent-test")
9229 (version "2.13.2.0")
9230 (source
9231 (origin
9232 (method url-fetch)
9233 (uri (hackage-uri "persistent-test" version))
9234 (sha256
9235 (base32 "0mzj2k07yhbx8674c1yh6brl8clncqc7ci8295hjazrmr528rc2x"))))
9236 (build-system haskell-build-system)
9237 (properties '((upstream-name . "persistent-test")))
9238 (inputs (list ghc-aeson
9239 ghc-blaze-html
9240 ghc-conduit
9241 ghc-hspec
9242 ghc-hspec-expectations
9243 ghc-http-api-data
9244 ghc-hunit
9245 ghc-monad-control
9246 ghc-monad-logger
9247 ghc-path-pieces
9248 ghc-persistent
9249 ghc-quickcheck
9250 ghc-quickcheck-instances
9251 ghc-random
9252 ghc-resourcet
9253 ghc-transformers-base
9254 ghc-unliftio
9255 ghc-unliftio-core
9256 ghc-unordered-containers))
9257 (home-page "http://www.yesodweb.com/book/persistent")
9258 (synopsis "Tests for the Persistent database library")
9259 (description
9260 "This is only for use in developing libraries that should conform to
9261the persistent interface, not for users of the persistent suite of database
9262libraries.")
9263 (license license:expat)))
9264
9265(define-public ghc-pgp-wordlist
9266 (package
9267 (name "ghc-pgp-wordlist")
9268 ;; The 0.1.0.3 release no longer builds and the maintainer
9269 ;; has not made a new release with the fix
9270 (version (git-version "0.1.0.3" "1"
9271 "1f0cfd90d62179952cbfd59c3405283a1d364272"))
9272 (source
9273 (origin
9274 (method git-fetch)
9275 (uri (git-reference
9276 (url "https://github.com/quchen/pgp-wordlist")
9277 (commit "1f0cfd90d62179952cbfd59c3405283a1d364272")))
9278 (sha256
9279 (base32
9280 "1n6wf85302hv19gy4h0gpzn5cscnb10mw9fyn85yiaxasn1508aq"))))
9281 (build-system haskell-build-system)
9282 (properties '((upstream-name . "pgp-wordlist")))
9283 (arguments
9284 (list
9285 #:phases
9286 #~(modify-phases %standard-phases
9287 (replace 'check
9288 (lambda* (#:key tests? #:allow-other-keys)
9289 (if tests?
9290 (let* ((tmpdir (or (getenv "TMP")
9291 "/tmp"))
9292 (dependency-package-db
9293 (string-append tmpdir "/package.conf.d")))
9294 (invoke "runhaskell" "Setup.hs" "test" "tasty")
9295 (setenv "GHC_PACKAGE_PATH" dependency-package-db)
9296 (invoke "./dist/build/doctest/doctest")
9297 (unsetenv "GHC_PACKAGE_PATH"))
9298 (format #t "Testsuite not run.%~")))))))
9299 (inputs
9300 (list ghc-vector))
9301 (native-inputs
9302 (list ghc-hunit ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck
9303 ghc-doctest))
9304 (home-page
9305 "https://github.com/quchen/pgp-wordlist")
9306 (synopsis
9307 "Translate between binary data and a human-readable collection of words")
9308 (description
9309 "The PGP Word List consists of two phonetic alphabets, each with one word
9310per possible byte value. A string of bytes is translated with these
9311alphabets, alternating between them at each byte.
9312
9313The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9314spellbind headwaters\", for example.
9315
9316For further information, see
9317@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9318 (license license:bsd-3)))
9319
9320(define-public ghc-pipes
9321 (package
9322 (name "ghc-pipes")
9323 (version "4.3.16")
9324 (source
9325 (origin
9326 (method url-fetch)
9327 (uri (hackage-uri "pipes" version))
9328 (sha256
9329 (base32 "163lx5sf68zx5kik5h1fjsyckwr9shdsn5k2dsjq3mhg077nxqgl"))))
9330 (build-system haskell-build-system)
9331 (properties '((upstream-name . "pipes")))
9332 (inputs (list ghc-mmorph ghc-void ghc-fail ghc-semigroups))
9333 (native-inputs (list ghc-quickcheck ghc-test-framework
9334 ghc-test-framework-quickcheck2))
9335 (arguments
9336 `(#:cabal-revision ("6"
9337 "16s8a1ijakhsk73ny2vrw6a8r2dszgncd0wk735ii6csg3l2c9pm")))
9338 (home-page "http://hackage.haskell.org/package/pipes")
9339 (synopsis "Compositional pipelines")
9340 (description
9341 "A clean and powerful stream processing library that lets you build
9342and connect reusable streaming components. Advantages over traditional streaming
9343libraries:
9344@itemize
9345@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9346and @code{yield}
9347@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9348@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9349dependencies
9350@item Elegant semantics: Use practical category theory
9351@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9352@item Bidirectionality: Implement duplex channels
9353@end itemize")
9354 (license license:bsd-3)))
9355
9356(define-public ghc-pointedlist
9357 (package
9358 (name "ghc-pointedlist")
9359 (version "0.6.1")
9360 (source
9361 (origin
9362 (method url-fetch)
9363 (uri (hackage-uri "pointedlist" version))
9364 (sha256
9365 (base32 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9366 (build-system haskell-build-system)
9367 (properties '((upstream-name . "pointedlist")))
9368 (home-page "http://hackage.haskell.org/package/pointedlist")
9369 (synopsis "Zipper-like comonad which works as a list, tracking a position")
9370 (description
9371 "A PointedList tracks the position in a non-empty list which works
9372similarly to a zipper. A current item is always required, and therefore
9373the list may never be empty. A circular PointedList wraps around to the
9374other end when progressing past the actual edge.")
9375 (license license:bsd-3)))
9376
9377(define-public ghc-polyparse
9378 (package
9379 (name "ghc-polyparse")
9380 (version "1.13")
9381 (source
9382 (origin
9383 (method url-fetch)
9384 (uri (hackage-uri "polyparse" version))
9385 (sha256
9386 (base32 "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w"))))
9387 (build-system haskell-build-system)
9388 (properties '((upstream-name . "polyparse")))
9389 (arguments
9390 `(#:cabal-revision ("9"
9391 "0abzqic0askffn6nmh1f08d9rd9fykdlcdd9gj1c7p1ykp9zlq29")))
9392 (home-page "http://code.haskell.org/~malcolm/polyparse/")
9393 (synopsis "Alternative parser combinator libraries")
9394 (description
9395 "This package provides a variety of alternative parser combinator
9396libraries, including the original HuttonMeijer set. The Poly sets have
9397features like good error reporting, arbitrary token type, running state, lazy
9398parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9399standard Read class, for better deserialisation of Haskell values from
9400Strings.")
9401 (license license:lgpl2.1)))
9402
9403(define-public ghc-portmidi
9404 (package
9405 (name "ghc-portmidi")
9406 (version "0.2.0.0")
9407 (source (origin
9408 (method url-fetch)
9409 (uri (hackage-uri "PortMidi" version))
9410 (sha256
9411 (base32
9412 "1jb722gwgx1fdyv64nj3by22970l3r04ibc3fa3hnp3k4l2jvk0f"))))
9413 (build-system haskell-build-system)
9414 (inputs (list alsa-lib))
9415 (home-page "https://github.com/PortMidi/PortMidi-haskell")
9416 (synopsis "Haskell bindings for PortMedia/PortMidi")
9417 (description "This is a Haskell module for PortMidi audio library,
9418which supports real-time MIDI input and output.")
9419 (license license:bsd-3)))
9420
9421(define-public ghc-pqueue
9422 (package
9423 (name "ghc-pqueue")
9424 (version "1.5.0.0")
9425 (source
9426 (origin
9427 (method url-fetch)
9428 (uri (hackage-uri "pqueue" version))
9429 (sha256
9430 (base32
9431 "00hzrhz3n55ahyv2h183l72jsl3q01p4ns0063p0vjaa5j6qpy0v"))))
9432 (build-system haskell-build-system)
9433 (properties '((upstream-name . "pqueue")))
9434 (arguments
9435 (list #:cabal-revision
9436 '("3" "0g7zaidq3gf08kzwp4xrbi3f76qdv4ckx6nblzi5j55awcsp08xy")))
9437 (inputs (list ghc-indexed-traversable))
9438 (native-inputs
9439 (list ghc-tasty ghc-tasty-quickcheck))
9440 (home-page "https://hackage.haskell.org/package/pqueue")
9441 (synopsis "Reliable, persistent, fast priority queues")
9442 (description
9443 "This package provides a fast, reliable priority queue implementation
9444based on a binomial heap.")
9445 (license license:bsd-3)))
9446
9447(define-public ghc-prelude-extras
9448 (package
9449 (name "ghc-prelude-extras")
9450 (version "0.4.0.3")
9451 (source
9452 (origin
9453 (method url-fetch)
9454 (uri (hackage-uri "prelude-extras" version))
9455 (sha256
9456 (base32
9457 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9458 (build-system haskell-build-system)
9459 (properties '((upstream-name . "prelude-extras")))
9460 (home-page "https://github.com/ekmett/prelude-extras")
9461 (synopsis "Higher order versions of Prelude classes")
9462 (description "This library provides higher order versions of
9463@code{Prelude} classes to ease programming with polymorphic recursion and
9464reduce @code{UndecidableInstances}.")
9465 (license license:bsd-3)))
9466
9467(define-public ghc-prettyclass
9468 (package
9469 (name "ghc-prettyclass")
9470 (version "1.0.0.0")
9471 (source
9472 (origin
9473 (method url-fetch)
9474 (uri (hackage-uri "prettyclass" version))
9475 (sha256
9476 (base32 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9477 (build-system haskell-build-system)
9478 (properties '((upstream-name . "prettyclass")))
9479 (home-page "http://hackage.haskell.org/package/prettyclass")
9480 (synopsis "Pretty printing class similar to Show")
9481 (description
9482 "This package provides a pretty printing class similar
9483to @code{Show}, based on the HughesPJ pretty printing library. It
9484provides the pretty printing class and instances for the Prelude
9485types.")
9486 (license license:bsd-3)))
9487
9488(define-public ghc-prettyprinter
9489 (package
9490 (name "ghc-prettyprinter")
9491 (version "1.7.1")
9492 (source
9493 (origin
9494 (method url-fetch)
9495 (uri (hackage-uri "prettyprinter" version))
9496 (sha256
9497 (base32 "0i8b3wjjpdvp5b857j065jwyrpgcnzgk75imrj7i3yhl668acvjy"))))
9498 (build-system haskell-build-system)
9499 (properties '((upstream-name . "prettyprinter")))
9500 ;; Many packages required by the test suite depend (some indirectly) on
9501 ;; ghc-prettyprinter
9502 (arguments (list #:tests? #f))
9503 (home-page "http://github.com/quchen/prettyprinter")
9504 (synopsis
9505 "Modern, easy to use, well-documented, extensible pretty-printer")
9506 (description
9507 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9508ANSI terminal backend exists, HTML backend is trivial to implement, no name
9509clashes, @code{Text}-based, extensible.")
9510 (license license:bsd-2)))
9511
9512(define-public ghc-prettyprinter-ansi-terminal
9513 (package
9514 (name "ghc-prettyprinter-ansi-terminal")
9515 (version "1.1.3")
9516 (source
9517 (origin
9518 (method url-fetch)
9519 (uri (hackage-uri "prettyprinter-ansi-terminal" version))
9520 (sha256
9521 (base32 "1cqxbcmy9ykk4pssq5hp6h51g2h547zfz549awh0c1fni8q3jdw1"))))
9522 (build-system haskell-build-system)
9523 (properties '((upstream-name . "prettyprinter-ansi-terminal")))
9524 (inputs (list ghc-ansi-terminal ghc-prettyprinter))
9525 ;; tests only check documentation and cause a dependency cycle
9526 (arguments (list #:tests? #f))
9527 (home-page "http://github.com/quchen/prettyprinter")
9528 (synopsis "ANSI terminal backend for the prettyprinter package")
9529 (description "ANSI terminal backend for the prettyprinter package.")
9530 (license license:bsd-2)))
9531
9532(define-public ghc-prettyprinter-compat-ansi-wl-pprint
9533 (package
9534 (name "ghc-prettyprinter-compat-ansi-wl-pprint")
9535 (version "1.0.2")
9536 (source
9537 (origin
9538 (method url-fetch)
9539 (uri (hackage-uri "prettyprinter-compat-ansi-wl-pprint" version))
9540 (sha256
9541 (base32 "0mcy0621lx0zmc2csdq348r21f932f2w51y62jzyz4cby58p5ch5"))))
9542 (build-system haskell-build-system)
9543 (properties '((upstream-name . "prettyprinter-compat-ansi-wl-pprint")))
9544 (inputs (list ghc-prettyprinter ghc-prettyprinter-ansi-terminal))
9545 (home-page "http://github.com/quchen/prettyprinter")
9546 (synopsis
9547 "Drop-in compatibility package to migrate from @code{ansi-wl-pprint} to
9548@code{prettyprinter}.")
9549 (description "Drop-in compatibility package to migrate from @code{ansi-wl-pprint} to
9550@code{prettyprinter}.")
9551 (license license:bsd-2)))
9552
9553(define-public ghc-pretty-hex
9554 (package
9555 (name "ghc-pretty-hex")
9556 (version "1.1")
9557 (source
9558 (origin
9559 (method url-fetch)
9560 (uri (hackage-uri "pretty-hex" version))
9561 (sha256
9562 (base32 "0c8pa0rdb2q8rf4acy4gww0hj5lrzclzdh52yi2aiaaij4lqzir7"))))
9563 (build-system haskell-build-system)
9564 (properties '((upstream-name . "pretty-hex")))
9565 (home-page "http://hackage.haskell.org/package/pretty-hex")
9566 (synopsis "Haskell library for hex dumps of ByteStrings")
9567 (description
9568 "This Haskell library generates pretty hex dumps of
9569ByteStrings in the style of other common *nix hex dump tools.")
9570 (license license:bsd-3)))
9571
9572(define-public ghc-pretty-show
9573 (package
9574 (name "ghc-pretty-show")
9575 (version "1.10")
9576 (source
9577 (origin
9578 (method url-fetch)
9579 (uri (hackage-uri "pretty-show" version))
9580 (sha256
9581 (base32 "1lkgvbv00v1amvpqli6y4dzsbs25l4v3wlagvhwx8qxhw2390zrh"))))
9582 (build-system haskell-build-system)
9583 (properties '((upstream-name . "pretty-show")))
9584 (inputs (list ghc-haskell-lexer))
9585 (native-inputs (list ghc-happy))
9586 (home-page "http://wiki.github.com/yav/pretty-show")
9587 (synopsis "Tools for working with derived `Show` instances")
9588 (description
9589 "This package provides a library and an executable for working with
9590derived @code{Show} instances. By using the library, derived @code{Show}
9591instances can be parsed into a generic data structure. The @code{ppsh} tool
9592uses the library to produce human-readable versions of @code{Show} instances,
9593which can be quite handy for debugging Haskell programs. We can also render
9594complex generic values into an interactive Html page, for easier
9595examination.")
9596 (license license:expat)))
9597
9598(define-public ghc-pretty-simple
9599 (package
9600 (name "ghc-pretty-simple")
9601 (version "4.1.3.0")
9602 (source
9603 (origin
9604 (method url-fetch)
9605 (uri (hackage-uri "pretty-simple" version))
9606 (sha256
9607 (base32 "03nhhavr66ikwmkma3mw2a7dz9w0mhaxj49dgf2cf76v3jq1vara"))))
9608 (build-system haskell-build-system)
9609 (properties '((upstream-name . "pretty-simple")))
9610 (inputs (list ghc-prettyprinter ghc-prettyprinter-ansi-terminal
9611 ghc-optparse-applicative ghc-aeson))
9612 (home-page "https://github.com/cdepillabout/pretty-simple")
9613 (synopsis "Pretty printer for data types with a 'Show' instance")
9614 (description
9615 "Pretty-simple is a pretty printer for Haskell data types that have a
9616Show instance.")
9617 (license license:bsd-3)))
9618
9619(define-public ghc-primitive
9620 (package
9621 (name "ghc-primitive")
9622 (version "0.9.1.0")
9623 (source
9624 (origin
9625 (method url-fetch)
9626 (uri (hackage-uri "primitive" version))
9627 (sha256
9628 (base32 "0xixplp2b5sh2sx6hqllhr8bcsd028v7ry2pibdwayrwh50xxd24"))))
9629 (build-system haskell-build-system)
9630 (properties '((upstream-name . "primitive")))
9631 (native-inputs (list ghc-base-orphans
9632 ghc-quickcheck-classes-base
9633 ghc-quickcheck
9634 ghc-tasty
9635 ghc-tasty-quickcheck
9636 ghc-tagged
9637 ghc-transformers-compat))
9638 (home-page "https://github.com/haskell/primitive")
9639 (synopsis "Primitive memory-related operations")
9640 (description
9641 "This package provides various primitive memory-related operations.")
9642 (license license:bsd-3)))
9643
9644(define-public ghc-primitive-bootstrap
9645 (package
9646 (inherit ghc-primitive)
9647 (name "ghc-primitive-bootstrap")
9648 (arguments
9649 `(#:tests? #f
9650 ,@(package-arguments ghc-primitive)))
9651 (native-inputs '())
9652 (properties '((hidden? #t)))))
9653
9654(define-public ghc-primitive-addr
9655 (package
9656 (name "ghc-primitive-addr")
9657 (version "0.1.0.3")
9658 (source
9659 (origin
9660 (method url-fetch)
9661 (uri (hackage-uri "primitive-addr" version))
9662 (sha256
9663 (base32 "1bs6xmlsv77187hqwcygv3nv2ynjgjwf3564vkk5bp8vjawigz72"))))
9664 (build-system haskell-build-system)
9665 (properties '((upstream-name . "primitive-addr")))
9666 (inputs (list ghc-primitive))
9667 (home-page "https://github.com/byteverse/primitive-addr")
9668 (synopsis "Addresses to unmanaged memory")
9669 (description
9670 "This library provides the @code{Data.Primitive.Addr} module that was a part
9671of the @code{primitive} library before @code{primitive-0.7.0.0}.")
9672 (license license:bsd-3)))
9673
9674(define-public ghc-process-extras
9675 (package
9676 (name "ghc-process-extras")
9677 (version "0.7.4")
9678 (source
9679 (origin
9680 (method url-fetch)
9681 (uri (hackage-uri "process-extras" version))
9682 (sha256
9683 (base32 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9684 (build-system haskell-build-system)
9685 (properties '((upstream-name . "process-extras")))
9686 (inputs (list ghc-data-default ghc-listlike ghc-generic-deriving))
9687 (native-inputs (list ghc-hunit))
9688 (arguments
9689 `(#:cabal-revision ("1"
9690 "1lpl0qvbk3dvfg36qr1xvwd916jdrcjbviiqmh9x9m1zqkq3jpxz")))
9691 (home-page "https://github.com/seereason/process-extras")
9692 (synopsis "Extra tools for managing processes")
9693 (description
9694 "This package extends
9695@url{https://hackage.haskell.org/package/process}. It allows you to read
9696process input and output as ByteStrings or Text, or write your own
9697ProcessOutput instance. It also provides lazy process input and output,
9698and a ProcessMaker class for more flexibility in the process creation
9699API.")
9700 (license license:expat)))
9701
9702(define-public ghc-profunctors
9703 (package
9704 (name "ghc-profunctors")
9705 (version "5.6.3")
9706 (source
9707 (origin
9708 (method url-fetch)
9709 (uri (hackage-uri "profunctors" version))
9710 (sha256
9711 (base32 "1wqf3isrrgmqxz5h42phsa7lawl6442r1da89hg82bld6qkz9imr"))))
9712 (build-system haskell-build-system)
9713 (properties '((upstream-name . "profunctors")))
9714 (inputs (list ghc-base-orphans
9715 ghc-bifunctors
9716 ghc-comonad
9717 ghc-contravariant
9718 ghc-distributive
9719 ghc-tagged))
9720 (home-page "http://github.com/ekmett/profunctors/")
9721 (synopsis "Profunctors for Haskell")
9722 (description "This library provides profunctors for Haskell.")
9723 (license license:bsd-3)))
9724
9725(define-public ghc-quote-quot
9726 (package
9727 (name "ghc-quote-quot")
9728 (version "0.2.1.0")
9729 (source
9730 (origin
9731 (method url-fetch)
9732 (uri (hackage-uri "quote-quot" version))
9733 (sha256
9734 (base32 "1xsd5vs97dwp3wnz862mplakkryi44brr73aqrrv76svkj82bp37"))))
9735 (build-system haskell-build-system)
9736 (properties '((upstream-name . "quote-quot")))
9737 (native-inputs (list ghc-tasty ghc-tasty-quickcheck))
9738 (home-page "https://github.com/Bodigrim/quote-quot#readme")
9739 (synopsis "Divide without division")
9740 (description
9741 "Generate routines for integer division, employing arithmetic and bitwise
9742operations only, which are __2.5x-3.5x faster__ than quot'. Divisors must be
9743known in compile-time and be positive.")
9744 (license license:bsd-3)))
9745
9746(define-public ghc-indexed-profunctors
9747 (package
9748 (name "ghc-indexed-profunctors")
9749 (version "0.1.1.1")
9750 (source
9751 (origin
9752 (method url-fetch)
9753 (uri (hackage-uri "indexed-profunctors" version))
9754 (sha256
9755 (base32 "166329a5jmrs4q1ycb132gq7kbrdyzrvrxzzzwp5czmv00lvns9f"))))
9756 (build-system haskell-build-system)
9757 (properties '((upstream-name . "indexed-profunctors")))
9758 (home-page "http://hackage.haskell.org/package/indexed-profunctors")
9759 (synopsis "Utilities for indexed profunctors")
9760 (description
9761 "This package contains basic definitions related to indexed profunctors. These
9762are primarily intended as internal utilities to support the @code{optics} and
9763@code{generic-lens} package families.")
9764 (license license:bsd-3)))
9765
9766(define-public ghc-project-template
9767 (package
9768 (name "ghc-project-template")
9769 (version "0.2.1.0")
9770 (source
9771 (origin
9772 (method url-fetch)
9773 (uri (hackage-uri "project-template" version))
9774 (sha256
9775 (base32 "0ac43x36i6b595jhflif1qqhri1rrqw90ama5n7rsh0ffnzyb69d"))))
9776 (build-system haskell-build-system)
9777 (properties '((upstream-name . "project-template")))
9778 (inputs (list ghc-base64-bytestring ghc-conduit ghc-conduit-extra
9779 ghc-resourcet))
9780 (native-inputs (list ghc-hspec hspec-discover ghc-quickcheck))
9781 (home-page "https://github.com/fpco/haskell-ide")
9782 (synopsis "Specify Haskell project templates and generate files")
9783 (description
9784 "Haskell library for both generating and consuming project templates.
9785
9786ost IDEs provide the concept of a project template: instead of writing all
9787of the code for a project from scratch, you select a template, answer a few
9788questions, and a bunch of files are automatically generated.
9789
9790project-template tries to provide a canonical Haskell library for implementing
9791the ideal templating system.")
9792 (license license:bsd-3)))
9793
9794(define-public ghc-protolude
9795 (package
9796 (name "ghc-protolude")
9797 (version "0.3.5")
9798 (source
9799 (origin
9800 (method url-fetch)
9801 (uri (hackage-uri "protolude" version))
9802 (sha256
9803 (base32 "11q4qivjsqxfmb93nzxabipsxmmcpdajrkb8n5hx53awkx15j2n8"))))
9804 (build-system haskell-build-system)
9805 (properties '((upstream-name . "protolude")))
9806 (inputs (list ghc-async ghc-hashable ghc-mtl-compat
9807 ghc-transformers-compat))
9808 (home-page "https://github.com/sdiehl/protolude")
9809 (synopsis "Sensible set of defaults for writing custom Preludes")
9810 (description
9811 "Protolude gives you sensible defaults for writing custom Preludes to
9812replace the standard one provided by GHC.")
9813 (license license:expat)))
9814
9815(define-public ghc-psqueue
9816 (package
9817 (name "ghc-psqueue")
9818 (version "1.2.2")
9819 (source
9820 (origin
9821 (method url-fetch)
9822 (uri (hackage-uri "PSQueue" version))
9823 (sha256
9824 (base32 "1jm8fswmmlrlg0cxgc358sc4jinjligm5qzqrzdli8pi8d06p5ni"))))
9825 (build-system haskell-build-system)
9826 (properties '((upstream-name . "PSQueue")))
9827 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-quickcheck
9828 ghc-tasty-hunit))
9829 (home-page "http://hackage.haskell.org/package/PSQueue")
9830 (synopsis "Priority search queue")
9831 (description
9832 "A @dfn{priority search queue} efficiently supports the operations of
9833both a search tree and a priority queue. A @code{Binding} is a product of
9834a key and a priority. Bindings can be inserted, deleted, modified and queried
9835in logarithmic time, and the binding with the least priority can be retrieved
9836in constant time. A queue can be built from a list of bindings, sorted by
9837keys, in linear time.")
9838 (license license:bsd-3)))
9839
9840(define-public ghc-psqueues
9841 (package
9842 (name "ghc-psqueues")
9843 (version "0.2.8.2")
9844 (source
9845 (origin
9846 (method url-fetch)
9847 (uri (hackage-uri "psqueues" version))
9848 (sha256
9849 (base32 "0kkr0ya5j0g8z86ihq1h3m7hr88hy6yg0bkrg6vdwmhr6vqlcfzn"))))
9850 (build-system haskell-build-system)
9851 (properties '((upstream-name . "psqueues")))
9852 (inputs (list ghc-hashable))
9853 (native-inputs (list ghc-hunit
9854 ghc-quickcheck
9855 ghc-tasty
9856 ghc-tasty-hunit
9857 ghc-tasty-quickcheck
9858 ghc-tagged))
9859 (home-page "http://hackage.haskell.org/package/psqueues")
9860 (synopsis "Pure priority search queues")
9861 (description
9862 "The psqueues package provides
9863@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9864three different flavors:
9865
9866@itemize
9867@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9868fast insertion, deletion and lookup. This implementation is based on Ralf
9869Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9870Implementation Technique for Priority Search Queues}.
9871
9872Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9873PSQueue} library, although it is considerably faster and provides a slightly
9874different API.
9875
9876@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9877key type to @code{Int} and uses a
9878@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9879with an additional min-heap property.
9880
9881@item @code{HashPSQ k p v} is a fairly straightforward extension
9882of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9883@code{IntPSQ}. If there are any hash collisions, it uses an
9884@code{OrdPSQ} to resolve those. The performance of this implementation
9885is comparable to that of @code{IntPSQ}, but it is more widely
9886applicable since the keys are not restricted to @code{Int},
9887but rather to any @code{Hashable} datatype.
9888@end itemize
9889
9890Each of the three implementations provides the same API, so they can
9891be used interchangeably.
9892
9893Typical applications of Priority Search Queues include:
9894
9895@itemize
9896@item Caches, and more specifically LRU Caches;
9897@item Schedulers;
9898@item Pathfinding algorithms, such as Dijkstra's and A*.
9899@end itemize")
9900 (license license:bsd-3)))
9901
9902(define-public ghc-pwstore-fast
9903 (package
9904 (name "ghc-pwstore-fast")
9905 (version "2.4.4")
9906 (source
9907 (origin
9908 (method url-fetch)
9909 (uri (hackage-uri "pwstore-fast" version))
9910 (sha256
9911 (base32 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9912 (build-system haskell-build-system)
9913 (properties '((upstream-name . "pwstore-fast")))
9914 (inputs (list ghc-base64-bytestring ghc-cryptohash ghc-random ghc-byteable))
9915 (home-page "https://github.com/PeterScott/pwstore")
9916 (synopsis "Secure password storage")
9917 (description
9918 "To store passwords securely, they should be salted, then hashed with
9919a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9920details. It uses the cryptohash package for speed; if you need a pure
9921Haskell library, pwstore-purehaskell has the exact same API, but uses only
9922pure Haskell. It is about 25 times slower than this package, but still quite
9923usable.")
9924 (license license:bsd-3)))
9925
9926(define-public ghc-random
9927 (package
9928 (name "ghc-random")
9929 (version "1.2.1.3")
9930 (source
9931 (origin
9932 (method url-fetch)
9933 (uri (hackage-uri "random" version))
9934 (sha256
9935 (base32 "1p2i636bk1q62dzrlrl92mirrz0ynf93bxs5yql07r6ilwk1kj79"))))
9936 (build-system haskell-build-system)
9937 (properties '((upstream-name . "random")))
9938 ;; ghc-random is widely used and causes quite a few loops, so disable tests.
9939 (arguments (list #:tests? #f))
9940 (inputs (list ghc-splitmix-bootstrap))
9941 (home-page "https://hackage.haskell.org/package/random")
9942 (synopsis "Random number library")
9943 (description
9944 "This package provides a basic random number generation
9945library, including the ability to split random number generators.")
9946 (license license:bsd-3)))
9947
9948(define-public ghc-random-bootstrap
9949 (package
9950 (inherit ghc-random)
9951 (name "ghc-random-bootstrap")
9952 (arguments
9953 `(#:tests? #f
9954 ,@(package-arguments ghc-random)))
9955 (inputs (list ghc-splitmix-bootstrap))
9956 (native-inputs '())
9957 (properties '((hidden? #t)))))
9958
9959(define-public ghc-raw-strings-qq
9960 (package
9961 (name "ghc-raw-strings-qq")
9962 (version "1.1")
9963 (source
9964 (origin
9965 (method url-fetch)
9966 (uri (hackage-uri "raw-strings-qq" version))
9967 (sha256
9968 (base32 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9969 (build-system haskell-build-system)
9970 (properties '((upstream-name . "raw-strings-qq")))
9971 (native-inputs (list ghc-hunit))
9972 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9973 (synopsis "Raw string literals for Haskell")
9974 (description
9975 "This package provides a quasiquoter for raw string literals, i.e. string
9976literals that don't recognise the standard escape sequences. Basically, they
9977make your code more readable by freeing you from the responsibility to escape
9978backslashes. They are useful when working with regular expressions,
9979DOS/Windows paths and markup languages (such as XML).")
9980 (license license:bsd-3)))
9981
9982(define-public ghc-readable
9983 (package
9984 (name "ghc-readable")
9985 (version "0.3.1")
9986 (source
9987 (origin
9988 (method url-fetch)
9989 (uri (hackage-uri "readable" version))
9990 (sha256
9991 (base32 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9992 (build-system haskell-build-system)
9993 (properties '((upstream-name . "readable")))
9994 (arguments
9995 `(#:cabal-revision ("2"
9996 "1190pzpd10r8d59h7ks1yahnpj8h8hal2i7y6mx488bwc9iixdqk")))
9997 (home-page "https://github.com/mightybyte/readable")
9998 (synopsis "Type class for reading from Text and ByteString")
9999 (description
10000 "This package provides a @code{Readable} type class for
10001reading data types from @code{ByteString} and @code{Text}. It also
10002includes efficient implementations for common data types.")
10003 (license license:bsd-3)))
10004
10005(define-public ghc-rebase
10006 (package
10007 (name "ghc-rebase")
10008 (version "1.21.2")
10009 (source
10010 (origin
10011 (method url-fetch)
10012 (uri (hackage-uri "rebase" version))
10013 (sha256
10014 (base32 "1yzzh8zdvzhl9wzh6zb1f30by49nhw2xlwpiqzq7i048dibza6bc"))))
10015 (build-system haskell-build-system)
10016 (properties '((upstream-name . "rebase")))
10017 (inputs (list ghc-bifunctors
10018 ghc-comonad
10019 ghc-contravariant
10020 ghc-dlist
10021 ghc-either
10022 ghc-groups
10023 ghc-hashable
10024 ghc-invariant
10025 ghc-profunctors
10026 ghc-scientific
10027 ghc-selective
10028 ghc-semigroupoids
10029 ghc-time-compat
10030 ghc-unordered-containers
10031 ghc-uuid-types
10032 ghc-vector
10033 ghc-vector-instances
10034 ghc-void))
10035 (home-page "https://github.com/nikita-volkov/rebase")
10036 (synopsis "Progressive alternative to the base package
10037for Haskell")
10038 (description
10039 "This Haskell package is intended for those who are
10040tired of keeping long lists of dependencies to the same essential libraries
10041in each package as well as the endless imports of the same APIs all over again.
10042
10043It also supports the modern tendencies in the language.
10044
10045To solve those problems this package does the following:
10046
10047@itemize
10048@item Reexport the original APIs under the @code{Rebase} namespace.
10049
10050@item Export all the possible non-conflicting symbols from the
10051@code{Rebase.Prelude} module.
10052
10053@item Give priority to the modern practices in the conflicting cases.
10054@end itemize
10055
10056The policy behind the package is only to reexport the non-ambiguous and
10057non-controversial APIs, which the community has obviously settled on.
10058The package is intended to rapidly evolve with the contribution from
10059the community, with the missing features being added with pull-requests.")
10060 (license license:expat)))
10061
10062(define-public ghc-reducers
10063 (package
10064 (name "ghc-reducers")
10065 (version "3.12.5")
10066 (source
10067 (origin
10068 (method url-fetch)
10069 (uri (hackage-uri "reducers" version))
10070 (sha256
10071 (base32 "0742ry9xjjmhwvlv100d3nz75k7wqr42262kw21n5mmwrka6358h"))))
10072 (build-system haskell-build-system)
10073 (properties '((upstream-name . "reducers")))
10074 (inputs (list ghc-fingertree ghc-hashable ghc-unordered-containers
10075 ghc-semigroupoids))
10076 (arguments
10077 `(#:cabal-revision ("1"
10078 "06iyj53308dxgrji857hqnq83ga52bw2dmp1szvxzc2vbnq0qfv8")))
10079 (home-page "http://github.com/ekmett/reducers/")
10080 (synopsis
10081 "Semigroups, specialized containers and a general map/reduce framework")
10082 (description "This library provides various semigroups, specialized
10083containers and a general map/reduce framework for Haskell.")
10084 (license license:bsd-3)))
10085
10086(define-public ghc-refact
10087 (package
10088 (name "ghc-refact")
10089 (version "0.3.0.2")
10090 (source
10091 (origin
10092 (method url-fetch)
10093 (uri (hackage-uri "refact" version))
10094 (sha256
10095 (base32 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10096 (build-system haskell-build-system)
10097 (properties '((upstream-name . "refact")))
10098 (home-page "http://hackage.haskell.org/package/refact")
10099 (synopsis "Specify refactorings to perform with apply-refact")
10100 (description
10101 "This library provides a datatype which can be interpreted by
10102@code{apply-refact}. It exists as a separate library so that applications can
10103specify refactorings without depending on GHC.")
10104 (license license:bsd-3)))
10105
10106(define-public ghc-reflection
10107 (package
10108 (name "ghc-reflection")
10109 (version "2.1.9")
10110 (source
10111 (origin
10112 (method url-fetch)
10113 (uri (hackage-uri "reflection" version))
10114 (sha256
10115 (base32 "1cwzwncb7zvzdcj5s5pc1qrkh7xj6kyz9b30qq2imvnh3bjdb9y6"))))
10116 (build-system haskell-build-system)
10117 (properties '((upstream-name . "reflection")))
10118 (native-inputs (list ghc-hspec ghc-quickcheck hspec-discover))
10119 (arguments
10120 `(#:cabal-revision ("1"
10121 "1q717za8dn36gxhjbr1vmaw6hv5k4id2230yxl3a6627i34qvwpa")))
10122 (home-page "http://github.com/ekmett/reflection")
10123 (synopsis "Reify arbitrary terms into types that can be reflected back
10124into terms")
10125 (description
10126 "This package addresses the 'configuration problem' which is
10127propagating configurations that are available at run-time, allowing multiple
10128configurations to coexist without resorting to mutable global variables or
10129@code{System.IO.Unsafe.unsafePerformIO}.")
10130 (license license:bsd-3)))
10131
10132(define-public ghc-reflex
10133 (package
10134 (name "ghc-reflex")
10135 (version "0.9.3.4")
10136 (source
10137 (origin
10138 (method url-fetch)
10139 (uri (hackage-uri "reflex" version))
10140 (sha256
10141 (base32 "1qh2xbg4q2gif25hinz72j8ka2w976lccklknwgijxaayh92if4a"))))
10142 (build-system haskell-build-system)
10143 (properties '((upstream-name . "reflex")))
10144 (inputs (list ghc-memotrie
10145 ghc-bifunctors
10146 ghc-comonad
10147 ghc-commutative-semigroups
10148 ghc-constraints
10149 ghc-constraints-extras
10150 ghc-data-default
10151 ghc-dependent-map
10152 ghc-dependent-sum
10153 ghc-exception-transformers
10154 ghc-lens
10155 ghc-mmorph
10156 ghc-monad-control
10157 ghc-patch
10158 ghc-prim-uniq
10159 ghc-primitive
10160 ghc-profunctors
10161 ghc-random
10162 ghc-ref-tf
10163 ghc-reflection
10164 ghc-semigroupoids
10165 ghc-syb
10166 ghc-unbounded-delays
10167 ghc-witherable
10168 ghc-these
10169 ghc-semialign
10170 ghc-monoidal-containers
10171 ghc-haskell-src-exts
10172 ghc-haskell-src-meta))
10173 (native-inputs (list ghc-split
10174 ghc-filemanip
10175 ghc-these-lens
10176 ghc-hspec
10177 ghc-these-lens
10178 ghc-these-lens
10179 ghc-these-lens))
10180 (home-page "https://reflex-frp.org")
10181 (synopsis "Higher-order functional reactive programming")
10182 (description
10183 "This library lets you write interactive programs without callbacks or
10184side-effects. Functional Reactive Programming (FRP) uses composable events
10185and time-varying values to describe interactive systems as pure functions.
10186Just like other pure functional code, functional reactive code is easier to
10187get right on the first try, maintain, and reuse. Reflex is a
10188fully-deterministic, higher-order FRP interface and an engine that efficiently
10189implements that interface.")
10190 (license license:bsd-3)))
10191
10192(define-public ghc-reflex-sdl2
10193 (let ((commit "6dadf2c4f383b8a58fcd73616996b219c4f93972")
10194 (revision "1"))
10195 (package
10196 (name "ghc-reflex-sdl2")
10197 (version (git-version "0.3.0.2" revision commit))
10198 (source
10199 (origin
10200 (method git-fetch)
10201 (uri (git-reference
10202 (url "https://github.com/schell/reflex-sdl2")
10203 (commit commit)))
10204 (file-name (git-file-name name version))
10205 (sha256
10206 (base32 "06lxfgp18l1car6wd07mbjn4yblnp89acf1i67nd815p2hx0ihbz"))))
10207 (build-system haskell-build-system)
10208 (properties '((upstream-name . "reflex-sdl2")))
10209 (inputs (list ghc-async
10210 ghc-dependent-sum
10211 ghc-exception-transformers
10212 ghc-ref-tf
10213 ghc-primitive
10214 ghc-reflex
10215 ghc-sdl2))
10216 (arguments
10217 '(#:phases
10218 (modify-phases %standard-phases
10219 (add-before 'configure 'update-constraints
10220 (lambda _
10221 (substitute* "reflex-sdl2.cabal"
10222 (("\\bref-tf +>= 0\\.4 +&& < 0\\.5\\b") "ref-tf")))))))
10223 (home-page "https://github.com/schell/reflex-sdl2")
10224 (synopsis "SDL2 and Reflex functional reactive programming")
10225 (description
10226 "This package provides a minimal host for SDL2-based Reflex
10227applications.")
10228 (license license:expat))))
10229
10230(define-public ghc-regex
10231 (package
10232 (name "ghc-regex")
10233 (version "1.1.0.2")
10234 (source
10235 (origin
10236 (method url-fetch)
10237 (uri (hackage-uri "regex" version))
10238 (sha256
10239 (base32 "1nzyfkqmclmawmphvksvm9l64awqgnypic4xplc2s9sjcj4h814a"))))
10240 (build-system haskell-build-system)
10241 (properties '((upstream-name . "regex")))
10242 (inputs (list ghc-base-compat
10243 ghc-hashable
10244 ghc-regex-base
10245 ghc-regex-pcre-builtin
10246 ghc-regex-tdfa
10247 ghc-time-locale-compat
10248 ghc-unordered-containers
10249 ghc-utf8-string))
10250 (home-page "http://regex.uk")
10251 (synopsis "Toolkit for regex-base")
10252 (description
10253 "This package provides a regular expression toolkit for @code{regex-base}
10254with compile-time checking of regular expression syntax, data types for
10255matches and captures, a text replacement toolkit, portable options, high-level
10256AWK-like tools for building text processing apps, regular expression macros
10257with parsers and test bench, comprehensive documentation, tutorials and
10258copious examples.")
10259 (license license:bsd-3)))
10260
10261(define-public ghc-regex-applicative
10262 (package
10263 (name "ghc-regex-applicative")
10264 (version "0.3.4")
10265 (source
10266 (origin
10267 (method url-fetch)
10268 (uri (hackage-uri "regex-applicative" version))
10269 (sha256
10270 (base32 "0di66pi2kq5rrsn0k6pwakzwa0bgi9jfb2csm72kp5gzqdws8s8p"))))
10271 (build-system haskell-build-system)
10272 (properties '((upstream-name . "regex-applicative")))
10273 (inputs (list ghc-filtrable))
10274 (native-inputs (list ghc-smallcheck ghc-tasty ghc-tasty-smallcheck
10275 ghc-tasty-hunit))
10276 (home-page "https://github.com/feuerbach/regex-applicative")
10277 (synopsis "Regex-based parsing with applicative interface")
10278 (description
10279 "@code{regex-applicative} is a Haskell library for parsing using
10280regular expressions. Parsers can be built using Applicative interface.")
10281 (license license:expat)))
10282
10283(define-public ghc-regex-base
10284 (package
10285 (name "ghc-regex-base")
10286 (version "0.94.0.3")
10287 (source
10288 (origin
10289 (method url-fetch)
10290 (uri (hackage-uri "regex-base" version))
10291 (sha256
10292 (base32 "1gs76xbda39gq8wzb8as3y49npa93vfrndf4q78hsyccb7p2vjp8"))))
10293 (build-system haskell-build-system)
10294 (properties '((upstream-name . "regex-base")))
10295 (home-page "https://wiki.haskell.org/Regular_expressions")
10296 (synopsis "Replaces/Enhances Text.Regex")
10297 (description
10298 "@code{Text.Regex.Base} provides the interface API for
10299regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10300 (license license:bsd-3)))
10301
10302(define-public ghc-regex-compat
10303 (package
10304 (name "ghc-regex-compat")
10305 (version "0.95.2.2")
10306 (source
10307 (origin
10308 (method url-fetch)
10309 (uri (hackage-uri "regex-compat" version))
10310 (sha256
10311 (base32 "071hpcqj18gygdj9scd8bm1zxg9vvp3m0sf6f7a7nsk1qgcd2zp2"))))
10312 (build-system haskell-build-system)
10313 (properties '((upstream-name . "regex-compat")))
10314 (inputs (list ghc-regex-base ghc-regex-posix))
10315 (home-page "https://wiki.haskell.org/Regular_expressions")
10316 (synopsis "Replaces/Enhances Text.Regex")
10317 (description "This library provides one module layer over
10318@code{regex-posix} to replace @code{Text.Regex}.")
10319 (license license:bsd-3)))
10320
10321(define-public ghc-regex-pcre
10322 (package
10323 (name "ghc-regex-pcre")
10324 (version "0.95.0.1")
10325 (source
10326 (origin
10327 (method url-fetch)
10328 (uri (hackage-uri "regex-pcre" version))
10329 (sha256
10330 (base32 "1rdpznvbmg3ra3pjshykds8ra97yqg23nxfxw5dd6sigcv1pp5i9"))))
10331 (build-system haskell-build-system)
10332 (properties '((upstream-name . "regex-pcre")))
10333 (inputs (list ghc-regex-base pcre))
10334 (native-inputs (list pkg-config))
10335 (home-page "https://wiki.haskell.org/Regular_expressions")
10336 (synopsis "Enhancement of the builtin Text.Regex library")
10337 (description
10338 "This package is an enhancement of the @code{Text.Regex} library.
10339It wraps the @code{PCRE} C library providing Perl-compatible regular
10340expressions.")
10341 (license license:bsd-3)))
10342
10343(define-public ghc-regex-pcre-builtin
10344 (package
10345 (name "ghc-regex-pcre-builtin")
10346 (version "0.95.2.3.8.44")
10347 (source
10348 (origin
10349 (method url-fetch)
10350 (uri (hackage-uri "regex-pcre-builtin" version))
10351 (sha256
10352 (base32 "0pn55ssrwr05c9sa9jvp0knvzjksz04wn3pmzf5dz4xgbyjadkna"))))
10353 (build-system haskell-build-system)
10354 (properties '((upstream-name . "regex-pcre-builtin")))
10355 (inputs (list ghc-regex-base))
10356 (arguments
10357 `(#:cabal-revision ("6"
10358 "1rn3649yqqrbd177mbyk12gdpbm3kdzjgnjqxfv68crah237y08j")))
10359 (home-page "http://hackage.haskell.org/package/regex-pcre-builtin")
10360 (synopsis "Enhancement of the builtin Text.Regex library")
10361 (description
10362 "This package is an enhancement of the @code{Text.Regex} library,
10363providing the PCRE backend to accompany regex-base, with bundled code from
10364@url{https://www.pcre.org}.")
10365 (license license:bsd-3)))
10366
10367(define-public ghc-regex-posix
10368 (package
10369 (name "ghc-regex-posix")
10370 (version "0.96.0.2")
10371 (source
10372 (origin
10373 (method url-fetch)
10374 (uri (hackage-uri "regex-posix" version))
10375 (sha256
10376 (base32 "0l41mapdlq8cvlqzd15f99yrqrxlvl2n790v9p2ywpawqdh08mvy"))))
10377 (build-system haskell-build-system)
10378 (properties '((upstream-name . "regex-posix")))
10379 (inputs (list ghc-regex-base))
10380 (home-page "http://hackage.haskell.org/package/regex-posix")
10381 (synopsis "POSIX regular expressions for Haskell")
10382 (description "This library provides the POSIX regex backend used by the
10383Haskell library @code{regex-base}.")
10384 (license license:bsd-3)))
10385
10386(define-public ghc-regex-tdfa
10387 (package
10388 (name "ghc-regex-tdfa")
10389 (version "1.3.2.4")
10390 (source
10391 (origin
10392 (method url-fetch)
10393 (uri (hackage-uri "regex-tdfa" version))
10394 (sha256
10395 (base32 "15x7pisdvi0afg7ybxpga8aa4q38x9pz9ml7nhz1f7s4nw9w72q7"))))
10396 (build-system haskell-build-system)
10397 (properties '((upstream-name . "regex-tdfa")))
10398 (arguments
10399 (list
10400 #:phases
10401 #~(modify-phases %standard-phases
10402 (replace 'check
10403 (lambda* (#:key tests? #:allow-other-keys)
10404 (if tests?
10405 (begin
10406 ;; The doctests require GHC_PACKAGE_PATH but Setup.hs errors
10407 ;; out if it is defined so we run them by hand
10408 (invoke "runhaskell" "Setup.hs" "test" "regex-tdfa-unittest")
10409 (setenv "GHC_PACKAGE_PATH"
10410 (string-append (or (getenv "TMP")
10411 "/tmp")
10412 "/package.conf.d"))
10413 (invoke "./dist/build/doctest/doctest" "--ghc-arg=-idist/build/autogen")
10414 (unsetenv "GHC_PACKAGE_PATH"))
10415 (format #t "Testsuite not run.~%")))))))
10416 (inputs (list ghc-regex-base))
10417 (native-inputs (list ghc-utf8-string ghc-doctest-parallel))
10418 (home-page "https://wiki.haskell.org/Regular_expressions")
10419 (synopsis "POSIX extended regular expressions in Haskell")
10420 (description
10421 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10422extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10423inspired by libtre.")
10424 (license license:bsd-3)))
10425
10426(define-public ghc-replace-megaparsec
10427 (package
10428 (name "ghc-replace-megaparsec")
10429 (version "1.5.0.1")
10430 (source
10431 (origin
10432 (method url-fetch)
10433 (uri (hackage-uri "replace-megaparsec" version))
10434 (sha256
10435 (base32 "134ns97fhsg0a0jn5pjfnbv9jj40p0ljinx7y572gaw0lpfwc4x1"))))
10436 (build-system haskell-build-system)
10437 (properties '((upstream-name . "replace-megaparsec")))
10438 (inputs (list ghc-megaparsec ghc-parser-combinators))
10439 (native-inputs (list ghc-hspec))
10440 (home-page "https://github.com/jamesdbrock/replace-megaparsec")
10441 (synopsis
10442 "Find, replace, split string patterns with Megaparsec parsers (instead of regex)")
10443 (description
10444 "Find text patterns, replace the patterns, split on the patterns. Use Megaparsec
10445monadic parsers instead of regular expressions for pattern matching.")
10446 (license license:bsd-2)))
10447
10448(define-public ghc-repline
10449 (package
10450 (name "ghc-repline")
10451 (version "0.4.3.0")
10452 (source
10453 (origin
10454 (method url-fetch)
10455 (uri (hackage-uri "repline" version))
10456 (sha256
10457 (base32 "04iy7z3cmkwjhf90jdjqfv2cjcmn2206p4xmjshfn3fda4sawrcl"))))
10458 (build-system haskell-build-system)
10459 (properties '((upstream-name . "repline")))
10460 (home-page "https://github.com/sdiehl/repline")
10461 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10462 (description
10463 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10464normal mtl transformers.")
10465 (license license:expat)))
10466
10467(define-public ghc-rerebase
10468 (package
10469 (name "ghc-rerebase")
10470 (version "1.21.2")
10471 (source
10472 (origin
10473 (method url-fetch)
10474 (uri (hackage-uri "rerebase" version))
10475 (sha256
10476 (base32 "047wlwvffmgg70d70dsv6160wq6hfxp4frb0414np270grq0vk3p"))))
10477 (build-system haskell-build-system)
10478 (properties '((upstream-name . "rerebase")))
10479 (inputs (list ghc-rebase))
10480 (home-page "https://github.com/nikita-volkov/rerebase")
10481 (synopsis "Reexports from ``base'' with many other standard libraries")
10482 (description
10483 "A rich drop-in replacement for @code{base}. For details and
10484documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10485the project's home page}.")
10486 (license license:expat)))
10487
10488(define-public ghc-resolv
10489 (package
10490 (name "ghc-resolv")
10491 (version "0.2.0.3")
10492 (source
10493 (origin
10494 (method url-fetch)
10495 (uri (hackage-uri "resolv" version))
10496 (sha256
10497 (base32 "00viayfl655hibms5nh3nr3j7jhb1bvlhiscinvwnb4bp25a80kp"))))
10498 (build-system haskell-build-system)
10499 (properties '((upstream-name . "resolv")))
10500 (inputs (list ghc-base16-bytestring))
10501 (native-inputs (list ghc-tasty ghc-tasty-hunit))
10502 (home-page "http://hackage.haskell.org/package/resolv")
10503 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10504 (description
10505 "This package implements an API for accessing the
10506@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10507resolver service via the standard @code{libresolv} system library (whose
10508API is often available directly via the standard @code{libc} C library) on
10509Unix systems.")
10510 (license license:gpl3)))
10511
10512(define-public ghc-resource-pool
10513 (package
10514 (name "ghc-resource-pool")
10515 (version "0.4.0.0")
10516 (source
10517 (origin
10518 (method url-fetch)
10519 (uri (hackage-uri "resource-pool" version))
10520 (sha256
10521 (base32 "1cg99a88zlaxxb1aqjv8f2xip7wr6a8k0mwiyxjqsy3m7qz7h3cc"))))
10522 (build-system haskell-build-system)
10523 (properties '((upstream-name . "resource-pool")))
10524 (inputs (list ghc-hashable ghc-primitive))
10525 (home-page "http://hackage.haskell.org/package/resource-pool")
10526 (synopsis "Striped resource pooling implementation in Haskell")
10527 (description
10528 "This Haskell package provides striped pooling abstraction
10529for managing flexibly-sized collections of resources such as database
10530connections.")
10531 (license license:bsd-3)))
10532
10533(define-public ghc-resourcet
10534 (package
10535 (name "ghc-resourcet")
10536 (version "1.3.0")
10537 (source
10538 (origin
10539 (method url-fetch)
10540 (uri (hackage-uri "resourcet" version))
10541 (sha256
10542 (base32 "0swrz7h73m86x3937gdiay3z30y9hn35n86v5brh38j2xs2ifq7c"))))
10543 (build-system haskell-build-system)
10544 (properties '((upstream-name . "resourcet")))
10545 (inputs (list ghc-unliftio-core ghc-primitive))
10546 (native-inputs (list ghc-hspec))
10547 (home-page "http://github.com/snoyberg/conduit")
10548 (synopsis "Deterministic allocation and freeing of scarce resources")
10549 (description "ResourceT is a monad transformer which creates a region of
10550code where you can safely allocate resources.")
10551 (license license:bsd-3)))
10552
10553(define-public ghc-retry
10554 (package
10555 (name "ghc-retry")
10556 (version "0.9.3.1")
10557 (source
10558 (origin
10559 (method url-fetch)
10560 (uri (hackage-uri "retry" version))
10561 (sha256
10562 (base32 "1mky1dfllmx6dr1gayf636n3z5xrfmam3rhs5vx7c3wj9c8kabk2"))))
10563 (build-system haskell-build-system)
10564 (properties '((upstream-name . "retry")))
10565 (inputs (list ghc-random ghc-mtl-compat ghc-unliftio-core))
10566 (native-inputs (list ghc-hunit ghc-tasty ghc-tasty-hunit
10567 ghc-tasty-hedgehog ghc-hedgehog))
10568 (home-page "http://github.com/Soostone/retry")
10569 (synopsis "Retry combinators for monadic actions that may fail")
10570 (description
10571 "This package exposes combinators that can wrap
10572arbitrary monadic actions. They run the action and potentially retry
10573running it with some configurable delay for a configurable number of
10574times. The purpose is to make it easier to work with IO and especially
10575network IO actions that often experience temporary failure and warrant
10576retrying of the original action. For example, a database query may time
10577out for a while, in which case we should hang back for a bit and retry
10578the query instead of simply raising an exception.")
10579 (license license:bsd-3)))
10580
10581(define-public ghc-rfc5051
10582 (package
10583 (name "ghc-rfc5051")
10584 (version "0.2")
10585 (source
10586 (origin
10587 (method url-fetch)
10588 (uri (hackage-uri "rfc5051" version))
10589 (sha256
10590 (base32 "0nri7js5ymywh2gi3li25wrkl1nf712qhbzw5hn46fib83qsq73k"))))
10591 (build-system haskell-build-system)
10592 (properties '((upstream-name . "rfc5051")))
10593 (home-page "http://hackage.haskell.org/package/rfc5051")
10594 (synopsis "Simple unicode collation as per RFC5051")
10595 (description
10596 "This library implements @code{unicode-casemap}, the simple, non
10597locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10598unicode collation can be done using @code{text-icu}, but that is a big
10599dependency that depends on a large C library, and @code{rfc5051} might be
10600better for some purposes.")
10601 (license license:bsd-3)))
10602
10603(define-public ghc-rio
10604 (package
10605 (name "ghc-rio")
10606 (version "0.1.22.0")
10607 (source
10608 (origin
10609 (method url-fetch)
10610 (uri (hackage-uri "rio" version))
10611 (sha256
10612 (base32 "0rpc4f2yvw0y6mqz9ykm3778j6srya7ssww691kpf9nb8vddgjb6"))))
10613 (build-system haskell-build-system)
10614 (properties '((upstream-name . "rio")))
10615 (inputs (list ghc-hashable
10616 ghc-microlens
10617 ghc-microlens-mtl
10618 ghc-primitive
10619 ghc-typed-process
10620 ghc-unliftio
10621 ghc-unliftio-core
10622 ghc-unordered-containers
10623 ghc-vector))
10624 (native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
10625 (home-page "https://github.com/commercialhaskell/rio#readme")
10626 (synopsis "Standard library for Haskell")
10627 (description
10628 "This package works as a prelude replacement for Haskell,
10629providing more functionality and types out of the box than the standard
10630prelude (such as common data types like @code{ByteString} and
10631@code{Text}), as well as removing common ``gotchas'', like partial
10632functions and lazy I/O. The guiding principle here is:
10633@itemize
10634@item If something is safe to use in general and has no expected naming
10635conflicts, expose it.
10636@item If something should not always be used, or has naming conflicts,
10637expose it from another module in the hierarchy.
10638@end itemize")
10639 (license license:expat)))
10640
10641(define-public ghc-roman-numerals
10642 (package
10643 (name "ghc-roman-numerals")
10644 (version "0.5.1.5")
10645 (source (origin
10646 (method url-fetch)
10647 (uri (hackage-uri "roman-numerals" version))
10648 (sha256
10649 (base32
10650 "10da5vls9l5i255bapms4b2r7dnwmxgsaa1cdll2lrmid5dikixr"))))
10651 (build-system haskell-build-system)
10652 (properties '((upstream-name . "roman-numerals")))
10653 (inputs (list ghc-base-unicode-symbols))
10654 (arguments
10655 `(#:phases
10656 (modify-phases %standard-phases
10657 (add-before 'configure 'update-constraints
10658 (lambda _
10659 (substitute* "roman-numerals.cabal"
10660 (("\\b(bytestring|text)\\s+[^,\n]+" all dep)
10661 dep)))))))
10662 (home-page "https://github.com/roelvandijk/roman-numerals")
10663 (synopsis "Parsing and pretty printing of Roman numerals")
10664 (description
10665 "This library provides functions for parsing and pretty printing Roman numerals.
10666Because the notation of Roman numerals has varied through the centuries this
10667package allows for some customisation using a configuration that is passed to
10668the conversion functions.")
10669 (license license:bsd-3)))
10670
10671(define-public ghc-safe
10672 (package
10673 (name "ghc-safe")
10674 (version "0.3.21")
10675 (source
10676 (origin
10677 (method url-fetch)
10678 (uri (hackage-uri "safe" version))
10679 (sha256
10680 (base32 "00bz022kvs0wd3rs9ycx0nxfyc2gqlg3q13lhx4fqydy5fjgx09c"))))
10681 (build-system haskell-build-system)
10682 (properties '((upstream-name . "safe")))
10683 (native-inputs (list ghc-quickcheck))
10684 (arguments
10685 `(#:cabal-revision ("1"
10686 "1xx3qq5xc4qbfzshaaqxnhdpl5bdwk3qbkiqbcaqhrw78lbfla5r")))
10687 (home-page "https://github.com/ndmitchell/safe#readme")
10688 (synopsis "Library of safe (exception free) functions")
10689 (description
10690 "This library provides wrappers around @code{Prelude} and
10691@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10692exceptions.")
10693 (license license:bsd-3)))
10694
10695(define-public ghc-safe-exceptions
10696 (package
10697 (name "ghc-safe-exceptions")
10698 (version "0.1.7.4")
10699 (source
10700 (origin
10701 (method url-fetch)
10702 (uri (hackage-uri "safe-exceptions" version))
10703 (sha256
10704 (base32 "1xhyljfvf1zpr7gpi9xgqmi9xsiv5vcjz52gz65zyq4v1kaxhl9w"))))
10705 (build-system haskell-build-system)
10706 (properties '((upstream-name . "safe-exceptions")))
10707 (native-inputs (list ghc-hspec ghc-void hspec-discover))
10708 (arguments
10709 `(#:cabal-revision ("1"
10710 "1laifqnsvli7x74asal5l4qhsvgvc6hycjqmrg7qmmabsldjddwb")))
10711 (home-page "https://github.com/fpco/safe-exceptions#readme")
10712 (synopsis "Safe, consistent, and easy exception handling")
10713 (description
10714 "Runtime exceptions - as exposed in @code{base} by the
10715@code{Control.Exception} module - have long been an intimidating part of the
10716Haskell ecosystem. This package is intended to overcome this. It provides a
10717safe and simple API on top of the existing exception handling machinery. The
10718API is equivalent to the underlying implementation in terms of power but
10719encourages best practices to minimize the chances of getting the exception
10720handling wrong.")
10721 (license license:expat)))
10722
10723(define-public ghc-safeio
10724 (package
10725 (name "ghc-safeio")
10726 (version "0.0.6.0")
10727 (source
10728 (origin
10729 (method url-fetch)
10730 (uri (hackage-uri "safeio" version))
10731 (sha256
10732 (base32 "0dbkk6ia7acil45b2dbvlnfdssyy1azlj0c8gg7pyp3x5fm67v13"))))
10733 (build-system haskell-build-system)
10734 (properties '((upstream-name . "safeio")))
10735 (inputs (list ghc-conduit ghc-conduit-combinators ghc-resourcet))
10736 (native-inputs (list ghc-hunit ghc-tasty ghc-tasty-hunit ghc-tasty-th))
10737 (home-page "https://github.com/luispedro/safeio#readme")
10738 (synopsis "Write output to disk atomically")
10739 (description
10740 "This package implements utilities to perform atomic output so as to
10741avoid the problem of partial intermediate files.")
10742 (license license:expat)))
10743
10744(define-public ghc-safesemaphore
10745 (package
10746 (name "ghc-safesemaphore")
10747 (version "0.10.1")
10748 (source
10749 (origin
10750 (method url-fetch)
10751 (uri (hackage-uri "SafeSemaphore" version))
10752 (sha256
10753 (base32 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10754 (build-system haskell-build-system)
10755 (properties '((upstream-name . "SafeSemaphore")))
10756 (native-inputs (list ghc-hunit))
10757 (arguments
10758 `(#:cabal-revision ("1"
10759 "1k61gqgfh6n3sj8ni8sfvpcm39nqc2msjfxk2pgmhfabvv48w5hv")))
10760 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10761 (synopsis "Exception safe semaphores")
10762 (description
10763 "This library provides exception safe semaphores that can be
10764used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10765are not exception safe and can be broken by @code{killThread}.")
10766 (license license:bsd-3)))
10767
10768(define-public ghc-sandi
10769 (package
10770 (name "ghc-sandi")
10771 (version "0.5")
10772 (source
10773 (origin
10774 (method url-fetch)
10775 (uri (hackage-uri "sandi" version))
10776 (sha256
10777 (base32 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
10778 (build-system haskell-build-system)
10779 (properties '((upstream-name . "sandi")))
10780 (inputs (list ghc-conduit))
10781 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck
10782 ghc-tasty-th))
10783 (arguments
10784 `(#:cabal-revision ("1"
10785 "1aj9i1ir6ks3bdb47yvqlxv2azrz09p69ggr73m0cxvir9rd0y5j")))
10786 (home-page "http://hackage.haskell.org/package/sandi")
10787 (synopsis "Data encoding library")
10788 (description "Reasonably fast data encoding library.")
10789 (license license:bsd-3)))
10790
10791(define-public ghc-sandwich
10792 (package
10793 (name "ghc-sandwich")
10794 (version "0.3.0.5")
10795 (source
10796 (origin
10797 (method url-fetch)
10798 (uri (hackage-uri "sandwich" version))
10799 (sha256
10800 (base32 "1xx99hlscbqyyl5z8yby4x13bnkxzbxcxq817jf4b4v2qyha1a0b"))))
10801 (build-system haskell-build-system)
10802 (properties '((upstream-name . "sandwich")))
10803 (inputs (list ghc-aeson
10804 ghc-ansi-terminal
10805 ghc-async
10806 ghc-brick
10807 ghc-colour
10808 ghc-free
10809 ghc-microlens
10810 ghc-microlens-th
10811 ghc-monad-control
10812 ghc-monad-logger
10813 ghc-optparse-applicative
10814 ghc-pretty-show
10815 ghc-retry
10816 ghc-safe
10817 ghc-string-interpolate
10818 ghc-transformers-base
10819 ghc-unliftio
10820 ghc-unliftio-core
10821 ghc-vector
10822 ghc-vty
10823 ghc-vty-crossplatform))
10824 (home-page "https://codedownio.github.io/sandwich")
10825 (synopsis "Test framework inspired by Hspec")
10826 (description
10827 "A test framework for Haskell, inspired by and (almost) a drop-in
10828replacement for Hspec. It has a number of powerful features and integrations,
10829such as interactive terminal user interface for viewing test progress and
10830built-in profiling support.")
10831 (license license:bsd-3)))
10832
10833(define-public ghc-say
10834 (package
10835 (name "ghc-say")
10836 (version "0.1.0.1")
10837 (source
10838 (origin
10839 (method url-fetch)
10840 (uri (hackage-uri "say" version))
10841 (sha256
10842 (base32 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10843 (build-system haskell-build-system)
10844 (properties '((upstream-name . "say")))
10845 (native-inputs (list ghc-hspec hspec-discover ghc-unliftio))
10846 ; XXX: Tests fail on GHC 9.10.2. See https://github.com/fpco/say/issues/5
10847 (arguments (list #:tests? #f))
10848 (home-page "https://github.com/fpco/say#readme")
10849 (synopsis "Send textual messages to a Handle in a thread-friendly way")
10850 (description
10851 "A thread safe API to write a line of textual data to a Handle, such
10852as sending some messages to the terminal - that has the following properties:
10853@itemize
10854@item Properly handle character encoding settings on the Handle
10855@item For reasonably sized messages, ensure that the entire message is written
10856 in one chunk to avoid interleaving data with other threads
10857@item Avoid unnecessary memory allocations and copies
10858@item Minimize locking.
10859@end itemize")
10860 (license license:expat)))
10861
10862(define-public ghc-scientific
10863 (package
10864 (name "ghc-scientific")
10865 (version "0.3.8.0")
10866 (source
10867 (origin
10868 (method url-fetch)
10869 (uri (hackage-uri "scientific" version))
10870 (sha256
10871 (base32 "1kqqf8hyffrkqp6cgjxgxm9nc18ql7jj5rjjirqxf9mam2y47cqk"))))
10872 (build-system haskell-build-system)
10873 (properties '((upstream-name . "scientific")))
10874 (inputs (list ghc-hashable ghc-integer-logarithms ghc-primitive))
10875 (native-inputs (list ghc-quickcheck
10876 ghc-smallcheck
10877 ghc-tasty
10878 ghc-tasty-hunit
10879 ghc-tasty-quickcheck
10880 ghc-tasty-smallcheck))
10881 (arguments
10882 `(#:cabal-revision ("2"
10883 "0bkks5hdi3w7xx2k1dvj8alsz1i7ljjaqmrp8hw024fh3mqad0xs")))
10884 (home-page "https://github.com/basvandijk/scientific")
10885 (synopsis "Numbers represented using scientific notation")
10886 (description
10887 "This package provides @code{Data.Scientific}, which provides
10888the number type @code{Scientific}. Scientific numbers are arbitrary precision
10889and space efficient. They are represented using
10890@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10891notation}.")
10892 (license license:bsd-3)))
10893
10894(define-public ghc-sdl
10895 (package
10896 (name "ghc-sdl")
10897 (version "0.6.7.0")
10898 (source
10899 (origin
10900 (method url-fetch)
10901 (uri (hackage-uri "SDL" version))
10902 (sha256
10903 (base32
10904 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10905 (build-system haskell-build-system)
10906 (properties '((upstream-name . "SDL")))
10907 (inputs
10908 (list sdl))
10909 (home-page "https://hackage.haskell.org/package/SDL")
10910 (synopsis "LibSDL for Haskell")
10911 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10912multimedia library designed to provide low level access to audio, keyboard,
10913mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10914by MPEG playback software, emulators, and many popular games, including the
10915award winning Linux port of \"Civilization: Call To Power.\"")
10916 (license license:bsd-3)))
10917
10918(define-public ghc-sdl2
10919 (package
10920 (name "ghc-sdl2")
10921 (version "2.5.5.1")
10922 (source
10923 (origin
10924 (method url-fetch)
10925 (uri (hackage-uri "sdl2" version))
10926 (sha256
10927 (base32 "1k60zwqr0kgalw3lyqy6vs9bg8bg40cp64snx8n6rh99050y5cr5"))))
10928 (build-system haskell-build-system)
10929 (properties '((upstream-name . "sdl2")))
10930 ; the tests fail due to wrong performance scaling. The issue is reported
10931 ; upstream but no solution seems to exist at the moment
10932 ; https://github.com/haskell-game/sdl2/issues/298
10933 (arguments (list #:tests? #f))
10934 (inputs (list ghc-statevar ghc-vector ghc-linear sdl2))
10935 (native-inputs (list ghc-weigh pkg-config))
10936 (home-page "http://hackage.haskell.org/package/sdl2")
10937 (synopsis "High- and low-level bindings to the SDL library")
10938 (description
10939 "This package contains bindings to the SDL 2 library, in both high- and
10940low-level forms. The @code{SDL} namespace contains high-level bindings, where
10941enumerations are split into sum types, and we perform automatic
10942error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10943translation of the C API into Haskell FFI calls. As such, this does not
10944contain sum types nor error checking. Thus this namespace is suitable for
10945building your own abstraction over SDL, but is not recommended for day-to-day
10946programming.")
10947 (license license:bsd-3)))
10948
10949(define-public ghc-sdl2-image
10950 (package
10951 (name "ghc-sdl2-image")
10952 (version "2.1.0.0")
10953 (source
10954 (origin
10955 (method url-fetch)
10956 (uri (hackage-uri "sdl2-image" version))
10957 (sha256
10958 (base32 "03cjlmj844gmfxqn9mp8333hpsg227kaipgs6g68xwg0cvch696j"))))
10959 (build-system haskell-build-system)
10960 (properties '((upstream-name . "sdl2-image")))
10961 (inputs (list ghc-sdl2 sdl2 sdl2-image))
10962 (native-inputs (list pkg-config))
10963 (home-page "http://hackage.haskell.org/package/sdl2-image")
10964 (synopsis "Bindings to SDL2_image")
10965 (description "This package provides Haskell bindings to
10966@code{SDL2_image}.")
10967 (license license:expat)))
10968
10969(define-public ghc-sdl2-mixer
10970 (package
10971 (name "ghc-sdl2-mixer")
10972 (version "1.2.0.0")
10973 (source
10974 (origin
10975 (method url-fetch)
10976 (uri (hackage-uri "sdl2-mixer" version))
10977 (sha256
10978 (base32 "16fgnxq2nmifbz3lrr7dn1qj57l5f2kzv124lya1fjaxmwk1h52q"))))
10979 (build-system haskell-build-system)
10980 (properties '((upstream-name . "sdl2-mixer")))
10981 (inputs (list ghc-data-default-class ghc-lifted-base ghc-monad-control
10982 ghc-sdl2 ghc-vector sdl2-mixer))
10983 (native-inputs (list pkg-config))
10984 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
10985 (synopsis "Bindings to SDL2 mixer")
10986 (description "This package provides Haskell bindings to
10987@code{SDL2_mixer}.")
10988 (license license:bsd-3)))
10989
10990(define-public ghc-sdl2-ttf
10991 (package
10992 (name "ghc-sdl2-ttf")
10993 (version "2.1.3")
10994 (source
10995 (origin
10996 (method url-fetch)
10997 (uri (hackage-uri "sdl2-ttf" version))
10998 (sha256
10999 (base32 "0sm5lrdif5wmz3iah1658zlr7yr45d1hfihb2hdxdia4h7z1j0mn"))))
11000 (build-system haskell-build-system)
11001 (properties '((upstream-name . "sdl2-ttf")))
11002 (inputs (list ghc-sdl2 ghc-th-abstraction sdl2 sdl2-ttf))
11003 (native-inputs (list pkg-config))
11004 (home-page "http://hackage.haskell.org/package/sdl2-ttf")
11005 (synopsis "Bindings to SDL2_ttf")
11006 (description "This package provides Haskell bindings to SDL2_ttf C++
11007library.")
11008 (license license:bsd-3)))
11009
11010(define-public ghc-sdl2-gfx
11011 (package
11012 (name "ghc-sdl2-gfx")
11013 (version "0.3.0.0")
11014 (source
11015 (origin
11016 (method url-fetch)
11017 (uri (hackage-uri "sdl2-gfx" version))
11018 (sha256
11019 (base32 "0r9m54ffkp1dv2ffz9i9318qhvpinc76iih7vg1dwq3siwgpxaxw"))))
11020 (build-system haskell-build-system)
11021 (properties '((upstream-name . "sdl2-gfx")))
11022 (inputs (list ghc-lifted-base ghc-monad-control ghc-sdl2 ghc-vector sdl2-gfx sdl2))
11023 (native-inputs (list pkg-config))
11024 (home-page "http://hackage.haskell.org/package/sdl2-gfx")
11025 (synopsis "Haskell bindings to SDL2_gfx")
11026 (description
11027 "This package provides Haskell bindings to the SDL2_gfx graphics
11028library.")
11029 (license license:expat)))
11030
11031(define-public ghc-sdl-image
11032 (package
11033 (name "ghc-sdl-image")
11034 (version "0.6.2.0")
11035 (source
11036 (origin
11037 (method url-fetch)
11038 (uri (hackage-uri "SDL-image" version))
11039 (sha256
11040 (base32
11041 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
11042 (build-system haskell-build-system)
11043 (properties '((upstream-name . "SDL-image")))
11044 (arguments
11045 `(#:configure-flags
11046 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
11047 (sdl-image-include (string-append sdl-image "/include/SDL")))
11048 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
11049 (inputs
11050 (list ghc-sdl sdl-image))
11051 (home-page "https://hackage.haskell.org/package/SDL-image")
11052 (synopsis "Haskell bindings to libSDL_image")
11053 (description "SDL_image is an image file loading library. It loads images
11054as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11055PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11056 (license license:bsd-3)))
11057
11058(define-public ghc-sdl-mixer
11059 (package
11060 (name "ghc-sdl-mixer")
11061 (version "0.6.3.0")
11062 (source
11063 (origin
11064 (method url-fetch)
11065 (uri (hackage-uri "SDL-mixer" version))
11066 (sha256
11067 (base32
11068 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11069 (build-system haskell-build-system)
11070 (properties '((upstream-name . "SDL-mixer")))
11071 (arguments
11072 `(#:configure-flags
11073 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11074 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11075 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11076 (inputs
11077 (list ghc-sdl sdl-mixer))
11078 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11079 (synopsis "Haskell bindings to libSDL_mixer")
11080 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11081supports any number of simultaneously playing channels of 16 bit stereo audio,
11082plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11083MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11084 (license license:bsd-3)))
11085
11086(define-public ghc-securemem
11087 (package
11088 (name "ghc-securemem")
11089 (version "0.1.10")
11090 (source
11091 (origin
11092 (method url-fetch)
11093 (uri (hackage-uri "securemem" version))
11094 (sha256
11095 (base32 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11096 (build-system haskell-build-system)
11097 (properties '((upstream-name . "securemem")))
11098 (inputs (list ghc-byteable ghc-memory))
11099 (home-page "https://github.com/vincenthz/hs-securemem")
11100 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11101Haskell")
11102 (description
11103 "SecureMem is similar to ByteString, except that it provides
11104a memory chunk that will be auto-scrubbed after it run out of scope.")
11105 (license license:bsd-3)))
11106
11107(define-public ghc-semaphore-compat
11108 (package
11109 (name "ghc-semaphore-compat")
11110 (version "1.0.0")
11111 (source
11112 (origin
11113 (method url-fetch)
11114 (uri (hackage-uri "semaphore-compat" version))
11115 (sha256
11116 (base32 "1qnrdqayrdazmsflh37p1igd25nh1cfgn4k1v3jwwb0w0amnyvhw"))))
11117 (build-system haskell-build-system)
11118 (properties '((upstream-name . "semaphore-compat")))
11119 (arguments
11120 `(#:cabal-revision ("4"
11121 "1sgk940k24ig1r50ycz4w79591hqjys4sdmfifgsr6zcq3183zrd")))
11122 (home-page "https://gitlab.haskell.org/ghc/semaphore-compat")
11123 (synopsis "Cross-platform abstraction for system semaphores")
11124 (description
11125 "This package provides a cross-platform implementation of system semaphores that
11126abstracts over the `unix` and `Win32` libraries.")
11127 (license license:bsd-3)))
11128
11129(define-public ghc-semialign
11130 (package
11131 (name "ghc-semialign")
11132 (version "1.3.1")
11133 (source
11134 (origin
11135 (method url-fetch)
11136 (uri (hackage-uri "semialign" version))
11137 (sha256
11138 (base32 "1xwx1icyggjbjflgn75bsqw34dmpsd15qqmz13ljxv7zak17ps36"))))
11139 (build-system haskell-build-system)
11140 (properties '((upstream-name . "semialign")))
11141 (inputs (list ghc-these
11142 ghc-hashable
11143 ghc-indexed-traversable
11144 ghc-indexed-traversable-instances
11145 ghc-tagged
11146 ghc-unordered-containers
11147 ghc-vector
11148 ghc-semigroupoids))
11149 (arguments
11150 `(#:cabal-revision ("2"
11151 "1swx9cwxbgkp9dj49fcqxncq8lx19sh4k9k4hlqgac1jwjlibrfz")))
11152 (home-page "https://github.com/haskellari/these")
11153 (synopsis "Align and Zip type-classes from the common Semialign ancestor")
11154 (description
11155 "The major use of @code{These} of this is provided by the
11156@code{align} member of @code{Semialign} class, representing a
11157generalized notion of \"zipping with padding\" that combines
11158structures without truncating to the size of the smaller input. It
11159turns out that @code{zip} operation fits well the @code{Semialign}
11160class, forming lattice-like structure.")
11161 (license license:bsd-3)))
11162
11163(define-public ghc-semigroupoids
11164 (package
11165 (name "ghc-semigroupoids")
11166 (version "6.0.1")
11167 (source
11168 (origin
11169 (method url-fetch)
11170 (uri (hackage-uri "semigroupoids" version))
11171 (sha256
11172 (base32 "07yc5759y4njlb2f7s2yy3ji9akp7xw03w7nybaga514hqq20lqx"))))
11173 (build-system haskell-build-system)
11174 (properties '((upstream-name . "semigroupoids")))
11175 (inputs (list ghc-base-orphans
11176 ghc-bifunctors
11177 ghc-transformers-compat
11178 ghc-contravariant
11179 ghc-distributive
11180 ghc-comonad
11181 ghc-tagged
11182 ghc-hashable
11183 ghc-unordered-containers))
11184 (arguments
11185 `(#:cabal-revision ("2"
11186 "089c5hjsjm5dnxmdr1059nhy6pmz63123z0hvn6shf40v2k0dvmz")))
11187 (home-page "http://github.com/ekmett/semigroupoids")
11188 (synopsis "Semigroupoids operations for Haskell")
11189 (description
11190 "This library provides a wide array of (semi)groupoids and
11191operations for working with them. A @code{Semigroupoid} is a @code{Category}
11192without the requirement of identity arrows for every object in the category.
11193A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11194Finally, to work with these weaker structures it is beneficial to have
11195containers that can provide stronger guarantees about their contents, so
11196versions of @code{Traversable} and @code{Foldable} that can be folded with
11197just a @code{Semigroup} are added.")
11198 (license license:bsd-2)))
11199
11200(define-public ghc-semigroups
11201 (package
11202 (name "ghc-semigroups")
11203 (version "0.20")
11204 (source
11205 (origin
11206 (method url-fetch)
11207 (uri (hackage-uri "semigroups" version))
11208 (sha256
11209 (base32 "1qbk6scp1rzb69dy8mz26p6az5vi16g2lzwmwnfshh3br4rjwbch"))))
11210 (build-system haskell-build-system)
11211 (properties '((upstream-name . "semigroups")))
11212 (inputs (list ghc-nats ghc-tagged ghc-hashable ghc-unordered-containers
11213 ghc-transformers-compat))
11214 (home-page "http://github.com/ekmett/semigroups/")
11215 (synopsis "Semigroup operations for Haskell")
11216 (description
11217 "This package provides semigroups for Haskell. In
11218mathematics, a semigroup is an algebraic structure consisting of a set
11219together with an associative binary operation. A semigroup generalizes a
11220monoid in that there might not exist an identity element. It
11221also (originally) generalized a group (a monoid with all inverses) to a type
11222where every element did not have to have an inverse, thus the name
11223semigroup.")
11224 (license license:bsd-3)))
11225
11226(define-public ghc-semigroups-bootstrap
11227 (package
11228 (inherit ghc-semigroups)
11229 (name "ghc-semigroups-bootstrap")
11230 (inputs
11231 (list ghc-nats-bootstrap ghc-tagged
11232 ghc-unordered-containers-bootstrap ghc-hashable-bootstrap))
11233 (properties '((hidden? #t)))))
11234
11235(define-public ghc-semirings
11236 (package
11237 (name "ghc-semirings")
11238 (version "0.7")
11239 (source
11240 (origin
11241 (method url-fetch)
11242 (uri (hackage-uri "semirings" version))
11243 (sha256
11244 (base32 "1rjxzs1ypgn50nkniln5bbjkxfphs48y0jvf8b3y4v8r4bi0mj4g"))))
11245 (build-system haskell-build-system)
11246 (properties '((upstream-name . "semirings")))
11247 (inputs (list ghc-hashable ghc-unordered-containers))
11248 (home-page "http://github.com/chessai/semirings")
11249 (synopsis "Two monoids as one, in holy haskimony")
11250 (description
11251 "Haskellers are usually familiar with monoids and semigroups. A monoid has an
11252appending operation @code{<>} (or @code{mappend}), and an identity element,
11253@code{mempty}. A semigroup has an appending @code{<>} operation, but does not
11254require a @code{mempty} element. A Semiring has two appending operations,
11255@code{plus} and @code{times}, and two respective identity elements,
11256@code{zero} and @code{one}. More formally, a Semiring R is a set equipped
11257with two binary relations @code{+} and @code{*}, such that: (R,+) is a
11258commutative monoid with identity element 0, (R,*) is a monoid with identity
11259element 1, (*) left and right distributes over addition, and . multiplication
11260by @code{0} annihilates R.")
11261 (license license:bsd-3)))
11262
11263(define-public ghc-serialise
11264 (package
11265 (name "ghc-serialise")
11266 (version "0.2.6.1")
11267 (source
11268 (origin
11269 (method url-fetch)
11270 (uri (hackage-uri "serialise" version))
11271 (sha256
11272 (base32 "1x3p9vi6daf50xgv5xxjnclqcq9ynqg1qw7af3ppa1nizycrg533"))))
11273 (build-system haskell-build-system)
11274 (properties '((upstream-name . "serialise")))
11275 (inputs (list ghc-cborg
11276 ghc-half
11277 ghc-hashable
11278 ghc-primitive
11279 ghc-strict
11280 ghc-these
11281 ghc-unordered-containers
11282 ghc-vector))
11283 (arguments
11284 `(#:tests? #f ; Tests fail to build with current dependency versions
11285 #:cabal-revision ("5"
11286 "0kfai48gza3zzi3s3ll1gng2wbpdmr5z5isx8snlh49vafsqjzx6")))
11287 (home-page "https://github.com/well-typed/cborg")
11288 (synopsis "Binary serialisation library for Haskell values")
11289 (description
11290 "This package (formerly binary-serialise-cbor) provides pure,
11291efficient serialization of Haskell values directly into ByteStrings for
11292storage or transmission purposes. By providing a set of type class instances,
11293you can also serialise any custom data type you have as well.
11294
11295The underlying binary format used is the 'Concise Binary Object
11296Representation', or CBOR, specified in RFC 7049. As a result, serialised
11297Haskell values have implicit structure outside of the Haskell program itself,
11298meaning they can be inspected or analyzed without custom tools.
11299
11300An implementation of the standard bijection between CBOR and JSON is
11301provided by the https://hackage.haskell.org/package/cborg-json
11302package. Also see https://hackage.haskell.org/package/cbor-tool for a
11303convenient command-line utility for working with CBOR data.")
11304 (license license:bsd-3)))
11305
11306(define-public ghc-setenv
11307 (package
11308 (name "ghc-setenv")
11309 (version "0.1.1.3")
11310 (source
11311 (origin
11312 (method url-fetch)
11313 (uri (hackage-uri "setenv" version))
11314 (sha256
11315 (base32 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11316 (build-system haskell-build-system)
11317 (properties '((upstream-name . "setenv")))
11318 (arguments
11319 `(#:cabal-revision ("1"
11320 "0ny4g3kjys0hqg41mnwrsymy1bwhl8l169kis4y4fa58sb06m4f5")))
11321 (home-page "http://hackage.haskell.org/package/setenv")
11322 (synopsis "Library for setting environment variables")
11323 (description "This package provides a Haskell library for setting
11324environment variables.")
11325 (license license:expat)))
11326
11327(define-public ghc-setlocale
11328 (package
11329 (name "ghc-setlocale")
11330 (version "1.0.0.10")
11331 (source
11332 (origin
11333 (method url-fetch)
11334 (uri (hackage-uri "setlocale" version))
11335 (sha256
11336 (base32 "19rv89jkhq5ic7j5rzpygnmsbzim2mn8ip0m292za613q88gywir"))))
11337 (build-system haskell-build-system)
11338 (properties '((upstream-name . "setlocale")))
11339 (arguments
11340 `(#:cabal-revision ("6"
11341 "18i818q67cxfgz7q8zm6a0z032rh0yjhk375f99jwqh9da2h67fb")))
11342 (home-page "https://gitlab.com/Kritzefitz/haskell-setlocale/")
11343 (synopsis "Haskell bindings to setlocale")
11344 (description "This package provides Haskell bindings to the
11345@code{setlocale} C function.")
11346 (license license:bsd-3)))
11347
11348(define-public ghc-shakespeare
11349 (package
11350 (name "ghc-shakespeare")
11351 (version "2.1.0.1")
11352 (source
11353 (origin
11354 (method url-fetch)
11355 (uri (hackage-uri "shakespeare" version))
11356 (sha256
11357 (base32 "0byj0zhxi1pr8l5f18phzkwcf7z38lyk2zznz8hbkqadfgrmbdkc"))))
11358 (build-system haskell-build-system)
11359 (properties '((upstream-name . "shakespeare")))
11360 (inputs (list ghc-aeson
11361 ghc-blaze-markup
11362 ghc-blaze-html
11363 ghc-file-embed
11364 ghc-vector
11365 ghc-unordered-containers
11366 ghc-scientific
11367 ghc-th-lift))
11368 (native-inputs (list ghc-hspec ghc-hunit hspec-discover))
11369 (home-page "http://www.yesodweb.com/book/shakespearean-templates")
11370 (synopsis "Family of type-safe template languages for Haskell")
11371 (description
11372 "This Haskell package provides a family of type-safe
11373templates with simple variable interpolation. Shakespeare templates can
11374be used inline with a quasi-quoter or in an external file and it
11375interpolates variables according to the type being inserted.")
11376 (license license:expat)))
11377
11378(define-public ghc-shelly
11379 (package
11380 (name "ghc-shelly")
11381 (version "1.12.1.1")
11382 (source
11383 (origin
11384 (method url-fetch)
11385 (uri (hackage-uri "shelly" version))
11386 (sha256
11387 (base32 "16fy3mgky92w85g4vhnl3xf9bxjil3kc2vh85qy85jg2kz5mw208"))))
11388 (build-system haskell-build-system)
11389 (properties '((upstream-name . "shelly")))
11390 (inputs (list ghc-async
11391 ghc-enclosed-exceptions
11392 ghc-lifted-base
11393 ghc-monad-control
11394 ghc-transformers-base
11395 ghc-unix-compat))
11396 (native-inputs (list ghc-lifted-async ghc-hspec ghc-hspec-contrib
11397 ghc-hunit))
11398 (home-page "https://github.com/gregwebs/Shelly.hs")
11399 (synopsis "Shell-like (systems) programming in Haskell")
11400 (description
11401 "Shelly provides convenient systems programming in Haskell, similar in
11402spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11403 (license license:bsd-3)))
11404
11405(define-public ghc-silently
11406 (package
11407 (name "ghc-silently")
11408 (version "1.2.5.4")
11409 (source
11410 (origin
11411 (method url-fetch)
11412 (uri (hackage-uri "silently" version))
11413 (sha256
11414 (base32 "0vkl2998n3g3vnzh08vp2lnaavdfk14n0wf7gl04n061cn4n08sy"))))
11415 (build-system haskell-build-system)
11416 (properties '((upstream-name . "silently")))
11417 (native-inputs (list ghc-nanospec ghc-temporary ghc-nanospec ghc-temporary))
11418 (home-page "https://github.com/hspec/silently")
11419 (synopsis "Prevent writing to stdout")
11420 (description "This package provides functions to prevent or capture
11421writing to stdout and other handles.")
11422 (license license:bsd-3)))
11423
11424(define-public ghc-silently-bootstrap
11425 (package
11426 (inherit ghc-silently)
11427 (name "ghc-silently-bootstrap")
11428 (arguments `(#:tests? #f))
11429 (native-inputs '())
11430 (properties '((hidden? #t)))))
11431
11432(define-public ghc-simple-get-opt
11433 (package
11434 (name "ghc-simple-get-opt")
11435 (version "0.5")
11436 (source
11437 (origin
11438 (method url-fetch)
11439 (uri (hackage-uri "simple-get-opt" version))
11440 (sha256
11441 (base32 "0mprf5fw691sfv35y48mf8lxl5i9i8qr8rxygdbnzsyq7vz4ndb1"))))
11442 (build-system haskell-build-system)
11443 (properties '((upstream-name . "simple-get-opt")))
11444 (home-page "https://github.com/yav/simple-get-opt")
11445 (synopsis "Simple library for processing command-line options")
11446 (description
11447 "This package provides a simple library for processing command-line options.
11448The library captures a common usage pattern of the @code{GetOpt} module form the
11449standard library.")
11450 (license license:bsd-3)))
11451
11452(define-public ghc-simple-smt
11453 (package
11454 (name "ghc-simple-smt")
11455 (version "1.0.1")
11456 (source
11457 (origin
11458 (method url-fetch)
11459 (uri (hackage-uri "simple-smt" version))
11460 (sha256
11461 (base32 "0iw0kg4ga5g393x4j9xqgrlr6mzwm5xdjg9mjp7jc2q7igrfcx5z"))))
11462 (build-system haskell-build-system)
11463 (properties '((upstream-name . "simple-smt")))
11464 (inputs (list ghc-simple-get-opt))
11465 (home-page "https://github.com/yav/simple-smt")
11466 (synopsis "Simple library to interact with SMT solvers via SMT-LIB")
11467 (description
11468 "This package provides a simple library to interact with an external
11469@acronym{SMT, satisfiability modulo theories} solver (such as @code{z3})
11470via the standardized @url{https://smt-lib.org, SMT-LIB} format.")
11471 (license license:bsd-3)))
11472
11473(define-public ghc-simple-reflect
11474 (package
11475 (name "ghc-simple-reflect")
11476 (version "0.3.3")
11477 (source
11478 (origin
11479 (method url-fetch)
11480 (uri (hackage-uri "simple-reflect" version))
11481 (sha256
11482 (base32 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11483 (build-system haskell-build-system)
11484 (properties '((upstream-name . "simple-reflect")))
11485 (home-page
11486 "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11487 (synopsis "Simple reflection of expressions containing variables")
11488 (description
11489 "This package allows simple reflection of expressions containing
11490variables. Reflection here means that a Haskell expression is turned into a
11491string. The primary aim of this package is teaching and understanding; there
11492are no options for manipulating the reflected expressions beyond showing
11493them.")
11494 (license license:bsd-3)))
11495
11496(define-public ghc-simple-sendfile
11497 (package
11498 (name "ghc-simple-sendfile")
11499 (version "0.2.32")
11500 (source
11501 (origin
11502 (method url-fetch)
11503 (uri (hackage-uri "simple-sendfile" version))
11504 (sha256
11505 (base32 "18r8d1in3x9r1p9fmvmypf9922icjbm1ksvqvp95dnf3gakd0a4z"))))
11506 (build-system haskell-build-system)
11507 (properties '((upstream-name . "simple-sendfile")))
11508 (inputs (list ghc-network))
11509 (native-inputs (list ghc-hunit
11510 ghc-conduit
11511 ghc-conduit-extra
11512 ghc-easy-file
11513 ghc-hspec
11514 hspec-discover
11515 ghc-resourcet))
11516 (home-page "http://hackage.haskell.org/package/simple-sendfile")
11517 (synopsis "Cross platform library for the sendfile system call")
11518 (description "This library tries to call minimum system calls which
11519are the bottleneck of web servers.")
11520 (license license:bsd-3)))
11521
11522(define-public ghc-size-based
11523 (package
11524 (name "ghc-size-based")
11525 (version "0.1.3.3")
11526 (source
11527 (origin
11528 (method url-fetch)
11529 (uri (hackage-uri "size-based" version))
11530 (sha256
11531 (base32 "1xc31iy57v9hm97hhr26ws2wwsf56gczwnq7q8ckiy5pgw6fmr1g"))))
11532 (build-system haskell-build-system)
11533 (properties '((upstream-name . "size-based")))
11534 (inputs (list ghc-dictionary-sharing ghc-testing-type-modifiers))
11535 (arguments
11536 `(#:cabal-revision ("1"
11537 "0idqj2k42anjwaq0zi6x7iz9jbwy6z3q1zjiml44v2ak21dswxga")))
11538 (home-page "http://hackage.haskell.org/package/size-based")
11539 (synopsis "Sized functors for size-based enumerations")
11540 (description "This library provides a framework for size-based
11541enumerations.")
11542 (license license:bsd-3)))
11543
11544(define-public ghc-skylighting-core
11545 (package
11546 (name "ghc-skylighting-core")
11547 (version "0.14.6")
11548 (source
11549 (origin
11550 (method url-fetch)
11551 (uri (hackage-uri "skylighting-core" version))
11552 (sha256
11553 (base32 "1zvdgrqqr9xlbnrrp2lbrxqdbpjl11j13qbpibp5rl3y5azqn89y"))))
11554 (build-system haskell-build-system)
11555 (properties '((upstream-name . "skylighting-core")))
11556 (inputs (list ghc-aeson
11557 ghc-case-insensitive
11558 ghc-attoparsec
11559 ghc-utf8-string
11560 ghc-xml-conduit
11561 ghc-safe
11562 ghc-base64-bytestring
11563 ghc-colour))
11564 (native-inputs (list ghc-tasty
11565 ghc-tasty-golden
11566 ghc-tasty-hunit
11567 ghc-tasty-quickcheck
11568 ghc-quickcheck
11569 ghc-diff
11570 ghc-pretty-show))
11571 (arguments
11572 `(#:cabal-revision ("1"
11573 "0yz5yjvllkxwjzdg7jhm7ma8lv7ymwy3cl4myv0j4krgp30lcdc8")))
11574 (home-page "https://github.com/jgm/skylighting")
11575 (synopsis "Syntax highlighting library")
11576 (description
11577 "Skylighting is a syntax highlighting library with support
11578for over one hundred languages. It derives its tokenizers from XML syntax
11579definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11580supported by that framework can be added. An optional command-line program is
11581provided. Skylighting is intended to be the successor to highlighting-kate.")
11582 (license license:bsd-3)))
11583
11584(define-public ghc-skylighting-format-blaze-html
11585 (package
11586 (name "ghc-skylighting-format-blaze-html")
11587 (version "0.1.1.3")
11588 (source
11589 (origin
11590 (method url-fetch)
11591 (uri (hackage-uri "skylighting-format-blaze-html" version))
11592 (sha256
11593 (base32 "1rjjfcnq1395zmgxv123yy3khia7swrhcr77h8lg4h5jxgm2rs24"))))
11594 (build-system haskell-build-system)
11595 (properties '((upstream-name . "skylighting-format-blaze-html")))
11596 (inputs (list ghc-skylighting-core ghc-blaze-html))
11597 (home-page "https://github.com/jgm/skylighting")
11598 (synopsis "HTML formatter for skylighting syntax highlighting library")
11599 (description
11600 "This module allows tokens produced by skylighting-core to be rendered as HTML.")
11601 (license license:bsd-3)))
11602
11603(define-public ghc-skylighting-format-latex
11604 (package
11605 (name "ghc-skylighting-format-latex")
11606 (version "0.1")
11607 (source
11608 (origin
11609 (method url-fetch)
11610 (uri (hackage-uri "skylighting-format-latex" version))
11611 (sha256
11612 (base32 "0y7v5aifwar24i976pw32scfdywjwy2ad05ajhdf8l84nsd6rdlp"))))
11613 (build-system haskell-build-system)
11614 (properties '((upstream-name . "skylighting-format-latex")))
11615 (inputs (list ghc-skylighting-core))
11616 (home-page "https://github.com/jgm/skylighting")
11617 (synopsis "LaTeX formatter for skylighting syntax highlighting library")
11618 (description
11619 "This module allows tokens produced by skylighting-core to be rendered as LaTeX
11620macros.")
11621 (license license:bsd-3)))
11622
11623(define-public ghc-skylighting-format-context
11624 (package
11625 (name "ghc-skylighting-format-context")
11626 (version "0.1.0.2")
11627 (source
11628 (origin
11629 (method url-fetch)
11630 (uri (hackage-uri "skylighting-format-context" version))
11631 (sha256
11632 (base32 "1gc8pjbhd1npka22m5m7s5333jcqxskgzmqj17m95dl97phi6hh0"))))
11633 (build-system haskell-build-system)
11634 (properties '((upstream-name . "skylighting-format-context")))
11635 (inputs (list ghc-skylighting-core))
11636 (home-page "https://github.com/jgm/skylighting")
11637 (synopsis "ConTeXt formatter for skylighting syntax highlighting library")
11638 (description
11639 "This module allows tokens produced by skylighting-core to be rendered as ConTeXt
11640commands.")
11641 (license license:bsd-3)))
11642
11643(define-public ghc-skylighting-format-ansi
11644 (package
11645 (name "ghc-skylighting-format-ansi")
11646 (version "0.1")
11647 (source
11648 (origin
11649 (method url-fetch)
11650 (uri (hackage-uri "skylighting-format-ansi" version))
11651 (sha256
11652 (base32 "16qavv10g5yqwi60axj7q595ll605vmnfjgdxyi029nd5rnaipr3"))))
11653 (build-system haskell-build-system)
11654 (properties '((upstream-name . "skylighting-format-ansi")))
11655 (inputs (list ghc-skylighting-core ghc-ansi-terminal ghc-colour))
11656 (home-page "https://github.com/jgm/skylighting")
11657 (synopsis "ANSI formatter for skylighting syntax highlighting library")
11658 (description
11659 "This module allows tokens produced by skylighting-core to be rendered as ANSI
11660colored text.")
11661 (license license:bsd-3)))
11662
11663(define-public ghc-skylighting-format-typst
11664 (package
11665 (name "ghc-skylighting-format-typst")
11666 (version "0.1")
11667 (source
11668 (origin
11669 (method url-fetch)
11670 (uri (hackage-uri "skylighting-format-typst" version))
11671 (sha256
11672 (base32 "1r1cczzi2in239a474ikbaf0x0y5yz2p8ik4nyzihs3gjzdx4k4r"))))
11673 (build-system haskell-build-system)
11674 (properties '((upstream-name . "skylighting-format-typst")))
11675 (inputs (list ghc-skylighting-core))
11676 (home-page "https://github.com/jgm/skylighting")
11677 (synopsis "Typst formatter for skylighting syntax highlighting library")
11678 (description
11679 "This module allows tokens produced by skylighting-core to be rendered as Typst.")
11680 (license license:bsd-3)))
11681
11682(define-public ghc-skylighting
11683 (package
11684 (name "ghc-skylighting")
11685 (version "0.14.6")
11686 (source
11687 (origin
11688 (method url-fetch)
11689 (uri (hackage-uri "skylighting" version))
11690 (sha256
11691 (base32 "1g73jsxq4ybbghiqyrs3aly5km90qsmp2yvyp399hr7f7pjkpqza"))))
11692 (build-system haskell-build-system)
11693 (properties '((upstream-name . "skylighting")))
11694 (inputs (list ghc-skylighting-core
11695 ghc-skylighting-format-ansi
11696 ghc-skylighting-format-context
11697 ghc-skylighting-format-latex
11698 ghc-skylighting-format-blaze-html
11699 ghc-skylighting-format-typst
11700 ghc-pretty-show
11701 ghc-blaze-html))
11702 (home-page "https://github.com/jgm/skylighting")
11703 (synopsis "Syntax highlighting library")
11704 (description
11705 "Skylighting is a syntax highlighting library with support for over one hundred
11706languages. It derives its tokenizers from XML syntax definitions used by KDE's
11707KSyntaxHighlighting framework, so any syntax supported by that framework can be
11708added. An optional command-line program is provided. Skylighting is intended
11709to be the successor to highlighting-kate. This package provides generated
11710syntax modules based on the KDE XML definitions provided by the
11711@code{skylighting-core} package.")
11712 (license license:gpl2)))
11713
11714(define-public ghc-smallcheck
11715 (package
11716 (name "ghc-smallcheck")
11717 (version "1.2.1.1")
11718 (source
11719 (origin
11720 (method url-fetch)
11721 (uri (hackage-uri "smallcheck" version))
11722 (sha256
11723 (base32 "07zyb3hnq242mdwak5briqc48wakp9pjsfizl78l06070i824hz0"))))
11724 (build-system haskell-build-system)
11725 (properties '((upstream-name . "smallcheck")))
11726 (inputs (list ghc-logict ghc-semigroups ghc-nats ghc-void))
11727 (home-page "https://github.com/Bodigrim/smallcheck")
11728 (synopsis "Property-based testing library")
11729 (description
11730 "SmallCheck is a testing library that verifies
11731properties for all test cases up to some depth. The test cases are generated
11732automatically by SmallCheck.")
11733 (license license:bsd-3)))
11734
11735(define-public ghc-socks
11736 (package
11737 (name "ghc-socks")
11738 (version "0.6.1")
11739 (source
11740 (origin
11741 (method url-fetch)
11742 (uri (hackage-uri "socks" version))
11743 (sha256
11744 (base32 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
11745 (build-system haskell-build-system)
11746 (properties '((upstream-name . "socks")))
11747 (inputs (list ghc-cereal ghc-network ghc-basement))
11748 (home-page "http://github.com/vincenthz/hs-socks")
11749 (synopsis "SOCKS proxy (version 5) implementation")
11750 (description
11751 "This library provides a SOCKS proxy (version 5) implementation.")
11752 (license license:bsd-3)))
11753
11754(define-public ghc-sop-core
11755 (package
11756 (name "ghc-sop-core")
11757 (version "0.5.0.2")
11758 (source
11759 (origin
11760 (method url-fetch)
11761 (uri (hackage-uri "sop-core" version))
11762 (sha256
11763 (base32 "0rbj56icbaqlcxx5xwvbx4n4vmyv6cfcv7s45n1fv3drahigvgw7"))))
11764 (build-system haskell-build-system)
11765 (properties '((upstream-name . "sop-core")))
11766 (arguments
11767 `(#:cabal-revision ("5"
11768 "0kls940ickggjbib991d2f5hfcci0v7bgx8977gq0ca2zyplrdqb")))
11769 (home-page "http://hackage.haskell.org/package/sop-core")
11770 (synopsis "True Sums of Products")
11771 (description
11772 "This package provides an implementation of
11773@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11774is the main module of this library and contains more detailed
11775documentation. The main use case of this package is to serve as the
11776core of @url{https://hackage.haskell.org/package/generics-sop,
11777generics-sop}.")
11778 (license license:bsd-3)))
11779
11780(define-public ghc-special-values
11781 (package
11782 (name "ghc-special-values")
11783 (version "0.1.0.0")
11784 (source
11785 (origin
11786 (method url-fetch)
11787 (uri (hackage-uri "special-values" version))
11788 (sha256
11789 (base32 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11790 (build-system haskell-build-system)
11791 (properties '((upstream-name . "special-values")))
11792 (inputs (list ghc-scientific ghc-ieee754 ghc-nats))
11793 (arguments
11794 `(#:cabal-revision ("3"
11795 "1g9bcyawr0dvbn0402fh90fiv8bhpblxman9lk9q9b5c8k35x1ga")))
11796 (home-page "https://github.com/minad/special-values#readme")
11797 (synopsis "Typeclass providing special values")
11798 (description
11799 "Special values are provided by a SpecialValues typeclass. Those can be
11800used for example by QuickCheck, see quickcheck-special.")
11801 (license license:expat)))
11802
11803(define-public ghc-split
11804 (package
11805 (name "ghc-split")
11806 (version "0.2.5")
11807 (source
11808 (origin
11809 (method url-fetch)
11810 (uri (hackage-uri "split" version))
11811 (sha256
11812 (base32 "04x9figcib2zwki2rk29i2n5r73ykbyx9j2lhcisphcphd741njj"))))
11813 (build-system haskell-build-system)
11814 (properties '((upstream-name . "split")))
11815 (native-inputs (list ghc-quickcheck))
11816 (home-page "http://hackage.haskell.org/package/split")
11817 (synopsis "Combinator library for splitting lists")
11818 (description
11819 "This package provides a collection of Haskell functions for
11820splitting lists into parts, akin to the @code{split} function found in several
11821mainstream languages.")
11822 (license license:bsd-3)))
11823
11824(define-public ghc-splitmix
11825 (package
11826 (name "ghc-splitmix")
11827 (version "0.1.3.1")
11828 (source
11829 (origin
11830 (method url-fetch)
11831 (uri (hackage-uri "splitmix" version))
11832 (sha256
11833 (base32 "0w32z3rhsnijb9s5k6h60rhbzgzkw8xq1glfbjbl1znlkgbx1g5n"))))
11834 (build-system haskell-build-system)
11835 (properties '((upstream-name . "splitmix")))
11836 (native-inputs (list ghc-hunit
11837 ghc-math-functions
11838 ghc-test-framework
11839 ghc-test-framework-hunit
11840 ghc-async
11841 ghc-random
11842 ghc-tf-random
11843 ghc-vector
11844 ghc-base-compat-batteries
11845 testu01))
11846 (home-page "http://hackage.haskell.org/package/splitmix")
11847 (synopsis "Fast and splittable pseudorandom number generator")
11848 (description
11849 "This package provides a Pure Haskell implementation of the
11850SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11851pseudorandom number generator that is quite fast: 9 64-bit
11852arithmetic/logical operations per 64 bits generated. SplitMix is tested
11853with two standard statistical test suites (DieHarder and TestU01, this
11854implementation only using the former) and it appears to be adequate for
11855\"everyday\" use, such as Monte Carlo algorithms and randomized data
11856structures where speed is important. In particular, it @strong{should not
11857be used for cryptographic or security applications}, because generated
11858sequences of pseudorandom values are too predictable (the mixing functions
11859are easily inverted, and two successive outputs suffice to reconstruct the
11860internal state).")
11861 (license license:bsd-3)))
11862
11863(define-public ghc-splitmix-bootstrap
11864 (package
11865 (inherit ghc-splitmix)
11866 (name "ghc-splitmix-bootstrap")
11867 (arguments `(#:tests? #f))
11868 (native-inputs '())
11869 (properties '((hidden? #t)))))
11870
11871(define-public ghc-spoon
11872 (package
11873 (name "ghc-spoon")
11874 (version "0.3.1")
11875 (source
11876 (origin
11877 (method url-fetch)
11878 (uri (hackage-uri "spoon" version))
11879 (sha256
11880 (base32 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11881 (build-system haskell-build-system)
11882 (properties '((upstream-name . "spoon")))
11883 (arguments
11884 `(#:cabal-revision ("1"
11885 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11886 (home-page "http://hackage.haskell.org/package/spoon")
11887 (synopsis "Catch errors thrown from pure computations")
11888 (description
11889 "Takes an error-throwing expression and puts it back in the Maybe it
11890belongs in.
11891
11892Note that this suffers from the
11893@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11894 (license license:bsd-3)))
11895
11896(define-public ghc-statevar
11897 (package
11898 (name "ghc-statevar")
11899 (version "1.2.2")
11900 (source
11901 (origin
11902 (method url-fetch)
11903 (uri (hackage-uri "StateVar" version))
11904 (sha256
11905 (base32 "098q4lk60najzpbfal4bg4sh7izxm840aa5h4ycaamjn77d3jjsy"))))
11906 (build-system haskell-build-system)
11907 (properties '((upstream-name . "StateVar")))
11908 (home-page "https://github.com/haskell-opengl/StateVar")
11909 (synopsis "State variables for Haskell")
11910 (description
11911 "This package provides state variables, which are references
11912in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11913 (license license:bsd-3)))
11914
11915(define-public ghc-statistics
11916 (package
11917 (name "ghc-statistics")
11918 (version "0.16.3.0")
11919 (source
11920 (origin
11921 (method url-fetch)
11922 (uri (hackage-uri "statistics" version))
11923 (sha256
11924 (base32 "1rx1dckaj54hzx03zqf4rz43hp80rxxgi8dp31rwy9qjckk4dv03"))))
11925 (build-system haskell-build-system)
11926 (properties '((upstream-name . "statistics")))
11927 (inputs (list ghc-math-functions
11928 ghc-mwc-random
11929 ghc-random
11930 ghc-aeson
11931 ghc-async
11932 ghc-primitive
11933 ghc-dense-linear-algebra
11934 ghc-parallel
11935 ghc-vector
11936 ghc-vector-algorithms
11937 ghc-vector-th-unbox
11938 ghc-vector-binary-instances
11939 ghc-data-default-class))
11940 (native-inputs (list ghc-quickcheck
11941 ghc-erf
11942 ghc-ieee754
11943 ghc-tasty
11944 ghc-tasty-hunit
11945 ghc-tasty-quickcheck
11946 ghc-tasty-expected-failure
11947 ghc-doctest))
11948 (arguments
11949 (list
11950 #:cabal-revision
11951 '("1" "1996zyq4n7c5zh36h3nhzx5xyd7z6fa3mqsldrgii56g7ixq1rkz")
11952 #:phases
11953 #~(modify-phases %standard-phases
11954 (replace 'check
11955 (lambda* (#:key tests? #:allow-other-keys)
11956 (if tests?
11957 (let* ((tmpdir (or (getenv "TMP")
11958 "/tmp"))
11959 (dependency-package-db
11960 (string-append tmpdir "/package.conf.d")))
11961 (invoke "runhaskell" "Setup.hs" "test" "statistics-tests")
11962 (setenv "GHC_PACKAGE_PATH" dependency-package-db)
11963 (invoke "./dist/build/statistics-doctests/statistics-doctests")
11964 (unsetenv "GHC_PACKAGE_PATH"))
11965 (format #t "Testsuite not run.%~")))))))
11966 (home-page "https://github.com/haskell/statistics")
11967 (synopsis "Haskell library of statistical types, data, and functions")
11968 (description
11969 "This library provides a number of common functions
11970and types useful in statistics. We focus on high performance, numerical
11971robustness, and use of good algorithms. Where possible, we provide references
11972to the statistical literature.
11973
11974The library's facilities can be divided into four broad categories:
11975
11976@itemize
11977@item Working with widely used discrete and continuous probability
11978distributions. (There are dozens of exotic distributions in use; we focus
11979on the most common.)
11980
11981@item Computing with sample data: quantile estimation, kernel density
11982estimation, histograms, bootstrap methods, significance testing,
11983and regression and autocorrelation analysis.
11984
11985@item Random variate generation under several different distributions.
11986
11987@item Common statistical tests for significant differences between samples.
11988@end itemize")
11989 (license license:bsd-2)))
11990
11991(define-public ghc-stm-chans
11992 (package
11993 (name "ghc-stm-chans")
11994 (version "3.0.0.9")
11995 (source
11996 (origin
11997 (method url-fetch)
11998 (uri (hackage-uri "stm-chans" version))
11999 (sha256
12000 (base32 "0p9jq5fq3g77kf2kq807zrwqpw0z9a6zhw57h21wk4yb6zshs1ks"))))
12001 (build-system haskell-build-system)
12002 (properties '((upstream-name . "stm-chans")))
12003 (home-page "https://wrengr.org/software/hackage.html")
12004 (synopsis "Additional types of channels for ghc-stm")
12005 (description
12006 "This Haskell package offers a collection of channel types,
12007similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
12008features.")
12009 (license license:bsd-3)))
12010
12011(define-public ghc-stm-conduit
12012 (package
12013 (name "ghc-stm-conduit")
12014 (version "4.0.1")
12015 (source
12016 (origin
12017 (method url-fetch)
12018 (uri (hackage-uri "stm-conduit" version))
12019 (sha256
12020 (base32 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
12021 (build-system haskell-build-system)
12022 (properties '((upstream-name . "stm-conduit")))
12023 (inputs (list ghc-stm-chans
12024 ghc-cereal
12025 ghc-cereal-conduit
12026 ghc-conduit
12027 ghc-conduit-extra
12028 ghc-resourcet
12029 ghc-async
12030 ghc-monad-loops
12031 ghc-unliftio))
12032 (native-inputs (list ghc-doctest
12033 ghc-quickcheck
12034 ghc-hunit
12035 ghc-test-framework
12036 ghc-test-framework-hunit
12037 ghc-test-framework-quickcheck2))
12038 (arguments
12039 `(#:cabal-revision ("1"
12040 "1iyk2wfkpyq3jn0lybgf21b95rmkzgpvr8m066j06z4xngcvab36")))
12041 (home-page "https://github.com/cgaebel/stm-conduit")
12042 (synopsis
12043 "Introduces conduits to channels and promotes using conduits concurrently")
12044 (description
12045 "This package provides two simple conduit wrappers around STM channels: a
12046source and a sink.")
12047 (license license:bsd-3)))
12048
12049(define-public ghc-stm-delay
12050 (package
12051 (name "ghc-stm-delay")
12052 (version "0.1.1.2")
12053 (source
12054 (origin
12055 (method url-fetch)
12056 (uri (hackage-uri "stm-delay" version))
12057 (sha256
12058 (base32 "0k60cpqzqy8c6xk5qw5135a7hlxnh670kb7fhjmz819hsi1n7vq5"))))
12059 (build-system haskell-build-system)
12060 (properties '((upstream-name . "stm-delay")))
12061 (native-inputs (list ghc-async ghc-async))
12062 (home-page "https://github.com/joeyadams/haskell-stm-delay")
12063 (synopsis "Updatable one-shot timer polled with STM")
12064 (description
12065 "This library lets you create a one-shot timer, poll it using STM, and
12066update it to ring at a different time than initially specified. It uses GHC
12067event manager timeouts when available, yielding performance similar to
12068@code{threadDelay} and @code{registerDelay}. Otherwise, it falls back to
12069forked threads and @code{threadDelay}.")
12070 (license license:bsd-3)))
12071
12072(define-public ghc-stmonadtrans
12073 (package
12074 (name "ghc-stmonadtrans")
12075 (version "0.4.8.1")
12076 (source
12077 (origin
12078 (method url-fetch)
12079 (uri (hackage-uri "STMonadTrans" version))
12080 (sha256
12081 (base32 "0559yqgkcs520bhipf9pxy6rc7ydy9m48yj5s233g67g83k1ya3v"))))
12082 (build-system haskell-build-system)
12083 (properties '((upstream-name . "STMonadTrans")))
12084 (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
12085 (home-page "https://github.com/josefs/STMonadTrans")
12086 (synopsis "Monad transformer version of the ST monad")
12087 (description
12088 "This package provides a monad transformer version of the @code{ST} monad
12089for strict state threads.")
12090 (license license:bsd-3)))
12091
12092(define-public ghc-storable-complex
12093 (package
12094 (name "ghc-storable-complex")
12095 (version "0.2.3.0")
12096 (source
12097 (origin
12098 (method url-fetch)
12099 (uri (hackage-uri "storable-complex" version))
12100 (sha256
12101 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
12102 (build-system haskell-build-system)
12103 (properties '((upstream-name . "storable-complex")))
12104 (inputs (list ghc-base-orphans))
12105 (home-page "https://github.com/cartazio/storable-complex")
12106 (synopsis "Haskell Storable instance for Complex")
12107 (description
12108 "This package provides a Haskell library including a
12109Storable instance for Complex which is binary compatible with C99, C++
12110and Fortran complex data types.")
12111 (license license:bsd-3)))
12112
12113(define-public ghc-storable-record
12114 (package
12115 (name "ghc-storable-record")
12116 (version "0.0.7")
12117 (source
12118 (origin
12119 (method url-fetch)
12120 (uri (hackage-uri "storable-record" version))
12121 (sha256
12122 (base32 "1c1f58v13nxpq2ix30d2kpvsamk44apl6ms1a2pq54fkjk44didy"))))
12123 (build-system haskell-build-system)
12124 (properties '((upstream-name . "storable-record")))
12125 (inputs (list ghc-quickcheck ghc-semigroups ghc-utility-ht
12126 ghc-storablevector ghc-timeit))
12127 (home-page "http://code.haskell.org/~thielema/storable-record/")
12128 (synopsis "Elegant definition of Storable instances for records")
12129 (description
12130 "With this package you can build a Storable instance of
12131a record type from Storable instances of its elements in an elegant way.
12132It does not do any magic, just a bit arithmetic to compute the right
12133offsets, that would be otherwise done manually or by a preprocessor like
12134C2HS. There is no guarantee that the generated memory layout is
12135compatible with that of a corresponding C struct. However, the module
12136generates the smallest layout that is possible with respect to the
12137alignment of the record elements.")
12138 (license license:bsd-3)))
12139
12140(define-public ghc-storable-tuple
12141 (package
12142 (name "ghc-storable-tuple")
12143 (version "0.1")
12144 (source
12145 (origin
12146 (method url-fetch)
12147 (uri (hackage-uri "storable-tuple" version))
12148 (sha256
12149 (base32 "0g2rhqxrl1yjvvqwxmfgflgyyrds0kkcvzjjmwk07mir8aj4yjq3"))))
12150 (build-system haskell-build-system)
12151 (properties '((upstream-name . "storable-tuple")))
12152 (inputs (list ghc-storable-record ghc-utility-ht ghc-base-orphans))
12153 (home-page "http://code.haskell.org/~thielema/storable-tuple/")
12154 (synopsis "Storable instance for pairs and triples")
12155 (description
12156 "This package provides a Storable instance for pairs
12157and triples which should be binary compatible with C99 and C++. The
12158only purpose of this package is to provide a standard location for this
12159instance so that other packages needing this instance can play nicely
12160together.")
12161 (license license:bsd-3)))
12162
12163(define-public ghc-storablevector
12164 (package
12165 (name "ghc-storablevector")
12166 (version "0.2.13.2")
12167 (source
12168 (origin
12169 (method url-fetch)
12170 (uri (hackage-uri "storablevector" version))
12171 (sha256
12172 (base32 "03nq5930yjpdvnyh93pjxzh3xjsracnnzcyqc0j3yiwadggbjy35"))))
12173 (build-system haskell-build-system)
12174 (properties '((upstream-name . "storablevector")))
12175 (inputs (list ghc-non-negative
12176 ghc-utility-ht
12177 ghc-semigroups
12178 ghc-unsafe
12179 ghc-quickcheck
12180 ghc-syb))
12181 (native-inputs (list ghc-random))
12182 (arguments
12183 `(#:cabal-revision ("1"
12184 "0rc3y0sw2lf92cxhrbpcypb7hp4s4cspj81ragcs6sxvf0jj79j2")))
12185 (home-page "http://www.haskell.org/haskellwiki/Storable_Vector")
12186 (synopsis "Fast, packed, strict storable arrays with a list interface")
12187 (description
12188 "This library provides fast, packed, strict storable
12189arrays with a list interface, a chunky lazy list interface with variable
12190chunk size and an interface for write access via the ST monad. This is
12191much like bytestring and binary but can be used for every
12192@code{Foreign.Storable.Storable} type. See also
12193@url{https://hackage.haskell.org/package/vector}, a library with a
12194similar intention.
12195
12196This library does not do advanced fusion optimization, since especially
12197for lazy vectors this would either be incorrect or not applicable. See
12198@url{https://hackage.haskell.org/package/storablevector-streamfusion} for
12199a library that provides fusion with lazy lists.")
12200 (license license:bsd-3)))
12201
12202(define-public ghc-streaming-commons
12203 (package
12204 (name "ghc-streaming-commons")
12205 (version "0.2.3.0")
12206 (source
12207 (origin
12208 (method url-fetch)
12209 (uri (hackage-uri "streaming-commons" version))
12210 (sha256
12211 (base32 "0mqyxdikd76q0ls5lz0bfdwzqhyvf8hwxl5x1c5lgfas3zwllf16"))))
12212 (build-system haskell-build-system)
12213 (properties '((upstream-name . "streaming-commons")))
12214 (inputs (list ghc-async ghc-network ghc-random ghc-zlib))
12215 (native-inputs (list ghc-hspec ghc-quickcheck hspec-discover))
12216 (home-page "https://github.com/fpco/streaming-commons")
12217 (synopsis "Conduit and pipes needed by some streaming data libraries")
12218 (description
12219 "This package provides low-dependency functionality commonly
12220needed by various Haskell streaming data libraries, such as @code{conduit} and
12221@code{pipe}s.")
12222 (license license:expat)))
12223
12224(define-public ghc-strict
12225 (package
12226 (name "ghc-strict")
12227 (version "0.5.1")
12228 (source
12229 (origin
12230 (method url-fetch)
12231 (uri (hackage-uri "strict" version))
12232 (sha256
12233 (base32 "12rgzrxb1dz5qb1sqmwdyiyhxbpa5rrzlyr293ki4qx8qa094wbp"))))
12234 (build-system haskell-build-system)
12235 (properties '((upstream-name . "strict")))
12236 (inputs (list ghc-assoc ghc-hashable ghc-these))
12237 (arguments
12238 `(#:cabal-revision ("1"
12239 "1wh1p76sahrzqd58kdlvk85c38cr7w3ib33cb95bp33lqyvp7hsq")))
12240 (home-page "https://github.com/haskell-strict/strict")
12241 (synopsis "Strict data types and String IO")
12242 (description
12243 "This package provides strict versions of some standard Haskell data
12244types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12245IO operations.")
12246 (license license:bsd-3)))
12247
12248(define-public ghc-stringbuilder
12249 (package
12250 (name "ghc-stringbuilder")
12251 (version "0.5.1")
12252 (source
12253 (origin
12254 (method url-fetch)
12255 (uri (hackage-uri "stringbuilder" version))
12256 (sha256
12257 (base32 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12258 (build-system haskell-build-system)
12259 (properties '((upstream-name . "stringbuilder")))
12260 (native-inputs (list ghc-hspec ghc-quickcheck))
12261 (home-page "http://hackage.haskell.org/package/stringbuilder")
12262 (synopsis "Writer monad for multi-line string literals")
12263 (description "This package provides a writer monad for multi-line string
12264literals.")
12265 (license license:expat)))
12266
12267(define-public ghc-string-interpolate
12268 (package
12269 (name "ghc-string-interpolate")
12270 (version "0.3.4.0")
12271 (source
12272 (origin
12273 (method url-fetch)
12274 (uri (hackage-uri "string-interpolate" version))
12275 (sha256
12276 (base32 "13hb3spabggr6gsn9xhwpwldjvpl2l7z4lgssis82c40n108b0w8"))))
12277 (build-system haskell-build-system)
12278 (properties '((upstream-name . "string-interpolate")))
12279 (inputs (list ghc-split ghc-haskell-src-exts ghc-haskell-src-meta
12280 ghc-text-conversions ghc-utf8-string))
12281 (native-inputs (list ghc-quickcheck
12282 ghc-hspec
12283 ghc-hspec-core
12284 ghc-quickcheck-instances
12285 ghc-quickcheck-text
12286 ghc-quickcheck-unicode
12287 ghc-unordered-containers))
12288 (arguments
12289 `(#:cabal-revision ("3"
12290 "0grq9v023186gfq3a2as9974qlwcjx3dhxqczpq22bq2wfpw24x7")))
12291 (home-page
12292 "https://gitlab.com/williamyaoh/string-interpolate/blob/master/README.md")
12293 (synopsis "Haskell string/text/bytestring interpolation that just works")
12294 (description
12295 "This package provides QuasiQuoters for Unicode-aware string interpolation
12296that handles all textual types.")
12297 (license license:bsd-3)))
12298
12299(define-public ghc-string-qq
12300 (package
12301 (name "ghc-string-qq")
12302 (version "0.0.6")
12303 (source
12304 (origin
12305 (method url-fetch)
12306 (uri (hackage-uri "string-qq" version))
12307 (sha256
12308 (base32 "14k4wxp3fgy5yl0hg1m06lrrpligp1xmi0v54fhwqh0x6nvmbs23"))))
12309 (build-system haskell-build-system)
12310 (properties '((upstream-name . "string-qq")))
12311 (native-inputs (list ghc-hunit))
12312 (home-page "http://hackage.haskell.org/package/string-qq")
12313 (synopsis
12314 "QuasiQuoter for non-interpolated strings, texts and bytestrings")
12315 (description
12316 "This package provides a quasiquoter for non-interpolated strings, texts
12317and bytestrings.")
12318 (license license:public-domain)))
12319
12320(define-public ghc-stringsearch
12321 (package
12322 (name "ghc-stringsearch")
12323 (version "0.3.6.6")
12324 (source
12325 (origin
12326 (method url-fetch)
12327 (uri (hackage-uri "stringsearch" version))
12328 (sha256
12329 (base32 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12330 (build-system haskell-build-system)
12331 (properties '((upstream-name . "stringsearch")))
12332 (arguments
12333 `(#:cabal-revision ("2"
12334 "01w6m4fxxccm9xh63648y6fs50y7l727sjrpda5b21k0jh1vnwnd")))
12335 (home-page "https://bitbucket.org/dafis/stringsearch")
12336 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12337 (description
12338 "This package provides several functions to quickly search
12339for substrings in strict or lazy @code{ByteStrings}. It also provides
12340functions for breaking or splitting on substrings and replacing all
12341occurrences of a substring (the first in case of overlaps) with another.")
12342 (license license:bsd-3)))
12343
12344(define-public ghc-svg-builder
12345 (package
12346 (name "ghc-svg-builder")
12347 (version "0.1.1")
12348 (source
12349 (origin
12350 (method url-fetch)
12351 (uri (hackage-uri "svg-builder" version))
12352 (sha256
12353 (base32 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12354 (build-system haskell-build-system)
12355 (properties '((upstream-name . "svg-builder")))
12356 (inputs (list ghc-blaze-builder ghc-hashable ghc-unordered-containers))
12357 (arguments
12358 `(#:cabal-revision ("11"
12359 "01dxjh49d6kysmvzv529s4jniqpc875sdnkia9dvxx6b73mrsyqs")))
12360 (home-page "https://github.com/diagrams/svg-builder.git")
12361 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12362 (description "Easy-to-write domain-specific language (DSL) for
12363building Scalable Vector Graphics (SVG).")
12364 (license license:bsd-3)))
12365
12366(define-public ghc-syb
12367 (package
12368 (name "ghc-syb")
12369 (version "0.7.2.4")
12370 (source
12371 (origin
12372 (method url-fetch)
12373 (uri (hackage-uri "syb" version))
12374 (sha256
12375 (base32 "0q0y5412766xz90lghs4sdna48hawk7csqb3708bjann4a41wz7c"))))
12376 (build-system haskell-build-system)
12377 (properties '((upstream-name . "syb")))
12378 (native-inputs (list ghc-tasty ghc-tasty-hunit))
12379 (home-page "https://github.com/dreixel/syb")
12380 (synopsis "Scrap Your Boilerplate")
12381 (description
12382 "This package contains the generics system described in the
12383/Scrap Your Boilerplate/ papers (see
12384@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12385defines the @code{Data} class of types permitting folding and unfolding of
12386constructor applications, instances of this class for primitive types, and a
12387variety of traversals.")
12388 (license license:bsd-3)))
12389
12390(define-public ghc-system-fileio
12391 (package
12392 (name "ghc-system-fileio")
12393 (version "0.3.16.7")
12394 (source
12395 (origin
12396 (method url-fetch)
12397 (uri (hackage-uri "system-fileio" version))
12398 (sha256
12399 (base32 "16593sfb47snq4vixl0qv6119j3yva0nynygz24vcw3ggqmflhrp"))))
12400 (build-system haskell-build-system)
12401 (properties '((upstream-name . "system-fileio")))
12402 (arguments
12403 `(#:phases
12404 (modify-phases %standard-phases
12405 (add-before 'configure 'update-constraints
12406 (lambda _
12407 (substitute* "system-fileio.cabal"
12408 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12409 #t)))))
12410 (inputs (list ghc-system-filepath))
12411 (native-inputs (list ghc-chell ghc-temporary))
12412 (home-page "https://github.com/fpco/haskell-filesystem")
12413 (synopsis "Consistent file system interaction across GHC versions")
12414 (description
12415 "This is a small wrapper around the directory, unix, and Win32 packages,
12416for use with system-filepath. It provides a consistent API to the various
12417versions of these packages distributed with different versions of GHC.
12418In particular, this library supports working with POSIX files that have paths
12419which can't be decoded in the current locale encoding.")
12420 (license license:expat)))
12421
12422(define-public ghc-system-filepath
12423 (package
12424 (name "ghc-system-filepath")
12425 (version "0.4.14.1")
12426 (source
12427 (origin
12428 (method url-fetch)
12429 (uri (hackage-uri "system-filepath" version))
12430 (sha256
12431 (base32 "19fs8g1p07ckb0ydak4fczz58ngy3aywkliv1hbcvlc5w512j8ig"))))
12432 (build-system haskell-build-system)
12433 (properties '((upstream-name . "system-filepath")))
12434 (native-inputs
12435 (list ghc-chell ghc-chell-quickcheck ghc-quickcheck))
12436 (home-page "https://github.com/fpco/haskell-filesystem")
12437 (synopsis "High-level, byte-based file and directory path manipulations")
12438 (description
12439 "Provides a FilePath datatype and utility functions for operating on it.
12440Unlike the filepath package, this package does not simply reuse String,
12441increasing type safety.")
12442 (license license:expat)))
12443
12444(define-public ghc-tabular
12445 (package
12446 (name "ghc-tabular")
12447 (version "0.2.2.8")
12448 (source
12449 (origin
12450 (method url-fetch)
12451 (uri (hackage-uri "tabular" version))
12452 (sha256
12453 (base32 "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb"))))
12454 (build-system haskell-build-system)
12455 (properties '((upstream-name . "tabular")))
12456 (inputs (list ghc-csv ghc-html))
12457 (arguments
12458 `(#:cabal-revision ("1"
12459 "1llb610scvdb9grkd0y7ilh39a3v2pnkgaknabq2an3izr49z01r")))
12460 (home-page "https://github.com/bgamari/tabular")
12461 (synopsis "Two-dimensional data tables with rendering functions")
12462 (description
12463 "Tabular provides a Haskell representation of two-dimensional data
12464tables, the kind that you might find in a spreadsheet or or a research report.
12465It also comes with some default rendering functions for turning those tables
12466into ASCII art, simple text with an arbitrary delimiter, CSV, HTML or LaTeX.
12467
12468Below is an example of the kind of output this library produces. The tabular
12469package can group rows and columns, each group having one of three
12470separators (no line, single line, double line) between its members.
12471
12472@example
12473
12474 || memtest 1 | memtest 2 || time test | time test 2
12475====++===========+===========++=============+============
12476A 1 || hog | terrible || slow | slower
12477A 2 || pig | not bad || fast | slowest
12478----++-----------+-----------++-------------+------------
12479B 1 || good | awful || intolerable | bearable
12480B 2 || better | no chance || crawling | amazing
12481B 3 || meh | well... || worst ever | ok
12482
12483@end example")
12484 (license license:bsd-3)))
12485
12486(define-public ghc-tagged
12487 (package
12488 (name "ghc-tagged")
12489 (version "0.8.9")
12490 (source
12491 (origin
12492 (method url-fetch)
12493 (uri (hackage-uri "tagged" version))
12494 (sha256
12495 (base32 "1137jm5zbnirv7padqqhc0ky8l3npqn8v2fjasjscjs1pf7diakd"))))
12496 (build-system haskell-build-system)
12497 (properties '((upstream-name . "tagged")))
12498 (home-page "http://github.com/ekmett/tagged")
12499 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12500 (description "This library provides phantom types for Haskell 98, to avoid
12501having to unsafely pass dummy arguments.")
12502 (license license:bsd-3)))
12503
12504(define-public ghc-tar
12505 (package
12506 (name "ghc-tar")
12507 (version "0.6.4.0")
12508 (source
12509 (origin
12510 (method url-fetch)
12511 (uri (hackage-uri "tar" version))
12512 (sha256
12513 (base32 "1apkq11xg0rqbgs83hag85r4ibdw7v09n1qj0l0962d80h0aajbr"))))
12514 (build-system haskell-build-system)
12515 (properties '((upstream-name . "tar")))
12516 (inputs (list ghc-directory-ospath-streaming ghc-file-io))
12517 (native-inputs (list ghc-file-embed
12518 ghc-quickcheck
12519 ghc-tasty
12520 ghc-tasty-quickcheck
12521 ghc-temporary))
12522 (arguments
12523 `(#:cabal-revision ("2"
12524 "074f5a4qcdl5vb7334i41azj4aj8i5ql03qrlr3hb5smxhvvk386")))
12525 (home-page "http://hackage.haskell.org/package/tar")
12526 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12527 (description
12528 "This library is for working with \\\"@.tar@\\\" archive files.
12529It can read and write a range of common variations of the tar archive format
12530including V7, POSIX USTAR and GNU formats. It provides support for packing and
12531unpacking portable archives. This makes it suitable for distribution but not
12532backup because details like file ownership and exact permissions are not
12533preserved. It also provides features for random access to archive content using
12534an index.")
12535 (license license:bsd-3)))
12536
12537(define-public ghc-tar-conduit
12538 (package
12539 (name "ghc-tar-conduit")
12540 (version "0.4.1")
12541 (source
12542 (origin
12543 (method url-fetch)
12544 (uri (hackage-uri "tar-conduit" version))
12545 (sha256
12546 (base32 "0kavvr0sc1bmzimgpa00hdrihnvfpi4f9rmkg3yl8pckgv2ad8b1"))))
12547 (build-system haskell-build-system)
12548 (properties '((upstream-name . "tar-conduit")))
12549 (inputs (list ghc-conduit ghc-conduit-combinators ghc-safe-exceptions))
12550 (native-inputs (list ghc-quickcheck ghc-conduit-extra ghc-hspec ghc-hspec
12551 ghc-weigh))
12552 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12553 (synopsis "Extract and create tar files using conduit for streaming")
12554 (description "This library provides a conduit-based, streaming
12555interface for extracting and creating tar files.")
12556 (license license:expat)))
12557
12558(define-public ghc-temporary
12559 (package
12560 (name "ghc-temporary")
12561 (version "1.3")
12562 (source
12563 (origin
12564 (method url-fetch)
12565 (uri (hackage-uri "temporary" version))
12566 (sha256
12567 (base32 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12568 (build-system haskell-build-system)
12569 (properties '((upstream-name . "temporary")))
12570 (inputs (list ghc-random))
12571 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-base-compat))
12572 (home-page "https://github.com/feuerbach/temporary")
12573 (synopsis "Temporary file and directory support")
12574 (description
12575 "The functions for creating temporary files and directories
12576in the Haskelll base library are quite limited. This library just repackages
12577the Cabal implementations of its own temporary file and folder functions so
12578that you can use them without linking against Cabal or depending on it being
12579installed.")
12580 (license license:bsd-3)))
12581
12582(define-public ghc-temporary-bootstrap
12583 (package
12584 (inherit ghc-temporary)
12585 (name "ghc-temporary-bootstrap")
12586 (arguments `(#:tests? #f))
12587 (inputs (list ghc-random-bootstrap))
12588 (native-inputs '())
12589 (properties '((hidden? #t)))))
12590
12591(define-public ghc-temporary-rc
12592 (package
12593 (name "ghc-temporary-rc")
12594 (version "1.2.0.3")
12595 (source
12596 (origin
12597 (method url-fetch)
12598 (uri (hackage-uri "temporary-rc" version))
12599 (sha256
12600 (base32 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12601 (build-system haskell-build-system)
12602 (properties '((upstream-name . "temporary-rc")))
12603 (home-page "http://www.github.com/feuerbach/temporary")
12604 (synopsis "Portable temporary file and directory support")
12605 (description
12606 "The functions for creating temporary files and directories in the base
12607library are quite limited. The unixutils package contains some good ones, but
12608they aren't portable to Windows. This library just repackages the Cabal
12609implementations of its own temporary file and folder functions so that you can
12610use them without linking against Cabal or depending on it being installed.
12611This is a better maintained fork of the \"temporary\" package.")
12612 (license license:bsd-3)))
12613
12614(define-public ghc-terminal-size
12615 (package
12616 (name "ghc-terminal-size")
12617 (version "0.3.4")
12618 (source
12619 (origin
12620 (method url-fetch)
12621 (uri (hackage-uri "terminal-size" version))
12622 (sha256
12623 (base32 "0jbznrlf95lc6ajhh26h1qgcmbr3bj753i8jlkrsrnkcjbb71w5h"))))
12624 (build-system haskell-build-system)
12625 (properties '((upstream-name . "terminal-size")))
12626 (arguments
12627 `(#:cabal-revision ("1"
12628 "0w2pjmravr1fnvmrcnj13dxrf43miqypmh0fhrz1g1pb1qrg3mr1")))
12629 (home-page "http://hackage.haskell.org/package/terminal-size")
12630 (synopsis "Get terminal window height and width")
12631 (description "Get terminal window height and width without ncurses
12632dependency.")
12633 (license license:bsd-3)))
12634
12635(define-public ghc-texmath
12636 (package
12637 (name "ghc-texmath")
12638 (version "0.12.10.3")
12639 (source
12640 (origin
12641 (method url-fetch)
12642 (uri (hackage-uri "texmath" version))
12643 (sha256
12644 (base32 "0xpv5zxaixn2kkc3kn547jg7rkg6bl2mrmxiwvxf2r0qgj4kmr2p"))))
12645 (build-system haskell-build-system)
12646 (properties '((upstream-name . "texmath")))
12647 (inputs (list ghc-syb ghc-xml ghc-pandoc-types ghc-typst-symbols ghc-split))
12648 (native-inputs (list ghc-pretty-show ghc-tasty ghc-tasty-golden ghc-tagged))
12649 (home-page "http://github.com/jgm/texmath")
12650 (synopsis "Conversion between formats used to represent mathematics")
12651 (description
12652 "The texmath library provides functions to read and write TeX math,
12653presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12654Office). Support is also included for converting math formats to pandoc's
12655native format (allowing conversion, via pandoc, to a variety of different
12656markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12657it can parse and apply LaTeX macros.")
12658 (license license:gpl2)))
12659
12660(define-public ghc-text-ansi
12661 (package
12662 (name "ghc-text-ansi")
12663 (version "0.3.0.1")
12664 (source
12665 (origin
12666 (method url-fetch)
12667 (uri (hackage-uri "text-ansi" version))
12668 (sha256
12669 (base32 "0iiq5zlcjh25mf9b4vlhyc1dwglwh8b03qj1wasbngzvmphvcy00"))))
12670 (build-system haskell-build-system)
12671 (properties '((upstream-name . "text-ansi")))
12672 (inputs (list ghc-text-builder-linear))
12673 (arguments
12674 `(#:cabal-revision ("2"
12675 "1bjri84hc9qqp03zjmbrgrwgk989253x7jj2xzwbq579q5yxpj8h")))
12676 (home-page "https://github.com/awkward-squad/text-ansi")
12677 (synopsis "Text styling for ANSI terminals.")
12678 (description
12679 "Text styling for ANSI terminals using SGR codes, as defined by the
12680<https://www.ecma-international.org/publications-and-standards/standards/ecma-48
12681ECMA-48> standard. . Supports foreground\\/background color, bold\\/faint
12682intensity, italic, single\\/double underline, strikethrough, frame, encircle, and
12683overline escape sequences. Some styles may not work on your terminal. . Also
12684features terminal detection, so redirecting styled output to a file will
12685automatically strip the ANSI escape sequences.")
12686 (license license:bsd-3)))
12687
12688(define-public ghc-text-binary
12689 (package
12690 (name "ghc-text-binary")
12691 (version "0.2.1.1")
12692 (source
12693 (origin
12694 (method url-fetch)
12695 (uri (hackage-uri "text-binary" version))
12696 (sha256
12697 (base32 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12698 (build-system haskell-build-system)
12699 (properties '((upstream-name . "text-binary")))
12700 (home-page "https://github.com/kawu/text-binary")
12701 (synopsis "Binary instances for text types")
12702 (description
12703 "This package provides a compatibility layer providing @code{Binary}
12704instances for strict and lazy text types for versions older than 1.2.1 of the
12705text package.")
12706 (license license:bsd-2)))
12707
12708(define-public ghc-text-builder-linear
12709 (package
12710 (name "ghc-text-builder-linear")
12711 (version "0.1.3")
12712 (source
12713 (origin
12714 (method url-fetch)
12715 (uri (hackage-uri "text-builder-linear" version))
12716 (sha256
12717 (base32 "1nw2gazirrkylrfvnfyyqc4kw9s0cazya44phgiypv0m8nzvpjs9"))))
12718 (build-system haskell-build-system)
12719 (properties '((upstream-name . "text-builder-linear")))
12720 (inputs (list ghc-quote-quot))
12721 (native-inputs (list ghc-tasty ghc-tasty-quickcheck))
12722 (home-page "https://github.com/Bodigrim/linear-builder")
12723 (synopsis "Builder for Text and ByteString based on linear types")
12724 (description
12725 "Strict Text and @code{ByteString} builder, which hides mutable buffer behind
12726linear types and takes amortized linear time.")
12727 (license license:bsd-3)))
12728
12729(define-public ghc-text-manipulate
12730 (package
12731 (name "ghc-text-manipulate")
12732 (version "0.3.1.0")
12733 (source
12734 (origin
12735 (method url-fetch)
12736 (uri (hackage-uri "text-manipulate" version))
12737 (sha256
12738 (base32 "1g06ldl6cdnyr31xlks5qm1sj44ccrdvq4bf8dk032mzfkpyyrws"))))
12739 (build-system haskell-build-system)
12740 (properties '((upstream-name . "text-manipulate")))
12741 (native-inputs (list ghc-tasty ghc-tasty-hunit))
12742 (home-page "https://github.com/brendanhay/text-manipulate")
12743 (synopsis
12744 "Case conversion, word boundary manipulation, and textual subjugation")
12745 (description
12746 "Manipulate identifiers and structurally non-complex pieces of text by
12747delimiting word boundaries via a combination of whitespace,
12748control-characters, and case-sensitivity.
12749
12750Has support for common idioms like casing of programmatic variable names,
12751taking, dropping, and splitting by word, and modifying the first character of
12752a piece of text.
12753
12754Caution: this library makes heavy use of the text library's internal loop
12755optimisation framework. Since internal modules are not guaranteed to have a
12756stable API there is potential for build breakage when the text dependency is
12757upgraded. Consider yourself warned!")
12758 (license license:mpl2.0)))
12759
12760(define-public ghc-text-metrics
12761 (package
12762 (name "ghc-text-metrics")
12763 (version "0.3.3")
12764 (source
12765 (origin
12766 (method url-fetch)
12767 (uri (hackage-uri "text-metrics" version))
12768 (sha256
12769 (base32 "0gl5xxagdgs32m5xh58zlgwnysg0i19m31gg2lpm58x9d1bal81k"))))
12770 (build-system haskell-build-system)
12771 (properties '((upstream-name . "text-metrics")))
12772 (inputs (list ghc-vector ghc-primitive))
12773 (native-inputs (list ghc-quickcheck ghc-hspec))
12774 (home-page "https://github.com/mrkkrp/text-metrics")
12775 (synopsis "Calculate various string metrics efficiently")
12776 (description "This library provides tools to calculate various
12777string metrics efficiently.")
12778 (license license:bsd-3)))
12779
12780(define-public ghc-tf-random
12781 (package
12782 (name "ghc-tf-random")
12783 (version "0.5")
12784 (source
12785 (origin
12786 (method url-fetch)
12787 (uri (hackage-uri "tf-random" version))
12788 (sha256
12789 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12790 (build-system haskell-build-system)
12791 (properties '((upstream-name . "tf-random")))
12792 (inputs (list ghc-primitive-bootstrap ghc-random))
12793 (home-page "http://hackage.haskell.org/package/tf-random")
12794 (synopsis "High-quality splittable pseudorandom number generator")
12795 (description
12796 "This package contains an implementation of a high-quality
12797splittable pseudorandom number generator. The generator is based on a
12798cryptographic hash function built on top of the ThreeFish block cipher. See
12799the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12800Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12801 (license license:bsd-3)))
12802
12803(define-public ghc-th-abstraction
12804 (package
12805 (name "ghc-th-abstraction")
12806 (version "0.7.1.0")
12807 (source
12808 (origin
12809 (method url-fetch)
12810 (uri (hackage-uri "th-abstraction" version))
12811 (sha256
12812 (base32 "1i843j7lhq6qly9zknrw3nhb17ac3badmxwn1pfn2sscp951idpr"))))
12813 (build-system haskell-build-system)
12814 (properties '((upstream-name . "th-abstraction")))
12815 (arguments
12816 `(#:cabal-revision ("1"
12817 "1n2gpcajn2sm8zw5ibkjwvhd3k1m0lvvjrixwcq0c1xhhlyl049h")))
12818 (home-page "https://github.com/glguy/th-abstraction")
12819 (synopsis "Nicer interface for reified information about data types")
12820 (description
12821 "This package normalizes variations in the interface for inspecting
12822datatype information via Template Haskell so that packages and support a
12823single, easier to use informational datatype while supporting many versions of
12824Template Haskell.")
12825 (license license:isc)))
12826
12827(define-public ghc-th-env
12828 (package
12829 (name "ghc-th-env")
12830 (version "0.1.1")
12831 (source
12832 (origin
12833 (method url-fetch)
12834 (uri (hackage-uri "th-env" version))
12835 (sha256
12836 (base32 "01gmycna12sg2f0zslhjnjx8s86shsvmw5jpw5n5z93bvxkb20gw"))))
12837 (build-system haskell-build-system)
12838 (properties '((upstream-name . "th-env")))
12839 (inputs (list ghc-th-compat))
12840 (native-inputs (list ghc-markdown-unlit))
12841 (home-page "https://github.com/dzhus/th-env")
12842 (synopsis
12843 "Template Haskell splices that expand to an environment variable")
12844 (description
12845 "This package provides a Template Haskell splice that expand to the value
12846of an environment variable. This can be used to embed build-time parameters in
12847the application.")
12848 (license license:bsd-3)))
12849
12850(define-public ghc-th-expand-syns
12851 (package
12852 (name "ghc-th-expand-syns")
12853 (version "0.4.12.0")
12854 (source
12855 (origin
12856 (method url-fetch)
12857 (uri (hackage-uri "th-expand-syns" version))
12858 (sha256
12859 (base32 "03zgqq0bwcjmy4d3m00gqzh4r1big2yh9v69rxvg72cw69krkq8q"))))
12860 (build-system haskell-build-system)
12861 (properties '((upstream-name . "th-expand-syns")))
12862 (inputs (list ghc-syb ghc-th-abstraction))
12863 (home-page "https://github.com/DanielSchuessler/th-expand-syns")
12864 (synopsis "Expands type synonyms in Template Haskell ASTs")
12865 (description
12866 "This package enables users to expand type synonyms in Template Haskell
12867@dfn{abstract syntax trees} (ASTs).")
12868 (license license:bsd-3)))
12869
12870(define-public ghc-th-lift
12871 (package
12872 (name "ghc-th-lift")
12873 (version "0.8.6")
12874 (source
12875 (origin
12876 (method url-fetch)
12877 (uri (hackage-uri "th-lift" version))
12878 (sha256
12879 (base32 "07zgl42fq7ijmm29x7q10iv02hk6lqs7snysxdad03pq1vbrlc04"))))
12880 (build-system haskell-build-system)
12881 (properties '((upstream-name . "th-lift")))
12882 (inputs (list ghc-th-abstraction))
12883 (home-page "http://github.com/RyanGlScott/th-lift")
12884 (synopsis "Derive Template Haskell's Lift class for datatypes")
12885 (description
12886 "This is a Haskell library to derive Template Haskell's Lift class for
12887datatypes.")
12888 (license license:bsd-3)))
12889
12890(define-public ghc-th-lift-instances
12891 (package
12892 (name "ghc-th-lift-instances")
12893 (version "0.1.20")
12894 (source
12895 (origin
12896 (method url-fetch)
12897 (uri (hackage-uri "th-lift-instances" version))
12898 (sha256
12899 (base32 "0w6qc7xzyjymhh8hv72rlszh3n2xyzzamlfcl1hs9k6xbbww6czm"))))
12900 (build-system haskell-build-system)
12901 (properties '((upstream-name . "th-lift-instances")))
12902 (inputs (list ghc-vector ghc-th-lift))
12903 (native-inputs (list ghc-quickcheck))
12904 (home-page "http://github.com/bennofs/th-lift-instances/")
12905 (synopsis "Lift instances for template-haskell for common data types")
12906 (description
12907 "Most data types in the Haskell platform do not have Lift
12908instances. This package provides orphan instances for @code{containers},
12909@code{text}, @code{bytestring} and @code{vector}.")
12910 (license license:bsd-3)))
12911
12912(define-public ghc-th-orphans
12913 (package
12914 (name "ghc-th-orphans")
12915 (version "0.13.16")
12916 (source
12917 (origin
12918 (method url-fetch)
12919 (uri (hackage-uri "th-orphans" version))
12920 (sha256
12921 (base32 "04x95fwsiczbi4gxadnnz6z39hy72hsj1smfaa52ljhwh8sh3479"))))
12922 (build-system haskell-build-system)
12923 (properties '((upstream-name . "th-orphans")))
12924 (inputs (list ghc-th-compat ghc-th-lift ghc-th-reify-many))
12925 (native-inputs (list ghc-hspec))
12926 (home-page "http://hackage.haskell.org/package/th-orphans")
12927 (synopsis "Orphan instances for TH datatypes")
12928 (description
12929 "This package provides orphan instances for Template Haskell datatypes. In particular,
12930instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12931and @code{Eq} instances. These instances used to live in the haskell-src-meta
12932package, and that's where the version number started.")
12933 (license license:bsd-3)))
12934
12935(define-public ghc-these
12936 (package
12937 (name "ghc-these")
12938 (version "1.2.1")
12939 (source
12940 (origin
12941 (method url-fetch)
12942 (uri (hackage-uri "these" version))
12943 (sha256
12944 (base32 "1pp44amwvpl0m762zahg632prlxx0ca2r10n3a0bznjy6qrxkmhp"))))
12945 (build-system haskell-build-system)
12946 (properties '((upstream-name . "these")))
12947 (inputs (list ghc-assoc ghc-hashable))
12948 (arguments
12949 `(#:cabal-revision ("2"
12950 "0dm1gq5phif8v0pfcycxhsrb53hnn63w56jmxlgyl5bcx7npmi9m")))
12951 (home-page "https://github.com/haskellari/these")
12952 (synopsis "Either-or-both data type")
12953 (description
12954 "This package provides a data type @code{These a b} which can
12955hold a value of either type or values of each type. This is usually
12956thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12957\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12958as \"inner join\").
12959
12960@code{data These a b = This a | That b | These a b}
12961
12962Since version 1, this package was split into parts:
12963
12964@itemize
12965@item
12966https://hackage.haskell.org/package/semialign For @code{Align} and
12967@code{Zip} type-classes.
12968@item
12969https://hackage.haskell.org/package/semialign-indexed For
12970@code{SemialignWithIndex} class, providing @code{ialignWith} and
12971@code{izipWith}
12972@item
12973https://hackage.haskell.org/package/these-lens For lens combinators.
12974@item
12975http://hackage.haskell.org/package/monad-chronicle For transformers
12976variant of @code{These}.
12977@end itemize")
12978 (license license:bsd-3)))
12979
12980(define-public ghc-threads
12981 (package
12982 (name "ghc-threads")
12983 (version "0.5.1.8")
12984 (source
12985 (origin
12986 (method url-fetch)
12987 (uri (hackage-uri "threads" version))
12988 (sha256
12989 (base32 "17jaq8gn5p3pgvwvswam379vdmdcq2241n3kwy6mmrisa45db564"))))
12990 (build-system haskell-build-system)
12991 (properties '((upstream-name . "threads")))
12992 (arguments
12993 (list
12994 #:tests? #f)) ;depend on ghc-concurrent-extra, which stopped building
12995 (home-page "https://github.com/basvandijk/threads")
12996 (synopsis "Fork threads and wait for their result")
12997 (description
12998 "This package provides functions to fork threads and
12999wait for their result, whether it's an exception or a normal value.
13000Besides waiting for the termination of a single thread this package also
13001provides functions to wait for a group of threads to terminate. This
13002package is similar to the @code{threadmanager}, @code{async} and
13003@code{spawn} packages. The advantages of this package are:
13004
13005@itemize
13006@item Simpler API.
13007@item More efficient in both space and time.
13008@item No space-leak when forking a large number of threads.
13009@item Correct handling of asynchronous exceptions.
13010@item GHC specific functionality like @code{forkOn} and
13011@code{forkIOWithUnmask}.
13012@end itemize")
13013 (license license:bsd-3)))
13014
13015(define-public ghc-th-reify-many
13016 (package
13017 (name "ghc-th-reify-many")
13018 (version "0.1.10")
13019 (source
13020 (origin
13021 (method url-fetch)
13022 (uri (hackage-uri "th-reify-many" version))
13023 (sha256
13024 (base32 "19g4gc1q3zxbylmvrgk3dqjzychq2k02i7fwvs3vhbrg4ihhw9cx"))))
13025 (build-system haskell-build-system)
13026 (properties '((upstream-name . "th-reify-many")))
13027 (inputs (list ghc-safe ghc-th-expand-syns))
13028 (home-page "http://github.com/mgsloan/th-reify-many")
13029 (synopsis "Recurseively reify template haskell datatype info")
13030 (description
13031 "th-reify-many provides functions for recursively reifying top level
13032declarations. The main intended use case is for enumerating the names of
13033datatypes reachable from an initial datatype, and passing these names to some
13034function which generates instances.")
13035 (license license:bsd-3)))
13036
13037(define-public ghc-time-compat
13038 (package
13039 (name "ghc-time-compat")
13040 (version "1.9.8")
13041 (source
13042 (origin
13043 (method url-fetch)
13044 (uri (hackage-uri "time-compat" version))
13045 (sha256
13046 (base32 "1w2wxz9q3w04mwjm43xk8nrs61fhaf82xpz5q13in4sv99lzhbjh"))))
13047 (build-system haskell-build-system)
13048 (properties '((upstream-name . "time-compat")))
13049 (inputs (list ghc-base-orphans ghc-hashable))
13050 (native-inputs (list ghc-hunit
13051 ghc-quickcheck
13052 ghc-random
13053 ghc-tagged
13054 ghc-tasty
13055 ghc-tasty-hunit
13056 ghc-tasty-quickcheck))
13057 (home-page "https://github.com/haskellari/time-compat")
13058 (synopsis "Compatibility package for time")
13059 (description "This package tries to compat as many @code{time}
13060features as possible.")
13061 (license license:bsd-3)))
13062
13063(define-public ghc-time-hourglass
13064 (package
13065 (name "ghc-time-hourglass")
13066 (version "0.3.0")
13067 (source
13068 (origin
13069 (method url-fetch)
13070 (uri (hackage-uri "time-hourglass" version))
13071 (sha256
13072 (base32 "08lx5dhs529wqxqh454svyx1l814hwzcn1l669h320x5vms7qz4w"))))
13073 (build-system haskell-build-system)
13074 (properties '((upstream-name . "time-hourglass")))
13075 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck))
13076 (home-page "https://github.com/mpilgrem/time-hourglass")
13077 (synopsis "A simple and efficient time library")
13078 (description
13079 "This package provides a simple and efficient time library. A key part of the
13080library is the `Timeable` and `Time` type classes. Types representing time
13081values that are instances of the classes allow easy conversion between values of
13082one time type and another.")
13083 (license license:bsd-3)))
13084
13085(define-public ghc-time-locale-compat
13086 (package
13087 (name "ghc-time-locale-compat")
13088 (version "0.1.1.5")
13089 (source
13090 (origin
13091 (method url-fetch)
13092 (uri (hackage-uri "time-locale-compat" version))
13093 (sha256
13094 (base32 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
13095 (build-system haskell-build-system)
13096 (properties '((upstream-name . "time-locale-compat")))
13097 (inputs (list ghc-old-locale))
13098 (home-page "https://github.com/khibino/haskell-time-locale-compat")
13099 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
13100 (description "This package contains a wrapped name module for
13101@code{TimeLocale}.")
13102 (license license:bsd-3)))
13103
13104(define-public ghc-time-manager
13105 (package
13106 (name "ghc-time-manager")
13107 (version "0.2.3")
13108 (source
13109 (origin
13110 (method url-fetch)
13111 (uri (hackage-uri "time-manager" version))
13112 (sha256
13113 (base32 "1s387nka1nxii026ly4awrz74acs4ci141mh3mvsz4j47cyw7dzf"))))
13114 (build-system haskell-build-system)
13115 (properties '((upstream-name . "time-manager")))
13116 (inputs (list ghc-auto-update))
13117 (home-page "http://github.com/yesodweb/wai")
13118 (synopsis "Scalable timer")
13119 (description "This library contains scalable timer functions provided by a
13120timer manager.")
13121 (license license:expat)))
13122
13123(define-public ghc-timeit
13124 (package
13125 (name "ghc-timeit")
13126 (version "2.0")
13127 (source
13128 (origin
13129 (method url-fetch)
13130 (uri (hackage-uri "timeit" version))
13131 (sha256
13132 (base32 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
13133 (build-system haskell-build-system)
13134 (properties '((upstream-name . "timeit")))
13135 (arguments
13136 `(#:cabal-revision ("2"
13137 "1vgxfk2021jh6jk3dimchmf9f71844zj080342qvnn5lck7c7mrm")))
13138 (home-page "https://github.com/merijn/timeit")
13139 (synopsis "Time monadic computations with an IO base")
13140 (description "This package provides a simple wrapper to show the
13141used CPU time of monadic computation with an IO base.")
13142 (license license:bsd-3)))
13143
13144(define-public ghc-timezone-series
13145 (package
13146 (name "ghc-timezone-series")
13147 (version "0.1.13")
13148 (source
13149 (origin
13150 (method url-fetch)
13151 (uri (hackage-uri "timezone-series" version))
13152 (sha256
13153 (base32 "18n6w7jxwlysq5mvb1sp1z57nyrsgn2ans642fy5rhmpwcavgvr8"))))
13154 (build-system haskell-build-system)
13155 (properties '((upstream-name . "timezone-series")))
13156 (arguments
13157 `(#:cabal-revision ("1"
13158 "1ak05p8z1q2nispv1xw32j7lhfmf3sfj2ibjrxpm347s37fmxnwc")))
13159 (home-page "http://projects.haskell.org/time-ng/")
13160 (synopsis "Enhanced timezone handling for Time")
13161 (description
13162 "This package endows @code{Data.Time}, from the time package, with several
13163data types and functions for enhanced processing of timezones. For one way to
13164create timezone series, see the ghc-timezone-olson package.")
13165 (license license:bsd-3)))
13166
13167(define-public ghc-timezone-olson
13168 (package
13169 (name "ghc-timezone-olson")
13170 (version "0.2.1")
13171 (source
13172 (origin
13173 (method url-fetch)
13174 (uri (hackage-uri "timezone-olson" version))
13175 (sha256
13176 (base32 "10f5843sza2ikj2sg9fjhf5dhnhcidad86cdjmrj1y6zclkiqmdc"))))
13177 (build-system haskell-build-system)
13178 (properties '((upstream-name . "timezone-olson")))
13179 (inputs (list ghc-timezone-series ghc-extensible-exceptions))
13180 (home-page "http://projects.haskell.org/time-ng/")
13181 (synopsis "Parser and renderer for binary Olson timezone files")
13182 (description
13183 "A parser and renderer for binary Olson timezone files whose format
13184is specified by the tzfile(5) man page on Unix-like systems. For more
13185information about this format, see
13186@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
13187are provided for converting the parsed data into @code{TimeZoneSeries}
13188objects from the timezone-series package.")
13189 (license license:bsd-3)))
13190
13191(define-public ghc-tldr
13192 (package
13193 (name "ghc-tldr")
13194 (version "0.9.2")
13195 (source
13196 (origin
13197 (method url-fetch)
13198 (uri (hackage-uri "tldr" version))
13199 (sha256
13200 (base32 "1yypb9zhsj9ks7bbw2sayqv3rn9y8z3w5p1xmsnwb4w99dqmvcx5"))))
13201 (build-system haskell-build-system)
13202 (properties '((upstream-name . "tldr")))
13203 (inputs (list ghc-ansi-terminal
13204 ghc-attoparsec
13205 ghc-cmark
13206 ghc-http-conduit
13207 ghc-optparse-applicative
13208 ghc-semigroups
13209 ghc-zip-archive))
13210 (native-inputs (list ghc-tasty ghc-tasty-golden))
13211 (home-page "https://github.com/psibi/tldr-hs#readme")
13212 (synopsis "Haskell tldr client")
13213 (description
13214 "This package provides the @command{tldr} command and a
13215Haskell client library allowing users to update and view @code{tldr} pages
13216from a shell. The @code{tldr} pages are a community effort to simplify the
13217man pages with practical examples.")
13218 (license license:bsd-3)))
13219
13220(define-public ghc-torrent
13221 (package
13222 (name "ghc-torrent")
13223 (version "10000.1.3")
13224 (source
13225 (origin
13226 (method url-fetch)
13227 (uri (hackage-uri "torrent" version))
13228 (sha256
13229 (base32 "1pp9qfpai7v8vlylw4zfgmnbznwjldqlbl3p6awlhzkpszvqzgny"))))
13230 (build-system haskell-build-system)
13231 (properties '((upstream-name . "torrent")))
13232 (inputs (list ghc-bencode ghc-syb))
13233 (home-page "http://hackage.haskell.org/package/torrent")
13234 (synopsis "BitTorrent file parser and generator")
13235 (description "This library provides support for parsing and generating
13236BitTorrent files.")
13237 (license license:bsd-3)))
13238
13239(define-public ghc-transformers
13240 (package
13241 (name "ghc-transformers")
13242 (version "0.6.1.1")
13243 (source
13244 (origin
13245 (method url-fetch)
13246 (uri (hackage-uri "transformers" version))
13247 (sha256
13248 (base32 "09fpjawkixgm3xpas89wkpkn1jfpxz035crnp97if2hh1y759ll1"))))
13249 (build-system haskell-build-system)
13250 (properties '((upstream-name . "transformers")))
13251 (home-page "http://hackage.haskell.org/package/transformers")
13252 (synopsis "Concrete functor and monad transformers")
13253 (description
13254 "Transformers provides functor and monad transformers, inspired by the
13255paper \"Functional Programming with Overloading and Higher-Order
13256Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
132571995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13258
13259This package contains:
13260@itemize
13261@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13262@item concrete functor and monad transformers, each with associated operations
13263and functions to lift operations associated with other transformers.
13264@end itemize
13265
13266This package can be used on its own in portable Haskell code, in which case
13267operations need to be manually lifted through transformer stacks (see
13268@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13269used with the non-portable monad classes in the mtl or monads-tf packages,
13270which automatically lift operations introduced by monad transformers through
13271other transformers.")
13272 (license license:bsd-3)))
13273
13274(define-public ghc-transformers-base
13275 (package
13276 (name "ghc-transformers-base")
13277 (version "0.4.6")
13278 (source
13279 (origin
13280 (method url-fetch)
13281 (uri (hackage-uri "transformers-base" version))
13282 (sha256
13283 (base32 "146g69yxmlrmvqnzwcw4frxfl3z04lda9zqwcqib34dnkrlghfrj"))))
13284 (build-system haskell-build-system)
13285 (properties '((upstream-name . "transformers-base")))
13286 (inputs (list ghc-transformers-compat ghc-base-orphans))
13287 (home-page "https://github.com/mvv/transformers-base")
13288 (synopsis "Backported transformer library")
13289 (description
13290 "Backported versions of types that were added to transformers in
13291transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13292compatibility to run on old versions of the platform.")
13293 (license license:bsd-3)))
13294
13295(define-public ghc-transformers-compat
13296 (package
13297 (name "ghc-transformers-compat")
13298 (version "0.7.2")
13299 (source
13300 (origin
13301 (method url-fetch)
13302 (uri (hackage-uri "transformers-compat" version))
13303 (sha256
13304 (base32 "0slxrkxi8xa1bmi9saq9x8bz52clrf2slf877m3ckjzkr4276b5n"))))
13305 (build-system haskell-build-system)
13306 (properties '((upstream-name . "transformers-compat")))
13307 (inputs (list ghc-generic-deriving))
13308 (home-page "http://github.com/ekmett/transformers-compat/")
13309 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13310 (description
13311 "This package includes backported versions of types that were
13312added to transformers in transformers 0.3 and 0.4 for users who need strict
13313transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13314but also need those types.")
13315 (license license:bsd-3)))
13316
13317(define-public ghc-exception-transformers
13318 (package
13319 (name "ghc-exception-transformers")
13320 (version "0.4.0.12")
13321 (source
13322 (origin
13323 (method url-fetch)
13324 (uri (hackage-uri "exception-transformers" version))
13325 (sha256
13326 (base32 "11qlr78hlp1ivsx2l06sac56wj900l6diwh6dv7jfzgary8dax4k"))))
13327 (build-system haskell-build-system)
13328 (properties '((upstream-name . "exception-transformers")))
13329 (inputs (list ghc-fail ghc-transformers-compat))
13330 (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
13331 (home-page "http://hackage.haskell.org/package/exception-transformers")
13332 (synopsis "Type classes and monads for unchecked extensible exceptions")
13333 (description
13334 "This package provides type classes, a monad and a monad transformer that support
13335unchecked extensible exceptions as well as asynchronous exceptions. It is
13336compatible with the transformers package.")
13337 (license license:bsd-3)))
13338
13339(define-public ghc-tree-diff
13340 (package
13341 (name "ghc-tree-diff")
13342 (version "0.3.4")
13343 (source
13344 (origin
13345 (method url-fetch)
13346 (uri (hackage-uri "tree-diff" version))
13347 (sha256
13348 (base32 "0fqfyrab0bf98z251lsfvl2jdcaja6ikfn9q537jbxkx402fi6jy"))))
13349 (build-system haskell-build-system)
13350 (properties '((upstream-name . "tree-diff")))
13351 (inputs (list ghc-aeson
13352 ghc-ansi-terminal
13353 ghc-ansi-wl-pprint
13354 ghc-hashable
13355 ghc-parsers
13356 ghc-primitive
13357 ghc-quickcheck
13358 ghc-scientific
13359 ghc-semialign
13360 ghc-strict
13361 ghc-tagged
13362 ghc-these
13363 ghc-unordered-containers
13364 ghc-uuid-types
13365 ghc-vector))
13366 (native-inputs (list ghc-tasty ghc-tasty-golden ghc-tasty-quickcheck
13367 ghc-trifecta))
13368 (arguments
13369 `(#:cabal-revision ("2"
13370 "1hb62nd833n7gmg508qkbndbj13p8dscwfanilwifbxqwwcn98ah")))
13371 (home-page "https://github.com/phadej/tree-diff")
13372 (synopsis "Compute difference between (expression) trees")
13373 (description
13374 "This Haskell library provides a function for computing
13375the difference between (expression) trees. It also provides a way to
13376compute the difference between arbitrary abstract datatypes (ADTs) using
13377@code{Generics}-derivable helpers.")
13378 (license license:bsd-3)))
13379
13380(define-public ghc-trifecta
13381 (package
13382 (name "ghc-trifecta")
13383 (version "2.1.4")
13384 (source
13385 (origin
13386 (method url-fetch)
13387 (uri (hackage-uri "trifecta" version))
13388 (sha256
13389 (base32 "0a4wvj3g27xmkck150ci6wfp8lqbdlrqgi9q8y3k0cqsvfpl5n6l"))))
13390 (build-system haskell-build-system)
13391 (properties '((upstream-name . "trifecta")))
13392 (inputs (list ghc-ansi-terminal
13393 ghc-blaze-builder
13394 ghc-blaze-html
13395 ghc-blaze-markup
13396 ghc-charset
13397 ghc-comonad
13398 ghc-fingertree
13399 ghc-hashable
13400 ghc-indexed-traversable
13401 ghc-lens
13402 ghc-parsers
13403 ghc-prettyprinter
13404 ghc-prettyprinter-ansi-terminal
13405 ghc-profunctors
13406 ghc-reducers
13407 ghc-unordered-containers
13408 ghc-utf8-string))
13409 (native-inputs (list ghc-quickcheck))
13410 (arguments
13411 `(#:cabal-revision ("2"
13412 "1r61x5lzrsax5n3a38hjk78k7p4xspz6zdw5gsyyyqwl57cd2b6g")))
13413 (home-page "http://github.com/ekmett/trifecta/")
13414 (synopsis "Parser combinator library with convenient diagnostics")
13415 (description "Trifecta is a modern parser combinator library for Haskell,
13416with slicing and Clang-style colored diagnostics.")
13417 (license license:bsd-3)))
13418
13419(define-public ghc-tuple-th
13420 (package
13421 (name "ghc-tuple-th")
13422 (version "0.2.5")
13423 (source
13424 (origin
13425 (method url-fetch)
13426 (uri (hackage-uri "tuple-th" version))
13427 (sha256
13428 (base32 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13429 (build-system haskell-build-system)
13430 (properties '((upstream-name . "tuple-th")))
13431 (home-page "http://hackage.haskell.org/package/tuple-th")
13432 (synopsis "Generate utility functions for tuples of statically known size
13433for Haskell")
13434 (description
13435 "This Haskell package contains Template Haskell functions for
13436generating functions similar to those in @code{Data.List} for tuples of
13437statically known size.")
13438 (license license:bsd-3)))
13439
13440(define-public ghc-turtle
13441 (package
13442 (name "ghc-turtle")
13443 (version "1.6.2")
13444 (source
13445 (origin
13446 (method url-fetch)
13447 (uri (hackage-uri "turtle" version))
13448 (sha256
13449 (base32 "0bav7b2ghbwdhpa4b5a7812psr6hqk7wydvgxjy5dsb62nqnc08s"))))
13450 (build-system haskell-build-system)
13451 (properties '((upstream-name . "turtle")))
13452 (inputs (list ghc-async
13453 ghc-clock
13454 ghc-foldl
13455 ghc-hostname
13456 ghc-managed
13457 ghc-streaming-commons
13458 ghc-temporary
13459 ghc-optional-args
13460 ghc-unix-compat
13461 ghc-ansi-wl-pprint
13462 ghc-optparse-applicative))
13463 (native-inputs (list ghc-doctest ghc-tasty ghc-tasty-hunit))
13464 (arguments
13465 `(#:cabal-revision ("3"
13466 "19i3n3hd2a0rkdz1ikwdgwhg4ds5pcfah25vgk0jnmwf71h0qwbm")))
13467 (home-page "http://hackage.haskell.org/package/turtle")
13468 (synopsis "Shell programming, Haskell-style")
13469 (description
13470 "Turtle is a reimplementation of the Unix command line environment in
13471Haskell so that you can use Haskell as both a shell and a scripting
13472language. Features include:
13473
13474@itemize
13475@item Batteries included: Command an extended suite of predefined utilities.
13476@item Interoperability: You can still run external shell commands.
13477@item Portability: Works on Windows, OS X, and Linux.
13478@item Exception safety: Safely acquire and release resources.
13479@item Streaming: Transform or fold command output in constant space.
13480@item Patterns: Use typed regular expressions that can parse structured values.
13481@item Formatting: Type-safe printf-style text formatting.
13482@item Modern: Supports text and system-filepath.
13483@end itemize
13484
13485Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13486quick-start guide. Turtle is designed to be beginner-friendly, but as a
13487result lacks certain features, like tracing commands. If you feel comfortable
13488using turtle then you should also check out the Shelly library which provides
13489similar functionality.")
13490 (license license:bsd-3)))
13491
13492(define-public ghc-typed-process
13493 (package
13494 (name "ghc-typed-process")
13495 (version "0.2.13.0")
13496 (source
13497 (origin
13498 (method url-fetch)
13499 (uri (hackage-uri "typed-process" version))
13500 (sha256
13501 (base32 "1823mbibn4wgx5y7d1xywayjiz3hlv1mg3dcahpdyhdm2dh9c04l"))))
13502 (build-system haskell-build-system)
13503 (properties '((upstream-name . "typed-process")))
13504 (inputs (list ghc-async ghc-unliftio-core))
13505 (native-inputs (list ghc-base64-bytestring
13506 ghc-hspec
13507 hspec-discover
13508 ghc-temporary
13509 ghc-base64-bytestring
13510 ghc-hspec
13511 ghc-temporary))
13512 (home-page "https://github.com/fpco/typed-process")
13513 (synopsis "Run external processes with strong typing of streams")
13514 (description
13515 "This library provides the ability to launch and interact with external
13516processes. It wraps around the @code{process} library, and intends to improve
13517upon it.")
13518 (license license:expat)))
13519
13520(define-public ghc-uglymemo
13521 (package
13522 (name "ghc-uglymemo")
13523 (version "0.1.0.1")
13524 (source
13525 (origin
13526 (method url-fetch)
13527 (uri (hackage-uri "uglymemo" version))
13528 (sha256
13529 (base32 "0ixqg5d0ly1r18jbgaa89i6kjzgi6c5hanw1b1y8c5fbq14yz2gy"))))
13530 (build-system haskell-build-system)
13531 (properties '((upstream-name . "uglymemo")))
13532 (home-page "http://hackage.haskell.org/package/uglymemo")
13533 (synopsis "Simple memoization function for Haskell")
13534 (description
13535 "This package provides a simple (but internally ugly) memoization
13536function.")
13537 (license license:public-domain)))
13538
13539(define-public ghc-unagi-chan
13540 (package
13541 (name "ghc-unagi-chan")
13542 (version "0.4.1.4")
13543 (source
13544 (origin
13545 (method url-fetch)
13546 (uri (hackage-uri "unagi-chan" version))
13547 (sha256
13548 (base32 "1d98a6s7rydjlf2p3jv6j7wglq8ahf8kgcibji5fiy6y0ymz9mnr"))))
13549 (build-system haskell-build-system)
13550 (properties '((upstream-name . "unagi-chan")))
13551 (inputs (list ghc-atomic-primops ghc-primitive))
13552 (home-page "http://hackage.haskell.org/package/unagi-chan")
13553 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13554 (description
13555 "This library provides implementations of concurrent FIFO queues (for
13556both general boxed and primitive unboxed values) that are fast, perform well
13557under contention, and offer a Chan-like interface. The library may be of
13558limited usefulness outside of x86 architectures where the fetch-and-add
13559instruction is not available.")
13560 (license license:bsd-3)))
13561
13562(define-public ghc-unbounded-delays
13563 (package
13564 (name "ghc-unbounded-delays")
13565 (version "0.1.1.1")
13566 (source
13567 (origin
13568 (method url-fetch)
13569 (uri (hackage-uri "unbounded-delays" version))
13570 (sha256
13571 (base32 "11b1vmlfv4pmmpl4kva58w7cf50xsj819cq3wzqgnbz3px9pxbar"))))
13572 (build-system haskell-build-system)
13573 (properties '((upstream-name . "unbounded-delays")))
13574 (home-page "https://github.com/basvandijk/unbounded-delays")
13575 (synopsis "Unbounded thread delays and timeouts")
13576 (description
13577 "The @code{threadDelay} and @code{timeout} functions from the
13578Haskell base library use the bounded @code{Int} type for specifying the delay
13579or timeout period. This package provides alternative functions which use the
13580unbounded @code{Integer} type.")
13581 (license license:bsd-3)))
13582
13583(define-public ghc-unexceptionalio
13584 (package
13585 (name "ghc-unexceptionalio")
13586 (version "0.5.1")
13587 (source
13588 (origin
13589 (method url-fetch)
13590 (uri (hackage-uri "unexceptionalio" version))
13591 (sha256
13592 (base32 "07py2nffdgxpz8sryvqcghzb2kiiagpdf5ja1dia4z0rpwi79smh"))))
13593 (build-system haskell-build-system)
13594 (properties '((upstream-name . "unexceptionalio")))
13595 (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
13596 (home-page "https://github.com/singpolyma/unexceptionalio")
13597 (synopsis "IO without any non-error, synchronous exceptions")
13598 (description "When you've caught all the exceptions that can be
13599handled safely, this is what you're left with.")
13600 (license license:isc)))
13601
13602(define-public ghc-unicode-data
13603 (package
13604 (name "ghc-unicode-data")
13605 (version "0.6.0")
13606 (source
13607 (origin
13608 (method url-fetch)
13609 (uri (hackage-uri "unicode-data" version))
13610 (sha256
13611 (base32 "0iwr096kwvjmx32a2drzz5hlam5sy0ca2m15ih33r8imhlb371xj"))))
13612 (build-system haskell-build-system)
13613 (properties '((upstream-name . "unicode-data")))
13614 (native-inputs (list ghc-hspec))
13615 (arguments
13616 `(#:cabal-revision ("2"
13617 "1y592fjr7i0416nzxr8g91apm8ff9gls5lwr16bc7zsh9hdyahja")))
13618 (home-page "http://github.com/composewell/unicode-data")
13619 (synopsis "Access Unicode Character Database (UCD)")
13620 (description
13621 "This package provides Haskell APIs to efficiently access the
13622<https://www.unicode.org/ucd/ Unicode character database> (UCD). Performance is
13623the primary goal in the design of this package. The Haskell data structures
13624are generated programmatically from the UCD files.")
13625 (license license:asl2.0)))
13626
13627(define-public ghc-unicode-show
13628 (package
13629 (name "ghc-unicode-show")
13630 (version "0.1.1.1")
13631 (source
13632 (origin
13633 (method url-fetch)
13634 (uri (hackage-uri "unicode-show" version))
13635 (sha256
13636 (base32 "1sizp1wmnx1vgckwyf5nawqf9s7ibrwacgznnc1m4j5q1hydbbzl"))))
13637 (build-system haskell-build-system)
13638 (properties '((upstream-name . "unicode-show")))
13639 (inputs (list ghc-safe))
13640 (native-inputs (list ghc-hspec ghc-quickcheck))
13641 (home-page "https://github.com/haskell-jp/unicode-show")
13642 (synopsis "Unescape Unicode characters for printing")
13643 (description
13644 "This package provides variants of the @code{show} and @code{print}
13645functions that do not escape non-ascii characters.")
13646 (license license:bsd-3)))
13647
13648(define-public ghc-unicode-transforms
13649 (package
13650 (name "ghc-unicode-transforms")
13651 (version "0.4.0.1")
13652 (source
13653 (origin
13654 (method url-fetch)
13655 (uri (hackage-uri "unicode-transforms" version))
13656 (sha256
13657 (base32 "1z29jvli2rqkynfxni1gibl81458j7h8lrb8fg6lpnj8svhy2y1j"))))
13658 (build-system haskell-build-system)
13659 (properties '((upstream-name . "unicode-transforms")))
13660 (inputs (list ghc-unicode-data))
13661 (native-inputs (list ghc-quickcheck ghc-quickcheck ghc-hspec ghc-split))
13662 (arguments
13663 `(#:cabal-revision ("7"
13664 "1lsb6788m8ibpddfx0ah3v5c09q9i0d1ik92bpgsx5ygx1xcnsj4")))
13665 (home-page "http://github.com/composewell/unicode-transforms")
13666 (synopsis "Unicode normalization")
13667 (description
13668 "This library provides tools for fast Unicode 12.1.0
13669normalization in Haskell (normalization forms C, KC, D, and KD).")
13670 (license license:bsd-3)))
13671
13672(define-public ghc-uniplate
13673 (package
13674 (name "ghc-uniplate")
13675 (version "1.6.13")
13676 (source
13677 (origin
13678 (method url-fetch)
13679 (uri (hackage-uri "uniplate" version))
13680 (sha256
13681 (base32 "1lis5qcb5j7yzd1cqjaqpb6bmkyjfb7l4nhk3ykmcma4513cjxz7"))))
13682 (build-system haskell-build-system)
13683 (properties '((upstream-name . "uniplate")))
13684 (inputs (list ghc-syb ghc-hashable ghc-unordered-containers))
13685 (arguments
13686 `(#:cabal-revision ("1"
13687 "1rvvzmi43gbrww0f17dzchm3g61zvm97arrfa5raljqb1mbibdy8")))
13688 (home-page "https://github.com/ndmitchell/uniplate#readme")
13689 (synopsis "Simple, concise and fast generic operations")
13690 (description
13691 "Uniplate is a library for writing simple and concise generic
13692operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13693work, but is substantially simpler and faster.")
13694 (license license:bsd-3)))
13695
13696(define-public ghc-unique
13697 (package
13698 (name "ghc-unique")
13699 (version "0.4.8.0")
13700 (source
13701 (origin
13702 (method url-fetch)
13703 (uri (hackage-uri "Unique" version))
13704 (sha256
13705 (base32 "1wv9dskvs2im5a97h3xm161sbqcbw81d7knk81y876ghqqf3hr56"))))
13706 (build-system haskell-build-system)
13707 (properties '((upstream-name . "Unique")))
13708 (inputs (list ghc-extra ghc-hashable ghc-unordered-containers))
13709 (native-inputs (list ghc-hspec ghc-quickcheck))
13710 (arguments
13711 `(#:cabal-revision ("1"
13712 "0cxifpgiq110618hzas1yz3g7ngcliw1skb9nahw3arsz3c3zifj")))
13713 (home-page "https://hackage.haskell.org/package/Unique")
13714 (synopsis "Haskell functionality like \"uniq\" tool")
13715 (description
13716 "This library provides the functions to find unique and duplicate
13717elements in a list.")
13718 (license license:bsd-3)))
13719
13720(define-public ghc-unix-compat
13721 (package
13722 (name "ghc-unix-compat")
13723 (version "0.7.4.1")
13724 (source
13725 (origin
13726 (method url-fetch)
13727 (uri (hackage-uri "unix-compat" version))
13728 (sha256
13729 (base32 "0m20wi8z3bzdc9b61rilb9hrbrd0wwzyc06rfbk7a30h99i135iz"))))
13730 (build-system haskell-build-system)
13731 (properties '((upstream-name . "unix-compat")))
13732 (native-inputs (list ghc-monad-parallel ghc-hspec ghc-hunit ghc-temporary))
13733 (home-page "https://github.com/haskell-pkg-janitors/unix-compat")
13734 (synopsis "Portable POSIX-compatibility layer")
13735 (description
13736 "This package provides portable implementations of parts of the unix package.
13737This package re-exports the unix package when available. When it isn't
13738available, portable implementations are used.")
13739 (license license:bsd-3)))
13740
13741(define-public ghc-unix-time
13742 (package
13743 (name "ghc-unix-time")
13744 (version "0.4.17")
13745 (source
13746 (origin
13747 (method url-fetch)
13748 (uri (hackage-uri "unix-time" version))
13749 (sha256
13750 (base32 "130z416958xqd6yvjidmm66674y9vkwgxj965kvwhnncbnz0afpn"))))
13751 (build-system haskell-build-system)
13752 (properties '((upstream-name . "unix-time")))
13753 (inputs (list ghc-old-time))
13754 (native-inputs (list ghc-old-locale ghc-quickcheck ghc-hspec hspec-discover))
13755 (home-page "http://hackage.haskell.org/package/unix-time")
13756 (synopsis "Unix time parser/formatter and utilities")
13757 (description "This library provides fast parsing and formatting utilities
13758for Unix time in Haskell.")
13759 (license license:bsd-3)))
13760
13761(define-public ghc-unliftio
13762 (package
13763 (name "ghc-unliftio")
13764 (version "0.2.25.1")
13765 (source
13766 (origin
13767 (method url-fetch)
13768 (uri (hackage-uri "unliftio" version))
13769 (sha256
13770 (base32 "0vikd29av2kk8sf09f2q3x9pgg8v90znsgpqdp0c4rk9xa6nzz1v"))))
13771 (build-system haskell-build-system)
13772 (properties '((upstream-name . "unliftio")))
13773 (inputs (list ghc-async ghc-safe-exceptions ghc-unliftio-core ghc-nats))
13774 (native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
13775 (home-page "https://github.com/fpco/unliftio/tree/master/unliftio#readme")
13776 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13777IO")
13778 (description
13779 "This Haskell package provides the core @code{MonadUnliftIO}
13780typeclass, a number of common instances, and a collection of common functions
13781working with it.")
13782 (license license:expat)))
13783
13784(define-public ghc-unliftio-core
13785 (package
13786 (name "ghc-unliftio-core")
13787 (version "0.2.1.0")
13788 (source
13789 (origin
13790 (method url-fetch)
13791 (uri (hackage-uri "unliftio-core" version))
13792 (sha256
13793 (base32 "1qz3gxcq1x8fjgq6fqsnws5vgkgbjcx332p3hldxdnaninx4qf4r"))))
13794 (build-system haskell-build-system)
13795 (properties '((upstream-name . "unliftio-core")))
13796 (arguments
13797 `(#:cabal-revision ("4"
13798 "0ah7x2k1p5d43iwr2xr12z5fk5jdxb9l7jjd73cr0lwbhmpp78pn")))
13799 (home-page
13800 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13801 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13802 (description
13803 "This Haskell package provides the core @code{MonadUnliftIO}
13804typeclass, instances for base and transformers, and basic utility
13805functions.")
13806 (license license:expat)))
13807
13808(define-public ghc-unordered-containers
13809 (package
13810 (name "ghc-unordered-containers")
13811 (version "0.2.20")
13812 (source
13813 (origin
13814 (method url-fetch)
13815 (uri (hackage-uri "unordered-containers" version))
13816 (sha256
13817 (base32 "07gij1y9zhqg2dq8wy815j7s0zk2k65sqg4wvhwjsn80ry3v5kyr"))))
13818 (build-system haskell-build-system)
13819 (properties '((upstream-name . "unordered-containers")))
13820 (inputs (list ghc-hashable))
13821 (native-inputs (list ghc-chasingbottoms
13822 ghc-hunit
13823 ghc-quickcheck
13824 ghc-random
13825 ghc-tasty
13826 ghc-tasty-hunit
13827 ghc-tasty-quickcheck
13828 ghc-nothunks-bootstrap))
13829 (arguments
13830 `(#:cabal-revision ("4"
13831 "08p4xp43mlqyl8ayh7k22p0q0kxlby9y071rpcr8jsf2lvfvqg13")))
13832 (home-page
13833 "https://github.com/haskell-unordered-containers/unordered-containers")
13834 (synopsis "Efficient hashing-based container types")
13835 (description
13836 "Efficient hashing-based container types. The containers have been
13837optimized for performance critical use, both in terms of large data quantities
13838and high speed.")
13839 (license license:bsd-3)))
13840
13841(define-public ghc-unordered-containers-bootstrap
13842 (package
13843 (inherit ghc-unordered-containers)
13844 (name "ghc-unordered-containers-bootstrap")
13845 (arguments `(#:tests? #f
13846 ,@(package-arguments ghc-unordered-containers)))
13847 (inputs
13848 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
13849 (native-inputs '())
13850 (properties '((hidden? #t)))))
13851
13852(define-public ghc-commutative-semigroups
13853 (package
13854 (name "ghc-commutative-semigroups")
13855 (version "0.2.0.2")
13856 (source
13857 (origin
13858 (method url-fetch)
13859 (uri (hackage-uri "commutative-semigroups" version))
13860 (sha256
13861 (base32 "06s7mw3j2g6yinabw3w1ncpph6q4n36almbn4xv7lqi5k7bb297q"))))
13862 (build-system haskell-build-system)
13863 (properties '((upstream-name . "commutative-semigroups")))
13864 (home-page "http://hackage.haskell.org/package/commutative-semigroups")
13865 (synopsis "Commutative semigroups")
13866 (description
13867 "This package provides a commutative semigroup is a semigroup where the order of
13868arguments to mappend does not matter.")
13869 (license license:bsd-3)))
13870
13871(define-public ghc-dependent-sum
13872 (package
13873 (name "ghc-dependent-sum")
13874 (version "0.7.2.0")
13875 (source
13876 (origin
13877 (method url-fetch)
13878 (uri (hackage-uri "dependent-sum" version))
13879 (sha256
13880 (base32 "1frw5965v8i6xqdgs95gg8asgdqcqnmfahz0pmbwiaw5ybn62rc2"))))
13881 (build-system haskell-build-system)
13882 (properties '((upstream-name . "dependent-sum")))
13883 (inputs (list ghc-constraints-extras ghc-some))
13884 (arguments
13885 `(#:cabal-revision ("2"
13886 "09648zwf1wg42yk5ykbv1wvgz2bibjrwvcx6wpm4jscv8d2h61pi")))
13887 (home-page "https://github.com/obsidiansystems/dependent-sum")
13888 (synopsis "Dependent sum type")
13889 (description
13890 "This package provides a dependent sum is a generalization of a
13891particular way of thinking about the @code{Either} type. @code{Either a b}
13892can be thought of as a 2-tuple @code{(tag, value)}, where the value of the tag
13893determines the type of the value. In particular, either @code{tag = Left} and
13894@code{value :: a} or @code{tag = Right} and @code{value :: b}. This package
13895allows you to define your own dependent sum types by using your own \"tag\"
13896types.")
13897 (license license:public-domain)))
13898
13899(define-public ghc-dependent-map
13900 (package
13901 (name "ghc-dependent-map")
13902 (version "0.4.0.0")
13903 (source
13904 (origin
13905 (method url-fetch)
13906 (uri (hackage-uri "dependent-map" version))
13907 (sha256
13908 (base32 "0b0zhyl3wkl4kkrxvq7vwjz3gn0ndxjjgyw9cky8a6xyv190pkjk"))))
13909 (build-system haskell-build-system)
13910 (properties '((upstream-name . "dependent-map")))
13911 (inputs (list ghc-dependent-sum ghc-constraints-extras))
13912 (arguments
13913 `(#:cabal-revision ("2"
13914 "18jqk1p4paaylqdvglw03v7fhyvlg59csl4kpf067wwpdpyaqs3l")))
13915 (home-page "https://github.com/obsidiansystems/dependent-map")
13916 (synopsis "Dependent finite maps (partial dependent products)")
13917 (description
13918 "This package provides a type called @@DMap@@ which generalizes @@Data.Map.Map@@,
13919allowing keys to specify the type of value that can be associated with them.")
13920
13921 ;; XXX: The 'LICENSE' file lists several licenses, stating "I have no idea
13922 ;; which, if any, of the following licenses apply […]. Any modifications
13923 ;; by myself I release into the public domain […]"."
13924 (license license:public-domain)))
13925
13926(define-public ghc-unsafe
13927 (package
13928 (name "ghc-unsafe")
13929 (version "0.0")
13930 (source
13931 (origin
13932 (method url-fetch)
13933 (uri (hackage-uri "unsafe" version))
13934 (sha256
13935 (base32 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13936 (build-system haskell-build-system)
13937 (properties '((upstream-name . "unsafe")))
13938 (home-page "http://code.haskell.org/~thielema/unsafe/")
13939 (synopsis "Unified interface to unsafe functions")
13940 (description
13941 "Safe Haskell introduced the notion of safe and unsafe
13942modules. In order to make as many as possible modules ``safe'', the
13943well-known unsafe functions were moved to distinguished modules. This
13944makes it hard to write packages that work with both old and new versions
13945of GHC. This package provides a single module System.Unsafe that
13946exports the unsafe functions from the base package. It provides them in
13947a style ready for qualification, that is, you should import them by
13948@code{import qualified System.Unsafe as Unsafe}.")
13949 (license license:bsd-3)))
13950
13951(define-public ghc-uri-bytestring
13952 (package
13953 (name "ghc-uri-bytestring")
13954 (version "0.4.0.1")
13955 (source
13956 (origin
13957 (method url-fetch)
13958 (uri (hackage-uri "uri-bytestring" version))
13959 (sha256
13960 (base32 "0xbrm2q7smj0ar7bz7c1nw510si8bfnb9kd4pvdrxbcpyj9zsg12"))))
13961 (build-system haskell-build-system)
13962 (properties '((upstream-name . "uri-bytestring")))
13963 (inputs (list ghc-attoparsec ghc-blaze-builder ghc-th-lift-instances))
13964 (native-inputs (list ghc-hunit
13965 ghc-tasty
13966 ghc-tasty-hunit
13967 ghc-hedgehog
13968 ghc-tasty-hedgehog
13969 ghc-base-compat
13970 ghc-safe))
13971 (home-page "https://github.com/Soostone/uri-bytestring")
13972 (synopsis "Haskell URI parsing as ByteStrings")
13973 (description
13974 "This Haskell package aims to be an RFC3986 compliant URI
13975parser that uses ByteStrings for parsing and representing the URI data.")
13976 (license license:bsd-3)))
13977
13978(define-public ghc-utf8-light
13979 (package
13980 (name "ghc-utf8-light")
13981 (version "0.4.4.0")
13982 (source
13983 (origin
13984 (method url-fetch)
13985 (uri (hackage-uri "utf8-light" version))
13986 (sha256
13987 (base32 "0415hapndlsnzvmm3bk2fl42h4vn1izky7jb3lbby3mzzzd8d1fx"))))
13988 (build-system haskell-build-system)
13989 (properties '((upstream-name . "utf8-light")))
13990 (arguments
13991 (list
13992 #:phases
13993 #~(modify-phases %standard-phases
13994 (add-before 'configure 'relax-depency-versions
13995 (lambda _
13996 (substitute* "utf8-light.cabal"
13997 (("hspec [<>=0-9. &|]*") "hspec")))))))
13998 (native-inputs (list ghc-hspec hspec-discover))
13999 (home-page "http://hackage.haskell.org/package/utf8-light")
14000 (synopsis "Lightweight unicode support for Haskell")
14001 (description
14002 "This package profides a class for encoding and decoding UTF8 strings
14003with instances for several common types. It also includes several functions
14004for working with UTF8. It aims to be lightweight, depending only on Base and
14005including only one module.")
14006 (license license:bsd-3)))
14007
14008(define-public ghc-utf8-string
14009 (package
14010 (name "ghc-utf8-string")
14011 (version "1.0.2")
14012 (source
14013 (origin
14014 (method url-fetch)
14015 (uri (hackage-uri "utf8-string" version))
14016 (sha256
14017 (base32 "16mh36ffva9rh6k37bi1046pgpj14h0cnmj1iir700v0lynxwj7f"))))
14018 (build-system haskell-build-system)
14019 (properties '((upstream-name . "utf8-string")))
14020 (native-inputs (list ghc-hunit))
14021 (home-page "https://github.com/glguy/utf8-string/")
14022 (synopsis "Support for reading and writing UTF8 Strings")
14023 (description
14024 "A UTF8 layer for Strings. The utf8-string package provides operations
14025for encoding UTF8 strings to Word8 lists and back, and for reading and writing
14026UTF8 without truncation.")
14027 (license license:bsd-3)))
14028
14029(define-public ghc-utility-ht
14030 (package
14031 (name "ghc-utility-ht")
14032 (version "0.0.17.2")
14033 (source
14034 (origin
14035 (method url-fetch)
14036 (uri (hackage-uri "utility-ht" version))
14037 (sha256
14038 (base32 "0b1pn25pdhsaigi2qbih13fagcaskbrsr2pmhk5gh63djn0w13ha"))))
14039 (build-system haskell-build-system)
14040 (properties '((upstream-name . "utility-ht")))
14041 (native-inputs (list ghc-quickcheck ghc-doctest-exitcode-stdio
14042 ghc-doctest-lib))
14043 (home-page "http://hackage.haskell.org/package/utility-ht")
14044 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
14045 (description "This package includes Hakell modules providing various
14046helper functions for Lists, Maybes, Tuples, Functions.")
14047 (license license:bsd-3)))
14048
14049(define-public ghc-uuid
14050 (package
14051 (name "ghc-uuid")
14052 (version "1.3.16")
14053 (source
14054 (origin
14055 (method url-fetch)
14056 (uri (hackage-uri "uuid" version))
14057 (sha256
14058 (base32 "1xhdf8zw2n2h4c0f8xf76c2gsjvldz34zgc4sn6wqpzcnk7pjihs"))))
14059 (build-system haskell-build-system)
14060 (properties '((upstream-name . "uuid")))
14061 (inputs (list ghc-cryptohash-md5
14062 ghc-cryptohash-sha1
14063 ghc-entropy
14064 ghc-network-info
14065 ghc-random
14066 ghc-uuid-types))
14067 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-hunit
14068 ghc-tasty-quickcheck))
14069 (arguments
14070 `(#:cabal-revision ("3"
14071 "153pkkljg08pdv6hjdzzq67dzwy0k4c4k68ha110ak4d96iibc6r")))
14072 (home-page "https://github.com/haskell-hvr/uuid")
14073 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
14074 (description
14075 "This Haskell library provides utilities creating, comparing,
14076parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
14077 (license license:bsd-3)))
14078
14079(define-public ghc-uuid-types
14080 (package
14081 (name "ghc-uuid-types")
14082 (version "1.0.6")
14083 (source
14084 (origin
14085 (method url-fetch)
14086 (uri (hackage-uri "uuid-types" version))
14087 (sha256
14088 (base32 "0zimp0v7hx073rcb4y9l463jfg4y3yqxdbmw975d6vrx919xj3by"))))
14089 (build-system haskell-build-system)
14090 (properties '((upstream-name . "uuid-types")))
14091 (inputs (list ghc-hashable ghc-random))
14092 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-hunit
14093 ghc-tasty-quickcheck))
14094 (arguments
14095 `(#:cabal-revision ("3"
14096 "183dz7p96r7da14064xkvdzxs66gzlxi26xca5m6yrypm20vdhjs")))
14097 (home-page "https://github.com/haskell-hvr/uuid")
14098 (synopsis "Haskell type definitions for UUIDs")
14099 (description
14100 "This Haskell library contains type definitions for
14101@dfn{Universally Unique Identifiers} or
14102@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
14103functions.")
14104 (license license:bsd-3)))
14105
14106(define-public ghc-validation
14107 (package
14108 (name "ghc-validation")
14109 (version "1.1.3")
14110 (source
14111 (origin
14112 (method url-fetch)
14113 (uri (hackage-uri "validation" version))
14114 (sha256
14115 (base32 "159pvlzs5caabay4irs6dgrxpyhrcakyxqv7fvhs8cnarlafjhbv"))))
14116 (build-system haskell-build-system)
14117 (properties '((upstream-name . "validation")))
14118 (inputs (list ghc-assoc ghc-semigroups ghc-semigroupoids ghc-bifunctors
14119 ghc-lens))
14120 (native-inputs (list ghc-hedgehog ghc-hunit))
14121 (arguments
14122 `(#:cabal-revision ("1"
14123 "0lmrs8yrb075l91r7iq8yk7hy2scdd3z1335wmackhcfw8z5bp1z")))
14124 (home-page "https://github.com/qfpl/validation")
14125 (synopsis "Data-type like Either but with an accumulating Applicative")
14126 (description
14127 "A data-type like Either but with differing properties and type-class
14128instances.
14129
14130Library support is provided for this different representation, including
14131@code{lens}-related functions for converting between each and abstracting over
14132their similarities.
14133
14134The @code{Validation} data type is isomorphic to @code{Either}, but has an
14135instance of @code{Applicative} that accumulates on the error side. That is to
14136say, if two (or more) errors are encountered, they are appended using a
14137@code{Semigroup} operation.
14138
14139As a consequence of this @code{Applicative} instance, there is no
14140corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
14141example of, \"An applicative functor that is not a monad.\"")
14142 (license license:bsd-3)))
14143
14144(define-public ghc-validity
14145 (package
14146 (name "ghc-validity")
14147 (version "0.12.1.0")
14148 (source
14149 (origin
14150 (method url-fetch)
14151 (uri (hackage-uri "validity" version))
14152 (sha256
14153 (base32 "1px6qaabr1k1szx9sl4vjqnwwlyj590s6h21p54ycfjj744md2p2"))))
14154 (build-system haskell-build-system)
14155 (properties '((upstream-name . "validity")))
14156 (native-inputs (list ghc-hspec hspec-discover))
14157 (home-page "https://github.com/NorfairKing/validity#readme")
14158 (synopsis "Validity typeclass")
14159 (description
14160 "Values of custom types usually have invariants imposed upon them. This
14161package provides the @code{Validity} type class, which makes these invariants
14162explicit by providing a function to check whether the invariants hold.")
14163 (license license:expat)))
14164
14165(define-public ghc-validity-bytestring
14166 (package
14167 (name "ghc-validity-bytestring")
14168 (version "0.4.1.1")
14169 (source
14170 (origin
14171 (method url-fetch)
14172 (uri (hackage-uri "validity-bytestring" version))
14173 (sha256
14174 (base32 "0ck7pn8c8srwdwpcx6x4ihixff07kigq8q9sjkc3zzyf54n93f3x"))))
14175 (build-system haskell-build-system)
14176 (properties '((upstream-name . "validity-bytestring")))
14177 (inputs (list ghc-validity))
14178 (home-page "https://github.com/NorfairKing/validity")
14179 (synopsis "Validity instances for bytestring")
14180 (description "Provides instances of the @code{Validity} type class for lazy
14181and strict @code{ByteString}s and @code{ShortByteString}s.")
14182 (license license:expat)))
14183
14184(define-public ghc-vault
14185 (package
14186 (name "ghc-vault")
14187 (version "0.3.1.5")
14188 (source
14189 (origin
14190 (method url-fetch)
14191 (uri (hackage-uri "vault" version))
14192 (sha256
14193 (base32 "181ksk1yixjg0jiggw5jvm8am8m8c7lim4xaixf8qnaqvxm6namc"))))
14194 (build-system haskell-build-system)
14195 (properties '((upstream-name . "vault")))
14196 (inputs (list ghc-unordered-containers ghc-hashable ghc-semigroups))
14197 (arguments
14198 `(#:cabal-revision ("10"
14199 "03nw9b08pqhk9ck7lqcixsnh3sxz7zz3jvb3xxfmc2kksrfc4b11")))
14200 (home-page "https://github.com/HeinrichApfelmus/vault")
14201 (synopsis "Persistent store for arbitrary values")
14202 (description
14203 "This package provides vaults for Haskell. A vault is a
14204persistent store for values of arbitrary types. It's like having first-class
14205access to the storage space behind @code{IORefs}. The data structure is
14206analogous to a bank vault, where you can access different bank boxes with
14207different keys; hence the name. Also provided is a @code{locker} type,
14208representing a store for a single element.")
14209 (license license:bsd-3)))
14210
14211(define-public ghc-vector
14212 (package
14213 (name "ghc-vector")
14214 (version "0.13.2.0")
14215 (source
14216 (origin
14217 (method url-fetch)
14218 (uri (hackage-uri "vector" version))
14219 (sha256
14220 (base32 "08y4j6nii17wc3fs3d2za0yifd3gqf73g8zyqdnsry6bhv3h7wi8"))))
14221 (build-system haskell-build-system)
14222 (properties '((upstream-name . "vector")))
14223 (inputs (list ghc-primitive ghc-vector-stream ghc-random ghc-tasty))
14224 (native-inputs (list ghc-base-orphans
14225 ghc-quickcheck
14226 ghc-tasty-hunit
14227 ghc-tasty-quickcheck
14228 ghc-base-orphans
14229 ghc-quickcheck
14230 ghc-tasty-hunit
14231 ghc-tasty-quickcheck
14232 ghc-doctest
14233 ghc-tasty-inspection-testing))
14234 (arguments
14235 (list
14236 #:phases
14237 #~(modify-phases %standard-phases
14238 (replace 'check
14239 (lambda* (#:key tests? #:allow-other-keys)
14240 (if tests?
14241 (let* ((tmpdir (or (getenv "TMP")
14242 "/tmp"))
14243 (dependency-package-db
14244 (string-append tmpdir "/package.conf.d"))
14245 (vector-package-db
14246 (string-append (getcwd) "/dist/package.conf.inplace")))
14247 (invoke "runhaskell" "Setup.hs" "test" "vector-tests-O0"
14248 "vector-tests-O2" "vector-inspection")
14249 (setenv "GHC_PACKAGE_PATH"
14250 (string-append vector-package-db ":"
14251 dependency-package-db))
14252 (invoke "./dist/build/vector-doctest/vector-doctest")
14253 (unsetenv "GHC_PACKAGE_PATH"))
14254 (format #t "Testsuite not run.%~")))))
14255 #:cabal-revision '("2"
14256 "1d3ma9zldfwlz7s41hmaz6jcxwpyh12cld44n1ys7n2jvb43ihws")))
14257 (home-page "https://github.com/haskell/vector")
14258 (synopsis "Efficient Arrays")
14259 (description
14260 "This library provides an efficient implementation of
14261Int-indexed arrays (both mutable and immutable), with a powerful loop
14262optimisation framework.")
14263 (license license:bsd-3)))
14264
14265(define-public ghc-vector-algorithms
14266 (package
14267 (name "ghc-vector-algorithms")
14268 (version "0.9.1.0")
14269 (source
14270 (origin
14271 (method url-fetch)
14272 (uri (hackage-uri "vector-algorithms" version))
14273 (sha256
14274 (base32 "1clfam0brcpjwpzz14di6d51nx5mnsk7sd9bd250srq2d1kp9dnj"))))
14275 (build-system haskell-build-system)
14276 (properties '((upstream-name . "vector-algorithms")))
14277 (inputs (list ghc-bitvec ghc-vector ghc-primitive))
14278 (native-inputs (list ghc-quickcheck))
14279 (home-page "https://github.com/erikd/vector-algorithms/")
14280 (synopsis "Algorithms for vector arrays in Haskell")
14281 (description "This Haskell library algorithms for vector arrays.")
14282 (license license:bsd-3)))
14283
14284(define-public ghc-vector-binary-instances
14285 (package
14286 (name "ghc-vector-binary-instances")
14287 (version "0.2.5.2")
14288 (source
14289 (origin
14290 (method url-fetch)
14291 (uri (hackage-uri "vector-binary-instances" version))
14292 (sha256
14293 (base32 "0kgmlb4rf89b18d348cf2k06xfhdpamhmvq7iz5pab5014hknbmp"))))
14294 (build-system haskell-build-system)
14295 (properties '((upstream-name . "vector-binary-instances")))
14296 (inputs (list ghc-vector))
14297 (native-inputs (list ghc-tasty ghc-tasty-quickcheck))
14298 (arguments
14299 `(#:cabal-revision ("5"
14300 "1svw25aid1vby7288b36d2mbqcvmggfr3ndv8ymj2y2jm72z5a4v")))
14301 (home-page "https://github.com/haskell/vector-binary-instances")
14302 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14303 (description
14304 "This library provides instances of @code{Binary} for the
14305types defined in the @code{vector} package, making it easy to serialize
14306vectors to and from disk. We use the generic interface to vectors, so all
14307vector types are supported. Specific instances are provided for unboxed,
14308boxed and storable vectors.")
14309 (license license:bsd-3)))
14310
14311(define-public ghc-vector-builder
14312 (package
14313 (name "ghc-vector-builder")
14314 (version "0.3.8.6")
14315 (source
14316 (origin
14317 (method url-fetch)
14318 (uri (hackage-uri "vector-builder" version))
14319 (sha256
14320 (base32 "1zspnyzahxahirx8gvrw5fnn6xnmsb24cm6vd8wldpp3355jdlbx"))))
14321 (build-system haskell-build-system)
14322 (properties '((upstream-name . "vector-builder")))
14323 (inputs (list ghc-vector))
14324 (native-inputs (list ghc-attoparsec
14325 ghc-quickcheck-instances
14326 ghc-rerebase
14327 ghc-tasty
14328 ghc-tasty-hunit
14329 ghc-tasty-quickcheck))
14330 (home-page "https://github.com/nikita-volkov/vector-builder")
14331 (synopsis "Vector builder for Haskell")
14332 (description
14333 "This Haskell package provides an API for constructing vectors.
14334It provides the composable @code{Builder} abstraction, which has instances of the
14335@code{Monoid} and @code{Semigroup} classes.
14336
14337You would first use the @code{Builder} abstraction to specify the structure of
14338the vector; then you can execute the builder to actually produce the
14339vector.")
14340 (license license:expat)))
14341
14342(define-public ghc-vector-hashtables
14343 (package
14344 (name "ghc-vector-hashtables")
14345 (version "0.1.2.1")
14346 (source (origin
14347 (method url-fetch)
14348 (uri (hackage-uri "vector-hashtables" version))
14349 (sha256
14350 (base32
14351 "1cdfvrpnia7bgqaw8yg0n23svbsdz72gss0hrkrvc5rwzxwhz49k"))))
14352 (build-system haskell-build-system)
14353 (properties '((upstream-name . "vector-hashtables")))
14354 (inputs (list ghc-primitive ghc-vector ghc-hashable))
14355 (native-inputs (list ghc-hspec ghc-quickcheck ghc-quickcheck-instances
14356 hspec-discover))
14357 (home-page "https://github.com/klapaucius/vector-hashtables#readme")
14358 (synopsis "Efficient vector-based mutable hashtables implementation")
14359 (description
14360 "This package provides efficient vector-based hashtable implementation
14361similar to .NET Generic Dictionary implementation (at the time of 2015).")
14362 (license license:bsd-3)))
14363
14364(define-public ghc-vector-th-unbox
14365 (package
14366 (name "ghc-vector-th-unbox")
14367 (version "0.2.2")
14368 (source
14369 (origin
14370 (method url-fetch)
14371 (uri (hackage-uri "vector-th-unbox" version))
14372 (sha256
14373 (base32 "0j81m09xxv24zziv0nanfppckzmas5184jr3npjhc9w49r3cm94a"))))
14374 (build-system haskell-build-system)
14375 (properties '((upstream-name . "vector-th-unbox")))
14376 (inputs (list ghc-vector))
14377 (native-inputs (list ghc-data-default))
14378 (arguments
14379 `(#:cabal-revision ("8"
14380 "1dzn47l5hqs541gjfq09r10rrqxw0wsj727kxkv334lw926npljh")))
14381 (home-page "https://github.com/tsurucapital/vector-th-unbox")
14382 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14383 (description
14384 "This Haskell library provides a Template Haskell
14385deriver for unboxed vectors, given a pair of coercion functions to
14386and from some existing type with an Unbox instance.")
14387 (license license:bsd-3)))
14388
14389(define-public ghc-void
14390 (package
14391 (name "ghc-void")
14392 (version "0.7.3")
14393 (source
14394 (origin
14395 (method url-fetch)
14396 (uri (hackage-uri "void" version))
14397 (sha256
14398 (base32 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
14399 (build-system haskell-build-system)
14400 (properties '((upstream-name . "void")))
14401 (home-page "http://github.com/ekmett/void")
14402 (synopsis "Logically uninhabited data type")
14403 (description
14404 "A Haskell 98 logically uninhabited data type, used to indicate that a
14405given term should not exist.")
14406 (license license:bsd-3)))
14407
14408(define-public ghc-vty
14409 (package
14410 (name "ghc-vty")
14411 (version "6.4")
14412 (source
14413 (origin
14414 (method url-fetch)
14415 (uri (hackage-uri "vty" version))
14416 (sha256
14417 (base32 "0iha15inmig2j2f4kljwb2jhbqa8vsh2aa8l7y5fsanjiciscrbi"))))
14418 (build-system haskell-build-system)
14419 (arguments
14420 `(#:cabal-revision ("2"
14421 "1dcnkfghflgn3qv72pdpa6npfdrrjqhil3wnxd75rbd4mf7812hf")))
14422 (properties '((upstream-name . "vty")))
14423 (inputs (list ghc-blaze-builder ghc-microlens ghc-microlens-mtl
14424 ghc-utf8-string ghc-vector))
14425 (home-page "https://github.com/jtdaugherty/vty")
14426 (synopsis "Simple terminal UI library")
14427 (description
14428 "vty is a terminal GUI library in the niche of ncurses, intended to be easy
14429to use and to provide good support for common terminal types.")
14430 (license license:bsd-3)))
14431
14432(define-public ghc-vty-crossplatform
14433 (package
14434 (name "ghc-vty-crossplatform")
14435 (version "0.4.0.0")
14436 (source
14437 (origin
14438 (method url-fetch)
14439 (uri (hackage-uri "vty-crossplatform" version))
14440 (sha256
14441 (base32 "06iwxgqrqzz05hmic7z5hxd48x0i49sk935vm0xfi0xq28sl7r9m"))))
14442 (build-system haskell-build-system)
14443 (properties '((upstream-name . "vty-crossplatform")))
14444 (inputs (list ghc-vty ghc-vty-unix ghc-random ghc-string-qq))
14445 (home-page "http://hackage.haskell.org/package/vty-crossplatform")
14446 (synopsis "Cross-platform support for Vty")
14447 (description
14448 "This package provides a generic interface for multiple Vty platforms in
14449one package so you don't have to conditionally depend on them in your cabal
14450file.")
14451 (license license:bsd-3)))
14452
14453(define-public ghc-vty-unix
14454 (package
14455 (name "ghc-vty-unix")
14456 (version "0.2.0.0")
14457 (source
14458 (origin
14459 (method url-fetch)
14460 (uri (hackage-uri "vty-unix" version))
14461 (sha256
14462 (base32 "1hfxc7qw884vlq8qshhyndl3zs10jc2xr6i69vhasjywkvh6gay2"))))
14463 (build-system haskell-build-system)
14464 (properties '((upstream-name . "vty-unix")))
14465 (inputs (list ghc-blaze-builder
14466 ghc-vty
14467 ghc-vector
14468 ghc-utf8-string
14469 ghc-microlens
14470 ghc-microlens-mtl
14471 ghc-microlens-th
14472 ghc-ansi-terminal))
14473 (home-page "http://hackage.haskell.org/package/vty-unix")
14474 (synopsis "Unix backend for Vty")
14475 (description "This package provides Unix terminal support for Vty.")
14476 (license license:bsd-3)))
14477
14478(define-public ghc-wave
14479 (package
14480 (name "ghc-wave")
14481 (version "0.2.1")
14482 (source
14483 (origin
14484 (method url-fetch)
14485 (uri (hackage-uri "wave" version))
14486 (sha256
14487 (base32 "1b8qm9jl453z9pklmqcz13f2abl69ab0j31151gz77l4dgxnnqzl"))))
14488 (build-system haskell-build-system)
14489 (properties '((upstream-name . "wave")))
14490 (inputs (list ghc-cereal))
14491 (native-inputs (list ghc-quickcheck ghc-hspec ghc-hspec-discover ghc-temporary))
14492 (arguments
14493 (list
14494 #:cabal-revision '("1"
14495 "1j6ycd1v6c5khkmybzss2vbfm93n28dh1ah8sipqqpd94yqwvdiz")
14496 #:phases
14497 #~(modify-phases %standard-phases
14498 (add-before 'configure 'relax-dependencies
14499 (lambda _
14500 (substitute* "wave.cabal"
14501 (("bytestring [<=>.0-9 &|]*") "bytestring < 0.13")))))))
14502 (home-page "https://github.com/mrkkrp/wave")
14503 (synopsis "Work with WAVE and RF64 files in Haskell")
14504 (description "This package allows you to work with WAVE and RF64
14505files in Haskell.")
14506 (license license:bsd-3)))
14507
14508(define-public ghc-wcwidth
14509 (package
14510 (name "ghc-wcwidth")
14511 (version "0.0.2")
14512 (source
14513 (origin
14514 (method url-fetch)
14515 (uri (hackage-uri "wcwidth" version))
14516 (sha256
14517 (base32 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14518 (build-system haskell-build-system)
14519 (properties '((upstream-name . "wcwidth")))
14520 (inputs (list ghc-setlocale ghc-utf8-string ghc-attoparsec))
14521 (home-page "http://github.com/solidsnack/wcwidth/")
14522 (synopsis "Haskell bindings to wcwidth")
14523 (description
14524 "This package provides Haskell bindings to your system's
14525native wcwidth and a command line tool to examine the widths assigned by it.
14526The command line tool can compile a width table to Haskell code that assigns
14527widths to the Char type.")
14528 (license license:bsd-3)))
14529
14530(define-public ghc-weigh
14531 (package
14532 (name "ghc-weigh")
14533 (version "0.0.18")
14534 (source
14535 (origin
14536 (method url-fetch)
14537 (uri (hackage-uri "weigh" version))
14538 (sha256
14539 (base32 "0bzix1dzq8ndhfxzpsm2sdjssdd0vzy7psj7gkg0rnvbcgf2w1nl"))))
14540 (build-system haskell-build-system)
14541 (properties '((upstream-name . "weigh")))
14542 (inputs (list ghc-split ghc-temporary ghc-criterion-measurement))
14543 (home-page "https://github.com/fpco/weigh#readme")
14544 (synopsis "Measure allocations of a Haskell functions/values")
14545 (description "This package provides tools to measure the memory usage of a
14546Haskell value or function.")
14547 (license license:bsd-3)))
14548
14549(define-public ghc-wizards
14550 (package
14551 (name "ghc-wizards")
14552 (version "1.0.3")
14553 (source
14554 (origin
14555 (method url-fetch)
14556 (uri (hackage-uri "wizards" version))
14557 (sha256
14558 (base32 "1clvbd1ckhvy29qrbmpkn7bya7300fq6znnps23nn3nxyrxhsr85"))))
14559 (build-system haskell-build-system)
14560 (properties '((upstream-name . "wizards")))
14561 (inputs (list ghc-control-monad-free))
14562 (arguments
14563 `(#:cabal-revision ("3"
14564 "0ra3vbxiasm7277zyxpvqpij2nf4lgc1rsv91b00cpp3bs4rhxyb")))
14565 (home-page "http://hackage.haskell.org/package/wizards")
14566 (synopsis "High level, generic library for interrogative user interfaces")
14567 (description
14568 "@code{wizards} is a package designed for the quick and painless
14569development of @emph{interrogative} programs, which revolve around a dialogue
14570with the user, who is asked a series of questions in a sequence much like an
14571installation wizard.
14572
14573Everything from interactive system scripts, to installation wizards, to
14574full-blown shells can be implemented with the support of @code{wizards}.
14575
14576It is developed transparently on top of a free monad, which separates out the
14577semantics of the program from any particular interface. A variety of backends
14578exist, including console-based @code{System.Console.Wizard.Haskeline} and
14579@code{System.Console.Wizard.BasicIO}, and the pure
14580@code{System.Console.Wizard.Pure}. It is also possible to write your own
14581backends, or extend existing back-ends with new features. While both built-in
14582IO backends operate on a console, there is no reason why @code{wizards} cannot
14583also be used for making GUI wizard interfaces.")
14584 (license license:bsd-3)))
14585
14586(define-public ghc-wl-pprint
14587 (package
14588 (name "ghc-wl-pprint")
14589 (version "1.2.1")
14590 (source
14591 (origin
14592 (method url-fetch)
14593 (uri (hackage-uri "wl-pprint" version))
14594 (sha256
14595 (base32 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14596 (build-system haskell-build-system)
14597 (properties '((upstream-name . "wl-pprint")))
14598 (home-page "http://hackage.haskell.org/package/wl-pprint")
14599 (synopsis "Wadler/Leijen pretty printer")
14600 (description
14601 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14602Printer}. This version allows the library user to declare overlapping
14603instances of the @code{Pretty} class.")
14604 (license license:bsd-3)))
14605
14606(define-public ghc-wl-pprint-annotated
14607 (package
14608 (name "ghc-wl-pprint-annotated")
14609 (version "0.1.0.1")
14610 (source
14611 (origin
14612 (method url-fetch)
14613 (uri (hackage-uri "wl-pprint-annotated" version))
14614 (sha256
14615 (base32 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14616 (build-system haskell-build-system)
14617 (properties '((upstream-name . "wl-pprint-annotated")))
14618 (inputs (list ghc-semigroups))
14619 (native-inputs (list ghc-tasty ghc-tasty-hunit))
14620 (arguments
14621 `(#:cabal-revision ("4"
14622 "0via6f17s80d2kgw5ir7ii9ahmgp5ppky7pxschx4jrj3a88rypy")))
14623 (home-page "https://github.com/minad/wl-pprint-annotated#readme")
14624 (synopsis "Wadler/Leijen pretty printer with annotation support")
14625 (description
14626 "Annotations are useful for coloring. This is a limited version of
14627@code{wl-pprint-extras} without support for point effects and without the free
14628monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14629Compared to @code{annotated-wl-pprint} this library provides a slightly
14630modernized interface.")
14631 (license license:bsd-3)))
14632
14633(define-public ghc-wl-pprint-text
14634 (package
14635 (name "ghc-wl-pprint-text")
14636 (version "1.2.0.2")
14637 (source
14638 (origin
14639 (method url-fetch)
14640 (uri (hackage-uri "wl-pprint-text" version))
14641 (sha256
14642 (base32 "0axivwh7bxmljxpfnccs66knxzrqck07byxmp2j737xbb26pf5cj"))))
14643 (build-system haskell-build-system)
14644 (properties '((upstream-name . "wl-pprint-text")))
14645 (inputs (list ghc-base-compat))
14646 (arguments
14647 `(#:cabal-revision ("3"
14648 "1gc1vjzdhax9ybkjynsxkq4ah9ds14cy81wm1c4p9fnw2h356jhw")))
14649 (home-page "http://hackage.haskell.org/package/wl-pprint-text")
14650 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14651 (description "A clone of wl-pprint for use with the text library.")
14652 (license license:bsd-3)))
14653
14654(define-public ghc-word-wrap
14655 (package
14656 (name "ghc-word-wrap")
14657 (version "0.5")
14658 (source
14659 (origin
14660 (method url-fetch)
14661 (uri (hackage-uri "word-wrap" version))
14662 (sha256
14663 (base32 "0i57233g4p9p8c0jf9mp3pvknwgv1lsrxm4mxjay38rw0372jpzq"))))
14664 (build-system haskell-build-system)
14665 (properties '((upstream-name . "word-wrap")))
14666 (native-inputs (list ghc-hspec))
14667 (home-page "https://github.com/jtdaugherty/word-wrap/")
14668 (synopsis "Haskell library for word-wrapping text")
14669 (description
14670 "The @code{word-wrap} Haskell library wraps long lines of text.")
14671 (license license:bsd-3)))
14672
14673(define-public ghc-word8
14674 (package
14675 (name "ghc-word8")
14676 (version "0.1.3")
14677 (source
14678 (origin
14679 (method url-fetch)
14680 (uri (hackage-uri "word8" version))
14681 (sha256
14682 (base32 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14683 (build-system haskell-build-system)
14684 (properties '((upstream-name . "word8")))
14685 (native-inputs (list ghc-hspec hspec-discover))
14686 (home-page "http://hackage.haskell.org/package/word8")
14687 (synopsis "Word8 library for Haskell")
14688 (description "Word8 library to be used with @code{Data.ByteString}.")
14689 (license license:bsd-3)))
14690
14691(define-public ghc-wordexp
14692 (package
14693 (name "ghc-wordexp")
14694 (version "0.2.2")
14695 (source
14696 (origin
14697 (method url-fetch)
14698 (uri (hackage-uri "wordexp" version))
14699 (sha256
14700 (base32
14701 "1mbcrq89jz0dcibw66w0jdy4f4bfpx4zwjfs98rm3jjgdikwdzb4"))))
14702 (build-system haskell-build-system)
14703 (properties '((upstream-name . "wordexp")))
14704 (native-inputs (list ghc-c2hs))
14705 (inputs
14706 (list ghc-semigroups))
14707 (home-page "https://hackage.haskell.org/package/wordexp")
14708 (synopsis "Library wrapping @code{wordexp} for Haskell")
14709 (description "@code{wordexp(3)} wrapper library for Haskell to perform
14710word expansion like a posix-shell.")
14711 (license license:bsd-3)))
14712
14713(define-public ghc-x11
14714 (package
14715 (name "ghc-x11")
14716 (version "1.10.3")
14717 (source
14718 (origin
14719 (method url-fetch)
14720 (uri (hackage-uri "X11" version))
14721 (sha256
14722 (base32 "0hnj2q310a6s0h479hq8jsmywymvxdjxg13zw46mmdndynwd2jnq"))))
14723 (build-system haskell-build-system)
14724 (properties '((upstream-name . "X11")))
14725 (inputs (list libx11 libxrandr libxinerama libxscrnsaver
14726 ghc-data-default-class))
14727 (arguments
14728 `(#:extra-directories
14729 ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")
14730 #:cabal-revision ("1"
14731 "005g8q56bxc2w0cf2xgydqfs1r07bf17syv5smffvfx36h8gw78d")))
14732 (home-page "https://github.com/xmonad/X11")
14733 (synopsis "Bindings to the X11 graphics library")
14734 (description
14735 "This package provides Haskell bindings to the X11 graphics library. The
14736bindings are a direct translation of the C bindings.")
14737 (license license:bsd-3)))
14738
14739(define-public ghc-x11-xft
14740 (package
14741 (name "ghc-x11-xft")
14742 (version "0.3.4")
14743 (source
14744 (origin
14745 (method url-fetch)
14746 (uri (hackage-uri "X11-xft" version))
14747 (sha256
14748 (base32 "05m988r45jiqpxqsw3vafz158whlwfcl7v8z9nnqnqz9mggd4032"))))
14749 (build-system haskell-build-system)
14750 (properties '((upstream-name . "X11-xft")))
14751 (arguments
14752 `(#:extra-directories ("libx11" "libxft" "xorgproto")))
14753 (inputs (list ghc-x11 ghc-utf8-string libx11 libxft xorgproto))
14754 (native-inputs (list pkg-config))
14755 (home-page "https://hackage.haskell.org/package/X11-xft")
14756 (synopsis "Bindings to Xft")
14757 (description
14758 "Bindings to the Xft, X Free Type interface library, and some Xrender
14759parts.")
14760 (license license:bsd-3)))
14761
14762(define-public ghc-xdg-basedir
14763 (package
14764 (name "ghc-xdg-basedir")
14765 (version "0.2.2")
14766 (source
14767 (origin
14768 (method url-fetch)
14769 (uri (hackage-uri "xdg-basedir" version))
14770 (sha256
14771 (base32 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14772 (build-system haskell-build-system)
14773 (properties '((upstream-name . "xdg-basedir")))
14774 (home-page "http://github.com/willdonnelly/xdg-basedir")
14775 (synopsis "XDG Base Directory library for Haskell")
14776 (description
14777 "This package provides a library implementing the XDG Base Directory spec.")
14778 (license license:bsd-3)))
14779
14780(define-public ghc-xml
14781 (package
14782 (name "ghc-xml")
14783 (version "1.3.14")
14784 (source
14785 (origin
14786 (method url-fetch)
14787 (uri (hackage-uri "xml" version))
14788 (sha256
14789 (base32 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14790 (build-system haskell-build-system)
14791 (properties '((upstream-name . "xml")))
14792 (arguments
14793 `(#:cabal-revision ("2"
14794 "15cxa19dp8nqvrrp0bmndkdas2jzg573x8ri75r6kiv8r4vkv8y7")))
14795 (home-page "https://github.com/GaloisInc/xml")
14796 (synopsis "Simple XML library for Haskell")
14797 (description "This package provides a simple XML library for Haskell.")
14798 (license license:bsd-3)))
14799
14800(define-public ghc-xml-conduit
14801 (package
14802 (name "ghc-xml-conduit")
14803 (version "1.10.0.1")
14804 (source
14805 (origin
14806 (method url-fetch)
14807 (uri (hackage-uri "xml-conduit" version))
14808 (sha256
14809 (base32 "09nwn4yv2z8hv7shfpmv9avpxci21kk0dgbslgaymml0jny0la31"))))
14810 (build-system haskell-build-system)
14811 (properties '((upstream-name . "xml-conduit")))
14812 (inputs (list ghc-conduit
14813 ghc-conduit-extra
14814 ghc-resourcet
14815 ghc-xml-types
14816 ghc-attoparsec
14817 ghc-data-default
14818 ghc-blaze-markup
14819 ghc-blaze-html))
14820 (native-inputs (list ghc-hspec ghc-hunit ghc-doctest cabal-doctest))
14821 (home-page "http://github.com/snoyberg/xml")
14822 (synopsis "Utilities for dealing with XML with the conduit package")
14823 (description
14824 "This package provides pure-Haskell utilities for dealing with XML with
14825the @code{conduit} package.")
14826 (license license:expat)))
14827
14828(define-public ghc-xml-types
14829 (package
14830 (name "ghc-xml-types")
14831 (version "0.3.8")
14832 (source
14833 (origin
14834 (method url-fetch)
14835 (uri (hackage-uri "xml-types" version))
14836 (sha256
14837 (base32 "102cm0nvfmf9gn8hvn5z8qvmg931laczs33wwd5iyz9bc37f9mfs"))))
14838 (build-system haskell-build-system)
14839 (properties '((upstream-name . "xml-types")))
14840 (home-page "https://git.singpolyma.net/xml-types-haskell")
14841 (synopsis "Basic types for representing XML")
14842 (description "This package provides basic types for representing XML
14843documents.")
14844 (license license:expat)))
14845
14846(define-public ghc-xml-hamlet
14847 (package
14848 (name "ghc-xml-hamlet")
14849 (version "0.5.0.2")
14850 (source
14851 (origin
14852 (method url-fetch)
14853 (uri (hackage-uri "xml-hamlet" version))
14854 (sha256
14855 (base32 "109fck1626d74s00ssjffg837584wf7dxpswkil37wqqfy94mw2z"))))
14856 (build-system haskell-build-system)
14857 (properties '((upstream-name . "xml-hamlet")))
14858 (inputs (list ghc-shakespeare ghc-xml-conduit))
14859 (native-inputs (list ghc-hspec ghc-hunit))
14860 (home-page "http://www.yesodweb.com/")
14861 (synopsis "Hamlet-style quasiquoter for XML content")
14862 (description
14863 "This package provides a type-safe tool for generating XML
14864code via quasi-quoting built on top of @code{ghc-shakespeare}.")
14865 (license license:bsd-3)))
14866
14867(define-public ghc-yaml
14868 (package
14869 (name "ghc-yaml")
14870 (version "0.11.11.2")
14871 (source
14872 (origin
14873 (method url-fetch)
14874 (uri (hackage-uri "yaml" version))
14875 (sha256
14876 (base32 "0bywv5q9a9yc8zxn4si5kp9gbfjrx8ham2n52d2ggzmhwlz94x7f"))))
14877 (build-system haskell-build-system)
14878 (properties '((upstream-name . "yaml")))
14879 (inputs (list ghc-aeson
14880 ghc-attoparsec
14881 ghc-conduit
14882 ghc-libyaml
14883 ghc-resourcet
14884 ghc-scientific
14885 ghc-unordered-containers
14886 ghc-vector
14887 ghc-optparse-applicative))
14888 (native-inputs (list ghc-hunit
14889 ghc-base-compat
14890 ghc-hspec
14891 hspec-discover
14892 ghc-mockery
14893 ghc-raw-strings-qq
14894 ghc-temporary))
14895 (arguments
14896 `(#:cabal-revision ("2"
14897 "13gq30d720vaw4slwd14pi0pg116kazyjzxw1pjnhc7vw1cih2kg")))
14898 (home-page "https://github.com/snoyberg/yaml#readme")
14899 (synopsis "Parsing and rendering YAML documents")
14900 (description
14901 "This package provides a library to parse and render YAML documents.")
14902 (license license:bsd-3)))
14903
14904(define-public ghc-zip-archive
14905 (package
14906 (name "ghc-zip-archive")
14907 (version "0.4.3.2")
14908 (source
14909 (origin
14910 (method url-fetch)
14911 (uri (hackage-uri "zip-archive" version))
14912 (sha256
14913 (base32 "0p6b4n4z3qa9f5vh25lqf7b8gdf5qcfs4zsnlzr12m0xgysfdnk1"))))
14914 (build-system haskell-build-system)
14915 (properties '((upstream-name . "zip-archive")))
14916 (inputs (list ghc-zlib ghc-digest))
14917 (native-inputs (list ghc-hunit ghc-temporary unzip which))
14918 (arguments
14919 `(#:cabal-revision ("1"
14920 "0vz55ja77fvza28clp1xn92ca1621dqhpb2gm4zi2yjjsp8gc95j")))
14921 (home-page "http://github.com/jgm/zip-archive")
14922 (synopsis "Zip archive library for Haskell")
14923 (description
14924 "The zip-archive library provides functions for creating,
14925modifying, and extracting files from zip archives in Haskell.")
14926 (license license:bsd-3)))
14927
14928(define-public ghc-zlib
14929 (package
14930 (name "ghc-zlib")
14931 (version "0.7.1.0")
14932 (source
14933 (origin
14934 (method url-fetch)
14935 (uri (hackage-uri "zlib" version))
14936 (sha256
14937 (base32 "1g2md8z0ijcbrqlx9q9i49myi2lnlvzmma1ajmsd5y0xp2v3ipbf"))))
14938 (build-system haskell-build-system)
14939 (properties '((upstream-name . "zlib")))
14940 (inputs (list zlib))
14941 (native-inputs (list pkg-config ghc-quickcheck ghc-tasty ghc-tasty-quickcheck))
14942 (arguments
14943 `(#:cabal-revision ("2"
14944 "01m2afpizlscn65v12vmcmmycs66a14xb8nsgrm5145lq1slmrl5")))
14945 (home-page "http://hackage.haskell.org/package/zlib")
14946 (synopsis "Compression and decompression in the gzip and zlib formats")
14947 (description
14948 "This package provides a pure interface for compressing and decompressing
14949streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14950library so it has high performance. It supports the @code{zlib}, @code{gzip}
14951and @code{raw} compression formats. It provides a convenient high level API
14952suitable for most tasks and for the few cases where more control is needed it
14953provides access to the full zlib feature set.")
14954 (license license:bsd-3)))
14955
14956(define-public ghc-zlib-bindings
14957 (package
14958 (name "ghc-zlib-bindings")
14959 (version "0.1.1.5")
14960 (source
14961 (origin
14962 (method url-fetch)
14963 (uri (hackage-uri "zlib-bindings" version))
14964 (sha256
14965 (base32 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14966 (build-system haskell-build-system)
14967 (properties '((upstream-name . "zlib-bindings")))
14968 (inputs (list ghc-zlib))
14969 (native-inputs (list ghc-hspec ghc-quickcheck))
14970 (arguments
14971 `(#:cabal-revision ("2"
14972 "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14973 (home-page "http://github.com/snapframework/zlib-bindings")
14974 (synopsis "Low-level bindings to the @code{zlib} package")
14975 (description "This package provides low-level bindings to the
14976@code{zlib} package.")
14977 (license license:bsd-3)))
14978
14979(define-public ghc-zstd
14980 (package
14981 (name "ghc-zstd")
14982 (version "0.1.3.0")
14983 (source
14984 (origin
14985 (method url-fetch)
14986 (uri (hackage-uri "zstd" version))
14987 (sha256
14988 (base32 "0vghl48cxcqy72sqk2gpi7rvy5ya36j13vndaxi6kck6bqivbhm0"))))
14989 (build-system haskell-build-system)
14990 (properties '((upstream-name . "zstd")))
14991 (native-inputs (list ghc-quickcheck ghc-test-framework
14992 ghc-test-framework-quickcheck2))
14993 (home-page "https://github.com/luispedro/hs-zstd")
14994 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14995 (description
14996 "This library provides Haskell bindings to the
14997Zstandard compression algorithm, a fast lossless compression algorithm
14998targeting real-time compression scenarios at zlib-level and better
14999compression ratios.")
15000 (license license:bsd-3)))
15001
15002(define-public ghc-indexed-traversable
15003 (package
15004 (name "ghc-indexed-traversable")
15005 (version "0.1.4")
15006 (source
15007 (origin
15008 (method url-fetch)
15009 (uri (hackage-uri "indexed-traversable" version))
15010 (sha256
15011 (base32 "08ivs1shxnvw5fzklvg7yh4xy0nnh3gsglm059fa5m9svyphkgjq"))))
15012 (build-system haskell-build-system)
15013 (properties '((upstream-name . "indexed-traversable")))
15014 (arguments
15015 `(#:cabal-revision ("1"
15016 "0zbys0254a7bsq4x297s1lagcbw7va5bkjikh8j7rhd0cm5fina2")))
15017 (home-page "http://hackage.haskell.org/package/indexed-traversable")
15018 (synopsis "Indexed Functor, Foldable, and Traversable typeclasses")
15019 (description
15020 "This Haskell package provides three useful generalizations:
15021
15022@example
15023class Functor f => FunctorWithIndex i f | f -> i where
15024 imap :: (i -> a -> b) -> f a -> f b
15025@end example
15026
15027@example
15028class Foldable f => FoldableWithIndex i f | f -> i where
15029 ifoldMap :: Monoid m => (i -> a -> m) -> f a -> m
15030@end example
15031
15032@example
15033class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t)
15034 => TraversableWithIndex i t | t -> i where
15035 itraverse :: Applicative f => (i -> a -> f b) -> t a -> f (t b)
15036@end example
15037
15038The @code{ghc-keys} package provides similar functionality, but uses
15039associated @code{TypeFamilies} instead of @code{FunctionalDependencies}.")
15040 (license license:bsd-2)))
15041
15042(define-public ghc-type-equality
15043 (package
15044 (name "ghc-type-equality")
15045 (version "1.0.1")
15046 (source
15047 (origin
15048 (method url-fetch)
15049 (uri (hackage-uri "type-equality" version))
15050 (sha256
15051 (base32 "1jfdm0g5r285bbarqc6pb6nmjg03m1s6jdh5lq0zr7xasd8q429b"))))
15052 (build-system haskell-build-system)
15053 (properties '((upstream-name . "type-equality")))
15054 (arguments
15055 `(#:cabal-revision ("1"
15056 "0syx1a6bx22nyllb5y9x80znl5j94b0dqa9qcfk95d047j25mdjh")))
15057 (home-page "https://github.com/hesselink/type-equality")
15058 (synopsis "@code{Data.Type.Equality} compatibility package")
15059 (description
15060 "This library defines a propositional equality data type, shims
15061@code{Data.Type.Equality} as well as possible for older GHC versions (< 7.8).
15062
15063@example
15064data a :~: b where
15065 Refl :: a :~: a
15066@end example
15067
15068The module @code{Data.Type.Equality.Hetero} shims @@code{:~~:} equality, and
15069for compilers with @code{PolyKinds}.")
15070 (license license:bsd-3)))
15071
15072(define-public ghc-typst-symbols
15073 (package
15074 (name "ghc-typst-symbols")
15075 (version "0.1.8.1")
15076 (source
15077 (origin
15078 (method url-fetch)
15079 (uri (hackage-uri "typst-symbols" version))
15080 (sha256
15081 (base32 "1va29x72r0w0bms7wfsrhbnfn8cha1ghbaj33y62kflm50k9hwrg"))))
15082 (build-system haskell-build-system)
15083 (properties '((upstream-name . "typst-symbols")))
15084 (home-page "https://github.com/jgm/typst-symbols")
15085 (synopsis "Symbol and emoji lookup for typst language")
15086 (description
15087 "This package defines symbol and emoji codes for the typst language
15088(<https://typst.app>).")
15089 (license license:expat)))
15090
15091(define-public ghc-typst
15092 (package
15093 (name "ghc-typst")
15094 (version "0.8.0.2")
15095 (source
15096 (origin
15097 (method url-fetch)
15098 (uri (hackage-uri "typst" version))
15099 (sha256
15100 (base32 "1q17vy9x5g64zzw5156bdh3mippin6ygkc3yqk0mbffkrfdcn21m"))))
15101 (build-system haskell-build-system)
15102 (properties '((upstream-name . "typst")))
15103 (inputs (list ghc-typst-symbols
15104 ghc-vector
15105 ghc-ordered-containers
15106 ghc-cassava
15107 ghc-aeson
15108 ghc-scientific
15109 ghc-xml-conduit
15110 ghc-yaml
15111 ghc-toml-parser
15112 ghc-regex-tdfa))
15113 (native-inputs (list ghc-pretty-show ghc-tasty ghc-tasty-golden))
15114 (home-page "http://hackage.haskell.org/package/typst")
15115 (synopsis "Parsing and evaluating typst syntax.")
15116 (description
15117 "This package provides a library for parsing and evaluating typst syntax. Typst
15118(<https://typst.app>) is a document layout and formatting language. This
15119library targets typst 0.13 and currently offers only partial support.")
15120 (license license:bsd-3)))
15121
15122(define-public ghc-selective
15123 (package
15124 (name "ghc-selective")
15125 (version "0.7.0.1")
15126 (source
15127 (origin
15128 (method url-fetch)
15129 (uri (hackage-uri "selective" version))
15130 (sha256
15131 (base32 "1qxfnqidlqw5hbsqs80i77nrkanz73jzyd4w157gamkr3kklpyyv"))
15132 (snippet
15133 #~(substitute* "selective.cabal"
15134 (("QuickCheck [<>=0-9. &|]*") "QuickCheck < 2.16")))
15135 (modules '((guix build utils)))))
15136 (build-system haskell-build-system)
15137 (properties '((upstream-name . "selective")))
15138 (native-inputs (list ghc-quickcheck))
15139 (home-page "https://github.com/snowleopard/selective")
15140 (synopsis "Selective applicative functors")
15141 (description
15142 "This package implements selective applicative functors, which allow you
15143to declare your effects statically, and select which to execute dynamically.
15144See the
15145@uref{https://www.staff.ncl.ac.uk/andrey.mokhov/selective-functors.pdf, paper
15146on selective functors} for more details.")
15147 (license license:expat)))
15148
15149(define-public ghc-keys
15150 (package
15151 (name "ghc-keys")
15152 (version "3.12.4")
15153 (source
15154 (origin
15155 (method url-fetch)
15156 (uri (hackage-uri "keys" version))
15157 (sha256
15158 (base32 "04l9ssmns3v2xzfrk5pxcacvl8nh26rsw5hhw22v4zxzbh9s44ll"))))
15159 (build-system haskell-build-system)
15160 (properties '((upstream-name . "keys")))
15161 (inputs (list ghc-comonad
15162 ghc-free
15163 ghc-hashable
15164 ghc-semigroupoids
15165 ghc-semigroups
15166 ghc-tagged
15167 ghc-transformers-compat
15168 ghc-unordered-containers))
15169 (arguments
15170 `(#:cabal-revision ("1"
15171 "05ma1kakwvvm618fmlwhkz16230w3qsn3p10c3zjysjhn1g0hhyf")))
15172 (home-page "http://github.com/ekmett/keys/")
15173 (synopsis "Keyed functors and containers")
15174 (description
15175 "This package provides a bunch of ad hoc classes for accessing parts of
15176a container. In practice this package is largely subsumed by the
15177@code{ghc-lens}, but it is maintained for now as it has much simpler
15178dependencies.")
15179 (license license:bsd-3)))
15180
15181(define-public ghc-pointed
15182 (package
15183 (name "ghc-pointed")
15184 (version "5.0.5")
15185 (source
15186 (origin
15187 (method url-fetch)
15188 (uri (hackage-uri "pointed" version))
15189 (sha256
15190 (base32 "1wbfpd978pnkrbi05sf0yj6f50flxr9vl5m85xv3y22hzg6rb7gr"))))
15191 (build-system haskell-build-system)
15192 (properties '((upstream-name . "pointed")))
15193 (inputs (list ghc-data-default-class
15194 ghc-comonad
15195 ghc-kan-extensions
15196 ghc-semigroupoids
15197 ghc-tagged
15198 ghc-transformers-compat
15199 ghc-hashable
15200 ghc-unordered-containers))
15201 (arguments
15202 `(#:cabal-revision ("1"
15203 "0419jrc452kc24m764drlihmmx3aayzrf5lvrdvq6d327bkx2byh")))
15204 (home-page "http://github.com/ekmett/pointed/")
15205 (synopsis "Pointed and copointed data types")
15206 (description
15207 "This Haskell library provides pointed and copointed data types.")
15208 (license license:bsd-3)))
15209
15210(define-public ghc-vector-instances
15211 (package
15212 (name "ghc-vector-instances")
15213 (version "3.4.3")
15214 (source
15215 (origin
15216 (method url-fetch)
15217 (uri (hackage-uri "vector-instances" version))
15218 (sha256
15219 (base32 "1ajc65vj5j02qzfx11zvgmfx4lh5r99h4hg8wacdkyk1vw1rh9b7"))))
15220 (build-system haskell-build-system)
15221 (properties '((upstream-name . "vector-instances")))
15222 (inputs (list ghc-vector
15223 ghc-semigroupoids
15224 ghc-comonad
15225 ghc-pointed
15226 ghc-keys
15227 ghc-hashable))
15228 (home-page "http://github.com/ekmett/vector-instances")
15229 (synopsis "Orphan instances for @code{Data.Vector}")
15230 (description
15231 "This Haskell library provides a place for lots of orphan instances for
15232the @code{ghc-vector} package.")
15233 (license license:bsd-3)))
15234
15235(define-public ghc-vector-stream
15236 (package
15237 (name "ghc-vector-stream")
15238 (version "0.1.0.1")
15239 (source
15240 (origin
15241 (method url-fetch)
15242 (uri (hackage-uri "vector-stream" version))
15243 (sha256
15244 (base32 "0z5z88flyassdpgga412qci6brr9gyljbx875wd479fy9crhgxfh"))))
15245 (build-system haskell-build-system)
15246 (properties '((upstream-name . "vector-stream")))
15247 (arguments
15248 `(#:cabal-revision ("4"
15249 "17i8x8vsnb853pagq4zsm6zfgv4zdxk8j1b42ylnj8f72ggycfs8")))
15250 (home-page "https://github.com/haskell/vector")
15251 (synopsis "Efficient Streams")
15252 (description
15253 "Simple yet powerful monadic streams that are used as a backbone for vector
15254package fusion functionality.")
15255 (license license:bsd-3)))
15256
15257(define-public ghc-th-compat
15258 (package
15259 (name "ghc-th-compat")
15260 (version "0.1.6")
15261 (source
15262 (origin
15263 (method url-fetch)
15264 (uri (hackage-uri "th-compat" version))
15265 (sha256
15266 (base32 "1sx4l374vjw3clc7a3vk8kkq37kxzbv9h3nh0racjaw7b70a10dp"))))
15267 (build-system haskell-build-system)
15268 (properties '((upstream-name . "th-compat")))
15269 (native-inputs (list ghc-hspec hspec-discover))
15270 (home-page "https://github.com/haskell-compat/th-compat")
15271 (synopsis
15272 "Backward- and forward-compatible @code{Quote} and @code{Code} types")
15273 (description
15274 "This package defines a @code{Language.Haskell.TH.Syntax.Compat} module,
15275which backports the @code{Quote} and @code{Code} types to work across a wide
15276range of @code{template-haskell} versions. On recent versions of
15277@code{template-haskell} (2.17.0.0 or later), this module simply re-exports
15278@code{Quote} and @code{Code} from @code{Language.Haskell.TH.Syntax}.")
15279 (license license:bsd-3)))
15280
15281(define-public ghc-filepattern
15282 (package
15283 (name "ghc-filepattern")
15284 (version "0.1.3")
15285 (source
15286 (origin
15287 (method url-fetch)
15288 (uri (hackage-uri "filepattern" version))
15289 (sha256
15290 (base32 "0dlnwnwhsfdkwm69z66wj5d2x9n3la55glq4fsn5rxm2kr1msi6c"))))
15291 (build-system haskell-build-system)
15292 (properties '((upstream-name . "filepattern")))
15293 (inputs (list ghc-extra))
15294 (native-inputs (list ghc-quickcheck))
15295 (home-page "https://github.com/ndmitchell/filepattern#readme")
15296 (synopsis "File path glob-like matching")
15297 (description
15298 "This package provides Haskell library for matching files using patterns
15299such as @code{\\\"src\\/**\\/*.png\\\"} for all @@file{.png} files recursively
15300under the @@file{src} directory.
15301
15302Some of its features include:
15303
15304@itemize
15305@item All matching is O(n).
15306
15307@item Most functions pre-compute some information given only one argument.
15308
15309@item Uses @code{match} and @code{substitute} to extract suitable strings from
15310the @code{*} and @code{**} matches, and substitutes them back into other
15311patterns.
15312
15313@item Uses @code{step} and @code{matchMany} to perform bulk matching of many
15314patterns against many paths simultaneously.
15315
15316@item Uses @code{System.FilePattern.Directory} to perform optimised directory
15317traverals using patterns.
15318@end itemize")
15319 (license license:bsd-3)))
15320
15321(define-public ghc-lib-parser-ex
15322 (package
15323 (name "ghc-lib-parser-ex")
15324 (version "9.12.0.0")
15325 (source
15326 (origin
15327 (method url-fetch)
15328 (uri (hackage-uri "ghc-lib-parser-ex" version))
15329 (sha256
15330 (base32 "0w8mfa0g55m5i5ysxlkgci1grssi76za4523ygmsicb0ibq9ajb2"))))
15331 (build-system haskell-build-system)
15332 (properties '((upstream-name . "ghc-lib-parser-ex")))
15333 (inputs (list ghc-lib-parser ghc-uniplate ghc-extra
15334 ghc-optparse-applicative))
15335 (native-inputs (list ghc-tasty ghc-tasty-hunit))
15336 (home-page "https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme")
15337 (synopsis "Algorithms on GHC parse trees")
15338 (description
15339 "The @code{ghc-lib-parser-ex} package contains GHC API parse tree utilities.")
15340 (license license:bsd-3)))
15341
15342(define-public ghc-lift-type
15343 (package
15344 (name "ghc-lift-type")
15345 (version "0.1.2.0")
15346 (source
15347 (origin
15348 (method url-fetch)
15349 (uri (hackage-uri "lift-type" version))
15350 (sha256
15351 (base32 "1i43px33w8pjhm4s7z2ys3546qshsd7dnjyxlhq0prkhfjfg4rbc"))))
15352 (build-system haskell-build-system)
15353 (properties '((upstream-name . "lift-type")))
15354 (native-inputs (list ghc-hspec))
15355 (home-page "https://github.com/parsonsmatt/lift-type#readme")
15356 (synopsis
15357 "Lift a type from a Typeable constraint to a Template Haskell type")
15358 (description
15359 "This library provides a utility function @code{liftType}, which accepts a type
15360application argument and returns the Template Haskell @code{Type} representation of
15361it.")
15362 (license license:bsd-3)))
15363
15364(define-public ghc-unicode-collation
15365 (package
15366 (name "ghc-unicode-collation")
15367 (version "0.1.3.6")
15368 (source
15369 (origin
15370 (method url-fetch)
15371 (uri (hackage-uri "unicode-collation" version))
15372 (sha256
15373 (base32 "0c1s1n4cqhjibiv05h5qfl4cg4h11ny4jay0gqnqg36z9kb66hfn"))))
15374 (build-system haskell-build-system)
15375 (properties '((upstream-name . "unicode-collation")))
15376 (inputs (list ghc-th-lift-instances))
15377 (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit
15378 ghc-unicode-transforms ghc-doctest))
15379 (arguments
15380 `(#:cabal-revision ("2"
15381 "01jnv53mizky61zr1i469wk2ry19mpczgylfxg3ilbj9221wv7zm")))
15382 (home-page "https://github.com/jgm/unicode-collation")
15383 (synopsis "Haskell implementation of the Unicode Collation Algorithm")
15384 (description
15385 "This library provides a pure Haskell implementation of the Unicode
15386Collation Algorithm described at @uref{http://www.unicode.org/reports/tr10/}.
15387It is not as fully-featured or as performant as @code{text-icu}, but it avoids
15388a dependency on a large C library. Locale-specific tailorings are also
15389provided.")
15390 (license license:bsd-3)))
15391
15392(define-public ghc-citeproc
15393 (package
15394 (name "ghc-citeproc")
15395 (version "0.9.0.1")
15396 (source
15397 (origin
15398 (method url-fetch)
15399 (uri (hackage-uri "citeproc" version))
15400 (sha256
15401 (base32 "1s1gdd7piwssp5b6bwbfyp9sfna052v3rayav7di44yapm5dazmr"))))
15402 (build-system haskell-build-system)
15403 (properties '((upstream-name . "citeproc")))
15404 (inputs (list ghc-safe
15405 ghc-case-insensitive
15406 ghc-vector
15407 ghc-scientific
15408 ghc-uniplate
15409 ghc-xml-conduit
15410 ghc-attoparsec
15411 ghc-data-default
15412 ghc-aeson
15413 ghc-file-embed
15414 ghc-pandoc-types
15415 ghc-unicode-collation
15416 ghc-base-compat
15417 ghc-aeson-pretty))
15418 (native-inputs (list ghc-timeit ghc-diff))
15419 (home-page "http://hackage.haskell.org/package/citeproc")
15420 (synopsis "Generate citations and bibliography from CSL styles")
15421 (description
15422 "@code{ghc-citeproc} parses @acronym{Citation Style Language, CSL} style files
15423and uses them to generate a list of formatted citations and bibliography
15424entries. For more information about CSL, see @uref{https://citationstyles.org/}.")
15425 (license license:bsd-2)))
15426
15427(define-public ghc-commonmark
15428 (package
15429 (name "ghc-commonmark")
15430 (version "0.2.6.1")
15431 (source
15432 (origin
15433 (method url-fetch)
15434 (uri (hackage-uri "commonmark" version))
15435 (sha256
15436 (base32 "0wwh0smqdmyb1qa992d0jva24yml4lxmmwr3av3c8s0xh3z7vkpv"))))
15437 (build-system haskell-build-system)
15438 (properties '((upstream-name . "commonmark")))
15439 (inputs (list ghc-unicode-transforms ghc-unicode-data))
15440 (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
15441 (home-page "https://github.com/jgm/commonmark-hs")
15442 (synopsis "Pure Haskell Commonmark parser")
15443 (description
15444 "This library provides the core data types and functions for parsing
15445@uref{https://spec.commonmark.org, Commonmark}. The parser is fully
15446Commonmark-compliant and passes the test suite. It is designed to be
15447customizable and easily extensible. To customize the output, create an AST,
15448or support a new output format, one need only define some new typeclass
15449instances. It is also easy to add new syntax elements or modify existing
15450ones.
15451
15452Accurate information about source positions is available for all block and
15453inline elements. Thus the library can be used to create an accurate syntax
15454highlighter or an editor with live preview. The parser has been designed for
15455robust performance even in pathological cases that tend to cause stack
15456overflows or exponential slowdowns in other parsers, with parsing speed that
15457varies linearly with input length.")
15458 (license license:bsd-3)))
15459
15460(define-public ghc-commonmark-extensions
15461 (package
15462 (name "ghc-commonmark-extensions")
15463 (version "0.2.6")
15464 (source
15465 (origin
15466 (method url-fetch)
15467 (uri (hackage-uri "commonmark-extensions" version))
15468 (sha256
15469 (base32 "1qhd6q00ccdr0l9zv1vknpc2fx0p4avdf9zcd27q20q3fdp0phsz"))))
15470 (build-system haskell-build-system)
15471 (properties '((upstream-name . "commonmark-extensions")))
15472 (inputs (list ghc-network-uri ghc-commonmark ghc-emojis))
15473 (native-inputs (list ghc-tasty ghc-tasty-hunit))
15474 (home-page "https://github.com/jgm/commonmark-hs")
15475 (synopsis "Extensions for @code{ghc-commonmark}")
15476 (description
15477 "This library provides some useful extensions for @code{ghc-commonmark}
15478to parser core commonmark syntax: smart quotes, definition lists, tables,
15479footnotes, math, and more.")
15480 (license license:bsd-3)))
15481
15482(define-public ghc-commonmark-pandoc
15483 (package
15484 (name "ghc-commonmark-pandoc")
15485 (version "0.2.3")
15486 (source
15487 (origin
15488 (method url-fetch)
15489 (uri (hackage-uri "commonmark-pandoc" version))
15490 (sha256
15491 (base32 "187gkvv0pp7bb8np8nns80aqprd2zpw7hxp9knvylckayysgig5l"))))
15492 (build-system haskell-build-system)
15493 (properties '((upstream-name . "commonmark-pandoc")))
15494 (inputs (list ghc-commonmark ghc-commonmark-extensions ghc-pandoc-types))
15495 (home-page "https://github.com/jgm/commonmark-hs")
15496 (synopsis "Bridge between Commonmark and Pandoc AST")
15497 (description
15498 "This library provides typeclasses for rendering @code{ghc-commonmark} to
15499Pandoc types.")
15500 (license license:bsd-3)))
15501
15502(define-public ghc-criterion-measurement
15503 (package
15504 (name "ghc-criterion-measurement")
15505 (version "0.2.3.0")
15506 (source
15507 (origin
15508 (method url-fetch)
15509 (uri (hackage-uri "criterion-measurement" version))
15510 (sha256
15511 (base32 "1qnzgkmjlv3m6zr8l3dfnc1b5jy2fyjxb7s1qzhdcww4bsixqxfc"))))
15512 (build-system haskell-build-system)
15513 (properties '((upstream-name . "criterion-measurement")))
15514 (inputs (list ghc-aeson ghc-base-compat ghc-vector))
15515 (home-page "https://github.com/haskell/criterion")
15516 (synopsis "Criterion measurement functionality and associated types")
15517 (description
15518 "Measurement-related functionality extracted from Criterion, with minimal
15519dependencies. The rationale for this is to enable alternative analysis
15520front-ends.")
15521 (license license:bsd-3)))
15522
15523(define-public ghc-criterion
15524 (package
15525 (name "ghc-criterion")
15526 (version "1.6.4.0")
15527 (source
15528 (origin
15529 (method url-fetch)
15530 (uri (hackage-uri "criterion" version))
15531 (sha256
15532 (base32 "0l9gxar759nskhm7gskr3j08bw8515amw6rr4n3zx3978dxg8aq6"))))
15533 (build-system haskell-build-system)
15534 (properties '((upstream-name . "criterion")))
15535 (inputs (list ghc-aeson
15536 ghc-base-compat-batteries
15537 ghc-binary-orphans
15538 ghc-cassava
15539 ghc-code-page
15540 ghc-criterion-measurement
15541 ghc-glob
15542 ghc-microstache
15543 ghc-js-chart
15544 ghc-mwc-random
15545 ghc-optparse-applicative
15546 ghc-prettyprinter
15547 ghc-prettyprinter-ansi-terminal
15548 ghc-statistics
15549 ghc-transformers-compat
15550 ghc-vector
15551 ghc-vector-algorithms))
15552 (native-inputs (list ghc-hunit
15553 ghc-tasty
15554 ghc-tasty-hunit
15555 ghc-quickcheck
15556 ghc-hunit
15557 ghc-tasty
15558 ghc-tasty-hunit
15559 ghc-tasty-quickcheck
15560 ghc-hunit
15561 ghc-base-compat
15562 ghc-tasty
15563 ghc-tasty-hunit))
15564 (arguments
15565 `(#:cabal-revision ("1"
15566 "0wwzijzvqrv7swpalr24i3j4pjcjm266ybhhah853d783zz37vzz")))
15567 (home-page "http://www.serpentine.com/criterion")
15568 (synopsis "Robust, reliable performance measurement and analysis")
15569 (description
15570 "This library provides a powerful but simple way to measure software performance.
15571 It provides both a framework for executing and analysing benchmarks and a set
15572of driver functions that makes it easy to build and run benchmarks, and to
15573analyse their results.")
15574 (license license:bsd-3)))
15575
15576(define-public ghc-hclip
15577 (package
15578 (name "ghc-hclip")
15579 (version "3.0.0.4")
15580 (source
15581 (origin
15582 (method url-fetch)
15583 (uri (hackage-uri "Hclip" version))
15584 (sha256
15585 (base32 "04ppwm7vfzndrys8x1n8vfb41vzwx59r9xp4dkbiqmrms390pj6q"))))
15586 (build-system haskell-build-system)
15587 (properties '((upstream-name . "Hclip")))
15588 (inputs (list ghc-strict))
15589 (home-page "https://github.com/jetho/Hclip")
15590 (synopsis
15591 "Small cross-platform library for reading and modifying the system clipboard")
15592 (description
15593 "This package provides a small cross-platform library for reading and
15594modifying the system clipboard. It uses @code{xclip} or @code{xsel}
15595at runtime.")
15596 (license license:bsd-3)))
15597
15598(define-public ghc-hslua-module-path
15599 (package
15600 (name "ghc-hslua-module-path")
15601 (version "1.1.1")
15602 (source
15603 (origin
15604 (method url-fetch)
15605 (uri (hackage-uri "hslua-module-path" version))
15606 (sha256
15607 (base32 "035q8ll2bkm25m4q24zby35gy6ihrg21qlqmmk6af8rz09kjyal0"))))
15608 (build-system haskell-build-system)
15609 (properties '((upstream-name . "hslua-module-path")))
15610 (inputs (list ghc-hslua-core ghc-hslua-marshalling ghc-hslua-packaging))
15611 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-lua))
15612 (home-page "https://hslua.org/")
15613 (synopsis "Lua module to work with file paths")
15614 (description
15615 "This Haskell library provides a Lua module to work with file paths in a
15616platform independent way.")
15617 (license license:expat)))
15618
15619(define-public ghc-template-haskell
15620 (package
15621 (name "ghc-template-haskell")
15622 (version "2.22.0.0")
15623 (source
15624 (origin
15625 (method url-fetch)
15626 (uri (hackage-uri "template-haskell" version))
15627 (sha256
15628 (base32 "0cn9n5jyzn9h1ab76rr2cyxaysh2rk7ywcj92lxsf49fah4vx35g"))))
15629 (build-system haskell-build-system)
15630 (arguments
15631 (list
15632 #:phases
15633 #~(modify-phases %standard-phases
15634 (add-before 'configure 'relax-dependencies
15635 (lambda _
15636 (substitute* "template-haskell.cabal"
15637 (("ghc-boot-th [0-9 &|<>=*^.]*") "ghc-boot-th")))))))
15638 (properties '((upstream-name . "template-haskell")))
15639 (home-page "http://hackage.haskell.org/package/template-haskell")
15640 (synopsis "Support library for Template Haskell")
15641 (description
15642 "This package provides modules containing facilities for manipulating
15643Haskell source code using Template Haskell. See
15644@uref{http://www.haskell.org/haskellwiki/Template_Haskell} for more
15645information.")
15646 (license license:bsd-3)))
15647
15648(define-public ghc-genvalidity-hspec
15649 (package
15650 (name "ghc-genvalidity-hspec")
15651 (version "1.0.0.4")
15652 (source
15653 (origin
15654 (method url-fetch)
15655 (uri (hackage-uri "genvalidity-hspec" version))
15656 (sha256
15657 (base32 "0z9qk1yd3hz7zxbsa6j4xydy962im7ihi1r36n94hcvj5lvi5zsj"))))
15658 (build-system haskell-build-system)
15659 (properties '((upstream-name . "genvalidity-hspec")))
15660 (inputs (list ghc-quickcheck
15661 ghc-genvalidity
15662 ghc-genvalidity-property
15663 ghc-hspec
15664 ghc-hspec-core
15665 ghc-validity))
15666 (native-inputs (list hspec-discover))
15667 (home-page "https://github.com/NorfairKing/validity#readme")
15668 (synopsis "Standard spec's for @code{GenValidity} instances")
15669 (description
15670 "This haskell library provides validity and validity-based testing for
15671@code{ghc-hspec}.")
15672 (license license:expat)))
15673
15674(define-public ghc-binary-orphans
15675 (package
15676 (name "ghc-binary-orphans")
15677 (version "1.0.5")
15678 (source
15679 (origin
15680 (method url-fetch)
15681 (uri (hackage-uri "binary-orphans" version))
15682 (sha256
15683 (base32 "13a08if69wdmc8hb7jynhllgh8jh7qbk9spygb096l9aijgaxyrr"))))
15684 (build-system haskell-build-system)
15685 (properties '((upstream-name . "binary-orphans")))
15686 (native-inputs (list ghc-onetuple
15687 ghc-quickcheck
15688 ghc-quickcheck-instances
15689 ghc-tagged
15690 ghc-tasty
15691 ghc-tasty-quickcheck))
15692 (arguments
15693 `(#:cabal-revision ("1"
15694 "0pqzv84g0jkx2329p6qv10kd4nbms9ic704ljw4jsrxfg9bdy5qj")))
15695 (home-page "http://hackage.haskell.org/package/binary-orphans")
15696 (synopsis "Compatibility package for binary")
15697 (description "This package provides instances defined in later versions of
15698@code{ghc-binary} package.")
15699 (license license:bsd-3)))
15700
15701(define-public ghc-netlink
15702 (package
15703 (name "ghc-netlink")
15704 (version "1.1.1.0")
15705 (source
15706 (origin
15707 (method url-fetch)
15708 (uri (hackage-uri "netlink" version))
15709 (sha256
15710 (base32 "1q8sxycv93sap6dgbw70scklnpjj5vav6qlvsxm5500jlvb3jnf0"))))
15711 (build-system haskell-build-system)
15712 (properties '((upstream-name . "netlink")))
15713 (inputs
15714 (list ghc-cereal ghc-monad-loops ghc-pretty-hex ghc-language-c
15715 ghc-regex-pcre))
15716 (home-page "https://github.com/Ongy/netlink-hs")
15717 (synopsis "Netlink communication for Haskell")
15718 (description
15719 "This is library provides utility to use Netlink from Haskell. The scope of
15720this package extends over general Netlink support to specific implementations
15721of Netlink families.")
15722 (license license:bsd-3)))
15723
15724(define-public ghc-doctest-driver-gen
15725 (package
15726 (name "ghc-doctest-driver-gen")
15727 (version "0.3.0.8")
15728 (source
15729 (origin
15730 (method url-fetch)
15731 (uri (hackage-uri "doctest-driver-gen" version))
15732 (sha256
15733 (base32 "0x6d2crc8jibixq0fdzbbqls7l79hb8la3mp9yd1dgikwp1bbncz"))))
15734 (build-system haskell-build-system)
15735 (properties '((upstream-name . "doctest-driver-gen")))
15736 (arguments
15737 (list
15738 #:phases
15739 #~(modify-phases %standard-phases
15740 (add-before 'check 'add-doctest-driver-to-PATH
15741 (lambda _
15742 (setenv "PATH" (string-append (getenv "PATH")
15743 ":dist/build/doctest-driver-gen")))))))
15744 (native-inputs (list ghc-doctest))
15745 (home-page "https://github.com/Hexirp/doctest-driver-gen#readme")
15746 (synopsis "Generate driver file for Doctest's Cabal integration")
15747 (description
15748 "@code{ghc-doctest-driver-gen} is a Doctest's driver file generator. It
15749lets you automatically generate driver file for Doctest's Cabal integration.")
15750 (license license:bsd-3)))
15751
15752(define-public ghc-template-haskell-compat-v0208
15753 (package
15754 (name "ghc-template-haskell-compat-v0208")
15755 (version "0.1.9.5")
15756 (source
15757 (origin
15758 (method url-fetch)
15759 (uri (hackage-uri "template-haskell-compat-v0208" version))
15760 (sha256
15761 (base32 "07wx8k16rhhkm3mx1by4np4zdi0kgn1i9li1jnsk07ymr26rydai"))))
15762 (build-system haskell-build-system)
15763 (properties '((upstream-name . "template-haskell-compat-v0208")))
15764 (home-page
15765 "https://github.com/nikita-volkov/template-haskell-compat-v0208")
15766 (synopsis
15767 "Backwards compatibility layer for Template Haskell newer than 2.8")
15768 (description
15769 "This package provides a backwards compatibility layer for Template
15770Haskell newer than 2.8.")
15771 (license license:expat)))
15772
15773(define-public ghc-mysql
15774 (package
15775 (name "ghc-mysql")
15776 (version "0.2.1")
15777 (source
15778 (origin
15779 (method url-fetch)
15780 (uri (hackage-uri "mysql" version))
15781 (sha256
15782 (base32 "051w428arxbix06a52dacqjpnkfx42zbazxsd3l9d857dsd0kl3g"))))
15783 (build-system haskell-build-system)
15784 (properties '((upstream-name . "mysql")))
15785 (arguments `(#:tests? #f)) ; TODO: Fails to connect to server.
15786 (inputs (list (list mariadb "dev") openssl zlib))
15787 (native-inputs (list ghc-hspec))
15788 (home-page "https://github.com/paul-rouse/mysql")
15789 (synopsis "Low-level MySQL client library")
15790 (description
15791 "This library provides Haskell bindings to the MySQL @code{mysqlclient}
15792client library. It is a fairly faithful, low level library that implements
15793most of the MySQL client API. The major departure from the C API is that in
15794Haskell, resource management is mostly automatic and safe.
15795
15796This library deliberately avoids the question of providing a ``good'' API.
15797Its purpose is to serve as a base upon which higher-level libraries can be
15798built.")
15799 (license license:bsd-3)))
15800
15801(define-public ghc-blaze-textual
15802 (package
15803 (name "ghc-blaze-textual")
15804 (version "0.2.3.1")
15805 (source
15806 (origin
15807 (method url-fetch)
15808 (uri (hackage-uri "blaze-textual" version))
15809 (sha256
15810 (base32 "1chpaynfqiykqdk4jrmwxczj01wph8qfb411600l0gj3g34wlanx"))))
15811 (build-system haskell-build-system)
15812 (properties '((upstream-name . "blaze-textual")))
15813 (inputs (list ghc-blaze-builder ghc-old-locale ghc-vector))
15814 (native-inputs (list ghc-quickcheck ghc-double-conversion
15815 ghc-test-framework ghc-test-framework-quickcheck2))
15816 (home-page "http://github.com/swamp-agr/blaze-textual")
15817 (synopsis "Fast rendering of common datatypes")
15818 (description
15819 "@code{ghc-blaze-textual} is a fast Haskell library for rendering common
15820Haskell datatypes in text form using the @code{ghc-blaze-builder} library.")
15821 (license license:bsd-3)))
15822
15823(define-public ghc-mysql-simple
15824 (package
15825 (name "ghc-mysql-simple")
15826 (version "0.4.9")
15827 (source
15828 (origin
15829 (method url-fetch)
15830 (uri (hackage-uri "mysql-simple" version))
15831 (sha256
15832 (base32 "0hwv1hlr65m5l2zrrj5zmvrjz9y2814jy05l17l5jb4j4j5xw3z2"))))
15833 (build-system haskell-build-system)
15834 (properties '((upstream-name . "mysql-simple")))
15835 (arguments (list #:tests? #f)) ; tests require a running MySql database
15836 (inputs (list ghc-attoparsec
15837 ghc-base16-bytestring
15838 ghc-blaze-builder
15839 ghc-mysql
15840 ghc-pcre-light
15841 pcre
15842 ghc-old-locale
15843 ghc-vector))
15844 (home-page "https://github.com/paul-rouse/mysql-simple")
15845 (synopsis "Mid-level MySQL client library")
15846 (description
15847 "This library implements mid-level Haskell bindings to the MySQL
15848@code{mysqlclient} client library. It is aimed at speed and ease of use.")
15849 (license license:bsd-3)))
15850
15851(define-public ghc-persistent-qq
15852 (package
15853 (name "ghc-persistent-qq")
15854 (version "2.12.0.7")
15855 (source
15856 (origin
15857 (method url-fetch)
15858 (uri (hackage-uri "persistent-qq" version))
15859 (sha256
15860 (base32 "1swbhc1gqn2njc4ycpizqbkl77xrz7a8sizlcb6lcizb9zaakkf4"))))
15861 (build-system haskell-build-system)
15862 (properties '((upstream-name . "persistent-qq")))
15863 (inputs (list ghc-haskell-src-meta ghc-persistent))
15864 (native-inputs (list ghc-aeson
15865 ghc-fast-logger
15866 ghc-hspec
15867 ghc-hunit
15868 ghc-monad-logger
15869 ghc-persistent-sqlite
15870 ghc-resourcet
15871 ghc-unliftio))
15872 (home-page "https://github.com/yesodweb/persistent#readme")
15873 (synopsis "Quasi-quoter for raw SQL for @code{ghc-persistent}")
15874 (description
15875 "This package provides a quasi-quoter for raw @acronym{SQL, Structured Query
15876Language} for @code{ghc-persistent}.")
15877 (license license:expat)))
15878
15879(define-public ghc-persistent-mysql
15880 (package
15881 (name "ghc-persistent-mysql")
15882 (version "2.13.1.5")
15883 (source
15884 (origin
15885 (method url-fetch)
15886 (uri (hackage-uri "persistent-mysql" version))
15887 (sha256
15888 (base32 "1dg709kz1rrgj3ir24a8pww47my03h3k5vcn2qld7h2ffcbnlxd9"))))
15889 (build-system haskell-build-system)
15890 (properties '((upstream-name . "persistent-mysql")))
15891 (arguments (list #:tests? #f)) ; tests require a running MySql database
15892 (inputs (list ghc-persistent
15893 ghc-aeson
15894 ghc-blaze-builder
15895 ghc-conduit
15896 ghc-monad-logger
15897 ghc-mysql
15898 ghc-mysql-simple
15899 ghc-resourcet
15900 ghc-resource-pool
15901 ghc-unliftio-core
15902 pcre))
15903 (home-page "http://www.yesodweb.com/book/persistent")
15904 (synopsis
15905 "Backend for the @code{ghc-persistent} library using MySQL database server")
15906 (description
15907 "This package contains a backend for @code{ghc-persistent} using the MySQL database
15908server. Internally it uses the @code{ghc-mysql-simple} and @code{mysql} packages in order
15909to access the database. This package supports only MySQL 5.1 and above.
15910However, it has been tested only on MySQL 5.5. Only the InnoDB storage engine
15911is officially supported.")
15912 (license license:expat)))
15913
15914(define-public ghc-hspec-expectations-lifted
15915 (package
15916 (name "ghc-hspec-expectations-lifted")
15917 (version "0.10.0")
15918 (source
15919 (origin
15920 (method url-fetch)
15921 (uri (hackage-uri "hspec-expectations-lifted" version))
15922 (sha256
15923 (base32 "0a1qwz0n80lph8m9cq6cb06m8bsmqgg8ifx0acpylvrrkd8g3k92"))))
15924 (build-system haskell-build-system)
15925 (properties '((upstream-name . "hspec-expectations-lifted")))
15926 (inputs (list ghc-hspec-expectations))
15927 (home-page "http://hackage.haskell.org/package/hspec-expectations-lifted")
15928 (synopsis
15929 "Version of @code{ghc-hspec-expectations} generalized to @code{MonadIO}")
15930 (description
15931 "This package provides a version of @code{ghc-hspec-expectations} generalized
15932to @code{MonadIO}.")
15933 (license license:expat)))
15934
15935(define-public ghc-string-conversions
15936 (package
15937 (name "ghc-string-conversions")
15938 (version "0.4.0.1")
15939 (source
15940 (origin
15941 (method url-fetch)
15942 (uri (hackage-uri "string-conversions" version))
15943 (sha256
15944 (base32 "150rdank90h7v08x0wq4dffjbxv2daf5v9sqfs5mab76kinwxg26"))))
15945 (build-system haskell-build-system)
15946 (properties '((upstream-name . "string-conversions")))
15947 (inputs (list ghc-utf8-string))
15948 (native-inputs (list ghc-hspec hspec-discover
15949 ghc-quickcheck-instances ghc-quickcheck))
15950 (arguments
15951 `(#:cabal-revision ("1"
15952 "1g3wxx579mhs2icxngi78pvjfybbk606a6vgns88pg6ws5hrvx4s")))
15953 (home-page "https://github.com/soenkehahn/string-conversions#readme")
15954 (synopsis "Simplify dealing with different types for strings")
15955 (description
15956 "This package provides a simple type class for converting values of different
15957string types into values of other string types.")
15958 (license license:bsd-3)))
15959
15960(define-public ghc-postgresql-libpq-configure
15961 (package
15962 (name "ghc-postgresql-libpq-configure")
15963 (version "0.11")
15964 (source
15965 (origin
15966 (method url-fetch)
15967 (uri (hackage-uri "postgresql-libpq-configure" version))
15968 (sha256
15969 (base32 "1n5jjnnflh2ldqvcs44al572240s2435bh5m761hrpbmai5y6kwd"))))
15970 (build-system haskell-build-system)
15971 (properties '((upstream-name . "postgresql-libpq-configure")))
15972 (inputs (list postgresql))
15973 (home-page "https://github.com/haskellari/postgresql-libpq")
15974 (synopsis "low-level binding to libpq: configure based provider")
15975 (description
15976 "This is a binding to libpq: the C application programmer's interface to
15977@code{PostgreSQL}. libpq is a set of library functions that allow client
15978programs to pass queries to the @code{PostgreSQL} backend server and to receive
15979the results of these queries.")
15980 (license license:bsd-3)))
15981
15982(define-public ghc-postgresql-libpq
15983 (package
15984 (name "ghc-postgresql-libpq")
15985 (version "0.11.0.0")
15986 (source
15987 (origin
15988 (method url-fetch)
15989 (uri (hackage-uri "postgresql-libpq" version))
15990 (sha256
15991 (base32 "18yj7vb51r72ybzi7849w83b79gydnh7az1wkc037fz6iwhb2jh3"))))
15992 (build-system haskell-build-system)
15993 (properties '((upstream-name . "postgresql-libpq")))
15994 (inputs (list ghc-postgresql-libpq-configure))
15995 (native-inputs (list ghc-tasty ghc-tasty-hunit))
15996 (arguments
15997 `(#:cabal-revision ("1"
15998 "1i546w5an064cbikp66a4yq7j8gmi2iy9vkm1sax6yjzfpgsqzya")))
15999 (home-page "https://github.com/haskellari/postgresql-libpq")
16000 (synopsis "Low-level bindings to @code{libpq}")
16001 (description
16002 "This package provides bindings to @code{libpq}: the C application
16003programmer's interface to PostgreSQL. @code{libpq} is a set of library
16004functions that allow client programs to pass queries to the PostgreSQL backend
16005server and to receive the results of these queries.")
16006 (license license:bsd-3)))
16007
16008(define-public ghc-postgresql-simple
16009 (package
16010 (name "ghc-postgresql-simple")
16011 (version "0.7.0.1")
16012 (source
16013 (origin
16014 (method url-fetch)
16015 (uri (hackage-uri "postgresql-simple" version))
16016 (sha256
16017 (base32 "16dbydsi5hib4zksl2sri0mz0hwfnagb2f757q1xc603clhg6z2r"))))
16018 (build-system haskell-build-system)
16019 (properties '((upstream-name . "postgresql-simple")))
16020 (inputs (list ghc-time-compat
16021 ghc-aeson
16022 ghc-attoparsec
16023 ghc-case-insensitive
16024 ghc-hashable
16025 ghc-only
16026 ghc-postgresql-libpq
16027 ghc-scientific
16028 ghc-uuid-types
16029 ghc-vector))
16030 (native-inputs (list ghc-inspection-testing
16031 ghc-tasty
16032 ghc-tasty-hunit
16033 ghc-base16-bytestring
16034 ghc-cryptohash-md5
16035 ghc-tasty
16036 ghc-tasty-golden
16037 ghc-tasty-hunit))
16038 (home-page "http://hackage.haskell.org/package/postgresql-simple")
16039 (synopsis "Mid-Level PostgreSQL client library")
16040 (description
16041 "This package provides a mid-Level PostgreSQL client library, forked from
16042@code{ghc-mysql-simple}.")
16043 (license license:bsd-3)))
16044
16045(define-public ghc-persistent-postgresql
16046 (package
16047 (name "ghc-persistent-postgresql")
16048 (version "2.13.7.0")
16049 (source
16050 (origin
16051 (method url-fetch)
16052 (uri (hackage-uri "persistent-postgresql" version))
16053 (sha256
16054 (base32 "1774fh28jls2r692164ln66ipa6gl3sqj8pb04nf3sl1m498qjd7"))))
16055 (build-system haskell-build-system)
16056 (properties '((upstream-name . "persistent-postgresql")))
16057 (arguments (list #:tests? #f)) ; tests require a running postgresql server
16058 (inputs (list ghc-aeson
16059 ghc-attoparsec
16060 ghc-blaze-builder
16061 ghc-conduit
16062 ghc-monad-logger
16063 ghc-persistent
16064 ghc-postgresql-libpq
16065 ghc-postgresql-simple
16066 ghc-resource-pool
16067 ghc-resourcet
16068 ghc-string-conversions
16069 ghc-unliftio-core
16070 ghc-vault
16071 ghc-unliftio))
16072 (native-inputs (list ghc-fast-logger
16073 ghc-hspec
16074 ghc-hspec-expectations
16075 ghc-hspec-expectations-lifted
16076 ghc-http-api-data
16077 ghc-hunit
16078 ghc-path-pieces
16079 ghc-persistent-qq
16080 ghc-persistent-test
16081 ghc-quickcheck
16082 ghc-quickcheck-instances
16083 ghc-unordered-containers
16084 ghc-vector))
16085 (home-page "http://www.yesodweb.com/book/persistent")
16086 (synopsis "Backend for the @code{ghc-persistent library} using Postgresql")
16087 (description
16088 "This package provides a backend for the @code{ghc-persistent} library
16089using the @code{ghc-postgresql-simple} package.")
16090 (license license:expat)))
16091
16092(define-public ghc-filtrable
16093 (package
16094 (name "ghc-filtrable")
16095 (version "0.1.6.0")
16096 (source
16097 (origin
16098 (method url-fetch)
16099 (uri (hackage-uri "filtrable" version))
16100 (sha256
16101 (base32 "058jl7wjaxzvcayc9qzpikxvi9x42civ4sb02jh66rcvpndbfh5y"))))
16102 (build-system haskell-build-system)
16103 (properties '((upstream-name . "filtrable")))
16104 (native-inputs (list ghc-smallcheck ghc-tasty ghc-tasty-smallcheck))
16105 (arguments
16106 `(#:cabal-revision ("2"
16107 "0ajsh1600c8rkgrallz0m2b3cwqy76yy52niikx2prj0z7k7lbv6")))
16108 (home-page "https://github.com/strake/filtrable.hs")
16109 (synopsis "Class of filtrable containers")
16110 (description "This package provides filtrable containers.")
16111 (license license:bsd-3)))
16112
16113(define-public ghc-filelock
16114 (package
16115 (name "ghc-filelock")
16116 (version "0.1.1.8")
16117 (source
16118 (origin
16119 (method url-fetch)
16120 (uri (hackage-uri "filelock" version))
16121 (sha256
16122 (base32 "0bmnj888w2srz2rywmh13dqwmqsqyzkgkz952h1gdd7ycvlj5avj"))))
16123 (build-system haskell-build-system)
16124 (properties '((upstream-name . "filelock")))
16125 (native-inputs (list ghc-async))
16126 (home-page "http://github.com/haskell-pkg-janitors/filelock")
16127 (synopsis "Portable interface to file locking")
16128 (description
16129 "This package provides an interface to file locking functionalities.")
16130 (license license:public-domain)))
16131
16132(define-public ghc-file-io
16133 (package
16134 (name "ghc-file-io")
16135 (version "0.1.5")
16136 (source
16137 (origin
16138 (method url-fetch)
16139 (uri (hackage-uri "file-io" version))
16140 (sha256
16141 (base32 "0nvxp3d7j2fdkfcvk5n7swc0id7c7gzp3g0jr4q4vpljqzj1j2ii"))))
16142 (build-system haskell-build-system)
16143 (properties '((upstream-name . "file-io")))
16144 (native-inputs (list ghc-tasty
16145 ghc-tasty-hunit
16146 ghc-temporary))
16147 (home-page "https://github.com/hasufell/file-io")
16148 (synopsis "Basic file IO operations via 'OsPath'")
16149 (description
16150 "Basic file IO operations like Prelude, but for @code{OsPath}'.")
16151 (license license:bsd-3)))
16152
16153(define-public ghc-hsyaml-aeson
16154 (package
16155 (name "ghc-hsyaml-aeson")
16156 (version "0.2.0.2")
16157 (source
16158 (origin
16159 (method url-fetch)
16160 (uri (hackage-uri "HsYAML-aeson" version))
16161 (sha256
16162 (base32 "12f9fdkgbg9gk7gbf5v3w0b68s382rxjkpxmvsq0ga02v7nhlvna"))))
16163 (build-system haskell-build-system)
16164 (properties '((upstream-name . "HsYAML-aeson")))
16165 (inputs (list ghc-hsyaml ghc-aeson ghc-scientific ghc-unordered-containers
16166 ghc-vector))
16167 (home-page "http://hackage.haskell.org/package/HsYAML-aeson")
16168 (synopsis "JSON to YAML adapter")
16169 (description
16170 "The @uref{https://yaml.org/spec/1.2/spec.html, YAML 1.2} format provides
16171a much richer data-model and feature-set than the
16172@uref{https://tools.ietf.org/html/rfc7159, @acronym{JavaScript Object
16173Notation, JSON}} format. However, sometimes it's desirable to ignore the extra
16174capabilities and treat YAML as if it was merely a more convenient markup
16175format for humans to write JSON data. To this end this module provides a
16176compatibility layer atop @code{ghc-hsyaml} ,which allows decoding YAML
16177documents in the more limited JSON data-model while also providing convenience
16178by reusing @code{ghc-aeson}'s @code{FromJSON} instances for decoding the YAML
16179data into native Haskell data types.")
16180 (license license:gpl2+)))
16181
16182(define-public ghc-lukko
16183 (package
16184 (name "ghc-lukko")
16185 (version "0.1.2")
16186 (source
16187 (origin
16188 (method url-fetch)
16189 (uri (hackage-uri "lukko" version))
16190 (sha256
16191 (base32 "0vcqds8ihpjw6zv5rxdzzykh05wayx376wvz77s63d15ls56zn3j"))))
16192 (build-system haskell-build-system)
16193 (properties '((upstream-name . "lukko")))
16194 (native-inputs (list ghc-async
16195 ghc-singleton-bool
16196 ghc-tasty
16197 ghc-tasty-expected-failure
16198 ghc-tasty-hunit
16199 ghc-temporary))
16200 (arguments
16201 `(#:cabal-revision ("1"
16202 "0a6ah941w8d3y4km53h5palz38dabna05p132kff31g323cahd43")))
16203 (home-page "http://hackage.haskell.org/package/lukko")
16204 (synopsis "File locking")
16205 (description
16206 "This package provides access to platform dependent file locking APIs. There
16207are alternative file locking packages:
16208
16209@itemize
16210@item @code{GHC.IO.Handle.Lock} in @code{base >= 4.10} is good enough for most
16211use cases. However, uses only @code{Handle}s so these locks cannot be used
16212for intra-process locking.
16213
16214@item @code{ghc-filelock} doesn't support @acronym{OFD, open file descriptor}
16215locking.
16216@end itemize")
16217
16218 (license (list license:gpl2+ license:bsd-3))))
16219
16220(define-public ghc-dec
16221 (package
16222 (name "ghc-dec")
16223 (version "0.0.6")
16224 (source
16225 (origin
16226 (method url-fetch)
16227 (uri (hackage-uri "dec" version))
16228 (sha256
16229 (base32 "0bbzn9kqb1zdvi4kd37p3lhx0rkdbyq98hqcn9qv5y67s6a3c5gv"))))
16230 (build-system haskell-build-system)
16231 (properties '((upstream-name . "dec")))
16232 (inputs (list ghc-boring))
16233 (arguments
16234 `(#:cabal-revision ("1"
16235 "1xwkjk0shcbwlmiz8zsx69r652zfkh3k2bj1vpzdsjj241g3n6r0")))
16236 (home-page "https://github.com/phadej/dec")
16237 (synopsis "Decidable propositions")
16238 (description
16239 "This package provides a @code{Dec} type for representing deciable
16240relations.
16241
16242@example
16243type Neg a = a -> Void
16244
16245data Dec a
16246 = Yes a
16247 | No (Neg a)
16248@end example")
16249 (license license:bsd-3)))
16250
16251(define-public ghc-ansi2html
16252 (package
16253 (name "ghc-ansi2html")
16254 (version "0.9")
16255 (source (origin
16256 (method url-fetch)
16257 (uri (hackage-uri "Ansi2Html" version))
16258 (sha256
16259 (base32
16260 "1dqq1rnx1w0cn4w11knmxvn7qy4lg4m39dgw4rs6r2pjqzgrwarh"))))
16261 (build-system haskell-build-system)
16262 (properties '((upstream-name . "Ansi2Html")))
16263 (home-page "http://janzzstimmpfle.de/~jens/software/Ansi2Html/")
16264 (synopsis "Convert ANSI Terminal Sequences to nice HTML markup")
16265 (description
16266 "This package enables integration of terminal screen state in html
16267pages.")
16268 (license license:bsd-3)))
16269
16270(define-public ghc-ansi-terminal-types
16271 (package
16272 (name "ghc-ansi-terminal-types")
16273 (version "1.1.3")
16274 (source
16275 (origin
16276 (method url-fetch)
16277 (uri (hackage-uri "ansi-terminal-types" version))
16278 (sha256
16279 (base32 "12d625xa33qwwzpw75zpw05mk2a5qvqwj8jdkbcrp27iawhwxjcz"))))
16280 (build-system haskell-build-system)
16281 (properties '((upstream-name . "ansi-terminal-types")))
16282 (inputs (list ghc-colour))
16283 (home-page "https://github.com/UnkindPartition/ansi-terminal")
16284 (synopsis "Types and functions used to represent SGR aspects")
16285 (description
16286 "The \\'ANSI\\ standards refer to the visual style of displaying characters as
16287their \\'graphic rendition\\'. The \\'ANSI\\ codes to establish the graphic
16288rendition for subsequent text are referred to as SELECT GRAPHIC RENDITION (SGR).
16289 This package exposes modules that export types and functions used to represent
16290SGR aspects.")
16291 (license license:bsd-3)))
16292
16293(define-public ghc-open-browser
16294 (package
16295 (name "ghc-open-browser")
16296 (version "0.4.0.0")
16297 (source
16298 (origin
16299 (method url-fetch)
16300 (uri (hackage-uri "open-browser" version))
16301 (sha256
16302 (base32 "0pgqrdwmzw70yfqvbssc01b8n3aqw3l6a92j16vby9x0cv803zyy"))))
16303 (build-system haskell-build-system)
16304 (properties '((upstream-name . "open-browser")))
16305 (home-page "https://github.com/mpilgrem/open-browser")
16306 (synopsis "Open a web browser from Haskell")
16307 (description "Haskell library for opening the web browser.")
16308 (license license:bsd-3)))
16309
16310(define-public ghc-singleton-bool
16311 (package
16312 (name "ghc-singleton-bool")
16313 (version "0.1.8")
16314 (source
16315 (origin
16316 (method url-fetch)
16317 (uri (hackage-uri "singleton-bool" version))
16318 (sha256
16319 (base32 "0wql2gdy93f62ghv93xcqjm6ajs5glyz8si605wrll9vp79g66r6"))))
16320 (build-system haskell-build-system)
16321 (properties '((upstream-name . "singleton-bool")))
16322 (inputs (list ghc-boring ghc-dec ghc-some))
16323 (arguments
16324 `(#:cabal-revision ("1"
16325 "1hbfb98zrk78cfbbw32yf9p37qy4m9q347ivy16jvr7s158kr1pj")))
16326 (home-page "https://github.com/phadej/singleton-bool#readme")
16327 (synopsis "Type-level booleans")
16328 (description "This package provides Type-level booleans.")
16329 (license license:bsd-3)))
16330
16331(define-public ghc-breakpoint
16332 (package
16333 (name "ghc-breakpoint")
16334 (version "0.1.5.0")
16335 (source
16336 (origin
16337 (method url-fetch)
16338 (uri (hackage-uri "breakpoint" version))
16339 (sha256
16340 (base32 "1x70c0m111557r947zcdgcrfsbnm0j4dzw3b885pxvfz7i58pysc"))))
16341 (build-system haskell-build-system)
16342 (properties '((upstream-name . "breakpoint")))
16343 (inputs (list ghc-pretty-simple ghc-ansi-terminal))
16344 (native-inputs (list ghc-tasty ghc-tasty-hunit))
16345 (home-page "http://hackage.haskell.org/package/breakpoint")
16346 (synopsis "Set breakpoints using a GHC plugin")
16347 (description
16348 "This package provides a plugin that allows you to set breakpoints for debugging
16349purposes. See the
16350[README](https://github.com/aaronallen8455/breakpoint#breakpoint) for details.")
16351 (license license:expat)))
16352
16353(define-public ghc-brick
16354 (package
16355 (name "ghc-brick")
16356 (version "2.9")
16357 (source
16358 (origin
16359 (method url-fetch)
16360 (uri (hackage-uri "brick" version))
16361 (sha256
16362 (base32 "1jdhagw5ihp9g5pinmbb1mf3fjcbh4aim9qg9i4b1na9zn07s0f1"))))
16363 (build-system haskell-build-system)
16364 (properties '((upstream-name . "brick")))
16365 (inputs (list ghc-vty
16366 ghc-vty-crossplatform
16367 ghc-bimap
16368 ghc-data-clist
16369 ghc-microlens
16370 ghc-microlens-th
16371 ghc-microlens-mtl
16372 ghc-config-ini
16373 ghc-vector
16374 ghc-text-zipper
16375 ghc-unix-compat
16376 ghc-word-wrap
16377 ghc-unordered-containers
16378 ghc-hashable
16379 ghc-random
16380 ghc-microlens-platform))
16381 (native-inputs (list ghc-quickcheck))
16382 (home-page "https://github.com/jtdaugherty/brick/")
16383 (synopsis "Declarative terminal user interface library")
16384 (description
16385 "Brick helps you write @dfn{terminal user interfaces} (TUIs). You write
16386an event handler and a drawing function and the library does the rest.")
16387 (license license:bsd-3)))
16388
16389(define-public ghc-brick-skylighting
16390 (package
16391 (name "ghc-brick-skylighting")
16392 (version "1.0")
16393 (source
16394 (origin
16395 (method url-fetch)
16396 (uri (hackage-uri "brick-skylighting" version))
16397 (sha256
16398 (base32 "1nw2x9zn0jlvykm89v80fh4187bxgn8l4cljgnf4mp4ci7aqjmkr"))))
16399 (build-system haskell-build-system)
16400 (properties '((upstream-name . "brick-skylighting")))
16401 (inputs (list ghc-brick ghc-vty ghc-skylighting-core))
16402 (home-page "https://github.com/jtdaugherty/brick-skylighting/")
16403 (synopsis "Show syntax-highlighted text in your Brick UI")
16404 (description
16405 "This package provides a module to use Skylighting to perform syntax
16406highlighting and display the results in Brick-based interfaces.")
16407 (license license:bsd-3)))
16408
16409(define-public ghc-githash
16410 (package
16411 (name "ghc-githash")
16412 (version "0.1.7.0")
16413 (source
16414 (origin
16415 (method url-fetch)
16416 (uri (hackage-uri "githash" version))
16417 (sha256
16418 (base32 "1m1hyfahvvsf46fy69zj27z4af0m9dlhc8i3qgjc9jfrdg1fgm8s"))))
16419 (build-system haskell-build-system)
16420 (properties '((upstream-name . "githash")))
16421 (inputs (list ghc-th-compat))
16422 (native-inputs (list ghc-hspec hspec-discover ghc-temporary ghc-unliftio
16423 git-minimal/pinned))
16424 (home-page "https://github.com/snoyberg/githash#readme")
16425 (synopsis "Compile git revision info into Haskell projects")
16426 (description "Please see the README and documentation at
16427<https://www.stackage.org/package/githash>")
16428 (license license:bsd-3)))
16429
16430(define-public ghc-git-lfs
16431 (package
16432 (name "ghc-git-lfs")
16433 (version "1.2.5")
16434 (source
16435 (origin
16436 (method url-fetch)
16437 (uri (hackage-uri "git-lfs" version))
16438 (sha256
16439 (base32 "1lzlz9v05iabpkw09bgxxv4nj5yk7a0vzg6rx0kr0qrsir8c3jh2"))))
16440 (build-system haskell-build-system)
16441 (properties '((upstream-name . "git-lfs")))
16442 (inputs (list ghc-http-client ghc-http-types ghc-aeson ghc-network-uri
16443 ghc-case-insensitive))
16444 (home-page "http://hackage.haskell.org/package/git-lfs")
16445 (synopsis "Git Large File Storage protocol")
16446 (description "An implementation of the git-lfs protocol.")
16447 (license license:agpl3)))
16448
16449(define-public ghc-nothunks
16450 (package
16451 (name "ghc-nothunks")
16452 (version "0.3.1")
16453 (source (origin
16454 (method url-fetch)
16455 (uri (hackage-uri "nothunks" version))
16456 (sha256
16457 (base32
16458 "0pcpgv4pp0likra1rxyf70w48qn0nyqqghagym1x73j4zr9gk0rp"))))
16459 (build-system haskell-build-system)
16460 (properties '((upstream-name . "nothunks")))
16461 (inputs (list ghc-vector ghc-wherefrom-compat))
16462 (native-inputs (list ghc-hedgehog ghc-random ghc-tasty ghc-tasty-hedgehog))
16463 (arguments
16464 (list
16465 ;#:tests? #f ; Fail to compile.
16466 #:cabal-revision
16467 '("1" "1qsabpyjcwkm75jh7pa6yv2aza0z50rpn0q27sxjxmhw1gbv0rja")))
16468 (home-page "https://hackage.haskell.org/package/nothunks")
16469 (synopsis "Examine values for unexpected thunks")
16470 (description
16471 "Long lived application data typically should not contain any thunks. This
16472library can be used to examine values for unexpected thunks, which can then be
16473used in assertions. This can be invaluable in avoiding memory leaks, or
16474tracking down existing ones.")
16475 (license license:expat)))
16476
16477(define-public ghc-nothunks-bootstrap
16478 (package
16479 (inherit ghc-nothunks)
16480 (name "ghc-nothunks-bootstrap")
16481 (arguments `(#:tests? #f
16482 ,@(package-arguments ghc-nothunks)))
16483 (native-inputs '())
16484 (properties '((hidden? #t)))))
16485
16486(define-public ghc-barbies
16487 (package
16488 (name "ghc-barbies")
16489 (version "2.1.1.0")
16490 (source
16491 (origin
16492 (method url-fetch)
16493 (uri (hackage-uri "barbies" version))
16494 (sha256
16495 (base32 "1dyjsjal1ffdscm3y1wzrczlv56hpf50bwdmmvdfiy55ys9j15vk"))))
16496 (build-system haskell-build-system)
16497 (properties '((upstream-name . "barbies")))
16498 (inputs (list ghc-distributive))
16499 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-hunit
16500 ghc-tasty-quickcheck))
16501 (home-page "https://github.com/jcpetruzza/barbies#readme")
16502 (synopsis "Classes for working with types that can change clothes")
16503 (description
16504 "Types that are parametric on a functor are like Barbies that have an outfit for
16505each role. This package provides the basic abstractions to work with them
16506comfortably.")
16507 (license license:bsd-3)))
16508
16509(define-public ghc-onetuple
16510 (package
16511 (name "ghc-onetuple")
16512 (version "0.4.2")
16513 (source
16514 (origin
16515 (method url-fetch)
16516 (uri (hackage-uri "OneTuple" version))
16517 (sha256
16518 (base32 "0mdbga3a5pjzszlq9bny3zgfbz25w2q2bjw2h6q1fk80yjhahk8p"))))
16519 (build-system haskell-build-system)
16520 (properties '((upstream-name . "OneTuple")))
16521 (native-inputs (list ghc-hashable))
16522 (arguments
16523 `(#:cabal-revision ("1"
16524 "1m54gsnc1bqy30vv3fab7axxmfns23cass11cvjp0afshgwncwnx")))
16525 (home-page "http://hackage.haskell.org/package/OneTuple")
16526 (synopsis "Singleton Tuple")
16527 (description
16528 "This package is a compatibility package for a singleton data type . > data Solo
16529a = Solo a . Note: it's not a @@newtype@@ . @@Solo@@ is available in
16530@@base-4.16@@ (GHC-9.2).")
16531 (license license:bsd-3)))
16532
16533(define-public ghc-indexed-traversable-instances
16534 (package
16535 (name "ghc-indexed-traversable-instances")
16536 (version "0.1.2")
16537 (source
16538 (origin
16539 (method url-fetch)
16540 (uri (hackage-uri "indexed-traversable-instances" version))
16541 (sha256
16542 (base32 "1hf75x729c3348yvgxk0pjab2mmwi0xxcw3h2yb6c78lp8pvcarw"))))
16543 (build-system haskell-build-system)
16544 (properties '((upstream-name . "indexed-traversable-instances")))
16545 (inputs (list ghc-indexed-traversable ghc-onetuple ghc-tagged
16546 ghc-unordered-containers ghc-vector))
16547 (native-inputs (list ghc-quickcheck ghc-quickcheck-instances ghc-tasty
16548 ghc-tasty-quickcheck))
16549 (arguments
16550 `(#:cabal-revision ("1"
16551 "12fxhsx9ay2yqk5967kd389lqdpfkx2g3svgkrgw3qha0z40zpv8")))
16552 (home-page
16553 "http://hackage.haskell.org/package/indexed-traversable-instances")
16554 (synopsis
16555 "More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex")
16556 (description
16557 "This package provides extra instances for type-classes in the
16558[indexed-traversable](https://hackage.haskell.org/package/indexed-traversable)
16559package. . The intention is to keep this package minimal; it provides instances
16560that formerly existed in @@lens@@ or @@optics-extra@@. We recommend putting
16561other instances directly into their defining packages. The
16562@@indexed-traversable@@ package is light, having only GHC boot libraries as its
16563dependencies.")
16564 (license license:bsd-2)))
16565
16566(define-public ghc-wherefrom-compat
16567 (package
16568 (name "ghc-wherefrom-compat")
16569 (version "0.1.1.1")
16570 (source
16571 (origin
16572 (method url-fetch)
16573 (uri (hackage-uri "wherefrom-compat" version))
16574 (sha256
16575 (base32 "125kkv55c38p00hcga7q19jk9p4p9nabal64zfkq79ihjwpf5qy1"))))
16576 (build-system haskell-build-system)
16577 (properties '((upstream-name . "wherefrom-compat")))
16578 (native-inputs (list ghc-tasty ghc-tasty-hunit))
16579 (arguments
16580 `(#:cabal-revision ("1"
16581 "13dw2gim9cj9njng0k0rgl4cvas2digjr74h2iavkzjimzz0iijk")))
16582 (home-page "http://hackage.haskell.org/package/wherefrom-compat")
16583 (synopsis "A compatibility layer for GHC's 'wherefrom' function")
16584 (description
16585 "This package provides a compatibility layer for GHC's wherefrom function, which
16586exposes info provenance information. Each major version of this library exports
16587a different version of this interface.")
16588 (license license:bsd-2)))
16589
16590(define-public ghc-witherable
16591 (package
16592 (name "ghc-witherable")
16593 (version "0.5")
16594 (source
16595 (origin
16596 (method url-fetch)
16597 (uri (hackage-uri "witherable" version))
16598 (sha256
16599 (base32 "1lccj7s6b2x3w1zq15fffwxwj9yqq0z0ra9k06y3rcb5wk0lqhs8"))))
16600 (build-system haskell-build-system)
16601 (properties '((upstream-name . "witherable")))
16602 (inputs (list ghc-base-orphans
16603 ghc-hashable
16604 ghc-unordered-containers
16605 ghc-vector
16606 ghc-indexed-traversable
16607 ghc-indexed-traversable-instances))
16608 (native-inputs (list ghc-quickcheck ghc-quickcheck-instances ghc-tasty
16609 ghc-tasty-quickcheck))
16610 (arguments
16611 `(#:cabal-revision ("1"
16612 "1pl1m14hhz03rx5j4i4zdi9v0ph65s5rs6qpqdprjdyaxf4bbfl5")))
16613 (home-page "https://github.com/fumieval/witherable")
16614 (synopsis "Filterable traversable")
16615 (description
16616 "This package provides a stronger variant of `traverse` which can remove elements
16617and generalised mapMaybe, catMaybes, filter")
16618 (license license:bsd-3)))
16619
16620(define-public ghc-hspec-discover
16621 (package
16622 (name "ghc-hspec-discover")
16623 (version "2.11.12")
16624 (source
16625 (origin
16626 (method url-fetch)
16627 (uri (hackage-uri "hspec-discover" version))
16628 (sha256
16629 (base32 "044vgsy45ff00h9z2k3jgn2m37npcjiacc4cifahrjlmwa7a7ylp"))))
16630 (build-system haskell-build-system)
16631 (properties '((upstream-name . "hspec-discover")))
16632 (native-inputs (list ghc-quickcheck ghc-hspec-meta ghc-mockery))
16633 (home-page "https://hspec.github.io/")
16634 (synopsis "Automatically discover and run Hspec tests")
16635 (description "Automatically discover and run Hspec tests .
16636<http://hspec.github.io/hspec-discover.html>")
16637 (license license:expat)))
16638
16639(define-public ghc-doctest-parallel
16640 (package
16641 (name "ghc-doctest-parallel")
16642 (version "0.4")
16643 (source
16644 (origin
16645 (method url-fetch)
16646 (uri (hackage-uri "doctest-parallel" version))
16647 (sha256
16648 (base32 "1y907fg2y7ayddwv38rjv6nyc18w682dxwkq3msqnlkddglqlxfx"))))
16649 (build-system haskell-build-system)
16650 (properties '((upstream-name . "doctest-parallel")))
16651 (arguments
16652 (list
16653 #:phases
16654 #~(modify-phases %standard-phases
16655 (replace 'check
16656 (lambda* (#:key tests? #:allow-other-keys)
16657 (if tests?
16658 (begin
16659 (setenv "GHC_PACKAGE_PATH" (string-append (or (getenv "TMP")
16660 "/tmp")
16661 "/package.conf.d"))
16662 (invoke "./dist/build/spectests/spectests")
16663 (unsetenv "GHC_PACKAGE_PATH"))
16664 (format #t "Testsuite not run.~%")))))))
16665 (inputs (list ghc-glob
16666 ghc-base-compat
16667 ghc-code-page
16668 ghc-exactprint
16669 ghc-paths
16670 ghc-random-bootstrap
16671 ghc-syb
16672 ghc-unordered-containers-bootstrap))
16673 (native-inputs (list ghc-hunit
16674 ghc-quickcheck
16675 ghc-hspec
16676 ghc-hspec-core
16677 ghc-mockery
16678 ghc-setenv
16679 ghc-silently
16680 ghc-stringbuilder))
16681 (home-page "https://github.com/martijnbastiaan/doctest-parallel#readme")
16682 (synopsis "Test interactive Haskell examples")
16683 (description
16684 "The doctest program checks examples in source code comments. It is modeled
16685after doctest for Python (<https://docs.python.org/3/library/doctest.html>). .
16686Documentation is at
16687<https://github.com/martijnbastiaan/doctest-parallel#readme>.")
16688 (license license:expat)))
16689
16690(define-public ghc-pcg-random
16691 (package
16692 (name "ghc-pcg-random")
16693 (version "0.1.4.0")
16694 (source
16695 (origin
16696 (method url-fetch)
16697 (uri (hackage-uri "pcg-random" version))
16698 (sha256
16699 (base32 "09hnckb3xzb3spn79jvqlsbg05zm9r1l3dqq44ka07ik4zbagjbf"))))
16700 (build-system haskell-build-system)
16701 (properties '((upstream-name . "pcg-random")))
16702 (inputs (list ghc-primitive ghc-random ghc-entropy))
16703 (native-inputs (list ghc-doctest cabal-doctest))
16704 (arguments
16705 `(#:cabal-revision ("1"
16706 "1f8h0lv34cmqaxccg2yf6q4s8r5g2s8q8s9kql212iggd2l3vv77")))
16707 (home-page "http://github.com/cchalmers/pcg-random")
16708 (synopsis "Haskell bindings to the PCG random number generator")
16709 (description
16710 "PCG is a family of simple fast space-efficient statistically good algorithms for
16711random number generation. Unlike many general-purpose RNGs, they are also hard
16712to predict. . This library implements bindings to the standard C
16713implementation. This includes the standard, unique, fast and single variants in
16714the pcg family. There is a pure implementation that can be used as a generator
16715with the random package as well as a faster primitive api that includes
16716functions for generating common types. . The generators in this module are
16717suitable for use in parallel but make sure threads don't share the same
16718generator or things will go horribly wrong.")
16719 (license license:bsd-3)))
16720
16721(define-public ghc-random-bytestring
16722 (package
16723 (name "ghc-random-bytestring")
16724 (version "0.1.4")
16725 (source
16726 (origin
16727 (method url-fetch)
16728 (uri (hackage-uri "random-bytestring" version))
16729 (sha256
16730 (base32 "0f4n41gqxxggadysvx3vg2iq89z7i7692ccrfmiajq73lbp6y34j"))))
16731 (build-system haskell-build-system)
16732 (properties '((upstream-name . "random-bytestring")))
16733 (inputs (list ghc-mwc-random ghc-nats ghc-pcg-random))
16734 (home-page "https://www.github.com/larskuhtz/random-bytestring")
16735 (synopsis "Efficient generation of random bytestrings")
16736 (description
16737 "__This package is deprecated__. Please, use genByteString from the [random
16738package (version >=1.2)](https://hackage.haskell.org/package/random) instead. .
16739Efficient generation of random bytestrings. The implementation populates
16740uninitialized memory with uniformily distributed random 64 bit words (and 8 bit
16741words for remaining bytes at the end of the bytestring). . Random words are
16742generated using the PRNG from the
16743[mwc-random](https://hackage.haskell.org/package/mwc-random) package or the
16744[pcg-random](https://hackage.haskell.org/package/pcg-random) package. It is
16745also possible to use a custom PRNG by providing an instance for the RandomWords
16746type class and using the function generate from the module
16747\"Data.ByteString.Random.Internal\". . The generated byte strings are suitable
16748for statistical applications. They are /not/ suitable for cryptographic
16749applications. .
16750![benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks.png)
16751. ![detailed
16752benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks-details.png)")
16753 (license license:expat)))
16754
16755(define-public ghc-base64
16756 (package
16757 (name "ghc-base64")
16758 (version "1.0")
16759 (source
16760 (origin
16761 (method url-fetch)
16762 (uri (hackage-uri "base64" version))
16763 (sha256
16764 (base32 "1dmjy4pkz66s3wa99lkc0wc4bdjkdkr57a8rsgb5z50432gj6hkr"))))
16765 (build-system haskell-build-system)
16766 (properties '((upstream-name . "base64")))
16767 (inputs (list ghc-text-short))
16768 (native-inputs (list ghc-base64-bytestring
16769 ghc-quickcheck
16770 ghc-random-bytestring
16771 ghc-tasty
16772 ghc-tasty-hunit
16773 ghc-tasty-quickcheck))
16774 (arguments
16775 `(#:cabal-revision ("2"
16776 "1jp2pc5r4w0vmd2piidzh0h308gx7gdl1xxk9mndc381c8bvkj0m")))
16777 (home-page "https://github.com/emilypi/base64")
16778 (synopsis "Modern RFC 4648-compliant Base64 library")
16779 (description
16780 "RFC 4648-compliant Base64 with an eye towards performance and modernity
16781(additional support for RFC 7049 standards)")
16782 (license license:bsd-3)))
16783
16784(define-public ghc-ordered-containers
16785 (package
16786 (name "ghc-ordered-containers")
16787 (version "0.2.4")
16788 (source
16789 (origin
16790 (method url-fetch)
16791 (uri (hackage-uri "ordered-containers" version))
16792 (sha256
16793 (base32 "0ip5msvvyj5zbsci6fv9f3x6p3wpwrrqpq4yhz104ag14hz6g89x"))))
16794 (build-system haskell-build-system)
16795 (properties '((upstream-name . "ordered-containers")))
16796 (inputs (list ghc-hashable))
16797 (home-page "http://hackage.haskell.org/package/ordered-containers")
16798 (synopsis "Haskell types")
16799 (description "Set- and Map-like types that remember the order elements
16800were inserted")
16801 (license license:bsd-3)))
16802
16803(define-public ghc-os-string
16804 (package
16805 (name "ghc-os-string")
16806 (version "2.0.4")
16807 (source
16808 (origin
16809 (method url-fetch)
16810 (uri (hackage-uri "os-string" version))
16811 (sha256
16812 (base32 "094jqkfq09qapzm8qy7f1p6snnwval17h0fbsxnm9wg2rbncm2ln"))))
16813 (build-system haskell-build-system)
16814 (properties '((upstream-name . "os-string")))
16815 (native-inputs (list ghc-quickcheck ghc-quickcheck
16816 ghc-quickcheck-classes-base))
16817 (home-page "https://github.com/haskell/os-string/blob/master/README.md")
16818 (synopsis "Library for manipulating Operating system strings.")
16819 (description
16820 "This package provides functionality for manipulating @code{@@OsString}@@ values,
16821and is shipped with <https://www.haskell.org/ghc/ GHC>.")
16822 (license license:bsd-3)))
16823
16824(define-public ghc-cabal-install-solver
16825 (package
16826 (name "ghc-cabal-install-solver")
16827 (version "3.12.1.0")
16828 (source
16829 (origin
16830 (method url-fetch)
16831 (uri (hackage-uri "cabal-install-solver" version))
16832 (sha256
16833 (base32 "0yjy49awzs79adx1xn705v3cpmqhvgpym49jaws9h0z9ag9s3nvi"))))
16834 (build-system haskell-build-system)
16835 (properties '((upstream-name . "cabal-install-solver")))
16836 (inputs (list ghc-cabal-syntax ghc-edit-distance ghc-network-uri))
16837 (native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
16838 (arguments
16839 `(#:cabal-revision ("1"
16840 "0bai933mfjv0gazbbvvwaglzhgqnzdf3i1zl8r18cc9amwrh4rag")
16841 #:phases (modify-phases %standard-phases
16842 (add-before 'configure 'update-constraints
16843 (lambda _
16844 (substitute* "cabal-install-solver.cabal"
16845 (("tasty-quickcheck <0.11") "tasty-quickcheck")))))))
16846 (home-page "https://www.haskell.org/cabal/")
16847 (synopsis
16848 "Solver component of command-line interface for Cabal and Hackage")
16849 (description
16850 "The solver component used in cabal-install command-line program.")
16851 (license license:bsd-3)))
16852
16853(define-public ghc-cabal-syntax
16854 (package
16855 (name "ghc-cabal-syntax")
16856 (version "3.12.1.0")
16857 (source
16858 (origin
16859 (method url-fetch)
16860 (uri (hackage-uri "Cabal-syntax" version))
16861 (sha256
16862 (base32 "1d045h470yykabz5d89896d6v2p1vng373s7bgysfdmzqhgd7wp5"))))
16863 (build-system haskell-build-system)
16864 (native-inputs (list ghc-alex))
16865 (properties '((upstream-name . "Cabal-syntax")))
16866 (home-page "http://www.haskell.org/cabal/")
16867 (synopsis "Library for working with .cabal files")
16868 (description
16869 "This library provides tools for reading and manipulating the .cabal file format.
16870. Version 3.6 (unlike the following versions) is a dummy package that prevents
16871module name clases between Cabal and Cabal-syntax if used together with a Cabal
16872flag as described below. . In Cabal-3.7 this package was split off. To avoid
16873module name clashes, you can add this to your .cabal file: . > flag Cabal-syntax
16874> description: Use the new Cabal-syntax package > default: False > manual: False
16875> > library > -- ... > if flag(Cabal-syntax) > build-depends: Cabal-syntax >=
168763.7 > else > build-depends: Cabal < 3.7, Cabal-syntax < 3.7 . This will default
16877to the older build, but will allow consumers to opt-in to the newer libraries by
16878requiring Cabal or Cabal-syntax >= 3.7")
16879 (license license:bsd-3)))
16880
16881(define-public ghc-tasty-hslua
16882 (package
16883 (name "ghc-tasty-hslua")
16884 (version "1.1.1")
16885 (source
16886 (origin
16887 (method url-fetch)
16888 (uri (hackage-uri "tasty-hslua" version))
16889 (sha256
16890 (base32 "066q54kw3y3knxgxpkmhdspb7bdxkv0z68zi2r81sm9xsqg17a5b"))))
16891 (build-system haskell-build-system)
16892 (properties '((upstream-name . "tasty-hslua")))
16893 (inputs (list ghc-hslua-core ghc-tasty ghc-tasty-hunit))
16894 (home-page "https://hslua.org/")
16895 (synopsis "Tasty helpers to test HsLua")
16896 (description
16897 "Various tasty helpers and utilities to test HsLua oparations. Built on top of
16898tasty-hunit.")
16899 (license license:expat)))
16900
16901(define-public ghc-hslua-marshalling
16902 (package
16903 (name "ghc-hslua-marshalling")
16904 (version "2.3.1")
16905 (source
16906 (origin
16907 (method url-fetch)
16908 (uri (hackage-uri "hslua-marshalling" version))
16909 (sha256
16910 (base32 "0v7hpzhj24zif89x4h2j3ji1ch7qifj7xh4r1rfvbsg48pzxjj89"))))
16911 (build-system haskell-build-system)
16912 (properties '((upstream-name . "hslua-marshalling")))
16913 (inputs (list ghc-hslua-core))
16914 (native-inputs (list ghc-lua-arbitrary
16915 ghc-quickcheck
16916 ghc-quickcheck-instances
16917 ghc-tasty-hslua
16918 ghc-tasty
16919 ghc-tasty-hunit
16920 ghc-tasty-quickcheck))
16921 (home-page "https://hslua.org/")
16922 (synopsis "Marshalling of values between Haskell and Lua")
16923 (description
16924 "This package provides functions to marshal values from Haskell to Lua, and /vice
16925versa/. . This package is part of HsLua, a Haskell framework built around the
16926embeddable scripting language <https://lua.org Lua>.")
16927 (license license:expat)))
16928
16929(define-public ghc-lua-arbitrary
16930 (package
16931 (name "ghc-lua-arbitrary")
16932 (version "1.0.1.1")
16933 (source
16934 (origin
16935 (method url-fetch)
16936 (uri (hackage-uri "lua-arbitrary" version))
16937 (sha256
16938 (base32 "0kbvcgi54ycl8zfdkc80ap5yhz0dml9bjdgmzx9l9m4rkhyi9xnm"))))
16939 (build-system haskell-build-system)
16940 (properties '((upstream-name . "lua-arbitrary")))
16941 (inputs (list ghc-lua ghc-quickcheck))
16942 (home-page "https://hslua.org/")
16943 (synopsis "Arbitrary instances for Lua types")
16944 (description
16945 "This package provides instances for QuickCheck's \\\"Arbitrary\\\" typeclass.")
16946 (license license:expat)))
16947
16948(define-public ghc-lua
16949 (package
16950 (name "ghc-lua")
16951 (version "2.3.3")
16952 (source
16953 (origin
16954 (method url-fetch)
16955 (uri (hackage-uri "lua" version))
16956 (sha256
16957 (base32 "0xvhfq8ms5wbchrscxaqf4a9panfnzgz5xdlg86790nydab2kals"))))
16958 (build-system haskell-build-system)
16959 (properties '((upstream-name . "lua")))
16960 (native-inputs (list ghc-tasty ghc-tasty-hunit))
16961 (home-page "https://hslua.org/")
16962 (synopsis "Lua, an embeddable scripting language")
16963 (description
16964 "This package provides bindings and types to bridge Haskell and
16965<https://www.lua.org/ Lua>. . The full Lua interpreter version 5.4.4 is
16966included. Alternatively, a system-wide Lua installation can be linked instead.")
16967 (license license:expat)))
16968
16969(define-public ghc-hslua-core
16970 (package
16971 (name "ghc-hslua-core")
16972 (version "2.3.2")
16973 (source
16974 (origin
16975 (method url-fetch)
16976 (uri (hackage-uri "hslua-core" version))
16977 (sha256
16978 (base32 "0h3d2r5wkbz0d2gylmc282mn0c7b7bfglmchr5hs7vq20206zv0l"))))
16979 (build-system haskell-build-system)
16980 (properties '((upstream-name . "hslua-core")))
16981 (inputs (list ghc-lua))
16982 (native-inputs (list ghc-lua-arbitrary
16983 ghc-quickcheck
16984 ghc-quickcheck-instances
16985 ghc-tasty
16986 ghc-tasty-hunit
16987 ghc-tasty-quickcheck))
16988 (home-page "https://hslua.org/")
16989 (synopsis "Bindings to Lua, an embeddable scripting language")
16990 (description
16991 "Wrappers and helpers to bridge Haskell and <https://www.lua.org/ Lua>. . It
16992builds upon the /lua/ package, which allows bundling a Lua interpreter with a
16993Haskell program.")
16994 (license license:expat)))
16995
16996(define-public ghc-hslua-aeson
16997 (package
16998 (name "ghc-hslua-aeson")
16999 (version "2.3.1.1")
17000 (source
17001 (origin
17002 (method url-fetch)
17003 (uri (hackage-uri "hslua-aeson" version))
17004 (sha256
17005 (base32 "09a5xbl8ib79vln01naw9cd5g100arfx5nm41n0xbk272cjf7cgg"))))
17006 (build-system haskell-build-system)
17007 (properties '((upstream-name . "hslua-aeson")))
17008 (inputs (list ghc-aeson
17009 ghc-hashable
17010 ghc-hslua-core
17011 ghc-hslua-marshalling
17012 ghc-scientific
17013 ghc-unordered-containers
17014 ghc-vector))
17015 (native-inputs (list ghc-quickcheck ghc-quickcheck-instances ghc-tasty
17016 ghc-tasty-quickcheck ghc-tasty-hunit))
17017 (home-page "https://hslua.org/")
17018 (synopsis "Allow aeson data types to be used with Lua")
17019 (description
17020 "This package provides instances to push and receive any datatype encodable as
17021JSON to and from the Lua stack.")
17022 (license license:expat)))
17023
17024(define-public ghc-gridtables
17025 (package
17026 (name "ghc-gridtables")
17027 (version "0.1.0.0")
17028 (source
17029 (origin
17030 (method url-fetch)
17031 (uri (hackage-uri "gridtables" version))
17032 (sha256
17033 (base32 "1smhbb2jxysbqhxww5rikjfnhsdbf0gq3kgnn6ikjzcrqwdk9b6n"))))
17034 (build-system haskell-build-system)
17035 (properties '((upstream-name . "gridtables")))
17036 (inputs (list ghc-doclayout))
17037 (native-inputs (list ghc-tasty ghc-tasty-hunit))
17038 (arguments
17039 `(#:cabal-revision ("1"
17040 "0ay4ywi8w5kk4blf8jqxhivzprp1ivpdlw6racr1692psyizmxi0")))
17041 (home-page "https://github.com/tarleb/gridtables")
17042 (synopsis "Parser for reStructuredText-style grid tables")
17043 (description
17044 "This package provides a parser for plain-text representations of tables. This
17045package supports table headers, cells spanning multiple columns or rows, as well
17046as a way to specify column alignments.")
17047 (license license:expat)))
17048
17049(define-public ghc-lpeg
17050 (package
17051 (name "ghc-lpeg")
17052 (version "1.1.0")
17053 (source
17054 (origin
17055 (method url-fetch)
17056 (uri (hackage-uri "lpeg" version))
17057 (sha256
17058 (base32 "0yav34yxrkbgnkcd3870smay5s3cypyd28m0fsg2jhlikgmhj5a1"))))
17059 (build-system haskell-build-system)
17060 (properties '((upstream-name . "lpeg")))
17061 (inputs (list ghc-lua))
17062 (native-inputs (list ghc-tasty ghc-tasty-hunit))
17063 (home-page "https://hslua.org/")
17064 (synopsis "LPeg – Parsing Expression Grammars For Lua")
17065 (description
17066 "This package contains the C sources of LPeg, as well as some tiny Haskell helper
17067to load the package. . <http://www.inf.puc-rio.br/~roberto/lpeg/>")
17068 (license license:expat)))
17069
17070(define-public ghc-pandoc-lua-marshal
17071 (package
17072 (name "ghc-pandoc-lua-marshal")
17073 (version "0.3.1")
17074 (source
17075 (origin
17076 (method url-fetch)
17077 (uri (hackage-uri "pandoc-lua-marshal" version))
17078 (sha256
17079 (base32 "0869amr9w5s90dha694vy6rwfni7p1wp9dyjyyk2jvh8h22gcpr0"))))
17080 (build-system haskell-build-system)
17081 (properties '((upstream-name . "pandoc-lua-marshal")))
17082 (inputs (list ghc-aeson
17083 ghc-hslua
17084 ghc-hslua-list
17085 ghc-hslua-marshalling
17086 ghc-pandoc-types
17087 ghc-safe))
17088 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-hunit
17089 ghc-tasty-lua ghc-tasty-quickcheck))
17090 (home-page "https://github.com/pandoc/pandoc-lua-marshal")
17091 (synopsis "Use pandoc types in Lua")
17092 (description
17093 "This package provides functions to marshal and unmarshal pandoc document types
17094to and from Lua. . The values of most types are pushed to pandoc as \"userdata\"
17095objects that wrap a stable pointer to the Haskell value; these objects come with
17096methods to access and modify their properties. . Sequences are pushed as normal
17097Lua tables, but are augmented with convenience functions.")
17098 (license license:expat)))
17099
17100(define-public ghc-should-not-typecheck
17101 (package
17102 (name "ghc-should-not-typecheck")
17103 (version "2.1.0")
17104 (source
17105 (origin
17106 (method url-fetch)
17107 (uri (hackage-uri "should-not-typecheck" version))
17108 (sha256
17109 (base32 "14fmv0mv2v4fqzynamlrmdj6d1l65aw1srf1wv19nrq7rrqaqf7m"))))
17110 (build-system haskell-build-system)
17111 (properties '((upstream-name . "should-not-typecheck")))
17112 (inputs (list ghc-hunit))
17113 (native-inputs (list ghc-hspec ghc-hspec-expectations))
17114 (home-page "http://github.com/CRogers/should-not-typecheck")
17115 (synopsis
17116 "HUnit/hspec assertion library to verify that an expression does not typecheck")
17117 (description
17118 "For examples and an introduction to the library please take a look at the
17119<https://github.com/CRogers/should-not-typecheck#should-not-typecheck- README>
17120on github.")
17121 (license license:bsd-3)))
17122
17123(define-public ghc-hspec-wai
17124 (package
17125 (name "ghc-hspec-wai")
17126 (version "0.11.1")
17127 (source
17128 (origin
17129 (method url-fetch)
17130 (uri (hackage-uri "hspec-wai" version))
17131 (sha256
17132 (base32 "03wiksic5y9a2g6a86nsxrnajdgdvpv17w02h5qla0zp9zs6pa1j"))))
17133 (build-system haskell-build-system)
17134 (properties '((upstream-name . "hspec-wai")))
17135 (inputs (list ghc-quickcheck
17136 ghc-base-compat
17137 ghc-case-insensitive
17138 ghc-hspec-core
17139 ghc-hspec-expectations
17140 ghc-http-types
17141 ghc-wai
17142 ghc-wai-extra))
17143 (native-inputs (list ghc-hspec hspec-discover))
17144 (home-page "https://github.com/hspec/hspec-wai#readme")
17145 (synopsis "Experimental Hspec support for testing WAI applications")
17146 (description "Experimental Hspec support for testing WAI applications")
17147 (license license:expat)))
17148
17149(define-public ghc-http-media
17150 (package
17151 (name "ghc-http-media")
17152 (version "0.8.1.1")
17153 (source
17154 (origin
17155 (method url-fetch)
17156 (uri (hackage-uri "http-media" version))
17157 (sha256
17158 (base32 "10zi0c6v0vngxadlbzfp1y1fgyx1ac5gvyvl0gv6gl8m3grss80r"))))
17159 (build-system haskell-build-system)
17160 (properties '((upstream-name . "http-media")))
17161 (inputs (list ghc-case-insensitive ghc-utf8-string))
17162 (native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-quickcheck))
17163 (arguments
17164 (list
17165 #:phases
17166 #~(modify-phases %standard-phases
17167 (add-before 'configure 'relax-depency-versions
17168 (lambda _
17169 (substitute* "http-media.cabal"
17170 (("tasty-quickcheck [<>=0-9. &|]*") "tasty-quickcheck")))))
17171 #:cabal-revision '("2"
17172 "12bj8xqpvaxvrnif4qzkjamdxdrlg2hsfqa7q5n2irzr2hpkjni0")))
17173 (home-page "https://github.com/zmthy/http-media")
17174 (synopsis "Processing HTTP Content-Type and Accept headers")
17175 (description
17176 "This library is intended to be a comprehensive solution to parsing and selecting
17177quality-indexed values in HTTP headers. It is capable of parsing both media
17178types and language parameters from the Accept and Content header families, and
17179can be extended to match against other accept headers as well. Selecting the
17180appropriate header value is achieved by comparing a list of server options
17181against the quality-indexed values supplied by the client. . In the following
17182example, the Accept header is parsed and then matched against a list of server
17183options to serve the appropriate media using mapAcceptMedia': . > getHeader >>=
17184maybe send406Error sendResourceWith . mapAcceptMedia > [ (\"text/html\", asHtml)
17185> , (\"application/json\", asJson) > ] . Similarly, the Content-Type header can
17186be used to produce a parser for request bodies based on the given content type
17187with mapContentMedia': . > getContentType >>= maybe send415Error
17188readRequestBodyWith . mapContentMedia > [ (\"application/json\", parseJson) > ,
17189(\"text/plain\", parseText) > ] . The API is agnostic to your choice of server.")
17190 (license license:expat)))
17191
17192(define-public ghc-servant
17193 (package
17194 (name "ghc-servant")
17195 (version "0.20.3.0")
17196 (source
17197 (origin
17198 (method url-fetch)
17199 (uri (hackage-uri "servant" version))
17200 (sha256
17201 (base32 "00k6pwqxpyjp5qm5pjl8qb75iqmpql5iv3ac43xdvikcixffcwzj"))))
17202 (build-system haskell-build-system)
17203 (properties '((upstream-name . "servant")))
17204 (inputs (list ghc-constraints
17205 ghc-sop-core
17206 ghc-generics-sop
17207 ghc-http-api-data
17208 ghc-singleton-bool
17209 ghc-aeson
17210 ghc-attoparsec
17211 ghc-bifunctors
17212 ghc-case-insensitive
17213 ghc-http-media
17214 ghc-http-types
17215 ghc-mmorph
17216 ghc-network-uri
17217 ghc-quickcheck
17218 ghc-vault))
17219 (native-inputs (list ghc-hspec ghc-quickcheck-instances hspec-discover))
17220 (arguments
17221 `(#:cabal-revision ("2"
17222 "0wvq6jj6js7sxq1rrn4v6749zfwkz3cl8dsypf5cvbpkz1qp4d7j")))
17223 (home-page "http://docs.servant.dev/")
17224 (synopsis "Family of combinators for defining webservices APIs")
17225 (description
17226 "This package provides a family of combinators for defining webservices APIs and
17227serving them . You can learn about the basics in the
17228<http://docs.servant.dev/en/stable/tutorial/index.html tutorial>. .
17229<https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md
17230CHANGELOG>")
17231 (license license:bsd-3)))
17232
17233(define-public ghc-servant-client
17234 (package
17235 (name "ghc-servant-client")
17236 (version "0.20.3.0")
17237 (source
17238 (origin
17239 (method url-fetch)
17240 (uri (hackage-uri "servant-client" version))
17241 (sha256
17242 (base32 "0kxmixgv5nmir2bk3zfrhaal4969rf414wi2ccnngjm3395bqrwn"))))
17243 (build-system haskell-build-system)
17244 (properties '((upstream-name . "servant-client")))
17245 (inputs (list ghc-servant
17246 ghc-servant-client-core
17247 ghc-base-compat
17248 ghc-http-client
17249 ghc-http-media
17250 ghc-http-types
17251 ghc-kan-extensions
17252 ghc-monad-control
17253 ghc-semigroupoids
17254 ghc-transformers-base))
17255 (native-inputs (list ghc-aeson
17256 ghc-http-api-data
17257 ghc-sop-core
17258 ghc-generics-sop
17259 ghc-wai
17260 ghc-warp
17261 ghc-entropy
17262 ghc-hspec
17263 ghc-hunit
17264 ghc-network
17265 ghc-quickcheck
17266 ghc-servant-server
17267 ghc-markdown-unlit
17268 hspec-discover))
17269 (arguments
17270 `(#:cabal-revision ("2"
17271 "01if9an74258ri4sg91z64f200wl5z9i368ngc25wcgqkzpda3xd")))
17272 (home-page "http://docs.servant.dev/")
17273 (synopsis "Automatic derivation of querying functions for servant")
17274 (description
17275 "This library lets you derive automatically Haskell functions that let you query
17276each endpoint of a <http://hackage.haskell.org/package/servant servant>
17277webservice. . See <http://docs.servant.dev/en/stable/tutorial/Client.html the
17278client section of the tutorial>. .
17279<https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md
17280CHANGELOG>.")
17281 (license license:bsd-3)))
17282
17283(define-public ghc-servant-client-core
17284 (package
17285 (name "ghc-servant-client-core")
17286 (version "0.20.3.0")
17287 (source
17288 (origin
17289 (method url-fetch)
17290 (uri (hackage-uri "servant-client-core" version))
17291 (sha256
17292 (base32 "1vv6xf340hyk60vv6jb1zxfpsb7x2ykacb84yrn3h1w4k075hlyn"))))
17293 (build-system haskell-build-system)
17294 (properties '((upstream-name . "servant-client-core")))
17295 (inputs (list ghc-attoparsec
17296 ghc-constraints
17297 ghc-servant
17298 ghc-aeson
17299 ghc-base-compat
17300 ghc-base64-bytestring
17301 ghc-free
17302 ghc-http-media
17303 ghc-http-types
17304 ghc-network-uri
17305 ghc-safe
17306 ghc-sop-core))
17307 (native-inputs (list hspec-discover ghc-hspec ghc-quickcheck))
17308 (arguments
17309 `(#:cabal-revision ("2"
17310 "1gnnbybxpvvc82p45iqqiggrw545m6qmkgwfnv18rv83p5lqzcv0")))
17311 (home-page "http://docs.servant.dev/")
17312 (synopsis
17313 "Core functionality and class for client function generation for servant APIs")
17314 (description
17315 "This library provides backend-agnostic generation of client functions. For more
17316information, see the README.")
17317 (license license:bsd-3)))
17318
17319(define-public ghc-servant-server
17320 (package
17321 (name "ghc-servant-server")
17322 (version "0.20.3.0")
17323 (source
17324 (origin
17325 (method url-fetch)
17326 (uri (hackage-uri "servant-server" version))
17327 (sha256
17328 (base32 "05crwklbncd393zq00gi04zgnfyy2wk31s0xf5hy6yjrsbshlmih"))))
17329 (build-system haskell-build-system)
17330 (properties '((upstream-name . "servant-server")))
17331 (inputs (list ghc-constraints
17332 ghc-http-api-data
17333 ghc-servant
17334 ghc-base64-bytestring
17335 ghc-http-media
17336 ghc-http-types
17337 ghc-monad-control
17338 ghc-network
17339 ghc-resourcet
17340 ghc-sop-core
17341 ghc-tagged
17342 ghc-transformers-base
17343 ghc-wai
17344 ghc-wai-app-static
17345 ghc-word8
17346 ghc-base-compat
17347 ghc-aeson
17348 ghc-warp))
17349 (native-inputs (list ghc-safe
17350 ghc-hspec
17351 ghc-hspec-wai
17352 hspec-discover
17353 ghc-should-not-typecheck
17354 ghc-temporary
17355 ghc-wai-extra))
17356 (arguments
17357 `(#:cabal-revision ("1"
17358 "1z2h1gmxphwd76chyah405ww4ciyxq7rvggghr6lh0z1m3p2k90h")))
17359 (home-page "http://docs.servant.dev/")
17360 (synopsis
17361 "Family of combinators for defining webservices APIs and serving them")
17362 (description
17363 "This package provides a family of combinators for defining webservices APIs and
17364serving them . You can learn about the basics in the
17365<http://docs.servant.dev/en/stable/tutorial/index.html tutorial>. .
17366<https://github.com/haskell-servant/servant/blob/master/servant-server/example/greet.hs
17367Here> is a runnable example, with comments, that defines a dummy API and
17368implements a webserver that serves this API, using this package. .
17369<https://github.com/haskell-servant/servant/blob/master/servant-server/CHANGELOG.md
17370CHANGELOG>")
17371 (license license:bsd-3)))
17372
17373(define-public ghc-boring
17374 (package
17375 (name "ghc-boring")
17376 (version "0.2.2")
17377 (source
17378 (origin
17379 (method url-fetch)
17380 (uri (hackage-uri "boring" version))
17381 (sha256
17382 (base32 "11pgndkjvy2j0jfaww92nmlkn2r27v6a253hzdc7dcb9zwgsz2wj"))))
17383 (build-system haskell-build-system)
17384 (properties '((upstream-name . "boring")))
17385 (inputs (list ghc-tagged))
17386 (arguments
17387 `(#:cabal-revision ("1"
17388 "139fba0i0ksh9chy0c86cv9v8nldwd62rw8h4a33g8rh131hbmzn")))
17389 (home-page "https://github.com/phadej/boring")
17390 (synopsis "Boring and Absurd types")
17391 (description
17392 "* @@Boring@@ types are isomorphic to @@()@@. . * @@Absurd@@ types are isomorphic
17393to @@Void@@. . See [What does () mean in Haskell -answer by Conor
17394McBride](https://stackoverflow.com/questions/33112439/what-does-mean-in-haskell/33115522#33115522)")
17395 (license license:bsd-3)))
17396
17397(define-public ghc-some
17398 (package
17399 (name "ghc-some")
17400 (version "1.0.6")
17401 (source
17402 (origin
17403 (method url-fetch)
17404 (uri (hackage-uri "some" version))
17405 (sha256
17406 (base32 "1fdzhi2rmcigb1c727dyzfak8rgb77bzfr33k1cp987lbnnhd9pp"))))
17407 (build-system haskell-build-system)
17408 (properties '((upstream-name . "some")))
17409 (arguments
17410 `(#:cabal-revision ("2"
17411 "1w4xi6k44bjyrvhq70550fwrvqfybrq747aws708q18zsbriandc")))
17412 (home-page "https://github.com/haskellari/some")
17413 (synopsis "Existential type: Some")
17414 (description
17415 "This library defines an existential type Some'. . @@ data Some f where \\ Some ::
17416f a -> Some f @@ . in few variants, and utilities to work with it. . If you
17417are unsure which variant to use, use the one in \"Data.Some\" module.")
17418 (license license:bsd-3)))
17419
17420(define-public ghc-hslua-classes
17421 (package
17422 (name "ghc-hslua-classes")
17423 (version "2.3.1")
17424 (source
17425 (origin
17426 (method url-fetch)
17427 (uri (hackage-uri "hslua-classes" version))
17428 (sha256
17429 (base32 "185lynrinz1y38346b80jx8ag77ka53sg606wdlgzsqrx7rk66kq"))))
17430 (build-system haskell-build-system)
17431 (properties '((upstream-name . "hslua-classes")))
17432 (inputs (list ghc-hslua-core ghc-hslua-marshalling))
17433 (native-inputs (list ghc-lua-arbitrary
17434 ghc-quickcheck
17435 ghc-quickcheck-instances
17436 ghc-tasty
17437 ghc-tasty-hslua
17438 ghc-tasty-hunit
17439 ghc-tasty-quickcheck))
17440 (home-page "https://hslua.org/")
17441 (synopsis "Type classes for HsLua")
17442 (description
17443 "Type classes for convenient marshalling and calling of Lua functions.")
17444 (license license:expat)))
17445
17446(define-public ghc-hslua-cli
17447 (package
17448 (name "ghc-hslua-cli")
17449 (version "1.4.3")
17450 (source
17451 (origin
17452 (method url-fetch)
17453 (uri (hackage-uri "hslua-cli" version))
17454 (sha256
17455 (base32 "1sn8mc18lqn8c0pm7rms623p49vpmmhbp07bh561x6q96fgjcwzm"))))
17456 (build-system haskell-build-system)
17457 (properties '((upstream-name . "hslua-cli")))
17458 (inputs (list ghc-hslua-core ghc-hslua-marshalling ghc-hslua-repl ghc-lua))
17459 (home-page "https://hslua.org/")
17460 (synopsis "Command-line interface for Lua")
17461 (description
17462 "This package provides an embeddable command-line interface for Lua. The
17463interface is compatible with the standard Lua interpreter, i.e., the `lua`
17464executable provided in a default Lua installation.")
17465 (license license:expat)))
17466
17467(define-public ghc-hslua-module-zip
17468 (package
17469 (name "ghc-hslua-module-zip")
17470 (version "1.1.4")
17471 (source
17472 (origin
17473 (method url-fetch)
17474 (uri (hackage-uri "hslua-module-zip" version))
17475 (sha256
17476 (base32 "1ij2rmy8m4pw7k7w5vvb3g934kms60vhzhhp8kryknbi6bsg8lsy"))))
17477 (build-system haskell-build-system)
17478 (properties '((upstream-name . "hslua-module-zip")))
17479 (inputs (list ghc-hslua-core
17480 ghc-hslua-packaging
17481 ghc-hslua-list
17482 ghc-hslua-marshalling
17483 ghc-hslua-typing
17484 ghc-zip-archive))
17485 (native-inputs (list ghc-hslua-module-system ghc-tasty ghc-tasty-hunit
17486 ghc-tasty-lua))
17487 (home-page "https://hslua.org/")
17488 (synopsis "Lua module to work with file zips.")
17489 (description
17490 "Module with function for creating, modifying, and extracting files from zip
17491archives.")
17492 (license license:expat)))
17493
17494(define-public ghc-hslua-objectorientation
17495 (package
17496 (name "ghc-hslua-objectorientation")
17497 (version "2.3.1")
17498 (source
17499 (origin
17500 (method url-fetch)
17501 (uri (hackage-uri "hslua-objectorientation" version))
17502 (sha256
17503 (base32 "1avxiqcr2k4wdi3da1h4qwis589xvvdz0abggcklbigjc08vf90q"))))
17504 (build-system haskell-build-system)
17505 (properties '((upstream-name . "hslua-objectorientation")))
17506 (inputs (list ghc-hslua-core ghc-hslua-marshalling ghc-hslua-typing))
17507 (native-inputs (list ghc-lua-arbitrary
17508 ghc-quickcheck
17509 ghc-quickcheck-instances
17510 ghc-tasty
17511 ghc-tasty-hslua
17512 ghc-tasty-hunit
17513 ghc-tasty-quickcheck))
17514 (home-page "https://hslua.org/")
17515 (synopsis "Object orientation tools for HsLua")
17516 (description
17517 "Expose Haskell objects to Lua with an object oriented interface.")
17518 (license license:expat)))
17519
17520(define-public ghc-hslua-packaging
17521 (package
17522 (name "ghc-hslua-packaging")
17523 (version "2.3.1")
17524 (source
17525 (origin
17526 (method url-fetch)
17527 (uri (hackage-uri "hslua-packaging" version))
17528 (sha256
17529 (base32 "0wr1az0mq0q4xk0x4an0sxsnnjvpcfhcgqdlmp23yylzkbbaxp1n"))))
17530 (build-system haskell-build-system)
17531 (properties '((upstream-name . "hslua-packaging")))
17532 (inputs (list ghc-hslua-core ghc-hslua-marshalling
17533 ghc-hslua-objectorientation ghc-hslua-typing))
17534 (native-inputs (list ghc-tasty-hslua ghc-tasty ghc-tasty-hunit))
17535 (home-page "https://hslua.org/")
17536 (synopsis "Utilities to build Lua modules")
17537 (description
17538 "Utilities to package up Haskell functions and values into a Lua module. . This
17539package is part of HsLua, a Haskell framework built around the embeddable
17540scripting language <https://lua.org Lua>.")
17541 (license license:expat)))
17542
17543(define-public ghc-hslua-module-version
17544 (package
17545 (name "ghc-hslua-module-version")
17546 (version "1.1.1")
17547 (source
17548 (origin
17549 (method url-fetch)
17550 (uri (hackage-uri "hslua-module-version" version))
17551 (sha256
17552 (base32 "0h0a4gk17bi7hh34yh5dva7zz1pyc5b8lm8kij5ri3jnsm259r29"))))
17553 (build-system haskell-build-system)
17554 (properties '((upstream-name . "hslua-module-version")))
17555 (inputs (list ghc-hslua-core ghc-hslua-marshalling ghc-hslua-packaging))
17556 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-lua))
17557 (home-page "https://hslua.org/")
17558 (synopsis "Lua module to work with version specifiers")
17559 (description "Wrapper for the Data.Version.Version Haskell type.")
17560 (license license:expat)))
17561
17562(define-public ghc-recv
17563 (package
17564 (name "ghc-recv")
17565 (version "0.1.1")
17566 (source
17567 (origin
17568 (method url-fetch)
17569 (uri (hackage-uri "recv" version))
17570 (sha256
17571 (base32 "08dp76haq3yb1bzxvg8hv0p060c07a0w7vrq63fh75ajgz2pgbwd"))))
17572 (build-system haskell-build-system)
17573 (properties '((upstream-name . "recv")))
17574 (inputs (list ghc-network))
17575 (native-inputs (list ghc-hspec hspec-discover))
17576 (home-page "http://github.com/yesodweb/wai")
17577 (synopsis "Efficient network recv")
17578 (description "Network recv based on buffer pools")
17579 (license license:bsd-3)))
17580
17581(define-public ghc-glib
17582 (package
17583 (name "ghc-glib")
17584 (version "0.13.12.0")
17585 (source
17586 (origin
17587 (method url-fetch)
17588 (uri (hackage-uri "glib" version))
17589 (sha256
17590 (base32 "03b9s9fzg17mh4dcxmgnb43a0r5237gh91x6blpwawynrvi9bmmg"))))
17591 (build-system haskell-build-system)
17592 (properties '((upstream-name . "glib")))
17593 (inputs (list ghc-utf8-string glib))
17594 (native-inputs (list ghc-gtk2hs-buildtools pkg-config))
17595 (home-page "https://projects.haskell.org/gtk2hs/")
17596 (synopsis "GLib bindings for for Gtk2Hs")
17597 (description
17598 "GLib is a collection of C data structures and utility functions for the GObject
17599system, main loop implementation, for strings and common data structures dealing
17600with Unicode. This package only binds as much functionality as required to
17601support the packages that wrap libraries that are themselves based on GLib.")
17602 (license license:lgpl2.1)))
17603
17604(define-public ghc-pango
17605 (package
17606 (name "ghc-pango")
17607 (version "0.13.12.0")
17608 (source
17609 (origin
17610 (method url-fetch)
17611 (uri (hackage-uri "pango" version))
17612 (sha256
17613 (base32 "0ahrx81picvm6mbv1vdgk19l6yyzi75z0y1shkbvc9zs23czlz62"))))
17614 (build-system haskell-build-system)
17615 (properties '((upstream-name . "pango")))
17616 (inputs (list ghc-glib ghc-cairo pango))
17617 (native-inputs (list ghc-gtk2hs-buildtools pkg-config))
17618 (home-page "http://projects.haskell.org/gtk2hs/")
17619 (synopsis "Haskell bindings to the Pango text rendering engine")
17620 (description
17621 "This package provides a wrapper around the Pango C library that allows
17622high-quality rendering of Unicode text. It can be used either with Cairo to
17623output text in PDF, PS or other documents or with Gtk+ to display text
17624on-screen.")
17625 (license license:lgpl2.1)))
17626
17627(define-public ghc-monoidal-containers
17628 (package
17629 (name "ghc-monoidal-containers")
17630 (version "0.6.6.0")
17631 (source
17632 (origin
17633 (method url-fetch)
17634 (uri (hackage-uri "monoidal-containers" version))
17635 (sha256
17636 (base32 "0i2hc4x1y6437az5cg1rg8p57m1m6k742h5vbdw0vr4hrq2ldsqi"))))
17637 (build-system haskell-build-system)
17638 (properties '((upstream-name . "monoidal-containers")))
17639 (inputs (list ghc-aeson
17640 ghc-hashable
17641 ghc-lens
17642 ghc-newtype
17643 ghc-unordered-containers
17644 ghc-witherable
17645 ghc-semialign
17646 ghc-these))
17647 (home-page "http://github.com/bgamari/monoidal-containers")
17648 (synopsis "Containers with monoidal accumulation")
17649 (description
17650 "Containers with merging via monoidal accumulation. The Monoid instances
17651provided by the @code{containers} and @code{unordered-containers} packages merge
17652structures in a left-biased manner instead of using the underlying monoidal
17653structure of the value. This package wraps the types provided by these
17654packages, but provides @code{Monoid} instances implemented in terms of the value
17655type's mappend'.")
17656 (license license:bsd-3)))
17657
17658(define-public ghc-newtype
17659 (package
17660 (name "ghc-newtype")
17661 (version "0.2.2.0")
17662 (source
17663 (origin
17664 (method url-fetch)
17665 (uri (hackage-uri "newtype" version))
17666 (sha256
17667 (base32 "1b7bamnd0p8vmxvlg39g5d4a2av49kx10rdyz04ixa28pg8zy01s"))))
17668 (build-system haskell-build-system)
17669 (properties '((upstream-name . "newtype")))
17670 (arguments
17671 `(#:cabal-revision ("3"
17672 "0yll88ydchd2gqcvdk28fchf2vygpd42ky2bigg4ga08jan2nacx")))
17673 (home-page "http://hackage.haskell.org/package/newtype")
17674 (synopsis "Typeclass and set of functions for working with newtypes")
17675 (description
17676 "Per Conor McBride, the Newtype typeclass represents the packing and unpacking of
17677a @code{newtype}, and allows you to operate under that @code{newtype} with functions
17678such as ala'.")
17679 (license license:bsd-3)))
17680
17681(define-public ghc-hspec-hedgehog
17682 (package
17683 (name "ghc-hspec-hedgehog")
17684 (version "0.3.0.0")
17685 (source
17686 (origin
17687 (method url-fetch)
17688 (uri (hackage-uri "hspec-hedgehog" version))
17689 (sha256
17690 (base32 "1px71jwxvqdh837fvlmx4smcvci9bbkygb7n10vasfpyb2k0yhzy"))))
17691 (build-system haskell-build-system)
17692 (properties '((upstream-name . "hspec-hedgehog")))
17693 (inputs (list ghc-quickcheck ghc-hedgehog ghc-hspec ghc-hspec-core
17694 ghc-splitmix))
17695 (native-inputs (list ghc-hunit hspec-discover))
17696 (home-page "https://github.com/hspec/hspec-hedgehog#readme")
17697 (synopsis "Integrate Hedgehog and Hspec")
17698 (description "An integration library for hspec and hedgehog.")
17699 (license license:bsd-3)))
17700
17701(define-public ghc-validation-selective
17702 (package
17703 (name "ghc-validation-selective")
17704 (version "0.2.0.0")
17705 (source
17706 (origin
17707 (method url-fetch)
17708 (uri (hackage-uri "validation-selective" version))
17709 (sha256
17710 (base32 "11s9qsp5w19lbk6vg6psr3864xdsx2kmx3gcmnn2qkx6wsblx24s"))))
17711 (build-system haskell-build-system)
17712 (properties '((upstream-name . "validation-selective")))
17713 (inputs (list ghc-selective))
17714 (native-inputs (list ghc-hedgehog ghc-hspec ghc-hspec-hedgehog ghc-doctest))
17715 (arguments
17716 `(#:cabal-revision ("5"
17717 "05lksfm5micvk2s6isscjf6ipkwd79698cczlr0ipgn8wmm87drz")))
17718 (home-page "https://github.com/kowainik/validation-selective")
17719 (synopsis "Data validation based on Applicative and Selective functors")
17720 (description
17721 "Lightweight pure data validation based on Applicative and Selective functors.")
17722 (license license:mpl2.0)))
17723
17724(define-public ghc-vcr
17725 (package
17726 (name "ghc-vcr")
17727 (version "0.1.0")
17728 (source
17729 (origin
17730 (method url-fetch)
17731 (uri (hackage-uri "vcr" version))
17732 (sha256
17733 (base32 "1s6gp1m84izlsvw5z7ll39mw2r456xmbh7cx53f8gkwl2m2pyyrq"))))
17734 (build-system haskell-build-system)
17735 (properties '((upstream-name . "vcr")))
17736 (inputs (list ghc-hunit
17737 ghc-async
17738 ghc-case-insensitive
17739 ghc-http-client
17740 ghc-http-types
17741 ghc-network-uri
17742 ghc-yaml))
17743 (native-inputs (list hspec-discover ghc-hspec ghc-http-client-tls ghc-http-conduit
17744 ghc-mockery))
17745 (home-page "https://github.com/assertible/vcr")
17746 (synopsis "Record and replay HTTP interactions")
17747 (description
17748 "Haskell library for recording and replaying HTTP interactions, making your
17749tests fast, deterministic, and free from real network dependencies.")
17750 (license license:expat)))
17751
17752(define-public ghc-tdigest
17753 (package
17754 (name "ghc-tdigest")
17755 (version "0.3.1")
17756 (source
17757 (origin
17758 (method url-fetch)
17759 (uri (hackage-uri "tdigest" version))
17760 (sha256
17761 (base32 "1v3j0041hjhvnwr77r1i1flvl9b1n8z0d2g83b63fr97kyl2fc8r"))))
17762 (build-system haskell-build-system)
17763 (properties '((upstream-name . "tdigest")))
17764 (inputs (list ghc-reducers ghc-vector ghc-vector-algorithms))
17765 (native-inputs (list ghc-semigroups ghc-tasty ghc-tasty-quickcheck))
17766 (home-page "https://github.com/phadej/haskell-tdigest#readme")
17767 (synopsis "On-line accumulation of rank-based statistics")
17768 (description
17769 "This package provides a new data structure for accurate on-line accumulation of
17770rank-based statistics such as quantiles and trimmed means. . See original
17771paper: \"Computing extremely accurate quantiles using t-digest\" by Ted Dunning
17772and Otmar Ertl for more details
17773<https://github.com/tdunning/t-digest/blob/07b8f2ca2be8d0a9f04df2feadad5ddc1bb73c88/docs/t-digest-paper/histo.pdf>.")
17774 (license license:bsd-3)))
17775
17776(define-public ghc-tomland
17777 (package
17778 (name "ghc-tomland")
17779 (version "1.3.3.3")
17780 (source
17781 (origin
17782 (method url-fetch)
17783 (uri (hackage-uri "tomland" version))
17784 (sha256
17785 (base32 "1asnz773mrbg8fkfabq5w24v63sgqljspc4p4nmf4dm6abm2p6d0"))))
17786 (build-system haskell-build-system)
17787 (properties '((upstream-name . "tomland")))
17788 (inputs (list ghc-hashable ghc-megaparsec ghc-parser-combinators
17789 ghc-unordered-containers ghc-validation-selective))
17790 (native-inputs (list ghc-hedgehog ghc-hspec ghc-hspec-hedgehog
17791 ghc-hspec-megaparsec))
17792 (arguments
17793 `(#:cabal-revision ("3"
17794 "0aclzlwr7xmjzda327vzfb8av90g3lpcln1h1gkw76x5w7xq662s")))
17795 (home-page "https://github.com/kowainik/tomland")
17796 (synopsis "Bidirectional TOML serialization")
17797 (description "Implementation of bidirectional TOML serialization.")
17798 (license license:mpl2.0)))
17799
17800(define-public ghc-toml-parser
17801 (package
17802 (name "ghc-toml-parser")
17803 (version "2.0.1.2")
17804 (source
17805 (origin
17806 (method url-fetch)
17807 (uri (hackage-uri "toml-parser" version))
17808 (sha256
17809 (base32 "0fm3anvslylamazr4jgm3y3v3sjh0jv5ydf565cfm1ma9kw4kbhv"))))
17810 (build-system haskell-build-system)
17811 (properties '((upstream-name . "toml-parser")))
17812 (inputs (list ghc-prettyprinter))
17813 (native-inputs (list ghc-alex ghc-happy ghc-hspec hspec-discover
17814 ghc-markdown-unlit))
17815 (arguments
17816 `(#:cabal-revision ("1"
17817 "0p6h6yh2x93bgspan1s5hkwg10s834m5gkx1bha9y3ljppffpg2c")))
17818 (home-page "https://github.com/glguy/toml-parser")
17819 (synopsis "TOML 1.0.0 parser")
17820 (description "TOML parser using generated lexers and parsers with careful
17821attention to the TOML 1.0.0 semantics for defining tables.")
17822 (license license:isc)))
17823
17824(define-public ghc-hslua-list
17825 (package
17826 (name "ghc-hslua-list")
17827 (version "1.1.4")
17828 (source
17829 (origin
17830 (method url-fetch)
17831 (uri (hackage-uri "hslua-list" version))
17832 (sha256
17833 (base32 "0lyrk95nnsdwi3zfaf4blvih49002wy5hxjj7l49ryc93padkvyk"))))
17834 (build-system haskell-build-system)
17835 (properties '((upstream-name . "hslua-list")))
17836 (inputs (list ghc-hslua-core))
17837 (native-inputs (list ghc-tasty ghc-tasty-lua))
17838 (home-page "https://hslua.org/")
17839 (synopsis "Opinionated, but extensible Lua list type.")
17840 (description "List type for Lua, with a Haskell interface.")
17841 (license license:expat)))
17842
17843(define-public ghc-hslua-module-doclayout
17844 (package
17845 (name "ghc-hslua-module-doclayout")
17846 (version "1.2.0.1")
17847 (source
17848 (origin
17849 (method url-fetch)
17850 (uri (hackage-uri "hslua-module-doclayout" version))
17851 (sha256
17852 (base32 "139l4sh9pllm0zjgv3w7scbpd0cgn23r95fdlchavsdfwkpvcx17"))))
17853 (build-system haskell-build-system)
17854 (properties '((upstream-name . "hslua-module-doclayout")))
17855 (inputs (list ghc-doclayout ghc-hslua))
17856 (native-inputs (list ghc-tasty ghc-tasty-hunit ghc-tasty-lua))
17857 (home-page "https://github.com/hslua/hslua-module-doclayout")
17858 (synopsis "Lua module wrapping Text.DocLayout")
17859 (description "Lua module wrapping @code{Text.DocLayout}.")
17860 (license license:expat)))
17861
17862(define-public ghc-hslua-repl
17863 (package
17864 (name "ghc-hslua-repl")
17865 (version "0.1.2")
17866 (source
17867 (origin
17868 (method url-fetch)
17869 (uri (hackage-uri "hslua-repl" version))
17870 (sha256
17871 (base32 "00n624vs0509sy8lmnid97nfmlwpi60wzibpkjsj5nbmp0xcsi42"))))
17872 (build-system haskell-build-system)
17873 (properties '((upstream-name . "hslua-repl")))
17874 (inputs (list ghc-hslua-core ghc-isocline ghc-lua))
17875 (home-page "https://hslua.org/")
17876 (synopsis "Isocline-based Lua REPL")
17877 (description
17878 "An embeddable Lua REPL built with Isocline and @code{HsLua}.")
17879 (license license:expat)))
17880
17881(define-public ghc-hslua-typing
17882 (package
17883 (name "ghc-hslua-typing")
17884 (version "0.1.1")
17885 (source
17886 (origin
17887 (method url-fetch)
17888 (uri (hackage-uri "hslua-typing" version))
17889 (sha256
17890 (base32 "0k09g97ysi5db6a3rdfj2j6wsb12dbhvnbcgqvy686mpa6rwg6j4"))))
17891 (build-system haskell-build-system)
17892 (properties '((upstream-name . "hslua-typing")))
17893 (inputs (list ghc-hslua-core ghc-hslua-marshalling))
17894 (native-inputs (list ghc-quickcheck
17895 ghc-lua-arbitrary
17896 ghc-quickcheck-instances
17897 ghc-tasty
17898 ghc-tasty-hunit
17899 ghc-tasty-quickcheck))
17900 (home-page "https://hslua.org/")
17901 (synopsis "Type specifiers for Lua.")
17902 (description
17903 "Structure to hold detailed type information. The primary use-case at this time
17904are auto-generated docs.")
17905 (license license:expat)))
17906
17907(define-public ghc-random-shuffle
17908 (package
17909 (name "ghc-random-shuffle")
17910 (version "0.0.4")
17911 (source
17912 (origin
17913 (method url-fetch)
17914 (uri (hackage-uri "random-shuffle" version))
17915 (sha256
17916 (base32 "0586bnlh0g2isc44jbjvafkcl4yw6lp1db8x6vr0pza0y08l8w2j"))))
17917 (build-system haskell-build-system)
17918 (properties '((upstream-name . "random-shuffle")))
17919 (inputs (list ghc-random ghc-monadrandom))
17920 (home-page "http://hackage.haskell.org/package/random-shuffle")
17921 (synopsis "Random shuffle implementation")
17922 (description
17923 "Random shuffle implementation, on immutable lists. Based on
17924@url{http://okmij.org/ftp/Haskell/perfect-shuffle.txt, perfect shuffle
17925implementation by Oleg Kiselyov}.")
17926 (license license:bsd-3)))
17927
17928(define-public ghc-deriving-aeson
17929 (package
17930 (name "ghc-deriving-aeson")
17931 (version "0.2.10")
17932 (source
17933 (origin
17934 (method url-fetch)
17935 (uri (hackage-uri "deriving-aeson" version))
17936 (sha256
17937 (base32 "0xrny17zfsfjrl6042na32q7msm939p3ns6x7iw47xc21an55yrs"))))
17938 (build-system haskell-build-system)
17939 (properties '((upstream-name . "deriving-aeson")))
17940 (inputs (list ghc-aeson))
17941 (home-page "http://hackage.haskell.org/package/deriving-aeson")
17942 (synopsis "Type driven generic aeson instance customisation")
17943 (description
17944 "This package provides a newtype wrapper with FromJSON/ToJSON instances
17945customisable via a phantom type parameter. The instances can be rendered to the
17946original type using DerivingVia.")
17947 (license license:bsd-3)))
17948
17949(define-public ghc-leancheck
17950 (package
17951 (name "ghc-leancheck")
17952 (version "1.0.4")
17953 (source
17954 (origin
17955 (method url-fetch)
17956 (uri (hackage-uri "leancheck" version))
17957 (sha256
17958 (base32 "15fg0bnrh7apla4y2c47gxb4jrkrvrcb3swrl3mva2lymnnxzhbd"))))
17959 (build-system haskell-build-system)
17960 (properties '((upstream-name . "leancheck")))
17961 (home-page "https://github.com/rudymatela/leancheck#readme")
17962 (synopsis "Enumerative property-based testing")
17963 (description
17964 "LeanCheck is a simple enumerative property-based testing library. Properties
17965are defined as Haskell functions returning a boolean value which should be true
17966for all possible choices of argument values. LeanCheck applies enumerated
17967argument values to these properties in search for a counterexample. Properties
17968can be viewed as parameterized unit tests. LeanCheck works by producing tiers
17969of test values: a possibly infinite list of finite sublists of
17970same-and-increasingly-sized values.")
17971 (license license:bsd-3)))
17972
17973(define-public ghc-test-framework-leancheck
17974 (package
17975 (name "ghc-test-framework-leancheck")
17976 (version "0.0.4")
17977 (source
17978 (origin
17979 (method url-fetch)
17980 (uri (hackage-uri "test-framework-leancheck" version))
17981 (sha256
17982 (base32 "0aa21r999jj59plzkn1px02k3a87znwhagdjmdsik2xvy5wrzgzv"))))
17983 (build-system haskell-build-system)
17984 (properties '((upstream-name . "test-framework-leancheck")))
17985 (inputs (list ghc-test-framework ghc-leancheck))
17986 (home-page "https://github.com/rudymatela/test-framework-leancheck#readme")
17987 (synopsis "LeanCheck support for test-framework")
17988 (description
17989 "LeanCheck support for @code{test-framework}. This package can be used
17990to incorporate LeanCheck tests into test-framework test suites.")
17991 (license license:bsd-3)))
17992
17993(define-public ghc-prim-uniq
17994 (package
17995 (name "ghc-prim-uniq")
17996 (version "0.2")
17997 (source
17998 (origin
17999 (method url-fetch)
18000 (uri (hackage-uri "prim-uniq" version))
18001 (sha256
18002 (base32 "1l7jlv3pfasn89n2wpgff972npy423vqsidkkn5crxfyqjyzxbdv"))))
18003 (build-system haskell-build-system)
18004 (properties '((upstream-name . "prim-uniq")))
18005 (inputs (list ghc-dependent-sum ghc-primitive))
18006 (home-page "https://github.com/obsidiansystems/prim-uniq")
18007 (synopsis "Opaque unique identifiers in primitive state monads")
18008 (description
18009 "This library provides opaque unique identifiers in primitive state
18010monads and a GADT-like type using them as witnesses of type equality.")
18011 (license license:public-domain)))
18012
18013(define-public ghc-patch
18014 (package
18015 (name "ghc-patch")
18016 (version "0.0.8.4")
18017 (source
18018 (origin
18019 (method url-fetch)
18020 (uri (hackage-uri "patch" version))
18021 (sha256
18022 (base32 "149rbr0yy22m2rbvq68bmq33nrczji27f328r9zyc7gklhry55sv"))))
18023 (build-system haskell-build-system)
18024 (properties '((upstream-name . "patch")))
18025 (inputs (list ghc-constraints-extras
18026 ghc-commutative-semigroups
18027 ghc-dependent-map
18028 ghc-dependent-sum
18029 ghc-lens
18030 ghc-indexed-traversable
18031 ghc-semigroupoids
18032 ghc-witherable
18033 ghc-base-orphans
18034 ghc-these
18035 ghc-semialign
18036 ghc-monoidal-containers))
18037 (native-inputs (list ghc-hedgehog ghc-hunit ghc-filemanip))
18038 (home-page "https://obsidian.systems")
18039 (synopsis
18040 "Data structures for describing changes to other data structures")
18041 (description
18042 "This library provides data structures for describing changes to other
18043data structures. In this library, a patch is something that can be applied,
18044analogous to a function, and which distinguishes returning the argument it was
18045provided from returning something else.")
18046 (license license:bsd-3)))
18047
18048(define-public ghc-ref-tf
18049 (package
18050 (name "ghc-ref-tf")
18051 (version "0.5.0.1")
18052 (source
18053 (origin
18054 (method url-fetch)
18055 (uri (hackage-uri "ref-tf" version))
18056 (sha256
18057 (base32 "0isilgcbw12zyh8s2liaj5r9r5m3yg1xskyhag6f36qi60y29hx5"))))
18058 (build-system haskell-build-system)
18059 (properties '((upstream-name . "ref-tf")))
18060 (home-page "http://hackage.haskell.org/package/ref-tf")
18061 (synopsis "Type class for monads with references using type families")
18062 (description
18063 "This package contains a @code{MonadRef} type class that abstracts over
18064the details of manipulating references, allowing one to write code that can
18065operate in either the @code{ST} monad or the @code{IO} monad.")
18066 (license license:bsd-3)))
18067
18068(define-public ghc-data-array-byte
18069 (package
18070 (name "ghc-data-array-byte")
18071 (version "0.1.0.1")
18072 (source
18073 (origin
18074 (method url-fetch)
18075 (uri (hackage-uri "data-array-byte" version))
18076 (sha256
18077 (base32 "002n0af7q08q3fmgsc5b47s1clirxy0lrqglwxzhabg0nfhfrdhv"))))
18078 (build-system haskell-build-system)
18079 (properties '((upstream-name . "data-array-byte")))
18080 (native-inputs (list ghc-quickcheck-classes-base ghc-tasty
18081 ghc-tasty-quickcheck))
18082 (arguments
18083 `(#:cabal-revision ("5"
18084 "06xfi70zgpv77nqrrnk649vdzji6cgp40a69i41kw05p7xaa1whc")))
18085 (home-page "https://github.com/Bodigrim/data-array-byte")
18086 (synopsis "Compatibility layer for Data.Array.Byte")
18087 (description
18088 "Compatibility layer for
18089@url{https://hackage.haskell.org/package/base/docs/Data-Array-Byte.html,Data.Array.Byte}
18090providing boxed wrappers for @code{ByteArray} and
18091@code{MutableByteArray} and relevant instances for GHC < 9.4.")
18092 (license license:bsd-3)))
18093
18094;;;
18095;;; Avoid adding new packages to the end of this file. To reduce the chances
18096;;; of a merge conflict, place them above by existing packages with similar
18097;;; functionality or similar names.
18098;;;
18099