gnu: Remove ".git" from "https://github/…/….git".
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
3c986a7d 7;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
82c36002 22;;; Copyright © 2019,2020 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
4639fa32 25;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
84436be0 26;;; Copyright © 2020 JoJo <jo@jo.zone>
ba7cbae3 27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
fbe32d46 28;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
6b34d01c
RV
29;;;
30;;; This file is part of GNU Guix.
31;;;
32;;; GNU Guix is free software; you can redistribute it and/or modify it
33;;; under the terms of the GNU General Public License as published by
34;;; the Free Software Foundation; either version 3 of the License, or (at
35;;; your option) any later version.
36;;;
37;;; GNU Guix is distributed in the hope that it will be useful, but
38;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40;;; GNU General Public License for more details.
41;;;
42;;; You should have received a copy of the GNU General Public License
43;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45(define-module (gnu packages haskell-xyz)
46 #:use-module (gnu packages)
dddbc90c
RV
47 #:use-module (gnu packages base)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages emacs)
50 #:use-module (gnu packages gcc)
51 #:use-module (gnu packages gl)
52 #:use-module (gnu packages graphviz)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages haskell-apps)
efb96749 55 #:use-module (gnu packages haskell-check)
dddbc90c
RV
56 #:use-module (gnu packages haskell-crypto)
57 #:use-module (gnu packages haskell-web)
58 #:use-module (gnu packages libffi)
59 #:use-module (gnu packages linux)
e3ee8023 60 #:use-module (gnu packages llvm)
dddbc90c
RV
61 #:use-module (gnu packages lua)
62 #:use-module (gnu packages maths)
49e29df5 63 #:use-module (gnu packages ncurses)
dddbc90c
RV
64 #:use-module (gnu packages pcre)
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages sdl)
0c2d6fc2 67 #:use-module (gnu packages web)
dddbc90c
RV
68 #:use-module (gnu packages xml)
69 #:use-module (gnu packages xorg)
6b34d01c
RV
70 #:use-module (guix build-system haskell)
71 #:use-module (guix download)
dddbc90c 72 #:use-module (guix git-download)
4780db2c 73 #:use-module (guix utils)
6b34d01c
RV
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages))
76
dddbc90c 77(define-public ghc-abstract-deque
efb96749 78 (package
dddbc90c
RV
79 (name "ghc-abstract-deque")
80 (version "0.3")
efb96749
RV
81 (source
82 (origin
83 (method url-fetch)
84 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
85 "abstract-deque-" version "/"
86 "abstract-deque-" version ".tar.gz"))
efb96749
RV
87 (sha256
88 (base32
dddbc90c 89 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 90 (build-system haskell-build-system)
dddbc90c
RV
91 (inputs `(("ghc-random" ,ghc-random)))
92 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
93 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
94 (description "This Haskell package provides an abstract interface to
95highly-parameterizable queues/deques.
96
97Background: There exists a feature space for queues that extends between:
efb96749
RV
98
99@itemize
dddbc90c
RV
100@item Simple, single-ended, non-concurrent, bounded queues
101
102@item Double-ended, thread-safe, growable queues with important points
103in between (such as the queues used for work stealing).
efb96749
RV
104@end itemize
105
dddbc90c
RV
106This package includes an interface for Deques that allows the programmer
107to use a single API for all of the above, while using the type system to
108select an efficient implementation given the requirements (using type families).
efb96749 109
dddbc90c
RV
110This package also includes a simple reference implementation based on
111@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
112 (license license:bsd-3)))
113
dddbc90c 114(define-public ghc-abstract-par
658dbc7f 115 (package
dddbc90c
RV
116 (name "ghc-abstract-par")
117 (version "0.3.3")
658dbc7f
RV
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
122 "abstract-par-" version "/"
123 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
124 (sha256
125 (base32
dddbc90c
RV
126 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
127 (build-system haskell-build-system)
128 (home-page "https://github.com/simonmar/monad-par")
129 (synopsis "Abstract parallelization interface for Haskell")
130 (description "This Haskell package is an abstract interface
131only. It provides a number of type clasess, but not an
132implementation. The type classes separate different levels
133of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
134module for more details.")
135 (license license:bsd-3)))
136
d8b88d74
TS
137(define-public ghc-active
138 (package
139 (name "ghc-active")
140 (version "0.2.0.14")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "https://hackage.haskell.org/package/"
145 "active/active-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
149 (build-system haskell-build-system)
150 (inputs
151 `(("ghc-vector" ,ghc-vector)
152 ("ghc-semigroups" ,ghc-semigroups)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-lens" ,ghc-lens)
155 ("ghc-linear" ,ghc-linear)))
156 (native-inputs
157 `(("ghc-quickcheck" ,ghc-quickcheck)))
158 (home-page "https://hackage.haskell.org/package/active")
159 (synopsis "Abstractions for animation")
160 (description "This package defines an @code{Active} abstraction for
161time-varying values with finite start and end times. It is used for
162describing animations within the
163@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
164diagrams framework}.")
165 (license license:bsd-3)))
166
dddbc90c
RV
167(define-public ghc-adjunctions
168 (package
169 (name "ghc-adjunctions")
170 (version "4.4")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
176 version
177 ".tar.gz"))
178 (sha256
179 (base32
180 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 181 (build-system haskell-build-system)
a78262be
TS
182 (arguments
183 `(#:cabal-revision
184 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 185 (inputs
dddbc90c
RV
186 `(("ghc-profunctors" ,ghc-profunctors)
187 ("ghc-comonad" ,ghc-comonad)
188 ("ghc-contravariant" ,ghc-contravariant)
189 ("ghc-distributive" ,ghc-distributive)
190 ("ghc-free" ,ghc-free)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroupoids" ,ghc-semigroupoids)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-transformers-compat" ,ghc-transformers-compat)
195 ("ghc-void" ,ghc-void)))
658dbc7f 196 (native-inputs
dddbc90c
RV
197 `(("ghc-generic-deriving" ,ghc-generic-deriving)
198 ("ghc-hspec" ,ghc-hspec)
199 ("hspec-discover" ,hspec-discover)))
200 (home-page "https://github.com/ekmett/adjunctions/")
201 (synopsis "Adjunctions and representable functors")
202 (description "This library provides adjunctions and representable functors
203for Haskell.")
204 (license license:bsd-3)))
205
206(define-public ghc-aeson-compat
207 (package
208 (name "ghc-aeson-compat")
0bafb755 209 (version "0.3.9")
dddbc90c
RV
210 (source
211 (origin
212 (method url-fetch)
213 (uri (string-append "https://hackage.haskell.org/package/"
214 "aeson-compat-" version "/"
215 "aeson-compat-" version ".tar.gz"))
216 (sha256
217 (base32
0bafb755 218 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
219 (build-system haskell-build-system)
220 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
221 (inputs `(("ghc-base-compat" ,ghc-base-compat)
222 ("ghc-aeson" ,ghc-aeson)
223 ("ghc-attoparsec" ,ghc-attoparsec)
224 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
225 ("ghc-exceptions" ,ghc-exceptions)
226 ("ghc-hashable" ,ghc-hashable)
227 ("ghc-scientific" ,ghc-scientific)
228 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
229 ("ghc-unordered-containers" ,ghc-unordered-containers)
230 ("ghc-vector" ,ghc-vector)
231 ("ghc-tagged" ,ghc-tagged)
232 ("ghc-semigroups" ,ghc-semigroups)
233 ("ghc-nats" ,ghc-nats)))
234 (home-page "https://github.com/phadej/aeson-compat")
235 (synopsis "Compatibility layer for ghc-aeson")
236 (description "This Haskell package provides compatibility layer for
237ghc-aeson.")
238 (license license:bsd-3)))
239
cbc6f861
TS
240(define-public ghc-aeson-diff
241 (package
242 (name "ghc-aeson-diff")
243 (version "1.1.0.7")
244 (source
245 (origin
246 (method url-fetch)
247 (uri (string-append "https://hackage.haskell.org/package/"
248 "aeson-diff/aeson-diff-" version ".tar.gz"))
249 (sha256
250 (base32
251 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-aeson" ,ghc-aeson)
255 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
256 ("ghc-hashable" ,ghc-hashable)
257 ("ghc-scientific" ,ghc-scientific)
258 ("ghc-unordered-containers" ,ghc-unordered-containers)
259 ("ghc-vector" ,ghc-vector)
260 ("ghc-semigroups" ,ghc-semigroups)
261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
262 (native-inputs
263 `(("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
265 ("ghc-glob" ,ghc-glob)
266 ("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-quickcheck" ,ghc-quickcheck)
269 ("ghc-doctest" ,ghc-doctest)
270 ("hlint" ,hlint)))
271 (home-page "https://github.com/thsutton/aeson-diff")
272 (synopsis "Extract and apply patches to JSON documents")
273 (description "This is a small library for working with changes to JSON
274documents. It includes a library and two command-line executables in the
275style of the @command{diff} and @command{patch} commands available on many
276systems.")
277 (license license:bsd-3)))
278
dddbc90c
RV
279(define-public ghc-alex
280 (package
281 (name "ghc-alex")
282 (version "3.2.4")
283 (source
284 (origin
285 (method url-fetch)
286 (uri (string-append
287 "https://hackage.haskell.org/package/alex/alex-"
288 version
289 ".tar.gz"))
290 (sha256
291 (base32
292 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
293 (build-system haskell-build-system)
658dbc7f 294 (arguments
dddbc90c
RV
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-before 'check 'set-check-variables
298 (lambda _
299 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
300 (getenv "PATH")))
301 (setenv "alex_datadir" (string-append (getcwd) "/data"))
302 #t)))))
303 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
304 (native-inputs
305 `(("which" ,which)))
306 (home-page "https://www.haskell.org/alex/")
307 (synopsis
308 "Tool for generating lexical analysers in Haskell")
309 (description
310 "Alex is a tool for generating lexical analysers in Haskell. It takes a
311description of tokens based on regular expressions and generates a Haskell
312module containing code for scanning text efficiently. It is similar to the
313tool lex or flex for C/C++.")
658dbc7f
RV
314 (license license:bsd-3)))
315
dddbc90c 316(define-public ghc-alsa-core
7b01a977 317 (package
dddbc90c
RV
318 (name "ghc-alsa-core")
319 (version "0.5.0.1")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://hackage/package/alsa-core/alsa-core-"
325 version
326 ".tar.gz"))
327 (sha256
328 (base32
329 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
330 (build-system haskell-build-system)
331 (inputs
332 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
333 ("alsa-lib" ,alsa-lib)))
334 (native-inputs
335 `(("pkg-config" ,pkg-config)))
336 (home-page "http://www.haskell.org/haskellwiki/ALSA")
337 (synopsis "Binding to the ALSA Library API (Exceptions)")
338 (description "This package provides access to ALSA infrastructure, that is
339needed by both alsa-seq and alsa-pcm.")
340 (license license:bsd-3)))
341
f2ed1e6d
JS
342(define-public ghc-alsa-mixer
343 (package
344 (name "ghc-alsa-mixer")
345 (version "0.3.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri
350 (string-append
351 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
352 version ".tar.gz"))
353 (sha256
354 (base32
355 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
356 (build-system haskell-build-system)
357 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
358 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
359 (home-page "https://github.com/ttuegel/alsa-mixer")
360 (synopsis "Bindings to the ALSA simple mixer API")
361 (description
362 "This package provides bindings to the ALSA simple mixer API.")
363 (license license:bsd-3)))
364
dddbc90c
RV
365(define-public ghc-annotated-wl-pprint
366 (package
367 (name "ghc-annotated-wl-pprint")
368 (version "0.7.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://hackage.haskell.org/package/annotated-wl-pprint"
374 "/annotated-wl-pprint-" version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
379 (build-system haskell-build-system)
380 (home-page
381 "https://github.com/david-christiansen/annotated-wl-pprint")
382 (synopsis
383 "The Wadler/Leijen Pretty Printer, with annotation support")
384 (description "This is a modified version of wl-pprint, which was based on
385Wadler's paper \"A Prettier Printer\". This version allows the library user
386to annotate the text with semantic information, which can later be rendered in
387a variety of ways.")
388 (license license:bsd-3)))
389
390(define-public ghc-ansi-terminal
391 (package
392 (name "ghc-ansi-terminal")
f1b4a73f 393 (version "0.9.1")
dddbc90c
RV
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append
398 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
399 version
400 ".tar.gz"))
401 (sha256
402 (base32
f1b4a73f 403 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
404 (build-system haskell-build-system)
405 (inputs
406 `(("ghc-colour" ,ghc-colour)))
407 (home-page "https://github.com/feuerbach/ansi-terminal")
408 (synopsis "ANSI terminal support for Haskell")
409 (description "This package provides ANSI terminal support for Haskell. It
410allows cursor movement, screen clearing, color output showing or hiding the
411cursor, and changing the title.")
412 (license license:bsd-3)))
413
414(define-public ghc-ansi-wl-pprint
415 (package
416 (name "ghc-ansi-wl-pprint")
c38746eb 417 (version "0.6.9")
7b01a977
RV
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 422 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
423 version ".tar.gz"))
424 (sha256
425 (base32
c38746eb 426 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
427 (build-system haskell-build-system)
428 (inputs
dddbc90c
RV
429 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
430 (home-page "https://github.com/ekmett/ansi-wl-pprint")
431 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
432 (description "This is a pretty printing library based on Wadler's paper
433\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
434colored output using the ansi-terminal package.")
435 (license license:bsd-3)))
436
437(define-public ghc-appar
438 (package
439 (name "ghc-appar")
1159d1a5 440 (version "0.1.8")
dddbc90c
RV
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/appar/appar-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
1159d1a5 450 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
451 (build-system haskell-build-system)
452 (home-page
453 "https://hackage.haskell.org/package/appar")
454 (synopsis "Simple applicative parser")
455 (description "This package provides a simple applicative parser in Parsec
456style.")
457 (license license:bsd-3)))
458
af369394
JS
459(define-public ghc-assoc
460 (package
461 (name "ghc-assoc")
462 (version "1.0.1")
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/assoc/assoc-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
472 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-bifunctors" ,ghc-bifunctors)
476 ("ghc-tagged" ,ghc-tagged)))
477 (home-page
478 "http://hackage.haskell.org/package/assoc")
479 (synopsis
480 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
481 (description
482 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
483@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
484similar operations (e.g. @code{Either}, @code{These}).")
485 (license license:bsd-3)))
486
dddbc90c
RV
487(define-public ghc-async
488 (package
489 (name "ghc-async")
048ef066 490 (version "2.2.2")
dddbc90c
RV
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append
495 "https://hackage.haskell.org/package/async/async-"
496 version
497 ".tar.gz"))
498 (sha256
499 (base32
048ef066 500 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
501 (build-system haskell-build-system)
502 (inputs
503 `(("ghc-hashable" ,ghc-hashable)
504 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
505 ("ghc-test-framework" ,ghc-test-framework)
506 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
507 (home-page "https://github.com/simonmar/async")
508 (synopsis "Library to run IO operations asynchronously")
509 (description "Async provides a library to run IO operations
510asynchronously, and wait for their results. It is a higher-level interface
511over threads in Haskell, in which @code{Async a} is a concurrent thread that
512will eventually deliver a value of type @code{a}.")
7b01a977
RV
513 (license license:bsd-3)))
514
9ad9ec2e
AG
515(define-public ghc-atomic-primops
516 (package
517 (name "ghc-atomic-primops")
af16c6b0 518 (version "0.8.3")
9ad9ec2e
AG
519 (source
520 (origin
521 (method url-fetch)
522 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
523 "/atomic-primops-" version ".tar.gz"))
524 (sha256
525 (base32
af16c6b0 526 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
527 (build-system haskell-build-system)
528 (inputs `(("ghc-primitive" ,ghc-primitive)))
529 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
530 (synopsis "Safe approach to CAS and other atomic ops")
531 (description
532 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
533use safely, because pointer equality is a highly unstable property in Haskell.
534This library provides a safer method based on the concept of @code{Ticket}s.")
535 (license license:bsd-3)))
536
dddbc90c 537(define-public ghc-atomic-write
79fcc5e5 538 (package
dddbc90c 539 (name "ghc-atomic-write")
c09d1e62 540 (version "0.2.0.6")
79fcc5e5
RV
541 (source
542 (origin
543 (method url-fetch)
dddbc90c
RV
544 (uri (string-append
545 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
546 version
547 ".tar.gz"))
79fcc5e5
RV
548 (sha256
549 (base32
c09d1e62 550 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
551 (build-system haskell-build-system)
552 (inputs
553 `(("ghc-temporary" ,ghc-temporary)
554 ("ghc-unix-compat" ,ghc-unix-compat)))
555 (native-inputs
556 `(("ghc-temporary" ,ghc-temporary)
557 ("ghc-unix-compat" ,ghc-unix-compat)
558 ("ghc-hspec" ,ghc-hspec)
559 ("hspec-discover" ,hspec-discover)))
560 (home-page "https://github.com/stackbuilders/atomic-write")
561 (synopsis "Atomically write to a file")
562 (description
563 "Atomically write to a file on POSIX-compliant systems while preserving
564permissions. @code{mv} is an atomic operation. This makes it simple to write
565to a file atomically just by using the @code{mv} operation. However, this
566will destroy the permissions on the original file. This library preserves
567permissions while atomically writing to a file.")
568 (license license:expat)))
569
b7250901
JS
570(define-public ghc-atomic-write-0.2.0.7
571 (package
572 (inherit ghc-atomic-write)
573 (version "0.2.0.7")
574 (source
575 (origin
576 (inherit (package-source ghc-atomic-write))
577 (uri (string-append
578 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
579 version
580 ".tar.gz"))
581 (sha256
582 (base32
583 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
584
dddbc90c
RV
585(define-public ghc-attoparsec
586 (package
587 (name "ghc-attoparsec")
511c3204 588 (version "0.13.2.3")
dddbc90c
RV
589 (source
590 (origin
591 (method url-fetch)
592 (uri (string-append
593 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
594 version
595 ".tar.gz"))
596 (sha256
597 (base32
511c3204 598 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 599 (build-system haskell-build-system)
79fcc5e5 600 (arguments
dddbc90c
RV
601 `(#:phases
602 (modify-phases %standard-phases
603 (add-after 'unpack 'patch-for-newer-quickcheck
604 (lambda _
605 (substitute* "attoparsec.cabal"
606 (("QuickCheck >= 2\\.7 && < 2\\.10")
607 "QuickCheck >= 2.7 && < 2.12"))
608 ;; This test fails because of the newer QuickCheck:
609 ;; <https://github.com/bos/attoparsec/issues/134>.
610 (substitute* "tests/QC/ByteString.hs"
611 ((", testProperty \"satisfyWith\" satisfyWith")
612 "")))))))
613 (inputs
614 `(("ghc-scientific" ,ghc-scientific)))
615 (native-inputs
616 `(("ghc-tasty" ,ghc-tasty)
617 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
618 ("ghc-quickcheck" ,ghc-quickcheck)
619 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
620 ("ghc-vector" ,ghc-vector)))
621 (home-page "https://github.com/bos/attoparsec")
622 (synopsis "Fast combinator parsing for bytestrings and text")
623 (description "This library provides a fast parser combinator library,
624aimed particularly at dealing efficiently with network protocols and
625complicated text/binary file formats.")
79fcc5e5
RV
626 (license license:bsd-3)))
627
dddbc90c 628(define-public ghc-attoparsec-bootstrap
6b34d01c 629 (package
dddbc90c
RV
630 (inherit ghc-attoparsec)
631 (name "ghc-attoparsec-bootstrap")
632 (arguments `(#:tests? #f))
633 (inputs
634 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
635 (native-inputs '())
799d8d3c 636 (properties '((hidden? #t)))))
dddbc90c
RV
637
638(define-public ghc-attoparsec-iso8601
639 (package
640 (name "ghc-attoparsec-iso8601")
97f267c8 641 (version "1.0.1.0")
6b34d01c
RV
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
646 "attoparsec-iso8601-" version "/"
647 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
648 (sha256
649 (base32
97f267c8 650 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 651 (build-system haskell-build-system)
dddbc90c
RV
652 (arguments
653 `(#:cabal-revision
97f267c8 654 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
655 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
656 ("ghc-base-compat" ,ghc-base-compat)))
657 (home-page "https://github.com/bos/aeson")
658 (synopsis "Parse ISO 8601 dates")
659 (description "Haskell library for parsing of ISO 8601 dates, originally
660from aeson.")
6b34d01c 661 (license license:bsd-3)))
b57e99f5 662
dddbc90c 663(define-public ghc-auto-update
b57e99f5 664 (package
dddbc90c 665 (name "ghc-auto-update")
11b1b6cd 666 (version "0.1.6")
dddbc90c
RV
667 (source
668 (origin
669 (method url-fetch)
670 (uri (string-append
671 "https://hackage.haskell.org/package/auto-update/auto-update-"
672 version
673 ".tar.gz"))
674 (sha256
675 (base32
11b1b6cd 676 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 677 (build-system haskell-build-system)
11b1b6cd
TS
678 (native-inputs
679 `(("ghc-hspec" ,ghc-hspec)
680 ("ghc-hunit" ,ghc-hunit)
681 ("ghc-retry" ,ghc-retry)
682 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
683 (home-page "https://github.com/yesodweb/wai")
684 (synopsis "Efficiently run periodic, on-demand actions")
685 (description "This library provides mechanisms to efficiently run
686periodic, on-demand actions in Haskell.")
687 (license license:expat)))
688
689(define-public ghc-aws
690 (package
691 (name "ghc-aws")
692 (version "0.20")
b57e99f5
RV
693 (source
694 (origin
695 (method url-fetch)
696 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
697 "aws-" version "/aws-" version ".tar.gz"))
698 (sha256 (base32
699 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
700 (build-system haskell-build-system)
701 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
702 (inputs
703 `(("ghc-aeson" ,ghc-aeson)
704 ("ghc-attoparsec" ,ghc-attoparsec)
705 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
706 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
707 ("ghc-blaze-builder" ,ghc-blaze-builder)
708 ("ghc-byteable" ,ghc-byteable)
709 ("ghc-case-insensitive" ,ghc-case-insensitive)
710 ("ghc-cereal" ,ghc-cereal)
711 ("ghc-conduit" ,ghc-conduit)
712 ("ghc-conduit-extra" ,ghc-conduit-extra)
713 ("ghc-cryptonite" ,ghc-cryptonite)
714 ("ghc-data-default" ,ghc-data-default)
715 ("ghc-http-conduit" ,ghc-http-conduit)
716 ("ghc-http-types" ,ghc-http-types)
717 ("ghc-lifted-base" ,ghc-lifted-base)
718 ("ghc-monad-control" ,ghc-monad-control)
719 ("ghc-network" ,ghc-network)
720 ("ghc-old-locale" ,ghc-old-locale)
721 ("ghc-safe" ,ghc-safe)
722 ("ghc-scientific" ,ghc-scientific)
723 ("ghc-tagged" ,ghc-tagged)
724 ("ghc-unordered-containers" ,ghc-unordered-containers)
725 ("ghc-utf8-string" ,ghc-utf8-string)
726 ("ghc-vector" ,ghc-vector)
727 ("ghc-xml-conduit" ,ghc-xml-conduit)))
728 (native-inputs
729 `(("ghc-quickcheck" ,ghc-quickcheck)
730 ("ghc-errors" ,ghc-errors)
731 ("ghc-http-client" ,ghc-http-client)
732 ("ghc-http-client-tls" ,ghc-http-client-tls)
733 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
734 ("ghc-tasty" ,ghc-tasty)
735 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
737 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
738 (home-page "https://github.com/aristidb/aws")
739 (synopsis "Amazon Web Services for Haskell")
740 (description "This package attempts to provide support for using
741Amazon Web Services like S3 (storage), SQS (queuing) and others to
742Haskell programmers. The ultimate goal is to support all Amazon
743Web Services.")
744 (license license:bsd-3)))
745
746(define-public ghc-base16-bytestring
747 (package
748 (name "ghc-base16-bytestring")
749 (version "0.1.1.6")
750 (source
751 (origin
752 (method url-fetch)
753 (uri (string-append
754 "https://hackage.haskell.org/package/base16-bytestring/"
755 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
756 (sha256
757 (base32
dddbc90c 758 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 759 (build-system haskell-build-system)
dddbc90c
RV
760 (home-page "https://github.com/bos/base16-bytestring")
761 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
762 (description
763 "This package provides a Haskell library for working with base16-encoded
764data quickly and efficiently, using the ByteString type.")
b57e99f5 765 (license license:bsd-3)))
bbf8bf31 766
dddbc90c 767(define-public ghc-base64-bytestring
bbf8bf31 768 (package
dddbc90c
RV
769 (name "ghc-base64-bytestring")
770 (version "1.0.0.2")
bbf8bf31
RV
771 (source
772 (origin
773 (method url-fetch)
dddbc90c
RV
774 (uri (string-append
775 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
776 version
777 ".tar.gz"))
778 (sha256
779 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
780 (build-system haskell-build-system)
781 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
782 (home-page "https://github.com/bos/base64-bytestring")
783 (synopsis "Base64 encoding and decoding for ByteStrings")
784 (description "This library provides fast base64 encoding and decoding for
785Haskell @code{ByteString}s.")
786 (license license:bsd-3)))
787
788(define-public ghc-base-compat
789 (package
790 (name "ghc-base-compat")
4daaa371 791 (version "0.10.5")
dddbc90c
RV
792 (source
793 (origin
794 (method url-fetch)
795 (uri (string-append
796 "https://hackage.haskell.org/package/base-compat/base-compat-"
797 version
798 ".tar.gz"))
bbf8bf31
RV
799 (sha256
800 (base32
4daaa371 801 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
802 (build-system haskell-build-system)
803 (native-inputs
dddbc90c
RV
804 `(("ghc-quickcheck" ,ghc-quickcheck)
805 ("ghc-hspec" ,ghc-hspec)
806 ("hspec-discover" ,hspec-discover)))
807 (home-page "https://hackage.haskell.org/package/base-compat")
808 (synopsis "Haskell compiler compatibility library")
809 (description "This library provides functions available in later versions
810of base to a wider range of compilers, without requiring the use of CPP
811pragmas in your code.")
812 (license license:bsd-3)))
813
f9d78c7f
TS
814(define-public ghc-base-compat-batteries
815 (package
816 (name "ghc-base-compat-batteries")
817 (version "0.10.5")
818 (source
819 (origin
820 (method url-fetch)
821 (uri (string-append "https://hackage.haskell.org/package/"
822 "base-compat-batteries/base-compat-batteries-"
823 version ".tar.gz"))
824 (sha256
825 (base32
826 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
827 (build-system haskell-build-system)
828 (inputs
829 `(("ghc-base-compat" ,ghc-base-compat)))
830 (native-inputs
831 `(("ghc-hspec" ,ghc-hspec)
832 ("ghc-quickcheck" ,ghc-quickcheck)
833 ("hspec-discover" ,hspec-discover)))
834 (arguments
835 `(#:cabal-revision
836 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 837 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
838 (synopsis "base-compat with extra batteries")
839 (description "This library provides functions available in later
840versions of @code{base} to a wider range of compilers, without requiring
841you to use CPP pragmas in your code. This package provides the same API
842as the @code{base-compat} library, but depends on compatibility
843packages (such as @code{semigroups}) to offer a wider support window
844than @code{base-compat}, which has no dependencies.")
845 (license license:expat)))
846
dddbc90c
RV
847(define-public ghc-basement
848 (package
849 (name "ghc-basement")
8b56c1fd 850 (version "0.0.11")
dddbc90c
RV
851 (source
852 (origin
853 (method url-fetch)
854 (uri (string-append "https://hackage.haskell.org/package/"
855 "basement/basement-" version ".tar.gz"))
856 (sha256
857 (base32
8b56c1fd 858 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
859 (build-system haskell-build-system)
860 (home-page "https://github.com/haskell-foundation/foundation")
861 (synopsis "Basic primitives for Foundation starter pack")
862 (description
863 "This package contains basic primitives for the Foundation set of
864packages.")
865 (license license:bsd-3)))
866
867(define-public ghc-base-orphans
868 (package
869 (name "ghc-base-orphans")
780477fb 870 (version "0.8.1")
dddbc90c
RV
871 (source
872 (origin
873 (method url-fetch)
874 (uri (string-append
875 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
876 version
877 ".tar.gz"))
878 (sha256
879 (base32
780477fb 880 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
881 (build-system haskell-build-system)
882 (native-inputs
883 `(("ghc-quickcheck" ,ghc-quickcheck)
884 ("ghc-hspec" ,ghc-hspec)
885 ("hspec-discover" ,hspec-discover)))
886 (home-page "https://hackage.haskell.org/package/base-orphans")
887 (synopsis "Orphan instances for backwards compatibility")
888 (description "This package defines orphan instances that mimic instances
889available in later versions of base to a wider (older) range of compilers.")
890 (license license:bsd-3)))
891
892(define-public ghc-base-prelude
893 (package
894 (name "ghc-base-prelude")
895 (version "1.3")
896 (source
897 (origin
898 (method url-fetch)
899 (uri (string-append "https://hackage.haskell.org/package/"
900 "base-prelude-" version "/"
901 "base-prelude-" version ".tar.gz"))
902 (sha256
903 (base32
904 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
905 (build-system haskell-build-system)
906 (home-page "https://github.com/nikita-volkov/base-prelude")
907 (synopsis "The most complete prelude formed solely from the Haskell's base
908package")
909 (description "This Haskell package aims to reexport all the non-conflicting
910and most general definitions from the \"base\" package.
911
912This includes APIs for applicatives, arrows, monoids, foldables, traversables,
913exceptions, generics, ST, MVars and STM.
914
915This package will never have any dependencies other than \"base\".
916
917Versioning policy:
918
919The versioning policy of this package deviates from PVP in the sense
920that its exports in part are transitively determined by the version of \"base\".
921Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
922the bounds of \"base\" as well.")
923 (license license:expat)))
924
925(define-public ghc-base-unicode-symbols
926 (package
927 (name "ghc-base-unicode-symbols")
928 (version "0.2.3")
929 (source
930 (origin
931 (method url-fetch)
932 (uri (string-append
933 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
934 version
935 ".tar.gz"))
936 (sha256
937 (base32
938 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
939 (build-system haskell-build-system)
940 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
941 (synopsis "Unicode alternatives for common functions and operators")
942 (description "This package defines new symbols for a number of functions,
943operators and types in the base package. All symbols are documented with
944their actual definition and information regarding their Unicode code point.
945They should be completely interchangeable with their definitions. For
946further Unicode goodness you can enable the @code{UnicodeSyntax}
947@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
948language extension}. This extension enables Unicode characters to be used to
949stand for certain ASCII character sequences, i.e. → instead of @code{->},
950∀ instead of @code{forall} and many others.")
951 (license license:bsd-3)))
952
ec8491b0
ASM
953(define-public ghc-basic-prelude
954 (package
955 (name "ghc-basic-prelude")
956 (version "0.7.0")
957 (source
958 (origin
959 (method url-fetch)
960 (uri (string-append
961 "https://hackage.haskell.org/package/basic-prelude/"
962 "basic-prelude-" version ".tar.gz"))
963 (sha256
964 (base32
965 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
966 (build-system haskell-build-system)
967 (inputs
968 `(("ghc-hashable" ,ghc-hashable)
969 ("ghc-unordered-containers"
970 ,ghc-unordered-containers)
971 ("ghc-vector" ,ghc-vector)))
972 (home-page "https://github.com/snoyberg/basic-prelude#readme")
973 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
974 (description
975 "The premise of basic-prelude is that there are a lot of very commonly
976desired features missing from the standard Prelude, such as commonly used
977operators (<$> and >=>, for instance) and imports for common datatypes
978(e.g., ByteString and Vector). At the same time, there are lots of other
979components which are more debatable, such as providing polymorphic versions
980of common functions.
981
982So basic-prelude is intended to give a common foundation for a number of
983alternate preludes. The package provides two modules: CorePrelude provides
984the common ground for other preludes to build on top of, while BasicPrelude
985exports CorePrelude together with commonly used list functions to provide a
986drop-in replacement for the standard Prelude.
987
988Users wishing to have an improved Prelude can use BasicPrelude. Developers
989wishing to create a new prelude should use CorePrelude.")
990 (license license:expat)))
991
dddbc90c
RV
992(define-public ghc-bifunctors
993 (package
994 (name "ghc-bifunctors")
0beaec66 995 (version "5.5.5")
dddbc90c
RV
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append
1000 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1001 version
1002 ".tar.gz"))
1003 (sha256
1004 (base32
0beaec66 1005 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
1006 (build-system haskell-build-system)
1007 (inputs
1008 `(("ghc-base-orphans" ,ghc-base-orphans)
1009 ("ghc-comonad" ,ghc-comonad)
1010 ("ghc-th-abstraction" ,ghc-th-abstraction)
1011 ("ghc-transformers-compat" ,ghc-transformers-compat)
1012 ("ghc-tagged" ,ghc-tagged)
1013 ("ghc-semigroups" ,ghc-semigroups)))
1014 (native-inputs
1015 `(("ghc-hspec" ,ghc-hspec)
1016 ("hspec-discover" ,hspec-discover)
1017 ("ghc-quickcheck" ,ghc-quickcheck)))
1018 (home-page "https://github.com/ekmett/bifunctors/")
1019 (synopsis "Bifunctors for Haskell")
1020 (description "This package provides bifunctors for Haskell.")
1021 (license license:bsd-3)))
1022
1023(define-public ghc-bindings-dsl
1024 (package
1025 (name "ghc-bindings-dsl")
1026 (version "1.0.25")
1027 (source
1028 (origin
1029 (method url-fetch)
1030 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1031 "bindings-DSL-" version ".tar.gz"))
1032 (sha256
1033 (base32
1034 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1035 (build-system haskell-build-system)
1036 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1037 (synopsis "FFI domain specific language, on top of hsc2hs")
1038 (description
1039 "This is a set of macros to be used when writing Haskell FFI. They were
1040designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1041extract from them all Haskell code needed to mimic such interfaces. All
1042Haskell names used are automatically derived from C names, structures are
1043mapped to Haskell instances of @code{Storable}, and there are also macros you
1044can use with C code to help write bindings to inline functions or macro
1045functions.")
1046 (license license:bsd-3)))
1047
64f42786
TS
1048(define-public ghc-bitarray
1049 (package
1050 (name "ghc-bitarray")
1051 (version "0.0.1.1")
1052 (source
1053 (origin
1054 (method url-fetch)
1055 (uri (string-append "https://hackage.haskell.org/package/"
1056 "bitarray/bitarray-" version ".tar.gz"))
1057 (sha256
1058 (base32
1059 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1060 (build-system haskell-build-system)
1061 (arguments
1062 `(#:cabal-revision
1063 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1064 (home-page "https://hackage.haskell.org/package/bitarray")
1065 (synopsis "Mutable and immutable bit arrays")
1066 (description "The package provides mutable and immutable bit arrays.")
1067 (license license:bsd-3)))
1068
dddbc90c
RV
1069(define-public ghc-blaze-builder
1070 (package
1071 (name "ghc-blaze-builder")
1072 (version "0.4.1.0")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append
1077 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1078 version
1079 ".tar.gz"))
1080 (sha256
1081 (base32
1082 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1083 (build-system haskell-build-system)
1084 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1085 (inputs
1086 `(("ghc-utf8-string" ,ghc-utf8-string)))
1087 (home-page "https://github.com/lpsmith/blaze-builder")
1088 (synopsis "Efficient buffered output")
1089 (description "This library provides an implementation of the older
1090@code{blaze-builder} interface in terms of the new builder that shipped with
1091@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1092bridge to the new builder, so that code that uses the old interface can
1093interoperate with code that uses the new implementation.")
1094 (license license:bsd-3)))
1095
1096(define-public ghc-blaze-markup
1097 (package
1098 (name "ghc-blaze-markup")
7d30fcf3 1099 (version "0.8.2.3")
dddbc90c
RV
1100 (source
1101 (origin
1102 (method url-fetch)
1103 (uri (string-append "https://hackage.haskell.org/package/"
1104 "blaze-markup/blaze-markup-"
1105 version ".tar.gz"))
1106 (sha256
1107 (base32
7d30fcf3 1108 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1109 (build-system haskell-build-system)
1110 (arguments
1111 `(#:phases
1112 (modify-phases %standard-phases
1113 (add-before 'configure 'update-constraints
1114 (lambda _
1115 (substitute* "blaze-markup.cabal"
1116 (("tasty >= 1\\.0 && < 1\\.1")
1117 "tasty >= 1.0 && < 1.2")))))))
1118 (inputs
1119 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1120 (native-inputs
1121 `(("ghc-hunit" ,ghc-hunit)
1122 ("ghc-quickcheck" ,ghc-quickcheck)
1123 ("ghc-tasty" ,ghc-tasty)
1124 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1125 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1126 (home-page "https://jaspervdj.be/blaze")
1127 (synopsis "Fast markup combinator library for Haskell")
1128 (description "This library provides core modules of a markup combinator
1129library for Haskell.")
1130 (license license:bsd-3)))
1131
1132(define-public ghc-bloomfilter
1133 (package
1134 (name "ghc-bloomfilter")
1135 (version "2.0.1.0")
1136 (source
1137 (origin
1138 (method url-fetch)
1139 (uri (string-append "https://hackage.haskell.org/package/"
1140 "bloomfilter/bloomfilter-" version ".tar.gz"))
1141 (sha256
1142 (base32
1143 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1144 (build-system haskell-build-system)
1145 (native-inputs
1146 `(("ghc-quickcheck" ,ghc-quickcheck)
1147 ("ghc-random" ,ghc-random)
1148 ("ghc-test-framework" ,ghc-test-framework)
1149 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1150 (home-page "https://github.com/bos/bloomfilter")
1151 (synopsis "Pure and impure Bloom filter implementations")
1152 (description "This package provides both mutable and immutable Bloom
1153filter data types, along with a family of hash functions and an easy-to-use
1154interface.")
1155 (license license:bsd-3)))
1156
1157(define-public ghc-boxes
1158 (package
1159 (name "ghc-boxes")
1160 (version "0.1.5")
1161 (source
1162 (origin
1163 (method url-fetch)
1164 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1165 version ".tar.gz"))
1166 (sha256
1167 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1168 (build-system haskell-build-system)
1169 (inputs
1170 `(("ghc-split" ,ghc-split)
1171 ("ghc-quickcheck" ,ghc-quickcheck)))
1172 (home-page "https://hackage.haskell.org/package/boxes")
1173 (synopsis "2D text pretty-printing library")
1174 (description
1175 "Boxes is a pretty-printing library for laying out text in two dimensions,
1176using a simple box model.")
1177 (license license:bsd-3)))
1178
1179(define-public ghc-byteable
1180 (package
1181 (name "ghc-byteable")
1182 (version "0.1.1")
1183 (source (origin
1184 (method url-fetch)
1185 (uri (string-append "https://hackage.haskell.org/package/"
1186 "byteable/byteable-" version ".tar.gz"))
1187 (sha256
1188 (base32
1189 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1190 (build-system haskell-build-system)
1191 (home-page "https://github.com/vincenthz/hs-byteable")
1192 (synopsis "Type class for sequence of bytes")
1193 (description
1194 "This package provides an abstract class to manipulate sequence of bytes.
1195The use case of this class is abstracting manipulation of types that are just
1196wrapping a bytestring with stronger and more meaniful name.")
1197 (license license:bsd-3)))
1198
1199(define-public ghc-byteorder
1200 (package
1201 (name "ghc-byteorder")
1202 (version "1.0.4")
1203 (source
1204 (origin
1205 (method url-fetch)
1206 (uri (string-append
1207 "https://hackage.haskell.org/package/byteorder/byteorder-"
1208 version
1209 ".tar.gz"))
1210 (sha256
1211 (base32
1212 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1213 (build-system haskell-build-system)
1214 (home-page
1215 "http://community.haskell.org/~aslatter/code/byteorder")
1216 (synopsis
1217 "Exposes the native endianness of the system")
1218 (description
1219 "This package is for working with the native byte-ordering of the
1220system.")
1221 (license license:bsd-3)))
1222
1223(define-public ghc-bytes
1224 (package
1225 (name "ghc-bytes")
1226 (version "0.15.5")
1227 (source
1228 (origin
1229 (method url-fetch)
1230 (uri
1231 (string-append "https://hackage.haskell.org/package/bytes-"
1232 version "/bytes-"
1233 version ".tar.gz"))
1234 (file-name (string-append name "-" version ".tar.gz"))
1235 (sha256
1236 (base32
1237 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1238 (build-system haskell-build-system)
1239 (inputs `(("ghc-cereal" ,ghc-cereal)
1240 ("cabal-doctest" ,cabal-doctest)
1241 ("ghc-doctest" ,ghc-doctest)
1242 ("ghc-scientific" ,ghc-scientific)
1243 ("ghc-transformers-compat" ,ghc-transformers-compat)
1244 ("ghc-unordered-containers" ,ghc-unordered-containers)
1245 ("ghc-void" ,ghc-void)
1246 ("ghc-vector" ,ghc-vector)))
1247 (synopsis "Serialization between @code{binary} and @code{cereal}")
1248 (description "This package provides a simple compatibility shim that lets
1249you work with both @code{binary} and @code{cereal} with one chunk of
1250serialization code.")
1251 (home-page "https://hackage.haskell.org/package/bytes")
1252 (license license:bsd-3)))
1253
1254(define-public ghc-bytestring-builder
1255 (package
1256 (name "ghc-bytestring-builder")
13ac8a7f 1257 (version "0.10.8.2.0")
dddbc90c
RV
1258 (source
1259 (origin
1260 (method url-fetch)
1261 (uri (string-append
1262 "https://hackage.haskell.org/package/bytestring-builder"
1263 "/bytestring-builder-" version ".tar.gz"))
1264 (sha256
1265 (base32
13ac8a7f 1266 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1267 (build-system haskell-build-system)
1268 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1269 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1270 (synopsis "The new bytestring builder, packaged outside of GHC")
1271 (description "This package provides the bytestring builder that is
1272debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1273Compatibility package for older packages.")
1274 (license license:bsd-3)))
1275
1276(define-public ghc-bytestring-handle
1277 (package
1278 (name "ghc-bytestring-handle")
1279 (version "0.1.0.6")
1280 (source
1281 (origin
1282 (method url-fetch)
1283 (uri (string-append
1284 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1285 version ".tar.gz"))
1286 (sha256
1287 (base32
1288 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1289 (build-system haskell-build-system)
1290 (arguments
853748c4
TS
1291 `(#:cabal-revision
1292 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1293 #:phases
dddbc90c
RV
1294 (modify-phases %standard-phases
1295 (add-before 'configure 'update-constraints
1296 (lambda _
1297 (substitute* "bytestring-handle.cabal"
1298 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1299 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1300 (inputs
1301 `(("ghc-hunit" ,ghc-hunit)
1302 ("ghc-quickcheck" ,ghc-quickcheck)
1303 ("ghc-test-framework" ,ghc-test-framework)
1304 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1305 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1306 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1307 (synopsis "ByteString-backed Handles")
1308 (description "ByteString-backed Handles") ; There is no description
1309 (license license:bsd-3)))
1310
1311(define-public ghc-bytestring-lexing
1312 (package
1313 (name "ghc-bytestring-lexing")
1314 (version "0.5.0.2")
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append "https://hackage.haskell.org/package/"
1319 "bytestring-lexing/bytestring-lexing-"
1320 version ".tar.gz"))
1321 (sha256
1322 (base32
1323 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1324 (build-system haskell-build-system)
1325 (home-page "http://code.haskell.org/~wren/")
1326 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1327 (description
1328 "This package provides tools to parse and produce literals efficiently
1329from strict or lazy bytestrings.")
1330 (license license:bsd-2)))
1331
1332(define-public ghc-bzlib-conduit
1333 (package
1334 (name "ghc-bzlib-conduit")
5fba8d6d 1335 (version "0.3.0.2")
dddbc90c
RV
1336 (source
1337 (origin
1338 (method url-fetch)
1339 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1340 "bzlib-conduit-" version ".tar.gz"))
1341 (sha256
1342 (base32
5fba8d6d 1343 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1344 (build-system haskell-build-system)
1345 (inputs
1346 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1347 ("ghc-conduit" ,ghc-conduit)
1348 ("ghc-data-default-class" ,ghc-data-default-class)
1349 ("ghc-resourcet" ,ghc-resourcet)))
1350 (native-inputs
1351 `(("ghc-hspec" ,ghc-hspec)
1352 ("ghc-random" ,ghc-random)))
1353 (home-page "https://github.com/snoyberg/bzlib-conduit")
1354 (synopsis "Streaming compression/decompression via conduits")
1355 (description
1356 "This package provides Haskell bindings to bzlib and Conduit support for
1357streaming compression and decompression.")
1358 (license license:bsd-3)))
1359
1360(define-public ghc-c2hs
1361 (package
1362 (name "ghc-c2hs")
1363 (version "0.28.6")
1364 (source
1365 (origin
1366 (method url-fetch)
1367 (uri (string-append
1368 "https://hackage.haskell.org/package/c2hs/c2hs-"
1369 version
1370 ".tar.gz"))
1371 (sha256
1372 (base32
1373 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1374 (build-system haskell-build-system)
1375 (inputs
1376 `(("ghc-language-c" ,ghc-language-c)
1377 ("ghc-dlist" ,ghc-dlist)))
1378 (native-inputs
1379 `(("ghc-test-framework" ,ghc-test-framework)
1380 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1381 ("ghc-hunit" ,ghc-hunit)
1382 ("ghc-shelly" ,ghc-shelly)
1383 ("gcc" ,gcc)))
1384 (arguments
1385 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1386 ;; of glibc 2.28.
1387 #:tests? #f
1388
1389 #:phases
1390 (modify-phases %standard-phases
1391 (add-before 'check 'set-cc
1392 ;; add a cc executable in the path, needed for some tests to pass
1393 (lambda* (#:key inputs #:allow-other-keys)
1394 (let ((gcc (assoc-ref inputs "gcc"))
1395 (tmpbin (tmpnam))
1396 (curpath (getenv "PATH")))
1397 (mkdir-p tmpbin)
1398 (symlink (which "gcc") (string-append tmpbin "/cc"))
1399 (setenv "PATH" (string-append tmpbin ":" curpath)))
1400 #t))
1401 (add-after 'check 'remove-cc
1402 ;; clean the tmp dir made in 'set-cc
1403 (lambda _
1404 (let* ((cc-path (which "cc"))
1405 (cc-dir (dirname cc-path)))
1406 (delete-file-recursively cc-dir)
1407 #t))))))
1408 (home-page "https://github.com/haskell/c2hs")
1409 (synopsis "Create Haskell bindings to C libraries")
1410 (description "C->Haskell assists in the development of Haskell bindings to
1411C libraries. It extracts interface information from C header files and
1412generates Haskell code with foreign imports and marshaling. Unlike writing
1413foreign imports by hand (or using hsc2hs), this ensures that C functions are
1414imported with the correct Haskell types.")
1415 (license license:gpl2)))
1416
1417(define-public ghc-cairo
1418 (package
1419 (name "ghc-cairo")
1420 (version "0.13.5.0")
1421 (source
1422 (origin
1423 (method url-fetch)
1424 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1425 "cairo-" version ".tar.gz"))
1426 (sha256
1427 (base32
1428 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1429 (build-system haskell-build-system)
1430 (arguments
1431 `(#:modules ((guix build haskell-build-system)
1432 (guix build utils)
1433 (ice-9 match)
1434 (srfi srfi-26))
1435 #:phases
1436 (modify-phases %standard-phases
1437 ;; FIXME: This is a copy of the standard configure phase with a tiny
1438 ;; difference: this package needs the -package-db flag to be passed
1439 ;; to "runhaskell" in addition to the "configure" action, because it
1440 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1441 ;; this option the Setup.hs file cannot be evaluated. The
1442 ;; haskell-build-system should be changed to pass "-package-db" to
1443 ;; "runhaskell" in any case.
1444 (replace 'configure
1445 (lambda* (#:key outputs inputs tests? (configure-flags '())
1446 #:allow-other-keys)
1447 (let* ((out (assoc-ref outputs "out"))
1448 (name-version (strip-store-file-name out))
1449 (input-dirs (match inputs
1450 (((_ . dir) ...)
1451 dir)
1452 (_ '())))
1453 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1454 (params (append `(,(string-append "--prefix=" out))
1455 `(,(string-append "--libdir=" out "/lib"))
1456 `(,(string-append "--bindir=" out "/bin"))
1457 `(,(string-append
1458 "--docdir=" out
1459 "/share/doc/" name-version))
1460 '("--libsubdir=$compiler/$pkg-$version")
1461 '("--package-db=../package.conf.d")
1462 '("--global")
1463 `(,@(map
1464 (cut string-append "--extra-include-dirs=" <>)
1465 (search-path-as-list '("include") input-dirs)))
1466 `(,@(map
1467 (cut string-append "--extra-lib-dirs=" <>)
1468 (search-path-as-list '("lib") input-dirs)))
1469 (if tests?
1470 '("--enable-tests")
1471 '())
1472 configure-flags)))
1473 (unsetenv "GHC_PACKAGE_PATH")
1474 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1475 "Setup.hs" "configure" params)
1476 (setenv "GHC_PACKAGE_PATH" ghc-path)
1477 #t))))))
1478 (inputs
1479 `(("ghc-utf8-string" ,ghc-utf8-string)
1480 ("cairo" ,cairo)))
1481 (native-inputs
1482 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1483 ("pkg-config" ,pkg-config)))
1484 (home-page "http://projects.haskell.org/gtk2hs/")
1485 (synopsis "Haskell bindings to the Cairo vector graphics library")
1486 (description
1487 "Cairo is a library to render high quality vector graphics. There exist
1488various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1489documents, amongst others.")
1490 (license license:bsd-3)))
1491
1492(define-public ghc-call-stack
1493 (package
1494 (name "ghc-call-stack")
1495 (version "0.1.0")
1496 (source
1497 (origin
1498 (method url-fetch)
1499 (uri (string-append "https://hackage.haskell.org/package/"
1500 "call-stack/call-stack-"
1501 version ".tar.gz"))
1502 (sha256
1503 (base32
1504 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1505 (build-system haskell-build-system)
1506 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1507 (home-page "https://github.com/sol/call-stack#readme")
1508 (synopsis "Use GHC call-stacks in a backward compatible way")
1509 (description "This package provides a compatibility layer for using GHC
1510call stacks with different versions of the compiler.")
1511 (license license:expat)))
1512
1513;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1514;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1515(define-public ghc-call-stack-boot
1516 (hidden-package
1517 (package
1518 (inherit ghc-call-stack)
1519 (arguments '(#:tests? #f))
1520 (inputs '()))))
1521
1522(define-public ghc-case-insensitive
1523 (package
1524 (name "ghc-case-insensitive")
1525 (version "1.2.0.11")
1526 (outputs '("out" "doc"))
1527 (source
1528 (origin
1529 (method url-fetch)
1530 (uri (string-append
1531 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1532 version
1533 ".tar.gz"))
1534 (sha256
1535 (base32
1536 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1537 (build-system haskell-build-system)
1538 ;; these inputs are necessary to use this library
1539 (inputs
1540 `(("ghc-hashable" ,ghc-hashable)))
1541 (arguments
1542 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1543 (home-page
1544 "https://github.com/basvandijk/case-insensitive")
1545 (synopsis "Case insensitive string comparison")
1546 (description
1547 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1548constructor which can be parameterised by a string-like type like:
1549@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1550the resulting type will be insensitive to cases.")
1551 (license license:bsd-3)))
1552
6ba536a1
JS
1553(define-public ghc-cborg
1554 (package
1555 (name "ghc-cborg")
1556 (version "0.2.2.0")
1557 (source
1558 (origin
1559 (method url-fetch)
1560 (uri (string-append
1561 "mirror://hackage/package/cborg/cborg-"
1562 version
1563 ".tar.gz"))
1564 (sha256
1565 (base32
1566 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1567 (build-system haskell-build-system)
1568 (inputs
1569 `(("ghc-half" ,ghc-half)
1570 ("ghc-primitive" ,ghc-primitive)))
1571 (native-inputs
1572 `(("ghc-aeson" ,ghc-aeson)
1573 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1574 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1575 ("ghc-fail" ,ghc-fail)
1576 ("ghc-quickcheck" ,ghc-quickcheck)
1577 ("ghc-scientific" ,ghc-scientific)
1578 ("ghc-tasty" ,ghc-tasty)
1579 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1580 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1581 ("ghc-vector" ,ghc-vector)))
1582 (home-page "http://hackage.haskell.org/package/cborg")
1583 (synopsis "Concise Binary Object Representation")
1584 (description
1585 "This package (formerly binary-serialise-cbor) provides an
1586efficient implementation of the Concise Binary Object
1587Representation (CBOR), as specified by RFC 7049 at
1588https://tools.ietf.org/html/rfc7049.
1589
1590If you are looking for a library for serialisation of Haskell values, have a
1591look at the @url{https://hackage.haskell.org/package/serialise} package, which
1592is built upon this library.
1593
1594An implementation of the standard bijection between CBOR and JSON is provided
1595by the @url{https://hackage.haskell.org/package/cborg-json} package.
1596
1597Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1598command-line utility for working with CBOR data.")
1599 (license license:bsd-3)))
1600
5434fec9
JS
1601(define-public ghc-cborg-json
1602 (package
1603 (name "ghc-cborg-json")
1604 (version "0.2.2.0")
1605 (source
1606 (origin
1607 (method url-fetch)
1608 (uri (string-append
1609 "mirror://hackage/package/cborg-json/cborg-json-"
1610 version
1611 ".tar.gz"))
1612 (sha256
1613 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1614 (build-system haskell-build-system)
1615 (inputs
1616 `(("ghc-aeson" ,ghc-aeson)
1617 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1618 ("ghc-unordered-containers" ,ghc-unordered-containers)
1619 ("ghc-scientific" ,ghc-scientific)
1620 ("ghc-vector" ,ghc-vector)
1621 ("ghc-cborg" ,ghc-cborg)))
1622 (home-page "https://github.com/well-typed/cborg")
1623 (synopsis "A library for encoding JSON as CBOR")
1624 (description
1625 "This package implements the bijection between JSON and CBOR
1626defined in the CBOR specification, RFC 7049.")
1627 (license license:bsd-3)))
1628
dddbc90c
RV
1629(define-public ghc-cereal
1630 (package
1631 (name "ghc-cereal")
bd95427e 1632 (version "0.5.8.1")
dddbc90c
RV
1633 (source
1634 (origin
1635 (method url-fetch)
1636 (uri (string-append
1637 "https://hackage.haskell.org/package/cereal/cereal-"
1638 version
1639 ".tar.gz"))
1640 (sha256
1641 (base32
bd95427e 1642 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1643 (build-system haskell-build-system)
1644 (native-inputs
1645 `(("ghc-quickcheck" ,ghc-quickcheck)
1646 ("ghc-fail" ,ghc-fail)
1647 ("ghc-test-framework" ,ghc-test-framework)
1648 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1649 (home-page "https://hackage.haskell.org/package/cereal")
1650 (synopsis "Binary serialization library")
1651 (description "This package provides a binary serialization library,
1652similar to @code{binary}, that introduces an @code{isolate} primitive for
1653parser isolation, and labeled blocks for better error messages.")
1654 (license license:bsd-3)))
1655
1656(define-public ghc-cereal-conduit
1657 (package
1658 (name "ghc-cereal-conduit")
1659 (version "0.8.0")
1660 (source
1661 (origin
1662 (method url-fetch)
1663 (uri (string-append "https://hackage.haskell.org/package/"
1664 "cereal-conduit/cereal-conduit-"
1665 version ".tar.gz"))
1666 (sha256
1667 (base32
1668 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1669 (build-system haskell-build-system)
1670 (inputs
1671 `(("ghc-conduit" ,ghc-conduit)
1672 ("ghc-resourcet" ,ghc-resourcet)
1673 ("ghc-cereal" ,ghc-cereal)))
1674 (native-inputs
1675 `(("ghc-hunit" ,ghc-hunit)))
1676 (home-page "https://github.com/snoyberg/conduit")
1677 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1678 (description
1679 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1680@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1681 (license license:bsd-3)))
1682
1683(define-public ghc-cgi
1684 (package
1685 (name "ghc-cgi")
b6b2c218 1686 (version "3001.4.0.0")
dddbc90c
RV
1687 (source
1688 (origin
1689 (method url-fetch)
1690 (uri (string-append
1691 "https://hackage.haskell.org/package/cgi/cgi-"
1692 version
1693 ".tar.gz"))
1694 (sha256
1695 (base32
b6b2c218 1696 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1697 (build-system haskell-build-system)
dddbc90c
RV
1698 (inputs
1699 `(("ghc-exceptions" ,ghc-exceptions)
1700 ("ghc-multipart" ,ghc-multipart)
1701 ("ghc-network-uri" ,ghc-network-uri)
1702 ("ghc-network" ,ghc-network)))
1703 (native-inputs
1704 `(("ghc-doctest" ,ghc-doctest)
1705 ("ghc-quickcheck" ,ghc-quickcheck)))
1706 (home-page
1707 "https://github.com/cheecheeo/haskell-cgi")
1708 (synopsis "Library for writing CGI programs")
1709 (description
1710 "This is a Haskell library for writing CGI programs.")
1711 (license license:bsd-3)))
1712
1713(define-public ghc-charset
1714 (package
1715 (name "ghc-charset")
1716 (version "0.3.7.1")
1717 (source
1718 (origin
1719 (method url-fetch)
1720 (uri (string-append
1721 "https://hackage.haskell.org/package/charset/charset-"
1722 version
1723 ".tar.gz"))
1724 (sha256
1725 (base32
1726 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1727 (build-system haskell-build-system)
35ee173c
TS
1728 (arguments
1729 `(#:cabal-revision
1730 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1731 (inputs
1732 `(("ghc-semigroups" ,ghc-semigroups)
1733 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1734 (home-page "https://github.com/ekmett/charset")
1735 (synopsis "Fast unicode character sets for Haskell")
1736 (description "This package provides fast unicode character sets for
1737Haskell, based on complemented PATRICIA tries.")
1738 (license license:bsd-3)))
1739
1740(define-public ghc-chart
1741 (package
1742 (name "ghc-chart")
6cd84b98 1743 (version "1.9.1")
dddbc90c
RV
1744 (source
1745 (origin
1746 (method url-fetch)
1747 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1748 "Chart-" version ".tar.gz"))
1749 (sha256
1750 (base32
6cd84b98 1751 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1752 (build-system haskell-build-system)
1753 (inputs
1754 `(("ghc-old-locale" ,ghc-old-locale)
1755 ("ghc-lens" ,ghc-lens)
1756 ("ghc-colour" ,ghc-colour)
1757 ("ghc-data-default-class" ,ghc-data-default-class)
1758 ("ghc-operational" ,ghc-operational)
1759 ("ghc-vector" ,ghc-vector)))
1760 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1761 (synopsis "Library for generating 2D charts and plots")
1762 (description
1763 "This package provides a library for generating 2D charts and plots, with
1764backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1765 (license license:bsd-3)))
1766
1767(define-public ghc-chart-cairo
1768 (package
1769 (name "ghc-chart-cairo")
5cf9264d 1770 (version "1.9.1")
dddbc90c
RV
1771 (source
1772 (origin
1773 (method url-fetch)
1774 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1775 "Chart-cairo-" version ".tar.gz"))
1776 (sha256
1777 (base32
5cf9264d 1778 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1779 (build-system haskell-build-system)
1780 (inputs
1781 `(("ghc-old-locale" ,ghc-old-locale)
1782 ("ghc-cairo" ,ghc-cairo)
1783 ("ghc-colour" ,ghc-colour)
1784 ("ghc-data-default-class" ,ghc-data-default-class)
1785 ("ghc-operational" ,ghc-operational)
1786 ("ghc-lens" ,ghc-lens)
1787 ("ghc-chart" ,ghc-chart)))
1788 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1789 (synopsis "Cairo backend for Charts")
1790 (description "This package provides a Cairo vector graphics rendering
1791backend for the Charts library.")
1792 (license license:bsd-3)))
1793
1794(define-public ghc-chasingbottoms
1795 (package
1796 (name "ghc-chasingbottoms")
1f67853e 1797 (version "1.3.1.7")
dddbc90c
RV
1798 (source
1799 (origin
1800 (method url-fetch)
1801 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1802 "ChasingBottoms-" version ".tar.gz"))
1803 (sha256
1804 (base32
1f67853e 1805 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1806 (build-system haskell-build-system)
1807 (inputs
1808 `(("ghc-quickcheck" ,ghc-quickcheck)
1809 ("ghc-random" ,ghc-random)
1810 ("ghc-syb" ,ghc-syb)))
1811 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1812 (synopsis "Testing of partial and infinite values in Haskell")
1813 (description
1814 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1815 ;; rendered properly.
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")
5e18bb9e 1827 (version "0.1.1.1")
dddbc90c
RV
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
1832 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1833 version
1834 ".tar.gz"))
1835 (sha256
1836 (base32
5e18bb9e 1837 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1838 (build-system haskell-build-system)
1839 (inputs
1840 `(("ghc-blaze-html" ,ghc-blaze-html)
1841 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1842 ("ghc-data-default" ,ghc-data-default)
1843 ("ghc-syb" ,ghc-syb)
1844 ("ghc-uniplate" ,ghc-uniplate)))
1845 (home-page "https://github.com/jgm/cheapskate")
1846 (synopsis "Experimental markdown processor")
1847 (description "Cheapskate is an experimental Markdown processor in pure
1848Haskell. It aims to process Markdown efficiently and in the most forgiving
1849possible way. It is designed to deal with any input, including garbage, with
1850linear performance. Output is sanitized by default for protection against
1851cross-site scripting (@dfn{XSS}) attacks.")
1852 (license license:bsd-3)))
1853
1854(define-public ghc-chell
1855 (package
1856 (name "ghc-chell")
acdd03be 1857 (version "0.5")
dddbc90c
RV
1858 (source
1859 (origin
1860 (method url-fetch)
1861 (uri (string-append
1862 "https://hackage.haskell.org/package/chell/chell-"
1863 version ".tar.gz"))
1864 (sha256
1865 (base32
acdd03be 1866 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1867 (build-system haskell-build-system)
acdd03be
TS
1868 (arguments
1869 `(#:cabal-revision
1870 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1871 (inputs
1872 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1873 ("ghc-patience" ,ghc-patience)
1874 ("ghc-random" ,ghc-random)
1875 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1876 (home-page "https://john-millikin.com/software/chell/")
1877 (synopsis "Simple and intuitive library for automated testing")
1878 (description
1879 "Chell is a simple and intuitive library for automated testing.
1880It natively supports assertion-based testing, and can use companion
1881libraries such as @code{chell-quickcheck} to support more complex
1882testing strategies.")
1883 (license license:expat)))
1884
1885(define-public ghc-chell-quickcheck
1886 (package
1887 (name "ghc-chell-quickcheck")
e0e21831 1888 (version "0.2.5.2")
dddbc90c
RV
1889 (source
1890 (origin
1891 (method url-fetch)
1892 (uri (string-append
1893 "https://hackage.haskell.org/package/chell-quickcheck/"
1894 "chell-quickcheck-" version ".tar.gz"))
1895 (sha256
1896 (base32
e0e21831 1897 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1898 (build-system haskell-build-system)
1899 (arguments
1900 `(#:phases
1901 (modify-phases %standard-phases
1902 (add-before 'configure 'update-constraints
1903 (lambda _
1904 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1905 (("QuickCheck >= 2\\.3 && < 2\\.13")
1906 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1907 (inputs
1908 `(("ghc-chell" ,ghc-chell)
1909 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1910 ("ghc-random" ,ghc-random)
1911 ("ghc-quickcheck" ,ghc-quickcheck)))
1912 (home-page "https://john-millikin.com/software/chell/")
1913 (synopsis "QuickCheck support for the Chell testing library")
1914 (description "More complex tests for @code{chell}.")
1915 (license license:expat)))
1916
1917(define ghc-chell-quickcheck-bootstrap
1918 (package
1919 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1920 (version "0.2.5.2")
dddbc90c
RV
1921 (source
1922 (origin
1923 (method url-fetch)
1924 (uri (string-append
1925 "https://hackage.haskell.org/package/chell-quickcheck/"
1926 "chell-quickcheck-" version ".tar.gz"))
1927 (sha256
1928 (base32
e0e21831 1929 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1930 (build-system haskell-build-system)
1931 (inputs
1932 `(("ghc-chell" ,ghc-chell)
1933 ("ghc-random" ,ghc-random)
1934 ("ghc-quickcheck" ,ghc-quickcheck)))
1935 (arguments
1936 `(#:tests? #f
1937 #:phases
1938 (modify-phases %standard-phases
1939 (add-before 'configure 'update-constraints
1940 (lambda _
1941 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1942 (("QuickCheck >= 2\\.3 && < 2\\.13")
1943 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1944 (home-page "https://john-millikin.com/software/chell/")
1945 (synopsis "QuickCheck support for the Chell testing library")
1946 (description "More complex tests for @code{chell}.")
1947 (license license:expat)))
1948
1949(define-public ghc-chunked-data
1950 (package
1951 (name "ghc-chunked-data")
1952 (version "0.3.1")
1953 (source
1954 (origin
1955 (method url-fetch)
1956 (uri (string-append "https://hackage.haskell.org/package/"
1957 "chunked-data-" version "/"
1958 "chunked-data-" version ".tar.gz"))
1959 (sha256
1960 (base32
1961 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1962 (build-system haskell-build-system)
1963 (inputs `(("ghc-vector" ,ghc-vector)
1964 ("ghc-semigroups" ,ghc-semigroups)))
1965 (home-page "https://github.com/snoyberg/mono-traversable")
1966 (synopsis "Typeclasses for dealing with various chunked data
1967representations for Haskell")
1968 (description "This Haskell package was originally present in
1969classy-prelude.")
1970 (license license:expat)))
1971
1972(define-public ghc-clock
1973 (package
1974 (name "ghc-clock")
0841b6f2 1975 (version "0.8")
dddbc90c
RV
1976 (source
1977 (origin
1978 (method url-fetch)
1979 (uri (string-append
1980 "https://hackage.haskell.org/package/"
1981 "clock/"
1982 "clock-" version ".tar.gz"))
1983 (sha256
0841b6f2 1984 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1985 (build-system haskell-build-system)
1986 (inputs
1987 `(("ghc-tasty" ,ghc-tasty)
1988 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1989 (home-page "https://hackage.haskell.org/package/clock")
1990 (synopsis "High-resolution clock for Haskell")
1991 (description "A package for convenient access to high-resolution clock and
1992timer functions of different operating systems via a unified API.")
1993 (license license:bsd-3)))
1994
1995;; This package builds `clock` without tests, since the tests rely on tasty
1996;; and tasty-quickcheck, which in turn require clock to build.
1997(define-public ghc-clock-bootstrap
1998 (package
1999 (inherit ghc-clock)
2000 (name "ghc-clock-bootstrap")
2001 (arguments '(#:tests? #f))
2002 (inputs '())
2003 (properties '((hidden? #t)))))
2004
2005(define-public ghc-cmark
2006 (package
2007 (name "ghc-cmark")
6bdd36c0 2008 (version "0.6")
dddbc90c
RV
2009 (source (origin
2010 (method url-fetch)
6bdd36c0 2011 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
2012 ;; See cbits/cmark_version.h.
2013 (uri (string-append "https://hackage.haskell.org/package/"
2014 "cmark/cmark-" version ".tar.gz"))
2015 (sha256
2016 (base32
6bdd36c0 2017 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
2018 (build-system haskell-build-system)
2019 (native-inputs
2020 `(("ghc-hunit" ,ghc-hunit)))
2021 (home-page "https://github.com/jgm/commonmark-hs")
2022 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2023 (description
2024 "This package provides Haskell bindings for
2025@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2026CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2027sources, and does not require prior installation of the C library.")
2028 (license license:bsd-3)))
2029
2030(define-public ghc-cmark-gfm
2031 (package
2032 (name "ghc-cmark-gfm")
24fc8dae 2033 (version "0.2.0")
dddbc90c
RV
2034 (source
2035 (origin
2036 (method url-fetch)
2037 (uri (string-append "https://hackage.haskell.org/package/"
2038 "cmark-gfm/cmark-gfm-"
2039 version ".tar.gz"))
2040 (sha256
2041 (base32
24fc8dae 2042 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
2043 (build-system haskell-build-system)
2044 (native-inputs
2045 `(("ghc-hunit" ,ghc-hunit)))
2046 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2047 (synopsis
2048 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2049 (description
2050 "This package provides Haskell bindings for libcmark-gfm, the reference
2051parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2052It includes sources for libcmark-gfm and does not require prior installation
2053of the C library.")
2054 (license license:bsd-3)))
2055
2056(define-public ghc-cmdargs
2057 (package
2058 (name "ghc-cmdargs")
2059 (version "0.10.20")
2060 (source
2061 (origin
2062 (method url-fetch)
2063 (uri (string-append
2064 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2065 version ".tar.gz"))
2066 (sha256
2067 (base32
2068 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2069 (build-system haskell-build-system)
2070 (home-page
2071 "http://community.haskell.org/~ndm/cmdargs/")
2072 (synopsis "Command line argument processing")
2073 (description
2074 "This library provides an easy way to define command line parsers.")
2075 (license license:bsd-3)))
2076
2077(define-public ghc-code-page
2078 (package
2079 (name "ghc-code-page")
f6bb6519 2080 (version "0.2")
dddbc90c
RV
2081 (source
2082 (origin
2083 (method url-fetch)
2084 (uri (string-append
2085 "https://hackage.haskell.org/package/code-page/code-page-"
2086 version ".tar.gz"))
2087 (sha256
2088 (base32
f6bb6519 2089 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
2090 (build-system haskell-build-system)
2091 (home-page "https://github.com/RyanGlScott/code-page")
2092 (synopsis "Windows code page library for Haskell")
2093 (description "A cross-platform library with functions for adjusting
2094code pages on Windows. On all other operating systems, the library does
2095nothing.")
2096 (license license:bsd-3)))
2097
2098(define-public ghc-colour
2099(package
2100 (name "ghc-colour")
bc9d1af9 2101 (version "2.3.5")
dddbc90c
RV
2102 (source
2103 (origin
2104 (method url-fetch)
2105 (uri (string-append
2106 "https://hackage.haskell.org/package/colour/colour-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32
bc9d1af9 2110 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
2111 (arguments
2112 ;; The tests for this package have the following dependency cycle:
2113 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2114 `(#:tests? #f))
2115 (build-system haskell-build-system)
2116 (home-page "https://www.haskell.org/haskellwiki/Colour")
2117 (synopsis "Model for human colour perception")
2118 (description
2119 "This package provides a data type for colours and transparency.
2120Colours can be blended and composed. Various colour spaces are
2121supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2122 (license license:expat)))
2123
2124(define-public ghc-comonad
2125 (package
2126 (name "ghc-comonad")
1a825512 2127 (version "5.0.5")
dddbc90c
RV
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://hackage.haskell.org/package/comonad/comonad-"
2133 version
2134 ".tar.gz"))
2135 (sha256
2136 (base32
1a825512 2137 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2138 (build-system haskell-build-system)
2139 (native-inputs
2140 `(("cabal-doctest" ,cabal-doctest)
2141 ("ghc-doctest" ,ghc-doctest)))
2142 (inputs
2143 `(("ghc-contravariant" ,ghc-contravariant)
2144 ("ghc-distributive" ,ghc-distributive)
2145 ("ghc-semigroups" ,ghc-semigroups)
2146 ("ghc-tagged" ,ghc-tagged)
2147 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2148 (home-page "https://github.com/ekmett/comonad/")
2149 (synopsis "Comonads for Haskell")
2150 (description "This library provides @code{Comonad}s for Haskell.")
2151 (license license:bsd-3)))
2152
2153(define-public ghc-concatenative
2154 (package
2155 (name "ghc-concatenative")
2156 (version "1.0.1")
2157 (source (origin
2158 (method url-fetch)
2159 (uri (string-append
2160 "https://hackage.haskell.org/package/concatenative/concatenative-"
2161 version ".tar.gz"))
2162 (sha256
2163 (base32
2164 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2165 (build-system haskell-build-system)
2166 (home-page
2167 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2168 (synopsis "Library for postfix control flow")
2169 (description
2170 "Concatenative gives Haskell Factor-style combinators and arrows for
2171postfix notation. For more information on stack based languages, see
2172@uref{https://concatenative.org}.")
2173 (license license:bsd-3)))
2174
2175(define-public ghc-concurrent-extra
2176 (package
2177 (name "ghc-concurrent-extra")
2178 (version "0.7.0.12")
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append "https://hackage.haskell.org/package/"
2183 "concurrent-extra/concurrent-extra-"
2184 version ".tar.gz"))
2185 (sha256
2186 (base32
2187 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2188 (build-system haskell-build-system)
2189 (arguments
2190 ;; XXX: The ReadWriteLock 'stressTest' fails.
2191 `(#:tests? #f))
2192 (inputs
2193 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2194 (native-inputs
2195 `(("ghc-async" ,ghc-async)
2196 ("ghc-hunit" ,ghc-hunit)
2197 ("ghc-random" ,ghc-random)
2198 ("ghc-test-framework" ,ghc-test-framework)
2199 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2200 (home-page "https://github.com/basvandijk/concurrent-extra")
2201 (synopsis "Extra concurrency primitives")
2202 (description "This Haskell library offers (among other things) the
2203following selection of synchronisation primitives:
2204
2205@itemize
2206@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2207@item @code{Event}: Wake multiple threads by signalling an event.
2208@item @code{Lock}: Enforce exclusive access to a resource. Also known
2209as a binary semaphore or mutex. The package additionally provides an
2210alternative that works in the STM monad.
2211@item @code{RLock}: A lock which can be acquired multiple times by the
2212same thread. Also known as a reentrant mutex.
2213@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2214to protect shared resources which may be concurrently read, but only
2215sequentially written.
2216@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2217@end itemize
2218
2219Please consult the API documentation of the individual modules for more
2220detailed information.
2221
2222This package was inspired by the concurrency libraries of Java and
2223Python.")
2224 (license license:bsd-3)))
2225
2226(define-public ghc-concurrent-output
2227 (package
2228 (name "ghc-concurrent-output")
4fce0a4a 2229 (version "1.10.11")
dddbc90c
RV
2230 (source
2231 (origin
2232 (method url-fetch)
2233 (uri (string-append
2234 "mirror://hackage/package/concurrent-output/concurrent-output-"
2235 version
2236 ".tar.gz"))
2237 (sha256
2238 (base32
4fce0a4a 2239 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2240 (build-system haskell-build-system)
2241 (inputs
2242 `(("ghc-async" ,ghc-async)
2243 ("ghc-exceptions" ,ghc-exceptions)
2244 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2245 ("ghc-terminal-size" ,ghc-terminal-size)))
2246 (home-page
2247 "https://hackage.haskell.org/package/concurrent-output")
2248 (synopsis
2249 "Ungarble output from several threads or commands")
2250 (description
2251 "Lets multiple threads and external processes concurrently output to the
2252console, without it getting all garbled up.
2253
2254Built on top of that is a way of defining multiple output regions, which are
2255automatically laid out on the screen and can be individually updated by
2256concurrent threads. Can be used for progress displays etc.")
2257 (license license:bsd-2)))
2258
2259(define-public ghc-conduit
2260 (package
2261 (name "ghc-conduit")
1ac981d4 2262 (version "1.3.1.1")
dddbc90c
RV
2263 (source (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit/conduit-" version ".tar.gz"))
2267 (sha256
2268 (base32
1ac981d4 2269 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-exceptions" ,ghc-exceptions)
2273 ("ghc-lifted-base" ,ghc-lifted-base)
2274 ("ghc-mono-traversable" ,ghc-mono-traversable)
2275 ("ghc-mmorph" ,ghc-mmorph)
2276 ("ghc-resourcet" ,ghc-resourcet)
2277 ("ghc-silently" ,ghc-silently)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-unliftio" ,ghc-unliftio)
2280 ("ghc-unliftio-core" ,ghc-unliftio-core)
2281 ("ghc-vector" ,ghc-vector)
2282 ("ghc-void" ,ghc-void)))
2283 (native-inputs
2284 `(("ghc-quickcheck" ,ghc-quickcheck)
2285 ("ghc-hspec" ,ghc-hspec)
2286 ("ghc-safe" ,ghc-safe)
2287 ("ghc-split" ,ghc-split)))
2288 (home-page "https://github.com/snoyberg/conduit")
2289 (synopsis "Streaming data library ")
2290 (description
2291 "The conduit package is a solution to the streaming data problem,
2292allowing for production, transformation, and consumption of streams of data
2293in constant memory. It is an alternative to lazy I/O which guarantees
2294deterministic resource handling, and fits in the same general solution
2295space as enumerator/iteratee and pipes.")
2296 (license license:expat)))
2297
2298(define-public ghc-conduit-algorithms
2299 (package
2300 (name "ghc-conduit-algorithms")
503b74ae 2301 (version "0.0.11.0")
dddbc90c
RV
2302 (source
2303 (origin
2304 (method url-fetch)
2305 (uri (string-append "https://hackage.haskell.org/package/"
2306 "conduit-algorithms/conduit-algorithms-"
2307 version ".tar.gz"))
2308 (sha256
2309 (base32
503b74ae 2310 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2311 (build-system haskell-build-system)
2312 (inputs
2313 `(("ghc-async" ,ghc-async)
2314 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2315 ("ghc-conduit" ,ghc-conduit)
2316 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2317 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2318 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2319 ("ghc-exceptions" ,ghc-exceptions)
2320 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2321 ("ghc-monad-control" ,ghc-monad-control)
2322 ("ghc-pqueue" ,ghc-pqueue)
2323 ("ghc-resourcet" ,ghc-resourcet)
2324 ("ghc-stm-conduit" ,ghc-stm-conduit)
2325 ("ghc-streaming-commons" ,ghc-streaming-commons)
2326 ("ghc-unliftio-core" ,ghc-unliftio-core)
2327 ("ghc-vector" ,ghc-vector)))
2328 (native-inputs
2329 `(("ghc-hunit" ,ghc-hunit)
2330 ("ghc-test-framework" ,ghc-test-framework)
2331 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2332 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2333 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2334 (synopsis "Conduit-based algorithms")
2335 (description
2336 "This package provides algorithms on @code{Conduits}, including higher
2337level asynchronous processing and some other utilities.")
2338 (license license:expat)))
2339
2340(define-public ghc-conduit-combinators
2341 (package
2342 (name "ghc-conduit-combinators")
2343 (version "1.3.0")
2344 (source
2345 (origin
2346 (method url-fetch)
2347 (uri (string-append "https://hackage.haskell.org/package/"
2348 "conduit-combinators-" version "/"
2349 "conduit-combinators-" version ".tar.gz"))
2350 (sha256
2351 (base32
2352 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2353 (build-system haskell-build-system)
2354 (inputs `(("ghc-conduit" ,ghc-conduit)
2355 ("ghc-conduit-extra" ,ghc-conduit-extra)
2356 ("ghc-transformers-base" ,ghc-transformers-base)
2357 ("ghc-primitive" ,ghc-primitive)
2358 ("ghc-vector" ,ghc-vector)
2359 ("ghc-void" ,ghc-void)
2360 ("ghc-mwc-random" ,ghc-mwc-random)
2361 ("ghc-unix-compat" ,ghc-unix-compat)
2362 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2363 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2364 ("ghc-resourcet" ,ghc-resourcet)
2365 ("ghc-monad-control" ,ghc-monad-control)
2366 ("ghc-chunked-data" ,ghc-chunked-data)
2367 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2368 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2369 ("ghc-silently" ,ghc-silently)
2370 ("ghc-safe" ,ghc-safe)
2371 ("ghc-quickcheck" ,ghc-quickcheck)))
2372 (home-page "https://github.com/snoyberg/mono-traversable")
2373 (synopsis "Commonly used conduit functions, for both chunked and
2374unchunked data")
2375 (description "This Haskell package provides a replacement for Data.Conduit.List,
2376as well as a convenient Conduit module.")
2377 (license license:expat)))
2378
2379(define-public ghc-conduit-extra
2380 (package
2381 (name "ghc-conduit-extra")
151774d9 2382 (version "1.3.4")
dddbc90c
RV
2383 (source
2384 (origin
2385 (method url-fetch)
2386 (uri (string-append "https://hackage.haskell.org/package/"
2387 "conduit-extra/conduit-extra-"
2388 version ".tar.gz"))
2389 (sha256
2390 (base32
151774d9 2391 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2392 (build-system haskell-build-system)
2393 (inputs
2394 `(("ghc-conduit" ,ghc-conduit)
2395 ("ghc-exceptions" ,ghc-exceptions)
2396 ("ghc-monad-control" ,ghc-monad-control)
2397 ("ghc-transformers-base" ,ghc-transformers-base)
2398 ("ghc-typed-process" ,ghc-typed-process)
2399 ("ghc-async" ,ghc-async)
2400 ("ghc-attoparsec" ,ghc-attoparsec)
2401 ("ghc-blaze-builder" ,ghc-blaze-builder)
2402 ("ghc-network" ,ghc-network)
2403 ("ghc-primitive" ,ghc-primitive)
2404 ("ghc-resourcet" ,ghc-resourcet)
2405 ("ghc-streaming-commons" ,ghc-streaming-commons)
2406 ("ghc-hspec" ,ghc-hspec)
2407 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2408 ("ghc-quickcheck" ,ghc-quickcheck)))
2409 (native-inputs
2410 `(("hspec-discover" ,hspec-discover)))
2411 (home-page "https://github.com/snoyberg/conduit")
2412 (synopsis "Conduit adapters for common libraries")
2413 (description
2414 "The @code{conduit} package itself maintains relative small dependencies.
2415The purpose of this package is to collect commonly used utility functions
2416wrapping other library dependencies, without depending on heavier-weight
2417dependencies. The basic idea is that this package should only depend on
2418@code{haskell-platform} packages and @code{conduit}.")
2419 (license license:expat)))
2420
b59c3518
TS
2421(define-public ghc-conduit-zstd
2422 (package
2423 (name "ghc-conduit-zstd")
2424 (version "0.0.1.1")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2430 (sha256
2431 (base32
2432 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2433 (build-system haskell-build-system)
2434 (inputs
2435 `(("ghc-conduit" ,ghc-conduit)
2436 ("ghc-zstd" ,ghc-zstd)))
2437 (native-inputs
2438 `(("ghc-hunit" ,ghc-hunit)
2439 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2440 ("ghc-conduit-extra" ,ghc-conduit-extra)
2441 ("ghc-test-framework" ,ghc-test-framework)
2442 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2443 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2444 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2445 (synopsis "Conduit-based ZStd Compression")
2446 (description "Zstandard compression packaged as a conduit. This is
2447a very thin wrapper around the
2448@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2449interface}.")
2450 (license license:expat)))
2451
dddbc90c
RV
2452(define-public ghc-configurator
2453 (package
2454 (name "ghc-configurator")
2455 (version "0.3.0.0")
2456 (source
2457 (origin
2458 (method url-fetch)
2459 (uri (string-append "https://hackage.haskell.org/package/"
2460 "configurator/configurator-"
2461 version ".tar.gz"))
2462 (sha256
2463 (base32
2464 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2465 (build-system haskell-build-system)
2466 (inputs
2467 `(("ghc-attoparsec" ,ghc-attoparsec)
2468 ("ghc-hashable" ,ghc-hashable)
2469 ("ghc-unix-compat" ,ghc-unix-compat)
2470 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2471 (native-inputs
2472 `(("ghc-hunit" ,ghc-hunit)
2473 ("ghc-test-framework" ,ghc-test-framework)
2474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2475 (home-page "http://github.com/bos/configurator")
2476 (synopsis "Configuration management")
2477 (description
2478 "This package provides a configuration management library for programs
2479and daemons. The features include:
2480
2481@enumerate
2482@item Automatic, dynamic reloading in response to modifications to
2483 configuration files.
2484@item A simple, but flexible, configuration language, supporting several of
2485 the most commonly needed types of data, along with interpolation of strings
2486 from the configuration or the system environment (e.g. @code{$(HOME)}).
2487@item Subscription-based notification of changes to configuration properties.
2488@item An @code{import} directive allows the configuration of a complex
2489 application to be split across several smaller files, or common configuration
2490 data to be shared across several applications.
2491@end enumerate\n")
2492 (license license:bsd-3)))
2493
2494(define-public ghc-connection
2495 (package
2496 (name "ghc-connection")
6ee0d258 2497 (version "0.3.1")
dddbc90c
RV
2498 (source (origin
2499 (method url-fetch)
2500 (uri (string-append "https://hackage.haskell.org/package/"
2501 "connection/connection-"
2502 version ".tar.gz"))
2503 (sha256
2504 (base32
6ee0d258 2505 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2506 (build-system haskell-build-system)
2507 (inputs
2508 `(("ghc-byteable" ,ghc-byteable)
2509 ("ghc-data-default-class" ,ghc-data-default-class)
2510 ("ghc-network" ,ghc-network)
2511 ("ghc-tls" ,ghc-tls)
2512 ("ghc-socks" ,ghc-socks)
2513 ("ghc-x509" ,ghc-x509)
2514 ("ghc-x509-store" ,ghc-x509-store)
2515 ("ghc-x509-system" ,ghc-x509-system)
2516 ("ghc-x509-validation" ,ghc-x509-validation)))
2517 (home-page "https://github.com/vincenthz/hs-connection")
2518 (synopsis "Simple and easy network connections API")
2519 (description
2520 "This package provides a simple network library for all your connection
2521needs. It provides a very simple API to create sockets to a destination with
2522the choice of SSL/TLS, and SOCKS.")
2523 (license license:bsd-3)))
2524
2525(define-public ghc-constraints
2526 (package
2527 (name "ghc-constraints")
2528 (version "0.10.1")
2529 (source
2530 (origin
2531 (method url-fetch)
2532 (uri (string-append
2533 "https://hackage.haskell.org/package/constraints/constraints-"
2534 version ".tar.gz"))
2535 (sha256
2536 (base32
2537 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2538 (build-system haskell-build-system)
2539 (inputs
2540 `(("ghc-hashable" ,ghc-hashable)
2541 ("ghc-semigroups" ,ghc-semigroups)
2542 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2543 (native-inputs
2544 `(("ghc-hspec" ,ghc-hspec)
2545 ("hspec-discover" ,hspec-discover)))
2546 (home-page "https://github.com/ekmett/constraints/")
2547 (synopsis "Constraint manipulation")
2548 (description
2549 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2550They stopped crashing the compiler in GHC 7.6. This package provides
2551a vocabulary for working with them.")
2552 (license license:bsd-3)))
2553
2554(define-public ghc-contravariant
2555 (package
2556 (name "ghc-contravariant")
e7b35ff0 2557 (version "1.5.2")
dddbc90c
RV
2558 (source
2559 (origin
2560 (method url-fetch)
2561 (uri (string-append
2562 "https://hackage.haskell.org/package/contravariant/contravariant-"
2563 version
2564 ".tar.gz"))
2565 (sha256
2566 (base32
e7b35ff0 2567 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-void" ,ghc-void)
2571 ("ghc-transformers-compat" ,ghc-transformers-compat)
2572 ("ghc-statevar" ,ghc-statevar)
2573 ("ghc-semigroups" ,ghc-semigroups)))
2574 (home-page
2575 "https://github.com/ekmett/contravariant/")
2576 (synopsis "Contravariant functors")
2577 (description "Contravariant functors for Haskell.")
2578 (license license:bsd-3)))
2579
2580(define-public ghc-contravariant-extras
2581 (package
2582 (name "ghc-contravariant-extras")
2583 (version "0.3.4")
2584 (source
2585 (origin
2586 (method url-fetch)
2587 (uri (string-append "https://hackage.haskell.org/package/"
2588 "contravariant-extras-" version "/"
2589 "contravariant-extras-" version ".tar.gz"))
2590 (sha256
2591 (base32
2592 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2593 (build-system haskell-build-system)
f3aca086
TS
2594 (arguments
2595 `(#:cabal-revision
2596 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2597 (inputs
2598 `(("ghc-tuple-th" ,ghc-tuple-th)
2599 ("ghc-contravariant" ,ghc-contravariant)
2600 ("ghc-base-prelude" ,ghc-base-prelude)
2601 ("ghc-semigroups" ,ghc-semigroups)))
2602 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2603 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2604 (description "This Haskell package provides extras for the
2605@code{ghc-contravariant} package.")
2606 (license license:expat)))
2607
2608(define-public ghc-convertible
2609 (package
2610 (name "ghc-convertible")
2611 (version "1.1.1.0")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2616 "convertible-" version ".tar.gz"))
2617 (sha256
2618 (base32
2619 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-old-time" ,ghc-old-time)
2623 ("ghc-old-locale" ,ghc-old-locale)))
2624 (home-page "https://hackage.haskell.org/package/convertible")
2625 (synopsis "Typeclasses and instances for converting between types")
2626 (description
2627 "This package provides a typeclass with a single function that is
2628designed to help convert between different types: numeric values, dates and
2629times, and the like. The conversions perform bounds checking and return a
2630pure @code{Either} value. This means that you need not remember which specific
2631function performs the conversion you desire.")
2632 (license license:bsd-3)))
2633
2634(define-public ghc-data-accessor
2635 (package
2636 (name "ghc-data-accessor")
6dcca515 2637 (version "0.2.2.8")
dddbc90c
RV
2638 (source
2639 (origin
2640 (method url-fetch)
2641 (uri (string-append
2642 "mirror://hackage/package/data-accessor/data-accessor-"
2643 version ".tar.gz"))
2644 (sha256
6dcca515 2645 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2646 (build-system haskell-build-system)
2647 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2648 (synopsis
2649 "Haskell utilities for accessing and manipulating fields of records")
2650 (description "This package provides Haskell modules for accessing and
2651manipulating fields of records.")
2652 (license license:bsd-3)))
2653
2654(define-public ghc-data-accessor-transformers
2655 (package
2656 (name "ghc-data-accessor-transformers")
2657 (version "0.2.1.7")
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "mirror://hackage/package/data-accessor-transformers/"
2663 "data-accessor-transformers-" version ".tar.gz"))
2664 (sha256
2665 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2666 (build-system haskell-build-system)
2667 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2668 (home-page "https://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-default
2675 (package
2676 (name "ghc-data-default")
2677 (version "0.7.1.1")
2678 (source
2679 (origin
2680 (method url-fetch)
2681 (uri (string-append
2682 "https://hackage.haskell.org/package/data-default/data-default-"
2683 version
2684 ".tar.gz"))
2685 (sha256
2686 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2687 (build-system haskell-build-system)
2688 (inputs
2689 `(("ghc-data-default-class"
2690 ,ghc-data-default-class)
2691 ("ghc-data-default-instances-base"
2692 ,ghc-data-default-instances-base)
2693 ("ghc-data-default-instances-containers"
2694 ,ghc-data-default-instances-containers)
2695 ("ghc-data-default-instances-dlist"
2696 ,ghc-data-default-instances-dlist)
2697 ("ghc-data-default-instances-old-locale"
2698 ,ghc-data-default-instances-old-locale)))
2699 (home-page "https://hackage.haskell.org/package/data-default")
2700 (synopsis "Types with default values")
2701 (description
2702 "This package defines a class for types with a default value, and
2703provides instances for types from the base, containers, dlist and old-locale
2704packages.")
2705 (license license:bsd-3)))
2706
2707(define-public ghc-data-default-class
2708 (package
2709 (name "ghc-data-default-class")
2710 (version "0.1.2.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/data-default-class/"
2716 "data-default-class-" version ".tar.gz"))
2717 (sha256
2718 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2719 (build-system haskell-build-system)
2720 (home-page "https://hackage.haskell.org/package/data-default-class")
2721 (synopsis "Types with default values")
2722 (description
2723 "This package defines a class for types with default values.")
2724 (license license:bsd-3)))
2725
2726(define-public ghc-data-default-instances-base
2727 (package
2728 (name "ghc-data-default-instances-base")
2729 (version "0.1.0.1")
2730 (source
2731 (origin
2732 (method url-fetch)
2733 (uri (string-append
2734 "https://hackage.haskell.org/package/"
2735 "data-default-instances-base/"
2736 "data-default-instances-base-" version ".tar.gz"))
2737 (sha256
2738 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2739 (build-system haskell-build-system)
2740 (inputs
2741 `(("ghc-data-default-class" ,ghc-data-default-class)))
2742 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2743 (synopsis "Default instances for types in base")
2744 (description
2745 "This package provides default instances for types from the base
2746package.")
2747 (license license:bsd-3)))
2748
2749(define-public ghc-data-default-instances-containers
2750 (package
2751 (name "ghc-data-default-instances-containers")
2752 (version "0.0.1")
2753 (source
2754 (origin
2755 (method url-fetch)
2756 (uri (string-append
2757 "https://hackage.haskell.org/package/"
2758 "data-default-instances-containers/"
2759 "data-default-instances-containers-" version ".tar.gz"))
2760 (sha256
2761 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2762 (build-system haskell-build-system)
2763 (inputs
2764 `(("ghc-data-default-class" ,ghc-data-default-class)))
2765 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2766 (synopsis "Default instances for types in containers")
2767 (description "Provides default instances for types from the containers
2768package.")
2769 (license license:bsd-3)))
2770
2771(define-public ghc-data-default-instances-dlist
2772 (package
2773 (name "ghc-data-default-instances-dlist")
2774 (version "0.0.1")
2775 (source
2776 (origin
2777 (method url-fetch)
2778 (uri (string-append
2779 "https://hackage.haskell.org/package/"
2780 "data-default-instances-dlist/"
2781 "data-default-instances-dlist-" version ".tar.gz"))
2782 (sha256
2783 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2784 (build-system haskell-build-system)
2785 (inputs
2786 `(("ghc-data-default-class" ,ghc-data-default-class)
2787 ("ghc-dlist" ,ghc-dlist)))
2788 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2789 (synopsis "Default instances for types in dlist")
2790 (description "Provides default instances for types from the dlist
2791package.")
2792 (license license:bsd-3)))
2793
2794(define-public ghc-data-default-instances-old-locale
2795 (package
2796 (name "ghc-data-default-instances-old-locale")
2797 (version "0.0.1")
2798 (source
2799 (origin
2800 (method url-fetch)
2801 (uri (string-append
2802 "https://hackage.haskell.org/package/"
2803 "data-default-instances-old-locale/"
2804 "data-default-instances-old-locale-" version ".tar.gz"))
2805 (sha256
2806 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2807 (build-system haskell-build-system)
2808 (inputs
2809 `(("ghc-data-default-class" ,ghc-data-default-class)
2810 ("ghc-old-locale" ,ghc-old-locale)))
2811 (home-page
2812 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2813 (synopsis "Default instances for types in old-locale")
2814 (description "Provides Default instances for types from the old-locale
2815 package.")
2816 (license license:bsd-3)))
2817
82c36002
JS
2818(define-public ghc-data-fix
2819 (package
2820 (name "ghc-data-fix")
2821 (version "0.2.0")
2822 (source
2823 (origin
2824 (method url-fetch)
2825 (uri (string-append
2826 "mirror://hackage/package/data-fix/"
2827 "data-fix-" version ".tar.gz"))
2828 (sha256
2829 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2830 (build-system haskell-build-system)
2831 (home-page "https://github.com/spell-music/data-fix")
2832 (synopsis "Fixpoint data types")
2833 (description
2834 "Fixpoint types and recursion schemes. If you define your AST as
2835fixpoint type, you get fold and unfold operations for free.
2836
2837Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2838 (license license:bsd-3)))
2839
dddbc90c
RV
2840(define-public ghc-data-hash
2841 (package
2842 (name "ghc-data-hash")
2843 (version "0.2.0.1")
2844 (source
2845 (origin
2846 (method url-fetch)
2847 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2848 "/data-hash-" version ".tar.gz"))
2849 (sha256
2850 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2851 (build-system haskell-build-system)
2852 (inputs
2853 `(("ghc-quickcheck" ,ghc-quickcheck)
2854 ("ghc-test-framework" ,ghc-test-framework)
2855 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2856 (home-page "https://hackage.haskell.org/package/data-hash")
2857 (synopsis "Combinators for building fast hashing functions")
2858 (description
2859 "This package provides combinators for building fast hashing functions.
2860It includes hashing functions for all basic Haskell98 types.")
2861 (license license:bsd-3)))
2862
2863(define-public ghc-data-ordlist
2864 (package
2865 (name "ghc-data-ordlist")
2866 (version "0.4.7.0")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append
2871 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2872 version ".tar.gz"))
2873 (sha256
2874 (base32
2875 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2876 (build-system haskell-build-system)
2877 (home-page "https://hackage.haskell.org/package/data-ordlist")
2878 (synopsis "Set and bag operations on ordered lists")
2879 (description
2880 "This module provides set and multiset operations on ordered lists.")
2881 (license license:bsd-3)))
2882
d05f32d6
JS
2883(define-public ghc-dbus
2884 (package
2885 (name "ghc-dbus")
2886 (version "1.2.7")
2887 (source
2888 (origin
2889 (method url-fetch)
2890 (uri
2891 (string-append
2892 "mirror://hackage/package/dbus/dbus-"
2893 version ".tar.gz"))
2894 (sha256
2895 (base32
2896 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2897 (build-system haskell-build-system)
2898 (inputs
2899 `(("ghc-cereal" ,ghc-cereal)
2900 ("ghc-conduit" ,ghc-conduit)
2901 ("ghc-exceptions" ,ghc-exceptions)
2902 ("ghc-lens" ,ghc-lens)
2903 ("ghc-network" ,ghc-network)
2904 ("ghc-random" ,ghc-random)
2905 ("ghc-split" ,ghc-split)
2906 ("ghc-th-lift" ,ghc-th-lift)
2907 ("ghc-vector" ,ghc-vector)
2908 ("ghc-xml-conduit" ,ghc-xml-conduit)
2909 ("ghc-xml-types" ,ghc-xml-types)))
2910 (native-inputs
2911 `(("ghc-extra" ,ghc-extra)
2912 ("ghc-quickcheck" ,ghc-quickcheck)
2913 ("ghc-resourcet" ,ghc-resourcet)
2914 ("ghc-tasty" ,ghc-tasty)
2915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2917 ;; FIXME - Some tests try to talk to network.
2918 (arguments `(#:tests? #f))
2919 (home-page "https://github.com/rblaze/haskell-dbus")
2920 (synopsis "Client library for the D-Bus IPC system")
2921 (description
2922 "D-Bus is a simple, message-based protocol for inter-process
2923communication, which allows applications to interact with other parts
2924of the machine and the user's session using remote procedure
2925calls. D-Bus is a essential part of the modern Linux desktop, where
2926it replaces earlier protocols such as CORBA and DCOP. This library
2927is an implementation of the D-Bus protocol in Haskell. It can be used
2928to add D-Bus support to Haskell applications, without the awkward
2929interfaces common to foreign bindings.")
2930 (license license:asl2.0)))
2931
dddbc90c
RV
2932(define-public ghc-deepseq-generics
2933 (package
2934 (name "ghc-deepseq-generics")
2935 (version "0.2.0.0")
2936 (source (origin
2937 (method url-fetch)
2938 (uri (string-append "https://hackage.haskell.org/package/"
2939 "deepseq-generics/deepseq-generics-"
2940 version ".tar.gz"))
2941 (sha256
2942 (base32
2943 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2944 (build-system haskell-build-system)
2945 (arguments
2946 `(#:cabal-revision
490ceae4 2947 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2948 (native-inputs
2949 `(("ghc-hunit" ,ghc-hunit)
2950 ("ghc-test-framework" ,ghc-test-framework)
2951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2952 (home-page "https://github.com/hvr/deepseq-generics")
2953 (synopsis "Generic RNF implementation")
2954 (description
2955 "This package provides a @code{GHC.Generics}-based
2956@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2957providing an @code{rnf} implementation.")
2958 (license license:bsd-3)))
2959
e924e17e
TS
2960(define-public ghc-dense-linear-algebra
2961 (package
2962 (name "ghc-dense-linear-algebra")
2963 (version "0.1.0.0")
2964 (source
2965 (origin
2966 (method url-fetch)
2967 (uri (string-append "https://hackage.haskell.org/package/"
2968 "dense-linear-algebra/dense-linear-algebra-"
2969 version ".tar.gz"))
2970 (sha256
2971 (base32
2972 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2973 (build-system haskell-build-system)
2974 (inputs
2975 `(("ghc-math-functions" ,ghc-math-functions)
2976 ("ghc-primitive" ,ghc-primitive)
2977 ("ghc-vector" ,ghc-vector)
2978 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2979 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2980 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2981 (native-inputs
2982 `(("ghc-hspec" ,ghc-hspec)
2983 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2984 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2985 (synopsis "Simple and incomplete implementation of linear algebra")
2986 (description "This library is simply a collection of linear-algebra
2987related modules split from the statistics library.")
2988 (license license:bsd-2)))
2989
dddbc90c
RV
2990(define-public ghc-descriptive
2991 (package
2992 (name "ghc-descriptive")
2993 (version "0.9.5")
2994 (source
2995 (origin
2996 (method url-fetch)
2997 (uri (string-append
2998 "https://hackage.haskell.org/package/descriptive/descriptive-"
2999 version
3000 ".tar.gz"))
3001 (sha256
3002 (base32
3003 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3004 (build-system haskell-build-system)
3005 (inputs
3006 `(("ghc-aeson" ,ghc-aeson)
3007 ("ghc-bifunctors" ,ghc-bifunctors)
3008 ("ghc-scientific" ,ghc-scientific)
3009 ("ghc-vector" ,ghc-vector)))
3010 (native-inputs
3011 `(("ghc-hunit" ,ghc-hunit)
3012 ("ghc-hspec" ,ghc-hspec)))
3013 (home-page
3014 "https://github.com/chrisdone/descriptive")
3015 (synopsis
3016 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3017 (description
3018 "This package provides datatypes and functions for creating consumers
3019and parsers with useful semantics.")
3020 (license license:bsd-3)))
3021
1859c94a
TS
3022(define-public ghc-diagrams-core
3023 (package
3024 (name "ghc-diagrams-core")
3025 (version "1.4.2")
3026 (source
3027 (origin
3028 (method url-fetch)
3029 (uri (string-append "https://hackage.haskell.org/package/"
3030 "diagrams-core/diagrams-core-" version ".tar.gz"))
3031 (sha256
3032 (base32
3033 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3034 (build-system haskell-build-system)
3035 (inputs
3036 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3037 ("ghc-semigroups" ,ghc-semigroups)
3038 ("ghc-monoid-extras" ,ghc-monoid-extras)
3039 ("ghc-dual-tree" ,ghc-dual-tree)
3040 ("ghc-lens" ,ghc-lens)
3041 ("ghc-linear" ,ghc-linear)
3042 ("ghc-adjunctions" ,ghc-adjunctions)
3043 ("ghc-distributive" ,ghc-distributive)
3044 ("ghc-profunctors" ,ghc-profunctors)))
3045 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3046 (synopsis "Core libraries for diagrams embedded domain-specific language")
3047 (description "This package provides the core modules underlying
3048diagrams, an embedded domain-specific language for compositional,
3049declarative drawing.")
3050 (license license:bsd-3)))
3051
f9f1a630
TS
3052(define-public ghc-diagrams-lib
3053 (package
3054 (name "ghc-diagrams-lib")
3055 (version "1.4.2.3")
3056 (source
3057 (origin
3058 (method url-fetch)
3059 (uri (string-append "https://hackage.haskell.org/package/"
3060 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3061 (sha256
3062 (base32
3063 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3064 (build-system haskell-build-system)
3065 (inputs
3066 `(("ghc-semigroups" ,ghc-semigroups)
3067 ("ghc-monoid-extras" ,ghc-monoid-extras)
3068 ("ghc-dual-tree" ,ghc-dual-tree)
3069 ("ghc-diagrams-core" ,ghc-diagrams-core)
3070 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3071 ("ghc-active" ,ghc-active)
3072 ("ghc-colour" ,ghc-colour)
3073 ("ghc-data-default-class" ,ghc-data-default-class)
3074 ("ghc-fingertree" ,ghc-fingertree)
3075 ("ghc-intervals" ,ghc-intervals)
3076 ("ghc-lens" ,ghc-lens)
3077 ("ghc-tagged" ,ghc-tagged)
3078 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3079 ("ghc-juicypixels" ,ghc-juicypixels)
3080 ("ghc-hashable" ,ghc-hashable)
3081 ("ghc-linear" ,ghc-linear)
3082 ("ghc-adjunctions" ,ghc-adjunctions)
3083 ("ghc-distributive" ,ghc-distributive)
3084 ("ghc-fsnotify" ,ghc-fsnotify)
3085 ("ghc-unordered-containers" ,ghc-unordered-containers)
3086 ("ghc-profunctors" ,ghc-profunctors)
3087 ("ghc-exceptions" ,ghc-exceptions)
3088 ("ghc-cereal" ,ghc-cereal)))
3089 (native-inputs
3090 `(("ghc-tasty" ,ghc-tasty)
3091 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3092 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3093 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3094 (arguments
3095 `(#:cabal-revision
3096 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3097 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3098 (synopsis "Embedded domain-specific language for declarative graphics")
3099 (description "Diagrams is a flexible, extensible embedded
3100domain-specific language (EDSL) for creating graphics of many types.
3101Graphics can be created in arbitrary vector spaces and rendered with
3102multiple backends. This package provides a standard library of
3103primitives and operations for creating diagrams.")
3104 (license license:bsd-3)))
3105
fd33ffa0
TS
3106(define-public ghc-diagrams-solve
3107 (package
3108 (name "ghc-diagrams-solve")
3109 (version "0.1.1")
3110 (source
3111 (origin
3112 (method url-fetch)
3113 (uri (string-append "https://hackage.haskell.org/package/"
3114 "diagrams-solve/diagrams-solve-"
3115 version ".tar.gz"))
3116 (sha256
3117 (base32
3118 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3119 (build-system haskell-build-system)
3120 (native-inputs
3121 `(("ghc-tasty" ,ghc-tasty)
3122 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3123 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3124 (arguments
3125 `(#:cabal-revision
3126 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3127 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3128 (synopsis "Pure Haskell solver routines used by diagrams")
3129 (description "This library provides Pure Haskell solver routines for
3130use by the
3131@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3132diagrams framework}. It currently includes routines for finding real
3133roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3134and cyclic tridiagonal linear systems.")
3135 (license license:bsd-3)))
3136
74be1cb7
TS
3137(define-public ghc-diagrams-svg
3138 (package
3139 (name "ghc-diagrams-svg")
3140 (version "1.4.2")
3141 (source
3142 (origin
3143 (method url-fetch)
3144 (uri (string-append "https://hackage.haskell.org/package/"
3145 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3146 (sha256
3147 (base32
3148 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3149 (build-system haskell-build-system)
3150 (inputs
3151 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3152 ("ghc-colour" ,ghc-colour)
3153 ("ghc-diagrams-core" ,ghc-diagrams-core)
3154 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3155 ("ghc-monoid-extras" ,ghc-monoid-extras)
3156 ("ghc-svg-builder" ,ghc-svg-builder)
3157 ("ghc-juicypixels" ,ghc-juicypixels)
3158 ("ghc-split" ,ghc-split)
3159 ("ghc-lens" ,ghc-lens)
3160 ("ghc-hashable" ,ghc-hashable)
3161 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3162 ("ghc-semigroups" ,ghc-semigroups)))
3163 (arguments
3164 `(#:cabal-revision
3165 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3166 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3167 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3168 (description "This package provides a modular backend for rendering
3169diagrams created with the diagrams embedded domain-specific
3170language (EDSL) to Scalable Vector Graphics (SVG) files.")
3171 (license license:bsd-3)))
3172
4eb9a167
TS
3173(define-public ghc-dictionary-sharing
3174 (package
3175 (name "ghc-dictionary-sharing")
3176 (version "0.1.0.0")
3177 (source
3178 (origin
3179 (method url-fetch)
3180 (uri (string-append "https://hackage.haskell.org/package/"
3181 "dictionary-sharing/dictionary-sharing-"
3182 version ".tar.gz"))
3183 (sha256
3184 (base32
3185 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3186 (build-system haskell-build-system)
3187 (arguments
3188 `(#:cabal-revision
3189 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3190 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3191 (synopsis "Sharing/memoization of class members")
3192 (description "This library provides tools for ensuring that class
3193members are shared.")
3194 (license license:bsd-3)))
3195
dddbc90c
RV
3196(define-public ghc-diff
3197 (package
3198 (name "ghc-diff")
3199 (version "0.3.4")
3200 (source (origin
3201 (method url-fetch)
3202 (uri (string-append "https://hackage.haskell.org/package/"
3203 "Diff/Diff-" version ".tar.gz"))
a531ff94 3204 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3205 (sha256
3206 (base32
3207 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3208 (build-system haskell-build-system)
3209 (native-inputs
3210 `(("ghc-quickcheck" ,ghc-quickcheck)
3211 ("ghc-test-framework" ,ghc-test-framework)
3212 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3213 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3214 (synopsis "O(ND) diff algorithm in Haskell")
3215 (description
3216 "This package provides an implementation of the standard diff algorithm,
3217and utilities for pretty printing.")
3218 (license license:bsd-3)))
3219
3220(define-public ghc-disk-free-space
3221 (package
3222 (name "ghc-disk-free-space")
3223 (version "0.1.0.1")
3224 (source
3225 (origin
3226 (method url-fetch)
3227 (uri (string-append "https://hackage.haskell.org/package/"
3228 "disk-free-space/disk-free-space-"
3229 version ".tar.gz"))
3230 (sha256
3231 (base32
3232 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3233 (build-system haskell-build-system)
3234 (home-page "https://github.com/redneb/disk-free-space")
3235 (synopsis "Retrieve information about disk space usage")
3236 (description "A cross-platform library for retrieving information about
3237disk space usage.")
3238 (license license:bsd-3)))
3239
3240(define-public ghc-distributive
3241 (package
3242 (name "ghc-distributive")
e4c92f28 3243 (version "0.6.1")
dddbc90c
RV
3244 (source
3245 (origin
3246 (method url-fetch)
3247 (uri (string-append
3248 "https://hackage.haskell.org/package/distributive/distributive-"
3249 version
3250 ".tar.gz"))
3251 (sha256
3252 (base32
e4c92f28 3253 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3254 (build-system haskell-build-system)
dddbc90c
RV
3255 (inputs
3256 `(("ghc-tagged" ,ghc-tagged)
3257 ("ghc-base-orphans" ,ghc-base-orphans)
3258 ("ghc-transformers-compat" ,ghc-transformers-compat)
3259 ("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3261 (native-inputs
3262 `(("cabal-doctest" ,cabal-doctest)
3263 ("ghc-doctest" ,ghc-doctest)
3264 ("ghc-hspec" ,ghc-hspec)
3265 ("hspec-discover" ,hspec-discover)))
3266 (home-page "https://github.com/ekmett/distributive/")
3267 (synopsis "Distributive functors for Haskell")
3268 (description "This package provides distributive functors for Haskell.
3269Dual to @code{Traversable}.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-dlist
3273 (package
3274 (name "ghc-dlist")
197ddf33 3275 (version "0.8.0.7")
dddbc90c
RV
3276 (source
3277 (origin
3278 (method url-fetch)
3279 (uri (string-append
3280 "https://hackage.haskell.org/package/dlist/dlist-"
3281 version
3282 ".tar.gz"))
3283 (sha256
197ddf33 3284 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3285 (build-system haskell-build-system)
3286 (inputs
3287 `(("ghc-quickcheck" ,ghc-quickcheck)))
3288 (home-page "https://github.com/spl/dlist")
3289 (synopsis "Difference lists")
3290 (description
3291 "Difference lists are a list-like type supporting O(1) append. This is
3292particularly useful for efficient logging and pretty printing (e.g. with the
3293Writer monad), where list append quickly becomes too expensive.")
3294 (license license:bsd-3)))
3295
3296(define-public ghc-doctemplates
3297 (package
3298 (name "ghc-doctemplates")
3299 (version "0.2.2.1")
3300 (source
3301 (origin
3302 (method url-fetch)
3303 (uri (string-append "https://hackage.haskell.org/package/"
3304 "doctemplates/doctemplates-"
3305 version ".tar.gz"))
3306 (sha256
3307 (base32
3308 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3309 (build-system haskell-build-system)
3310 (inputs
3311 `(("ghc-aeson" ,ghc-aeson)
3312 ("ghc-blaze-markup" ,ghc-blaze-markup)
3313 ("ghc-blaze-html" ,ghc-blaze-html)
3314 ("ghc-vector" ,ghc-vector)
3315 ("ghc-unordered-containers" ,ghc-unordered-containers)
3316 ("ghc-scientific" ,ghc-scientific)))
3317 (native-inputs
3318 `(("ghc-hspec" ,ghc-hspec)))
3319 (home-page "https://github.com/jgm/doctemplates#readme")
3320 (synopsis "Pandoc-style document templates")
3321 (description
3322 "This package provides a simple text templating system used by pandoc.")
3323 (license license:bsd-3)))
3324
3325(define-public ghc-doctest
3326 (package
3327 (name "ghc-doctest")
19c14a0f 3328 (version "0.16.2")
dddbc90c
RV
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append
3333 "https://hackage.haskell.org/package/doctest/doctest-"
3334 version
3335 ".tar.gz"))
3336 (sha256
3337 (base32
19c14a0f 3338 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3339 (build-system haskell-build-system)
3340 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3341 (inputs
3342 `(("ghc-syb" ,ghc-syb)
3343 ("ghc-paths" ,ghc-paths)
3344 ("ghc-base-compat" ,ghc-base-compat)
3345 ("ghc-code-page" ,ghc-code-page)
3346 ("ghc-hunit" ,ghc-hunit)
3347 ("ghc-hspec" ,ghc-hspec)
3348 ("ghc-quickcheck" ,ghc-quickcheck)
3349 ("ghc-stringbuilder" ,ghc-stringbuilder)
3350 ("ghc-silently" ,ghc-silently)
3351 ("ghc-setenv" ,ghc-setenv)))
3352 (home-page
3353 "https://github.com/sol/doctest#readme")
3354 (synopsis "Test interactive Haskell examples")
3355 (description "The doctest program checks examples in source code comments.
3356It is modeled after doctest for Python, see
3357@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3358 (license license:expat)))
3359
2b2c8911
JS
3360(define-public ghc-dotgen
3361 (package
3362 (name "ghc-dotgen")
3363 (version "0.4.2")
3364 (source
3365 (origin
3366 (method url-fetch)
3367 (uri (string-append
3368 "mirror://hackage/package/dotgen/dotgen-"
3369 version
3370 ".tar.gz"))
3371 (sha256
3372 (base32
3373 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3374 (build-system haskell-build-system)
3375 (home-page "https://github.com/ku-fpg/dotgen")
3376 (synopsis
3377 "Simple interface for building .dot graph files")
3378 (description
3379 "This package provides a simple interface for building .dot graph
3380files, for input into the dot and graphviz tools. It includes a
3381monadic interface for building graphs.")
3382 (license license:bsd-3)))
3383
dddbc90c
RV
3384(define-public ghc-double-conversion
3385 (package
3386 (name "ghc-double-conversion")
3387 (version "2.0.2.0")
3388 (source
3389 (origin
3390 (method url-fetch)
3391 (uri (string-append "https://hackage.haskell.org/package/"
3392 "double-conversion/double-conversion-"
3393 version ".tar.gz"))
3394 (sha256
3395 (base32
3396 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3397 (build-system haskell-build-system)
3398 (native-inputs
3399 `(("ghc-hunit" ,ghc-hunit)
3400 ("ghc-test-framework" ,ghc-test-framework)
3401 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3402 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3403 (home-page "https://github.com/bos/double-conversion")
3404 (synopsis "Fast conversion between double precision floating point and text")
3405 (description
3406 "This package provides a library that performs fast, accurate conversion
3407between double precision floating point and text.")
3408 (license license:bsd-3)))
3409
577a78b7
TS
3410(define-public ghc-dual-tree
3411 (package
3412 (name "ghc-dual-tree")
3413 (version "0.2.2.1")
3414 (source
3415 (origin
3416 (method url-fetch)
3417 (uri (string-append "https://hackage.haskell.org/package/"
3418 "dual-tree/dual-tree-" version ".tar.gz"))
3419 (sha256
3420 (base32
3421 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3422 (build-system haskell-build-system)
3423 (inputs
3424 `(("ghc-semigroups" ,ghc-semigroups)
3425 ("ghc-newtype-generics" ,ghc-newtype-generics)
3426 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3427 (native-inputs
3428 `(("ghc-quickcheck" ,ghc-quickcheck)
3429 ("ghc-testing-feat" ,ghc-testing-feat)))
3430 (home-page "https://hackage.haskell.org/package/dual-tree")
3431 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3432 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3433cached) and downwards-traveling (i.e. accumulating) monoidal
3434annotations. This is used as the core data structure underlying the
3435@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3436diagrams framework}, but potentially has other applications as well.")
3437 (license license:bsd-3)))
3438
dddbc90c
RV
3439(define-public ghc-easy-file
3440 (package
3441 (name "ghc-easy-file")
3442 (version "0.2.2")
3443 (source
3444 (origin
3445 (method url-fetch)
3446 (uri (string-append
3447 "https://hackage.haskell.org/package/easy-file/easy-file-"
3448 version
3449 ".tar.gz"))
3450 (sha256
3451 (base32
3452 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3453 (build-system haskell-build-system)
3454 (home-page
3455 "https://github.com/kazu-yamamoto/easy-file")
3456 (synopsis "File handling library for Haskell")
3457 (description "This library provides file handling utilities for Haskell.")
3458 (license license:bsd-3)))
3459
3460(define-public ghc-easyplot
3461 (package
3462 (name "ghc-easyplot")
3463 (version "1.0")
3464 (source
3465 (origin
3466 (method url-fetch)
3467 (uri (string-append
3468 "https://hackage.haskell.org/package/easyplot/easyplot-"
3469 version ".tar.gz"))
3470 (sha256
3471 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3472 (build-system haskell-build-system)
3473 (propagated-inputs `(("gnuplot" ,gnuplot)))
3474 (arguments
3475 `(#:phases (modify-phases %standard-phases
3476 (add-after 'unpack 'fix-setup-suffix
3477 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3478 (home-page "https://hub.darcs.net/scravy/easyplot")
3479 (synopsis "Haskell plotting library based on gnuplot")
3480 (description "This package provides a plotting library for
3481Haskell, using gnuplot for rendering.")
3482 (license license:expat)))
3483
3484(define-public ghc-echo
3485 (package
3486 (name "ghc-echo")
3487 (version "0.1.3")
3488 (source
3489 (origin
3490 (method url-fetch)
3491 (uri (string-append
3492 "https://hackage.haskell.org/package/echo/echo-"
3493 version ".tar.gz"))
3494 (sha256
3495 (base32
3496 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3497 (build-system haskell-build-system)
3498 (arguments
3499 `(#:cabal-revision
3500 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3501 (home-page "https://github.com/RyanGlScott/echo")
3502 (synopsis "Echo terminal input portably")
3503 (description "The @code{base} library exposes the @code{hGetEcho} and
3504@code{hSetEcho} functions for querying and setting echo status, but
3505unfortunately, neither function works with MinTTY consoles on Windows.
3506This library provides an alternative interface which works with both
3507MinTTY and other consoles.")
3508 (license license:bsd-3)))
3509
3510(define-public ghc-edisonapi
3511 (package
3512 (name "ghc-edisonapi")
3513 (version "1.3.1")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3518 "/EdisonAPI-" version ".tar.gz"))
3519 (sha256
3520 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3521 (build-system haskell-build-system)
3522 (home-page "http://rwd.rdockins.name/edison/home/")
3523 (synopsis "Library of efficient, purely-functional data structures (API)")
3524 (description
3525 "Edison is a library of purely functional data structures written by
3526Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3527value EDiSon (Efficient Data Structures). Edison provides several families of
3528abstractions, each with multiple implementations. The main abstractions
3529provided by Edison are: Sequences such as stacks, queues, and dequeues;
3530Collections such as sets, bags and heaps; and Associative Collections such as
3531finite maps and priority queues where the priority and element are distinct.")
3532 (license license:expat)))
3533
3534(define-public ghc-edisoncore
3535 (package
3536 (name "ghc-edisoncore")
3537 (version "1.3.2.1")
3538 (source
3539 (origin
3540 (method url-fetch)
3541 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3542 "/EdisonCore-" version ".tar.gz"))
3543 (sha256
3544 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3545 (build-system haskell-build-system)
3546 (inputs
3547 `(("ghc-quickcheck" ,ghc-quickcheck)
3548 ("ghc-edisonapi" ,ghc-edisonapi)))
3549 (home-page "http://rwd.rdockins.name/edison/home/")
3550 (synopsis "Library of efficient, purely-functional data structures")
3551 (description
3552 "This package provides the core Edison data structure implementations,
3553including multiple sequence, set, bag, and finite map concrete implementations
3554with various performance characteristics.")
3555 (license license:expat)))
3556
3557(define-public ghc-edit-distance
3558 (package
3559 (name "ghc-edit-distance")
3560 (version "0.2.2.1")
3561 (source
3562 (origin
3563 (method url-fetch)
3564 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3565 "/edit-distance-" version ".tar.gz"))
3566 (sha256
3567 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3568 (build-system haskell-build-system)
3569 (arguments
3570 `(#:phases
3571 (modify-phases %standard-phases
3572 (add-before 'configure 'update-constraints
3573 (lambda _
3574 (substitute* "edit-distance.cabal"
3575 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3576 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3577 (inputs
3578 `(("ghc-random" ,ghc-random)
3579 ("ghc-test-framework" ,ghc-test-framework)
3580 ("ghc-quickcheck" ,ghc-quickcheck)
3581 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3582 (home-page "https://github.com/phadej/edit-distance")
3583 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3584 (description
3585 "This package provides optimized functions to determine the edit
3586distances for fuzzy matching, including Levenshtein and restricted
3587Damerau-Levenshtein algorithms.")
3588 (license license:bsd-3)))
3589
3ebae41f
TS
3590(define-public ghc-edit-distance-vector
3591 (package
3592 (name "ghc-edit-distance-vector")
3593 (version "1.0.0.4")
3594 (source
3595 (origin
3596 (method url-fetch)
3597 (uri (string-append "https://hackage.haskell.org/package/"
3598 "edit-distance-vector/edit-distance-vector-"
3599 version ".tar.gz"))
3600 (sha256
3601 (base32
3602 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3603 (build-system haskell-build-system)
3604 (inputs
3605 `(("ghc-vector" ,ghc-vector)))
3606 (native-inputs
3607 `(("ghc-quickcheck" ,ghc-quickcheck)
3608 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3609 (home-page "https://github.com/thsutton/edit-distance-vector")
3610 (synopsis "Calculate edit distances and edit scripts between vectors")
3611 (description "This package provides implementation of the
3612Wagner-Fischer dynamic programming algorithm to find the optimal edit
3613script and cost between two sequences. The implementation in this
3614package is specialised to sequences represented with @code{Data.Vector}
3615but is otherwise agnostic to:
3616@itemize
3617@item The type of values in the vectors;
3618@item The type representing edit operations; and
3619@item The type representing the cost of operations.
3620@end itemize")
3621 (license license:bsd-3)) )
3622
dddbc90c
RV
3623(define-public ghc-either
3624 (package
3625 (name "ghc-either")
a3fd4dc7 3626 (version "5.0.1.1")
dddbc90c
RV
3627 (source
3628 (origin
3629 (method url-fetch)
3630 (uri (string-append "https://hackage.haskell.org/package/"
3631 "either-" version "/"
3632 "either-" version ".tar.gz"))
3633 (sha256
3634 (base32
a3fd4dc7 3635 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3636 (build-system haskell-build-system)
3637 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3638 ("ghc-exceptions" ,ghc-exceptions)
3639 ("ghc-free" ,ghc-free)
3640 ("ghc-monad-control" ,ghc-monad-control)
3641 ("ghc-manodrandom" ,ghc-monadrandom)
3642 ("ghc-mmorph" ,ghc-mmorph)
3643 ("ghc-profunctors" ,ghc-profunctors)
3644 ("ghc-semigroups" ,ghc-semigroups)
3645 ("ghc-semigroupoids" ,ghc-semigroupoids)
3646 ("ghc-transformers-base" ,ghc-transformers-base)))
3647 (native-inputs
3648 `(("ghc-quickcheck" ,ghc-quickcheck)
3649 ("ghc-test-framework" ,ghc-test-framework)
3650 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3651 (home-page "https://github.com/ekmett/either")
3652 (synopsis "Provides an either monad transformer for Haskell")
3653 (description "This Haskell package provides an either monad transformer.")
3654 (license license:bsd-3)))
3655
3656(define-public ghc-email-validate
3657 (package
3658 (name "ghc-email-validate")
a4fe1c64 3659 (version "2.3.2.12")
dddbc90c
RV
3660 (source
3661 (origin
3662 (method url-fetch)
3663 (uri (string-append
3664 "https://hackage.haskell.org/package/"
3665 "email-validate/email-validate-"
3666 version
3667 ".tar.gz"))
3668 (sha256
3669 (base32
a4fe1c64 3670 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3671 (build-system haskell-build-system)
3672 (inputs
3673 `(("ghc-attoparsec" ,ghc-attoparsec)
3674 ("ghc-hspec" ,ghc-hspec)
3675 ("ghc-quickcheck" ,ghc-quickcheck)
3676 ("ghc-doctest" ,ghc-doctest)))
3677 (home-page
3678 "https://github.com/Porges/email-validate-hs")
3679 (synopsis "Email address validator for Haskell")
3680 (description
3681 "This Haskell package provides a validator that can validate an email
3682address string against RFC 5322.")
3683 (license license:bsd-3)))
3684
3685(define-public ghc-enclosed-exceptions
3686 (package
3687 (name "ghc-enclosed-exceptions")
3688 (version "1.0.3")
3689 (source (origin
3690 (method url-fetch)
3691 (uri (string-append "https://hackage.haskell.org/package/"
3692 "enclosed-exceptions/enclosed-exceptions-"
3693 version ".tar.gz"))
3694 (sha256
3695 (base32
3696 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3697 (build-system haskell-build-system)
3698 ;; FIXME: one of the tests blocks forever:
3699 ;; "thread blocked indefinitely in an MVar operation"
3700 (arguments '(#:tests? #f))
3701 (inputs
3702 `(("ghc-lifted-base" ,ghc-lifted-base)
3703 ("ghc-monad-control" ,ghc-monad-control)
3704 ("ghc-async" ,ghc-async)
3705 ("ghc-transformers-base" ,ghc-transformers-base)))
3706 (native-inputs
3707 `(("ghc-hspec" ,ghc-hspec)
3708 ("ghc-quickcheck" ,ghc-quickcheck)))
3709 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3710 (synopsis "Catch all exceptions from within an enclosed computation")
3711 (description
3712 "This library implements a technique to catch all exceptions raised
3713within an enclosed computation, while remaining responsive to (external)
3714asynchronous exceptions.")
3715 (license license:expat)))
3716
3717(define-public ghc-equivalence
3718 (package
3719 (name "ghc-equivalence")
801cf5b1 3720 (version "0.3.5")
dddbc90c
RV
3721 (source
3722 (origin
3723 (method url-fetch)
3724 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3725 "/equivalence-" version ".tar.gz"))
3726 (sha256
801cf5b1 3727 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3728 (build-system haskell-build-system)
3729 (inputs
3730 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3731 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3732 ("ghc-fail" ,ghc-fail)
3733 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3734 (home-page "https://github.com/pa-ba/equivalence")
3735 (synopsis "Maintaining an equivalence relation implemented as union-find")
3736 (description
3737 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3738Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
373922(2), 1975) in order to maintain an equivalence relation. This
3740implementation is a port of the @code{union-find} package using the @code{ST}
3741monad transformer (instead of the IO monad).")
3742 (license license:bsd-3)))
3743
3744(define-public ghc-erf
3745 (package
3746 (name "ghc-erf")
3747 (version "2.0.0.0")
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append "https://hackage.haskell.org/package/"
3752 "erf-" version "/"
3753 "erf-" version ".tar.gz"))
3754 (sha256
3755 (base32
3756 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3757 (build-system haskell-build-system)
3758 (home-page "https://hackage.haskell.org/package/erf")
3759 (synopsis "The error function, erf, and related functions for Haskell")
3760 (description "This Haskell library provides a type class for the
3761error function, erf, and related functions. Instances for Float and
3762Double.")
3763 (license license:bsd-3)))
3764
3765(define-public ghc-errorcall-eq-instance
3766 (package
3767 (name "ghc-errorcall-eq-instance")
3768 (version "0.3.0")
3769 (source
3770 (origin
3771 (method url-fetch)
3772 (uri (string-append "https://hackage.haskell.org/package/"
3773 "errorcall-eq-instance/errorcall-eq-instance-"
3774 version ".tar.gz"))
3775 (sha256
3776 (base32
3777 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3778 (build-system haskell-build-system)
3779 (inputs
3780 `(("ghc-base-orphans" ,ghc-base-orphans)))
3781 (native-inputs
3782 `(("ghc-quickcheck" ,ghc-quickcheck)
3783 ("ghc-hspec" ,ghc-hspec)
3784 ("hspec-discover" ,hspec-discover)))
3ef91e15 3785 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3786 (synopsis "Orphan Eq instance for ErrorCall")
3787 (description
3788 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3789This package provides an orphan instance.")
3790 (license license:expat)))
3791
3792(define-public ghc-errors
3793 (package
3794 (name "ghc-errors")
3795 (version "2.3.0")
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append "https://hackage.haskell.org/package/"
3800 "errors-" version "/"
3801 "errors-" version ".tar.gz"))
3802 (sha256
3803 (base32
3804 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3805 (build-system haskell-build-system)
3806 (inputs
3807 `(("ghc-exceptions" ,ghc-exceptions)
3808 ("ghc-transformers-compat" ,ghc-transformers-compat)
3809 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3810 ("ghc-safe" ,ghc-safe)))
3811 (home-page "https://github.com/gabriel439/haskell-errors-library")
3812 (synopsis "Error handling library for Haskell")
3813 (description "This library encourages an error-handling style that
3814directly uses the type system, rather than out-of-band exceptions.")
3815 (license license:bsd-3)))
3816
3817(define-public ghc-esqueleto
2648b604
TS
3818 (package
3819 (name "ghc-esqueleto")
2f6ad77b 3820 (version "3.3.1.1")
2648b604
TS
3821 (source
3822 (origin
3823 (method url-fetch)
3824 (uri (string-append "https://hackage.haskell.org/package/"
3825 "esqueleto/esqueleto-" version ".tar.gz"))
3826 (sha256
3827 (base32
2f6ad77b 3828 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3829 (build-system haskell-build-system)
3830 (arguments
3831 `(#:haddock? #f ; Haddock reports an internal error.
3832 #:phases
3833 (modify-phases %standard-phases
3834 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3835 ;; SQLite backends. Since we only have Haskell packages for
3836 ;; SQLite, we remove the other two test suites. FIXME: Add the
3837 ;; other backends and run all three test suites.
3838 (add-before 'configure 'remove-non-sqlite-test-suites
3839 (lambda _
3840 (use-modules (ice-9 rdelim))
3841 (with-atomic-file-replacement "esqueleto.cabal"
3842 (lambda (in out)
3843 (let loop ((line (read-line in 'concat)) (deleting? #f))
3844 (cond
3845 ((eof-object? line) #t)
3846 ((string-every char-set:whitespace line)
3847 (unless deleting? (display line out))
3848 (loop (read-line in 'concat) #f))
3849 ((member line '("test-suite mysql\n"
3850 "test-suite postgresql\n"))
3851 (loop (read-line in 'concat) #t))
3852 (else
3853 (unless deleting? (display line out))
3854 (loop (read-line in 'concat) deleting?)))))))))))
3855 (inputs
3856 `(("ghc-blaze-html" ,ghc-blaze-html)
3857 ("ghc-conduit" ,ghc-conduit)
3858 ("ghc-monad-logger" ,ghc-monad-logger)
3859 ("ghc-persistent" ,ghc-persistent)
3860 ("ghc-resourcet" ,ghc-resourcet)
3861 ("ghc-tagged" ,ghc-tagged)
3862 ("ghc-unliftio" ,ghc-unliftio)
3863 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3864 (native-inputs
3865 `(("ghc-hspec" ,ghc-hspec)
3866 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3867 ("ghc-persistent-template" ,ghc-persistent-template)))
3868 (home-page "https://github.com/bitemyapp/esqueleto")
3869 (synopsis "Type-safe embedded domain specific language for SQL queries")
3870 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3871language (EDSL) for SQL queries that works with SQL backends as provided by
3872@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3873to learn new concepts, just new syntax, and it's fairly easy to predict the
3874generated SQL and optimize it for your backend.")
2648b604 3875 (license license:bsd-3)))
dddbc90c
RV
3876
3877(define-public ghc-exactprint
3878 (package
3879 (name "ghc-exactprint")
50614014 3880 (version "0.6.1")
dddbc90c
RV
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append
3885 "https://hackage.haskell.org/package/"
3886 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3887 (sha256
3888 (base32
50614014 3889 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-paths" ,ghc-paths)
3893 ("ghc-syb" ,ghc-syb)
3894 ("ghc-free" ,ghc-free)))
3895 (native-inputs
3896 `(("ghc-hunit" ,ghc-hunit)
3897 ("ghc-diff" ,ghc-diff)
3898 ("ghc-silently" ,ghc-silently)
3899 ("ghc-filemanip" ,ghc-filemanip)))
3900 (home-page
3ef91e15 3901 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3902 (synopsis "ExactPrint for GHC")
3903 (description
3904 "Using the API Annotations available from GHC 7.10.2, this library
3905provides a means to round-trip any code that can be compiled by GHC, currently
3906excluding @file{.lhs} files.")
3907 (license license:bsd-3)))
3908
3909(define-public ghc-exceptions
3910 (package
3911 (name "ghc-exceptions")
46d3e65b 3912 (version "0.10.3")
dddbc90c
RV
3913 (source
3914 (origin
3915 (method url-fetch)
3916 (uri (string-append
3917 "https://hackage.haskell.org/package/exceptions/exceptions-"
3918 version
3919 ".tar.gz"))
3920 (sha256
3921 (base32
46d3e65b 3922 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3923 (build-system haskell-build-system)
3924 (native-inputs
3925 `(("ghc-quickcheck" ,ghc-quickcheck)
3926 ("ghc-test-framework" ,ghc-test-framework)
3927 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3928 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3929 (inputs
3930 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3931 (home-page "https://github.com/ekmett/exceptions/")
3932 (synopsis "Extensible optionally-pure exceptions")
3933 (description "This library provides extensible optionally-pure exceptions
3934for Haskell.")
3935 (license license:bsd-3)))
3936
3937(define-public ghc-executable-path
3938 (package
3939 (name "ghc-executable-path")
3940 (version "0.0.3.1")
3941 (source (origin
3942 (method url-fetch)
3943 (uri (string-append "https://hackage.haskell.org/package/"
3944 "executable-path/executable-path-"
3945 version ".tar.gz"))
3946 (sha256
3947 (base32
3948 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3949 (build-system haskell-build-system)
3950 (home-page "https://hackage.haskell.org/package/executable-path")
3951 (synopsis "Find out the full path of the executable")
3952 (description
3953 "The documentation of @code{System.Environment.getProgName} says that
3954\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3955instead, for maximum portability, we just return the leafname of the program
3956as invoked.\" This library tries to provide the missing path.")
3957 (license license:public-domain)))
3958
3959(define-public ghc-extensible-exceptions
3960 (package
3961 (name "ghc-extensible-exceptions")
3962 (version "0.1.1.4")
3963 (source
3964 (origin
3965 (method url-fetch)
3966 (uri (string-append "https://hackage.haskell.org/package/"
3967 "extensible-exceptions/extensible-exceptions-"
3968 version ".tar.gz"))
3969 (sha256
3970 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3971 (build-system haskell-build-system)
3972 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3973 (synopsis "Extensible exceptions for Haskell")
3974 (description
3975 "This package provides extensible exceptions for both new and old
3976versions of GHC (i.e., < 6.10).")
3977 (license license:bsd-3)))
3978
3979(define-public ghc-extra
3980 (package
3981 (name "ghc-extra")
0cec5c4e 3982 (version "1.6.21")
dddbc90c
RV
3983 (source
3984 (origin
3985 (method url-fetch)
3986 (uri (string-append
3987 "https://hackage.haskell.org/package/extra/extra-"
3988 version
3989 ".tar.gz"))
3990 (sha256
3991 (base32
0cec5c4e 3992 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3993 (build-system haskell-build-system)
3994 (inputs
3995 `(("ghc-clock" ,ghc-clock)
10650c44 3996 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3997 ("ghc-quickcheck" ,ghc-quickcheck)
3998 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3999 (home-page "https://github.com/ndmitchell/extra")
4000 (synopsis "Extra Haskell functions")
4001 (description "This library provides extra functions for the standard
4002Haskell libraries. Most functions are simple additions, filling out missing
4003functionality. A few functions are available in later versions of GHC, but
4004this package makes them available back to GHC 7.2.")
4005 (license license:bsd-3)))
4006
4007(define-public ghc-fail
4008 (package
4009 (name "ghc-fail")
4010 (version "4.9.0.0")
4011 (source
4012 (origin
4013 (method url-fetch)
4014 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4015 version ".tar.gz"))
4016 (sha256
4017 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4018 (build-system haskell-build-system)
4019 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4020 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4021 (synopsis "Forward-compatible MonadFail class")
4022 (description
4023 "This package contains the @code{Control.Monad.Fail} module providing the
4024@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4025class that became available in
4026@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4027older @code{base} package versions. This package turns into an empty package
4028when used with GHC versions which already provide the
4029@code{Control.Monad.Fail} module.")
4030 (license license:bsd-3)))
4031
4032(define-public ghc-fast-logger
4033 (package
4034 (name "ghc-fast-logger")
d443a52a 4035 (version "2.4.17")
dddbc90c
RV
4036 (source
4037 (origin
4038 (method url-fetch)
4039 (uri (string-append
4040 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4041 version
4042 ".tar.gz"))
4043 (sha256
4044 (base32
d443a52a 4045 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4046 (build-system haskell-build-system)
4047 (inputs
4048 `(("ghc-auto-update" ,ghc-auto-update)
4049 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4050 ("ghc-unix-time" ,ghc-unix-time)
4051 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4052 (native-inputs
4053 `(("hspec-discover" ,hspec-discover)
4054 ("ghc-hspec" ,ghc-hspec)))
4055 (home-page "https://hackage.haskell.org/package/fast-logger")
4056 (synopsis "Fast logging system")
4057 (description "This library provides a fast logging system for Haskell.")
4058 (license license:bsd-3)))
4059
4060(define-public ghc-feed
4061 (package
4062 (name "ghc-feed")
a41c16dc 4063 (version "1.2.0.1")
dddbc90c
RV
4064 (source
4065 (origin
4066 (method url-fetch)
4067 (uri (string-append "https://hackage.haskell.org/package/"
4068 "feed/feed-" version ".tar.gz"))
4069 (sha256
4070 (base32
a41c16dc 4071 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4072 (build-system haskell-build-system)
dddbc90c
RV
4073 (inputs
4074 `(("ghc-base-compat" ,ghc-base-compat)
4075 ("ghc-old-locale" ,ghc-old-locale)
4076 ("ghc-old-time" ,ghc-old-time)
4077 ("ghc-safe" ,ghc-safe)
4078 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4079 ("ghc-utf8-string" ,ghc-utf8-string)
4080 ("ghc-xml-conduit" ,ghc-xml-conduit)
4081 ("ghc-xml-types" ,ghc-xml-types)))
4082 (native-inputs
4083 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4084 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4085 ("ghc-test-framework" ,ghc-test-framework)
4086 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4087 (home-page "https://github.com/bergmark/feed")
4088 (synopsis "Haskell package for handling various syndication formats")
4089 (description "This Haskell package includes tools for generating and
4090consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4091 (license license:bsd-3)))
4092
4093(define-public ghc-fgl
4094 (package
4095 (name "ghc-fgl")
17482b26 4096 (version "5.7.0.1")
dddbc90c
RV
4097 (outputs '("out" "doc"))
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append
4102 "https://hackage.haskell.org/package/fgl/fgl-"
4103 version
4104 ".tar.gz"))
4105 (sha256
4106 (base32
17482b26 4107 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4108 (build-system haskell-build-system)
4109 (arguments
4110 `(#:phases
4111 (modify-phases %standard-phases
4112 (add-before 'configure 'update-constraints
4113 (lambda _
4114 (substitute* "fgl.cabal"
17482b26
TS
4115 (("QuickCheck >= 2\\.8 && < 2\\.13")
4116 "QuickCheck >= 2.8 && < 2.14")
4117 (("hspec >= 2\\.1 && < 2\\.7")
4118 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4119 (inputs
4120 `(("ghc-hspec" ,ghc-hspec)
4121 ("ghc-quickcheck" ,ghc-quickcheck)))
4122 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4123 (synopsis
4124 "Martin Erwig's Functional Graph Library")
4125 (description "The functional graph library, FGL, is a collection of type
4126and function definitions to address graph problems. The basis of the library
4127is an inductive definition of graphs in the style of algebraic data types that
4128encourages inductive, recursive definitions of graph algorithms.")
4129 (license license:bsd-3)))
4130
4131(define-public ghc-fgl-arbitrary
4132 (package
4133 (name "ghc-fgl-arbitrary")
4134 (version "0.2.0.3")
4135 (source
4136 (origin
4137 (method url-fetch)
4138 (uri (string-append
4139 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4140 version ".tar.gz"))
4141 (sha256
4142 (base32
4143 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4144 (build-system haskell-build-system)
4145 (arguments
4146 `(#:phases
4147 (modify-phases %standard-phases
4148 (add-before 'configure 'update-constraints
4149 (lambda _
4150 (substitute* "fgl-arbitrary.cabal"
4151 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4152 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4153 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4154 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4155 (inputs
4156 `(("ghc-fgl" ,ghc-fgl)
4157 ("ghc-quickcheck" ,ghc-quickcheck)
4158 ("ghc-hspec" ,ghc-hspec)))
4159 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4160 (synopsis "QuickCheck support for fgl")
4161 (description
4162 "Provides Arbitrary instances for fgl graphs to avoid adding a
4163QuickCheck dependency for fgl whilst still making the instances
4164available to others. Also available are non-fgl-specific functions
4165for generating graph-like data structures.")
4166 (license license:bsd-3)))
4167
4168(define-public ghc-file-embed
4169 (package
4170 (name "ghc-file-embed")
b5920d50 4171 (version "0.0.11")
dddbc90c
RV
4172 (source
4173 (origin
4174 (method url-fetch)
4175 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4176 "file-embed-" version ".tar.gz"))
4177 (sha256
4178 (base32
b5920d50 4179 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4180 (build-system haskell-build-system)
4181 (home-page "https://github.com/snoyberg/file-embed")
4182 (synopsis "Use Template Haskell to embed file contents directly")
4183 (description
4184 "This package allows you to use Template Haskell to read a file or all
4185the files in a directory, and turn them into @code{(path, bytestring)} pairs
4186embedded in your Haskell code.")
4187 (license license:bsd-3)))
4188
4189(define-public ghc-filemanip
4190 (package
4191 (name "ghc-filemanip")
4192 (version "0.3.6.3")
4193 (source (origin
4194 (method url-fetch)
4195 (uri (string-append "https://hackage.haskell.org/package/"
4196 "filemanip/filemanip-" version ".tar.gz"))
4197 (sha256
4198 (base32
4199 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4200 (build-system haskell-build-system)
4201 (inputs
4202 `(("ghc-unix-compat" ,ghc-unix-compat)))
4203 (home-page "https://github.com/bos/filemanip")
4204 (synopsis "File and directory manipulation for Haskell")
4205 (description
4206 "This package provides a Haskell library for working with files and
4207directories. It includes code for pattern matching, finding files, modifying
4208file contents, and more.")
4209 (license license:bsd-3)))
4210
bb62932a
KM
4211(define-public ghc-filepath-bytestring
4212 (package
4213 (name "ghc-filepath-bytestring")
4214 (version "1.4.2.1.1")
4215 (source
4216 (origin
4217 (method url-fetch)
4218 (uri (string-append
4219 "https://hackage.haskell.org/package/filepath-bytestring/"
4220 "filepath-bytestring-" version ".tar.gz"))
4221 (sha256
4222 (base32
4223 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4224 (build-system haskell-build-system)
4225 (native-inputs
4226 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4227 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4228 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4229 (description "This package provides a drop-in replacement for the standard
4230@code{filepath} library, operating on @code{RawFilePath} values rather than
4231@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4232 (license license:bsd-3)))
4233
dddbc90c
RV
4234(define-public ghc-findbin
4235 (package
4236 (name "ghc-findbin")
4237 (version "0.0.5")
4238 (source
4239 (origin
4240 (method url-fetch)
4241 (uri (string-append
4242 "https://hackage.haskell.org/package/FindBin/FindBin-"
4243 version ".tar.gz"))
4244 (sha256
4245 (base32
4246 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4247 (build-system haskell-build-system)
4248 (home-page "https://github.com/audreyt/findbin")
4249 (synopsis "Get the absolute path of the running program")
4250 (description
4251 "This module locates the full directory of the running program, to allow
4252the use of paths relative to it. FindBin supports invocation of Haskell
4253programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4254an executable.")
4255 (license license:bsd-3)))
4256
4257(define-public ghc-fingertree
4258 (package
4259 (name "ghc-fingertree")
aac14fdc 4260 (version "0.1.4.2")
dddbc90c
RV
4261 (source
4262 (origin
4263 (method url-fetch)
4264 (uri (string-append
4265 "https://hackage.haskell.org/package/fingertree/fingertree-"
4266 version ".tar.gz"))
4267 (sha256
4268 (base32
aac14fdc 4269 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4270 (build-system haskell-build-system)
4271 (native-inputs
4272 `(("ghc-hunit" ,ghc-hunit)
4273 ("ghc-quickcheck" ,ghc-quickcheck)
4274 ("ghc-test-framework" ,ghc-test-framework)
4275 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4276 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4277 (home-page "https://hackage.haskell.org/package/fingertree")
4278 (synopsis "Generic finger-tree structure")
4279 (description "This library provides finger trees, a general sequence
4280representation with arbitrary annotations, for use as a base for
4281implementations of various collection types. It includes examples, as
4282described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4283simple general-purpose data structure\".")
4284 (license license:bsd-3)))
4285
4286(define-public ghc-fixed
4287 (package
4288 (name "ghc-fixed")
099dda5b 4289 (version "0.3")
dddbc90c
RV
4290 (source
4291 (origin
4292 (method url-fetch)
4293 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4294 version ".tar.gz"))
4295 (sha256
4296 (base32
099dda5b 4297 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4298 (build-system haskell-build-system)
4299 (home-page "https://github.com/ekmett/fixed")
4300 (synopsis "Signed 15.16 precision fixed point arithmetic")
4301 (description
4302 "This package provides functions for signed 15.16 precision fixed point
4303arithmetic.")
4304 (license license:bsd-3)))
4305
f169f713
JS
4306(define-public ghc-fmlist
4307 (package
4308 (name "ghc-fmlist")
fe9b83a6 4309 (version "0.9.3")
f169f713
JS
4310 (source
4311 (origin
4312 (method url-fetch)
4313 (uri
4314 (string-append
4315 "https://hackage.haskell.org/package/fmlist/fmlist-"
4316 version ".tar.gz"))
4317 (sha256
4318 (base32
fe9b83a6 4319 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4320 (build-system haskell-build-system)
4321 (home-page "https://github.com/sjoerdvisscher/fmlist")
4322 (synopsis "FoldMap lists")
4323 (description "FoldMap lists are lists represented by their
4324@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4325append, just like DLists, but other operations might have favorable
4326performance characteristics as well. These wild claims are still
4327completely unverified though.")
4328 (license license:bsd-3)))
4329
dddbc90c
RV
4330(define-public ghc-foldl
4331 (package
4332 (name "ghc-foldl")
26c4104f 4333 (version "1.4.5")
dddbc90c
RV
4334 (source
4335 (origin
4336 (method url-fetch)
4337 (uri (string-append "https://hackage.haskell.org/package/"
4338 "foldl-" version "/"
4339 "foldl-" version ".tar.gz"))
4340 (sha256
4341 (base32
26c4104f 4342 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4343 (build-system haskell-build-system)
4344 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4345 ("ghc-primitive" ,ghc-primitive)
4346 ("ghc-vector" ,ghc-vector)
4347 ("ghc-unordered-containers" ,ghc-unordered-containers)
4348 ("ghc-hashable" ,ghc-hashable)
4349 ("ghc-contravariant" ,ghc-contravariant)
4350 ("ghc-semigroups" ,ghc-semigroups)
4351 ("ghc-profunctors" ,ghc-profunctors)
4352 ("ghc-semigroupoids" ,ghc-semigroupoids)
4353 ("ghc-comonad" ,ghc-comonad)
4354 ("ghc-vector-builder" ,ghc-vector-builder)))
4355 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4356 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4357 (description "This Haskell library provides strict left folds that stream
4358in constant memory, and you can combine folds using @code{Applicative} style
4359to derive new folds. Derived folds still traverse the container just once
4360and are often as efficient as hand-written folds.")
4361 (license license:bsd-3)))
4362
4363(define-public ghc-foundation
4364 (package
4365 (name "ghc-foundation")
0a702df9 4366 (version "0.0.25")
dddbc90c
RV
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append "https://hackage.haskell.org/package/"
4371 "foundation/foundation-" version ".tar.gz"))
4372 (sha256
4373 (base32
0a702df9 4374 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4375 (build-system haskell-build-system)
59cd7518
TS
4376 (arguments
4377 `(#:phases
4378 (modify-phases %standard-phases
4379 ;; This test is broken. For details, see
4380 ;; https://github.com/haskell-foundation/foundation/issues/530
4381 (add-after 'unpack 'patch-tests
4382 (lambda _
4383 (substitute* "tests/Test/Foundation/Number.hs"
4384 ((", testDividible proxy") ""))
4385 #t)))))
dddbc90c
RV
4386 (inputs `(("ghc-basement" ,ghc-basement)))
4387 (home-page "https://github.com/haskell-foundation/foundation")
4388 (synopsis "Alternative prelude with batteries and no dependencies")
4389 (description
4390 "This package provides a custom prelude with no dependencies apart from
4391the base package.
4392
4393Foundation has the following goals:
4394
4395@enumerate
4396@item provide a base like sets of modules that provide a consistent set of
4397 features and bugfixes across multiple versions of GHC (unlike base).
4398@item provide a better and more efficient prelude than base's prelude.
4399@item be self-sufficient: no external dependencies apart from base;
4400@item provide better data-types: packed unicode string by default, arrays;
4401@item Numerical classes that better represent mathematical things (no more
4402 all-in-one @code{Num});
4403@item I/O system with less lazy IO.
4404@end enumerate\n")
4405 (license license:bsd-3)))
4406
4407(define-public ghc-free
4408 (package
4409 (name "ghc-free")
4081565d 4410 (version "5.1.2")
dddbc90c
RV
4411 (source
4412 (origin
4413 (method url-fetch)
4414 (uri (string-append
4415 "https://hackage.haskell.org/package/free/free-"
4416 version
4417 ".tar.gz"))
4418 (sha256
4419 (base32
4081565d 4420 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4421 (build-system haskell-build-system)
4422 (inputs
4423 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4424 ("ghc-profunctors" ,ghc-profunctors)
4425 ("ghc-exceptions" ,ghc-exceptions)
4426 ("ghc-bifunctors" ,ghc-bifunctors)
4427 ("ghc-comonad" ,ghc-comonad)
4428 ("ghc-distributive" ,ghc-distributive)
4429 ("ghc-semigroupoids" ,ghc-semigroupoids)
4430 ("ghc-semigroups" ,ghc-semigroups)
4431 ("ghc-transformers-base" ,ghc-transformers-base)
4432 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4433 (home-page "https://github.com/ekmett/free/")
4434 (synopsis "Unrestricted monads for Haskell")
4435 (description "This library provides free monads, which are useful for many
4436tree-like structures and domain specific languages. If @code{f} is a
4437@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4438whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4439is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4440f} makes no constraining assumptions beyond those given by @code{f} and the
4441definition of @code{Monad}.")
4442 (license license:bsd-3)))
4443
4444(define-public ghc-fsnotify
4445 (package
4446 (name "ghc-fsnotify")
4447 (version "0.3.0.1")
4448 (source (origin
4449 (method url-fetch)
4450 (uri (string-append
4451 "https://hackage.haskell.org/package/fsnotify/"
4452 "fsnotify-" version ".tar.gz"))
4453 (sha256
4454 (base32
4455 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4456 (build-system haskell-build-system)
4457 (inputs
4458 `(("ghc-async" ,ghc-async)
4459 ("ghc-unix-compat" ,ghc-unix-compat)
4460 ("ghc-hinotify" ,ghc-hinotify)
4461 ("ghc-tasty" ,ghc-tasty)
4462 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4463 ("ghc-random" ,ghc-random)
4464 ("ghc-shelly" ,ghc-shelly)
4465 ("ghc-temporary" ,ghc-temporary)))
4466 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4467 (synopsis "Cross platform library for file change notification.")
4468 (description "Cross platform library for file creation, modification, and
4469deletion notification. This library builds upon existing libraries for platform
4470specific Windows, Mac, and Linux file system event notification.")
4471 (license license:bsd-3)))
4472
4473(define-public ghc-generic-deriving
4474 (package
4475 (name "ghc-generic-deriving")
55c1e6be 4476 (version "1.12.4")
dddbc90c
RV
4477 (source
4478 (origin
4479 (method url-fetch)
4480 (uri (string-append
4481 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4482 version
4483 ".tar.gz"))
4484 (sha256
4485 (base32
55c1e6be 4486 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4487 (build-system haskell-build-system)
4488 (inputs
4489 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4490 (native-inputs
4491 `(("ghc-hspec" ,ghc-hspec)
4492 ("hspec-discover" ,hspec-discover)))
4493 (home-page "https://hackage.haskell.org/package/generic-deriving")
4494 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4495 (description "This package provides functionality for generalising the
4496deriving mechanism in Haskell to arbitrary classes.")
4497 (license license:bsd-3)))
4498
89e9082e
JS
4499(define-public ghc-generic-random
4500 (package
4501 (name "ghc-generic-random")
4502 (version "1.2.0.0")
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append
4507 "https://hackage.haskell.org/package/generic-random/"
4508 "generic-random-" version ".tar.gz"))
4509 (sha256
4510 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4511 (build-system haskell-build-system)
4512 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4513 (native-inputs
4514 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4515 (arguments
4516 `(#:cabal-revision
4517 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4518 (home-page
4519 "https://github.com/lysxia/generic-random")
4520 (synopsis
4521 "Generic random generators for QuickCheck")
4522 (description
4523 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4524to customize implementations.
4525
4526Automating the arbitrary boilerplate also ensures that when a type changes to
4527have more or fewer constructors, then the generator either fixes itself to
4528generate that new case (when using the uniform distribution) or causes a
4529compilation error so you remember to fix it (when using an explicit
4530distribution).
4531
4532This package also offers a simple (optional) strategy to ensure termination
4533for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4534at every recursive call; when it reaches zero, sample directly from a
4535trivially terminating generator given explicitly (@code{genericArbitraryRec}
4536and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4537 (license license:expat)))
4538
23e4b264
JS
4539(define-public ghc-generic-random-1.3.0.1
4540 (package
4541 (inherit ghc-generic-random)
4542 (version "1.3.0.1")
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "https://hackage.haskell.org/package/generic-random/"
4548 "generic-random-" version ".tar.gz"))
4549 (sha256
4550 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4551 (arguments '())))
4552
dddbc90c
RV
4553(define-public ghc-generics-sop
4554 (package
4555 (name "ghc-generics-sop")
3ed40e10 4556 (version "0.4.0.1")
dddbc90c
RV
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append "https://hackage.haskell.org/package/"
4561 "generics-sop-" version "/"
4562 "generics-sop-" version ".tar.gz"))
4563 (sha256
4564 (base32
3ed40e10 4565 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4566 (build-system haskell-build-system)
3ed40e10
TS
4567 (inputs
4568 `(("ghc-sop-core" ,ghc-sop-core)
4569 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4570 (home-page "https://github.com/well-typed/generics-sop")
4571 (synopsis "Generic Programming using True Sums of Products for Haskell")
4572 (description "This Haskell package supports the definition of generic
4573functions. Datatypes are viewed in a uniform, structured way: the choice
4574between constructors is represented using an n-ary sum, and the arguments of
4575each constructor are represented using an n-ary product.")
4576 (license license:bsd-3)))
4577
4578(define-public ghc-geniplate-mirror
4579 (package
4580 (name "ghc-geniplate-mirror")
4581 (version "0.7.6")
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append "https://hackage.haskell.org/package"
4586 "/geniplate-mirror"
4587 "/geniplate-mirror-" version ".tar.gz"))
4588 (sha256
4589 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4590 (build-system haskell-build-system)
74a7dd7f
TS
4591 (arguments
4592 `(#:cabal-revision
4593 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4594 (home-page "https://github.com/danr/geniplate")
4595 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4596 (description
4597 "Use Template Haskell to generate Uniplate-like functions. This is a
4598maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4599geniplate} package, written by Lennart Augustsson.")
4600 (license license:bsd-3)))
4601
4602(define-public ghc-genvalidity
4603 (package
4604 (name "ghc-genvalidity")
920f44a1 4605 (version "0.8.0.0")
dddbc90c
RV
4606 (source
4607 (origin
4608 (method url-fetch)
4609 (uri (string-append
4610 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4611 version
4612 ".tar.gz"))
4613 (sha256
4614 (base32
920f44a1 4615 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4616 (build-system haskell-build-system)
4617 (inputs
4618 `(("ghc-quickcheck" ,ghc-quickcheck)
4619 ("ghc-validity" ,ghc-validity)))
4620 (native-inputs
4621 `(("ghc-hspec" ,ghc-hspec)
4622 ("hspec-discover" ,hspec-discover)
4623 ("ghc-hspec-core" ,ghc-hspec-core)))
4624 (home-page
4625 "https://github.com/NorfairKing/validity")
4626 (synopsis
4627 "Testing utilities for the @code{validity} library")
4628 (description
4629 "This package provides testing utilities that are useful in conjunction
4630with the @code{Validity} typeclass.")
4631 (license license:expat)))
4632
4633(define-public ghc-genvalidity-property
4634 (package
4635 (name "ghc-genvalidity-property")
e4ede35b 4636 (version "0.4.0.0")
dddbc90c
RV
4637 (source
4638 (origin
4639 (method url-fetch)
4640 (uri (string-append
4641 "https://hackage.haskell.org/package/"
4642 "genvalidity-property/genvalidity-property-"
4643 version
4644 ".tar.gz"))
4645 (sha256
4646 (base32
e4ede35b 4647 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4648 (build-system haskell-build-system)
4649 (inputs
4650 `(("ghc-quickcheck" ,ghc-quickcheck)
4651 ("ghc-genvalidity" ,ghc-genvalidity)
4652 ("ghc-hspec" ,ghc-hspec)
4653 ("hspec-discover" ,hspec-discover)
4654 ("ghc-validity" ,ghc-validity)))
4655 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4656 (home-page
4657 "https://github.com/NorfairKing/validity")
4658 (synopsis
4659 "Standard properties for functions on @code{Validity} types")
4660 (description
4661 "This package supplements the @code{Validity} typeclass with standard
4662properties for functions operating on them.")
4663 (license license:expat)))
4664
e71fb573
TS
4665(define-public ghc-getopt-generics
4666 (package
4667 (name "ghc-getopt-generics")
4668 (version "0.13.0.4")
4669 (source
4670 (origin
4671 (method url-fetch)
4672 (uri (string-append "https://hackage.haskell.org/package/"
4673 "getopt-generics/getopt-generics-"
4674 version ".tar.gz"))
4675 (sha256
4676 (base32
4677 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4678 (build-system haskell-build-system)
4679 (inputs
4680 `(("ghc-base-compat" ,ghc-base-compat)
4681 ("ghc-base-orphans" ,ghc-base-orphans)
4682 ("ghc-generics-sop" ,ghc-generics-sop)
4683 ("ghc-tagged" ,ghc-tagged)))
4684 (native-inputs
4685 `(("ghc-quickcheck" ,ghc-quickcheck)
4686 ("ghc-hspec" ,ghc-hspec)
4687 ("ghc-safe" ,ghc-safe)
4688 ("ghc-silently" ,ghc-silently)
4689 ("hspec-discover" ,hspec-discover)))
4690 (home-page "https://github.com/soenkehahn/getopt-generics")
4691 (synopsis "Create command line interfaces with ease")
4692 (description "This library provides tools to create command line
4693interfaces with ease.")
4694 (license license:bsd-3)))
4695
dddbc90c
RV
4696(define-public ghc-gitrev
4697 (package
4698 (name "ghc-gitrev")
4699 (version "1.3.1")
4700 (source
4701 (origin
4702 (method url-fetch)
4703 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4704 version ".tar.gz"))
4705 (sha256
4706 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4707 (build-system haskell-build-system)
4708 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4709 (home-page "https://github.com/acfoltzer/gitrev")
4710 (synopsis "Compile git revision info into Haskell projects")
4711 (description
4712 "This package provides some handy Template Haskell splices for including
4713the current git hash and branch in the code of your project. This is useful
4714for including in panic messages, @command{--version} output, or diagnostic
4715info for more informative bug reports.")
4716 (license license:bsd-3)))
4717
4718(define-public ghc-glob
4719 (package
4720 (name "ghc-glob")
b900f486 4721 (version "0.10.0")
dddbc90c
RV
4722 (source
4723 (origin
4724 (method url-fetch)
4725 (uri (string-append "https://hackage.haskell.org/package/"
4726 "Glob-" version "/"
4727 "Glob-" version ".tar.gz"))
4728 (sha256
4729 (base32
b900f486 4730 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4731 (build-system haskell-build-system)
4732 (inputs
4733 `(("ghc-dlist" ,ghc-dlist)
4734 ("ghc-semigroups" ,ghc-semigroups)
4735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4736 (native-inputs
4737 `(("ghc-hunit" ,ghc-hunit)
4738 ("ghc-quickcheck" ,ghc-quickcheck)
4739 ("ghc-test-framework" ,ghc-test-framework)
4740 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4741 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4742 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4743 (synopsis "Haskell library matching glob patterns against file paths")
4744 (description "This package provides a Haskell library for @dfn{globbing}:
4745matching patterns against file paths.")
4746 (license license:bsd-3)))
4747
4748(define-public ghc-gluraw
4749 (package
4750 (name "ghc-gluraw")
4751 (version "2.0.0.4")
4752 (source
4753 (origin
4754 (method url-fetch)
4755 (uri (string-append
4756 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4757 version
4758 ".tar.gz"))
4759 (sha256
4760 (base32
4761 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4762 (build-system haskell-build-system)
4763 (inputs
4764 `(("ghc-openglraw" ,ghc-openglraw)))
4765 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4766 (synopsis "Raw Haskell bindings GLU")
4767 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4768utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4769basis for a nicer interface.")
4770 (license license:bsd-3)))
4771
4772(define-public ghc-glut
4773 (package
4774 (name "ghc-glut")
8284bd09 4775 (version "2.7.0.15")
dddbc90c
RV
4776 (source
4777 (origin
4778 (method url-fetch)
4779 (uri (string-append
4780 "https://hackage.haskell.org/package/GLUT/GLUT-"
4781 version
4782 ".tar.gz"))
4783 (sha256
4784 (base32
8284bd09 4785 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4786 (build-system haskell-build-system)
4787 (inputs
4788 `(("ghc-statevar" ,ghc-statevar)
4789 ("ghc-opengl" ,ghc-opengl)
4790 ("ghc-openglraw" ,ghc-openglraw)
4791 ("freeglut" ,freeglut)))
4792 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4793 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4794 (description "This library provides Haskell bindings for the OpenGL
4795Utility Toolkit, a window system-independent toolkit for writing OpenGL
4796programs.")
4797 (license license:bsd-3)))
4798
4799(define-public ghc-gnuplot
4800 (package
4801 (name "ghc-gnuplot")
d34860c7 4802 (version "0.5.6")
dddbc90c
RV
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append
4807 "mirror://hackage/package/gnuplot/gnuplot-"
4808 version ".tar.gz"))
4809 (sha256
d34860c7 4810 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4811 (build-system haskell-build-system)
4812 (inputs
4813 `(("ghc-temporary" ,ghc-temporary)
4814 ("ghc-utility-ht" ,ghc-utility-ht)
4815 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4816 ("ghc-data-accessor" ,ghc-data-accessor)
4817 ("ghc-semigroups" ,ghc-semigroups)
4818 ("gnuplot" ,gnuplot)))
4819 (arguments
4820 `(#:phases
4821 (modify-phases %standard-phases
4822 (add-before 'configure 'fix-path-to-gnuplot
4823 (lambda* (#:key inputs #:allow-other-keys)
4824 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4825 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4826 (("(gnuplotName = ).*$" all cmd)
4827 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4828 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4829 (synopsis "2D and 3D plots using gnuplot")
4830 (description "This package provides a Haskell module for creating 2D and
48313D plots using gnuplot.")
4832 (license license:bsd-3)))
4833
4834(define-public ghc-graphviz
4835 (package
4836 (name "ghc-graphviz")
c264bd42 4837 (version "2999.20.0.3")
dddbc90c
RV
4838 (source (origin
4839 (method url-fetch)
4840 (uri (string-append "https://hackage.haskell.org/package/"
4841 "graphviz/graphviz-" version ".tar.gz"))
4842 (sha256
4843 (base32
c264bd42 4844 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4845 (build-system haskell-build-system)
c264bd42
TS
4846 (arguments
4847 `(#:phases
4848 (modify-phases %standard-phases
4849 (add-before 'configure 'update-constraints
4850 (lambda _
4851 (substitute* "graphviz.cabal"
4852 (("QuickCheck >= 2\\.3 && < 2\\.13")
4853 "QuickCheck >= 2.3 && < 2.14")
4854 (("hspec >= 2\\.1 && < 2\\.7")
4855 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4856 (inputs
4857 `(("ghc-quickcheck" ,ghc-quickcheck)
4858 ("ghc-colour" ,ghc-colour)
4859 ("ghc-dlist" ,ghc-dlist)
4860 ("ghc-fgl" ,ghc-fgl)
4861 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4862 ("ghc-polyparse" ,ghc-polyparse)
4863 ("ghc-temporary" ,ghc-temporary)
4864 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4865 (native-inputs
4866 `(("ghc-hspec" ,ghc-hspec)
4867 ("graphviz" ,graphviz)
4868 ("hspec-discover" ,hspec-discover)))
4869 (home-page "https://hackage.haskell.org/package/graphviz")
4870 (synopsis "Bindings to Graphviz for graph visualisation")
4871 (description
4872 "This library provides bindings for the Dot language used by
4873the @uref{https://graphviz.org/, Graphviz} suite of programs for
4874visualising graphs, as well as functions to call those programs.
4875Main features of the graphviz library include:
4876
4877@enumerate
4878@item Almost complete coverage of all Graphviz attributes and syntax
4879@item Support for specifying clusters
4880@item The ability to use a custom node type
4881@item Functions for running a Graphviz layout tool with all specified output types
4882@item Generate and parse Dot code with two options: strict and liberal
4883@item Functions to convert FGL graphs and other graph-like data structures
4884@item Round-trip support for passing an FGL graph through Graphviz to augment node
4885and edge labels with positional information, etc.
4886@end enumerate\n")
4887 (license license:bsd-3)))
4888
f3e18645
TS
4889(define-public ghc-groups
4890 (package
4891 (name "ghc-groups")
4892 (version "0.4.1.0")
4893 (source
4894 (origin
4895 (method url-fetch)
4896 (uri (string-append "https://hackage.haskell.org/package/"
4897 "groups/groups-" version ".tar.gz"))
4898 (sha256
4899 (base32
4900 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4901 (build-system haskell-build-system)
4902 (home-page "https://hackage.haskell.org/package/groups")
4903 (synopsis "Haskell 98 groups")
4904 (description "This package provides Haskell 98 groups. A group is a
4905monoid with invertibility.")
4906 (license license:bsd-3)))
4907
dddbc90c
RV
4908(define-public ghc-gtk2hs-buildtools
4909 (package
4910 (name "ghc-gtk2hs-buildtools")
b79b43d4 4911 (version "0.13.5.4")
dddbc90c
RV
4912 (source
4913 (origin
4914 (method url-fetch)
4915 (uri (string-append "https://hackage.haskell.org/package/"
4916 "gtk2hs-buildtools/gtk2hs-buildtools-"
4917 version ".tar.gz"))
4918 (sha256
4919 (base32
b79b43d4 4920 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4921 (build-system haskell-build-system)
4922 (inputs
4923 `(("ghc-random" ,ghc-random)
4924 ("ghc-hashtables" ,ghc-hashtables)))
4925 (native-inputs
4926 `(("ghc-alex" ,ghc-alex)
4927 ("ghc-happy" ,ghc-happy)))
4928 (home-page "http://projects.haskell.org/gtk2hs/")
4929 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4930 (description
4931 "This package provides a set of helper programs necessary to build the
4932Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4933that is used to generate FFI declarations, a tool to build a type hierarchy
4934that mirrors the C type hierarchy of GObjects found in glib, and a generator
4935for signal declarations that are used to call back from C to Haskell. These
4936tools are not needed to actually run Gtk2Hs programs.")
4937 (license license:gpl2)))
4938
4939(define-public ghc-hackage-security
4940 (package
4941 (name "ghc-hackage-security")
4942 (version "0.5.3.0")
4943 (source
4944 (origin
4945 (method url-fetch)
4946 (uri (string-append "https://hackage.haskell.org/package/"
4947 "hackage-security/hackage-security-"
4948 version ".tar.gz"))
4949 (sha256
4950 (base32
4951 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4952 (build-system haskell-build-system)
4953 (arguments
034380f3
TS
4954 `(#:cabal-revision
4955 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4956 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4957 (inputs
4958 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4959 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4960 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4961 ("ghc-ed25519" ,ghc-ed25519)
4962 ("ghc-network" ,ghc-network)
4963 ("ghc-network-uri" ,ghc-network-uri)
4964 ("ghc-tar" ,ghc-tar)
4965 ("ghc-zlib" ,ghc-zlib)))
4966 (native-inputs
4967 `(("ghc-network-uri" ,ghc-network-uri)
4968 ("ghc-quickcheck" ,ghc-quickcheck)
4969 ("ghc-tar" ,ghc-tar)
4970 ("ghc-tasty" ,ghc-tasty)
4971 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4972 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4973 ("ghc-temporary" ,ghc-temporary)
4974 ("ghc-zlib" ,ghc-zlib)))
4975 (home-page "https://github.com/haskell/hackage-security")
4976 (synopsis "Hackage security library")
4977 (description "This Hackage security library provides both server and
4978client utilities for securing @uref{http://hackage.haskell.org/, the
4979Hackage package server}. It is based on
4980@uref{http://theupdateframework.com/, The Update Framework}, a set of
4981recommendations developed by security researchers at various universities
4982in the US as well as developers on the @uref{https://www.torproject.org/,
4983Tor project}.")
4984 (license license:bsd-3)))
4985
4986(define-public ghc-haddock
4987 (package
4988 (name "ghc-haddock")
b0d34d23 4989 (version "2.22.0")
dddbc90c
RV
4990 (source
4991 (origin
4992 (method url-fetch)
4993 (uri (string-append
4994 "https://hackage.haskell.org/package/haddock/haddock-"
4995 version
4996 ".tar.gz"))
4997 (sha256
4998 (base32
b0d34d23 4999 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
5000 (build-system haskell-build-system)
5001 (arguments
5002 `(#:phases
5003 (modify-phases %standard-phases
b0d34d23
TS
5004 ;; The release tarball for 2.22.0 is missing the test data for
5005 ;; the Hoogle test, causing it to fail. This is fixed in the
5006 ;; next release, but for now we disable it.
5007 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5008 (lambda _
5009 (use-modules (ice-9 rdelim))
5010 (with-atomic-file-replacement "haddock.cabal"
5011 (lambda (in out)
5012 (let loop ((line (read-line in 'concat)) (deleting? #f))
5013 (cond
5014 ((eof-object? line) #t)
5015 ((string-every char-set:whitespace line)
5016 (unless deleting? (display line out))
5017 (loop (read-line in 'concat) #f))
b0d34d23 5018 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5019 (loop (read-line in 'concat) #t))
5020 (else
5021 (unless deleting? (display line out))
b0d34d23
TS
5022 (loop (read-line in 'concat) deleting?))))))))
5023 (add-before 'check 'add-haddock-to-path
5024 (lambda _
5025 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5026 ":" (getenv "PATH")))
5027 #t)))))
dddbc90c
RV
5028 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5029 (native-inputs
b0d34d23
TS
5030 `(("ghc-haddock-test" ,ghc-haddock-test)
5031 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5032 (home-page "https://www.haskell.org/haddock/")
5033 (synopsis
5034 "Documentation-generation tool for Haskell libraries")
5035 (description
5036 "Haddock is a documentation-generation tool for Haskell libraries.")
5037 (license license:bsd-3)))
5038
5039(define-public ghc-haddock-api
5040 (package
5041 (name "ghc-haddock-api")
1b84d8ef 5042 (version "2.22.0")
dddbc90c
RV
5043 (source
5044 (origin
5045 (method url-fetch)
5046 (uri (string-append
5047 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5048 version
5049 ".tar.gz"))
1b84d8ef 5050 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5051 (sha256
5052 (base32
1b84d8ef 5053 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5054 (build-system haskell-build-system)
5055 (arguments
5056 `(#:phases
5057 (modify-phases %standard-phases
5058 (add-before 'configure 'update-constraints
5059 (lambda _
5060 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5061 (("QuickCheck \\^>= 2\\.11")
5062 "QuickCheck ^>= 2.13")
5063 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5064 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5065 (inputs
5066 `(("ghc-paths" ,ghc-paths)
5067 ("ghc-haddock-library" ,ghc-haddock-library)))
5068 (native-inputs
5069 `(("ghc-quickcheck" ,ghc-quickcheck)
5070 ("ghc-hspec" ,ghc-hspec)
5071 ("hspec-discover" ,hspec-discover)))
5072 (home-page "https://www.haskell.org/haddock/")
5073 (synopsis "API for documentation-generation tool Haddock")
5074 (description "This package provides an API to Haddock, the
5075documentation-generation tool for Haskell libraries.")
5076 (license license:bsd-3)))
5077
5078(define-public ghc-haddock-library
5079 (package
5080 (name "ghc-haddock-library")
10707d57 5081 (version "1.7.0")
dddbc90c
RV
5082 (source
5083 (origin
5084 (method url-fetch)
5085 (uri (string-append
5086 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5087 version
5088 ".tar.gz"))
5089 (sha256
5090 (base32
10707d57 5091 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5092 (build-system haskell-build-system)
5093 (arguments
5094 `(#:phases
5095 (modify-phases %standard-phases
10707d57
TS
5096 ;; Since there is no revised Cabal file upstream, we have to
5097 ;; patch it manually.
dddbc90c
RV
5098 (add-before 'configure 'relax-test-suite-dependencies
5099 (lambda _
5100 (substitute* "haddock-library.cabal"
10707d57
TS
5101 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5102 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5103 #t)))))
5104 (native-inputs
5105 `(("ghc-base-compat" ,ghc-base-compat)
5106 ("ghc-hspec" ,ghc-hspec)
5107 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5108 ("ghc-quickcheck" ,ghc-quickcheck)
5109 ("ghc-tree-diff" ,ghc-tree-diff)
5110 ("hspec-discover" ,hspec-discover)))
5111 (home-page "https://www.haskell.org/haddock/")
5112 (synopsis "Library exposing some functionality of Haddock")
5113 (description
5114 "Haddock is a documentation-generation tool for Haskell libraries. These
5115modules expose some functionality of it without pulling in the GHC dependency.
5116Please note that the API is likely to change so specify upper bounds in your
5117project if you can't release often. For interacting with Haddock itself, see
5118the ‘haddock’ package.")
5119 (license license:bsd-3)))
5120
b0d34d23
TS
5121;; This package is needed for testing 'ghc-haddock'. It is no longer
5122;; published to Hackage, but it is maintained in the Haddock Git
5123;; repository.
5124(define ghc-haddock-test
5125 (package
5126 (name "ghc-haddock-test")
5127 (version "2.22.0")
5128 (source
5129 (origin
5130 (method git-fetch)
5131 (uri (git-reference
b0e7b699 5132 (url "https://github.com/haskell/haddock")
b0d34d23
TS
5133 (commit (string-append "haddock-" version "-release"))))
5134 (file-name (git-file-name name version))
5135 (sha256
5136 (base32
5137 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5138 (build-system haskell-build-system)
5139 (arguments
5140 `(#:phases
5141 (modify-phases %standard-phases
5142 (add-after 'unpack 'change-directory
5143 (lambda _
5144 (chdir "haddock-test"))))))
5145 (inputs
5146 `(("ghc-syb" ,ghc-syb)
5147 ("ghc-xml" ,ghc-xml)))
5148 (home-page "http://www.haskell.org/haddock/")
5149 (synopsis "Test utilities for Haddock")
5150 (description "This package provides test utilities for Haddock.")
5151 (license license:bsd-3)
5152 (properties '((hidden? #t)))))
5153
dddbc90c
RV
5154(define-public ghc-half
5155 (package
5156 (name "ghc-half")
5157 (version "0.3")
5158 (source
5159 (origin
5160 (method url-fetch)
5161 (uri (string-append
5162 "https://hackage.haskell.org/package/half/half-"
5163 version ".tar.gz"))
5164 (sha256
5165 (base32
5166 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5167 (build-system haskell-build-system)
5168 (native-inputs
5169 `(("ghc-hspec" ,ghc-hspec)
5170 ("ghc-quickcheck" ,ghc-quickcheck)))
5171 (home-page "https://github.com/ekmett/half")
5172 (synopsis "Half-precision floating-point computations")
5173 (description "This library provides a half-precision floating-point
5174computation library for Haskell.")
5175 (license license:bsd-3)))
5176
5177(define-public ghc-happy
5178 (package
5179 (name "ghc-happy")
90e7b0e4 5180 (version "1.19.12")
dddbc90c
RV
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append
5185 "https://hackage.haskell.org/package/happy/happy-"
5186 version
5187 ".tar.gz"))
5188 (sha256
5189 (base32
90e7b0e4 5190 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5191 (build-system haskell-build-system)
5192 (arguments
5193 `(#:phases
5194 (modify-phases %standard-phases
5195 (add-after 'unpack 'skip-test-issue93
5196 (lambda _
5197 ;; Tests run out of memory on a system with 2GB of available RAM,
5198 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5199 (substitute* "tests/Makefile"
5200 ((" issue93.y ") " "))
5201 #t)))))
5202 (home-page "https://hackage.haskell.org/package/happy")
5203 (synopsis "Parser generator for Haskell")
5204 (description "Happy is a parser generator for Haskell. Given a grammar
5205specification in BNF, Happy generates Haskell code to parse the grammar.
5206Happy works in a similar way to the yacc tool for C.")
5207 (license license:bsd-3)))
5208
5209(define-public ghc-hashable
5210 (package
5211 (name "ghc-hashable")
5212 (version "1.2.7.0")
5213 (outputs '("out" "doc"))
5214 (source
5215 (origin
5216 (method url-fetch)
5217 (uri (string-append
5218 "https://hackage.haskell.org/package/hashable/hashable-"
5219 version
5220 ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5224 (build-system haskell-build-system)
65a16a45
TS
5225 (arguments
5226 `(#:cabal-revision
5227 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5228 (inputs
5229 `(("ghc-random" ,ghc-random)))
5230 (native-inputs
5231 `(("ghc-test-framework" ,ghc-test-framework)
5232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5233 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5234 ("ghc-hunit" ,ghc-hunit)
5235 ("ghc-quickcheck" ,ghc-quickcheck)))
5236 (home-page "https://github.com/tibbe/hashable")
5237 (synopsis "Class for types that can be converted to a hash value")
5238 (description
5239 "This package defines a class, @code{Hashable}, for types that can be
5240converted to a hash value. This class exists for the benefit of hashing-based
5241data structures. The package provides instances for basic types and a way to
5242combine hash values.")
5243 (license license:bsd-3)))
5244
5245(define-public ghc-hashable-bootstrap
5246 (package
5247 (inherit ghc-hashable)
5248 (name "ghc-hashable-bootstrap")
65a16a45
TS
5249 (arguments
5250 `(#:tests? #f
5251 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5252 (native-inputs '())
5253 (properties '((hidden? #t)))))
5254
5255(define-public ghc-hashable-time
5256 (package
5257 (name "ghc-hashable-time")
f5051e31 5258 (version "0.2.0.2")
dddbc90c
RV
5259 (source
5260 (origin
5261 (method url-fetch)
5262 (uri (string-append
5263 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5264 version
5265 ".tar.gz"))
5266 (sha256
5267 (base32
f5051e31 5268 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5269 (build-system haskell-build-system)
5270 (arguments
5271 `(#:cabal-revision
f5051e31 5272 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5273 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5274 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5275 (synopsis "Hashable instances for Data.Time")
5276 (description
5277 "This package provides @code{Hashable} instances for types in
5278@code{Data.Time}.")
5279 (license license:bsd-3)))
5280
5281(define-public ghc-hashtables
5282 (package
5283 (name "ghc-hashtables")
19edf0d0 5284 (version "1.2.3.4")
dddbc90c
RV
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append
5289 "https://hackage.haskell.org/package/hashtables/hashtables-"
5290 version ".tar.gz"))
5291 (sha256
19edf0d0 5292 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5293 (build-system haskell-build-system)
5294 (inputs
5295 `(("ghc-hashable" ,ghc-hashable)
5296 ("ghc-primitive" ,ghc-primitive)
5297 ("ghc-vector" ,ghc-vector)))
5298 (home-page "https://github.com/gregorycollins/hashtables")
5299 (synopsis "Haskell Mutable hash tables in the ST monad")
5300 (description "This package provides a Haskell library including a
5301couple of different implementations of mutable hash tables in the ST
5302monad, as well as a typeclass abstracting their common operations, and
5303a set of wrappers to use the hash tables in the IO monad.")
5304 (license license:bsd-3)))
5305
dd26713e
JS
5306(define-public ghc-haskeline-0.8
5307 (package
5308 (name "ghc-haskeline")
5309 (version "0.8.0.0")
5310 (source
5311 (origin
5312 (method url-fetch)
5313 (uri (string-append
5314 "https://hackage.haskell.org/package/haskeline/haskeline-"
5315 version
5316 ".tar.gz"))
5317 (sha256
5318 (base32
5319 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5320 (build-system haskell-build-system)
5321 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5322 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5323 ;; FIXME: Tests failing
5324 (arguments `(#:tests? #f))
5325 (home-page "https://github.com/judah/haskeline")
5326 (synopsis
5327 "Command-line interface for user input, written in Haskell")
5328 (description
5329 "Haskeline provides a user interface for line input in command-line
5330programs. This library is similar in purpose to readline, but since it is
5331written in Haskell it is (hopefully) more easily used in other Haskell
5332programs.
5333
5334Haskeline runs both on POSIX-compatible systems and on Windows.")
5335 (license license:bsd-3)))
5336
dddbc90c
RV
5337(define-public ghc-haskell-lexer
5338 (package
5339 (name "ghc-haskell-lexer")
5340 (version "1.0.2")
5341 (source
5342 (origin
5343 (method url-fetch)
5344 (uri (string-append
5345 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5346 version ".tar.gz"))
5347 (sha256
5348 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5349 (build-system haskell-build-system)
3ef91e15 5350 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5351 (synopsis "Fully compliant Haskell 98 lexer")
5352 (description
5353 "This package provides a fully compliant Haskell 98 lexer.")
5354 (license license:bsd-3)))
5355
5356(define-public ghc-haskell-src
5357 (package
5358 (name "ghc-haskell-src")
5359 (version "1.0.3.0")
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append
5364 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5365 version
5366 ".tar.gz"))
5367 (sha256
5368 (base32
5369 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5370 (build-system haskell-build-system)
5371 (inputs
5372 `(("ghc-happy" ,ghc-happy)
5373 ("ghc-syb" ,ghc-syb)))
5374 (home-page
5375 "https://hackage.haskell.org/package/haskell-src")
5376 (synopsis
5377 "Support for manipulating Haskell source code")
5378 (description
5379 "The @code{haskell-src} package provides support for manipulating Haskell
5380source code. The package provides a lexer, parser and pretty-printer, and a
5381definition of a Haskell abstract syntax tree (AST). Common uses of this
5382package are to parse or generate Haskell 98 code.")
5383 (license license:bsd-3)))
5384
5385(define-public ghc-haskell-src-exts
5386 (package
5387 (name "ghc-haskell-src-exts")
37a05591 5388 (version "1.21.1")
dddbc90c
RV
5389 (source
5390 (origin
5391 (method url-fetch)
5392 (uri (string-append
5393 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5394 version
5395 ".tar.gz"))
5396 (sha256
5397 (base32
37a05591 5398 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5399 (build-system haskell-build-system)
5400 (inputs
5401 `(("cpphs" ,cpphs)
5402 ("ghc-happy" ,ghc-happy)
5403 ("ghc-pretty-show" ,ghc-pretty-show)))
5404 (native-inputs
5405 `(("ghc-smallcheck" ,ghc-smallcheck)
5406 ("ghc-tasty" ,ghc-tasty)
5407 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5408 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5409 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5410 (synopsis "Library for manipulating Haskell source")
5411 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5412extension of the standard @code{haskell-src} package, and handles most
5413registered syntactic extensions to Haskell. All extensions implemented in GHC
5414are supported. Apart from these standard extensions, it also handles regular
5415patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5416 (license license:bsd-3)))
5417
5418(define-public ghc-haskell-src-exts-util
5419 (package
5420 (name "ghc-haskell-src-exts-util")
77355bdf 5421 (version "0.2.5")
dddbc90c
RV
5422 (source
5423 (origin
5424 (method url-fetch)
5425 (uri (string-append "https://hackage.haskell.org/package/"
5426 "haskell-src-exts-util/haskell-src-exts-util-"
5427 version ".tar.gz"))
5428 (sha256
5429 (base32
77355bdf 5430 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5431 (build-system haskell-build-system)
5432 (inputs
5433 `(("ghc-data-default" ,ghc-data-default)
5434 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5435 ("ghc-semigroups" ,ghc-semigroups)
5436 ("ghc-uniplate" ,ghc-uniplate)))
5437 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5438 (synopsis "Helper functions for working with haskell-src-exts trees")
5439 (description
5440 "This package provides helper functions for working with
5441@code{haskell-src-exts} trees.")
5442 (license license:bsd-3)))
5443
5444(define-public ghc-haskell-src-meta
5445 (package
5446 (name "ghc-haskell-src-meta")
e94b3c72 5447 (version "0.8.3")
dddbc90c
RV
5448 (source (origin
5449 (method url-fetch)
5450 (uri (string-append "https://hackage.haskell.org/package/"
5451 "haskell-src-meta/haskell-src-meta-"
5452 version ".tar.gz"))
5453 (sha256
5454 (base32
e94b3c72 5455 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5456 (build-system haskell-build-system)
5457 (inputs
5458 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5459 ("ghc-syb" ,ghc-syb)
5460 ("ghc-th-orphans" ,ghc-th-orphans)))
5461 (native-inputs
5462 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5463 ("ghc-tasty" ,ghc-tasty)
5464 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5465 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5466 (synopsis "Parse source to template-haskell abstract syntax")
5467 (description
5468 "This package provides tools to parse Haskell sources to the
5469template-haskell abstract syntax.")
5470 (license license:bsd-3)))
5471
5472(define-public ghc-hasktags
5473 (package
5474 (name "ghc-hasktags")
5475 (version "0.71.2")
5476 (source
5477 (origin
5478 (method url-fetch)
5479 (uri (string-append
5480 "https://hackage.haskell.org/package/hasktags/hasktags-"
5481 version
5482 ".tar.gz"))
5483 (sha256
5484 (base32
5485 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5486 (build-system haskell-build-system)
5487 (inputs
5488 `(("ghc-system-filepath" ,ghc-system-filepath)
5489 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5490 (native-inputs
5491 `(("ghc-json" ,ghc-json)
5492 ("ghc-utf8-string" ,ghc-utf8-string)
5493 ("ghc-microlens-platform" ,ghc-microlens-platform)
5494 ("ghc-hunit" ,ghc-hunit)))
5495 (home-page "http://github.com/MarcWeber/hasktags")
5496 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5497 (description
5498 "This package provides a means of generating tag files for Emacs and
5499Vim.")
5500 (license license:bsd-3)))
5501
5502(define-public ghc-hex
5503 (package
5504 (name "ghc-hex")
5505 (version "0.1.2")
5506 (source
5507 (origin
5508 (method url-fetch)
5509 (uri (string-append "https://hackage.haskell.org/package/"
5510 "hex-" version "/"
5511 "hex-" version ".tar.gz"))
5512 (sha256
5513 (base32
5514 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5515 (build-system haskell-build-system)
5516 (home-page "https://hackage.haskell.org/package/hex")
5517 (synopsis "Convert strings into hexadecimal and back")
5518 (description "This package provides conversion functions between
5519bytestrings and their hexademical representation.")
5520 (license license:bsd-3)))
5521
5522(define-public ghc-highlighting-kate
5523 (package
5524 (name "ghc-highlighting-kate")
5525 (version "0.6.4")
5526 (source (origin
5527 (method url-fetch)
5528 (uri (string-append "https://hackage.haskell.org/package/"
5529 "highlighting-kate/highlighting-kate-"
5530 version ".tar.gz"))
5531 (sha256
5532 (base32
5533 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5534 (build-system haskell-build-system)
5535 (inputs
5536 `(("ghc-diff" ,ghc-diff)
5537 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5538 (native-inputs
5539 `(("ghc-blaze-html" ,ghc-blaze-html)
5540 ("ghc-utf8-string" ,ghc-utf8-string)))
5541 (home-page "https://github.com/jgm/highlighting-kate")
5542 (synopsis "Syntax highlighting library")
5543 (description
5544 "Highlighting-kate is a syntax highlighting library with support for
5545nearly one hundred languages. The syntax parsers are automatically generated
5546from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5547supported by Kate can be added. An (optional) command-line program is
5548provided, along with a utility for generating new parsers from Kate XML syntax
5549descriptions.")
5550 (license license:gpl2+)))
5551
5552(define-public ghc-hindent
5553 (package
5554 (name "ghc-hindent")
f545f894 5555 (version "5.3.1")
dddbc90c
RV
5556 (source
5557 (origin
5558 (method url-fetch)
5559 (uri (string-append
5560 "https://hackage.haskell.org/package/hindent/hindent-"
5561 version
5562 ".tar.gz"))
5563 (sha256
5564 (base32
f545f894 5565 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5566 (build-system haskell-build-system)
5567 (arguments
5568 `(#:modules ((guix build haskell-build-system)
5569 (guix build utils)
5570 (guix build emacs-utils))
5571 #:imported-modules (,@%haskell-build-system-modules
5572 (guix build emacs-utils))
5573 #:phases
5574 (modify-phases %standard-phases
5575 (add-after 'install 'emacs-install
5576 (lambda* (#:key inputs outputs #:allow-other-keys)
5577 (let* ((out (assoc-ref outputs "out"))
5578 (elisp-file "elisp/hindent.el")
d53e87cf 5579 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5580 (emacs (string-append (assoc-ref inputs "emacs")
5581 "/bin/emacs")))
5582 (make-file-writable elisp-file)
5583 (emacs-substitute-variables elisp-file
5584 ("hindent-process-path"
5585 (string-append out "/bin/hindent")))
5586 (install-file elisp-file dest)
5587 (emacs-generate-autoloads "hindent" dest)))))))
5588 (inputs
5589 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5590 ("ghc-monad-loops" ,ghc-monad-loops)
5591 ("ghc-utf8-string" ,ghc-utf8-string)
5592 ("ghc-exceptions" ,ghc-exceptions)
5593 ("ghc-yaml" ,ghc-yaml)
5594 ("ghc-unix-compat" ,ghc-unix-compat)
5595 ("ghc-path" ,ghc-path)
5596 ("ghc-path-io" ,ghc-path-io)
5597 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5598 (native-inputs
5599 `(("ghc-hspec" ,ghc-hspec)
5600 ("ghc-diff" ,ghc-diff)
5601 ("emacs" ,emacs-minimal)))
5602 (home-page
5603 "https://github.com/commercialhaskell/hindent")
5604 (synopsis "Extensible Haskell pretty printer")
5605 (description
5606 "This package provides automatic formatting for Haskell files. Both a
5607library and an executable.")
5608 (license license:bsd-3)))
5609
5610(define-public ghc-hinotify
5611 (package
5612 (name "ghc-hinotify")
c2342abb 5613 (version "0.4")
dddbc90c
RV
5614 (source (origin
5615 (method url-fetch)
5616 (uri (string-append
5617 "https://hackage.haskell.org/package/hinotify/"
5618 "hinotify-" version ".tar.gz"))
5619 (sha256
5620 (base32
c2342abb 5621 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5622 (build-system haskell-build-system)
5623 (inputs
5624 `(("ghc-async" ,ghc-async)))
5625 (home-page "https://github.com/kolmodin/hinotify.git")
5626 (synopsis "Haskell binding to inotify")
5627 (description "This library provides a wrapper to the Linux kernel's inotify
5628feature, allowing applications to subscribe to notifications when a file is
5629accessed or modified.")
5630 (license license:bsd-3)))
5631
5632(define-public ghc-hmatrix
5633 (package
5634 (name "ghc-hmatrix")
65e29ed1 5635 (version "0.20.0.0")
dddbc90c
RV
5636 (source
5637 (origin
5638 (method url-fetch)
5639 (uri (string-append
5640 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5641 version ".tar.gz"))
5642 (sha256
65e29ed1 5643 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5644 (build-system haskell-build-system)
5645 (inputs
5646 `(("ghc-random" ,ghc-random)
5647 ("ghc-split" ,ghc-split)
5648 ("ghc-storable-complex" ,ghc-storable-complex)
5649 ("ghc-semigroups" ,ghc-semigroups)
5650 ("ghc-vector" ,ghc-vector)
5651 ;;("openblas" ,openblas)
5652 ("lapack" ,lapack)))
5653 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5654 ;; disables inclusion of the LAPACK functions.
5655 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5656 (home-page "https://github.com/albertoruiz/hmatrix")
5657 (synopsis "Haskell numeric linear algebra library")
5658 (description "The HMatrix package provices a Haskell library for
5659dealing with linear systems, matrix decompositions, and other
5660numerical computations based on BLAS and LAPACK.")
5661 (license license:bsd-3)))
5662
5663(define-public ghc-hmatrix-gsl
5664 (package
5665 (name "ghc-hmatrix-gsl")
5666 (version "0.19.0.1")
5667 (source
5668 (origin
5669 (method url-fetch)
5670 (uri (string-append
5671 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5672 version ".tar.gz"))
5673 (sha256
5674 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5675 (build-system haskell-build-system)
5676 (inputs
5677 `(("ghc-hmatrix" ,ghc-hmatrix)
5678 ("ghc-vector" ,ghc-vector)
5679 ("ghc-random" ,ghc-random)
5680 ("gsl" ,gsl)))
5681 (native-inputs `(("pkg-config" ,pkg-config)))
5682 (home-page "https://github.com/albertoruiz/hmatrix")
5683 (synopsis "Haskell GSL binding")
5684 (description "This Haskell library provides a purely functional
5685interface to selected numerical computations, internally implemented
5686using GSL.")
5687 (license license:gpl3+)))
5688
5689(define-public ghc-hmatrix-gsl-stats
5690 (package
5691 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5692 (version "0.4.1.8")
dddbc90c
RV
5693 (source
5694 (origin
5695 (method url-fetch)
5696 (uri
5697 (string-append
5698 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5699 version ".tar.gz"))
5700 (sha256
e9b359f5 5701 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5702 (build-system haskell-build-system)
5703 (inputs
5704 `(("ghc-vector" ,ghc-vector)
5705 ("ghc-storable-complex" ,ghc-storable-complex)
5706 ("ghc-hmatrix" ,ghc-hmatrix)
5707 ("gsl" ,gsl)))
5708 (native-inputs `(("pkg-config" ,pkg-config)))
5709 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5710 (synopsis "GSL Statistics interface for Haskell")
5711 (description "This Haskell library provides a purely functional
5712interface for statistics based on hmatrix and GSL.")
5713 (license license:bsd-3)))
5714
5715(define-public ghc-hmatrix-special
5716 (package
5717 (name "ghc-hmatrix-special")
5718 (version "0.19.0.0")
5719 (source
5720 (origin
5721 (method url-fetch)
5722 (uri
5723 (string-append
5724 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5725 version ".tar.gz"))
5726 (sha256
5727 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5728 (build-system haskell-build-system)
5729 (inputs
5730 `(("ghc-hmatrix" ,ghc-hmatrix)
5731 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5732 (home-page "https://github.com/albertoruiz/hmatrix")
5733 (synopsis "Haskell interface to GSL special functions")
5734 (description "This library provides an interface to GSL special
5735functions for Haskell.")
5736 (license license:gpl3+)))
5737
5738(define-public ghc-hostname
5739 (package
5740 (name "ghc-hostname")
5741 (version "1.0")
5742 (source
5743 (origin
5744 (method url-fetch)
5745 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5746 "hostname-" version ".tar.gz"))
5747 (sha256
5748 (base32
5749 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5750 (build-system haskell-build-system)
5751 (home-page "https://hackage.haskell.org/package/hostname")
5752 (synopsis "Hostname in Haskell")
5753 (description "Network.HostName is a simple package providing a means to
5754determine the hostname.")
5755 (license license:bsd-3)))
5756
5757(define-public ghc-hourglass
5758 (package
5759 (name "ghc-hourglass")
5760 (version "0.2.12")
5761 (source (origin
5762 (method url-fetch)
5763 (uri (string-append "https://hackage.haskell.org/package/"
5764 "hourglass/hourglass-" version ".tar.gz"))
5765 (sha256
5766 (base32
5767 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5768 (build-system haskell-build-system)
5769 (inputs
5770 `(("ghc-old-locale" ,ghc-old-locale)))
5771 (native-inputs
5772 `(("ghc-tasty" ,ghc-tasty)
5773 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5775 (home-page "https://github.com/vincenthz/hs-hourglass")
5776 (synopsis "Simple time-related library for Haskell")
5777 (description
5778 "This is a simple time library providing a simple but powerful and
5779performant API. The backbone of the library are the @code{Timeable} and
5780@code{Time} type classes. Each @code{Timeable} instances can be converted to
5781a type that has a @code{Time} instances, and thus are different
5782representations of current time.")
5783 (license license:bsd-3)))
5784
5785(define-public ghc-hpack
5786 (package
5787 (name "ghc-hpack")
06344a3a 5788 (version "0.31.2")
dddbc90c
RV
5789 (source
5790 (origin
5791 (method url-fetch)
5792 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5793 "hpack-" version ".tar.gz"))
06344a3a 5794 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5795 (sha256
5796 (base32
06344a3a 5797 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5798 (build-system haskell-build-system)
5799 (inputs
5800 `(("ghc-aeson" ,ghc-aeson)
5801 ("ghc-bifunctors" ,ghc-bifunctors)
5802 ("ghc-cryptonite" ,ghc-cryptonite)
5803 ("ghc-glob" ,ghc-glob)
5804 ("ghc-http-client" ,ghc-http-client)
5805 ("ghc-http-client-tls" ,ghc-http-client-tls)
5806 ("ghc-http-types" ,ghc-http-types)
06344a3a 5807 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5808 ("ghc-scientific" ,ghc-scientific)
5809 ("ghc-unordered-containers" ,ghc-unordered-containers)
5810 ("ghc-vector" ,ghc-vector)
5811 ("ghc-yaml" ,ghc-yaml)))
5812 (native-inputs
5813 `(("ghc-hspec" ,ghc-hspec)
5814 ("ghc-hunit" ,ghc-hunit)
5815 ("ghc-interpolate" ,ghc-interpolate)
5816 ("ghc-mockery" ,ghc-mockery)
5817 ("ghc-quickcheck" ,ghc-quickcheck)
5818 ("ghc-temporary" ,ghc-temporary)
5819 ("hspec-discover" ,hspec-discover)))
5820 (home-page "https://github.com/sol/hpack")
5821 (synopsis "Tools for an alternative Haskell package format")
5822 (description
5823 "Hpack is a format for Haskell packages. It is an alternative to the
5824Cabal package format and follows different design principles. Hpack packages
5825are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5826@code{stack} support @code{package.yaml} natively. For other build tools the
5827@code{hpack} executable can be used to generate a @code{.cabal} file from
5828@code{package.yaml}.")
5829 (license license:expat)))
5830
5831(define-public ghc-hs-bibutils
5832 (package
5833 (name "ghc-hs-bibutils")
ebcb4f23 5834 (version "6.7.0.0")
dddbc90c
RV
5835 (source
5836 (origin
5837 (method url-fetch)
5838 (uri (string-append
5839 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5840 version ".tar.gz"))
5841 (sha256
5842 (base32
ebcb4f23 5843 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5844 (build-system haskell-build-system)
5845 (inputs `(("ghc-syb" ,ghc-syb)))
5846 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5847 (synopsis "Haskell bindings to bibutils")
5848 (description
5849 "This package provides Haskell bindings to @code{bibutils}, a library
5850that interconverts between various bibliography formats using a common
5851MODS-format XML intermediate.")
5852 (license license:gpl2+)))
5853
5854(define-public ghc-hslogger
5855 (package
5856 (name "ghc-hslogger")
e5ccc5f7 5857 (version "1.2.12")
dddbc90c
RV
5858 (source
5859 (origin
5860 (method url-fetch)
5861 (uri (string-append "https://hackage.haskell.org/package/"
5862 "hslogger-" version "/" "hslogger-"
5863 version ".tar.gz"))
5864 (sha256 (base32
e5ccc5f7 5865 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5866 (build-system haskell-build-system)
5867 (inputs
5868 `(("ghc-network" ,ghc-network)
5869 ("ghc-old-locale" ,ghc-old-locale)))
5870 (native-inputs
5871 `(("ghc-hunit" ,ghc-hunit)))
5872 (home-page "https://software.complete.org/hslogger")
5873 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5874 (description "Hslogger lets each log message have a priority and source be
5875associated with it. The programmer can then define global handlers that route
5876or filter messages based on the priority and source. It also has a syslog
5877handler built in.")
5878 (license license:bsd-3)))
5879
5880(define-public ghc-hslua
5881 (package
5882 (name "ghc-hslua")
cc784d7b 5883 (version "1.0.3.2")
dddbc90c
RV
5884 (source (origin
5885 (method url-fetch)
5886 (uri (string-append "https://hackage.haskell.org/package/"
5887 "hslua/hslua-" version ".tar.gz"))
5888 (sha256
5889 (base32
cc784d7b 5890 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5891 (build-system haskell-build-system)
5892 (arguments
5893 `(#:configure-flags '("-fsystem-lua")))
5894 (inputs
5895 `(("lua" ,lua)
5896 ("ghc-exceptions" ,ghc-exceptions)
5897 ("ghc-fail" ,ghc-fail)))
5898 (native-inputs
5899 `(("ghc-tasty" ,ghc-tasty)
5900 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5901 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5903 ("ghc-quickcheck" ,ghc-quickcheck)
5904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5905 (home-page "https://hackage.haskell.org/package/hslua")
5906 (synopsis "Lua language interpreter embedding in Haskell")
5907 (description
5908 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5909described in @url{https://www.lua.org/}.")
5910 (license license:expat)))
5911
ff303e4e
TS
5912(define-public ghc-hslua-module-system
5913 (package
5914 (name "ghc-hslua-module-system")
5915 (version "0.2.1")
5916 (source
5917 (origin
5918 (method url-fetch)
5919 (uri (string-append "https://hackage.haskell.org/package/"
5920 "hslua-module-system/hslua-module-system-"
5921 version ".tar.gz"))
5922 (sha256
5923 (base32
5924 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5925 (build-system haskell-build-system)
5926 (inputs
5927 `(("ghc-exceptions" ,ghc-exceptions)
5928 ("ghc-hslua" ,ghc-hslua)
5929 ("ghc-temporary" ,ghc-temporary)))
5930 (native-inputs
5931 `(("ghc-tasty" ,ghc-tasty)
5932 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5933 (home-page "https://github.com/hslua/hslua-module-system")
5934 (synopsis "Lua module wrapper around Haskell's System module")
5935 (description "This library provides access to system information and
5936functionality to Lua scripts via Haskell's @code{System} module. Intended
5937usage for this package is to preload it by adding the loader function to
5938@code{package.preload}. Note that the Lua @code{package} library must have
5939already been loaded before the loader can be added.")
5940 (license license:expat)))
5941
dddbc90c
RV
5942(define-public ghc-hslua-module-text
5943 (package
5944 (name "ghc-hslua-module-text")
ecaf0b0c 5945 (version "0.2.1")
dddbc90c
RV
5946 (source
5947 (origin
5948 (method url-fetch)
5949 (uri (string-append "https://hackage.haskell.org/package/"
5950 "hslua-module-text/hslua-module-text-"
5951 version ".tar.gz"))
5952 (sha256
5953 (base32
ecaf0b0c 5954 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5955 (build-system haskell-build-system)
dddbc90c
RV
5956 (inputs
5957 `(("ghc-hslua" ,ghc-hslua)))
5958 (native-inputs
5959 `(("ghc-tasty" ,ghc-tasty)
5960 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5961 (home-page "https://github.com/hslua/hslua-module-text")
5962 (synopsis "Lua module for text")
5963 (description
5964 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5965for Haskell. The functions provided by this module are @code{upper},
5966@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5967 (license license:expat)))
5968
fac520bf
TS
5969(define-public ghc-hsyaml
5970 (package
5971 (name "ghc-hsyaml")
5972 (version "0.1.2.0")
5973 (source
5974 (origin
5975 (method url-fetch)
5976 (uri (string-append "https://hackage.haskell.org/package/"
5977 "HsYAML/HsYAML-" version ".tar.gz"))
5978 (sha256
5979 (base32
5980 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5981 (build-system haskell-build-system)
5982 (arguments
5983 `(#:cabal-revision
5984 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5985 (home-page "https://github.com/haskell-hvr/HsYAML")
5986 (synopsis "Pure Haskell YAML 1.2 parser")
5987 (description "This library provides a
5988@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5989for Haskell. Its features include:
5990
5991@itemize
5992@item Pure Haskell implementation with small dependency footprint and
5993emphasis on strict compliance with the YAML 1.2 specification.
5994
5995@item Direct decoding to native Haskell types via (aeson-inspired)
5996typeclass-based API (see @code{Data.YAML}).
5997
5998@item Support for constructing custom YAML node graph
5999representation (including support for cyclic YAML data structures).
6000
6001@item Support for the standard (untyped) @emph{Failsafe}, (strict)
6002@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6003typing rules as defined in the YAML 1.2 specification (including support
6004for user-defined custom schemas).
6005
6006@item Event-based API resembling LibYAML's Event-based API (see
6007@code{Data.YAML.Event}).
6008
6009@item Low-level API access to lexical token-based scanner (see
6010@code{Data.YAML.Token}).
6011@end itemize")
6012 (license license:gpl2+)))
6013
dddbc90c
RV
6014(define-public ghc-http-api-data
6015 (package
6016 (name "ghc-http-api-data")
a57236eb 6017 (version "0.4.1")
dddbc90c
RV
6018 (source
6019 (origin
6020 (method url-fetch)
6021 (uri (string-append "https://hackage.haskell.org/package/"
6022 "http-api-data-" version "/"
6023 "http-api-data-" version ".tar.gz"))
6024 (sha256
6025 (base32
a57236eb 6026 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6027 (build-system haskell-build-system)
dddbc90c
RV
6028 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6029 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6030 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6031 ("ghc-hashable" ,ghc-hashable)
6032 ("ghc-http-types" ,ghc-http-types)
a57236eb 6033 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6034 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6035 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6036 (native-inputs
6037 `(("cabal-doctest" ,cabal-doctest)
6038 ("ghc-nats" ,ghc-nats)
6039 ("ghc-hunit" ,ghc-hunit)
6040 ("ghc-hspec" ,ghc-hspec)
6041 ("ghc-quickcheck" ,ghc-quickcheck)
6042 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6043 ("ghc-doctest" ,ghc-doctest)
6044 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6045 (home-page "https://github.com/fizruk/http-api-data")
6046 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6047query parameters")
6048 (description "This Haskell package defines typeclasses used for converting
6049Haskell data types to and from HTTP API data.")
6050 (license license:bsd-3)))
6051
6052(define-public ghc-ieee754
6053 (package
6054 (name "ghc-ieee754")
6055 (version "0.8.0")
6056 (source (origin
6057 (method url-fetch)
6058 (uri (string-append
6059 "https://hackage.haskell.org/package/ieee754/"
6060 "ieee754-" version ".tar.gz"))
6061 (sha256
6062 (base32
6063 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6064 (build-system haskell-build-system)
6065 (home-page "https://github.com/patperry/hs-ieee754")
6066 (synopsis "Utilities for dealing with IEEE floating point numbers")
6067 (description "Utilities for dealing with IEEE floating point numbers,
6068ported from the Tango math library; approximate and exact equality comparisons
6069for general types.")
6070 (license license:bsd-3)))
6071
6072(define-public ghc-ifelse
6073 (package
6074 (name "ghc-ifelse")
6075 (version "0.85")
6076 (source
6077 (origin
6078 (method url-fetch)
6079 (uri (string-append "https://hackage.haskell.org/package/"
6080 "IfElse/IfElse-" version ".tar.gz"))
6081 (sha256
6082 (base32
6083 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6084 (build-system haskell-build-system)
3ef91e15 6085 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6086 (synopsis "Monadic control flow with anaphoric variants")
6087 (description "This library provides functions for control flow inside of
6088monads with anaphoric variants on @code{if} and @code{when} and a C-like
6089@code{switch} function.")
6090 (license license:bsd-3)))
6091
6092(define-public ghc-indents
6093 (package
6094 (name "ghc-indents")
d66473fb 6095 (version "0.5.0.1")
dddbc90c
RV
6096 (source (origin
6097 (method url-fetch)
6098 (uri (string-append
6099 "https://hackage.haskell.org/package/indents/indents-"
6100 version ".tar.gz"))
6101 (sha256
6102 (base32
d66473fb 6103 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6104 (build-system haskell-build-system)
6105 ;; This package needs an older version of tasty.
6106 (arguments '(#:tests? #f))
6107 (inputs
6108 `(("ghc-concatenative" ,ghc-concatenative)))
6109 (native-inputs
6110 `(("ghc-tasty" ,ghc-tasty)
6111 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6112 (home-page "http://patch-tag.com/r/salazar/indents")
6113 (synopsis "Indentation sensitive parser-combinators for parsec")
6114 (description
6115 "This library provides functions for use in parsing indentation sensitive
6116contexts. It parses blocks of lines all indented to the same level as well as
6117lines continued at an indented level below.")
6118 (license license:bsd-3)))
6119
1f656b17
TS
6120(define-public ghc-infer-license
6121 (package
6122 (name "ghc-infer-license")
6123 (version "0.2.0")
6124 (source
6125 (origin
6126 (method url-fetch)
6127 (uri (string-append "https://hackage.haskell.org/package/"
6128 "infer-license/infer-license-" version ".tar.gz"))
6129 (sha256
6130 (base32
6131 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6132 (build-system haskell-build-system)
6133 (inputs
6134 `(("ghc-text-metrics" ,ghc-text-metrics)))
6135 (native-inputs
6136 `(("ghc-hspec" ,ghc-hspec)
6137 ("hspec-discover" ,hspec-discover)))
3ef91e15 6138 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6139 (synopsis "Infer software license from a given license file")
6140 (description "This library provides tools to infer a software
6141license from a given license file.")
6142 (license license:expat)))
6143
dddbc90c
RV
6144(define-public ghc-inline-c
6145 (package
6146 (name "ghc-inline-c")
55ec98f2 6147 (version "0.7.0.1")
dddbc90c
RV
6148 (source
6149 (origin
6150 (method url-fetch)
6151 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6152 "inline-c-" version ".tar.gz"))
6153 (sha256
6154 (base32
55ec98f2 6155 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6156 (build-system haskell-build-system)
6157 (inputs
6158 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6159 ("ghc-cryptohash" ,ghc-cryptohash)
6160 ("ghc-hashable" ,ghc-hashable)
6161 ("ghc-parsers" ,ghc-parsers)
6162 ("ghc-unordered-containers" ,ghc-unordered-containers)
6163 ("ghc-vector" ,ghc-vector)))
6164 (native-inputs
6165 `(("ghc-quickcheck" ,ghc-quickcheck)
6166 ("ghc-hspec" ,ghc-hspec)
6167 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6168 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6169 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6170 (synopsis "Write Haskell source files including C code inline")
6171 (description
6172 "inline-c lets you seamlessly call C libraries and embed high-performance
6173inline C code in Haskell modules. Haskell and C can be freely intermixed in
6174the same source file, and data passed to and from code in either language with
6175minimal overhead. No FFI required.")
6176 (license license:expat)))
6177
6178(define-public ghc-inline-c-cpp
6179 (package
6180 (name "ghc-inline-c-cpp")
cae58e56 6181 (version "0.3.0.3")
dddbc90c
RV
6182 (source
6183 (origin
6184 (method url-fetch)
6185 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6186 "inline-c-cpp-" version ".tar.gz"))
6187 (sha256
6188 (base32
cae58e56 6189 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6190 (build-system haskell-build-system)
6191 (inputs
6192 `(("ghc-inline-c" ,ghc-inline-c)
6193 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6194 (native-inputs
6195 `(("ghc-hspec" ,ghc-hspec)))
6196 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6197 (synopsis "Lets you embed C++ code into Haskell")
6198 (description
6199 "This package provides utilities to inline C++ code into Haskell using
6200@code{inline-c}.")
6201 (license license:expat)))
6202
6203(define-public ghc-integer-logarithms
6204 (package
6205 (name "ghc-integer-logarithms")
86a704db 6206 (version "1.0.3")
dddbc90c
RV
6207 (source
6208 (origin
6209 (method url-fetch)
6210 (uri (string-append "https://hackage.haskell.org/package/"
6211 "integer-logarithms/integer-logarithms-"
6212 version ".tar.gz"))
6213 (sha256
6214 (base32
86a704db 6215 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6216 (build-system haskell-build-system)
6217 (arguments
6218 `(#:phases
6219 (modify-phases %standard-phases
6220 (add-before 'configure 'update-constraints
6221 (lambda _
6222 (substitute* "integer-logarithms.cabal"
6223 (("tasty >= 0\\.10 && < 1\\.1")
6224 "tasty >= 0.10 && < 1.2")))))))
6225 (native-inputs
6226 `(("ghc-quickcheck" ,ghc-quickcheck)
6227 ("ghc-smallcheck" ,ghc-smallcheck)
6228 ("ghc-tasty" ,ghc-tasty)
6229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6230 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6231 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6232 (home-page "https://github.com/Bodigrim/integer-logarithms")
6233 (synopsis "Integer logarithms")
6234 (description
6235 "This package provides the following modules:
6236@code{Math.NumberTheory.Logarithms} and
6237@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6238@code{GHC.Integer.Logarithms.Compat} and
6239@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6240in migrated modules.")
6241 (license license:expat)))
6242
6243(define-public ghc-integer-logarithms-bootstrap
6244 (package
6245 (inherit ghc-integer-logarithms)
6246 (name "ghc-integer-logarithms-bootstrap")
6247 (arguments `(#:tests? #f))
6248 (native-inputs '())
799d8d3c 6249 (properties '((hidden? #t)))))
dddbc90c
RV
6250
6251(define-public ghc-interpolate
6252 (package
6253 (name "ghc-interpolate")
6254 (version "0.2.0")
6255 (source
6256 (origin
6257 (method url-fetch)
6258 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6259 "interpolate-" version ".tar.gz"))
6260 (sha256
6261 (base32
6262 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6263 (build-system haskell-build-system)
6264 (inputs
6265 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6266 (native-inputs
6267 `(("ghc-base-compat" ,ghc-base-compat)
6268 ("ghc-hspec" ,ghc-hspec)
6269 ("ghc-quickcheck" ,ghc-quickcheck)
6270 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6271 ("hspec-discover" ,hspec-discover)))
6272 (home-page "https://github.com/sol/interpolate")
6273 (synopsis "String interpolation library")
6274 (description "This package provides a string interpolation library for
6275Haskell.")
6276 (license license:expat)))
6277
6278(define-public ghc-intervalmap
6279 (package
6280 (name "ghc-intervalmap")
e4946e32 6281 (version "0.6.1.1")
dddbc90c
RV
6282 (source
6283 (origin
6284 (method url-fetch)
6285 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6286 "IntervalMap-" version ".tar.gz"))
6287 (sha256
6288 (base32
e4946e32 6289 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6290 (build-system haskell-build-system)
6291 (native-inputs
6292 `(("ghc-quickcheck" ,ghc-quickcheck)))
6293 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6294 (synopsis "Containers for intervals, with efficient search")
6295 (description
6296 "This package provides ordered containers of intervals, with efficient
6297search for all keys containing a point or overlapping an interval. See the
6298example code on the home page for a quick introduction.")
6299 (license license:bsd-3)))
6300
f7ca1fa8
TS
6301(define-public ghc-intervals
6302 (package
6303 (name "ghc-intervals")
6304 (version "0.8.1")
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "https://hackage.haskell.org/package/"
6309 "intervals/intervals-" version ".tar.gz"))
6310 (sha256
6311 (base32
6312 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6313 (build-system haskell-build-system)
6314 (inputs
6315 `(("ghc-distributive" ,ghc-distributive)))
6316 (native-inputs
6317 `(("cabal-doctest" ,cabal-doctest)
6318 ("ghc-doctest" ,ghc-doctest)
6319 ("ghc-quickcheck" ,ghc-quickcheck)))
6320 (arguments
6321 `(#:cabal-revision
6322 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6323 (home-page "https://github.com/ekmett/intervals")
6324 (synopsis "Interval arithmetic")
6325 (description "This library provides
6326@code{Numeric.Interval.Interval}, which represets a closed, convex set
6327of floating point values.")
6328 (license license:bsd-3)))
6329
dddbc90c
RV
6330(define-public ghc-invariant
6331 (package
6332 (name "ghc-invariant")
d3a0e0b4 6333 (version "0.5.3")
dddbc90c
RV
6334 (source
6335 (origin
6336 (method url-fetch)
6337 (uri (string-append
6338 "https://hackage.haskell.org/package/invariant/invariant-"
6339 version ".tar.gz"))
6340 (sha256
6341 (base32
d3a0e0b4 6342 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6343 (build-system haskell-build-system)
6344 (inputs
6345 `(("ghc-bifunctors" ,ghc-bifunctors)
6346 ("ghc-comonad" ,ghc-comonad)
6347 ("ghc-contravariant" ,ghc-contravariant)
6348 ("ghc-profunctors" ,ghc-profunctors)
6349 ("ghc-semigroups" ,ghc-semigroups)
6350 ("ghc-statevar" ,ghc-statevar)
6351 ("ghc-tagged" ,ghc-tagged)
6352 ("ghc-th-abstraction" ,ghc-th-abstraction)
6353 ("ghc-transformers-compat" ,ghc-transformers-compat)
6354 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6355 (native-inputs
6356 `(("ghc-hspec" ,ghc-hspec)
6357 ("ghc-quickcheck" ,ghc-quickcheck)
6358 ("hspec-discover" ,hspec-discover)))
6359 (home-page "https://github.com/nfrisby/invariant-functors")
6360 (synopsis "Haskell98 invariant functors")
6361 (description "Haskell98 invariant functors (also known as exponential
6362functors). For more information, see Edward Kmett's article
6363@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6364 (license license:bsd-2)))
6365
6366(define-public ghc-io-streams
6367 (package
6368 (name "ghc-io-streams")
59e98d75 6369 (version "1.5.1.0")
dddbc90c
RV
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/"
6374 "io-streams/io-streams-" version ".tar.gz"))
6375 (sha256
6376 (base32
59e98d75 6377 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6378 (build-system haskell-build-system)
6379 (inputs
6380 `(("ghc-attoparsec" ,ghc-attoparsec)
6381 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6382 ("ghc-network" ,ghc-network)
6383 ("ghc-primitive" ,ghc-primitive)
6384 ("ghc-vector" ,ghc-vector)
6385 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6386 (native-inputs
6387 `(("ghc-hunit" ,ghc-hunit)
6388 ("ghc-quickcheck" ,ghc-quickcheck)
6389 ("ghc-test-framework" ,ghc-test-framework)
6390 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6391 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6392 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6393 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6394 (synopsis "Simple and composable stream I/O")
6395 (description "This library contains simple and easy-to-use
6396primitives for I/O using streams.")
6397 (license license:bsd-3)))
6398
6399(define-public ghc-io-streams-haproxy
6400 (package
6401 (name "ghc-io-streams-haproxy")
1a4fbc36 6402 (version "1.0.1.0")
dddbc90c
RV
6403 (source
6404 (origin
6405 (method url-fetch)
6406 (uri (string-append "https://hackage.haskell.org/package/"
6407 "io-streams-haproxy/io-streams-haproxy-"
6408 version ".tar.gz"))
6409 (sha256
6410 (base32
1a4fbc36 6411 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6412 (build-system haskell-build-system)
6413 (inputs
6414 `(("ghc-attoparsec" ,ghc-attoparsec)
6415 ("ghc-io-streams" ,ghc-io-streams)
6416 ("ghc-network" ,ghc-network)))
6417 (native-inputs
6418 `(("ghc-hunit" ,ghc-hunit)
6419 ("ghc-test-framework" ,ghc-test-framework)
6420 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6421 (home-page "http://snapframework.com/")
6422 (synopsis "HAProxy protocol 1.5 support for io-streams")
6423 (description "HAProxy protocol version 1.5 support
6424(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6425for applications using io-streams. The proxy protocol allows information
6426about a networked peer (like remote address and port) to be propagated
6427through a forwarding proxy that is configured to speak this protocol.")
6428 (license license:bsd-3)))
6429
6430(define-public ghc-iproute
6431 (package
6432 (name "ghc-iproute")
ec25d536 6433 (version "1.7.7")
dddbc90c
RV
6434 (source
6435 (origin
6436 (method url-fetch)
6437 (uri (string-append
6438 "https://hackage.haskell.org/package/iproute/iproute-"
6439 version
6440 ".tar.gz"))
6441 (sha256
6442 (base32
ec25d536 6443 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6444 (build-system haskell-build-system)
6445 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6446 ; exported by ghc-byteorder. Doctest issue.
6447 (inputs
6448 `(("ghc-appar" ,ghc-appar)
6449 ("ghc-byteorder" ,ghc-byteorder)
6450 ("ghc-network" ,ghc-network)
6451 ("ghc-safe" ,ghc-safe)))
6452 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6453 (synopsis "IP routing table")
6454 (description "IP Routing Table is a tree of IP ranges to search one of
6455them on the longest match base. It is a kind of TRIE with one way branching
6456removed. Both IPv4 and IPv6 are supported.")
6457 (license license:bsd-3)))
6458
4828e54e
TS
6459(define-public ghc-ipynb
6460 (package
6461 (name "ghc-ipynb")
6462 (version "0.1")
6463 (source
6464 (origin
6465 (method url-fetch)
6466 (uri (string-append "https://hackage.haskell.org/package/"
6467 "ipynb/ipynb-" version ".tar.gz"))
6468 (sha256
6469 (base32
6470 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6471 (build-system haskell-build-system)
6472 (inputs
6473 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6474 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6475 ("ghc-aeson" ,ghc-aeson)
6476 ("ghc-semigroups" ,ghc-semigroups)))
6477 (native-inputs
6478 `(("ghc-tasty" ,ghc-tasty)
6479 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6480 ("ghc-aeson-diff" ,ghc-aeson-diff)
6481 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6482 ("ghc-microlens" ,ghc-microlens)
6483 ("ghc-vector" ,ghc-vector)))
6484 (home-page "https://hackage.haskell.org/package/ipynb")
6485 (synopsis "Data structure for working with Jupyter notebooks")
6486 (description "This library defines a data structure for representing
6487Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6488instances for conversion to and from JSON .ipynb files.")
6489 (license license:bsd-3)))
6490
dddbc90c
RV
6491(define-public ghc-iwlib
6492 (package
6493 (name "ghc-iwlib")
6494 (version "0.1.0")
6495 (source
6496 (origin
6497 (method url-fetch)
6498 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6499 version ".tar.gz"))
6500 (sha256
6501 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6502 (build-system haskell-build-system)
6503 (inputs
6504 `(("wireless-tools" ,wireless-tools)))
6505 (home-page "https://github.com/jaor/iwlib")
6506 (synopsis "Haskell binding to the iw wireless networking library")
6507 (description
6508 "IWlib is a thin Haskell binding to the iw C library. It provides
6509information about the current wireless network connections, and adapters on
6510supported systems.")
6511 (license license:bsd-3)))
6512
6513(define-public ghc-json
6514 (package
6515 (name "ghc-json")
0ad3d574 6516 (version "0.9.3")
dddbc90c
RV
6517 (source
6518 (origin
6519 (method url-fetch)
6520 (uri (string-append "https://hackage.haskell.org/package/json/"
6521 "json-" version ".tar.gz"))
6522 (sha256
6523 (base32
0ad3d574 6524 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6525 (build-system haskell-build-system)
6526 (inputs
6527 `(("ghc-syb" ,ghc-syb)))
6528 (home-page "https://hackage.haskell.org/package/json")
6529 (synopsis "Serializes Haskell data to and from JSON")
6530 (description "This package provides a parser and pretty printer for
6531converting between Haskell values and JSON.
6532JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6533 (license license:bsd-3)))
6534
6535(define-public ghc-juicypixels
6536 (package
6537 (name "ghc-juicypixels")
b50b6004 6538 (version "3.3.4")
dddbc90c
RV
6539 (source (origin
6540 (method url-fetch)
6541 (uri (string-append "https://hackage.haskell.org/package/"
6542 "JuicyPixels/JuicyPixels-"
6543 version ".tar.gz"))
6544 (sha256
6545 (base32
b50b6004 6546 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6547 (build-system haskell-build-system)
6548 (inputs
6549 `(("ghc-zlib" ,ghc-zlib)
6550 ("ghc-vector" ,ghc-vector)
6551 ("ghc-primitive" ,ghc-primitive)
6552 ("ghc-mmap" ,ghc-mmap)))
6553 (home-page "https://github.com/Twinside/Juicy.Pixels")
6554 (synopsis "Picture loading and serialization library")
6555 (description
6556 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6557TIFF and GIF formats.")
6558 (license license:bsd-3)))
6559
6560(define-public ghc-kan-extensions
6561 (package
6562 (name "ghc-kan-extensions")
6563 (version "5.2")
6564 (source
6565 (origin
6566 (method url-fetch)
6567 (uri (string-append
6568 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6569 version
6570 ".tar.gz"))
6571 (sha256
6572 (base32
6573 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6574 (build-system haskell-build-system)
6575 (inputs
6576 `(("ghc-adjunctions" ,ghc-adjunctions)
6577 ("ghc-comonad" ,ghc-comonad)
6578 ("ghc-contravariant" ,ghc-contravariant)
6579 ("ghc-distributive" ,ghc-distributive)
6580 ("ghc-free" ,ghc-free)
6581 ("ghc-invariant" ,ghc-invariant)
6582 ("ghc-semigroupoids" ,ghc-semigroupoids)
6583 ("ghc-tagged" ,ghc-tagged)
6584 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6585 (home-page "https://github.com/ekmett/kan-extensions/")
6586 (synopsis "Kan extensions library")
6587 (description "This library provides Kan extensions, Kan lifts, various
6588forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6589 (license license:bsd-3)))
6590
6591(define-public ghc-language-c
6592 (package
6593 (name "ghc-language-c")
4e1cf651 6594 (version "0.8.3")
dddbc90c
RV
6595 (source
6596 (origin
6597 (method url-fetch)
6598 (uri (string-append "https://hackage.haskell.org/package/"
6599 "language-c/language-c-" version ".tar.gz"))
6600 (sha256
6601 (base32
4e1cf651 6602 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6603 (build-system haskell-build-system)
6604 (inputs `(("ghc-syb" ,ghc-syb)))
6605 (native-inputs
6606 `(("ghc-happy" ,ghc-happy)
6607 ("ghc-alex" ,ghc-alex)))
6608 (home-page "https://visq.github.io/language-c/")
6609 (synopsis "Analysis and generation of C code")
6610 (description
6611 "Language C is a Haskell library for the analysis and generation of C code.
6612It features a complete, well-tested parser and pretty printer for all of C99
6613and a large set of GNU extensions.")
6614 (license license:bsd-3)))
6615
6616(define-public ghc-language-glsl
6617 (package
6618 (name "ghc-language-glsl")
6619 (version "0.3.0")
6620 (source
6621 (origin
6622 (method url-fetch)
6623 (uri (string-append "https://hackage.haskell.org/package/"
6624 "language-glsl/language-glsl-" version ".tar.gz"))
6625 (sha256
6626 (base32
6627 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6628 (build-system haskell-build-system)
6629 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6630 (arguments
6631 `(#:tests? #f
6632 #:cabal-revision
6633 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6634 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6635 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6636 (description "This package is a Haskell library for the
6637representation, parsing, and pretty-printing of GLSL 1.50 code.")
6638 (license license:bsd-3)))
6639
6640(define-public ghc-language-haskell-extract
6641 (package
6642 (name "ghc-language-haskell-extract")
6643 (version "0.2.4")
6644 (source
6645 (origin
6646 (method url-fetch)
6647 (uri (string-append "https://hackage.haskell.org/package/"
6648 "language-haskell-extract-" version "/"
6649 "language-haskell-extract-" version ".tar.gz"))
6650 (sha256
6651 (base32
6652 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6653 (build-system haskell-build-system)
6654 (inputs
6655 `(("ghc-regex-posix" ,ghc-regex-posix)))
6656 (home-page "https://github.com/finnsson/template-helper")
6657 (synopsis "Haskell module to automatically extract functions from
6658the local code")
6659 (description "This package contains helper functions on top of
6660Template Haskell.
6661
6662For example, @code{functionExtractor} extracts all functions after a
6663regexp-pattern, which can be useful if you wish to extract all functions
6664beginning with @code{test} (for a test framework) or all functions beginning
6665with @code{wc} (for a web service).")
6666 (license license:bsd-3)))
6667
6668(define-public ghc-lens
6669 (package
6670 (name "ghc-lens")
262e6323 6671 (version "4.17.1")
dddbc90c
RV
6672 (source
6673 (origin
6674 (method url-fetch)
6675 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6676 version ".tar.gz"))
6677 (sha256
6678 (base32
262e6323 6679 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6680 (build-system haskell-build-system)
dddbc90c
RV
6681 (inputs
6682 `(("ghc-base-orphans" ,ghc-base-orphans)
6683 ("ghc-bifunctors" ,ghc-bifunctors)
6684 ("ghc-distributive" ,ghc-distributive)
6685 ("ghc-exceptions" ,ghc-exceptions)
6686 ("ghc-free" ,ghc-free)
6687 ("ghc-kan-extensions" ,ghc-kan-extensions)
6688 ("ghc-parallel" ,ghc-parallel)
6689 ("ghc-reflection" ,ghc-reflection)
6690 ("ghc-semigroupoids" ,ghc-semigroupoids)
6691 ("ghc-vector" ,ghc-vector)
6692 ("ghc-call-stack" ,ghc-call-stack)
6693 ("ghc-comonad" ,ghc-comonad)
6694 ("ghc-contravariant" ,ghc-contravariant)
6695 ("ghc-hashable" ,ghc-hashable)
6696 ("ghc-profunctors" ,ghc-profunctors)
6697 ("ghc-semigroups" ,ghc-semigroups)
6698 ("ghc-tagged" ,ghc-tagged)
6699 ("ghc-transformers-compat" ,ghc-transformers-compat)
6700 ("ghc-unordered-containers" ,ghc-unordered-containers)
6701 ("ghc-void" ,ghc-void)
6702 ("ghc-generic-deriving" ,ghc-generic-deriving)
6703 ("ghc-nats" ,ghc-nats)
6704 ("ghc-simple-reflect" ,ghc-simple-reflect)
6705 ("hlint" ,hlint)))
6706 (native-inputs
6707 `(("cabal-doctest" ,cabal-doctest)
6708 ("ghc-doctest" ,ghc-doctest)
6709 ("ghc-hunit" ,ghc-hunit)
6710 ("ghc-test-framework" ,ghc-test-framework)
6711 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6712 ("ghc-test-framework-th" ,ghc-test-framework-th)
6713 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6714 ("ghc-quickcheck" ,ghc-quickcheck)))
6715 (home-page "https://github.com/ekmett/lens/")
6716 (synopsis "Lenses, Folds and Traversals")
6717 (description "This library provides @code{Control.Lens}. The combinators
6718in @code{Control.Lens} provide a highly generic toolbox for composing families
6719of getters, folds, isomorphisms, traversals, setters and lenses and their
6720indexed variants.")
6721 (license license:bsd-3)))
6722
bcd35444
JS
6723(define-public ghc-lens-family-core
6724 (package
6725 (name "ghc-lens-family-core")
6726 (version "1.2.3")
6727 (source
6728 (origin
6729 (method url-fetch)
6730 (uri (string-append
6731 "mirror://hackage/package/lens-family-core/lens-family-core-"
6732 version
6733 ".tar.gz"))
6734 (sha256
6735 (base32
6736 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6737 (build-system haskell-build-system)
6738 (home-page
6739 "http://hackage.haskell.org/package/lens-family-core")
6740 (synopsis "Haskell 98 Lens Families")
6741 (description
6742 "This package provides first class functional references. In addition to
6743the usual operations of getting, setting and composition, plus integration
6744with the state monad, lens families provide some unique features:
6745
6746@itemize
6747@item Polymorphic updating
6748@item Traversals
6749@item Cast projection functions to read-only lenses
6750@item Cast @code{toList} functions to read-only traversals
6751@item Cast semantic editor combinators to modify-only traversals
6752@end itemize
6753
6754For optimal first-class support use the lens-family package with rank 2/rank N
6755polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6756lenses and traversals for those who require Haskell 98.")
6757 (license license:bsd-3)))
6758
dddbc90c
RV
6759(define-public ghc-libffi
6760 (package
6761 (name "ghc-libffi")
6762 (version "0.1")
6763 (source
6764 (origin
6765 (method url-fetch)
6766 (uri (string-append "https://hackage.haskell.org/package/"
6767 "libffi/libffi-" version ".tar.gz"))
6768 (sha256
6769 (base32
6770 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6771 (build-system haskell-build-system)
6772 (native-inputs `(("pkg-config" ,pkg-config)))
6773 (inputs `(("libffi" ,libffi)))
3ef91e15 6774 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6775 (synopsis "Haskell binding to libffi")
6776 (description
6777 "A binding to libffi, allowing C functions of types only known at runtime
6778to be called from Haskell.")
6779 (license license:bsd-3)))
6780
6781(define-public ghc-libmpd
6782 (package
6783 (name "ghc-libmpd")
bbf9845f 6784 (version "0.9.0.10")
dddbc90c
RV
6785 (source
6786 (origin
6787 (method url-fetch)
6788 (uri (string-append
6789 "mirror://hackage/package/libmpd/libmpd-"
6790 version
6791 ".tar.gz"))
6792 (sha256
6793 (base32
bbf9845f 6794 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6795 (build-system haskell-build-system)
6796 ;; Tests fail on i686.
6797 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6798 (arguments `(#:tests? #f))
6799 (inputs
6800 `(("ghc-attoparsec" ,ghc-attoparsec)
6801 ("ghc-old-locale" ,ghc-old-locale)
6802 ("ghc-data-default-class" ,ghc-data-default-class)
6803 ("ghc-network" ,ghc-network)
bbf9845f 6804 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6805 ("ghc-utf8-string" ,ghc-utf8-string)))
6806 (native-inputs
6807 `(("ghc-quickcheck" ,ghc-quickcheck)
6808 ("ghc-hspec" ,ghc-hspec)
6809 ("hspec-discover" ,hspec-discover)))
6810 (home-page "https://github.com/vimus/libmpd-haskell")
6811 (synopsis "Haskell client library for the Music Player Daemon")
6812 (description "This package provides a pure Haskell client library for the
6813Music Player Daemon.")
6814 (license license:expat)))
6815
e34df1c3
TS
6816(define-public ghc-lib-parser
6817 (package
6818 (name "ghc-lib-parser")
6819 (version "8.8.0.20190424")
6820 (source
6821 (origin
6822 (method url-fetch)
6823 (uri (string-append "https://hackage.haskell.org/package/"
6824 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6825 (sha256
6826 (base32
6827 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6828 (build-system haskell-build-system)
6829 (native-inputs
6830 `(("ghc-alex" ,ghc-alex)
6831 ("ghc-happy" ,ghc-happy)))
6832 (home-page "https://github.com/digital-asset/ghc-lib")
6833 (synopsis "The GHC API, decoupled from GHC versions")
6834 (description "This library implements the GHC API. It is like the
6835compiler-provided @code{ghc} package, but it can be loaded on many
6836compiler versions.")
6837 (license license:bsd-3)))
6838
dddbc90c
RV
6839(define-public ghc-libxml
6840 (package
6841 (name "ghc-libxml")
6842 (version "0.1.1")
6843 (source
6844 (origin
6845 (method url-fetch)
6846 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6847 "libxml-" version ".tar.gz"))
6848 (sha256
6849 (base32
6850 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6851 (build-system haskell-build-system)
6852 (inputs
6853 `(("libxml2" ,libxml2)))
6854 (arguments
6855 `(#:configure-flags
6856 `(,(string-append "--extra-include-dirs="
6857 (assoc-ref %build-inputs "libxml2")
6858 "/include/libxml2"))))
6859 (home-page "https://hackage.haskell.org/package/libxml")
6860 (synopsis "Haskell bindings to libxml2")
6861 (description
6862 "This library provides minimal Haskell binding to libxml2.")
6863 (license license:bsd-3)))
6864
0c2d6fc2
TS
6865(define-public ghc-libyaml
6866 (package
6867 (name "ghc-libyaml")
6868 (version "0.1.1.0")
6869 (source
6870 (origin
6871 (method url-fetch)
6872 (uri (string-append "https://hackage.haskell.org/package/"
6873 "libyaml/libyaml-" version ".tar.gz"))
6874 (sha256
6875 (base32
6876 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6877 (modules '((guix build utils)))
6878 (snippet
6879 ;; Delete bundled LibYAML.
6880 '(begin
6881 (delete-file-recursively "libyaml_src")
6882 #t))))
6883 (build-system haskell-build-system)
6884 (arguments
6885 `(#:configure-flags `("--flags=system-libyaml")))
6886 (inputs
6887 `(("ghc-conduit" ,ghc-conduit)
6888 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6889 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6890 (home-page "https://github.com/snoyberg/yaml#readme")
6891 (synopsis "Low-level, streaming YAML interface.")
6892 (description "This package provides a Haskell wrapper over the
6893LibYAML C library.")
6894 (license license:bsd-3)))
6895
dddbc90c
RV
6896(define-public ghc-lifted-async
6897 (package
6898 (name "ghc-lifted-async")
b5b6d7ea 6899 (version "0.10.0.4")
dddbc90c
RV
6900 (source
6901 (origin
6902 (method url-fetch)
6903 (uri (string-append
6904 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6905 version ".tar.gz"))
6906 (sha256
6907 (base32
b5b6d7ea 6908 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6909 (build-system haskell-build-system)
6910 (inputs
6911 `(("ghc-async" ,ghc-async)
6912 ("ghc-lifted-base" ,ghc-lifted-base)
6913 ("ghc-transformers-base" ,ghc-transformers-base)
6914 ("ghc-monad-control" ,ghc-monad-control)
6915 ("ghc-constraints" ,ghc-constraints)
6916 ("ghc-hunit" ,ghc-hunit)
6917 ("ghc-tasty" ,ghc-tasty)
6918 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6919 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6920 ("ghc-tasty-th" ,ghc-tasty-th)))
6921 (home-page "https://github.com/maoe/lifted-async")
6922 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6923 (description
6924 "This package provides IO operations from @code{async} package lifted to any
6925instance of @code{MonadBase} or @code{MonadBaseControl}.")
6926 (license license:bsd-3)))
6927
6928(define-public ghc-lifted-base
6929 (package
6930 (name "ghc-lifted-base")
6931 (version "0.2.3.12")
6932 (source
6933 (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6937 version
6938 ".tar.gz"))
6939 (sha256
6940 (base32
6941 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6942 (build-system haskell-build-system)
6943 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6944 (inputs
6945 `(("ghc-transformers-base" ,ghc-transformers-base)
6946 ("ghc-monad-control" ,ghc-monad-control)
6947 ("ghc-transformers-compat" ,ghc-transformers-compat)
6948 ("ghc-hunit" ,ghc-hunit)))
6949 (home-page "https://github.com/basvandijk/lifted-base")
6950 (synopsis "Lifted IO operations from the base library")
6951 (description "Lifted-base exports IO operations from the @code{base}
6952library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6953Note that not all modules from @code{base} are converted yet. The package
6954includes a copy of the @code{monad-peel} test suite written by Anders
6955Kaseorg.")
6956 (license license:bsd-3)))
6957
6958(define-public ghc-linear
6959 (package
6960 (name "ghc-linear")
86526f37 6961 (version "1.20.9")
dddbc90c
RV
6962 (source
6963 (origin
6964 (method url-fetch)
6965 (uri (string-append "https://hackage.haskell.org/package/linear/"
6966 "linear-" version ".tar.gz"))
6967 (sha256
6968 (base32
86526f37 6969 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6970 (build-system haskell-build-system)
6971 (inputs
6972 `(("ghc-adjunctions" ,ghc-adjunctions)
6973 ("ghc-base-orphans" ,ghc-base-orphans)
6974 ("ghc-bytes" ,ghc-bytes)
6975 ("ghc-cereal" ,ghc-cereal)
6976 ("ghc-distributive" ,ghc-distributive)
6977 ("ghc-hashable" ,ghc-hashable)
6978 ("ghc-lens" ,ghc-lens)
6979 ("ghc-reflection" ,ghc-reflection)
6980 ("ghc-semigroups" ,ghc-semigroups)
6981 ("ghc-semigroupoids" ,ghc-semigroupoids)
6982 ("ghc-tagged" ,ghc-tagged)
6983 ("ghc-transformers-compat" ,ghc-transformers-compat)
6984 ("ghc-unordered-containers" ,ghc-unordered-containers)
6985 ("ghc-vector" ,ghc-vector)
6986 ("ghc-void" ,ghc-void)))
6987 (native-inputs
6988 `(("cabal-doctest" ,cabal-doctest)
6989 ("ghc-doctest" ,ghc-doctest)
6990 ("ghc-simple-reflect" ,ghc-simple-reflect)
6991 ("ghc-test-framework" ,ghc-test-framework)
6992 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6993 ("ghc-hunit" ,ghc-hunit)))
6994 (home-page "http://github.com/ekmett/linear/")
6995 (synopsis "Linear algebra library for Haskell")
6996 (description
6997 "This package provides types and combinators for linear algebra on free
6998vector spaces.")
6999 (license license:bsd-3)))
1307e4c7
JS
7000
7001(define-public ghc-listlike
7002 (package
7003 (name "ghc-listlike")
7004 (version "4.6.2")
7005 (source
7006 (origin
7007 (method url-fetch)
7008 (uri
7009 (string-append
7010 "https://hackage.haskell.org/package/ListLike/ListLike-"
7011 version ".tar.gz"))
7012 (sha256
7013 (base32
7014 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7015 (build-system haskell-build-system)
7016 (inputs
7017 `(("ghc-vector" ,ghc-vector)
7018 ("ghc-dlist" ,ghc-dlist)
7019 ("ghc-fmlist" ,ghc-fmlist)
7020 ("ghc-hunit" ,ghc-hunit)
7021 ("ghc-quickcheck" ,ghc-quickcheck)
7022 ("ghc-random" ,ghc-random)
7023 ("ghc-utf8-string" ,ghc-utf8-string)))
7024 (home-page "https://github.com/JohnLato/listlike")
7025 (synopsis "Generic support for list-like structures")
7026 (description "The ListLike module provides a common interface to the
7027various Haskell types that are list-like. Predefined interfaces include
7028standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7029Custom types can easily be made ListLike instances as well.
7030
7031ListLike also provides for String-like types, such as String and
7032ByteString, for types that support input and output, and for types that
7033can handle infinite lists.")
7034 (license license:bsd-3)))
dddbc90c 7035
84436be0
J
7036(define-public ghc-llvm-hs-pure
7037 (package
7038 (name "ghc-llvm-hs-pure")
7039 (version "9.0.0")
7040 (source
7041 (origin
7042 (method url-fetch)
7043 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7044 "llvm-hs-pure-" version ".tar.gz"))
7045 (sha256
7046 (base32
7047 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7048 (build-system haskell-build-system)
7049 (inputs
7050 `(("ghc-attoparsec" ,ghc-attoparsec)
7051 ("ghc-fail" ,ghc-fail)
7052 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7053 (native-inputs
7054 `(("ghc-tasty" ,ghc-tasty)
7055 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7056 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7057 (home-page "https://github.com/llvm-hs/llvm-hs/")
7058 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7059 (description "llvm-hs-pure is a set of pure Haskell types and functions
7060for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7061LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7062llvm-hs-pure does not require LLVM to be available.")
7063 (license license:bsd-3)))
7064
e3ee8023
J
7065(define-public ghc-llvm-hs
7066 (package
7067 (name "ghc-llvm-hs")
7068 (version "9.0.1")
7069 (source
7070 (origin
7071 (method url-fetch)
7072 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7073 version ".tar.gz"))
7074 (sha256
7075 (base32
7076 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7077 (build-system haskell-build-system)
7078 (inputs
7079 `(("ghc-attoparsec" ,ghc-attoparsec)
7080 ("ghc-exceptions" ,ghc-exceptions)
7081 ("ghc-utf8-string" ,ghc-utf8-string)
7082 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7083 ("llvm" ,llvm-9)))
7084 (native-inputs
7085 `(("ghc-tasty" ,ghc-tasty)
7086 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7088 ("ghc-quickcheck" ,ghc-quickcheck)
7089 ("ghc-temporary" ,ghc-temporary)
7090 ("ghc-pretty-show" ,ghc-pretty-show)
7091 ("ghc-temporary" ,ghc-temporary)))
7092 (home-page "https://github.com/llvm-hs/llvm-hs/")
7093 (synopsis "General purpose LLVM bindings for Haskell")
7094 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7095current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7096IR, and so offers two advantages: it handles almost all of the stateful
7097complexities of using the LLVM API to build IR; and it supports moving IR not
7098only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7099into Haskell.")
7100 (license license:bsd-3)))
7101
dddbc90c
RV
7102(define-public ghc-logging-facade
7103 (package
7104 (name "ghc-logging-facade")
7105 (version "0.3.0")
7106 (source (origin
7107 (method url-fetch)
7108 (uri (string-append "https://hackage.haskell.org/package/"
7109 "logging-facade/logging-facade-"
7110 version ".tar.gz"))
7111 (sha256
7112 (base32
7113 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7114 (build-system haskell-build-system)
7115 (native-inputs
7116 `(("ghc-hspec" ,ghc-hspec)
7117 ("hspec-discover" ,hspec-discover)))
7118 (home-page "https://hackage.haskell.org/package/logging-facade")
7119 (synopsis "Simple logging abstraction that allows multiple back-ends")
7120 (description
7121 "This package provides a simple logging abstraction that allows multiple
7122back-ends.")
7123 (license license:expat)))
7124
7125(define-public ghc-logict
7126 (package
7127 (name "ghc-logict")
79d9326f 7128 (version "0.7.0.2")
dddbc90c
RV
7129 (source
7130 (origin
7131 (method url-fetch)
7132 (uri (string-append
7133 "https://hackage.haskell.org/package/logict/logict-"
7134 version
7135 ".tar.gz"))
7136 (sha256
7137 (base32
79d9326f 7138 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7139 (build-system haskell-build-system)
79d9326f
TS
7140 (native-inputs
7141 `(("ghc-tasty" ,ghc-tasty)
7142 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7143 (home-page "http://code.haskell.org/~dolio/")
7144 (synopsis "Backtracking logic-programming monad")
7145 (description "This library provides a continuation-based, backtracking,
7146logic programming monad. An adaptation of the two-continuation implementation
7147found in the paper \"Backtracking, Interleaving, and Terminating Monad
7148Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7149online}.")
7150 (license license:bsd-3)))
7151
7152(define-public ghc-lzma
7153 (package
7154 (name "ghc-lzma")
7155 (version "0.0.0.3")
7156 (source
7157 (origin
7158 (method url-fetch)
7159 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7160 "lzma-" version ".tar.gz"))
7161 (sha256
7162 (base32
7163 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7164 (build-system haskell-build-system)
7165 (arguments
7166 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7167 #:cabal-revision
7168 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7169 (native-inputs
7170 `(("ghc-hunit" ,ghc-hunit)
7171 ("ghc-quickcheck" ,ghc-quickcheck)
7172 ("ghc-tasty" ,ghc-tasty)
7173 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7174 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7175 (home-page "https://github.com/hvr/lzma")
7176 (synopsis "LZMA/XZ compression and decompression")
7177 (description
7178 "This package provides a pure interface for compressing and
7179decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7180monadic incremental interface is provided as well.")
7181 (license license:bsd-3)))
7182
7183(define-public ghc-lzma-conduit
7184 (package
7185 (name "ghc-lzma-conduit")
7186 (version "1.2.1")
7187 (source
7188 (origin
7189 (method url-fetch)
7190 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7191 "lzma-conduit-" version ".tar.gz"))
7192 (sha256
7193 (base32
7194 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7195 (build-system haskell-build-system)
7196 (inputs
7197 `(("ghc-conduit" ,ghc-conduit)
7198 ("ghc-lzma" ,ghc-lzma)
7199 ("ghc-resourcet" ,ghc-resourcet)))
7200 (native-inputs
7201 `(("ghc-base-compat" ,ghc-base-compat)
7202 ("ghc-test-framework" ,ghc-test-framework)
7203 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7204 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7205 ("ghc-hunit" ,ghc-hunit)
7206 ("ghc-quickcheck" ,ghc-quickcheck)))
7207 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7208 (synopsis "Conduit interface for lzma/xz compression")
7209 (description
7210 "This package provides a @code{Conduit} interface for the LZMA
7211compression algorithm used in the @code{.xz} file format.")
7212 (license license:bsd-3)))
7213
e405912c
KM
7214(define-public ghc-magic
7215 (package
7216 (name "ghc-magic")
7217 (version "1.1")
7218 (source
7219 (origin
7220 (method url-fetch)
7221 (uri (string-append
7222 "https://hackage.haskell.org/package/magic/magic-"
7223 version ".tar.gz"))
7224 (sha256
7225 (base32
7226 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7227 (build-system haskell-build-system)
3ef91e15 7228 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7229 (synopsis "Interface to C file/magic library")
7230 (description
7231 "This package provides a full-featured binding to the C libmagic library.
7232With it, you can determine the type of a file by examining its contents rather
7233than its name.")
7234 (license license:bsd-3)))
7235
bcfe9dba
JS
7236(define-public ghc-managed
7237 (package
7238 (name "ghc-managed")
7239 (version "1.0.6")
7240 (source
7241 (origin
7242 (method url-fetch)
7243 (uri (string-append
7244 "mirror://hackage/package/managed/managed-"
7245 version
7246 ".tar.gz"))
7247 (sha256
7248 (base32
7249 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7250 (build-system haskell-build-system)
7251 (home-page "http://hackage.haskell.org/package/managed")
7252 (synopsis "Monad for managed values")
7253 (description
7254 "In Haskell you very often acquire values using the with... idiom using
7255functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7256special case of the ContT monad (from transformers) or the Codensity
7257monad (from kan-extensions). The main purpose behind this package is to
7258provide a restricted form of these monads specialized to this unusually common
7259case.
7260
7261The reason this package defines a specialized version of these types
7262is to:
7263
7264@itemize
7265@item be more beginner-friendly,
7266@item simplify inferred types and error messages, and:
7267@item provide some additional type class instances that would otherwise be
7268orphan instances
7269@end itemize")
7270 (license license:bsd-3)))
7271
dddbc90c
RV
7272(define-public ghc-markdown-unlit
7273 (package
7274 (name "ghc-markdown-unlit")
7275 (version "0.5.0")
7276 (source (origin
7277 (method url-fetch)
7278 (uri (string-append
7279 "mirror://hackage/package/markdown-unlit/"
7280 "markdown-unlit-" version ".tar.gz"))
7281 (sha256
7282 (base32
7283 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7284 (build-system haskell-build-system)
7285 (inputs
7286 `(("ghc-base-compat" ,ghc-base-compat)
7287 ("ghc-hspec" ,ghc-hspec)
7288 ("ghc-quickcheck" ,ghc-quickcheck)
7289 ("ghc-silently" ,ghc-silently)
7290 ("ghc-stringbuilder" ,ghc-stringbuilder)
7291 ("ghc-temporary" ,ghc-temporary)
7292 ("hspec-discover" ,hspec-discover)))
7293 (home-page "https://github.com/sol/markdown-unlit#readme")
7294 (synopsis "Literate Haskell support for Markdown")
7295 (description "This package allows you to have a README.md that at the
7296same time is a literate Haskell program.")
7297 (license license:expat)))
7298
7299(define-public ghc-math-functions
7300 (package
7301 (name "ghc-math-functions")
b45de2bf 7302 (version "0.3.3.0")
dddbc90c
RV
7303 (source
7304 (origin
7305 (method url-fetch)
7306 (uri (string-append "https://hackage.haskell.org/package/"
7307 "math-functions-" version "/"
7308 "math-functions-" version ".tar.gz"))
7309 (sha256
7310 (base32
b45de2bf 7311 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7312 (build-system haskell-build-system)
7313 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7314 (inputs
b45de2bf
TS
7315 `(("ghc-data-default-class" ,ghc-data-default-class)
7316 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7317 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7318 (native-inputs
7319 `(("ghc-hunit" ,ghc-hunit)
7320 ("ghc-quickcheck" ,ghc-quickcheck)
7321 ("ghc-erf" ,ghc-erf)
7322 ("ghc-test-framework" ,ghc-test-framework)
7323 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7324 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7325 (home-page "https://github.com/bos/math-functions")
7326 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7327 (description "This Haskell library provides implementations of
7328special mathematical functions and Chebyshev polynomials. These
7329functions are often useful in statistical and numerical computing.")
7330 (license license:bsd-3)))
7331
7332(define-public ghc-megaparsec
7333 (package
7334 (name "ghc-megaparsec")
03b0c92e 7335 (version "7.0.5")
dddbc90c
RV
7336 (source
7337 (origin
7338 (method url-fetch)
7339 (uri (string-append "https://hackage.haskell.org/package/"
7340 "megaparsec/megaparsec-"
7341 version ".tar.gz"))
7342 (sha256
7343 (base32
03b0c92e 7344 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7345 (build-system haskell-build-system)
dddbc90c
RV
7346 (inputs
7347 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7348 ("ghc-parser-combinators" ,ghc-parser-combinators)
7349 ("ghc-scientific" ,ghc-scientific)))
7350 (native-inputs
7351 `(("ghc-quickcheck" ,ghc-quickcheck)
7352 ("ghc-hspec" ,ghc-hspec)
7353 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7354 ("hspec-discover" ,hspec-discover)))
7355 (home-page "https://github.com/mrkkrp/megaparsec")
7356 (synopsis "Monadic parser combinators")
7357 (description
7358 "This is an industrial-strength monadic parser combinator library.
7359Megaparsec is a feature-rich package that strikes a nice balance between
7360speed, flexibility, and quality of parse errors.")
7361 (license license:bsd-2)))
7362
7363(define-public ghc-memory
7364 (package
7365 (name "ghc-memory")
d2c7d336 7366 (version "0.14.18")
dddbc90c
RV
7367 (source (origin
7368 (method url-fetch)
7369 (uri (string-append "https://hackage.haskell.org/package/"
7370 "memory/memory-" version ".tar.gz"))
7371 (sha256
7372 (base32
d2c7d336 7373 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7374 (build-system haskell-build-system)
7375 (inputs
7376 `(("ghc-basement" ,ghc-basement)
7377 ("ghc-foundation" ,ghc-foundation)))
7378 (native-inputs
7379 `(("ghc-tasty" ,ghc-tasty)
7380 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7381 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7382 (home-page "https://github.com/vincenthz/hs-memory")
7383 (synopsis "Memory abstractions for Haskell")
7384 (description
7385 "This package provides memory abstractions, such as chunk of memory,
7386polymorphic byte array management and manipulation functions. It contains a
7387polymorphic byte array abstraction and functions similar to strict ByteString,
7388different type of byte array abstraction, raw memory IO operations (memory
7389set, memory copy, ..) and more")
7390 (license license:bsd-3)))
7391
7392(define-public ghc-memotrie
7393 (package
7394 (name "ghc-memotrie")
7395 (version "0.6.9")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append
7400 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7401 version
7402 ".tar.gz"))
7403 (sha256
7404 (base32
7405 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7406 (build-system haskell-build-system)
7407 (inputs
7408 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7409 (home-page "https://github.com/conal/MemoTrie")
7410 (synopsis "Trie-based memo functions")
7411 (description "This package provides a functional library for creating
7412efficient memo functions using tries.")
7413 (license license:bsd-3)))
7414
7415(define-public ghc-microlens
7416 (package
7417 (name "ghc-microlens")
82478c58 7418 (version "0.4.10")
dddbc90c
RV
7419 (source
7420 (origin
7421 (method url-fetch)
7422 (uri (string-append "https://hackage.haskell.org/package/"
7423 "microlens-" version "/"
7424 "microlens-" version ".tar.gz"))
7425 (sha256
7426 (base32
82478c58 7427 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7428 (build-system haskell-build-system)
7429 (home-page
7430 "https://github.com/aelve/microlens")
7431 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7432 (description "This Haskell package provides a lens library, just like
7433@code{ghc-lens}, but smaller. It provides essential lenses and
7434traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7435nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7436combinators (like @code{failing} and @code{singular}), but everything else is
7437stripped. As the result, this package has no dependencies.")
7438 (license license:bsd-3)))
7439
1cd3333e
TS
7440(define-public ghc-microlens-aeson
7441 (package
7442 (name "ghc-microlens-aeson")
7443 (version "2.3.0.4")
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append "https://hackage.haskell.org/package/"
7448 "microlens-aeson/microlens-aeson-"
7449 version ".tar.gz"))
b4a00fec 7450 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7451 (sha256
7452 (base32
7453 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7454 (build-system haskell-build-system)
7455 (inputs
7456 `(("ghc-aeson" ,ghc-aeson)
7457 ("ghc-attoparsec" ,ghc-attoparsec)
7458 ("ghc-hashable" ,ghc-hashable)
7459 ("ghc-microlens" ,ghc-microlens)
7460 ("ghc-scientific" ,ghc-scientific)
7461 ("ghc-unordered-containers" ,ghc-unordered-containers)
7462 ("ghc-vector" ,ghc-vector)))
7463 (native-inputs
7464 `(("ghc-tasty" ,ghc-tasty)
7465 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7466 (home-page "https://github.com/fosskers/microlens-aeson")
7467 (synopsis "Law-abiding lenses for Aeson, using microlens")
7468 (description "This library provides law-abiding lenses for Aeson, using
7469microlens.")
7470 (license license:expat)))
7471
dddbc90c
RV
7472(define-public ghc-microlens-ghc
7473 (package
7474 (name "ghc-microlens-ghc")
027beb55 7475 (version "0.4.10")
dddbc90c
RV
7476 (source
7477 (origin
7478 (method url-fetch)
7479 (uri (string-append
7480 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7481 version
7482 ".tar.gz"))
7483 (sha256
7484 (base32
027beb55 7485 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7486 (build-system haskell-build-system)
7487 (inputs `(("ghc-microlens" ,ghc-microlens)))
7488 (home-page "https://github.com/monadfix/microlens")
7489 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7490 (description "This library provides everything that @code{microlens}
7491provides plus instances to make @code{each}, @code{at}, and @code{ix}
7492usable with arrays, @code{ByteString}, and containers. This package is
7493a part of the @uref{http://hackage.haskell.org/package/microlens,
7494microlens} family; see the readme
7495@uref{https://github.com/aelve/microlens#readme, on Github}.")
7496 (license license:bsd-3)))
7497
7498(define-public ghc-microlens-mtl
7499 (package
7500 (name "ghc-microlens-mtl")
7501 (version "0.1.11.1")
7502 (source
7503 (origin
7504 (method url-fetch)
7505 (uri (string-append
7506 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7507 version
7508 ".tar.gz"))
7509 (sha256
7510 (base32
7511 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7512 (build-system haskell-build-system)
7513 (inputs
7514 `(("ghc-microlens" ,ghc-microlens)
7515 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7516 (home-page "https://github.com/monadfix/microlens")
7517 (synopsis
7518 "@code{microlens} support for Reader/Writer/State from mtl")
7519 (description
7520 "This package contains functions (like @code{view} or @code{+=}) which
7521work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7522mtl package. This package is a part of the
7523@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7524readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7525 (license license:bsd-3)))
7526
7527(define-public ghc-microlens-platform
7528 (package
7529 (name "ghc-microlens-platform")
85decc1f 7530 (version "0.3.11")
dddbc90c
RV
7531 (source
7532 (origin
7533 (method url-fetch)
7534 (uri (string-append
7535 "https://hackage.haskell.org/package/"
7536 "microlens-platform/microlens-platform-" version ".tar.gz"))
7537 (sha256
7538 (base32
85decc1f 7539 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7540 (build-system haskell-build-system)
7541 (inputs
7542 `(("ghc-hashable" ,ghc-hashable)
7543 ("ghc-microlens" ,ghc-microlens)
7544 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7545 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7546 ("ghc-microlens-th" ,ghc-microlens-th)
7547 ("ghc-unordered-containers" ,ghc-unordered-containers)
7548 ("ghc-vector" ,ghc-vector)))
7549 (home-page "https://github.com/monadfix/microlens")
7550 (synopsis "Feature-complete microlens")
7551 (description
7552 "This package exports a module which is the recommended starting point
7553for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7554you aren't trying to keep your dependencies minimal. By importing
7555@code{Lens.Micro.Platform} you get all functions and instances from
7556@uref{http://hackage.haskell.org/package/microlens, microlens},
7557@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7558@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7559@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7560well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7561minor and major versions of @code{microlens-platform} are incremented whenever
7562the minor and major versions of any other @code{microlens} package are
7563incremented, so you can depend on the exact version of
7564@code{microlens-platform} without specifying the version of @code{microlens}
7565you need. This package is a part of the
7566@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7567readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7568 (license license:bsd-3)))
7569
7570(define-public ghc-microlens-th
7571 (package
7572 (name "ghc-microlens-th")
7ae52867 7573 (version "0.4.2.3")
dddbc90c
RV
7574 (source
7575 (origin
7576 (method url-fetch)
7577 (uri (string-append "https://hackage.haskell.org/package/"
7578 "microlens-th-" version "/"
7579 "microlens-th-" version ".tar.gz"))
7580 (sha256
7581 (base32
7ae52867 7582 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7583 (build-system haskell-build-system)
7ae52867
TS
7584 (arguments
7585 `(#:cabal-revision
7586 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7587 (inputs `(("ghc-microlens" ,ghc-microlens)
7588 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7589 (home-page
7590 "https://github.com/aelve/microlens")
7591 (synopsis "Automatic generation of record lenses for
7592@code{ghc-microlens}")
7593 (description "This Haskell package lets you automatically generate lenses
7594for data types; code was extracted from the lens package, and therefore
7595generated lenses are fully compatible with ones generated by lens (and can be
7596used both from lens and microlens).")
7597 (license license:bsd-3)))
7598
7599(define-public ghc-missingh
7600 (package
7601 (name "ghc-missingh")
641207cb 7602 (version "1.4.1.0")
dddbc90c
RV
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7607 "MissingH-" version ".tar.gz"))
7608 (sha256
7609 (base32
641207cb 7610 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7611 (build-system haskell-build-system)
7612 ;; Tests require the unmaintained testpack package, which depends on the
7613 ;; outdated QuickCheck version 2.7, which can no longer be built with
7614 ;; recent versions of GHC and Haskell libraries.
7615 (arguments '(#:tests? #f))
7616 (inputs
7617 `(("ghc-network" ,ghc-network)
7618 ("ghc-hunit" ,ghc-hunit)
7619 ("ghc-regex-compat" ,ghc-regex-compat)
7620 ("ghc-hslogger" ,ghc-hslogger)
7621 ("ghc-random" ,ghc-random)
7622 ("ghc-old-time" ,ghc-old-time)
7623 ("ghc-old-locale" ,ghc-old-locale)))
7624 (native-inputs
7625 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7626 ("ghc-quickcheck" ,ghc-quickcheck)
7627 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7628 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7629 (synopsis "Large utility library")
7630 (description
7631 "MissingH is a library of all sorts of utility functions for Haskell
7632programmers. It is written in pure Haskell and thus should be extremely
7633portable and easy to use.")
7634 (license license:bsd-3)))
7635
7636(define-public ghc-mmap
7637 (package
7638 (name "ghc-mmap")
7639 (version "0.5.9")
7640 (source (origin
7641 (method url-fetch)
7642 (uri (string-append "https://hackage.haskell.org/package/"
7643 "mmap/mmap-" version ".tar.gz"))
7644 (sha256
7645 (base32
7646 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7647 (build-system haskell-build-system)
7648 (home-page "https://hackage.haskell.org/package/mmap")
7649 (synopsis "Memory mapped files for Haskell")
7650 (description
7651 "This library provides a wrapper to @code{mmap}, allowing files or
7652devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7653@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7654do on-demand loading.")
7655 (license license:bsd-3)))
7656
7657(define-public ghc-mmorph
7658 (package
7659 (name "ghc-mmorph")
e0389704 7660 (version "1.1.3")
dddbc90c
RV
7661 (source
7662 (origin
7663 (method url-fetch)
7664 (uri (string-append
7665 "https://hackage.haskell.org/package/mmorph/mmorph-"
7666 version
7667 ".tar.gz"))
7668 (sha256
7669 (base32
e0389704 7670 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7671 (build-system haskell-build-system)
7672 (inputs
7673 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7674 (home-page "https://hackage.haskell.org/package/mmorph")
7675 (synopsis "Monad morphisms")
7676 (description
7677 "This library provides monad morphism utilities, most commonly used for
7678manipulating monad transformer stacks.")
7679 (license license:bsd-3)))
7680
7681(define-public ghc-mockery
7682 (package
7683 (name "ghc-mockery")
7684 (version "0.3.5")
7685 (source (origin
7686 (method url-fetch)
7687 (uri (string-append "https://hackage.haskell.org/package/"
7688 "mockery/mockery-" version ".tar.gz"))
7689 (sha256
7690 (base32
7691 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7692 (build-system haskell-build-system)
7693 (inputs
7694 `(("ghc-temporary" ,ghc-temporary)
7695 ("ghc-logging-facade" ,ghc-logging-facade)
7696 ("ghc-base-compat" ,ghc-base-compat)))
7697 (native-inputs
7698 `(("ghc-hspec" ,ghc-hspec)
7699 ("hspec-discover" ,hspec-discover)))
7700 (home-page "https://hackage.haskell.org/package/mockery")
7701 (synopsis "Support functions for automated testing")
7702 (description
7703 "The mockery package provides support functions for automated testing.")
7704 (license license:expat)))
7705
7706(define-public ghc-monad-control
7707 (package
7708 (name "ghc-monad-control")
7709 (version "1.0.2.3")
7710 (source
7711 (origin
7712 (method url-fetch)
7713 (uri (string-append
7714 "https://hackage.haskell.org/package/monad-control"
7715 "/monad-control-" version ".tar.gz"))
7716 (sha256
7717 (base32
7718 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7719 (build-system haskell-build-system)
7720 (inputs
7721 `(("ghc-transformers-base" ,ghc-transformers-base)
7722 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7723 (home-page "https://github.com/basvandijk/monad-control")
7724 (synopsis "Monad transformers to lift control operations like exception
7725catching")
7726 (description "This package defines the type class @code{MonadBaseControl},
7727a subset of @code{MonadBase} into which generic control operations such as
7728@code{catch} can be lifted from @code{IO} or any other base monad.")
7729 (license license:bsd-3)))
7730
7731(define-public ghc-monad-logger
7732 (package
7733 (name "ghc-monad-logger")
26980aae 7734 (version "0.3.30")
dddbc90c
RV
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/"
7739 "monad-logger-" version "/"
7740 "monad-logger-" version ".tar.gz"))
7741 (sha256
7742 (base32
26980aae 7743 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7744 (build-system haskell-build-system)
7745 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7746 ("ghc-stm-chans" ,ghc-stm-chans)
7747 ("ghc-lifted-base" ,ghc-lifted-base)
7748 ("ghc-resourcet" ,ghc-resourcet)
7749 ("ghc-conduit" ,ghc-conduit)
7750 ("ghc-conduit-extra" ,ghc-conduit-extra)
7751 ("ghc-fast-logger" ,ghc-fast-logger)
7752 ("ghc-transformers-base" ,ghc-transformers-base)
7753 ("ghc-monad-control" ,ghc-monad-control)
7754 ("ghc-monad-loops" ,ghc-monad-loops)
7755 ("ghc-blaze-builder" ,ghc-blaze-builder)
7756 ("ghc-exceptions" ,ghc-exceptions)))
7757 (home-page "https://github.com/kazu-yamamoto/logger")
7758 (synopsis "Provides a class of monads which can log messages for Haskell")
7759 (description "This Haskell package uses a monad transformer approach
7760for logging.
7761
7762This package provides Template Haskell functions for determining source
7763code locations of messages.")
7764 (license license:expat)))
7765
7766(define-public ghc-monad-loops
7767 (package
7768 (name "ghc-monad-loops")
7769 (version "0.4.3")
7770 (source
7771 (origin
7772 (method url-fetch)
7773 (uri (string-append "https://hackage.haskell.org/package/"
7774 "monad-loops-" version "/"
7775 "monad-loops-" version ".tar.gz"))
7776 (sha256
7777 (base32
7778 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7779 (build-system haskell-build-system)
7780 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7781 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7782 (home-page "https://github.com/mokus0/monad-loops")
7783 (synopsis "Monadic loops for Haskell")
7784 (description "This Haskell package provides some useful control
7785operators for looping.")
7786 (license license:public-domain)))
7787
7788(define-public ghc-monad-par
7789 (package
7790 (name "ghc-monad-par")
7791 (version "0.3.4.8")
7792 (source
7793 (origin
7794 (method url-fetch)
7795 (uri (string-append "https://hackage.haskell.org/package/"
7796 "monad-par-" version "/"
7797 "monad-par-" version ".tar.gz"))
faac56f3 7798 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7799 (sha256
7800 (base32
7801 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7802 (build-system haskell-build-system)
7803 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7804 ("ghc-abstract-deque" ,ghc-abstract-deque)
7805 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7806 ("ghc-mwc-random" ,ghc-mwc-random)
7807 ("ghc-parallel" ,ghc-parallel)))
7808 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7809 ("ghc-hunit" ,ghc-hunit)
7810 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7811 ("ghc-test-framework-quickcheck2"
7812 ,ghc-test-framework-quickcheck2)
7813 ("ghc-test-framework" ,ghc-test-framework)
7814 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7815 (home-page "https://github.com/simonmar/monad-par")
7816 (synopsis "Haskell library for parallel programming based on a monad")
7817 (description "The @code{Par} monad offers an API for parallel
7818programming. The library works for parallelising both pure and @code{IO}
7819computations, although only the pure version is deterministic. The default
7820implementation provides a work-stealing scheduler and supports forking tasks
7821that are much lighter weight than IO-threads.")
7822 (license license:bsd-3)))
7823
7824(define-public ghc-monad-par-extras
7825 (package
7826 (name "ghc-monad-par-extras")
7827 (version "0.3.3")
7828 (source
7829 (origin
7830 (method url-fetch)
7831 (uri (string-append "https://hackage.haskell.org/package/"
7832 "monad-par-extras-" version "/"
7833 "monad-par-extras-" version ".tar.gz"))
7834 (sha256
7835 (base32
7836 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7837 (build-system haskell-build-system)
7838 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7839 ("ghc-cereal" ,ghc-cereal)
7840 ("ghc-random" ,ghc-random)))
7841 (home-page "https://github.com/simonmar/monad-par")
7842 (synopsis "Combinators and extra features for Par monads for Haskell")
7843 (description "This Haskell package provides additional data structures,
7844and other added capabilities layered on top of the @code{Par} monad.")
7845 (license license:bsd-3)))
7846
dddbc90c
RV
7847(define-public ghc-monadrandom
7848 (package
7849 (name "ghc-monadrandom")
7850 (version "0.5.1.1")
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "MonadRandom-" version "/"
7856 "MonadRandom-" version ".tar.gz"))
7857 (sha256
7858 (base32
7859 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7860 (build-system haskell-build-system)
7861 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7862 ("ghc-primitive" ,ghc-primitive)
7863 ("ghc-fail" ,ghc-fail)
7864 ("ghc-random" ,ghc-random)))
7865 (home-page "https://github.com/byorgey/MonadRandom")
7866 (synopsis "Random-number generation monad for Haskell")
7867 (description "This Haskell package provides support for computations
7868which consume random values.")
7869 (license license:bsd-3)))
7870
7871(define-public ghc-monads-tf
7872 (package
7873 (name "ghc-monads-tf")
7874 (version "0.1.0.3")
7875 (source
7876 (origin
7877 (method url-fetch)
7878 (uri (string-append
7879 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7880 version ".tar.gz"))
7881 (sha256
7882 (base32
7883 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7884 (build-system haskell-build-system)
7885 (home-page "https://hackage.haskell.org/package/monads-tf")
7886 (synopsis "Monad classes, using type families")
7887 (description
7888 "Monad classes using type families, with instances for various monad transformers,
7889inspired by the paper 'Functional Programming with Overloading and Higher-Order
7890Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7891the @code{mtl-tf} package.")
7892 (license license:bsd-3)))
7893
7894(define-public ghc-mono-traversable
7895 (package
7896 (name "ghc-mono-traversable")
23bb445b 7897 (version "1.0.13.0")
dddbc90c
RV
7898 (source
7899 (origin
7900 (method url-fetch)
7901 (uri (string-append "https://hackage.haskell.org/package/"
7902 "mono-traversable-" version "/"
7903 "mono-traversable-" version ".tar.gz"))
7904 (sha256
7905 (base32
23bb445b 7906 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7907 (build-system haskell-build-system)
7908 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7909 ("ghc-hashable" ,ghc-hashable)
7910 ("ghc-vector" ,ghc-vector)
7911 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7912 ("ghc-split" ,ghc-split)))
7913 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7914 ("ghc-hunit" ,ghc-hunit)
7915 ("ghc-quickcheck" ,ghc-quickcheck)
7916 ("ghc-semigroups" ,ghc-semigroups)
7917 ("ghc-foldl" ,ghc-foldl)))
7918 (home-page "https://github.com/snoyberg/mono-traversable")
7919 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7920containers")
7921 (description "This Haskell package provides Monomorphic variants of the
7922Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7923basic typeclasses, you understand mono-traversable. In addition to what
7924you are used to, it adds on an IsSequence typeclass and has code for marking
7925data structures as non-empty.")
7926 (license license:expat)))
7927
471e77cf
TS
7928(define-public ghc-monoid-extras
7929 (package
7930 (name "ghc-monoid-extras")
7931 (version "0.5.1")
7932 (source
7933 (origin
7934 (method url-fetch)
7935 (uri (string-append "https://hackage.haskell.org/package/"
7936 "monoid-extras/monoid-extras-" version ".tar.gz"))
7937 (sha256
7938 (base32
7939 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7940 (build-system haskell-build-system)
7941 (inputs
7942 `(("ghc-groups" ,ghc-groups)
7943 ("ghc-semigroups" ,ghc-semigroups)
7944 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7945 (arguments
7946 `(#:cabal-revision
7947 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7948 (home-page "https://hackage.haskell.org/package/monoid-extras")
7949 (synopsis "Various extra monoid-related definitions and utilities")
7950 (description "This package provides various extra monoid-related
7951definitions and utilities, such as monoid actions, monoid coproducts,
7952semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7953\"cut\" monoids.")
7954 (license license:bsd-3)))
7955
4759b617
JS
7956(define-public ghc-mtl-compat
7957 (package
7958 (name "ghc-mtl-compat")
7959 (version "0.2.2")
7960 (source
7961 (origin
7962 (method url-fetch)
7963 (uri (string-append
7964 "mirror://hackage/package/mtl-compat/mtl-compat-"
7965 version
7966 ".tar.gz"))
7967 (sha256
7968 (base32
7969 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7970 (build-system haskell-build-system)
7971 (home-page
7972 "https://github.com/haskell-compat/mtl-compat")
7973 (synopsis
7974 "Backported Control.Monad.Except module from mtl")
7975 (description
7976 "This package backports the Control.Monad.Except module from mtl (if
7977using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7978and the MonadError class.
7979
7980This package should only be used if there is a need to use the
7981Control.Monad.Except module specifically. If you just want the mtl class
7982instances for ExceptT, use transformers-compat instead, since mtl-compat does
7983nothing but reexport the instances from that package.
7984
7985Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7986module defined in this package exports all of ExceptT's monad class instances.
7987Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7988the top of your file to get all of the ExceptT instances in scope.")
7989 (license license:bsd-3)))
7990
dddbc90c
RV
7991(define-public ghc-murmur-hash
7992 (package
7993 (name "ghc-murmur-hash")
7994 (version "0.1.0.9")
7995 (source
7996 (origin
7997 (method url-fetch)
7998 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7999 "/murmur-hash-" version ".tar.gz"))
8000 (sha256
8001 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8002 (build-system haskell-build-system)
8003 (home-page "https://github.com/nominolo/murmur-hash")
8004 (synopsis "MurmurHash2 implementation for Haskell")
8005 (description
8006 "This package provides an implementation of MurmurHash2, a good, fast,
8007general-purpose, non-cryptographic hashing function. See
8008@url{https://sites.google.com/site/murmurhash/} for details. This
8009implementation is pure Haskell, so it might be a bit slower than a C FFI
8010binding.")
8011 (license license:bsd-3)))
8012
8013(define-public ghc-mwc-random
8014 (package
8015 (name "ghc-mwc-random")
33268e2c 8016 (version "0.14.0.0")
dddbc90c
RV
8017 (source
8018 (origin
8019 (method url-fetch)
8020 (uri (string-append "https://hackage.haskell.org/package/"
8021 "mwc-random-" version "/"
8022 "mwc-random-" version ".tar.gz"))
8023 (sha256
8024 (base32
33268e2c 8025 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8026 (build-system haskell-build-system)
8027 (inputs
8028 `(("ghc-primitive" ,ghc-primitive)
8029 ("ghc-vector" ,ghc-vector)
8030 ("ghc-math-functions" ,ghc-math-functions)))
8031 (arguments
8032 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8033 (native-inputs
8034 `(("ghc-hunit" ,ghc-hunit)
8035 ("ghc-quickcheck" ,ghc-quickcheck)
8036 ("ghc-test-framework" ,ghc-test-framework)
8037 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8038 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8039 (home-page "https://github.com/bos/mwc-random")
8040 (synopsis "Random number generation library for Haskell")
8041 (description "This Haskell package contains code for generating
8042high quality random numbers that follow either a uniform or normal
8043distribution. The generated numbers are suitable for use in
8044statistical applications.
8045
8046The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8047multiply-with-carry generator, which has a period of 2^{8222} and
8048fares well in tests of randomness. It is also extremely fast,
8049between 2 and 3 times faster than the Mersenne Twister.")
8050 (license license:bsd-3)))
8051
8052(define-public ghc-nats
8053 (package
8054 (name "ghc-nats")
8055 (version "1.1.2")
8056 (source
8057 (origin
8058 (method url-fetch)
8059 (uri (string-append
8060 "https://hackage.haskell.org/package/nats/nats-"
8061 version
8062 ".tar.gz"))
8063 (sha256
8064 (base32
8065 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8066 (build-system haskell-build-system)
8067 (arguments `(#:haddock? #f))
8068 (inputs
8069 `(("ghc-hashable" ,ghc-hashable)))
8070 (home-page "https://hackage.haskell.org/package/nats")
8071 (synopsis "Natural numbers")
8072 (description "This library provides the natural numbers for Haskell.")
8073 (license license:bsd-3)))
8074
8075(define-public ghc-nats-bootstrap
8076 (package
8077 (inherit ghc-nats)
8078 (name "ghc-nats-bootstrap")
8079 (inputs
8080 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8081 (properties '((hidden? #t)))))
8082
52915062
EF
8083(define-public ghc-ncurses
8084 (package
8085 (name "ghc-ncurses")
8086 (version "0.2.16")
8087 (source
8088 (origin
8089 (method url-fetch)
8090 (uri (string-append
8091 "https://hackage.haskell.org/package/ncurses/ncurses-"
8092 version ".tar.gz"))
8093 (sha256
8094 (base32
8095 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8096 (build-system haskell-build-system)
8097 (arguments
8098 '(#:phases
8099 (modify-phases %standard-phases
8100 (add-before 'build 'fix-includes
8101 (lambda _
8102 (substitute* '("cbits/hsncurses-shim.h"
8103 "lib/UI/NCurses.chs"
8104 "lib/UI/NCurses/Enums.chs"
8105 "lib/UI/NCurses/Panel.chs")
8106 (("<ncursesw/") "<"))
8107 #t)))
8108 #:cabal-revision
8109 ("1"
8110 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8111 (inputs `(("ncurses" ,ncurses)))
8112 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8113 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8114 (synopsis "Modernised bindings to GNU ncurses")
8115 (description "GNU ncurses is a library for creating command-line application
8116with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8117ncurses.")
8118 (license license:gpl3)))
8119
dddbc90c
RV
8120(define-public ghc-network
8121 (package
8122 (name "ghc-network")
d4473202 8123 (version "2.8.0.1")
dddbc90c
RV
8124 (outputs '("out" "doc"))
8125 (source
8126 (origin
8127 (method url-fetch)
8128 (uri (string-append
8129 "https://hackage.haskell.org/package/network/network-"
8130 version
8131 ".tar.gz"))
8132 (sha256
8133 (base32
d4473202 8134 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8135 (build-system haskell-build-system)
8136 ;; The regression tests depend on an unpublished module.
8137 (arguments `(#:tests? #f))
8138 (native-inputs
8139 `(("ghc-hunit" ,ghc-hunit)
8140 ("ghc-doctest" ,ghc-doctest)
8141 ("ghc-test-framework" ,ghc-test-framework)
8142 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8143 (home-page "https://github.com/haskell/network")
8144 (synopsis "Low-level networking interface")
8145 (description
8146 "This package provides a low-level networking interface.")
8147 (license license:bsd-3)))
4780db2c 8148
30eebbe6
TS
8149(define-public ghc-network-bsd
8150 (package
8151 (name "ghc-network-bsd")
8152 (version "2.8.0.0")
8153 (source
8154 (origin
8155 (method url-fetch)
8156 (uri (string-append "https://hackage.haskell.org/package/"
8157 "network-bsd/network-bsd-" version ".tar.gz"))
8158 (sha256
8159 (base32
8160 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8161 (build-system haskell-build-system)
8162 (inputs
8163 `(("ghc-network" ,ghc-network)))
8164 (home-page "https://github.com/haskell/network-bsd")
8165 (synopsis "POSIX network database (<netdb.h>) API")
8166 (description "This package provides Haskell bindings to the the POSIX
8167network database (<netdb.h>) API.")
8168 (license license:bsd-3)))
8169
096781a1
TS
8170(define-public ghc-network-byte-order
8171 (package
8172 (name "ghc-network-byte-order")
8173 (version "0.1.1.1")
8174 (source
8175 (origin
8176 (method url-fetch)
8177 (uri (string-append "https://hackage.haskell.org/package/"
8178 "network-byte-order/network-byte-order-"
8179 version ".tar.gz"))
8180 (sha256
8181 (base32
8182 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8183 (build-system haskell-build-system)
8184 (native-inputs
8185 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8186 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8187 (synopsis "Network byte order utilities")
8188 (description "This library provides peek and poke functions for network
8189byte order.")
8190 (license license:bsd-3)))
8191
dddbc90c
RV
8192(define-public ghc-network-info
8193 (package
8194 (name "ghc-network-info")
8195 (version "0.2.0.10")
8196 (source
8197 (origin
8198 (method url-fetch)
8199 (uri (string-append "https://hackage.haskell.org/package/"
8200 "network-info-" version "/"
8201 "network-info-" version ".tar.gz"))
8202 (sha256
8203 (base32
8204 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8205 (build-system haskell-build-system)
8206 (home-page "https://github.com/jystic/network-info")
8207 (synopsis "Access the local computer's basic network configuration")
8208 (description "This Haskell library provides simple read-only access to the
8209local computer's networking configuration. It is currently capable of
8210getting a list of all the network interfaces and their respective
8211IPv4, IPv6 and MAC addresses.")
8212 (license license:bsd-3)))
8213
8214(define-public ghc-network-uri
8215 (package
8216 (name "ghc-network-uri")
8217 (version "2.6.1.0")
8218 (outputs '("out" "doc"))
8219 (source
8220 (origin
8221 (method url-fetch)
8222 (uri (string-append
8223 "https://hackage.haskell.org/package/network-uri/network-uri-"
8224 version
8225 ".tar.gz"))
8226 (sha256
8227 (base32
8228 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8229 (build-system haskell-build-system)
8230 (arguments
8231 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8232 (inputs
8233 `(("ghc-network" ,ghc-network)))
8234 (native-inputs
8235 `(("ghc-hunit" ,ghc-hunit)))
8236 (home-page
8237 "https://github.com/haskell/network-uri")
8238 (synopsis "Library for URI manipulation")
8239 (description "This package provides an URI manipulation interface. In
8240@code{network-2.6} the @code{Network.URI} module was split off from the
8241@code{network} package into this package.")
8242 (license license:bsd-3)))
8243
8244(define-public ghc-newtype-generics
8245 (package
8246 (name "ghc-newtype-generics")
c07e16dd 8247 (version "0.5.4")
dddbc90c
RV
8248 (source
8249 (origin
8250 (method url-fetch)
8251 (uri (string-append "https://hackage.haskell.org/package/"
8252 "newtype-generics/newtype-generics-"
8253 version ".tar.gz"))
8254 (sha256
8255 (base32
c07e16dd 8256 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8257 (build-system haskell-build-system)
8258 (native-inputs
8259 `(("ghc-hspec" ,ghc-hspec)
8260 ("hspec-discover" ,hspec-discover)))
8261 (home-page "http://github.com/sjakobi/newtype-generics")
8262 (synopsis "Typeclass and set of functions for working with newtypes")
8263 (description "The @code{Newtype} typeclass represents the packing and
8264unpacking of a newtype, and allows you to operate under that newtype with
8265functions such as @code{ala}. Generics support was added in version 0.4,
8266making this package a full replacement for the original newtype package,
8267and an alternative to newtype-th.")
8268 (license license:bsd-3)))
8269
6b652f5a
JS
8270(define-public ghc-non-negative
8271 (package
8272 (name "ghc-non-negative")
8273 (version "0.1.2")
8274 (source
8275 (origin
8276 (method url-fetch)
8277 (uri
8278 (string-append
8279 "https://hackage.haskell.org/package/non-negative/non-negative-"
8280 version ".tar.gz"))
8281 (sha256
8282 (base32
8283 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8284 (build-system haskell-build-system)
8285 (inputs
8286 `(("ghc-semigroups" ,ghc-semigroups)
8287 ("ghc-utility-ht" ,ghc-utility-ht)
8288 ("ghc-quickcheck" ,ghc-quickcheck)))
8289 (home-page "https://hackage.haskell.org/package/non-negative")
8290 (synopsis "Non-negative numbers class")
8291 (description "This library provides a class for non-negative numbers,
8292a wrapper which can turn any ordered numeric type into a member of that
8293class, and a lazy number type for non-negative numbers (a generalization
8294of Peano numbers).")
8295 (license license:gpl3+)))
8296
49bcca84
ASM
8297(define-public ghc-nonce
8298 (package
8299 (name "ghc-nonce")
8300 (version "1.0.7")
8301 (source
8302 (origin
8303 (method url-fetch)
8304 (uri (string-append
8305 "https://hackage.haskell.org/package/nonce/"
8306 "nonce-" version ".tar.gz"))
8307 (sha256
8308 (base32
8309 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8310 (build-system haskell-build-system)
8311 (inputs
8312 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8313 ("ghc-entropy" ,ghc-entropy)
8314 ("ghc-unliftio" ,ghc-unliftio)
8315 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8316 (home-page "https://github.com/prowdsponsor/nonce")
8317 (synopsis "Generate cryptographic nonces in Haskell")
8318 (description
8319 "A nonce is an arbitrary number used only once in a cryptographic
8320communication. This package contain helper functions for generating nonces.
8321There are many kinds of nonces used in different situations. It's not
8322guaranteed that by using the nonces from this package you won't have any
8323security issues. Please make sure that the nonces generated via this
8324package are usable on your design.")
8325 (license license:bsd-3)))
8326
194a82e6
TS
8327(define-public ghc-numeric-extras
8328 (package
8329 (name "ghc-numeric-extras")
8330 (version "0.1")
8331 (source
8332 (origin
8333 (method url-fetch)
8334 (uri (string-append "https://hackage.haskell.org/package/"
8335 "numeric-extras/numeric-extras-"
8336 version ".tar.gz"))
8337 (sha256
8338 (base32
8339 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8340 (build-system haskell-build-system)
8341 (home-page "https://github.com/ekmett/numeric-extras")
8342 (synopsis "Useful tools from the C standard library")
8343 (description "This library provides some useful tools from the C
8344standard library.")
8345 (license license:bsd-3)))
8346
dddbc90c
RV
8347(define-public ghc-objectname
8348 (package
8349 (name "ghc-objectname")
8350 (version "1.1.0.1")
8351 (source
8352 (origin
8353 (method url-fetch)
8354 (uri (string-append
8355 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8356 version
8357 ".tar.gz"))
8358 (sha256
8359 (base32
8360 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8361 (build-system haskell-build-system)
8362 (home-page "https://hackage.haskell.org/package/ObjectName")
8363 (synopsis "Helper library for Haskell OpenGL")
8364 (description "This tiny package contains the class ObjectName, which
8365corresponds to the general notion of explicitly handled identifiers for API
8366objects, e.g. a texture object name in OpenGL or a buffer object name in
8367OpenAL.")
8368 (license license:bsd-3)))
8369
8370(define-public ghc-old-locale
8371 (package
8372 (name "ghc-old-locale")
8373 (version "1.0.0.7")
8374 (source
8375 (origin
8376 (method url-fetch)
8377 (uri (string-append
8378 "https://hackage.haskell.org/package/old-locale/old-locale-"
8379 version
8380 ".tar.gz"))
8381 (sha256
8382 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8383 (build-system haskell-build-system)
8384 (arguments
8385 `(#:cabal-revision
8386 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8387 (home-page "https://hackage.haskell.org/package/old-locale")
8388 (synopsis "Adapt to locale conventions")
8389 (description
8390 "This package provides the ability to adapt to locale conventions such as
8391date and time formats.")
8392 (license license:bsd-3)))
8393
8394(define-public ghc-old-time
8395 (package
8396 (name "ghc-old-time")
8397 (version "1.1.0.3")
8398 (source
8399 (origin
8400 (method url-fetch)
8401 (uri (string-append
8402 "https://hackage.haskell.org/package/old-time/old-time-"
8403 version
8404 ".tar.gz"))
8405 (sha256
8406 (base32
8407 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8408 (build-system haskell-build-system)
8409 (arguments
8410 `(#:cabal-revision
8411 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8412 (inputs
8413 `(("ghc-old-locale" ,ghc-old-locale)))
8414 (home-page "https://hackage.haskell.org/package/old-time")
8415 (synopsis "Time compatibility library for Haskell")
8416 (description "Old-time is a package for backwards compatibility with the
8417old @code{time} library. For new projects, the newer
8418@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8419 (license license:bsd-3)))
8420
8421(define-public ghc-opengl
8422 (package
8423 (name "ghc-opengl")
79a06910 8424 (version "3.0.3.0")
dddbc90c
RV
8425 (source
8426 (origin
8427 (method url-fetch)
8428 (uri (string-append
8429 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8430 version
8431 ".tar.gz"))
8432 (sha256
8433 (base32
79a06910 8434 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8435 (build-system haskell-build-system)
79a06910
TS
8436 (arguments
8437 `(#:cabal-revision
8438 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8439 (inputs
8440 `(("ghc-objectname" ,ghc-objectname)
8441 ("ghc-gluraw" ,ghc-gluraw)
8442 ("ghc-statevar" ,ghc-statevar)
8443 ("ghc-openglraw" ,ghc-openglraw)))
8444 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8445 (synopsis "Haskell bindings for the OpenGL graphics system")
8446 (description "This package provides Haskell bindings for the OpenGL
8447graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8448version 1.3).")
8449 (license license:bsd-3)))
8450
8451(define-public ghc-openglraw
8452 (package
8453 (name "ghc-openglraw")
15ebc815 8454 (version "3.3.3.0")
dddbc90c
RV
8455 (source
8456 (origin
8457 (method url-fetch)
8458 (uri (string-append
8459 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8460 version
8461 ".tar.gz"))
8462 (sha256
8463 (base32
15ebc815 8464 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8465 (build-system haskell-build-system)
8466 (inputs
8467 `(("ghc-half" ,ghc-half)
8468 ("ghc-fixed" ,ghc-fixed)
8469 ("glu" ,glu)))
8470 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8471 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8472 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8473graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8474of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8475offers access to all necessary functions, tokens and types plus a general
8476facility for loading extension entries. The module hierarchy closely mirrors
8477the naming structure of the OpenGL extensions, making it easy to find the
8478right module to import. All API entries are loaded dynamically, so no special
8479C header files are needed for building this package. If an API entry is not
8480found at runtime, a userError is thrown.")
8481 (license license:bsd-3)))
8482
8483(define-public ghc-operational
8484 (package
8485 (name "ghc-operational")
8486 (version "0.2.3.5")
8487 (source
8488 (origin
8489 (method url-fetch)
8490 (uri (string-append "https://hackage.haskell.org/package/operational/"
8491 "operational-" version ".tar.gz"))
8492 (sha256
8493 (base32
8494 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8495 (build-system haskell-build-system)
8496 (inputs
8497 `(("ghc-random" ,ghc-random)))
8498 (home-page "http://wiki.haskell.org/Operational")
8499 (synopsis "Implementation of difficult monads made easy with operational semantics")
8500 (description
8501 "This library makes it easy to implement monads with tricky control
8502flow. This is useful for: writing web applications in a sequential style,
8503programming games with a uniform interface for human and AI players and easy
8504replay capababilities, implementing fast parser monads, designing monadic
8505DSLs, etc.")
8506 (license license:bsd-3)))
8507
6f1477d2
JS
8508(define-public ghc-optional-args
8509 (package
8510 (name "ghc-optional-args")
8511 (version "1.0.2")
8512 (source
8513 (origin
8514 (method url-fetch)
8515 (uri (string-append
8516 "mirror://hackage/package/optional-args/optional-args-"
8517 version
8518 ".tar.gz"))
8519 (sha256
8520 (base32
8521 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8522 (build-system haskell-build-system)
8523 (home-page
8524 "http://hackage.haskell.org/package/optional-args")
8525 (synopsis "Optional function arguments")
8526 (description
8527 "This library provides a type for specifying @code{Optional} function
8528arguments.")
8529 (license license:bsd-3)))
8530
dddbc90c
RV
8531(define-public ghc-options
8532 (package
8533 (name "ghc-options")
8534 (version "1.2.1.1")
8535 (source
8536 (origin
8537 (method url-fetch)
8538 (uri (string-append
8539 "https://hackage.haskell.org/package/options/options-"
8540 version ".tar.gz"))
8541 (sha256
8542 (base32
8543 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8544 (build-system haskell-build-system)
24cf2a8b
TS
8545 (arguments
8546 `(#:phases
8547 (modify-phases %standard-phases
8548 (add-before 'configure 'update-constraints
8549 (lambda _
8550 (substitute* "options.cabal"
8551 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8552 #t)))))
dddbc90c
RV
8553 (inputs
8554 `(("ghc-monads-tf" ,ghc-monads-tf)
8555 ("ghc-chell" ,ghc-chell)
8556 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8557 (home-page "https://john-millikin.com/software/haskell-options/")
8558 (synopsis "Powerful and easy-to-use command-line option parser")
8559 (description
8560 "The @code{options} package lets library and application developers
8561easily work with command-line options.")
8562 (license license:expat)))
8563
8564;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8565(define ghc-options-bootstrap
8566 (package
8567 (name "ghc-options-bootstrap")
8568 (version "1.2.1.1")
8569 (source
8570 (origin
8571 (method url-fetch)
8572 (uri (string-append
8573 "https://hackage.haskell.org/package/options/options-"
8574 version ".tar.gz"))
8575 (sha256
8576 (base32
8577 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8578 (build-system haskell-build-system)
8579 (arguments
8580 `(#:tests? #f))
8581 (inputs
8582 `(("ghc-monads-tf" ,ghc-monads-tf)))
8583 (home-page "https://john-millikin.com/software/haskell-options/")
8584 (synopsis "Powerful and easy-to-use command-line option parser")
8585 (description
8586 "The @code{options} package lets library and application developers
8587easily work with command-line options.")
8588 (license license:expat)))
8589
8590
8591(define-public ghc-optparse-applicative
8592 (package
8593 (name "ghc-optparse-applicative")
74bf6965 8594 (version "0.14.3.0")
dddbc90c
RV
8595 (source
8596 (origin
8597 (method url-fetch)
8598 (uri (string-append
8599 "https://hackage.haskell.org/package/optparse-applicative"
8600 "/optparse-applicative-" version ".tar.gz"))
8601 (sha256
8602 (base32
74bf6965 8603 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8604 (build-system haskell-build-system)
74bf6965
TS
8605 (arguments
8606 `(#:cabal-revision
8607 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8608 (inputs
8609 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8610 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8611 (native-inputs
8612 `(("ghc-quickcheck" ,ghc-quickcheck)))
8613 (home-page "https://github.com/pcapriotti/optparse-applicative")
8614 (synopsis "Utilities and combinators for parsing command line options")
8615 (description "This package provides utilities and combinators for parsing
8616command line options in Haskell.")
8617 (license license:bsd-3)))
8618
d56c8120
NG
8619(define-public ghc-jira-wiki-markup
8620 (package
8621 (name "ghc-jira-wiki-markup")
8622 (version "1.0.0")
8623 (source
8624 (origin
8625 (method url-fetch)
8626 (uri (string-append
8627 "https://hackage.haskell.org/package/jira-wiki-markup/"
8628 "jira-wiki-markup-" version ".tar.gz"))
8629 (sha256
8630 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8631 (build-system haskell-build-system)
8632 (native-inputs
8633 `(("ghc-tasty" ,ghc-tasty)
8634 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8635 (home-page "https://github.com/tarleb/jira-wiki-markup")
8636 (synopsis "Handle Jira wiki markup")
8637 (description
8638 "Parse jira wiki text into an abstract syntax tree for easy transformation
8639to other formats.")
8640 (license license:expat)))
8641
20690771
NG
8642(define-public ghc-emojis
8643 (package
8644 (name "ghc-emojis")
8645 (version "0.1")
8646 (source
8647 (origin
8648 (method url-fetch)
8649 (uri (string-append
8650 "https://hackage.haskell.org/package/emojis/"
8651 "emojis-" version ".tar.gz"))
8652 (sha256
8653 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8654 (build-system haskell-build-system)
8655 (native-inputs
8656 `(("ghc-hunit" ,ghc-hunit)))
8657 (home-page "https://github.com/jgm/emojis#readme")
8658 (synopsis "Conversion between emoji characters and their names.")
8659 (description
8660 "This package provides functions for converting emoji names to emoji
8661characters and vice versa.
8662
8663How does it differ from the @code{emoji} package?
8664@itemize
8665@item It supports a fuller range of emojis, including all those supported by
8666GitHub
8667@item It supports lookup of emoji aliases from emoji
8668@item It uses Text rather than String
8669@item It has a lighter dependency footprint: in particular, it does not
8670require aeson
8671@item It does not require TemplateHaskell
8672@end itemize")
8673 (license license:bsd-3)))
8674
e90a06fc
NG
8675(define-public ghc-text-conversions
8676 (package
8677 (name "ghc-text-conversions")
8678 (version "0.3.0")
8679 (source
8680 (origin
8681 (method url-fetch)
8682 (uri (string-append
8683 "https://hackage.haskell.org/package/text-conversions/"
8684 "text-conversions-" version ".tar.gz"))
8685 (sha256
8686 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8687 (build-system haskell-build-system)
8688 (inputs
8689 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8690 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8691 ("ghc-errors" ,ghc-errors)))
8692 (native-inputs
8693 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8694 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8695 (home-page "https://github.com/cjdev/text-conversions#readme")
8696 (synopsis "Safe conversions between textual types")
8697 (description "Safe conversions between textual types")
8698 (license license:isc)))
8699
ba7cbae3
NG
8700(define-public ghc-doclayout
8701 (package
8702 (name "ghc-doclayout")
8703 (version "0.3")
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append
8708 "https://hackage.haskell.org/package/doclayout/"
8709 "doclayout-" version ".tar.gz"))
8710 (sha256
8711 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8712 (build-system haskell-build-system)
8713 (inputs
8714 `(("ghc-safe" ,ghc-safe)))
8715 (native-inputs
8716 `(("ghc-tasty" ,ghc-tasty)
8717 ("ghc-tasty-golden" ,ghc-tasty-golden)
8718 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8719 (home-page "https://github.com/jgm/doclayout")
8720 (synopsis "Pretty-printing library for laying out text documents")
8721 (description
8722 "doclayout is a pretty-printing library for laying out text documents,
8723with several features not present in pretty-printing libraries designed for
8724code. It was designed for use in @code{Pandoc}.")
8725 (license license:bsd-3)))
8726
dddbc90c
RV
8727(define-public ghc-pandoc
8728 (package
8729 (name "ghc-pandoc")
d9b1567a 8730 (version "2.7.3")
dddbc90c
RV
8731 (source
8732 (origin
8733 (method url-fetch)
8734 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8735 version ".tar.gz"))
d9b1567a
TS
8736 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8737 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8738 (sha256
8739 (base32
d9b1567a 8740 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8741 (build-system haskell-build-system)
dddbc90c
RV
8742 (inputs
8743 `(("ghc-aeson" ,ghc-aeson)
8744 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8745 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8746 ("ghc-blaze-html" ,ghc-blaze-html)
8747 ("ghc-blaze-markup" ,ghc-blaze-markup)
8748 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8749 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8750 ("ghc-diff" ,ghc-diff)
8751 ("ghc-doctemplates" ,ghc-doctemplates)
8752 ("ghc-executable-path" ,ghc-executable-path)
8753 ("ghc-glob" ,ghc-glob)
8754 ("ghc-haddock-library" ,ghc-haddock-library)
8755 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8756 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8757 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8758 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8759 ("ghc-http" ,ghc-http)
8760 ("ghc-http-client" ,ghc-http-client)
8761 ("ghc-http-client-tls" ,ghc-http-client-tls)
8762 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8763 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8764 ("ghc-juicypixels" ,ghc-juicypixels)
8765 ("ghc-network" ,ghc-network)
8766 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8767 ("ghc-pandoc-types" ,ghc-pandoc-types)
8768 ("ghc-random" ,ghc-random)
8769 ("ghc-scientific" ,ghc-scientific)
8770 ("ghc-sha" ,ghc-sha)
8771 ("ghc-skylighting" ,ghc-skylighting)
8772 ("ghc-split" ,ghc-split)
8773 ("ghc-syb" ,ghc-syb)
8774 ("ghc-tagsoup" ,ghc-tagsoup)
8775 ("ghc-temporary" ,ghc-temporary)
8776 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8777 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8778 ("ghc-unordered-containers" ,ghc-unordered-containers)
8779 ("ghc-vector" ,ghc-vector)
8780 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8781 ("ghc-zip-archive" ,ghc-zip-archive)
8782 ("ghc-zlib" ,ghc-zlib)))
8783 (native-inputs
8784 `(("ghc-tasty" ,ghc-tasty)
8785 ("ghc-tasty-golden" ,ghc-tasty-golden)
8786 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8787 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8788 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8789 ("ghc-quickcheck" ,ghc-quickcheck)
8790 ("ghc-hunit" ,ghc-hunit)))
8791 (home-page "https://pandoc.org")
8792 (synopsis "Conversion between markup formats")
8793 (description
8794 "Pandoc is a Haskell library for converting from one markup format to
8795another, and a command-line tool that uses this library. It can read and
8796write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8797LaTeX, DocBook, and many more.
8798
8799Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8800definition lists, tables, and other features. A compatibility mode is
8801provided for those who need a drop-in replacement for Markdown.pl.")
8802 (license license:gpl2+)))
8803
8804(define-public ghc-pandoc-citeproc
8805 (package
8806 (name "ghc-pandoc-citeproc")
2da02d09 8807 (version "0.16.2")
dddbc90c
RV
8808 (source
8809 (origin
8810 (method url-fetch)
8811 (uri (string-append "https://hackage.haskell.org/package/"
8812 "pandoc-citeproc/pandoc-citeproc-"
8813 version ".tar.gz"))
8814 (sha256
8815 (base32
2da02d09 8816 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8817 (build-system haskell-build-system)
8818 (arguments
8819 `(#:phases
8820 (modify-phases %standard-phases
8821 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8822 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8823 (add-before 'configure 'patch-tests
8824 (lambda _
8825 (substitute* "tests/test-pandoc-citeproc.hs"
8826 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8827 "let allTests = citeprocTests"))))
8828 ;; Tests need to be run after installation.
8829 (delete 'check)
8830 (add-after 'install 'post-install-check
8831 (assoc-ref %standard-phases 'check)))))
8832 (inputs
8833 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8834 ("ghc-pandoc" ,ghc-pandoc)
8835 ("ghc-tagsoup" ,ghc-tagsoup)
8836 ("ghc-aeson" ,ghc-aeson)
8837 ("ghc-vector" ,ghc-vector)
8838 ("ghc-xml-conduit" ,ghc-xml-conduit)
8839 ("ghc-unordered-containers" ,ghc-unordered-containers)
8840 ("ghc-data-default" ,ghc-data-default)
8841 ("ghc-setenv" ,ghc-setenv)
8842 ("ghc-split" ,ghc-split)
8843 ("ghc-yaml" ,ghc-yaml)
8844 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8845 ("ghc-rfc5051" ,ghc-rfc5051)
8846 ("ghc-syb" ,ghc-syb)
8847 ("ghc-old-locale" ,ghc-old-locale)
8848 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8849 ("ghc-attoparsec" ,ghc-attoparsec)
8850 ("ghc-temporary" ,ghc-temporary)))
8851 (home-page "https://github.com/jgm/pandoc-citeproc")
8852 (synopsis "Library for using pandoc with citeproc")
8853 (description
8854 "The @code{pandoc-citeproc} library exports functions for using the
8855citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8856rendering bibliographic reference citations into a variety of styles using a
8857macro language called @dfn{Citation Style Language} (CSL). This package also
8858contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8859and also has a mode for converting bibliographic databases a YAML format
8860suitable for inclusion in pandoc YAML metadata.")
8861 (license license:bsd-3)))
8862
8863(define-public ghc-pandoc-types
8864 (package
8865 (name "ghc-pandoc-types")
0eaa88c8 8866 (version "1.17.6.1")
dddbc90c
RV
8867 (source (origin
8868 (method url-fetch)
8869 (uri (string-append "https://hackage.haskell.org/package/"
8870 "pandoc-types/pandoc-types-"
8871 version ".tar.gz"))
8872 (sha256
8873 (base32
0eaa88c8 8874 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8875 (build-system haskell-build-system)
8876 (inputs
8877 `(("ghc-syb" ,ghc-syb)
8878 ("ghc-aeson" ,ghc-aeson)
8879 ("ghc-string-qq" ,ghc-string-qq)))
8880 (native-inputs
8881 `(("ghc-quickcheck" ,ghc-quickcheck)
8882 ("ghc-test-framework" ,ghc-test-framework)
8883 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8884 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8885 ("ghc-hunit" ,ghc-hunit)))
8886 (home-page "http://johnmacfarlane.net/pandoc")
8887 (synopsis "Types for representing a structured document")
8888 (description
8889 "This module defines the @code{Pandoc} data structure, which is used by
8890pandoc to represent structured documents. It also provides functions for
8891building up, manipulating and serialising @code{Pandoc} structures.")
8892 (license license:bsd-3)))
8893
8894(define-public ghc-parallel
8895 (package
8896 (name "ghc-parallel")
8897 (version "3.2.2.0")
8898 (outputs '("out" "doc"))
8899 (source
8900 (origin
8901 (method url-fetch)
8902 (uri (string-append
8903 "https://hackage.haskell.org/package/parallel/parallel-"
8904 version
8905 ".tar.gz"))
8906 (sha256
8907 (base32
8908 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8909 (build-system haskell-build-system)
8910 (home-page "https://hackage.haskell.org/package/parallel")
8911 (synopsis "Parallel programming library")
8912 (description
8913 "This package provides a library for parallel programming.")
8914 (license license:bsd-3)))
8915
8916(define-public ghc-parsec-numbers
8917 (package
8918 (name "ghc-parsec-numbers")
8919 (version "0.1.0")
8920 (source
8921 (origin
8922 (method url-fetch)
8923 (uri (string-append "https://hackage.haskell.org/package/"
8924 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8925 (sha256
8926 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8927 (build-system haskell-build-system)
8928 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8929 (synopsis "Utilities for parsing numbers from strings")
8930 (description
8931 "This package provides the number parsers without the need to use a large
8932(and unportable) token parser.")
8933 (license license:bsd-3)))
8934
8935(define-public ghc-parser-combinators
8936 (package
8937 (name "ghc-parser-combinators")
2f173160 8938 (version "1.1.0")
dddbc90c
RV
8939 (source
8940 (origin
8941 (method url-fetch)
8942 (uri (string-append "https://hackage.haskell.org/package/"
8943 "parser-combinators/parser-combinators-"
8944 version ".tar.gz"))
8945 (sha256
8946 (base32
2f173160 8947 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8948 (build-system haskell-build-system)
8949 (home-page "https://github.com/mrkkrp/parser-combinators")
8950 (synopsis "Commonly useful parser combinators")
8951 (description
8952 "This is a lightweight package providing commonly useful parser
8953combinators.")
8954 (license license:bsd-3)))
8955
8956(define-public ghc-parsers
8957 (package
8958 (name "ghc-parsers")
6818f970 8959 (version "0.12.10")
dddbc90c
RV
8960 (source
8961 (origin
8962 (method url-fetch)
8963 (uri (string-append
8964 "https://hackage.haskell.org/package/parsers/parsers-"
8965 version
8966 ".tar.gz"))
8967 (sha256
8968 (base32
6818f970 8969 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8970 (build-system haskell-build-system)
8971 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8972 ; -package attoparsec-0.13.0.1"
8973 (inputs
8974 `(("ghc-base-orphans" ,ghc-base-orphans)
8975 ("ghc-attoparsec" ,ghc-attoparsec)
8976 ("ghc-scientific" ,ghc-scientific)
8977 ("ghc-charset" ,ghc-charset)
8978 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8979 (home-page "https://github.com/ekmett/parsers/")
8980 (synopsis "Parsing combinators")
8981 (description "This library provides convenient combinators for working
8982with and building parsing combinator libraries. Given a few simple instances,
8983you get access to a large number of canned definitions. Instances exist for
8984the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8985@code{Text.Read}.")
8986 (license license:bsd-3)))
8987
8988(define-public ghc-path
8989 (package
8990 (name "ghc-path")
8991 (version "0.6.1")
8992 (source
8993 (origin
8994 (method url-fetch)
8995 (uri (string-append
8996 "https://hackage.haskell.org/package/path/path-"
8997 version
8998 ".tar.gz"))
8999 (sha256
9000 (base32
9001 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9002 (build-system haskell-build-system)
9003 (arguments
9004 ;; TODO: There are some Windows-related tests and modules that need to be
9005 ;; danced around.
9006 `(#:tests? #f
9007 #:cabal-revision
9008 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9009 (inputs
9010 `(("ghc-aeson" ,ghc-aeson)
9011 ("ghc-exceptions" ,ghc-exceptions)
9012 ("ghc-hashable" ,ghc-hashable)))
9013 (native-inputs
9014 `(("ghc-hspec" ,ghc-hspec)
9015 ("ghc-quickcheck" ,ghc-quickcheck)
9016 ("ghc-genvalidity" ,ghc-genvalidity)
9017 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9018 ("ghc-hspec" ,ghc-hspec)
9019 ("ghc-validity" ,ghc-validity)))
9020 (home-page
3ef91e15 9021 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9022 (synopsis "Support for well-typed paths")
9023 (description "This package introduces a type for paths upholding useful
9024invariants.")
9025 (license license:bsd-3)))
9026
9027(define-public ghc-path-io
9028 (package
9029 (name "ghc-path-io")
a06613ea 9030 (version "1.4.2")
dddbc90c
RV
9031 (source
9032 (origin
9033 (method url-fetch)
9034 (uri (string-append
9035 "https://hackage.haskell.org/package/path-io/path-io-"
9036 version
9037 ".tar.gz"))
9038 (sha256
9039 (base32
a06613ea 9040 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9041 (build-system haskell-build-system)
9042 (inputs
9043 `(("ghc-dlist" ,ghc-dlist)
9044 ("ghc-exceptions" ,ghc-exceptions)
9045 ("ghc-path" ,ghc-path)
9046 ("ghc-transformers-base" ,ghc-transformers-base)
9047 ("ghc-unix-compat" ,ghc-unix-compat)
9048 ("ghc-temporary" ,ghc-temporary)))
9049 (native-inputs
9050 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9051 (home-page
9052 "https://github.com/mrkkrp/path-io")
9053 (synopsis "Functions for manipulating well-typed paths")
9054 (description "This package provides an interface to the @code{directory}
9055package for users of @code{path}. It also implements some missing stuff like
9056recursive scanning and copying of directories, working with temporary
9057files/directories, and more.")
9058 (license license:bsd-3)))
9059
9060(define-public ghc-paths
9061 (package
9062 (name "ghc-paths")
9a8adeb1 9063 (version "0.1.0.12")
dddbc90c
RV
9064 (outputs '("out" "doc"))
9065 (source
9066 (origin
9067 (method url-fetch)
9068 (uri (string-append
9069 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9070 version
9071 ".tar.gz"))
9072 (sha256
9073 (base32
9a8adeb1 9074 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9075 (build-system haskell-build-system)
9076 (home-page "https://github.com/simonmar/ghc-paths")
9077 (synopsis
9078 "Knowledge of GHC's installation directories")
9079 (description
9080 "Knowledge of GHC's installation directories.")
9081 (license license:bsd-3)))
9082
9083(define-public ghc-patience
9084 (package
9085 (name "ghc-patience")
484476f3 9086 (version "0.3")
dddbc90c
RV
9087 (source
9088 (origin
9089 (method url-fetch)
9090 (uri (string-append
9091 "https://hackage.haskell.org/package/patience/patience-"
9092 version ".tar.gz"))
9093 (sha256
9094 (base32
484476f3 9095 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9096 (build-system haskell-build-system)
9097 (home-page "https://hackage.haskell.org/package/patience")
9098 (synopsis "Patience diff and longest increasing subsequence")
9099 (description
9100 "This library implements the 'patience diff' algorithm, as well as the
9101patience algorithm for the longest increasing subsequence problem.
9102Patience diff computes the difference between two lists, for example the lines
9103of two versions of a source file. It provides a good balance between
9104performance, nice output for humans, and simplicity of implementation.")
9105 (license license:bsd-3)))
9106
25a221a8
JS
9107(define-public ghc-pattern-arrows
9108 (package
9109 (name "ghc-pattern-arrows")
9110 (version "0.0.2")
9111 (source
9112 (origin
9113 (method url-fetch)
9114 (uri (string-append
9115 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9116 version
9117 ".tar.gz"))
9118 (sha256
9119 (base32
9120 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9121 (build-system haskell-build-system)
9122 (home-page
9123 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9124 (synopsis "Arrows for Pretty Printing")
9125 (description
9126 "A library for generating concise pretty printers based on precedence
9127rules.")
9128 (license license:expat)))
9129
dddbc90c
RV
9130(define-public ghc-pcre-light
9131 (package
9132 (name "ghc-pcre-light")
9133 (version "0.4.0.4")
9134 (source
9135 (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9139 version
9140 ".tar.gz"))
9141 (sha256
9142 (base32
9143 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9144 (build-system haskell-build-system)
9145 (inputs
9146 `(("pcre" ,pcre)))
9147 (native-inputs
9148 `(("pkg-config" ,pkg-config)))
9149 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9150 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9151 (description "This package provides a small, efficient, and portable regex
9152library for Perl 5 compatible regular expressions. The PCRE library is a set
9153of functions that implement regular expression pattern matching using the same
9154syntax and semantics as Perl 5.")
9155 (license license:bsd-3)))
9156
9157(define-public ghc-persistent
9158 (package
9159 (name "ghc-persistent")
8c9697a9 9160 (version "2.10.4")
dddbc90c
RV
9161 (source
9162 (origin
9163 (method url-fetch)
8c9697a9
ASM
9164 (uri (string-append
9165 "https://hackage.haskell.org/package/persistent/"
9166 "persistent-" version ".tar.gz"))
dddbc90c
RV
9167 (sha256
9168 (base32
8c9697a9 9169 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9170 (build-system haskell-build-system)
8c9697a9
ASM
9171 (inputs
9172 `(("ghc-aeson" ,ghc-aeson)
9173 ("ghc-attoparsec" ,ghc-attoparsec)
9174 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9175 ("ghc-blaze-html" ,ghc-blaze-html)
9176 ("ghc-conduit" ,ghc-conduit)
9177 ("ghc-fast-logger" ,ghc-fast-logger)
9178 ("ghc-http-api-data" ,ghc-http-api-data)
9179 ("ghc-monad-logger" ,ghc-monad-logger)
9180 ("ghc-path-pieces" ,ghc-path-pieces)
9181 ("ghc-resource-pool" ,ghc-resource-pool)
9182 ("ghc-resourcet" ,ghc-resourcet)
9183 ("ghc-scientific" ,ghc-scientific)
9184 ("ghc-silently" ,ghc-silently)
9185 ("ghc-unliftio-core" ,ghc-unliftio-core)
9186 ("ghc-unliftio" ,ghc-unliftio)
9187 ("ghc-unordered-containers"
9188 ,ghc-unordered-containers)
9189 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9190 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9191 (home-page "https://www.yesodweb.com/book/persistent")
9192 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9193 (description "This Haskell package allows Haskell programs to access data
9194storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9195way.")
9196 (license license:expat)))
9197
9198(define-public ghc-persistent-sqlite
9199 (package
9200 (name "ghc-persistent-sqlite")
78858787 9201 (version "2.10.5.2")
dddbc90c
RV
9202 (source
9203 (origin
9204 (method url-fetch)
78858787
ASM
9205 (uri (string-append
9206 "https://hackage.haskell.org/package/persistent-sqlite/"
9207 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9208 (sha256
9209 (base32
78858787 9210 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9211 (build-system haskell-build-system)
78858787
ASM
9212 (inputs
9213 `(("ghc-persistent" ,ghc-persistent)
9214 ("ghc-aeson" ,ghc-aeson)
9215 ("ghc-conduit" ,ghc-conduit)
9216 ("ghc-microlens-th" ,ghc-microlens-th)
9217 ("ghc-monad-logger" ,ghc-monad-logger)
9218 ("ghc-resource-pool" ,ghc-resource-pool)
9219 ("ghc-resourcet" ,ghc-resourcet)
9220 ("ghc-unliftio-core" ,ghc-unliftio-core)
9221 ("ghc-unordered-containers"
9222 ,ghc-unordered-containers)))
9223 (native-inputs
9224 `(("ghc-persistent-template"
9225 ,ghc-persistent-template)
9226 ("ghc-persistent-test" ,ghc-persistent-test)
9227 ("ghc-exceptions" ,ghc-exceptions)
9228 ("ghc-fast-logger" ,ghc-fast-logger)
9229 ("ghc-hspec" ,ghc-hspec)
9230 ("ghc-hunit" ,ghc-hunit)
9231 ("ghc-quickcheck" ,ghc-quickcheck)
9232 ("ghc-system-fileio" ,ghc-system-fileio)
9233 ("ghc-system-filepath" ,ghc-system-filepath)
9234 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9235 (home-page
9236 "https://www.yesodweb.com/book/persistent")
9237 (synopsis "Backend for the persistent library using sqlite3")
9238 (description "This Haskell package includes a thin sqlite3 wrapper based
9239on the direct-sqlite package, as well as the entire C library, so there are no
9240system dependencies.")
9241 (license license:expat)))
9242
9243(define-public ghc-persistent-template
9244 (package
9245 (name "ghc-persistent-template")
d5378e98 9246 (version "2.8.0")
dddbc90c
RV
9247 (source
9248 (origin
9249 (method url-fetch)
d5378e98
ASM
9250 (uri (string-append
9251 "https://hackage.haskell.org/package/persistent-template/"
9252 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9253 (sha256
9254 (base32
d5378e98 9255 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9256 (build-system haskell-build-system)
d5378e98
ASM
9257 (inputs
9258 `(("ghc-persistent" ,ghc-persistent)
9259 ("ghc-aeson" ,ghc-aeson)
9260 ("ghc-http-api-data" ,ghc-http-api-data)
9261 ("ghc-monad-control" ,ghc-monad-control)
9262 ("ghc-monad-logger" ,ghc-monad-logger)
9263 ("ghc-path-pieces" ,ghc-path-pieces)
9264 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9265 ("ghc-unordered-containers"
9266 ,ghc-unordered-containers)))
9267 (native-inputs
9268 `(("ghc-hspec" ,ghc-hspec)
9269 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9270 (home-page "https://www.yesodweb.com/book/persistent")
9271 (synopsis "Type-safe, non-relational, multi-backend persistence")
9272 (description "This Haskell package provides interfaces and helper
9273functions for the ghc-persistent package.")
9274 (license license:expat)))
9275
ce32f7c7
ASM
9276(define-public ghc-persistent-test
9277 (package
9278 (name "ghc-persistent-test")
9279 (version "2.0.3.1")
9280 (source
9281 (origin
9282 (method url-fetch)
9283 (uri (string-append
9284 "https://hackage.haskell.org/package/persistent-test/"
9285 "persistent-test-" version ".tar.gz"))
9286 (sha256
9287 (base32
9288 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9289 (build-system haskell-build-system)
9290 (inputs
9291 `(("ghc-aeson" ,ghc-aeson)
9292 ("ghc-blaze-html" ,ghc-blaze-html)
9293 ("ghc-conduit" ,ghc-conduit)
9294 ("ghc-monad-control" ,ghc-monad-control)
9295 ("ghc-monad-logger" ,ghc-monad-logger)
9296 ("ghc-path-pieces" ,ghc-path-pieces)
9297 ("ghc-persistent" ,ghc-persistent)
9298 ("ghc-persistent-template" ,ghc-persistent-template)
9299 ("ghc-random" ,ghc-random)
9300 ("ghc-resourcet" ,ghc-resourcet)
9301 ("ghc-transformers-base" ,ghc-transformers-base)
9302 ("ghc-unliftio" ,ghc-unliftio)
9303 ("ghc-unliftio-core" ,ghc-unliftio-core)
9304 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9305 (native-inputs
9306 `(("ghc-quickcheck" ,ghc-quickcheck)
9307 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9308 ("ghc-hspec" ,ghc-hspec)
9309 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9310 ("ghc-hunit" ,ghc-hunit)))
9311 (home-page "https://www.yesodweb.com/book/persistent")
9312 (synopsis "Tests for the Persistent database library")
9313 (description
9314 "This is only for use in developing libraries that should conform to
9315the persistent interface, not for users of the persistent suite of database
9316libraries.")
9317 (license license:expat)))
9318
0fb34235
JS
9319(define-public ghc-pgp-wordlist
9320 (package
9321 (name "ghc-pgp-wordlist")
9322 (version "0.1.0.3")
9323 (source
9324 (origin
9325 (method url-fetch)
9326 (uri (string-append
9327 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9328 version
9329 ".tar.gz"))
9330 (sha256
9331 (base32
9332 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9333 (build-system haskell-build-system)
9334 (inputs
9335 `(("ghc-vector" ,ghc-vector)))
9336 (native-inputs
9337 `(("ghc-hunit" ,ghc-hunit)
9338 ("ghc-tasty" ,ghc-tasty)
9339 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9340 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9341 ("ghc-doctest" ,ghc-doctest)))
9342 (home-page
9343 "https://github.com/quchen/pgp-wordlist")
9344 (synopsis
9345 "Translate between binary data and a human-readable collection of words")
9346 (description
9347 "The PGP Word List consists of two phonetic alphabets, each with one word
9348per possible byte value. A string of bytes is translated with these
9349alphabets, alternating between them at each byte.
9350
9351The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9352spellbind headwaters\", for example.
9353
9354For further information, see
9355@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9356 (license license:bsd-3)))
9357
4639fa32
ASM
9358(define-public ghc-pipes
9359 (package
9360 (name "ghc-pipes")
9361 (version "4.3.13")
9362 (source
9363 (origin
9364 (method url-fetch)
9365 (uri (string-append
9366 "https://hackage.haskell.org/package/pipes/"
9367 "pipes-" version ".tar.gz"))
9368 (sha256
9369 (base32
9370 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9371 (build-system haskell-build-system)
9372 (inputs
9373 `(("ghc-exceptions" ,ghc-exceptions)
9374 ("ghc-mmorph" ,ghc-mmorph)
9375 ("ghc-void" ,ghc-void)
9376 ("ghc-semigroups" ,ghc-semigroups)))
9377 (native-inputs
9378 `(("ghc-quickcheck" ,ghc-quickcheck)
9379 ("ghc-test-framework" ,ghc-test-framework)
9380 ("ghc-test-framework-quickcheck2"
9381 ,ghc-test-framework-quickcheck2)))
9382 (home-page
9383 "https://hackage.haskell.org/package/pipes")
9384 (synopsis "Compositional pipelines")
9385 (description
9386 "A clean and powerful stream processing library that lets you build
9387and connect reusable streaming components. Advantages over traditional streaming
9388libraries:
9389@itemize
9390@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9391and @code{yield}
9392@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9393@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9394dependencies
9395@item Elegant semantics: Use practical category theory
9396@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9397@item Bidirectionality: Implement duplex channels
9398@end itemize")
9399 (license license:bsd-3)))
9400
451775a5
ASM
9401(define-public ghc-pointedlist
9402 (package
9403 (name "ghc-pointedlist")
9404 (version "0.6.1")
9405 (source
9406 (origin
9407 (method url-fetch)
9408 (uri (string-append
9409 "https://hackage.haskell.org/package/pointedlist/"
9410 "pointedlist-" version ".tar.gz"))
9411 (sha256
9412 (base32
9413 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9414 (build-system haskell-build-system)
9415 (home-page
3ef91e15 9416 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9417 (synopsis
9418 "Zipper-like comonad which works as a list, tracking a position")
9419 (description
9420 "A PointedList tracks the position in a non-empty list which works
9421similarly to a zipper. A current item is always required, and therefore
9422the list may never be empty. A circular PointedList wraps around to the
9423other end when progressing past the actual edge.")
9424 (license license:bsd-3)))
9425
dddbc90c
RV
9426(define-public ghc-polyparse
9427 (package
9428 (name "ghc-polyparse")
9822b9ca 9429 (version "1.12.1")
dddbc90c
RV
9430 (source
9431 (origin
9432 (method url-fetch)
9433 (uri (string-append
9434 "https://hackage.haskell.org/package/polyparse/polyparse-"
9435 version
9436 ".tar.gz"))
9437 (sha256
9438 (base32
9822b9ca 9439 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9440 (build-system haskell-build-system)
9441 (home-page
9442 "http://code.haskell.org/~malcolm/polyparse/")
9443 (synopsis
9444 "Alternative parser combinator libraries")
9445 (description
9446 "This package provides a variety of alternative parser combinator
9447libraries, including the original HuttonMeijer set. The Poly sets have
9448features like good error reporting, arbitrary token type, running state, lazy
9449parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9450standard Read class, for better deserialisation of Haskell values from
9451Strings.")
9452 (license license:lgpl2.1)))
9453
9454(define-public ghc-pqueue
9455 (package
9456 (name "ghc-pqueue")
142415b0 9457 (version "1.4.1.2")
dddbc90c
RV
9458 (source
9459 (origin
9460 (method url-fetch)
9461 (uri (string-append "https://hackage.haskell.org/package/"
9462 "pqueue/pqueue-" version ".tar.gz"))
9463 (sha256
9464 (base32
142415b0 9465 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9466 (build-system haskell-build-system)
9467 (native-inputs
9468 `(("ghc-quickcheck" ,ghc-quickcheck)))
9469 (home-page "https://hackage.haskell.org/package/pqueue")
9470 (synopsis "Reliable, persistent, fast priority queues")
9471 (description
9472 "This package provides a fast, reliable priority queue implementation
9473based on a binomial heap.")
9474 (license license:bsd-3)))
9475
9476(define-public ghc-prelude-extras
9477 (package
9478 (name "ghc-prelude-extras")
9479 (version "0.4.0.3")
9480 (source
9481 (origin
9482 (method url-fetch)
9483 (uri (string-append
9484 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9485 version
9486 ".tar.gz"))
9487 (sha256
9488 (base32
9489 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9490 (build-system haskell-build-system)
9491 (home-page "https://github.com/ekmett/prelude-extras")
9492 (synopsis "Higher order versions of Prelude classes")
9493 (description "This library provides higher order versions of
9494@code{Prelude} classes to ease programming with polymorphic recursion and
9495reduce @code{UndecidableInstances}.")
9496 (license license:bsd-3)))
9497
9498(define-public ghc-prettyclass
9499 (package
9500 (name "ghc-prettyclass")
9501 (version "1.0.0.0")
9502 (source
9503 (origin
9504 (method url-fetch)
9505 (uri (string-append "https://hackage.haskell.org/package/"
9506 "prettyclass/prettyclass-" version ".tar.gz"))
9507 (sha256
9508 (base32
9509 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9510 (build-system haskell-build-system)
3ef91e15 9511 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9512 (synopsis "Pretty printing class similar to Show")
9513 (description "This package provides a pretty printing class similar
9514to @code{Show}, based on the HughesPJ pretty printing library. It
9515provides the pretty printing class and instances for the Prelude
9516types.")
9517 (license license:bsd-3)))
9518
2fad2bf7
JS
9519(define-public ghc-prettyprinter
9520 (package
9521 (name "ghc-prettyprinter")
9522 (version "1.2.1.1")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append
9527 "mirror://hackage/package/prettyprinter/prettyprinter-"
9528 version
9529 ".tar.gz"))
9530 (sha256
9531 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9532 (build-system haskell-build-system)
9533 (native-inputs
9534 `(("ghc-doctest" ,ghc-doctest)
9535 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9536 ("ghc-tasty" ,ghc-tasty)
9537 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9538 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9539 (home-page "https://github.com/quchen/prettyprinter")
9540 (synopsis
9541 "Modern, easy to use, well-documented, extensible pretty-printer")
9542 (description
9543 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9544ANSI terminal backend exists, HTML backend is trivial to implement, no name
9545clashes, @code{Text}-based, extensible.")
9546 (license license:bsd-2)))
9547
2496e49f
JS
9548(define-public ghc-prettyprinter-1.6
9549 (package
9550 (inherit ghc-prettyprinter)
9551 (version "1.6.1")
9552 (source
9553 (origin
9554 (method url-fetch)
9555 (uri (string-append
9556 "mirror://hackage/package/prettyprinter/prettyprinter-"
9557 version
9558 ".tar.gz"))
9559 (sha256
9560 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9561 (inputs
9562 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9563 ,@(package-inputs ghc-prettyprinter)))))
9564
b4f24d66
JS
9565(define-public ghc-prettyprinter-ansi-terminal
9566 (package
9567 (name "ghc-prettyprinter-ansi-terminal")
9568 (version "1.1.1.2")
9569 (source
9570 (origin
9571 (method url-fetch)
9572 (uri (string-append
9573 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9574 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9575 (sha256
9576 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9577 (build-system haskell-build-system)
9578 (inputs
9579 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9580 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9581 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9582 (home-page
9583 "https://github.com/quchen/prettyprinter")
9584 (synopsis
9585 "ANSI terminal backend for the prettyprinter package")
9586 (description "ANSI terminal backend for the prettyprinter package.")
9587 (license license:bsd-2)))
9588
dddbc90c
RV
9589(define-public ghc-pretty-hex
9590 (package
9591 (name "ghc-pretty-hex")
9592 (version "1.0")
9593 (source
9594 (origin
9595 (method url-fetch)
9596 (uri (string-append "https://hackage.haskell.org/package/"
9597 "pretty-hex-" version "/"
9598 "pretty-hex-" version ".tar.gz"))
9599 (sha256
9600 (base32
9601 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9602 (build-system haskell-build-system)
9603 (home-page "https://github.com/GaloisInc/hexdump")
9604 (synopsis "Haskell library for hex dumps of ByteStrings")
9605 (description "This Haskell library generates pretty hex dumps of
9606ByteStrings in the style of other common *nix hex dump tools.")
9607 (license license:bsd-3)))
9608
9609(define-public ghc-pretty-show
9610 (package
9611 (name "ghc-pretty-show")
7683a084 9612 (version "1.9.5")
dddbc90c
RV
9613 (source
9614 (origin
9615 (method url-fetch)
9616 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9617 "pretty-show-" version ".tar.gz"))
9618 (sha256
9619 (base32
7683a084 9620 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9621 (build-system haskell-build-system)
9622 (inputs
9623 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9624 ("ghc-happy" ,ghc-happy)))
9625 (home-page "http://wiki.github.com/yav/pretty-show")
9626 (synopsis "Tools for working with derived `Show` instances")
9627 (description
9628 "This package provides a library and an executable for working with
9629derived @code{Show} instances. By using the library, derived @code{Show}
9630instances can be parsed into a generic data structure. The @code{ppsh} tool
9631uses the library to produce human-readable versions of @code{Show} instances,
9632which can be quite handy for debugging Haskell programs. We can also render
9633complex generic values into an interactive Html page, for easier
9634examination.")
9635 (license license:expat)))
9636
f011e3d6
JS
9637(define-public ghc-pretty-simple
9638 (package
9639 (name "ghc-pretty-simple")
9640 (version "2.2.0.1")
9641 (source
9642 (origin
9643 (method url-fetch)
9644 (uri (string-append
9645 "mirror://hackage/package/pretty-simple/"
9646 "pretty-simple-" version ".tar.gz"))
9647 (sha256
9648 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9649 (build-system haskell-build-system)
9650 (inputs
9651 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9652 ("ghc-glob" ,ghc-glob)
9653 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9654 ("ghc-aeson" ,ghc-aeson)))
9655 (native-inputs
9656 `(("ghc-doctest" ,ghc-doctest)))
9657 (home-page "https://github.com/cdepillabout/pretty-simple")
9658 (synopsis "Pretty printer for data types with a 'Show' instance")
9659 (description
9660 "Pretty-simple is a pretty printer for Haskell data types that have a
9661Show instance.")
9662 (license license:bsd-3)))
9663
dddbc90c
RV
9664(define-public ghc-primitive
9665 (package
9666 (name "ghc-primitive")
9667 (version "0.6.4.0")
9668 (outputs '("out" "doc"))
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append
9673 "https://hackage.haskell.org/package/primitive/primitive-"
9674 version
9675 ".tar.gz"))
9676 (sha256
9677 (base32
9678 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9679 (build-system haskell-build-system)
6cf0daa4
TS
9680 (arguments
9681 `(#:cabal-revision
9682 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9683 (home-page
9684 "https://github.com/haskell/primitive")
9685 (synopsis "Primitive memory-related operations")
9686 (description
9687 "This package provides various primitive memory-related operations.")
9688 (license license:bsd-3)))
9689
21f5b9a9
JS
9690(define-public ghc-process-extras
9691 (package
9692 (name "ghc-process-extras")
9693 (version "0.7.4")
9694 (source
9695 (origin
9696 (method url-fetch)
9697 (uri
9698 (string-append
9699 "https://hackage.haskell.org/package/process-extras/"
9700 "process-extras-" version ".tar.gz"))
9701 (sha256
9702 (base32
9703 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9704 (build-system haskell-build-system)
9705 (inputs
9706 `(("ghc-data-default" ,ghc-data-default)
9707 ("ghc-generic-deriving" ,ghc-generic-deriving)
9708 ("ghc-hunit" ,ghc-hunit)
9709 ("ghc-listlike" ,ghc-listlike)))
9710 (home-page "https://github.com/seereason/process-extras")
9711 (synopsis "Extra tools for managing processes")
f74b6983 9712 (description "This package extends
21f5b9a9
JS
9713@url{http://hackage.haskell.org/package/process}. It allows you to read
9714process input and output as ByteStrings or Text, or write your own
9715ProcessOutput instance. It also provides lazy process input and output,
9716and a ProcessMaker class for more flexibility in the process creation
9717API.")
9718 (license license:expat)))
9719
dddbc90c
RV
9720(define-public ghc-profunctors
9721 (package
9722 (name "ghc-profunctors")
899b5297 9723 (version "5.3")
dddbc90c
RV
9724 (source
9725 (origin
9726 (method url-fetch)
9727 (uri (string-append
9728 "https://hackage.haskell.org/package/profunctors/profunctors-"
9729 version
9730 ".tar.gz"))
9731 (sha256
9732 (base32
899b5297 9733 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9734 (build-system haskell-build-system)
dddbc90c
RV
9735 (inputs
9736 `(("ghc-base-orphans" ,ghc-base-orphans)
9737 ("ghc-bifunctors" ,ghc-bifunctors)
9738 ("ghc-comonad" ,ghc-comonad)
9739 ("ghc-contravariant" ,ghc-contravariant)
9740 ("ghc-distributive" ,ghc-distributive)
9741 ("ghc-semigroups" ,ghc-semigroups)
9742 ("ghc-tagged" ,ghc-tagged)))
9743 (home-page "https://github.com/ekmett/profunctors/")
9744 (synopsis "Profunctors for Haskell")
9745 (description "This library provides profunctors for Haskell.")
9746 (license license:bsd-3)))
9747
fbe32d46
ASM
9748(define-public ghc-project-template
9749 (package
9750 (name "ghc-project-template")
9751 (version "0.2.0.1")
9752 (source
9753 (origin
9754 (method url-fetch)
9755 (uri (string-append
9756 "https://hackage.haskell.org/package/project-template/project-template-"
9757 version ".tar.gz"))
9758 (sha256
9759 (base32
9760 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9761 (build-system haskell-build-system)
9762 (inputs
9763 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9764 ("ghc-conduit" ,ghc-conduit)
9765 ("ghc-conduit-extra" ,ghc-conduit-extra)
9766 ("ghc-resourcet" ,ghc-resourcet)))
9767 (native-inputs
9768 `(("ghc-hspec" ,ghc-hspec)
9769 ("hspec-discover" ,hspec-discover)
9770 ("ghc-quickcheck" ,ghc-quickcheck)))
9771 (arguments
9772 `(#:cabal-revision
9773 ("1"
9774 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9775 (home-page "https://github.com/fpco/haskell-ide")
9776 (synopsis "Specify Haskell project templates and generate files")
9777 (description
9778 "Haskell library for both generating and consuming project templates.
9779
9780ost IDEs provide the concept of a project template: instead of writing all
9781of the code for a project from scratch, you select a template, answer a few
9782questions, and a bunch of files are automatically generated.
9783
9784project-template tries to provide a canonical Haskell library for implementing
9785the ideal templating system.")
9786 (license license:bsd-3)))
9787
8a6e745d
JS
9788(define-public ghc-protolude
9789 (package
9790 (name "ghc-protolude")
9791 (version "0.2.3")
9792 (source
9793 (origin
9794 (method url-fetch)
9795 (uri (string-append
9796 "mirror://hackage/package/protolude/protolude-"
9797 version
9798 ".tar.gz"))
9799 (sha256
9800 (base32
9801 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9802 (build-system haskell-build-system)
9803 (inputs
9804 `(("ghc-async" ,ghc-async)
9805 ("ghc-hashable" ,ghc-hashable)
9806 ("ghc-mtl-compat" ,ghc-mtl-compat)
9807 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9808 (home-page "https://github.com/protolude/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
cf123e32
MB
9815(define-public ghc-psqueue
9816 (package
9817 (name "ghc-psqueue")
9818 (version "1.1.0.1")
9819 (source (origin
9820 (method url-fetch)
9821 (uri (string-append "mirror://hackage/package/PSQueue-"
9822 version "/PSQueue-" version ".tar.gz"))
9823 (sha256
9824 (base32
9825 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9826 (build-system haskell-build-system)
9827 (home-page "https://hackage.haskell.org/package/PSQueue")
9828 (synopsis "Priority search queue")
9829 (description
9830 "A @dfn{priority search queue} efficiently supports the operations of
9831both a search tree and a priority queue. A @code{Binding} is a product of
9832a key and a priority. Bindings can be inserted, deleted, modified and queried
9833in logarithmic time, and the binding with the least priority can be retrieved
9834in constant time. A queue can be built from a list of bindings, sorted by
9835keys, in linear time.")
9836 (license license:bsd-3)))
9837
dddbc90c
RV
9838(define-public ghc-psqueues
9839 (package
9840 (name "ghc-psqueues")
5d133942 9841 (version "0.2.7.2")
dddbc90c
RV
9842 (source
9843 (origin
9844 (method url-fetch)
9845 (uri (string-append "https://hackage.haskell.org/package/"
9846 "psqueues-" version "/"
9847 "psqueues-" version ".tar.gz"))
9848 (sha256
9849 (base32
5d133942 9850 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9851 (build-system haskell-build-system)
9852 (inputs
9853 `(("ghc-hashable" ,ghc-hashable)))
9854 (native-inputs
9855 `(("ghc-hunit" ,ghc-hunit)
9856 ("ghc-quickcheck" ,ghc-quickcheck)
9857 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9858 ("ghc-tasty" ,ghc-tasty)
9859 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9860 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9861 (home-page "https://github.com/jaspervdj/psqueues")
9862 (synopsis "Pure priority search queues")
9863 (description "The psqueues package provides
9864@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9865three different flavors:
9866
9867@itemize
9868@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9869fast insertion, deletion and lookup. This implementation is based on Ralf
9870Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9871Implementation Technique for Priority Search Queues}.
9872
9873Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9874PSQueue} library, although it is considerably faster and provides a slightly
9875different API.
9876
9877@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9878key type to @code{Int} and uses a
9879@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9880with an additional min-heap property.
9881
9882@item @code{HashPSQ k p v} is a fairly straightforward extension
9883of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9884@code{IntPSQ}. If there are any hash collisions, it uses an
9885@code{OrdPSQ} to resolve those. The performance of this implementation
9886is comparable to that of @code{IntPSQ}, but it is more widely
9887applicable since the keys are not restricted to @code{Int},
9888but rather to any @code{Hashable} datatype.
9889@end itemize
9890
9891Each of the three implementations provides the same API, so they can
9892be used interchangeably.
9893
9894Typical applications of Priority Search Queues include:
9895
9896@itemize
9897@item Caches, and more specifically LRU Caches;
9898@item Schedulers;
9899@item Pathfinding algorithms, such as Dijkstra's and A*.
9900@end itemize")
9901 (license license:bsd-3)))
b1dbc9f5
ASM
9902
9903(define-public ghc-pwstore-fast
9904 (package
9905 (name "ghc-pwstore-fast")
9906 (version "2.4.4")
9907 (source
9908 (origin
9909 (method url-fetch)
9910 (uri (string-append
9911 "https://hackage.haskell.org/package/pwstore-fast/"
9912 "pwstore-fast-" version ".tar.gz"))
9913 (sha256
9914 (base32
9915 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9916 (build-system haskell-build-system)
9917 (inputs
9918 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9919 ("ghc-cryptohash" ,ghc-cryptohash)
9920 ("ghc-random" ,ghc-random)
9921 ("ghc-byteable" ,ghc-byteable)))
9922 (home-page "https://github.com/PeterScott/pwstore")
9923 (synopsis "Secure password storage")
9924 (description
9925 "To store passwords securely, they should be salted, then hashed with
9926a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9927details. It uses the cryptohash package for speed; if you need a pure
9928Haskell library, pwstore-purehaskell has the exact same API, but uses only
9929pure Haskell. It is about 25 times slower than this package, but still quite
9930usable.")
9931 (license license:bsd-3)))
dddbc90c
RV
9932
9933(define-public ghc-random
9934 (package
9935 (name "ghc-random")
9936 (version "1.1")
9937 (outputs '("out" "doc"))
9938 (source
9939 (origin
9940 (method url-fetch)
9941 (uri (string-append
9942 "https://hackage.haskell.org/package/random/random-"
9943 version
9944 ".tar.gz"))
9945 (sha256
9946 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9947 (build-system haskell-build-system)
9948 (home-page "https://hackage.haskell.org/package/random")
9949 (synopsis "Random number library")
9950 (description "This package provides a basic random number generation
9951library, including the ability to split random number generators.")
9952 (license license:bsd-3)))
9953
9954(define-public ghc-raw-strings-qq
9955 (package
9956 (name "ghc-raw-strings-qq")
9957 (version "1.1")
9958 (source
9959 (origin
9960 (method url-fetch)
9961 (uri (string-append "https://hackage.haskell.org/package/"
9962 "raw-strings-qq/raw-strings-qq-"
9963 version ".tar.gz"))
9964 (sha256
9965 (base32
9966 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9967 (build-system haskell-build-system)
9968 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9969 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9970 (synopsis "Raw string literals for Haskell")
9971 (description
9972 "This package provides a quasiquoter for raw string literals, i.e. string
9973literals that don't recognise the standard escape sequences. Basically, they
9974make your code more readable by freeing you from the responsibility to escape
9975backslashes. They are useful when working with regular expressions,
9976DOS/Windows paths and markup languages (such as XML).")
9977 (license license:bsd-3)))
9978
9979(define-public ghc-readable
9980 (package
9981 (name "ghc-readable")
9982 (version "0.3.1")
9983 (source
9984 (origin
9985 (method url-fetch)
9986 (uri (string-append "https://hackage.haskell.org/package/"
9987 "readable/readable-" version ".tar.gz"))
9988 (sha256
9989 (base32
9990 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9991 (build-system haskell-build-system)
9992 (home-page "https://github.com/mightybyte/readable")
9993 (synopsis "Type class for reading from Text and ByteString")
9994 (description "This package provides a @code{Readable} type class for
9995reading data types from @code{ByteString} and @code{Text}. It also
9996includes efficient implementations for common data types.")
9997 (license license:bsd-3)))
9998
9999(define-public ghc-rebase
10000 (package
10001 (name "ghc-rebase")
8d2ae3fe 10002 (version "1.3.1.1")
dddbc90c
RV
10003 (source
10004 (origin
10005 (method url-fetch)
10006 (uri (string-append "https://hackage.haskell.org/package/"
10007 "rebase-" version "/"
10008 "rebase-" version ".tar.gz"))
10009 (sha256
10010 (base32
8d2ae3fe 10011 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
10012 (build-system haskell-build-system)
10013 (inputs `(("ghc-hashable" ,ghc-hashable)
10014 ("ghc-vector" ,ghc-vector)
10015 ("ghc-unordered-containers" ,ghc-unordered-containers)
10016 ("ghc-scientific" ,ghc-scientific)
10017 ("ghc-uuid" ,ghc-uuid)
10018 ("ghc-dlist" ,ghc-dlist)
10019 ("ghc-void" ,ghc-void)
10020 ("ghc-bifunctors" ,ghc-bifunctors)
10021 ("ghc-profunctors" ,ghc-profunctors)
10022 ("ghc-contravariant" ,ghc-contravariant)
10023 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10024 ("ghc-semigroups" ,ghc-semigroups)
10025 ("ghc-either" ,ghc-either)
10026 ("ghc-fail" ,ghc-fail)
10027 ("ghc-base-prelude" ,ghc-base-prelude)))
10028 (home-page "https://github.com/nikita-volkov/rebase")
10029 (synopsis "Progressive alternative to the base package
10030for Haskell")
10031 (description "This Haskell package is intended for those who are
10032tired of keeping long lists of dependencies to the same essential libraries
10033in each package as well as the endless imports of the same APIs all over again.
10034
10035It also supports the modern tendencies in the language.
10036
10037To solve those problems this package does the following:
10038
10039@itemize
10040@item Reexport the original APIs under the @code{Rebase} namespace.
10041
10042@item Export all the possible non-conflicting symbols from the
10043@code{Rebase.Prelude} module.
10044
10045@item Give priority to the modern practices in the conflicting cases.
10046@end itemize
10047
10048The policy behind the package is only to reexport the non-ambiguous and
10049non-controversial APIs, which the community has obviously settled on.
10050The package is intended to rapidly evolve with the contribution from
10051the community, with the missing features being added with pull-requests.")
10052 (license license:expat)))
10053
10054(define-public ghc-reducers
10055 (package
10056 (name "ghc-reducers")
10057 (version "3.12.3")
10058 (source
10059 (origin
10060 (method url-fetch)
10061 (uri (string-append
10062 "https://hackage.haskell.org/package/reducers/reducers-"
10063 version
10064 ".tar.gz"))
10065 (sha256
10066 (base32
10067 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10068 (build-system haskell-build-system)
10069 (inputs
10070 `(("ghc-fingertree" ,ghc-fingertree)
10071 ("ghc-hashable" ,ghc-hashable)
10072 ("ghc-unordered-containers" ,ghc-unordered-containers)
10073 ("ghc-semigroupoids" ,ghc-semigroupoids)
10074 ("ghc-semigroups" ,ghc-semigroups)))
10075 (home-page "https://github.com/ekmett/reducers/")
10076 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10077 (description "This library provides various semigroups, specialized
10078containers and a general map/reduce framework for Haskell.")
10079 (license license:bsd-3)))
10080
10081(define-public ghc-refact
10082 (package
10083 (name "ghc-refact")
10084 (version "0.3.0.2")
10085 (source
10086 (origin
10087 (method url-fetch)
10088 (uri (string-append "https://hackage.haskell.org/package/"
10089 "refact/refact-"
10090 version ".tar.gz"))
10091 (sha256
10092 (base32
10093 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10094 (build-system haskell-build-system)
3ef91e15 10095 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10096 (synopsis "Specify refactorings to perform with apply-refact")
10097 (description
10098 "This library provides a datatype which can be interpreted by
10099@code{apply-refact}. It exists as a separate library so that applications can
10100specify refactorings without depending on GHC.")
10101 (license license:bsd-3)))
10102
10103(define-public ghc-reflection
10104 (package
10105 (name "ghc-reflection")
d215f1cc 10106 (version "2.1.5")
dddbc90c
RV
10107 (source
10108 (origin
10109 (method url-fetch)
10110 (uri (string-append
10111 "https://hackage.haskell.org/package/reflection/reflection-"
10112 version
10113 ".tar.gz"))
10114 (sha256
10115 (base32
d215f1cc 10116 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10117 (build-system haskell-build-system)
10118 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10119 (native-inputs
10120 `(("ghc-hspec" ,ghc-hspec)
10121 ("ghc-quickcheck" ,ghc-quickcheck)
10122 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10123 (home-page "https://github.com/ekmett/reflection")
10124 (synopsis "Reify arbitrary terms into types that can be reflected back
10125into terms")
10126 (description "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-regex
10133 (package
10134 (name "ghc-regex")
b9a5e634 10135 (version "1.0.2.0")
dddbc90c
RV
10136 (source
10137 (origin
10138 (method url-fetch)
10139 (uri (string-append "https://hackage.haskell.org/package/regex/"
10140 "regex-" version ".tar.gz"))
10141 (sha256
10142 (base32
b9a5e634 10143 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10144 (build-system haskell-build-system)
10145 (arguments
10146 `(#:phases
10147 (modify-phases %standard-phases
10148 (add-after 'unpack 'relax-dependencies
10149 (lambda _
10150 (substitute* "regex.cabal"
10151 (("base-compat.*>=.*0.6.*")
10152 "base-compat >= 0.6\n")
10153 (("template-haskell.*>=.*2.7.*")
10154 "template-haskell >= 2.7\n"))
10155 #t)))))
10156 (inputs
10157 `(("ghc-base-compat" ,ghc-base-compat)
10158 ("ghc-hashable" ,ghc-hashable)
10159 ("ghc-regex-base" ,ghc-regex-base)
10160 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10161 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10162 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10163 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10164 ("ghc-unordered-containers" ,ghc-unordered-containers)
10165 ("ghc-utf8-string" ,ghc-utf8-string)))
10166 (home-page "http://regex.uk")
10167 (synopsis "Toolkit for regex-base")
10168 (description
10169 "This package provides a regular expression toolkit for @code{regex-base}
10170with compile-time checking of regular expression syntax, data types for
10171matches and captures, a text replacement toolkit, portable options, high-level
10172AWK-like tools for building text processing apps, regular expression macros
10173with parsers and test bench, comprehensive documentation, tutorials and
10174copious examples.")
10175 (license license:bsd-3)))
10176
10177(define-public ghc-regex-applicative
10178 (package
10179 (name "ghc-regex-applicative")
30f60e42 10180 (version "0.3.3.1")
dddbc90c
RV
10181 (source
10182 (origin
10183 (method url-fetch)
10184 (uri (string-append
10185 "https://hackage.haskell.org/package/regex-applicative/"
10186 "regex-applicative-" version ".tar.gz"))
10187 (sha256
10188 (base32
30f60e42 10189 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10190 (build-system haskell-build-system)
10191 (inputs
10192 `(("ghc-smallcheck" ,ghc-smallcheck)
10193 ("ghc-tasty" ,ghc-tasty)
10194 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10195 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10196 (home-page "https://github.com/feuerbach/regex-applicative")
10197 (synopsis "Regex-based parsing with applicative interface")
10198 (description
10199 "@code{regex-applicative} is a Haskell library for parsing using
10200regular expressions. Parsers can be built using Applicative interface.")
10201 (license license:expat)))
10202
10203(define-public ghc-regex-base
10204 (package
10205 (name "ghc-regex-base")
10206 (version "0.93.2")
10207 (source
10208 (origin
10209 (method url-fetch)
10210 (uri (string-append
10211 "https://hackage.haskell.org/package/regex-base/regex-base-"
10212 version
10213 ".tar.gz"))
10214 (sha256
10215 (base32
10216 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10217 (build-system haskell-build-system)
10218 (home-page
10219 "https://sourceforge.net/projects/lazy-regex")
10220 (synopsis "Replaces/Enhances Text.Regex")
10221 (description "@code{Text.Regex.Base} provides the interface API for
10222regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10223 (license license:bsd-3)))
10224
10225(define-public ghc-regex-compat
10226 (package
10227 (name "ghc-regex-compat")
10228 (version "0.95.1")
10229 (source
10230 (origin
10231 (method url-fetch)
10232 (uri (string-append
10233 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10234 version
10235 ".tar.gz"))
10236 (sha256
10237 (base32
10238 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10239 (build-system haskell-build-system)
10240 (inputs
10241 `(("ghc-regex-base" ,ghc-regex-base)
10242 ("ghc-regex-posix" ,ghc-regex-posix)))
10243 (home-page "https://sourceforge.net/projects/lazy-regex")
10244 (synopsis "Replaces/Enhances Text.Regex")
10245 (description "This library provides one module layer over
10246@code{regex-posix} to replace @code{Text.Regex}.")
10247 (license license:bsd-3)))
10248
10249(define-public ghc-regex-compat-tdfa
10250 (package
10251 (name "ghc-regex-compat-tdfa")
10252 (version "0.95.1.4")
10253 (source
10254 (origin
10255 (method url-fetch)
10256 (uri (string-append
10257 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10258 version ".tar.gz"))
10259 (sha256
10260 (base32
10261 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10262 (build-system haskell-build-system)
10263 (inputs
10264 `(("ghc-regex-base" ,ghc-regex-base)
10265 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10266 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10267 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10268 (description
10269 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10270@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10271This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10272this problem.")
10273 (license license:bsd-3)))
10274
ddd79836
MB
10275(define-public ghc-regex-pcre
10276 (package
10277 (name "ghc-regex-pcre")
10278 (version "0.94.4")
10279 (source (origin
10280 (method url-fetch)
10281 (uri (string-append "https://hackage.haskell.org/package/"
10282 "regex-pcre/regex-pcre-" version ".tar.gz"))
10283 (sha256
10284 (base32
10285 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10286 (build-system haskell-build-system)
10287 (inputs
10288 `(("ghc-regex-base" ,ghc-regex-base)
10289 ("pcre" ,pcre)))
10290 (home-page "https://hackage.haskell.org/package/regex-pcre")
10291 (synopsis "Enhancement of the builtin Text.Regex library")
10292 (description
10293 "This package is an enhancement of the @code{Text.Regex} library.
10294It wraps the @code{PCRE} C library providing Perl-compatible regular
10295expressions.")
10296 (license license:bsd-3)))
10297
dddbc90c
RV
10298(define-public ghc-regex-pcre-builtin
10299 (package
10300 (name "ghc-regex-pcre-builtin")
ee946143 10301 (version "0.94.5.8.8.35")
dddbc90c
RV
10302 (source (origin
10303 (method url-fetch)
10304 (uri (string-append "https://hackage.haskell.org/package/"
10305 "regex-pcre-builtin/regex-pcre-builtin-"
10306 version ".tar.gz"))
10307 (sha256
10308 (base32
ee946143 10309 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10310 (build-system haskell-build-system)
10311 (inputs
10312 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10313 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10314 (synopsis "Enhancement of the builtin Text.Regex library")
10315 (description
10316 "This package is an enhancement of the @code{Text.Regex} library,
10317providing the PCRE backend to accompany regex-base, with bundled code from
10318@url{https://www.pcre.org}.")
10319 (license license:bsd-3)))
10320
10321(define-public ghc-regex-posix
10322 (package
10323 (name "ghc-regex-posix")
10324 (version "0.95.2")
10325 (source
10326 (origin
10327 (method url-fetch)
10328 (uri (string-append
10329 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10330 version
10331 ".tar.gz"))
10332 (sha256
10333 (base32
10334 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10335 (build-system haskell-build-system)
10336 (inputs
10337 `(("ghc-regex-base" ,ghc-regex-base)))
10338 (home-page "https://sourceforge.net/projects/lazy-regex")
10339 (synopsis "POSIX regular expressions for Haskell")
10340 (description "This library provides the POSIX regex backend used by the
10341Haskell library @code{regex-base}.")
10342 (license license:bsd-3)))
10343
10344(define-public ghc-regex-tdfa
10345 (package
10346 (name "ghc-regex-tdfa")
ce684db0 10347 (version "1.2.3.2")
dddbc90c
RV
10348 (source
10349 (origin
10350 (method url-fetch)
10351 (uri (string-append
10352 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10353 version ".tar.gz"))
10354 (sha256
10355 (base32
ce684db0 10356 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10357 (build-system haskell-build-system)
10358 (inputs
10359 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10360 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10361 (synopsis "POSIX extended regular expressions in Haskell.")
10362 (description
10363 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10364extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10365inspired by libtre.")
10366 (license license:bsd-3)))
10367
10368(define-public ghc-regex-tdfa-text
10369 (package
10370 (name "ghc-regex-tdfa-text")
10371 (version "1.0.0.3")
10372 (source
10373 (origin
10374 (method url-fetch)
10375 (uri (string-append
10376 "https://hackage.haskell.org/package/regex-tdfa-text/"
10377 "regex-tdfa-text-" version ".tar.gz"))
10378 (sha256
10379 (base32
10380 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10381 (build-system haskell-build-system)
10382 (inputs
10383 `(("ghc-regex-base" ,ghc-regex-base)
10384 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10385 (home-page
3ef91e15 10386 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10387 (synopsis "Text interface for regex-tdfa")
10388 (description
10389 "This provides an extra text interface for regex-tdfa.")
10390 (license license:bsd-3)))
10391
798a2df4
JS
10392(define-public ghc-repline
10393 (package
10394 (name "ghc-repline")
10395 (version "0.2.0.0")
10396 (source
10397 (origin
10398 (method url-fetch)
10399 (uri (string-append
10400 "mirror://hackage/package/repline/repline-"
10401 version
10402 ".tar.gz"))
10403 (sha256
10404 (base32
10405 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10406 (build-system haskell-build-system)
10407 (home-page "https://github.com/sdiehl/repline")
10408 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10409 (description
10410 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10411normal mtl transformers.")
10412 (license license:expat)))
10413
6c0858dd
JS
10414(define-public ghc-repline-0.3
10415 (package
10416 (inherit ghc-repline)
10417 (version "0.3.0.0")
10418 (source
10419 (origin
10420 (method url-fetch)
10421 (uri (string-append
10422 "mirror://hackage/package/repline/repline-"
10423 version
10424 ".tar.gz"))
10425 (sha256
10426 (base32
10427 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10428 (inputs
10429 `(("ghc-exceptions" ,ghc-exceptions)
10430 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10431
dddbc90c
RV
10432(define-public ghc-rerebase
10433 (package
10434 (name "ghc-rerebase")
cdec7b8c 10435 (version "1.3.1.1")
dddbc90c
RV
10436 (source
10437 (origin
10438 (method url-fetch)
10439 (uri (string-append
10440 "https://hackage.haskell.org/package/rerebase/rerebase-"
10441 version ".tar.gz"))
10442 (sha256
10443 (base32
cdec7b8c 10444 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10445 (build-system haskell-build-system)
10446 (inputs
10447 `(("ghc-rebase" ,ghc-rebase)))
10448 (home-page "https://github.com/nikita-volkov/rerebase")
10449 (synopsis "Reexports from ``base'' with many other standard libraries")
10450 (description "A rich drop-in replacement for @code{base}. For details and
10451documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10452the project's home page}.")
10453 (license license:expat)))
10454
10455(define-public ghc-resolv
10456 (package
10457 (name "ghc-resolv")
87309478 10458 (version "0.1.1.2")
dddbc90c
RV
10459 (source
10460 (origin
10461 (method url-fetch)
10462 (uri (string-append
10463 "https://hackage.haskell.org/package/resolv/resolv-"
10464 version ".tar.gz"))
10465 (sha256
10466 (base32
87309478 10467 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10468 (build-system haskell-build-system)
10469 (arguments
87309478
TS
10470 `(#:phases
10471 (modify-phases %standard-phases
10472 (add-before 'configure 'update-constraints
10473 (lambda _
10474 (substitute* "resolv.cabal"
10475 (("tasty >= 1\\.1 && < 1\\.2")
10476 "tasty >= 1.1 && < 1.3"))
10477 #t)))))
dddbc90c
RV
10478 (inputs
10479 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10480 (native-inputs
10481 `(("ghc-tasty" ,ghc-tasty)
10482 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10483 (home-page "https://github.com/haskell/hackage-security")
10484 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10485 (description "This package implements an API for accessing the
10486@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10487resolver service via the standard @code{libresolv} system library (whose
10488API is often available directly via the standard @code{libc} C library) on
10489Unix systems.")
10490 (license license:gpl3)))
10491
10492(define-public ghc-resource-pool
10493 (package
10494 (name "ghc-resource-pool")
10495 (version "0.2.3.2")
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append "https://hackage.haskell.org/package/"
10500 "resource-pool-" version "/"
10501 "resource-pool-" version ".tar.gz"))
10502 (sha256
10503 (base32
10504 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10505 (build-system haskell-build-system)
10506 (inputs `(("ghc-hashable" ,ghc-hashable)
10507 ("ghc-monad-control" ,ghc-monad-control)
10508 ("ghc-transformers-base" ,ghc-transformers-base)
10509 ("ghc-vector" ,ghc-vector)))
10510 (home-page "https://github.com/bos/pool")
10511 (synopsis "Striped resource pooling implementation in Haskell")
10512 (description "This Haskell package provides striped pooling abstraction
10513for managing flexibly-sized collections of resources such as database
10514connections.")
10515 (license license:bsd-3)))
10516
10517(define-public ghc-resourcet
10518 (package
10519 (name "ghc-resourcet")
9ac341ac 10520 (version "1.2.2")
dddbc90c
RV
10521 (source
10522 (origin
10523 (method url-fetch)
10524 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10525 "resourcet-" version ".tar.gz"))
10526 (sha256
10527 (base32
9ac341ac 10528 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10529 (build-system haskell-build-system)
10530 (inputs
10531 `(("ghc-transformers-base" ,ghc-transformers-base)
10532 ("ghc-monad-control" ,ghc-monad-control)
10533 ("ghc-transformers-compat" ,ghc-transformers-compat)
10534 ("ghc-mmorph" ,ghc-mmorph)
10535 ("ghc-exceptions" ,ghc-exceptions)
10536 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10537 (native-inputs
10538 `(("ghc-lifted-base" ,ghc-lifted-base)
10539 ("ghc-hspec" ,ghc-hspec)))
10540 (home-page "https://github.com/snoyberg/conduit")
10541 (synopsis "Deterministic allocation and freeing of scarce resources")
10542 (description "ResourceT is a monad transformer which creates a region of
10543code where you can safely allocate resources.")
10544 (license license:bsd-3)))
10545
b9debc37
TS
10546(define-public ghc-retry
10547 (package
10548 (name "ghc-retry")
10549 (version "0.8.1.0")
10550 (source
10551 (origin
10552 (method url-fetch)
10553 (uri (string-append "https://hackage.haskell.org/package/"
10554 "retry/retry-" version ".tar.gz"))
10555 (sha256
10556 (base32
10557 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10558 (build-system haskell-build-system)
10559 (inputs
10560 `(("ghc-exceptions" ,ghc-exceptions)
10561 ("ghc-random" ,ghc-random)))
10562 (native-inputs
10563 `(("ghc-hunit" ,ghc-hunit)
10564 ("ghc-tasty" ,ghc-tasty)
10565 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10566 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10567 ("ghc-hedgehog" ,ghc-hedgehog)))
10568 (home-page "http://github.com/Soostone/retry")
10569 (synopsis "Retry combinators for monadic actions that may fail")
10570 (description "This package exposes combinators that can wrap
10571arbitrary monadic actions. They run the action and potentially retry
10572running it with some configurable delay for a configurable number of
10573times. The purpose is to make it easier to work with IO and especially
10574network IO actions that often experience temporary failure and warrant
10575retrying of the original action. For example, a database query may time
10576out for a while, in which case we should hang back for a bit and retry
10577the query instead of simply raising an exception.")
10578 (license license:bsd-3)))
10579
dddbc90c
RV
10580(define-public ghc-rfc5051
10581 (package
10582 (name "ghc-rfc5051")
ec42ab7c 10583 (version "0.1.0.4")
dddbc90c
RV
10584 (source
10585 (origin
10586 (method url-fetch)
10587 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10588 "rfc5051-" version ".tar.gz"))
10589 (sha256
10590 (base32
ec42ab7c 10591 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10592 (build-system haskell-build-system)
10593 (home-page "https://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")
8bda2fa7 10606 (version "0.1.12.0")
dddbc90c
RV
10607 (source
10608 (origin
10609 (method url-fetch)
10610 (uri (string-append
10611 "https://hackage.haskell.org/package/rio/rio-"
10612 version ".tar.gz"))
10613 (sha256
10614 (base32
8bda2fa7 10615 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10616 (build-system haskell-build-system)
10617 (inputs
10618 `(("ghc-exceptions" ,ghc-exceptions)
10619 ("ghc-hashable" ,ghc-hashable)
10620 ("ghc-microlens" ,ghc-microlens)
10621 ("ghc-primitive" ,ghc-primitive)
10622 ("ghc-typed-process" ,ghc-typed-process)
10623 ("ghc-unliftio" ,ghc-unliftio)
10624 ("ghc-unordered-containers" ,ghc-unordered-containers)
10625 ("ghc-vector" ,ghc-vector)))
10626 (native-inputs
10627 `(("ghc-hspec" ,ghc-hspec)
10628 ("hspec-discover" ,hspec-discover)))
10629 (home-page "https://github.com/commercialhaskell/rio#readme")
10630 (synopsis "A standard library for Haskell")
10631 (description "This package works as a prelude replacement for Haskell,
10632providing more functionality and types out of the box than the standard
10633prelude (such as common data types like @code{ByteString} and
10634@code{Text}), as well as removing common ``gotchas'', like partial
10635functions and lazy I/O. The guiding principle here is:
10636@itemize
10637@item If something is safe to use in general and has no expected naming
10638conflicts, expose it.
10639@item If something should not always be used, or has naming conflicts,
10640expose it from another module in the hierarchy.
10641@end itemize")
10642 (license license:expat)))
10643
10644(define-public ghc-safe
10645 (package
10646 (name "ghc-safe")
10647 (version "0.3.17")
10648 (source
10649 (origin
10650 (method url-fetch)
10651 (uri (string-append
10652 "https://hackage.haskell.org/package/safe/safe-"
10653 version
10654 ".tar.gz"))
10655 (sha256
10656 (base32
10657 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10658 (build-system haskell-build-system)
10659 (native-inputs
10660 `(("ghc-quickcheck" ,ghc-quickcheck)))
10661 (home-page "https://github.com/ndmitchell/safe#readme")
10662 (synopsis "Library of safe (exception free) functions")
10663 (description "This library provides wrappers around @code{Prelude} and
10664@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10665exceptions.")
10666 (license license:bsd-3)))
10667
10668(define-public ghc-safe-exceptions
10669 (package
10670 (name "ghc-safe-exceptions")
10671 (version "0.1.7.0")
10672 (source
10673 (origin
10674 (method url-fetch)
10675 (uri (string-append "https://hackage.haskell.org/package/"
10676 "safe-exceptions/safe-exceptions-"
10677 version ".tar.gz"))
10678 (sha256
10679 (base32
10680 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10681 (build-system haskell-build-system)
10682 (arguments
10683 '(#:cabal-revision
10684 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10685 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10686 (native-inputs
10687 `(("ghc-hspec" ,ghc-hspec)
10688 ("ghc-void" ,ghc-void)
10689 ("hspec-discover" ,hspec-discover)))
10690 (home-page "https://github.com/fpco/safe-exceptions")
10691 (synopsis "Safe, consistent, and easy exception handling")
10692 (description "Runtime exceptions - as exposed in @code{base} by the
10693@code{Control.Exception} module - have long been an intimidating part of the
10694Haskell ecosystem. This package is intended to overcome this. It provides a
10695safe and simple API on top of the existing exception handling machinery. The
10696API is equivalent to the underlying implementation in terms of power but
10697encourages best practices to minimize the chances of getting the exception
10698handling wrong.")
10699 (license license:expat)))
10700
10701(define-public ghc-safeio
10702 (package
10703 (name "ghc-safeio")
10704 (version "0.0.5.0")
10705 (source
10706 (origin
10707 (method url-fetch)
10708 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10709 "safeio-" version ".tar.gz"))
10710 (sha256
10711 (base32
10712 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10713 (build-system haskell-build-system)
10714 (inputs
10715 `(("ghc-conduit" ,ghc-conduit)
10716 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10717 ("ghc-exceptions" ,ghc-exceptions)
10718 ("ghc-resourcet" ,ghc-resourcet)))
10719 (native-inputs
10720 `(("ghc-hunit" ,ghc-hunit)
10721 ("ghc-test-framework" ,ghc-test-framework)
10722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10723 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10724 (home-page "https://github.com/luispedro/safeio")
10725 (synopsis "Write output to disk atomically")
10726 (description
10727 "This package implements utilities to perform atomic output so as to
10728avoid the problem of partial intermediate files.")
10729 (license license:expat)))
10730
10731(define-public ghc-safesemaphore
10732 (package
10733 (name "ghc-safesemaphore")
10734 (version "0.10.1")
10735 (source
10736 (origin
10737 (method url-fetch)
10738 (uri (string-append "https://hackage.haskell.org/package/"
10739 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10740 (sha256
10741 (base32
10742 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10743 (build-system haskell-build-system)
10744 (native-inputs
10745 `(("ghc-hunit" ,ghc-hunit)))
10746 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10747 (synopsis "Exception safe semaphores")
10748 (description "This library provides exception safe semaphores that can be
10749used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10750are not exception safe and can be broken by @code{killThread}.")
10751 (license license:bsd-3)))
10752
10753(define-public ghc-sandi
10754 (package
10755 (name "ghc-sandi")
b867c2b0 10756 (version "0.5")
dddbc90c
RV
10757 (source
10758 (origin
10759 (method url-fetch)
10760 (uri (string-append
10761 "https://hackage.haskell.org/package/sandi/sandi-"
10762 version ".tar.gz"))
10763 (sha256
10764 (base32
b867c2b0 10765 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10766 (build-system haskell-build-system)
10767 (inputs
10768 `(("ghc-stringsearch" ,ghc-stringsearch)
10769 ("ghc-conduit" ,ghc-conduit)
10770 ("ghc-exceptions" ,ghc-exceptions)
10771 ("ghc-hunit" ,ghc-hunit)
10772 ("ghc-tasty" ,ghc-tasty)
10773 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10774 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10775 ("ghc-tasty-th" ,ghc-tasty-th)))
10776 (home-page "https://hackage.haskell.org/package/sandi")
10777 (synopsis "Data encoding library")
10778 (description "Reasonably fast data encoding library.")
10779 (license license:bsd-3)))
10780
4da75228
ASM
10781(define-public ghc-say
10782 (package
10783 (name "ghc-say")
10784 (version "0.1.0.1")
10785 (source
10786 (origin
10787 (method url-fetch)
10788 (uri (string-append
10789 "https://hackage.haskell.org/package/say/say-"
10790 version
10791 ".tar.gz"))
10792 (sha256
10793 (base32
10794 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10795 (build-system haskell-build-system)
10796 (native-inputs
10797 `(("ghc-hspec" ,ghc-hspec)
10798 ("hspec-discover" ,hspec-discover)
10799 ("ghc-unliftio" ,ghc-unliftio)))
10800 (home-page "https://github.com/fpco/say")
10801 (synopsis
10802 "Send textual messages to a Handle in a thread-friendly way")
10803 (description
10804 "A thread safe API to write a line of textual data to a Handle, such
10805as sending some messages to the terminal - that has the following properties:
10806@itemize
10807@item Properly handle character encoding settings on the Handle
10808@item For reasonably sized messages, ensure that the entire message is written
10809 in one chunk to avoid interleaving data with other threads
10810@item Avoid unnecessary memory allocations and copies
10811@item Minimize locking.
10812@end itemize")
10813 (license license:expat)))
10814
dddbc90c
RV
10815(define-public ghc-scientific
10816 (package
10817 (name "ghc-scientific")
10818 (version "0.3.6.2")
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append
10823 "https://hackage.haskell.org/package/scientific/scientific-"
10824 version
10825 ".tar.gz"))
10826 (sha256
10827 (base32
10828 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10829 (build-system haskell-build-system)
10830 (inputs
10831 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10832 ("ghc-hashable" ,ghc-hashable)
10833 ("ghc-primitive" ,ghc-primitive)))
10834 (native-inputs
10835 `(("ghc-tasty" ,ghc-tasty)
10836 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10837 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10838 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10839 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10840 ("ghc-smallcheck" ,ghc-smallcheck)
10841 ("ghc-quickcheck" ,ghc-quickcheck)))
10842 (home-page "https://github.com/basvandijk/scientific")
10843 (synopsis "Numbers represented using scientific notation")
10844 (description "This package provides @code{Data.Scientific}, which provides
10845the number type @code{Scientific}. Scientific numbers are arbitrary precision
10846and space efficient. They are represented using
10847@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10848notation}.")
10849 (license license:bsd-3)))
10850
10851(define-public ghc-scientific-bootstrap
10852 (package
10853 (inherit ghc-scientific)
10854 (name "ghc-scientific-bootstrap")
10855 (arguments `(#:tests? #f))
10856 (inputs
10857 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10858 ("ghc-hashable" ,ghc-hashable)
10859 ("ghc-primitive" ,ghc-primitive)))
10860 (native-inputs '())
799d8d3c 10861 (properties '((hidden? #t)))))
dddbc90c
RV
10862
10863(define-public ghc-sdl
10864 (package
10865 (name "ghc-sdl")
10866 (version "0.6.7.0")
10867 (source
10868 (origin
10869 (method url-fetch)
10870 (uri (string-append
10871 "https://hackage.haskell.org/package/SDL/SDL-"
10872 version
10873 ".tar.gz"))
10874 (sha256
10875 (base32
10876 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10877 (build-system haskell-build-system)
10878 (inputs
10879 `(("sdl" ,sdl)))
10880 (home-page "https://hackage.haskell.org/package/SDL")
10881 (synopsis "LibSDL for Haskell")
10882 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10883multimedia library designed to provide low level access to audio, keyboard,
10884mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10885by MPEG playback software, emulators, and many popular games, including the
10886award winning Linux port of \"Civilization: Call To Power.\"")
10887 (license license:bsd-3)))
10888
1874cdc1
RV
10889(define-public ghc-sdl2
10890 (package
10891 (name "ghc-sdl2")
145148ca 10892 (version "2.5.0.0")
1874cdc1
RV
10893 (source
10894 (origin
10895 (method url-fetch)
10896 (uri (string-append "https://hackage.haskell.org/package/"
10897 "sdl2/sdl2-" version ".tar.gz"))
10898 (sha256
10899 (base32
145148ca 10900 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10901 (build-system haskell-build-system)
10902 (arguments '(#:tests? #f)) ; tests require graphical environment
10903 (inputs
10904 `(("ghc-exceptions" ,ghc-exceptions)
10905 ("ghc-linear" ,ghc-linear)
10906 ("ghc-statevar" ,ghc-statevar)
10907 ("ghc-vector" ,ghc-vector)
10908 ("sdl2" ,sdl2)))
10909 (native-inputs
10910 `(("ghc-weigh" ,ghc-weigh)
10911 ("pkg-config" ,pkg-config)))
35437dbf 10912 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10913 (synopsis "High- and low-level bindings to the SDL library")
10914 (description
10915 "This package contains bindings to the SDL 2 library, in both high- and
10916low-level forms. The @code{SDL} namespace contains high-level bindings, where
10917enumerations are split into sum types, and we perform automatic
10918error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10919translation of the C API into Haskell FFI calls. As such, this does not
10920contain sum types nor error checking. Thus this namespace is suitable for
10921building your own abstraction over SDL, but is not recommended for day-to-day
10922programming.")
10923 (license license:bsd-3)))
10924
10925(define-public ghc-sdl2-image
10926 (package
10927 (name "ghc-sdl2-image")
10928 (version "2.0.0")
10929 (source
10930 (origin
10931 (method url-fetch)
10932 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10933 "sdl2-image-" version ".tar.gz"))
10934 (sha256
10935 (base32
10936 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10937 (build-system haskell-build-system)
10938 (inputs
10939 `(("ghc-sdl2" ,ghc-sdl2)
10940 ("sdl2-image" ,sdl2-image)))
10941 (native-inputs
10942 `(("pkg-config" ,pkg-config)))
3ef91e15 10943 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10944 (synopsis "Bindings to SDL2_image")
10945 (description "This package provides Haskell bindings to
10946@code{SDL2_image}.")
10947 (license license:expat)))
10948
10949(define-public ghc-sdl2-mixer
10950 (package
10951 (name "ghc-sdl2-mixer")
10952 (version "1.1.0")
10953 (source
10954 (origin
10955 (method url-fetch)
10956 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10957 "sdl2-mixer-" version ".tar.gz"))
10958 (sha256
10959 (base32
10960 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10961 (build-system haskell-build-system)
10962 (inputs
10963 `(("ghc-data-default-class" ,ghc-data-default-class)
10964 ("ghc-lifted-base" ,ghc-lifted-base)
10965 ("ghc-monad-control" ,ghc-monad-control)
10966 ("ghc-sdl2" ,ghc-sdl2)
10967 ("ghc-vector" ,ghc-vector)
10968 ("sdl2-mixer" ,sdl2-mixer)))
10969 (native-inputs
10970 `(("pkg-config" ,pkg-config)))
3ef91e15 10971 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10972 (synopsis "Bindings to SDL2 mixer")
10973 (description "This package provides Haskell bindings to
10974@code{SDL2_mixer}.")
10975 (license license:bsd-3)))
10976
dddbc90c
RV
10977(define-public ghc-sdl-image
10978 (package
10979 (name "ghc-sdl-image")
10980 (version "0.6.2.0")
10981 (source
10982 (origin
10983 (method url-fetch)
10984 (uri (string-append
10985 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10986 version
10987 ".tar.gz"))
10988 (sha256
10989 (base32
10990 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10991 (build-system haskell-build-system)
10992 (arguments
10993 `(#:configure-flags
10994 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10995 (sdl-image-include (string-append sdl-image "/include/SDL")))
10996 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10997 (inputs
10998 `(("ghc-sdl" ,ghc-sdl)
10999 ("sdl-image" ,sdl-image)))
11000 (home-page "https://hackage.haskell.org/package/SDL-image")
11001 (synopsis "Haskell bindings to libSDL_image")
11002 (description "SDL_image is an image file loading library. It loads images
11003as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11004PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11005 (license license:bsd-3)))
11006
11007(define-public ghc-sdl-mixer
11008 (package
11009 (name "ghc-sdl-mixer")
11010 (version "0.6.3.0")
11011 (source
11012 (origin
11013 (method url-fetch)
11014 (uri (string-append
11015 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11016 version
11017 ".tar.gz"))
11018 (sha256
11019 (base32
11020 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11021 (build-system haskell-build-system)
11022 (arguments
11023 `(#:configure-flags
11024 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11025 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11026 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11027 (inputs
11028 `(("ghc-sdl" ,ghc-sdl)
11029 ("sdl-mixer" ,sdl-mixer)))
11030 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11031 (synopsis "Haskell bindings to libSDL_mixer")
11032 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11033supports any number of simultaneously playing channels of 16 bit stereo audio,
11034plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11035MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11036 (license license:bsd-3)))
11037
11038(define-public ghc-securemem
11039 (package
11040 (name "ghc-securemem")
11041 (version "0.1.10")
11042 (source
11043 (origin
11044 (method url-fetch)
11045 (uri (string-append "https://hackage.haskell.org/package/"
11046 "securemem-" version "/"
11047 "securemem-" version ".tar.gz"))
11048 (sha256
11049 (base32
11050 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11051 (build-system haskell-build-system)
11052 (inputs `(("ghc-byteable" ,ghc-byteable)
11053 ("ghc-memory" ,ghc-memory)))
11054 (home-page "https://github.com/vincenthz/hs-securemem")
11055 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11056Haskell")
11057 (description "SecureMem is similar to ByteString, except that it provides
11058a memory chunk that will be auto-scrubbed after it run out of scope.")
11059 (license license:bsd-3)))
11060
3cf7219c
JS
11061(define-public ghc-semialign
11062 (package
11063 (name "ghc-semialign")
11064 (version "1")
11065 (source
11066 (origin
11067 (method url-fetch)
11068 (uri (string-append
11069 "https://hackage.haskell.org/package/semialign/semialign-"
11070 version
11071 ".tar.gz"))
11072 (sha256
11073 (base32
11074 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11075 (build-system haskell-build-system)
11076 (inputs
11077 `(("ghc-these" ,ghc-these)
11078 ("ghc-base-compat" ,ghc-base-compat)
11079 ("ghc-hashable" ,ghc-hashable)
11080 ("ghc-tagged" ,ghc-tagged)
11081 ("ghc-unordered-containers" ,ghc-unordered-containers)
11082 ("ghc-vector" ,ghc-vector)
11083 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11084 (arguments
11085 `(#:cabal-revision
11086 ("1"
11087 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11088 (home-page
11089 "https://github.com/isomorphism/these")
11090 (synopsis
11091 "Align and Zip type-classes from the common Semialign ancestor ")
11092 (description
11093 "The major use of @code{These} of this is provided by the
11094@code{align} member of @code{Semialign} class, representing a
11095generalized notion of \"zipping with padding\" that combines
11096structures without truncating to the size of the smaller input. It
11097turns out that @code{zip} operation fits well the @code{Semialign}
11098class, forming lattice-like structure.")
11099 (license license:bsd-3)))
11100
dddbc90c
RV
11101(define-public ghc-semigroupoids
11102 (package
11103 (name "ghc-semigroupoids")
a8aaadf2 11104 (version "5.3.3")
dddbc90c
RV
11105 (source
11106 (origin
11107 (method url-fetch)
11108 (uri (string-append
11109 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11110 version
11111 ".tar.gz"))
11112 (sha256
11113 (base32
a8aaadf2 11114 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11115 (build-system haskell-build-system)
dddbc90c
RV
11116 (inputs
11117 `(("ghc-base-orphans" ,ghc-base-orphans)
11118 ("ghc-transformers-compat" ,ghc-transformers-compat)
11119 ("ghc-bifunctors" ,ghc-bifunctors)
11120 ("ghc-comonad" ,ghc-comonad)
11121 ("ghc-contravariant" ,ghc-contravariant)
11122 ("ghc-distributive" ,ghc-distributive)
11123 ("ghc-hashable" ,ghc-hashable)
11124 ("ghc-semigroups" ,ghc-semigroups)
11125 ("ghc-tagged" ,ghc-tagged)
11126 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11127 (native-inputs
11128 `(("cabal-doctest" ,cabal-doctest)
11129 ("ghc-doctest" ,ghc-doctest)))
11130 (home-page "https://github.com/ekmett/semigroupoids")
11131 (synopsis "Semigroupoids operations for Haskell")
11132 (description "This library provides a wide array of (semi)groupoids and
11133operations for working with them. A @code{Semigroupoid} is a @code{Category}
11134without the requirement of identity arrows for every object in the category.
11135A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11136Finally, to work with these weaker structures it is beneficial to have
11137containers that can provide stronger guarantees about their contents, so
11138versions of @code{Traversable} and @code{Foldable} that can be folded with
11139just a @code{Semigroup} are added.")
11140 (license license:bsd-3)))
11141
11142(define-public ghc-semigroups
11143 (package
11144 (name "ghc-semigroups")
11145 (version "0.18.5")
11146 (source
11147 (origin
11148 (method url-fetch)
11149 (uri (string-append
11150 "https://hackage.haskell.org/package/semigroups/semigroups-"
11151 version
11152 ".tar.gz"))
11153 (sha256
11154 (base32
11155 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11156 (build-system haskell-build-system)
11157 (inputs
11158 `(("ghc-nats" ,ghc-nats)
11159 ("ghc-tagged" ,ghc-tagged)
11160 ("ghc-unordered-containers" ,ghc-unordered-containers)
11161 ("ghc-hashable" ,ghc-hashable)))
11162 (home-page "https://github.com/ekmett/semigroups/")
11163 (synopsis "Semigroup operations for Haskell")
11164 (description "This package provides semigroups for Haskell. In
11165mathematics, a semigroup is an algebraic structure consisting of a set
11166together with an associative binary operation. A semigroup generalizes a
11167monoid in that there might not exist an identity element. It
11168also (originally) generalized a group (a monoid with all inverses) to a type
11169where every element did not have to have an inverse, thus the name
11170semigroup.")
11171 (license license:bsd-3)))
11172
11173(define-public ghc-semigroups-bootstrap
11174 (package
11175 (inherit ghc-semigroups)
11176 (name "ghc-semigroups-bootstrap")
11177 (inputs
11178 `(("ghc-nats" ,ghc-nats-bootstrap)
11179 ("ghc-tagged" ,ghc-tagged)
11180 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11181 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11182 (properties '((hidden? #t)))))
dddbc90c 11183
47c526df
JS
11184(define-public ghc-serialise
11185 (package
11186 (name "ghc-serialise")
11187 (version "0.2.1.0")
11188 (source
11189 (origin
11190 (method url-fetch)
11191 (uri (string-append
11192 "mirror://hackage/package/serialise/serialise-"
11193 version
11194 ".tar.gz"))
11195 (sha256
11196 (base32
11197 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11198 (build-system haskell-build-system)
11199 (inputs
11200 `(("ghc-cborg" ,ghc-cborg)
11201 ("ghc-half" ,ghc-half)
11202 ("ghc-hashable" ,ghc-hashable)
11203 ("ghc-primitive" ,ghc-primitive)
11204 ("ghc-unordered-containers" ,ghc-unordered-containers)
11205 ("ghc-vector" ,ghc-vector)))
11206 (native-inputs
11207 `(("ghc-quickcheck" ,ghc-quickcheck)
11208 ("ghc-tasty" ,ghc-tasty)
11209 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11210 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11211 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11212 (arguments
11213 `(#:cabal-revision
11214 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11215 (home-page "https://github.com/well-typed/cborg")
11216 (synopsis "Binary serialisation library for Haskell values")
11217 (description
11218 "This package (formerly binary-serialise-cbor) provides pure,
11219efficient serialization of Haskell values directly into ByteStrings for
11220storage or transmission purposes. By providing a set of type class instances,
11221you can also serialise any custom data type you have as well.
11222
11223The underlying binary format used is the 'Concise Binary Object
11224Representation', or CBOR, specified in RFC 7049. As a result, serialised
11225Haskell values have implicit structure outside of the Haskell program itself,
11226meaning they can be inspected or analyzed without custom tools.
11227
11228An implementation of the standard bijection between CBOR and JSON is
11229provided by the https://hackage.haskell.org/package/cborg-json
11230package. Also see https://hackage.haskell.org/package/cbor-tool for a
11231convenient command-line utility for working with CBOR data.")
11232 (license license:bsd-3)))
11233
dddbc90c
RV
11234(define-public ghc-setenv
11235 (package
11236 (name "ghc-setenv")
11237 (version "0.1.1.3")
11238 (source
11239 (origin
11240 (method url-fetch)
11241 (uri (string-append
11242 "https://hackage.haskell.org/package/setenv/setenv-"
11243 version
11244 ".tar.gz"))
11245 (sha256
11246 (base32
11247 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11248 (build-system haskell-build-system)
11249 (home-page "https://hackage.haskell.org/package/setenv")
11250 (synopsis "Library for setting environment variables")
11251 (description "This package provides a Haskell library for setting
11252environment variables.")
11253 (license license:expat)))
11254
11255(define-public ghc-setlocale
11256 (package
11257 (name "ghc-setlocale")
9d7cfc9b 11258 (version "1.0.0.9")
dddbc90c
RV
11259 (source (origin
11260 (method url-fetch)
11261 (uri (string-append
11262 "https://hackage.haskell.org/package/setlocale-"
11263 version "/setlocale-" version ".tar.gz"))
11264 (sha256
11265 (base32
9d7cfc9b 11266 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11267 (build-system haskell-build-system)
11268 (home-page "https://hackage.haskell.org/package/setlocale")
11269 (synopsis "Haskell bindings to setlocale")
11270 (description "This package provides Haskell bindings to the
11271@code{setlocale} C function.")
11272 (license license:bsd-3)))
11273
11274(define-public ghc-shakespeare
11275 (package
11276 (name "ghc-shakespeare")
f680955f 11277 (version "2.0.22")
dddbc90c
RV
11278 (source
11279 (origin
11280 (method url-fetch)
11281 (uri (string-append "https://hackage.haskell.org/package/"
11282 "shakespeare-" version "/"
11283 "shakespeare-" version ".tar.gz"))
11284 (sha256
11285 (base32
f680955f 11286 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11287 (build-system haskell-build-system)
11288 (inputs `(("ghc-aeson" ,ghc-aeson)
11289 ("ghc-blaze-markup" ,ghc-blaze-markup)
11290 ("ghc-blaze-html" ,ghc-blaze-html)
11291 ("ghc-exceptions" ,ghc-exceptions)
11292 ("ghc-vector" ,ghc-vector)
11293 ("ghc-unordered-containers" ,ghc-unordered-containers)
11294 ("ghc-scientific" ,ghc-scientific)))
11295 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11296 ("ghc-hunit" ,ghc-hunit)
11297 ("hspec-discover" ,hspec-discover)))
11298 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11299 (synopsis "Family of type-safe template languages for Haskell")
11300 (description "This Haskell package provides a family of type-safe
11301templates with simple variable interpolation. Shakespeare templates can
11302be used inline with a quasi-quoter or in an external file and it
11303interpolates variables according to the type being inserted.")
11304 (license license:expat)))
11305
11306(define-public ghc-shelly
11307 (package
11308 (name "ghc-shelly")
11309 (version "1.8.1")
11310 (source
11311 (origin
11312 (method url-fetch)
11313 (uri (string-append
11314 "https://hackage.haskell.org/package/shelly/shelly-"
11315 version ".tar.gz"))
11316 (sha256
11317 (base32
11318 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11319 (build-system haskell-build-system)
11320 (inputs
11321 `(("ghc-unix-compat" ,ghc-unix-compat)
11322 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11323 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11324 ("ghc-monad-control" ,ghc-monad-control)
11325 ("ghc-lifted-base" ,ghc-lifted-base)
11326 ("ghc-lifted-async" ,ghc-lifted-async)
11327 ("ghc-exceptions" ,ghc-exceptions)
11328 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11329 ("ghc-async" ,ghc-async)
11330 ("ghc-transformers-base" ,ghc-transformers-base)
11331 ("ghc-hunit" ,ghc-hunit)
11332 ("ghc-hspec" ,ghc-hspec)
11333 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11334 (home-page "https://github.com/yesodweb/Shelly.hs")
11335 (synopsis "Shell-like (systems) programming in Haskell")
11336 (description
11337 "Shelly provides convenient systems programming in Haskell, similar in
11338spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11339 (license license:bsd-3)))
11340
11341(define-public ghc-silently
11342 (package
11343 (name "ghc-silently")
544bb369 11344 (version "1.2.5.1")
dddbc90c
RV
11345 (source
11346 (origin
11347 (method url-fetch)
11348 (uri (string-append
11349 "https://hackage.haskell.org/package/silently/silently-"
11350 version
11351 ".tar.gz"))
11352 (sha256
11353 (base32
544bb369 11354 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11355 (build-system haskell-build-system)
11356 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11357 ;; (inputs
11358 ;; `(("ghc-temporary" ,ghc-temporary)))
11359 (home-page "https://github.com/hspec/silently")
11360 (synopsis "Prevent writing to stdout")
11361 (description "This package provides functions to prevent or capture
11362writing to stdout and other handles.")
11363 (license license:bsd-3)))
11364
11365(define-public ghc-simple-reflect
11366 (package
11367 (name "ghc-simple-reflect")
11368 (version "0.3.3")
11369 (source
11370 (origin
11371 (method url-fetch)
11372 (uri (string-append
11373 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11374 version
11375 ".tar.gz"))
11376 (sha256
11377 (base32
11378 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11379 (build-system haskell-build-system)
11380 (home-page
11381 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11382 (synopsis
11383 "Simple reflection of expressions containing variables")
11384 (description
11385 "This package allows simple reflection of expressions containing
11386variables. Reflection here means that a Haskell expression is turned into a
11387string. The primary aim of this package is teaching and understanding; there
11388are no options for manipulating the reflected expressions beyond showing
11389them.")
11390 (license license:bsd-3)))
11391
11392(define-public ghc-simple-sendfile
11393 (package
11394 (name "ghc-simple-sendfile")
08f54390 11395 (version "0.2.30")
dddbc90c
RV
11396 (source
11397 (origin
11398 (method url-fetch)
11399 (uri (string-append "https://hackage.haskell.org/package/"
11400 "simple-sendfile-" version "/"
11401 "simple-sendfile-" version ".tar.gz"))
11402 (sha256
11403 (base32
08f54390 11404 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11405 (build-system haskell-build-system)
11406 (inputs
11407 `(("ghc-conduit" ,ghc-conduit)
11408 ("ghc-conduit-extra" ,ghc-conduit-extra)
11409 ("ghc-network" ,ghc-network)
11410 ("ghc-resourcet" ,ghc-resourcet)))
11411 (native-inputs
11412 `(("ghc-hspec" ,ghc-hspec)
11413 ("hspec-discover" ,hspec-discover)))
11414 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11415 (synopsis "Cross platform library for the sendfile system call")
11416 (description "This library tries to call minimum system calls which
11417are the bottleneck of web servers.")
11418 (license license:bsd-3)))
11419
06966c05
TS
11420(define-public ghc-size-based
11421 (package
11422 (name "ghc-size-based")
11423 (version "0.1.2.0")
11424 (source
11425 (origin
11426 (method url-fetch)
11427 (uri (string-append "https://hackage.haskell.org/package/"
11428 "size-based/size-based-" version ".tar.gz"))
11429 (sha256
11430 (base32
11431 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11432 (build-system haskell-build-system)
11433 (inputs
11434 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11435 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11436 ("ghc-semigroups" ,ghc-semigroups)))
11437 (arguments
11438 `(#:cabal-revision
11439 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11440 (home-page "https://hackage.haskell.org/package/size-based")
11441 (synopsis "Sized functors for size-based enumerations")
11442 (description "This library provides a framework for size-based
11443enumerations.")
11444 (license license:bsd-3)))
11445
dddbc90c
RV
11446(define-public ghc-skylighting-core
11447 (package
11448 (name "ghc-skylighting-core")
1826c2a8 11449 (version "0.8.2.1")
dddbc90c
RV
11450 (source (origin
11451 (method url-fetch)
11452 (uri (string-append "https://hackage.haskell.org/package/"
11453 "skylighting-core/skylighting-core-"
11454 version ".tar.gz"))
11455 (sha256
11456 (base32
1826c2a8 11457 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11458 (build-system haskell-build-system)
11459 (inputs
11460 `(("ghc-aeson" ,ghc-aeson)
11461 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11462 ("ghc-attoparsec" ,ghc-attoparsec)
11463 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11464 ("ghc-blaze-html" ,ghc-blaze-html)
11465 ("ghc-case-insensitive" ,ghc-case-insensitive)
11466 ("ghc-colour" ,ghc-colour)
11467 ("ghc-hxt" ,ghc-hxt)
11468 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11469 ("ghc-safe" ,ghc-safe)
11470 ("ghc-utf8-string" ,ghc-utf8-string)))
11471 (native-inputs
11472 `(("ghc-diff" ,ghc-diff)
11473 ("ghc-hunit" ,ghc-hunit)
11474 ("ghc-pretty-show" ,ghc-pretty-show)
11475 ("ghc-quickcheck" ,ghc-quickcheck)
11476 ("ghc-tasty" ,ghc-tasty)
11477 ("ghc-tasty-golden" ,ghc-tasty-golden)
11478 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11479 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11480 (home-page "https://github.com/jgm/skylighting")
11481 (synopsis "Syntax highlighting library")
11482 (description "Skylighting is a syntax highlighting library with support
11483for over one hundred languages. It derives its tokenizers from XML syntax
11484definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11485supported by that framework can be added. An optional command-line program is
11486provided. Skylighting is intended to be the successor to highlighting-kate.")
11487 (license license:gpl2)))
11488
11489(define-public ghc-skylighting
11490 (package
11491 (inherit ghc-skylighting-core)
11492 (name "ghc-skylighting")
36c940cf 11493 (version "0.8.2.1")
dddbc90c
RV
11494 (source (origin
11495 (method url-fetch)
11496 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11497 version "/skylighting-" version ".tar.gz"))
11498 (sha256
11499 (base32
36c940cf 11500 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11501 (inputs
11502 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11503 ,@(package-inputs ghc-skylighting-core)))))
11504
11505(define-public ghc-smallcheck
11506 (package
11507 (name "ghc-smallcheck")
11508 (version "1.1.5")
11509 (source
11510 (origin
11511 (method url-fetch)
11512 (uri (string-append
11513 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11514 version
11515 ".tar.gz"))
11516 (sha256
11517 (base32
11518 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11519 (build-system haskell-build-system)
11520 (inputs
11521 `(("ghc-logict" ,ghc-logict)))
11522 (home-page
11523 "https://github.com/feuerbach/smallcheck")
11524 (synopsis "Property-based testing library")
a84be333 11525 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11526properties for all test cases up to some depth. The test cases are generated
11527automatically by SmallCheck.")
11528 (license license:bsd-3)))
11529
11530(define-public ghc-socks
11531 (package
11532 (name "ghc-socks")
ab761e9d 11533 (version "0.6.1")
dddbc90c
RV
11534 (source (origin
11535 (method url-fetch)
11536 (uri (string-append "https://hackage.haskell.org/package/"
11537 "socks/socks-" version ".tar.gz"))
11538 (sha256
11539 (base32
ab761e9d 11540 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11541 (build-system haskell-build-system)
11542 (inputs
11543 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11544 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11545 ("ghc-network" ,ghc-network)))
11546 (home-page "https://github.com/vincenthz/hs-socks")
11547 (synopsis "SOCKS proxy (version 5) implementation")
11548 (description
11549 "This library provides a SOCKS proxy (version 5) implementation.")
11550 (license license:bsd-3)))
11551
081d85d6
TS
11552(define-public ghc-sop-core
11553 (package
11554 (name "ghc-sop-core")
11555 (version "0.4.0.0")
11556 (source
11557 (origin
11558 (method url-fetch)
11559 (uri (string-append "https://hackage.haskell.org/package/"
11560 "sop-core/sop-core-" version ".tar.gz"))
11561 (sha256
11562 (base32
11563 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11564 (build-system haskell-build-system)
3ef91e15 11565 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11566 (synopsis "True Sums of Products")
11567 (description "This package provides an implementation of
11568@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11569is the main module of this library and contains more detailed
11570documentation. The main use case of this package is to serve as the
11571core of @url{https://hackage.haskell.org/package/generics-sop,
11572generics-sop}.")
11573 (license license:bsd-3)))
11574
4c77a1a0
JS
11575(define-public ghc-special-values
11576 (package
11577 (name "ghc-special-values")
11578 (version "0.1.0.0")
11579 (source
11580 (origin
11581 (method url-fetch)
11582 (uri (string-append
11583 "https://hackage.haskell.org/package/special-values/"
11584 "special-values-" version ".tar.gz"))
11585 (sha256
11586 (base32
11587 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11588 (build-system haskell-build-system)
11589 (inputs
11590 `(("ghc-scientific" ,ghc-scientific)
11591 ("ghc-ieee754" ,ghc-ieee754)
11592 ("ghc-nats" ,ghc-nats)))
11593 (home-page
11594 "https://github.com/minad/special-values#readme")
11595 (synopsis "Typeclass providing special values")
11596 (description
11597 "Special values are provided by a SpecialValues typeclass. Those can be
11598used for example by QuickCheck, see quickcheck-special." )
11599 (license license:expat)))
11600
dddbc90c
RV
11601(define-public ghc-split
11602 (package
11603 (name "ghc-split")
11604 (version "0.2.3.3")
11605 (outputs '("out" "doc"))
11606 (source
11607 (origin
11608 (method url-fetch)
11609 (uri (string-append
11610 "https://hackage.haskell.org/package/split/split-"
11611 version
11612 ".tar.gz"))
11613 (sha256
11614 (base32
11615 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11616 (build-system haskell-build-system)
9bbc21a7
TS
11617 (arguments
11618 `(#:cabal-revision
11619 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11620 (native-inputs
11621 `(("ghc-quickcheck" ,ghc-quickcheck)))
11622 (home-page "https://hackage.haskell.org/package/split")
11623 (synopsis "Combinator library for splitting lists")
11624 (description "This package provides a collection of Haskell functions for
11625splitting lists into parts, akin to the @code{split} function found in several
11626mainstream languages.")
11627 (license license:bsd-3)))
11628
7799d17f 11629(define-public ghc-splitmix
49367c92 11630 (package
7799d17f 11631 (name "ghc-splitmix")
49367c92
TS
11632 (version "0.0.3")
11633 (source
11634 (origin
11635 (method url-fetch)
11636 (uri (string-append "https://hackage.haskell.org/package/"
11637 "splitmix/splitmix-" version ".tar.gz"))
11638 (sha256
11639 (base32
11640 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11641 (build-system haskell-build-system)
49367c92
TS
11642 (inputs
11643 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11644 (native-inputs
11645 `(("ghc-hunit" ,ghc-hunit)
11646 ("ghc-async" ,ghc-async)
11647 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11648 ("ghc-tf-random" ,ghc-tf-random)
11649 ("ghc-vector" ,ghc-vector)))
92a79fee 11650 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11651 (synopsis "Fast and splittable pseudorandom number generator")
11652 (description "This package provides a Pure Haskell implementation of the
11653SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11654pseudorandom number generator that is quite fast: 9 64-bit
11655arithmetic/logical operations per 64 bits generated. SplitMix is tested
11656with two standard statistical test suites (DieHarder and TestU01, this
11657implementation only using the former) and it appears to be adequate for
11658\"everyday\" use, such as Monte Carlo algorithms and randomized data
11659structures where speed is important. In particular, it @strong{should not
11660be used for cryptographic or security applications}, because generated
11661sequences of pseudorandom values are too predictable (the mixing functions
11662are easily inverted, and two successive outputs suffice to reconstruct the
11663internal state).")
11664 (license license:bsd-3)))
11665
7799d17f
TS
11666(define-public ghc-splitmix-bootstrap
11667 (package
11668 (inherit ghc-splitmix)
11669 (name "ghc-splitmix-bootstrap")
11670 (arguments `(#:tests? #f))
11671 (native-inputs '())
11672 (properties '((hidden? #t)))))
11673
a152258b
JS
11674(define-public ghc-spoon
11675 (package
11676 (name "ghc-spoon")
11677 (version "0.3.1")
11678 (source
11679 (origin
11680 (method url-fetch)
11681 (uri (string-append
11682 "https://hackage.haskell.org/package/spoon/spoon-"
11683 version
11684 ".tar.gz"))
11685 (sha256
11686 (base32
11687 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11688 (build-system haskell-build-system)
11689 (arguments
11690 `(#:cabal-revision
11691 ("1"
11692 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11693 (home-page
11694 "http://hackage.haskell.org/package/spoon")
11695 (synopsis
11696 "Catch errors thrown from pure computations")
11697 (description
11698 "Takes an error-throwing expression and puts it back in the Maybe it
11699belongs in.
11700
11701Note that this suffers from the
11702@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11703 (license license:bsd-3)))
11704
dddbc90c
RV
11705(define-public ghc-statevar
11706 (package
11707 (name "ghc-statevar")
19419709 11708 (version "1.2")
dddbc90c
RV
11709 (source
11710 (origin
11711 (method url-fetch)
11712 (uri (string-append
11713 "https://hackage.haskell.org/package/StateVar/StateVar-"
11714 version
11715 ".tar.gz"))
11716 (sha256
11717 (base32
19419709 11718 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11719 (build-system haskell-build-system)
11720 (home-page "https://hackage.haskell.org/package/StateVar")
11721 (synopsis "State variables for Haskell")
11722 (description "This package provides state variables, which are references
11723in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11724 (license license:bsd-3)))
11725
11726(define-public ghc-statistics
11727 (package
11728 (name "ghc-statistics")
60e78e68 11729 (version "0.15.1.1")
dddbc90c
RV
11730 (source
11731 (origin
11732 (method url-fetch)
11733 (uri (string-append "https://hackage.haskell.org/package/"
11734 "statistics-" version "/"
11735 "statistics-" version ".tar.gz"))
11736 (sha256
11737 (base32
60e78e68 11738 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11739 (build-system haskell-build-system)
11740 (arguments
60e78e68 11741 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11742 #:tests? #f))
11743 (inputs
11744 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11745 ("ghc-async" ,ghc-async)
dddbc90c 11746 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11747 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11748 ("ghc-math-functions" ,ghc-math-functions)
11749 ("ghc-monad-par" ,ghc-monad-par)
11750 ("ghc-mwc-random" ,ghc-mwc-random)
11751 ("ghc-primitive" ,ghc-primitive)
11752 ("ghc-vector" ,ghc-vector)
11753 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11754 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11755 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11756 (native-inputs
11757 `(("ghc-hunit" ,ghc-hunit)
11758 ("ghc-quickcheck" ,ghc-quickcheck)
11759 ("ghc-ieee754" ,ghc-ieee754)
11760 ("ghc-test-framework" ,ghc-test-framework)
11761 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11762 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11763 (home-page "https://github.com/bos/mwc-random")
11764 (synopsis "Haskell library of statistical types, data, and functions")
11765 (description "This library provides a number of common functions
11766and types useful in statistics. We focus on high performance, numerical
11767robustness, and use of good algorithms. Where possible, we provide references
11768to the statistical literature.
11769
11770The library's facilities can be divided into four broad categories:
11771
11772@itemize
11773@item Working with widely used discrete and continuous probability
11774distributions. (There are dozens of exotic distributions in use; we focus
11775on the most common.)
11776
11777@item Computing with sample data: quantile estimation, kernel density
11778estimation, histograms, bootstrap methods, significance testing,
11779and regression and autocorrelation analysis.
11780
11781@item Random variate generation under several different distributions.
11782
11783@item Common statistical tests for significant differences between samples.
11784@end itemize")
11785 (license license:bsd-2)))
11786
11787(define-public ghc-stm-chans
11788 (package
11789 (name "ghc-stm-chans")
11790 (version "3.0.0.4")
11791 (source
11792 (origin
11793 (method url-fetch)
11794 (uri (string-append "https://hackage.haskell.org/package/"
11795 "stm-chans-" version "/"
11796 "stm-chans-" version ".tar.gz"))
11797 (sha256
11798 (base32
11799 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11800 (build-system haskell-build-system)
11801 (home-page "https://hackage.haskell.org/package/stm-chans")
11802 (synopsis "Additional types of channels for ghc-stm")
11803 (description "This Haskell package offers a collection of channel types,
11804similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11805features.")
11806 (license license:bsd-3)))
11807
11808(define-public ghc-stm-conduit
11809 (package
11810 (name "ghc-stm-conduit")
cd518e95 11811 (version "4.0.1")
dddbc90c
RV
11812 (source
11813 (origin
11814 (method url-fetch)
11815 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11816 "stm-conduit-" version ".tar.gz"))
11817 (sha256
11818 (base32
cd518e95 11819 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11820 (build-system haskell-build-system)
11821 (inputs
11822 `(("ghc-stm-chans" ,ghc-stm-chans)
11823 ("ghc-cereal" ,ghc-cereal)
11824 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11825 ("ghc-conduit" ,ghc-conduit)
11826 ("ghc-conduit-extra" ,ghc-conduit-extra)
11827 ("ghc-exceptions" ,ghc-exceptions)
11828 ("ghc-resourcet" ,ghc-resourcet)
11829 ("ghc-async" ,ghc-async)
11830 ("ghc-monad-loops" ,ghc-monad-loops)
11831 ("ghc-unliftio" ,ghc-unliftio)))
11832 (native-inputs
11833 `(("ghc-doctest" ,ghc-doctest)
11834 ("ghc-quickcheck" ,ghc-quickcheck)
11835 ("ghc-hunit" ,ghc-hunit)
11836 ("ghc-test-framework" ,ghc-test-framework)
11837 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11838 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11839 (home-page "https://github.com/cgaebel/stm-conduit")
11840 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11841 (description
11842 "This package provides two simple conduit wrappers around STM channels: a
11843source and a sink.")
11844 (license license:bsd-3)))
11845
11846(define-public ghc-stmonadtrans
11847 (package
11848 (name "ghc-stmonadtrans")
11849 (version "0.4.3")
11850 (source
11851 (origin
11852 (method url-fetch)
11853 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11854 "/STMonadTrans-" version ".tar.gz"))
11855 (sha256
11856 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11857 (build-system haskell-build-system)
11858 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11859 (synopsis "Monad transformer version of the ST monad")
11860 (description
11861 "This package provides a monad transformer version of the @code{ST} monad
11862for strict state threads.")
11863 (license license:bsd-3)))
11864
11865(define-public ghc-storable-complex
11866 (package
11867 (name "ghc-storable-complex")
4a35e3c3 11868 (version "0.2.3.0")
dddbc90c
RV
11869 (source
11870 (origin
11871 (method url-fetch)
11872 (uri (string-append
11873 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11874 version ".tar.gz"))
11875 (sha256
4a35e3c3 11876 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11877 (build-system haskell-build-system)
4a35e3c3
TS
11878 (inputs
11879 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11880 (home-page "https://github.com/cartazio/storable-complex")
11881 (synopsis "Haskell Storable instance for Complex")
11882 (description "This package provides a Haskell library including a
11883Storable instance for Complex which is binary compatible with C99, C++
11884and Fortran complex data types.")
11885 (license license:bsd-3)))
11886
ad80074a
JS
11887(define-public ghc-storable-record
11888 (package
11889 (name "ghc-storable-record")
11890 (version "0.0.4")
11891 (source
11892 (origin
11893 (method url-fetch)
11894 (uri
11895 (string-append
11896 "https://hackage.haskell.org/package/storable-record/"
11897 "storable-record-" version ".tar.gz"))
11898 (sha256
11899 (base32
11900 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11901 (build-system haskell-build-system)
11902 (inputs
11903 `(("ghc-semigroups" ,ghc-semigroups)
11904 ("ghc-utility-ht" ,ghc-utility-ht)
11905 ("ghc-storablevector" ,ghc-storablevector)
11906 ("ghc-timeit" ,ghc-timeit)))
11907 (home-page "https://hackage.haskell.org/package/storable-record")
11908 (synopsis "Elegant definition of Storable instances for records")
11909 (description "With this package you can build a Storable instance of
11910a record type from Storable instances of its elements in an elegant way.
11911It does not do any magic, just a bit arithmetic to compute the right
11912offsets, that would be otherwise done manually or by a preprocessor like
11913C2HS. There is no guarantee that the generated memory layout is
11914compatible with that of a corresponding C struct. However, the module
11915generates the smallest layout that is possible with respect to the
11916alignment of the record elements.")
11917 (license license:bsd-3)))
11918
55f4c653
JS
11919(define-public ghc-storable-tuple
11920 (package
11921 (name "ghc-storable-tuple")
11922 (version "0.0.3.3")
11923 (source
11924 (origin
11925 (method url-fetch)
11926 (uri
11927 (string-append
11928 "https://hackage.haskell.org/package/storable-tuple/"
11929 "storable-tuple-" version ".tar.gz"))
11930 (sha256
11931 (base32
11932 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11933 (build-system haskell-build-system)
11934 (inputs
11935 `(("ghc-storable-record" ,ghc-storable-record)
11936 ("ghc-utility-ht" ,ghc-utility-ht)
11937 ("ghc-base-orphans" ,ghc-base-orphans)))
11938 (home-page "https://hackage.haskell.org/package/storable-tuple")
11939 (synopsis "Storable instance for pairs and triples")
11940 (description "This package provides a Storable instance for pairs
11941and triples which should be binary compatible with C99 and C++. The
11942only purpose of this package is to provide a standard location for this
11943instance so that other packages needing this instance can play nicely
11944together.")
11945 (license license:bsd-3)))
11946
bc06ca45
JS
11947(define-public ghc-storablevector
11948 (package
11949 (name "ghc-storablevector")
11950 (version "0.2.13")
11951 (source
11952 (origin
11953 (method url-fetch)
11954 (uri
11955 (string-append
11956 "https://hackage.haskell.org/package/storablevector/storablevector-"
11957 version ".tar.gz"))
11958 (sha256
11959 (base32
11960 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11961 (build-system haskell-build-system)
11962 (inputs
11963 `(("ghc-non-negative" ,ghc-non-negative)
11964 ("ghc-utility-ht" ,ghc-utility-ht)
11965 ("ghc-semigroups" ,ghc-semigroups)
11966 ("ghc-unsafe" ,ghc-unsafe)
11967 ("ghc-quickcheck" ,ghc-quickcheck)
11968 ("ghc-syb" ,ghc-syb)))
11969 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11970 (synopsis "Fast, packed, strict storable arrays with a list interface")
11971 (description "This library provides fast, packed, strict storable
11972arrays with a list interface, a chunky lazy list interface with variable
11973chunk size and an interface for write access via the ST monad. This is
11974much like bytestring and binary but can be used for every
11975@code{Foreign.Storable.Storable} type. See also
11976@url{http://hackage.haskell.org/package/vector}, a library with a
11977similar intention.
11978
11979This library does not do advanced fusion optimization, since especially
11980for lazy vectors this would either be incorrect or not applicable. See
11981@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11982a library that provides fusion with lazy lists.")
11983 (license license:bsd-3)))
11984
dddbc90c
RV
11985(define-public ghc-streaming-commons
11986 (package
11987 (name "ghc-streaming-commons")
11988 (version "0.2.1.1")
11989 (source
11990 (origin
11991 (method url-fetch)
11992 (uri (string-append "https://hackage.haskell.org/package/"
11993 "streaming-commons/streaming-commons-"
11994 version ".tar.gz"))
11995 (sha256
11996 (base32
11997 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11998 (build-system haskell-build-system)
11999 (inputs
12000 `(("ghc-async" ,ghc-async)
12001 ("ghc-blaze-builder" ,ghc-blaze-builder)
12002 ("ghc-network" ,ghc-network)
12003 ("ghc-random" ,ghc-random)
12004 ("ghc-zlib" ,ghc-zlib)))
12005 (native-inputs
12006 `(("ghc-quickcheck" ,ghc-quickcheck)
12007 ("ghc-hspec" ,ghc-hspec)
12008 ("hspec-discover" ,hspec-discover)))
12009 (home-page "https://hackage.haskell.org/package/streaming-commons")
12010 (synopsis "Conduit and pipes needed by some streaming data libraries")
12011 (description "This package provides low-dependency functionality commonly
12012needed by various Haskell streaming data libraries, such as @code{conduit} and
12013@code{pipe}s.")
12014 (license license:expat)))
12015
12016(define-public ghc-strict
12017 (package
12018 (name "ghc-strict")
12019 (version "0.3.2")
12020 (source
12021 (origin
12022 (method url-fetch)
12023 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12024 version ".tar.gz"))
12025 (sha256
12026 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12027 (build-system haskell-build-system)
12028 (home-page "https://hackage.haskell.org/package/strict")
12029 (synopsis "Strict data types and String IO")
12030 (description
12031 "This package provides strict versions of some standard Haskell data
12032types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12033IO operations.")
12034 (license license:bsd-3)))
12035
12036(define-public ghc-stringbuilder
12037 (package
12038 (name "ghc-stringbuilder")
12039 (version "0.5.1")
12040 (source
12041 (origin
12042 (method url-fetch)
12043 (uri (string-append
12044 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12045 version
12046 ".tar.gz"))
12047 (sha256
12048 (base32
12049 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12050 (build-system haskell-build-system)
12051 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12052 ; enabled
12053 (home-page "https://hackage.haskell.org/package/stringbuilder")
12054 (synopsis "Writer monad for multi-line string literals")
12055 (description "This package provides a writer monad for multi-line string
12056literals.")
12057 (license license:expat)))
12058
12059(define-public ghc-string-qq
12060 (package
12061 (name "ghc-string-qq")
4d6fddc3 12062 (version "0.0.4")
dddbc90c
RV
12063 (source
12064 (origin
12065 (method url-fetch)
12066 (uri (string-append
12067 "https://hackage.haskell.org/package/string-qq/string-qq-"
12068 version
12069 ".tar.gz"))
12070 (sha256
12071 (base32
4d6fddc3 12072 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12073 (build-system haskell-build-system)
4d6fddc3
TS
12074 (native-inputs
12075 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12076 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12077 (synopsis
12078 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12079 (description
12080 "This package provides a quasiquoter for non-interpolated strings, texts
12081and bytestrings.")
12082 (license license:public-domain)))
12083
12084(define-public ghc-stringsearch
12085 (package
12086 (name "ghc-stringsearch")
12087 (version "0.3.6.6")
12088 (source
12089 (origin
12090 (method url-fetch)
12091 (uri (string-append
12092 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12093 version
12094 ".tar.gz"))
12095 (sha256
12096 (base32
12097 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12098 (build-system haskell-build-system)
e2303abb
TS
12099 (arguments
12100 `(#:cabal-revision
12101 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12102 (home-page "https://bitbucket.org/dafis/stringsearch")
12103 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12104 (description "This package provides several functions to quickly search
12105for substrings in strict or lazy @code{ByteStrings}. It also provides
12106functions for breaking or splitting on substrings and replacing all
12107occurrences of a substring (the first in case of overlaps) with another.")
12108 (license license:bsd-3)))
12109
dcf3f8f4
TS
12110(define-public ghc-svg-builder
12111 (package
12112 (name "ghc-svg-builder")
12113 (version "0.1.1")
12114 (source
12115 (origin
12116 (method url-fetch)
12117 (uri (string-append "https://hackage.haskell.org/package/"
12118 "svg-builder/svg-builder-" version ".tar.gz"))
12119 (sha256
12120 (base32
12121 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12122 (build-system haskell-build-system)
12123 (inputs
12124 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12125 ("ghc-hashable" ,ghc-hashable)
12126 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12127 (arguments
12128 `(#:cabal-revision
12129 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12130 (home-page "https://github.com/diagrams/svg-builder.git")
12131 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12132 (description "Easy-to-write domain-specific language (DSL) for
12133building Scalable Vector Graphics (SVG).")
12134 (license license:bsd-3)))
12135
dddbc90c
RV
12136(define-public ghc-syb
12137 (package
12138 (name "ghc-syb")
07d65eef 12139 (version "0.7.1")
dddbc90c
RV
12140 (outputs '("out" "doc"))
12141 (source
12142 (origin
12143 (method url-fetch)
12144 (uri (string-append
12145 "https://hackage.haskell.org/package/syb/syb-"
12146 version
12147 ".tar.gz"))
12148 (sha256
12149 (base32
07d65eef 12150 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12151 (build-system haskell-build-system)
12152 (inputs
12153 `(("ghc-hunit" ,ghc-hunit)))
12154 (home-page
12155 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12156 (synopsis "Scrap Your Boilerplate")
12157 (description "This package contains the generics system described in the
12158/Scrap Your Boilerplate/ papers (see
12159@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12160defines the @code{Data} class of types permitting folding and unfolding of
12161constructor applications, instances of this class for primitive types, and a
12162variety of traversals.")
12163 (license license:bsd-3)))
12164
12165(define-public ghc-system-fileio
12166 (package
12167 (name "ghc-system-fileio")
dcfb99d4 12168 (version "0.3.16.4")
dddbc90c
RV
12169 (source
12170 (origin
12171 (method url-fetch)
12172 (uri (string-append
12173 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12174 version ".tar.gz"))
12175 (sha256
12176 (base32
dcfb99d4 12177 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12178 (build-system haskell-build-system)
dcfb99d4
TS
12179 (arguments
12180 `(#:phases
12181 (modify-phases %standard-phases
12182 (add-before 'configure 'update-constraints
12183 (lambda _
12184 (substitute* "system-fileio.cabal"
12185 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12186 #t)))))
dddbc90c
RV
12187 (inputs
12188 `(("ghc-system-filepath" ,ghc-system-filepath)
12189 ("ghc-chell" ,ghc-chell)
12190 ("ghc-temporary" ,ghc-temporary)))
12191 (home-page "https://github.com/fpco/haskell-filesystem")
12192 (synopsis "Consistent file system interaction across GHC versions")
12193 (description
12194 "This is a small wrapper around the directory, unix, and Win32 packages,
12195for use with system-filepath. It provides a consistent API to the various
12196versions of these packages distributed with different versions of GHC.
12197In particular, this library supports working with POSIX files that have paths
12198which can't be decoded in the current locale encoding.")
12199 (license license:expat)))
12200
12201;; See ghc-system-filepath-bootstrap. In addition this package depends on
12202;; ghc-system-filepath.
12203(define ghc-system-fileio-bootstrap
12204 (package
12205 (name "ghc-system-fileio-bootstrap")
12206 (version "0.3.16.3")
12207 (source
12208 (origin
12209 (method url-fetch)
12210 (uri (string-append
12211 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12212 version ".tar.gz"))
12213 (sha256
12214 (base32
12215 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12216 (build-system haskell-build-system)
12217 (arguments
12218 `(#:tests? #f))
12219 (inputs
12220 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12221 ("ghc-temporary" ,ghc-temporary)))
12222 (home-page "https://github.com/fpco/haskell-filesystem")
12223 (synopsis "Consistent file system interaction across GHC versions")
12224 (description
12225 "This is a small wrapper around the directory, unix, and Win32 packages,
12226for use with system-filepath. It provides a consistent API to the various
12227versions of these packages distributed with different versions of GHC.
12228In particular, this library supports working with POSIX files that have paths
12229which can't be decoded in the current locale encoding.")
12230 (license license:expat)))
12231
12232
12233(define-public ghc-system-filepath
12234 (package
12235 (name "ghc-system-filepath")
12236 (version "0.4.14")
12237 (source
12238 (origin
12239 (method url-fetch)
12240 (uri (string-append
12241 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12242 version ".tar.gz"))
12243 (sha256
12244 (base32
12245 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12246 (build-system haskell-build-system)
12247 ;; FIXME: One of the tests fails:
12248 ;; [ FAIL ] tests.validity.posix
12249 ;; note: seed=7310214548328823169
12250 ;; *** Failed! Falsifiable (after 24 tests):
12251 ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
12252 (arguments `(#:tests? #f))
12253 (inputs
12254 `(("ghc-chell" ,ghc-chell)
12255 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12256 ("ghc-quickcheck" ,ghc-quickcheck)))
12257 (home-page "https://github.com/fpco/haskell-filesystem")
12258 (synopsis "High-level, byte-based file and directory path manipulations")
12259 (description
12260 "Provides a FilePath datatype and utility functions for operating on it.
12261Unlike the filepath package, this package does not simply reuse String,
12262increasing type safety.")
12263 (license license:expat)))
12264
12265;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12266;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12267;; which depends on ghc-chell and ghc-chell-quickcheck.
12268;; Therefore we bootstrap it with tests disabled.
12269(define ghc-system-filepath-bootstrap
12270 (package
12271 (name "ghc-system-filepath-bootstrap")
12272 (version "0.4.14")
12273 (source
12274 (origin
12275 (method url-fetch)
12276 (uri (string-append
12277 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12278 version ".tar.gz"))
12279 (sha256
12280 (base32
12281 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12282 (build-system haskell-build-system)
12283 (arguments
12284 `(#:tests? #f))
12285 (inputs
12286 `(("ghc-quickcheck" ,ghc-quickcheck)))
12287 (home-page "https://github.com/fpco/haskell-filesystem")
12288 (synopsis "High-level, byte-based file and directory path manipulations")
12289 (description
12290 "Provides a FilePath datatype and utility functions for operating on it.
12291Unlike the filepath package, this package does not simply reuse String,
12292increasing type safety.")
12293 (license license:expat)))
12294
12295
12296(define-public ghc-tagged
12297 (package
12298 (name "ghc-tagged")
f0f3756a 12299 (version "0.8.6")
dddbc90c
RV
12300 (source
12301 (origin
12302 (method url-fetch)
12303 (uri (string-append
12304 "https://hackage.haskell.org/package/tagged/tagged-"
12305 version
12306 ".tar.gz"))
12307 (sha256
12308 (base32
f0f3756a 12309 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12310 (build-system haskell-build-system)
12311 (arguments
12312 `(#:cabal-revision
f0f3756a 12313 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12314 (inputs
12315 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12316 (home-page "https://hackage.haskell.org/package/tagged")
12317 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12318 (description "This library provides phantom types for Haskell 98, to avoid
12319having to unsafely pass dummy arguments.")
12320 (license license:bsd-3)))
12321
12322(define-public ghc-tar
12323 (package
12324 (name "ghc-tar")
ec83929f 12325 (version "0.5.1.1")
dddbc90c
RV
12326 (source
12327 (origin
12328 (method url-fetch)
12329 (uri (string-append
12330 "https://hackage.haskell.org/package/tar/tar-"
12331 version ".tar.gz"))
12332 (sha256
12333 (base32
ec83929f 12334 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12335 (build-system haskell-build-system)
12336 ;; FIXME: 2/24 tests fail.
12337 (arguments `(#:tests? #f))
12338 (inputs
12339 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12340 ("ghc-quickcheck" ,ghc-quickcheck)
12341 ("ghc-tasty" ,ghc-tasty)
12342 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12343 (home-page "https://hackage.haskell.org/package/tar")
12344 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12345 (description
12346 "This library is for working with \\\"@.tar@\\\" archive files.
12347It can read and write a range of common variations of the tar archive format
12348including V7, POSIX USTAR and GNU formats. It provides support for packing and
12349unpacking portable archives. This makes it suitable for distribution but not
12350backup because details like file ownership and exact permissions are not
12351preserved. It also provides features for random access to archive content using
12352an index.")
12353 (license license:bsd-3)))
12354
f8d17902
TS
12355(define-public ghc-tar-conduit
12356 (package
12357 (name "ghc-tar-conduit")
12358 (version "0.3.2")
12359 (source
12360 (origin
12361 (method url-fetch)
12362 (uri (string-append "https://hackage.haskell.org/package/"
12363 "tar-conduit/tar-conduit-" version ".tar.gz"))
12364 (sha256
12365 (base32
12366 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12367 (build-system haskell-build-system)
12368 (inputs
12369 `(("ghc-conduit" ,ghc-conduit)
12370 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12371 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12372 (native-inputs
12373 `(("ghc-quickcheck" ,ghc-quickcheck)
12374 ("ghc-conduit-extra" ,ghc-conduit-extra)
12375 ("ghc-hspec" ,ghc-hspec)
12376 ("ghc-hspec" ,ghc-hspec)
12377 ("ghc-weigh" ,ghc-weigh)))
12378 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12379 (synopsis "Extract and create tar files using conduit for streaming")
12380 (description "This library provides a conduit-based, streaming
12381interface for extracting and creating tar files.")
12382 (license license:expat)))
12383
dddbc90c
RV
12384(define-public ghc-temporary
12385 (package
12386 (name "ghc-temporary")
12387 (version "1.3")
12388 (source
12389 (origin
12390 (method url-fetch)
12391 (uri (string-append
12392 "https://hackage.haskell.org/package/temporary/temporary-"
12393 version
12394 ".tar.gz"))
12395 (sha256
12396 (base32
12397 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12398 (build-system haskell-build-system)
12399 (inputs
12400 `(("ghc-exceptions" ,ghc-exceptions)
12401 ("ghc-random" ,ghc-random)))
12402 (native-inputs
12403 `(("ghc-base-compat" ,ghc-base-compat)
12404 ("ghc-tasty" ,ghc-tasty)
12405 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12406 (home-page "https://www.github.com/batterseapower/temporary")
12407 (synopsis "Temporary file and directory support")
12408 (description "The functions for creating temporary files and directories
12409in the Haskelll base library are quite limited. This library just repackages
12410the Cabal implementations of its own temporary file and folder functions so
12411that you can use them without linking against Cabal or depending on it being
12412installed.")
12413 (license license:bsd-3)))
12414
12415(define-public ghc-temporary-rc
12416 (package
12417 (name "ghc-temporary-rc")
12418 (version "1.2.0.3")
12419 (source
12420 (origin
12421 (method url-fetch)
12422 (uri (string-append
12423 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12424 version
12425 ".tar.gz"))
12426 (sha256
12427 (base32
12428 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12429 (build-system haskell-build-system)
12430 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12431 (home-page
12432 "https://www.github.com/feuerbach/temporary")
12433 (synopsis
12434 "Portable temporary file and directory support")
12435 (description
12436 "The functions for creating temporary files and directories in the base
12437library are quite limited. The unixutils package contains some good ones, but
12438they aren't portable to Windows. This library just repackages the Cabal
12439implementations of its own temporary file and folder functions so that you can
12440use them without linking against Cabal or depending on it being installed.
12441This is a better maintained fork of the \"temporary\" package.")
12442 (license license:bsd-3)))
12443
12444(define-public ghc-terminal-size
12445 (package
12446 (name "ghc-terminal-size")
12447 (version "0.3.2.1")
12448 (source (origin
12449 (method url-fetch)
12450 (uri (string-append
12451 "https://hackage.haskell.org/package/terminal-size/"
12452 "terminal-size-" version ".tar.gz"))
12453 (sha256
12454 (base32
12455 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12456 (build-system haskell-build-system)
12457 (home-page "https://hackage.haskell.org/package/terminal-size")
12458 (synopsis "Get terminal window height and width")
12459 (description "Get terminal window height and width without ncurses
12460dependency.")
12461 (license license:bsd-3)))
12462
12463(define-public ghc-texmath
12464 (package
12465 (name "ghc-texmath")
7fec7e66 12466 (version "0.11.3")
dddbc90c
RV
12467 (source (origin
12468 (method url-fetch)
12469 (uri (string-append "https://hackage.haskell.org/package/"
12470 "texmath/texmath-" version ".tar.gz"))
12471 (sha256
12472 (base32
7fec7e66 12473 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12474 (build-system haskell-build-system)
12475 (inputs
12476 `(("ghc-syb" ,ghc-syb)
12477 ("ghc-network-uri" ,ghc-network-uri)
12478 ("ghc-split" ,ghc-split)
12479 ("ghc-temporary" ,ghc-temporary)
12480 ("ghc-utf8-string" ,ghc-utf8-string)
12481 ("ghc-xml" ,ghc-xml)
12482 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12483 (home-page "https://github.com/jgm/texmath")
12484 (synopsis "Conversion between formats used to represent mathematics")
12485 (description
12486 "The texmath library provides functions to read and write TeX math,
12487presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12488Office). Support is also included for converting math formats to pandoc's
12489native format (allowing conversion, via pandoc, to a variety of different
12490markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12491it can parse and apply LaTeX macros.")
12492 (license license:gpl2+)))
12493
12494(define-public ghc-text-binary
12495 (package
12496 (name "ghc-text-binary")
12497 (version "0.2.1.1")
12498 (source
12499 (origin
12500 (method url-fetch)
12501 (uri (string-append "https://hackage.haskell.org/package/"
12502 "text-binary/text-binary-"
12503 version ".tar.gz"))
12504 (sha256
12505 (base32
12506 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12507 (build-system haskell-build-system)
12508 (home-page "https://github.com/kawu/text-binary")
12509 (synopsis "Binary instances for text types")
12510 (description
12511 "This package provides a compatibility layer providing @code{Binary}
12512instances for strict and lazy text types for versions older than 1.2.1 of the
12513text package.")
12514 (license license:bsd-2)))
12515
714e5605
JS
12516(define-public ghc-text-manipulate
12517 (package
12518 (name "ghc-text-manipulate")
12519 (version "0.2.0.1")
12520 (source
12521 (origin
12522 (method url-fetch)
12523 (uri (string-append
12524 "https://hackage.haskell.org/package/text-manipulate"
12525 "/text-manipulate-"
12526 version
12527 ".tar.gz"))
12528 (sha256
12529 (base32
12530 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12531 (build-system haskell-build-system)
12532 (native-inputs
12533 `(("ghc-tasty" ,ghc-tasty)
12534 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12535 (home-page
12536 "https://github.com/brendanhay/text-manipulate")
12537 (synopsis
12538 "Case conversion, word boundary manipulation, and textual subjugation")
12539 (description
12540 "Manipulate identifiers and structurally non-complex pieces of text by
12541delimiting word boundaries via a combination of whitespace,
12542control-characters, and case-sensitivity.
12543
12544Has support for common idioms like casing of programmatic variable names,
12545taking, dropping, and splitting by word, and modifying the first character of
12546a piece of text.
12547
12548Caution: this library makes heavy use of the text library's internal loop
12549optimisation framework. Since internal modules are not guaranteed to have a
12550stable API there is potential for build breakage when the text dependency is
12551upgraded. Consider yourself warned!")
12552 (license license:mpl2.0)))
12553
bdc877c4
TS
12554(define-public ghc-text-metrics
12555 (package
12556 (name "ghc-text-metrics")
12557 (version "0.3.0")
12558 (source
12559 (origin
12560 (method url-fetch)
12561 (uri (string-append "https://hackage.haskell.org/package/"
12562 "text-metrics/text-metrics-" version ".tar.gz"))
12563 (sha256
12564 (base32
12565 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12566 (build-system haskell-build-system)
12567 (inputs
12568 `(("ghc-vector" ,ghc-vector)))
12569 (native-inputs
12570 `(("ghc-quickcheck" ,ghc-quickcheck)
12571 ("ghc-hspec" ,ghc-hspec)))
12572 (arguments
12573 `(#:cabal-revision
12574 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12575 (home-page "https://github.com/mrkkrp/text-metrics")
12576 (synopsis "Calculate various string metrics efficiently")
12577 (description "This library provides tools to calculate various
12578string metrics efficiently.")
12579 (license license:bsd-3)))
12580
dddbc90c
RV
12581(define-public ghc-tf-random
12582 (package
12583 (name "ghc-tf-random")
12584 (version "0.5")
12585 (outputs '("out" "doc"))
12586 (source
12587 (origin
12588 (method url-fetch)
12589 (uri (string-append
12590 "https://hackage.haskell.org/package/tf-random/tf-random-"
12591 version
12592 ".tar.gz"))
12593 (sha256
12594 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12595 (build-system haskell-build-system)
12596 (inputs
12597 `(("ghc-primitive" ,ghc-primitive)
12598 ("ghc-random" ,ghc-random)))
12599 (home-page "https://hackage.haskell.org/package/tf-random")
12600 (synopsis "High-quality splittable pseudorandom number generator")
12601 (description "This package contains an implementation of a high-quality
12602splittable pseudorandom number generator. The generator is based on a
12603cryptographic hash function built on top of the ThreeFish block cipher. See
12604the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12605Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12606 (license license:bsd-3)))
12607
12608(define-public ghc-th-abstraction
12609 (package
12610 (name "ghc-th-abstraction")
1188eabb 12611 (version "0.3.1.0")
dddbc90c
RV
12612 (source
12613 (origin
12614 (method url-fetch)
12615 (uri (string-append "https://hackage.haskell.org/package/"
12616 "th-abstraction/th-abstraction-"
12617 version ".tar.gz"))
12618 (sha256
12619 (base32
1188eabb 12620 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12621 (build-system haskell-build-system)
12622 (home-page "https://github.com/glguy/th-abstraction")
12623 (synopsis "Nicer interface for reified information about data types")
12624 (description
12625 "This package normalizes variations in the interface for inspecting
12626datatype information via Template Haskell so that packages and support a
12627single, easier to use informational datatype while supporting many versions of
12628Template Haskell.")
12629 (license license:isc)))
12630
12631(define-public ghc-th-expand-syns
12632 (package
12633 (name "ghc-th-expand-syns")
8c766600 12634 (version "0.4.5.0")
dddbc90c
RV
12635 (source (origin
12636 (method url-fetch)
12637 (uri (string-append "https://hackage.haskell.org/package/"
12638 "th-expand-syns/th-expand-syns-"
12639 version ".tar.gz"))
12640 (sha256
12641 (base32
8c766600 12642 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12643 (build-system haskell-build-system)
12644 (inputs
12645 `(("ghc-syb" ,ghc-syb)))
12646 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12647 (synopsis "Expands type synonyms in Template Haskell ASTs")
12648 (description
12649 "This package enables users to expand type synonyms in Template Haskell
12650@dfn{abstract syntax trees} (ASTs).")
12651 (license license:bsd-3)))
12652
12653(define-public ghc-th-lift
12654 (package
12655 (name "ghc-th-lift")
bd76b20a 12656 (version "0.8.0.1")
dddbc90c
RV
12657 (source (origin
12658 (method url-fetch)
12659 (uri (string-append "https://hackage.haskell.org/package/"
12660 "th-lift/th-lift-" version ".tar.gz"))
12661 (sha256
12662 (base32
bd76b20a 12663 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12664 (build-system haskell-build-system)
12665 (inputs
12666 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12667 (home-page "https://github.com/mboes/th-lift")
12668 (synopsis "Derive Template Haskell's Lift class for datatypes")
12669 (description
12670 "This is a Haskell library to derive Template Haskell's Lift class for
12671datatypes.")
12672 (license license:bsd-3)))
12673
12674(define-public ghc-th-lift-instances
12675 (package
12676 (name "ghc-th-lift-instances")
d3db399e 12677 (version "0.1.14")
dddbc90c
RV
12678 (source
12679 (origin
12680 (method url-fetch)
12681 (uri (string-append "https://hackage.haskell.org/package/"
12682 "th-lift-instances/th-lift-instances-"
12683 version ".tar.gz"))
12684 (sha256
12685 (base32
d3db399e 12686 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12687 (build-system haskell-build-system)
12688 (inputs
12689 `(("ghc-th-lift" ,ghc-th-lift)
12690 ("ghc-vector" ,ghc-vector)
12691 ("ghc-quickcheck" ,ghc-quickcheck)))
12692 (home-page "https://github.com/bennofs/th-lift-instances/")
12693 (synopsis "Lift instances for template-haskell for common data types.")
12694 (description "Most data types in the Haskell platform do not have Lift
12695instances. This package provides orphan instances for @code{containers},
12696@code{text}, @code{bytestring} and @code{vector}.")
12697 (license license:bsd-3)))
12698
12699(define-public ghc-th-orphans
12700 (package
12701 (name "ghc-th-orphans")
882b23e2 12702 (version "0.13.9")
dddbc90c
RV
12703 (source (origin
12704 (method url-fetch)
12705 (uri (string-append "https://hackage.haskell.org/package/"
12706 "th-orphans/th-orphans-" version ".tar.gz"))
12707 (sha256
12708 (base32
882b23e2 12709 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12710 (build-system haskell-build-system)
12711 (inputs
12712 `(("ghc-th-lift" ,ghc-th-lift)
12713 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12714 ("ghc-th-reify-many" ,ghc-th-reify-many)
12715 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12716 (native-inputs
12717 `(("ghc-hspec" ,ghc-hspec)))
12718 (home-page "https://hackage.haskell.org/package/th-orphans")
12719 (synopsis "Orphan instances for TH datatypes")
12720 (description
12721 "This package provides orphan instances for Template Haskell datatypes. In particular,
12722instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12723and @code{Eq} instances. These instances used to live in the haskell-src-meta
12724package, and that's where the version number started.")
12725 (license license:bsd-3)))
12726
20c440ea
JS
12727(define-public ghc-these
12728 (package
12729 (name "ghc-these")
12730 (version "1.0.1")
12731 (source
12732 (origin
12733 (method url-fetch)
12734 (uri (string-append
12735 "https://hackage.haskell.org/package/these/these-"
12736 version
12737 ".tar.gz"))
12738 (sha256
12739 (base32
12740 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12741 (build-system haskell-build-system)
12742 (inputs
12743 `(("ghc-base-compat" ,ghc-base-compat)
12744 ("ghc-hashable" ,ghc-hashable)
12745 ("ghc-aeson" ,ghc-aeson)
12746 ("ghc-unordered-containers" ,ghc-unordered-containers)
12747 ("ghc-assoc" ,ghc-assoc)
12748 ("ghc-semigroupoids" ,ghc-semigroupoids)
12749 ("ghc-quickcheck" ,ghc-quickcheck)))
12750 (arguments
12751 `(#:cabal-revision
12752 ("1"
12753 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12754 (home-page
12755 "https://github.com/isomorphism/these")
12756 (synopsis "Either-or-both data type")
12757 (description
12758 "This package provides a data type @code{These a b} which can
12759hold a value of either type or values of each type. This is usually
12760thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12761\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12762as \"inner join\").
12763
12764@code{data These a b = This a | That b | These a b}
12765
12766Since version 1, this package was split into parts:
12767
12768@itemize
12769@item
12770https://hackage.haskell.org/package/semialign For @code{Align} and
12771@code{Zip} type-classes.
12772@item
12773https://hackage.haskell.org/package/semialign-indexed For
12774@code{SemialignWithIndex} class, providing @code{ialignWith} and
12775@code{izipWith}
12776@item
12777https://hackage.haskell.org/package/these-lens For lens combinators.
12778@item
12779http://hackage.haskell.org/package/monad-chronicle For transformers
12780variant of @code{These}.
12781@end itemize")
12782 (license license:bsd-3)))
12783
dddbc90c
RV
12784(define-public ghc-threads
12785 (package
12786 (name "ghc-threads")
12787 (version "0.5.1.6")
12788 (source
12789 (origin
12790 (method url-fetch)
12791 (uri (string-append "https://hackage.haskell.org/package/"
12792 "threads/threads-" version ".tar.gz"))
12793 (sha256
12794 (base32
12795 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12796 (build-system haskell-build-system)
12797 (native-inputs
12798 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12799 ("ghc-hunit" ,ghc-hunit)
12800 ("ghc-test-framework" ,ghc-test-framework)
12801 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12802 (home-page "https://github.com/basvandijk/threads")
12803 (synopsis "Fork threads and wait for their result")
12804 (description "This package provides functions to fork threads and
12805wait for their result, whether it's an exception or a normal value.
12806Besides waiting for the termination of a single thread this package also
12807provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12808package is similar to the @code{threadmanager}, @code{async} and
12809@code{spawn} packages. The advantages of this package are:
12810
dddbc90c
RV
12811@itemize
12812@item Simpler API.
12813@item More efficient in both space and time.
12814@item No space-leak when forking a large number of threads.
12815@item Correct handling of asynchronous exceptions.
12816@item GHC specific functionality like @code{forkOn} and
12817@code{forkIOWithUnmask}.
12818@end itemize")
12819 (license license:bsd-3)))
12820
12821(define-public ghc-th-reify-many
12822 (package
12823 (name "ghc-th-reify-many")
32d4a6ae 12824 (version "0.1.9")
dddbc90c
RV
12825 (source (origin
12826 (method url-fetch)
12827 (uri (string-append "https://hackage.haskell.org/package/"
12828 "th-reify-many/th-reify-many-"
12829 version ".tar.gz"))
12830 (sha256
12831 (base32
32d4a6ae 12832 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12833 (build-system haskell-build-system)
12834 (inputs
12835 `(("ghc-safe" ,ghc-safe)
12836 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12837 (home-page "https://github.com/mgsloan/th-reify-many")
12838 (synopsis "Recurseively reify template haskell datatype info")
12839 (description
12840 "th-reify-many provides functions for recursively reifying top level
12841declarations. The main intended use case is for enumerating the names of
12842datatypes reachable from an initial datatype, and passing these names to some
12843function which generates instances.")
12844 (license license:bsd-3)))
12845
75cfc9a2
TS
12846(define-public ghc-time-compat
12847 (package
12848 (name "ghc-time-compat")
12849 (version "1.9.2.2")
12850 (source
12851 (origin
12852 (method url-fetch)
12853 (uri (string-append "https://hackage.haskell.org/package/"
12854 "time-compat/time-compat-" version ".tar.gz"))
12855 (sha256
12856 (base32
12857 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12858 (build-system haskell-build-system)
12859 (inputs
12860 `(("ghc-base-orphans" ,ghc-base-orphans)))
12861 (native-inputs
12862 `(("ghc-hunit" ,ghc-hunit)
12863 ("ghc-base-compat" ,ghc-base-compat)
12864 ("ghc-quickcheck" ,ghc-quickcheck)
12865 ("ghc-tagged" ,ghc-tagged)
12866 ("ghc-tasty" ,ghc-tasty)
12867 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12868 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12869 (arguments
12870 `(#:cabal-revision
12871 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12872 (home-page "https://github.com/phadej/time-compat")
12873 (synopsis "Compatibility package for time")
a8d73e69 12874 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12875features as possible.")
12876 (license license:bsd-3)))
12877
dddbc90c
RV
12878(define-public ghc-time-locale-compat
12879 (package
12880 (name "ghc-time-locale-compat")
12881 (version "0.1.1.5")
12882 (source
12883 (origin
12884 (method url-fetch)
12885 (uri (string-append "https://hackage.haskell.org/package/"
12886 "time-locale-compat/time-locale-compat-"
12887 version ".tar.gz"))
12888 (sha256
12889 (base32
12890 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12891 (build-system haskell-build-system)
12892 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12893 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12894 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12895 (description "This package contains a wrapped name module for
12896@code{TimeLocale}.")
12897 (license license:bsd-3)))
12898
c022a4d4
TS
12899(define-public ghc-time-manager
12900 (package
12901 (name "ghc-time-manager")
12902 (version "0.0.0")
12903 (source
12904 (origin
12905 (method url-fetch)
12906 (uri (string-append "https://hackage.haskell.org/package/"
12907 "time-manager/time-manager-" version ".tar.gz"))
12908 (sha256
12909 (base32
12910 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12911 (build-system haskell-build-system)
12912 (inputs
12913 `(("ghc-auto-update" ,ghc-auto-update)))
12914 (home-page "https://github.com/yesodweb/wai")
12915 (synopsis "Scalable timer")
12916 (description "This library contains scalable timer functions provided by a
12917timer manager.")
12918 (license license:expat)))
12919
7bbfa392
JS
12920(define-public ghc-timeit
12921 (package
12922 (name "ghc-timeit")
12923 (version "2.0")
12924 (source
12925 (origin
12926 (method url-fetch)
12927 (uri
12928 (string-append
12929 "https://hackage.haskell.org/package/timeit/timeit-"
12930 version ".tar.gz"))
12931 (sha256
12932 (base32
12933 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12934 (build-system haskell-build-system)
12935 (home-page "https://github.com/merijn/timeit")
12936 (synopsis "Time monadic computations with an IO base")
12937 (description "This package provides a simple wrapper to show the
12938used CPU time of monadic computation with an IO base.")
12939 (license license:bsd-3)))
12940
2ed8bd2d
JS
12941(define-public ghc-timezone-series
12942 (package
12943 (name "ghc-timezone-series")
12944 (version "0.1.9")
12945 (source
12946 (origin
12947 (method url-fetch)
12948 (uri
12949 (string-append
12950 "mirror://hackage/package/timezone-series/timezone-series-"
12951 version ".tar.gz"))
12952 (sha256
12953 (base32
12954 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12955 (build-system haskell-build-system)
12956 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12957 (synopsis "Enhanced timezone handling for Time")
12958 (description
12959 "This package endows @code{Data.Time}, from the time package, with several
12960data types and functions for enhanced processing of timezones. For one way to
12961create timezone series, see the ghc-timezone-olson package.")
12962 (license license:bsd-3)))
12963
ff0f5786
JS
12964(define-public ghc-timezone-olson
12965 (package
12966 (name "ghc-timezone-olson")
12967 (version "0.1.9")
12968 (source
12969 (origin
12970 (method url-fetch)
12971 (uri
12972 (string-append
12973 "mirror://hackage/package/timezone-olson/timezone-olson-"
12974 version ".tar.gz"))
12975 (sha256
12976 (base32
12977 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12978 (build-system haskell-build-system)
12979 (inputs
12980 `(("ghc-timezone-series" ,ghc-timezone-series)
12981 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12982 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12983 (synopsis "Parser and renderer for binary Olson timezone files")
12984 (description
12985 "A parser and renderer for binary Olson timezone files whose format
12986is specified by the tzfile(5) man page on Unix-like systems. For more
12987information about this format, see
12988@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12989are provided for converting the parsed data into @code{TimeZoneSeries}
12990objects from the timezone-series package.")
12991 (license license:bsd-3)))
12992
dddbc90c
RV
12993(define-public ghc-tldr
12994 (package
12995 (name "ghc-tldr")
871ceb31 12996 (version "0.4.0.2")
dddbc90c
RV
12997 (source
12998 (origin
12999 (method url-fetch)
13000 (uri (string-append
13001 "https://hackage.haskell.org/package/tldr/tldr-"
13002 version
13003 ".tar.gz"))
13004 (sha256
13005 (base32
871ceb31 13006 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
13007 (build-system haskell-build-system)
13008 (inputs
13009 `(("ghc-cmark" ,ghc-cmark)
13010 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13011 ("ghc-typed-process" ,ghc-typed-process)
13012 ("ghc-semigroups" ,ghc-semigroups)))
13013 (native-inputs
13014 `(("ghc-tasty" ,ghc-tasty)
13015 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13016 (home-page "https://github.com/psibi/tldr-hs#readme")
13017 (synopsis "Haskell tldr client")
13018 (description "This package provides the @command{tldr} command and a
13019Haskell client library allowing users to update and view @code{tldr} pages
13020from a shell. The @code{tldr} pages are a community effort to simplify the
13021man pages with practical examples.")
13022 (license license:bsd-3)))
13023
460e4e42
JS
13024(define-public ghc-transformers
13025 (package
13026 (name "ghc-transformers")
13027 (version "0.5.6.2")
13028 (source
13029 (origin
13030 (method url-fetch)
13031 (uri (string-append
13032 "mirror://hackage/package/transformers/transformers-"
13033 version
13034 ".tar.gz"))
13035 (sha256
13036 (base32
13037 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13038 (build-system haskell-build-system)
13039 (home-page
13040 "http://hackage.haskell.org/package/transformers")
13041 (synopsis "Concrete functor and monad transformers")
13042 (description
13043 "Transformers provides functor and monad transformers, inspired by the
13044paper \"Functional Programming with Overloading and Higher-Order
13045Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130461995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13047
13048This package contains:
13049@itemize
13050@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13051@item concrete functor and monad transformers, each with associated operations
13052and functions to lift operations associated with other transformers.
13053@end itemize
13054
13055This package can be used on its own in portable Haskell code, in which case
13056operations need to be manually lifted through transformer stacks (see
13057@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13058used with the non-portable monad classes in the mtl or monads-tf packages,
13059which automatically lift operations introduced by monad transformers through
13060other transformers.")
13061 (license license:bsd-3)))
13062
dddbc90c
RV
13063(define-public ghc-transformers-base
13064 (package
13065 (name "ghc-transformers-base")
13066 (version "0.4.5.2")
13067 (source
13068 (origin
13069 (method url-fetch)
13070 (uri (string-append
13071 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13072 version
13073 ".tar.gz"))
13074 (sha256
13075 (base32
13076 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13077 (build-system haskell-build-system)
13078 (inputs
13079 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13080 (home-page
13081 "https://hackage.haskell.org/package/transformers-compat")
13082 (synopsis
13083 "Backported transformer library")
13084 (description
13085 "Backported versions of types that were added to transformers in
13086transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13087compatibility to run on old versions of the platform.")
13088 (license license:bsd-3)))
13089
13090(define-public ghc-transformers-compat
13091 (package
13092 (name "ghc-transformers-compat")
1c9c4d58 13093 (version "0.6.5")
dddbc90c
RV
13094 (source
13095 (origin
13096 (method url-fetch)
13097 (uri (string-append
13098 "https://hackage.haskell.org/package/transformers-compat"
13099 "/transformers-compat-" version ".tar.gz"))
13100 (sha256
13101 (base32
1c9c4d58 13102 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13103 (build-system haskell-build-system)
13104 (home-page "https://github.com/ekmett/transformers-compat/")
13105 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13106 (description "This package includes backported versions of types that were
13107added to transformers in transformers 0.3 and 0.4 for users who need strict
13108transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13109but also need those types.")
13110 (license license:bsd-3)))
13111
13112(define-public ghc-tree-diff
13113 (package
13114 (name "ghc-tree-diff")
b4e26067 13115 (version "0.1")
dddbc90c
RV
13116 (source
13117 (origin
13118 (method url-fetch)
13119 (uri (string-append
13120 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13121 version
13122 ".tar.gz"))
13123 (sha256
13124 (base32
b4e26067 13125 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13126 (build-system haskell-build-system)
dddbc90c
RV
13127 (inputs
13128 `(("ghc-aeson" ,ghc-aeson)
13129 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13130 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13131 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13132 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13133 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13134 ("ghc-parsers" ,ghc-parsers)
13135 ("ghc-quickcheck" ,ghc-quickcheck)
13136 ("ghc-scientific" ,ghc-scientific)
13137 ("ghc-tagged" ,ghc-tagged)
13138 ("ghc-unordered-containers" ,ghc-unordered-containers)
13139 ("ghc-uuid-types" ,ghc-uuid-types)
13140 ("ghc-vector" ,ghc-vector)))
13141 (native-inputs
13142 `(("ghc-base-compat" ,ghc-base-compat)
13143 ("ghc-quickcheck" ,ghc-quickcheck)
13144 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13145 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13146 ("ghc-trifecta" ,ghc-trifecta)
13147 ("ghc-tasty" ,ghc-tasty)
13148 ("ghc-tasty-golden" ,ghc-tasty-golden)
13149 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13150 (home-page "https://github.com/phadej/tree-diff")
13151 (synopsis "Compute difference between (expression) trees")
13152 (description "This Haskell library provides a function for computing
13153the difference between (expression) trees. It also provides a way to
13154compute the difference between arbitrary abstract datatypes (ADTs) using
13155@code{Generics}-derivable helpers.")
13156 (license license:bsd-3)))
13157
13158(define-public ghc-trifecta
13159 (package
13160 (name "ghc-trifecta")
13161 (version "2")
13162 (source (origin
13163 (method url-fetch)
13164 (uri (string-append
13165 "https://hackage.haskell.org/package/trifecta/"
13166 "trifecta-" version ".tar.gz"))
13167 (sha256
13168 (base32
13169 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13170 (build-system haskell-build-system)
5ffe8cfd
TS
13171 (arguments
13172 `(#:tests? #f ; doctest suite fails to build on i686
13173 #:cabal-revision
13174 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13175 (inputs
13176 `(("ghc-reducers" ,ghc-reducers)
13177 ("ghc-semigroups" ,ghc-semigroups)
13178 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13179 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13180 ("ghc-blaze-builder" ,ghc-blaze-builder)
13181 ("ghc-blaze-html" ,ghc-blaze-html)
13182 ("ghc-blaze-markup" ,ghc-blaze-markup)
13183 ("ghc-charset" ,ghc-charset)
13184 ("ghc-comonad" ,ghc-comonad)
13185 ("ghc-fingertree" ,ghc-fingertree)
13186 ("ghc-hashable" ,ghc-hashable)
13187 ("ghc-lens" ,ghc-lens)
13188 ("ghc-parsers" ,ghc-parsers)
13189 ("ghc-profunctors" ,ghc-profunctors)
13190 ("ghc-unordered-containers" ,ghc-unordered-containers)
13191 ("ghc-utf8-string" ,ghc-utf8-string)))
13192 (native-inputs
13193 `(("cabal-doctest" ,cabal-doctest)
13194 ("ghc-doctest" ,ghc-doctest)
13195 ("ghc-quickcheck" ,ghc-quickcheck)))
13196 (home-page "https://github.com/ekmett/trifecta/")
13197 (synopsis "Parser combinator library with convenient diagnostics")
13198 (description "Trifecta is a modern parser combinator library for Haskell,
13199with slicing and Clang-style colored diagnostics.")
13200 (license license:bsd-3)))
13201
13202(define-public ghc-tuple-th
13203 (package
13204 (name "ghc-tuple-th")
13205 (version "0.2.5")
13206 (source
13207 (origin
13208 (method url-fetch)
13209 (uri (string-append "https://hackage.haskell.org/package/"
13210 "tuple-th-" version "/"
13211 "tuple-th-" version ".tar.gz"))
13212 (sha256
13213 (base32
13214 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13215 (build-system haskell-build-system)
13216 (home-page "https://github.com/DanielSchuessler/tuple-th")
13217 (synopsis "Generate utility functions for tuples of statically known size
13218for Haskell")
13219 (description "This Haskell package contains Template Haskell functions for
13220generating functions similar to those in @code{Data.List} for tuples of
13221statically known size.")
13222 (license license:bsd-3)))
13223
9f776fe2
JS
13224(define-public ghc-turtle
13225 (package
13226 (name "ghc-turtle")
13227 (version "1.5.15")
13228 (source
13229 (origin
13230 (method url-fetch)
13231 (uri (string-append
13232 "mirror://hackage/package/turtle/turtle-"
13233 version
13234 ".tar.gz"))
13235 (sha256
13236 (base32
13237 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13238 (build-system haskell-build-system)
13239 (inputs
13240 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13241 ("ghc-async" ,ghc-async)
13242 ("ghc-clock" ,ghc-clock)
13243 ("ghc-exceptions" ,ghc-exceptions)
13244 ("ghc-foldl" ,ghc-foldl)
13245 ("ghc-hostname" ,ghc-hostname)
13246 ("ghc-managed" ,ghc-managed)
13247 ("ghc-semigroups" ,ghc-semigroups)
13248 ("ghc-system-filepath" ,ghc-system-filepath)
13249 ("ghc-system-fileio" ,ghc-system-fileio)
13250 ("ghc-streaming-commons" ,ghc-streaming-commons)
13251 ("ghc-temporary" ,ghc-temporary)
13252 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13253 ("ghc-optional-args" ,ghc-optional-args)
13254 ("ghc-unix-compat" ,ghc-unix-compat)))
13255 (native-inputs
13256 `(("ghc-doctest" ,ghc-doctest)
13257 ("ghc-fail" ,ghc-fail)))
13258 (arguments
13259 `(#:cabal-revision
13260 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13261 (home-page
13262 "http://hackage.haskell.org/package/turtle")
13263 (synopsis "Shell programming, Haskell-style")
13264 (description
13265 "Turtle is a reimplementation of the Unix command line environment in
13266Haskell so that you can use Haskell as both a shell and a scripting
13267language. Features include:
13268
13269@itemize
13270@item Batteries included: Command an extended suite of predefined utilities.
13271@item Interoperability: You can still run external shell commands.
13272@item Portability: Works on Windows, OS X, and Linux.
13273@item Exception safety: Safely acquire and release resources.
13274@item Streaming: Transform or fold command output in constant space.
13275@item Patterns: Use typed regular expressions that can parse structured values.
13276@item Formatting: Type-safe printf-style text formatting.
13277@item Modern: Supports text and system-filepath.
13278@end itemize
13279
13280Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13281quick-start guide. Turtle is designed to be beginner-friendly, but as a
13282result lacks certain features, like tracing commands. If you feel comfortable
13283using turtle then you should also check out the Shelly library which provides
13284similar functionality.")
13285 (license license:bsd-3)))
13286
dddbc90c
RV
13287(define-public ghc-typed-process
13288 (package
13289 (name "ghc-typed-process")
72fb84a5 13290 (version "0.2.6.0")
dddbc90c
RV
13291 (source
13292 (origin
13293 (method url-fetch)
13294 (uri (string-append "https://hackage.haskell.org/package/"
13295 "typed-process/typed-process-"
13296 version ".tar.gz"))
13297 (sha256
13298 (base32
72fb84a5 13299 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13300 (build-system haskell-build-system)
13301 (inputs
72fb84a5
TS
13302 `(("ghc-async" ,ghc-async)
13303 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13304 (native-inputs
13305 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13306 ("ghc-hspec" ,ghc-hspec)
13307 ("hspec-discover" ,hspec-discover)
13308 ("ghc-temporary" ,ghc-temporary)))
13309 (home-page "https://haskell-lang.org/library/typed-process")
13310 (synopsis "Run external processes with strong typing of streams")
13311 (description
13312 "This library provides the ability to launch and interact with external
13313processes. It wraps around the @code{process} library, and intends to improve
13314upon it.")
13315 (license license:expat)))
13316
d392f803
AG
13317(define-public ghc-unagi-chan
13318 (package
13319 (name "ghc-unagi-chan")
13320 (version "0.4.1.2")
13321 (source
13322 (origin
13323 (method url-fetch)
13324 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13325 "/unagi-chan-" version ".tar.gz"))
13326 (sha256
13327 (base32
13328 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13329 (build-system haskell-build-system)
13330 (inputs
13331 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13332 ("ghc-primitive" ,ghc-primitive)))
13333 (arguments
13334 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13335 #:cabal-revision
13336 ("1"
13337 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13338 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13339 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13340 (description
13341 "This library provides implementations of concurrent FIFO queues (for
13342both general boxed and primitive unboxed values) that are fast, perform well
13343under contention, and offer a Chan-like interface. The library may be of
13344limited usefulness outside of x86 architectures where the fetch-and-add
13345instruction is not available.")
13346 (license license:bsd-3)))
13347
dddbc90c
RV
13348(define-public ghc-unbounded-delays
13349 (package
13350 (name "ghc-unbounded-delays")
13351 (version "0.1.1.0")
13352 (source
13353 (origin
13354 (method url-fetch)
13355 (uri (string-append
13356 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13357 version
13358 ".tar.gz"))
13359 (sha256
13360 (base32
13361 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13362 (build-system haskell-build-system)
13363 (home-page "https://github.com/basvandijk/unbounded-delays")
13364 (synopsis "Unbounded thread delays and timeouts")
13365 (description "The @code{threadDelay} and @code{timeout} functions from the
13366Haskell base library use the bounded @code{Int} type for specifying the delay
13367or timeout period. This package provides alternative functions which use the
13368unbounded @code{Integer} type.")
13369 (license license:bsd-3)))
13370
13371(define-public ghc-unexceptionalio
13372 (package
13373 (name "ghc-unexceptionalio")
13374 (version "0.4.0")
13375 (source
13376 (origin
13377 (method url-fetch)
13378 (uri (string-append "https://hackage.haskell.org/package/"
13379 "unexceptionalio-" version "/" "unexceptionalio-"
13380 version ".tar.gz"))
13381 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13382 (build-system haskell-build-system)
13383 (home-page "https://github.com/singpolyma/unexceptionalio")
13384 (synopsis "IO without any non-error, synchronous exceptions")
13385 (description "When you've caught all the exceptions that can be
13386handled safely, this is what you're left with.")
13387 (license license:isc)))
13388
b69d4aa7
TS
13389(define-public ghc-unicode-transforms
13390 (package
13391 (name "ghc-unicode-transforms")
13392 (version "0.3.6")
13393 (source
13394 (origin
13395 (method url-fetch)
13396 (uri (string-append "https://hackage.haskell.org/package/"
13397 "unicode-transforms/unicode-transforms-"
13398 version ".tar.gz"))
13399 (sha256
13400 (base32
13401 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13402 (build-system haskell-build-system)
13403 (inputs
13404 `(("ghc-bitarray" ,ghc-bitarray)))
13405 (native-inputs
13406 `(("ghc-quickcheck" ,ghc-quickcheck)
13407 ("ghc-getopt-generics" ,ghc-getopt-generics)
13408 ("ghc-split" ,ghc-split)))
13409 (home-page "https://github.com/composewell/unicode-transforms")
13410 (synopsis "Unicode normalization")
13411 (description "This library provides tools for fast Unicode 12.1.0
13412normalization in Haskell (normalization forms C, KC, D, and KD).")
13413 (license license:bsd-3)))
13414
dddbc90c
RV
13415(define-public ghc-union-find
13416 (package
13417 (name "ghc-union-find")
13418 (version "0.2")
13419 (source (origin
13420 (method url-fetch)
13421 (uri (string-append
13422 "https://hackage.haskell.org/package/union-find/union-find-"
13423 version ".tar.gz"))
13424 (sha256
13425 (base32
13426 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13427 (build-system haskell-build-system)
13428 (home-page "https://github.com/nominolo/union-find")
13429 (synopsis "Efficient union and equivalence testing of sets")
13430 (description
13431 "The Union/Find algorithm implements these operations in (effectively)
13432constant-time:
13433@enumerate
13434@item Check whether two elements are in the same equivalence class.
13435@item Create a union of two equivalence classes.
13436@item Look up the descriptor of the equivalence class.
13437@end enumerate\n")
13438 (license license:bsd-3)))
13439
13440(define-public ghc-uniplate
13441 (package
13442 (name "ghc-uniplate")
13443 (version "1.6.12")
13444 (source
13445 (origin
13446 (method url-fetch)
13447 (uri (string-append
13448 "https://hackage.haskell.org/package/uniplate/uniplate-"
13449 version
13450 ".tar.gz"))
13451 (sha256
13452 (base32
13453 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13454 (build-system haskell-build-system)
13455 (inputs
13456 `(("ghc-syb" ,ghc-syb)
13457 ("ghc-hashable" ,ghc-hashable)
13458 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13459 (home-page "http://community.haskell.org/~ndm/uniplate/")
13460 (synopsis "Simple, concise and fast generic operations")
13461 (description "Uniplate is a library for writing simple and concise generic
13462operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13463work, but is substantially simpler and faster.")
13464 (license license:bsd-3)))
13465
13466(define-public ghc-unix-compat
13467 (package
13468 (name "ghc-unix-compat")
bc82e9f5 13469 (version "0.5.2")
dddbc90c
RV
13470 (source
13471 (origin
13472 (method url-fetch)
13473 (uri (string-append
13474 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13475 version
13476 ".tar.gz"))
13477 (sha256
13478 (base32
bc82e9f5 13479 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13480 (build-system haskell-build-system)
13481 (home-page
13482 "https://github.com/jystic/unix-compat")
13483 (synopsis "Portable POSIX-compatibility layer")
13484 (description
13485 "This package provides portable implementations of parts of the unix
13486package. This package re-exports the unix package when available. When it
13487isn't available, portable implementations are used.")
13488 (license license:bsd-3)))
13489
13490(define-public ghc-unix-time
13491 (package
13492 (name "ghc-unix-time")
fad9cff2 13493 (version "0.4.7")
dddbc90c
RV
13494 (source
13495 (origin
13496 (method url-fetch)
13497 (uri (string-append
13498 "https://hackage.haskell.org/package/unix-time/unix-time-"
13499 version
13500 ".tar.gz"))
13501 (sha256
13502 (base32
fad9cff2 13503 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13504 (build-system haskell-build-system)
13505 (arguments
13506 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13507 ; is weird, that should be provided by GHC 7.10.2.
13508 (inputs
13509 `(("ghc-old-time" ,ghc-old-time)
13510 ("ghc-old-locale" ,ghc-old-locale)))
13511 (home-page "https://hackage.haskell.org/package/unix-time")
13512 (synopsis "Unix time parser/formatter and utilities")
13513 (description "This library provides fast parsing and formatting utilities
13514for Unix time in Haskell.")
13515 (license license:bsd-3)))
13516
13517(define-public ghc-unliftio
13518 (package
13519 (name "ghc-unliftio")
a4084db1 13520 (version "0.2.12")
dddbc90c
RV
13521 (source
13522 (origin
13523 (method url-fetch)
13524 (uri (string-append
13525 "https://hackage.haskell.org/package/unliftio/unliftio-"
13526 version
13527 ".tar.gz"))
13528 (sha256
13529 (base32
a4084db1 13530 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13531 (build-system haskell-build-system)
13532 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13533 (inputs
13534 `(("ghc-async" ,ghc-async)
13535 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13536 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13537 (home-page "https://github.com/fpco/unliftio")
13538 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13539IO (batteries included)")
13540 (description "This Haskell package provides the core @code{MonadUnliftIO}
13541typeclass, a number of common instances, and a collection of common functions
13542working with it.")
13543 (license license:expat)))
13544
13545(define-public ghc-unliftio-core
13546 (package
13547 (name "ghc-unliftio-core")
2ae42618 13548 (version "0.1.2.0")
dddbc90c
RV
13549 (source
13550 (origin
13551 (method url-fetch)
13552 (uri (string-append "https://hackage.haskell.org/package/"
13553 "unliftio-core-" version "/"
13554 "unliftio-core-" version ".tar.gz"))
13555 (sha256
13556 (base32
2ae42618 13557 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13558 (build-system haskell-build-system)
13559 (arguments
13560 `(#:cabal-revision
2ae42618 13561 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13562 (home-page
13563 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13564 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13565 (description "This Haskell package provides the core @code{MonadUnliftIO}
13566typeclass, instances for base and transformers, and basic utility
13567functions.")
13568 (license license:expat)))
13569
13570(define-public ghc-unordered-containers
13571 (package
13572 (name "ghc-unordered-containers")
ca01f8d3 13573 (version "0.2.10.0")
dddbc90c
RV
13574 (outputs '("out" "doc"))
13575 (source
13576 (origin
13577 (method url-fetch)
13578 (uri (string-append
13579 "https://hackage.haskell.org/package/unordered-containers"
13580 "/unordered-containers-" version ".tar.gz"))
13581 (sha256
13582 (base32
ca01f8d3 13583 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13584 (build-system haskell-build-system)
13585 (inputs
13586 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13587 ("ghc-hunit" ,ghc-hunit)
13588 ("ghc-quickcheck" ,ghc-quickcheck)
13589 ("ghc-test-framework" ,ghc-test-framework)
13590 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13591 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13592 ("ghc-hashable" ,ghc-hashable)))
13593 (home-page
13594 "https://github.com/tibbe/unordered-containers")
13595 (synopsis
13596 "Efficient hashing-based container types")
13597 (description
13598 "Efficient hashing-based container types. The containers have been
13599optimized for performance critical use, both in terms of large data quantities
13600and high speed.")
13601 (license license:bsd-3)))
13602
13603(define-public ghc-unordered-containers-bootstrap
13604 (package
13605 (inherit ghc-unordered-containers)
13606 (name "ghc-unordered-containers-bootstrap")
13607 (arguments `(#:tests? #f))
13608 (inputs
13609 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13610 (properties '((hidden? #t)))))
dddbc90c 13611
a52f4c57
JS
13612(define-public ghc-unsafe
13613 (package
13614 (name "ghc-unsafe")
13615 (version "0.0")
13616 (source
13617 (origin
13618 (method url-fetch)
13619 (uri
13620 (string-append
13621 "https://hackage.haskell.org/package/unsafe/unsafe-"
13622 version ".tar.gz"))
13623 (sha256
13624 (base32
13625 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13626 (build-system haskell-build-system)
13627 (home-page "https://hackage.haskell.org/package/unsafe")
13628 (synopsis "Unified interface to unsafe functions")
13629 (description "Safe Haskell introduced the notion of safe and unsafe
13630modules. In order to make as many as possible modules ``safe'', the
13631well-known unsafe functions were moved to distinguished modules. This
13632makes it hard to write packages that work with both old and new versions
13633of GHC. This package provides a single module System.Unsafe that
13634exports the unsafe functions from the base package. It provides them in
13635a style ready for qualification, that is, you should import them by
13636@code{import qualified System.Unsafe as Unsafe}.")
13637 (license license:bsd-3)))
13638
dddbc90c
RV
13639(define-public ghc-uri-bytestring
13640 (package
13641 (name "ghc-uri-bytestring")
d35ffd39 13642 (version "0.3.2.2")
dddbc90c
RV
13643 (source
13644 (origin
13645 (method url-fetch)
13646 (uri (string-append "https://hackage.haskell.org/package/"
13647 "uri-bytestring-" version "/"
13648 "uri-bytestring-" version ".tar.gz"))
13649 (sha256
13650 (base32
d35ffd39 13651 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13652 (build-system haskell-build-system)
13653 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13654 ("ghc-blaze-builder" ,ghc-blaze-builder)
13655 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13656 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13657 ("ghc-tasty" ,ghc-tasty)
13658 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13659 ("ghc-hedgehog" ,ghc-hedgehog)
13660 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13661 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13662 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13663 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13664 (home-page "https://github.com/Soostone/uri-bytestring")
13665 (synopsis "Haskell URI parsing as ByteStrings")
13666 (description "This Haskell package aims to be an RFC3986 compliant URI
13667parser that uses ByteStrings for parsing and representing the URI data.")
13668 (license license:bsd-3)))
13669
d7ad0823
JS
13670(define-public ghc-utf8-light
13671 (package
13672 (name "ghc-utf8-light")
13673 (version "0.4.2")
13674 (source
13675 (origin
13676 (method url-fetch)
13677 (uri (string-append
13678 "mirror://hackage/package/utf8-light/utf8-light-"
13679 version
13680 ".tar.gz"))
13681 (sha256
13682 (base32
13683 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13684 (build-system haskell-build-system)
13685 (home-page
13686 "http://hackage.haskell.org/package/utf8-light")
13687 (synopsis "Lightweight unicode support for Haskell")
13688 (description
13689 "This package profides a class for encoding and decoding UTF8 strings
13690with instances for several common types. It also includes several functions
13691for working with UTF8. It aims to be lightweight, depending only on Base and
13692including only one module.")
13693 (license license:bsd-3)))
13694
dddbc90c
RV
13695(define-public ghc-utf8-string
13696 (package
13697 (name "ghc-utf8-string")
13698 (version "1.0.1.1")
13699 (source
13700 (origin
13701 (method url-fetch)
13702 (uri (string-append
13703 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13704 version
13705 ".tar.gz"))
13706 (sha256
13707 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13708 (build-system haskell-build-system)
13709 (arguments
13710 `(#:cabal-revision
13711 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13712 (home-page "https://github.com/glguy/utf8-string/")
13713 (synopsis "Support for reading and writing UTF8 Strings")
13714 (description
13715 "A UTF8 layer for Strings. The utf8-string package provides operations
13716for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13717UTF8 without truncation.")
13718 (license license:bsd-3)))
13719
13720(define-public ghc-utility-ht
13721 (package
13722 (name "ghc-utility-ht")
13723 (version "0.0.14")
13724 (home-page "https://hackage.haskell.org/package/utility-ht")
13725 (source
13726 (origin
13727 (method url-fetch)
13728 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13729 (sha256
13730 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13731 (build-system haskell-build-system)
13732 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13733 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13734 (description "This package includes Hakell modules providing various
13735helper functions for Lists, Maybes, Tuples, Functions.")
13736 (license license:bsd-3)))
13737
13738(define-public ghc-uuid
13739 (package
13740 (name "ghc-uuid")
13741 (version "1.3.13")
13742 (source
13743 (origin
13744 (method url-fetch)
13745 (uri (string-append "https://hackage.haskell.org/package/"
13746 "uuid-" version "/"
13747 "uuid-" version ".tar.gz"))
13748 (sha256
13749 (base32
13750 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13751 (build-system haskell-build-system)
13752 (arguments
13753 `(#:cabal-revision
13754 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13755 #:phases
13756 (modify-phases %standard-phases
13757 (add-before 'configure 'strip-test-framework-constraints
13758 (lambda _
13759 (substitute* "uuid.cabal"
13760 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13761 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13762 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13763 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13764 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13765 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13766 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13767 ("ghc-entropy" ,ghc-entropy)
13768 ("ghc-network-info" ,ghc-network-info)
13769 ("ghc-random" ,ghc-random)
13770 ("ghc-uuid-types" ,ghc-uuid-types)))
13771 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13772 ("ghc-quickcheck" ,ghc-quickcheck)
13773 ("ghc-tasty" ,ghc-tasty)
13774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13776 (home-page "https://github.com/hvr/uuid")
13777 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13778 (description "This Haskell library provides utilities creating, comparing,
13779parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13780 (license license:bsd-3)))
13781
13782(define-public ghc-uuid-types
13783 (package
13784 (name "ghc-uuid-types")
13785 (version "1.0.3")
13786 (source
13787 (origin
13788 (method url-fetch)
13789 (uri (string-append "https://hackage.haskell.org/package/"
13790 "uuid-types-" version "/"
13791 "uuid-types-" version ".tar.gz"))
13792 (sha256
13793 (base32
13794 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13795 (build-system haskell-build-system)
13796 (arguments
13797 `(#:phases
13798 (modify-phases %standard-phases
13799 (add-before 'configure 'strip-test-framework-constraints
13800 (lambda _
13801 (substitute* "uuid-types.cabal"
13802 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13803 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13804 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13805 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13806 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13807 (inputs `(("ghc-hashable" ,ghc-hashable)
13808 ("ghc-random" ,ghc-random)))
13809 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13810 ("ghc-quickcheck" ,ghc-quickcheck)
13811 ("ghc-tasty" ,ghc-tasty)
13812 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13813 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13814 (home-page "https://github.com/hvr/uuid")
13815 (synopsis "Haskell type definitions for UUIDs")
13816 (description "This Haskell library contains type definitions for
13817@dfn{Universally Unique Identifiers} or
13818@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13819functions.")
13820 (license license:bsd-3)))
13821
13822(define-public ghc-validation
13823 (package
13824 (name "ghc-validation")
08397fde 13825 (version "1.1")
dddbc90c
RV
13826 (source
13827 (origin
13828 (method url-fetch)
13829 (uri (string-append
13830 "mirror://hackage/package/validation/validation-"
13831 version
13832 ".tar.gz"))
13833 (sha256
13834 (base32
08397fde 13835 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13836 (build-system haskell-build-system)
13837 (arguments
13838 `(#:cabal-revision
08397fde 13839 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13840 (inputs
13841 `(("ghc-semigroups" ,ghc-semigroups)
13842 ("ghc-semigroupoids" ,ghc-semigroupoids)
13843 ("ghc-bifunctors" ,ghc-bifunctors)
13844 ("ghc-lens" ,ghc-lens)))
13845 (native-inputs
13846 `(("ghc-hedgehog" ,ghc-hedgehog)
13847 ("ghc-hunit" ,ghc-hunit)))
13848 (home-page "https://github.com/qfpl/validation")
13849 (synopsis
13850 "Data-type like Either but with an accumulating Applicative")
13851 (description
13852 "A data-type like Either but with differing properties and type-class
13853instances.
13854
13855Library support is provided for this different representation, including
13856@code{lens}-related functions for converting between each and abstracting over
13857their similarities.
13858
13859The @code{Validation} data type is isomorphic to @code{Either}, but has an
13860instance of @code{Applicative} that accumulates on the error side. That is to
13861say, if two (or more) errors are encountered, they are appended using a
13862@{Semigroup} operation.
13863
13864As a consequence of this @code{Applicative} instance, there is no
13865corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13866example of, \"An applicative functor that is not a monad.\"")
13867 (license license:bsd-3)))
13868
13869(define-public ghc-validity
13870 (package
13871 (name "ghc-validity")
3f1ba75d 13872 (version "0.9.0.2")
dddbc90c
RV
13873 (source
13874 (origin
13875 (method url-fetch)
13876 (uri (string-append
13877 "https://hackage.haskell.org/package/validity/validity-"
13878 version
13879 ".tar.gz"))
13880 (sha256
13881 (base32
3f1ba75d 13882 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13883 (build-system haskell-build-system)
13884 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13885 ("hspec-discover" ,hspec-discover)))
13886 (home-page
13887 "https://github.com/NorfairKing/validity")
13888 (synopsis "Validity typeclass")
13889 (description
13890 "Values of custom types usually have invariants imposed upon them. This
13891package provides the @code{Validity} type class, which makes these invariants
13892explicit by providing a function to check whether the invariants hold.")
13893 (license license:expat)))
13894
13895(define-public ghc-vault
13896 (package
13897 (name "ghc-vault")
b40a436e 13898 (version "0.3.1.3")
dddbc90c
RV
13899 (source
13900 (origin
13901 (method url-fetch)
13902 (uri (string-append
13903 "https://hackage.haskell.org/package/vault/vault-"
13904 version
13905 ".tar.gz"))
13906 (sha256
13907 (base32
b40a436e 13908 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13909 (build-system haskell-build-system)
13910 (inputs
13911 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13912 ("ghc-hashable" ,ghc-hashable)
b40a436e 13913 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13914 (home-page
13915 "https://github.com/HeinrichApfelmus/vault")
13916 (synopsis "Persistent store for arbitrary values")
13917 (description "This package provides vaults for Haskell. A vault is a
13918persistent store for values of arbitrary types. It's like having first-class
13919access to the storage space behind @code{IORefs}. The data structure is
13920analogous to a bank vault, where you can access different bank boxes with
13921different keys; hence the name. Also provided is a @code{locker} type,
13922representing a store for a single element.")
13923 (license license:bsd-3)))
13924
13925(define-public ghc-vector
13926 (package
13927 (name "ghc-vector")
3ad67f6b 13928 (version "0.12.0.3")
dddbc90c
RV
13929 (outputs '("out" "doc"))
13930 (source
13931 (origin
13932 (method url-fetch)
13933 (uri (string-append
13934 "https://hackage.haskell.org/package/vector/vector-"
13935 version
13936 ".tar.gz"))
13937 (sha256
13938 (base32
3ad67f6b 13939 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13940 (build-system haskell-build-system)
13941 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13942 ;; disabled for now.
13943 (arguments
3ad67f6b 13944 `(#:tests? #f))
dddbc90c
RV
13945 (inputs
13946 `(("ghc-primitive" ,ghc-primitive)
13947 ("ghc-random" ,ghc-random)
13948 ("ghc-quickcheck" ,ghc-quickcheck)
13949 ;; ("ghc-hunit" ,ghc-hunit)
13950 ;; ("ghc-test-framework" ,ghc-test-framework)
13951 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13952 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13953 ))
13954 (home-page "https://github.com/haskell/vector")
13955 (synopsis "Efficient Arrays")
13956 (description "This library provides an efficient implementation of
13957Int-indexed arrays (both mutable and immutable), with a powerful loop
13958optimisation framework.")
13959 (license license:bsd-3)))
13960
13961(define-public ghc-vector-algorithms
13962 (package
13963 (name "ghc-vector-algorithms")
e71f316f 13964 (version "0.8.0.1")
dddbc90c
RV
13965 (source
13966 (origin
13967 (method url-fetch)
13968 (uri (string-append "https://hackage.haskell.org/package/"
13969 "vector-algorithms-" version "/"
13970 "vector-algorithms-" version ".tar.gz"))
13971 (sha256
13972 (base32
e71f316f 13973 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13974 (build-system haskell-build-system)
13975 (inputs
13976 `(("ghc-vector" ,ghc-vector)))
13977 (native-inputs
13978 `(("ghc-quickcheck" ,ghc-quickcheck)))
13979 (home-page "https://github.com/bos/math-functions")
13980 (synopsis "Algorithms for vector arrays in Haskell")
13981 (description "This Haskell library algorithms for vector arrays.")
13982 (license license:bsd-3)))
13983
13984(define-public ghc-vector-binary-instances
13985 (package
13986 (name "ghc-vector-binary-instances")
ca0701ef 13987 (version "0.2.5.1")
dddbc90c
RV
13988 (source
13989 (origin
13990 (method url-fetch)
13991 (uri (string-append
13992 "https://hackage.haskell.org/package/"
13993 "vector-binary-instances/vector-binary-instances-"
13994 version ".tar.gz"))
13995 (sha256
13996 (base32
ca0701ef 13997 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13998 (build-system haskell-build-system)
dddbc90c
RV
13999 (inputs
14000 `(("ghc-vector" ,ghc-vector)))
14001 (native-inputs
14002 `(("ghc-tasty" ,ghc-tasty)
14003 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14004 (home-page "https://github.com/bos/vector-binary-instances")
14005 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14006 (description "This library provides instances of @code{Binary} for the
14007types defined in the @code{vector} package, making it easy to serialize
14008vectors to and from disk. We use the generic interface to vectors, so all
14009vector types are supported. Specific instances are provided for unboxed,
14010boxed and storable vectors.")
14011 (license license:bsd-3)))
14012
14013(define-public ghc-vector-builder
14014 (package
14015 (name "ghc-vector-builder")
1fc05441 14016 (version "0.3.8")
dddbc90c
RV
14017 (source
14018 (origin
14019 (method url-fetch)
14020 (uri (string-append "https://hackage.haskell.org/package/"
14021 "vector-builder-" version "/"
14022 "vector-builder-" version ".tar.gz"))
14023 (sha256
14024 (base32
1fc05441 14025 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
14026 (build-system haskell-build-system)
14027 (inputs `(("ghc-vector" ,ghc-vector)
14028 ("ghc-semigroups" ,ghc-semigroups)
14029 ("ghc-base-prelude" ,ghc-base-prelude)))
14030 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14031 ("ghc-tasty" ,ghc-tasty)
14032 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14033 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14034 ("ghc-hunit" ,ghc-hunit)
14035 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14036 ("ghc-rerebase" ,ghc-rerebase)))
14037 (home-page "https://github.com/nikita-volkov/vector-builder")
14038 (synopsis "Vector builder for Haskell")
14039 (description "This Haskell package provides an API for constructing vectors.
14040It provides the composable @code{Builder} abstraction, which has instances of the
14041@code{Monoid} and @code{Semigroup} classes.
14042
14043You would first use the @code{Builder} abstraction to specify the structure of
14044the vector; then you can execute the builder to actually produce the
14045vector. ")
14046 (license license:expat)))
14047
14048(define-public ghc-vector-th-unbox
14049 (package
14050 (name "ghc-vector-th-unbox")
63056e61 14051 (version "0.2.1.7")
dddbc90c
RV
14052 (source
14053 (origin
14054 (method url-fetch)
14055 (uri (string-append "https://hackage.haskell.org/package/"
14056 "vector-th-unbox-" version "/"
14057 "vector-th-unbox-" version ".tar.gz"))
14058 (sha256
14059 (base32
63056e61 14060 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14061 (build-system haskell-build-system)
14062 (inputs
14063 `(("ghc-vector" ,ghc-vector)
14064 ("ghc-data-default" ,ghc-data-default)))
14065 (home-page "https://github.com/liyang/vector-th-unbox")
14066 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14067 (description "This Haskell library provides a Template Haskell
14068deriver for unboxed vectors, given a pair of coercion functions to
14069and from some existing type with an Unbox instance.")
14070 (license license:bsd-3)))
14071
14072(define-public ghc-void
14073 (package
14074 (name "ghc-void")
51889121 14075 (version "0.7.3")
dddbc90c
RV
14076 (source
14077 (origin
14078 (method url-fetch)
14079 (uri (string-append
14080 "https://hackage.haskell.org/package/void/void-"
14081 version
14082 ".tar.gz"))
14083 (sha256
14084 (base32
51889121 14085 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14086 (build-system haskell-build-system)
14087 (inputs
14088 `(("ghc-semigroups" ,ghc-semigroups)
14089 ("ghc-hashable" ,ghc-hashable)))
14090 (home-page "https://github.com/ekmett/void")
14091 (synopsis
14092 "Logically uninhabited data type")
14093 (description
14094 "A Haskell 98 logically uninhabited data type, used to indicate that a
14095given term should not exist.")
14096 (license license:bsd-3)))
14097
14098(define-public ghc-wave
14099 (package
14100 (name "ghc-wave")
1631a0f7 14101 (version "0.2.0")
dddbc90c
RV
14102 (source (origin
14103 (method url-fetch)
14104 (uri (string-append
14105 "https://hackage.haskell.org/package/wave/wave-"
14106 version
14107 ".tar.gz"))
14108 (sha256
14109 (base32
1631a0f7 14110 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14111 (build-system haskell-build-system)
14112 (arguments
14113 '(#:phases
14114 (modify-phases %standard-phases
14115 (add-before 'configure 'update-constraints
14116 (lambda _
14117 (substitute* "wave.cabal"
14118 (("temporary.* < 1\\.3")
14119 "temporary >= 1.1 && < 1.4")))))))
14120 (inputs
14121 `(("ghc-cereal" ,ghc-cereal)
14122 ("ghc-data-default-class"
14123 ,ghc-data-default-class)
14124 ("ghc-quickcheck" ,ghc-quickcheck)
14125 ("ghc-temporary" ,ghc-temporary)))
14126 (native-inputs
14127 `(("hspec-discover" ,hspec-discover)
14128 ("ghc-hspec" ,ghc-hspec)))
14129 (home-page "https://github.com/mrkkrp/wave")
14130 (synopsis "Work with WAVE and RF64 files in Haskell")
14131 (description "This package allows you to work with WAVE and RF64
14132files in Haskell.")
14133 (license license:bsd-3)))
14134
14135(define-public ghc-wcwidth
14136 (package
14137 (name "ghc-wcwidth")
14138 (version "0.0.2")
14139 (source
14140 (origin
14141 (method url-fetch)
14142 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14143 version ".tar.gz"))
14144 (sha256
14145 (base32
14146 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14147 (build-system haskell-build-system)
14148 (inputs
14149 `(("ghc-setlocale" ,ghc-setlocale)
14150 ("ghc-utf8-string" ,ghc-utf8-string)
14151 ("ghc-attoparsec" ,ghc-attoparsec)))
14152 (home-page "https://github.com/solidsnack/wcwidth/")
14153 (synopsis "Haskell bindings to wcwidth")
14154 (description "This package provides Haskell bindings to your system's
14155native wcwidth and a command line tool to examine the widths assigned by it.
14156The command line tool can compile a width table to Haskell code that assigns
14157widths to the Char type.")
14158 (license license:bsd-3)))
14159
14160(define-public ghc-wcwidth-bootstrap
14161 (package
14162 (inherit ghc-wcwidth)
14163 (name "ghc-wcwidth-bootstrap")
14164 (inputs
14165 `(("ghc-setlocale" ,ghc-setlocale)
14166 ("ghc-utf8-string" ,ghc-utf8-string)
14167 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14168 (properties '((hidden? #t)))))
dddbc90c
RV
14169
14170(define-public ghc-weigh
14171 (package
14172 (name "ghc-weigh")
b6d9777f 14173 (version "0.0.14")
dddbc90c
RV
14174 (source
14175 (origin
14176 (method url-fetch)
14177 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14178 "weigh-" version ".tar.gz"))
14179 (sha256
14180 (base32
b6d9777f 14181 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14182 (build-system haskell-build-system)
14183 (inputs
14184 `(("ghc-split" ,ghc-split)
14185 ("ghc-temporary" ,ghc-temporary)))
14186 (home-page "https://github.com/fpco/weigh#readme")
14187 (synopsis "Measure allocations of a Haskell functions/values")
14188 (description "This package provides tools to measure the memory usage of a
14189Haskell value or function.")
14190 (license license:bsd-3)))
14191
14192(define-public ghc-wl-pprint
14193 (package
14194 (name "ghc-wl-pprint")
14195 (version "1.2.1")
14196 (source (origin
14197 (method url-fetch)
14198 (uri (string-append
14199 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14200 version ".tar.gz"))
14201 (sha256
14202 (base32
14203 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14204 (build-system haskell-build-system)
14205 (home-page "https://hackage.haskell.org/package/wl-pprint")
14206 (synopsis "Wadler/Leijen pretty printer")
14207 (description
14208 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14209Printer}. This version allows the library user to declare overlapping
14210instances of the @code{Pretty} class.")
14211 (license license:bsd-3)))
14212
14213(define-public ghc-wl-pprint-annotated
14214 (package
14215 (name "ghc-wl-pprint-annotated")
14216 (version "0.1.0.1")
14217 (source
14218 (origin
14219 (method url-fetch)
14220 (uri (string-append
14221 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14222 version
14223 ".tar.gz"))
14224 (sha256
14225 (base32
14226 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14227 (build-system haskell-build-system)
14228 (native-inputs
14229 `(("ghc-tasty" ,ghc-tasty)
14230 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14231 (home-page
14232 "https://github.com/minad/wl-pprint-annotated#readme")
14233 (synopsis
14234 "Wadler/Leijen pretty printer with annotation support")
14235 (description
14236 "Annotations are useful for coloring. This is a limited version of
14237@code{wl-pprint-extras} without support for point effects and without the free
14238monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14239Compared to @code{annotated-wl-pprint} this library provides a slightly
14240modernized interface.")
14241 (license license:bsd-3)))
14242
14243(define-public ghc-wl-pprint-text
14244 (package
14245 (name "ghc-wl-pprint-text")
14246 (version "1.2.0.0")
14247 (source
14248 (origin
14249 (method url-fetch)
14250 (uri (string-append
14251 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14252 version ".tar.gz"))
14253 (sha256
14254 (base32
14255 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14256 (build-system haskell-build-system)
14257 (inputs
14258 `(("ghc-base-compat" ,ghc-base-compat)))
14259 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14260 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14261 (description
14262 "A clone of wl-pprint for use with the text library.")
14263 (license license:bsd-3)))
14264
14265(define-public ghc-word8
14266 (package
14267 (name "ghc-word8")
14268 (version "0.1.3")
14269 (source
14270 (origin
14271 (method url-fetch)
14272 (uri (string-append
14273 "https://hackage.haskell.org/package/word8/word8-"
14274 version
14275 ".tar.gz"))
14276 (sha256
14277 (base32
14278 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14279 (build-system haskell-build-system)
14280 (native-inputs
14281 `(("ghc-hspec" ,ghc-hspec)
14282 ("hspec-discover" ,hspec-discover)))
14283 (home-page "https://hackage.haskell.org/package/word8")
14284 (synopsis "Word8 library for Haskell")
14285 (description "Word8 library to be used with @code{Data.ByteString}.")
14286 (license license:bsd-3)))
14287
14288(define-public ghc-x11
14289 (package
14290 (name "ghc-x11")
6c4581a3 14291 (version "1.9.1")
dddbc90c
RV
14292 (source
14293 (origin
14294 (method url-fetch)
14295 (uri (string-append "https://hackage.haskell.org/package/X11/"
14296 "X11-" version ".tar.gz"))
14297 (sha256
6c4581a3 14298 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
14299 (build-system haskell-build-system)
14300 (inputs
14301 `(("libx11" ,libx11)
14302 ("libxrandr" ,libxrandr)
14303 ("libxinerama" ,libxinerama)
14304 ("libxscrnsaver" ,libxscrnsaver)
14305 ("ghc-data-default" ,ghc-data-default)))
14306 (home-page "https://github.com/haskell-pkg-janitors/X11")
14307 (synopsis "Bindings to the X11 graphics library")
14308 (description
14309 "This package provides Haskell bindings to the X11 graphics library. The
14310bindings are a direct translation of the C bindings.")
14311 (license license:bsd-3)))
14312
14313(define-public ghc-x11-xft
14314 (package
14315 (name "ghc-x11-xft")
14316 (version "0.3.1")
14317 (source
14318 (origin
14319 (method url-fetch)
14320 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14321 "X11-xft-" version ".tar.gz"))
14322 (sha256
14323 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14324 (inputs
14325 `(("ghc-x11" ,ghc-x11)
14326 ("ghc-utf8-string" ,ghc-utf8-string)
14327 ("libx11" ,libx11)
14328 ("libxft" ,libxft)
14329 ("xorgproto" ,xorgproto)))
14330 (native-inputs
14331 `(("pkg-config" ,pkg-config)))
14332 (build-system haskell-build-system)
14333 (home-page "https://hackage.haskell.org/package/X11-xft")
14334 (synopsis "Bindings to Xft")
14335 (description
14336 "Bindings to the Xft, X Free Type interface library, and some Xrender
14337parts.")
14338 (license license:lgpl2.1)))
14339
14340(define-public ghc-xdg-basedir
14341 (package
14342 (name "ghc-xdg-basedir")
14343 (version "0.2.2")
14344 (source
14345 (origin
14346 (method url-fetch)
14347 (uri (string-append
14348 "https://hackage.haskell.org/package/xdg-basedir/"
14349 "xdg-basedir-" version ".tar.gz"))
14350 (sha256
14351 (base32
14352 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14353 (build-system haskell-build-system)
14354 (home-page "http://github.com/willdonnelly/xdg-basedir")
14355 (synopsis "XDG Base Directory library for Haskell")
14356 (description "This package provides a library implementing the XDG Base Directory spec.")
14357 (license license:bsd-3)))
14358
14359(define-public ghc-xml
14360 (package
14361 (name "ghc-xml")
14362 (version "1.3.14")
14363 (source
14364 (origin
14365 (method url-fetch)
14366 (uri (string-append
14367 "https://hackage.haskell.org/package/xml/xml-"
14368 version
14369 ".tar.gz"))
14370 (sha256
14371 (base32
14372 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14373 (build-system haskell-build-system)
2b62f5d0 14374 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14375 (synopsis "Simple XML library for Haskell")
14376 (description "This package provides a simple XML library for Haskell.")
14377 (license license:bsd-3)))
14378
14379(define-public ghc-xml-conduit
14380 (package
14381 (name "ghc-xml-conduit")
14382 (version "1.8.0.1")
14383 (source
14384 (origin
14385 (method url-fetch)
14386 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14387 "xml-conduit-" version ".tar.gz"))
14388 (sha256
14389 (base32
14390 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14391 (build-system haskell-build-system)
14392 (inputs
14393 `(("ghc-conduit" ,ghc-conduit)
14394 ("ghc-conduit-extra" ,ghc-conduit-extra)
14395 ("ghc-doctest" ,ghc-doctest)
14396 ("ghc-resourcet" ,ghc-resourcet)
14397 ("ghc-xml-types" ,ghc-xml-types)
14398 ("ghc-attoparsec" ,ghc-attoparsec)
14399 ("ghc-data-default-class" ,ghc-data-default-class)
14400 ("ghc-blaze-markup" ,ghc-blaze-markup)
14401 ("ghc-blaze-html" ,ghc-blaze-html)
14402 ("ghc-monad-control" ,ghc-monad-control)
14403 ("ghc-hspec" ,ghc-hspec)
14404 ("ghc-hunit" ,ghc-hunit)))
14405 (home-page "https://github.com/snoyberg/xml")
14406 (synopsis "Utilities for dealing with XML with the conduit package")
14407 (description
14408 "This package provides pure-Haskell utilities for dealing with XML with
14409the @code{conduit} package.")
14410 (license license:expat)))
14411
14412(define-public ghc-xml-types
14413 (package
14414 (name "ghc-xml-types")
14415 (version "0.3.6")
14416 (source
14417 (origin
14418 (method url-fetch)
14419 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14420 "xml-types-" version ".tar.gz"))
14421 (sha256
14422 (base32
14423 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14424 (build-system haskell-build-system)
14425 (home-page "https://john-millikin.com/software/haskell-xml/")
14426 (synopsis "Basic types for representing XML")
14427 (description "This package provides basic types for representing XML
14428documents.")
14429 (license license:expat)))
14430
14431(define-public ghc-yaml
14432 (package
14433 (name "ghc-yaml")
b58e5b84 14434 (version "0.11.1.2")
dddbc90c
RV
14435 (source (origin
14436 (method url-fetch)
14437 (uri (string-append "https://hackage.haskell.org/package/"
14438 "yaml/yaml-" version ".tar.gz"))
14439 (sha256
14440 (base32
b58e5b84 14441 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14442 (build-system haskell-build-system)
dddbc90c
RV
14443 (inputs
14444 `(("ghc-conduit" ,ghc-conduit)
14445 ("ghc-resourcet" ,ghc-resourcet)
14446 ("ghc-aeson" ,ghc-aeson)
14447 ("ghc-unordered-containers" ,ghc-unordered-containers)
14448 ("ghc-vector" ,ghc-vector)
14449 ("ghc-attoparsec" ,ghc-attoparsec)
14450 ("ghc-scientific" ,ghc-scientific)
14451 ("ghc-semigroups" ,ghc-semigroups)
14452 ("ghc-temporary" ,ghc-temporary)
14453 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14454 ("ghc-base-compat" ,ghc-base-compat)
14455 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14456 (native-inputs
14457 `(("ghc-hspec" ,ghc-hspec)
14458 ("ghc-hunit" ,ghc-hunit)
14459 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14460 ("ghc-mockery" ,ghc-mockery)
14461 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14462 (home-page "https://github.com/snoyberg/yaml/")
14463 (synopsis "Parsing and rendering YAML documents")
14464 (description
14465 "This package provides a library to parse and render YAML documents.")
14466 (license license:bsd-3)))
14467
14468(define-public ghc-zip-archive
14469 (package
14470 (name "ghc-zip-archive")
93c1fdd3 14471 (version "0.4.1")
dddbc90c
RV
14472 (source
14473 (origin
14474 (method url-fetch)
14475 (uri (string-append
14476 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14477 version
14478 ".tar.gz"))
14479 (sha256
14480 (base32
93c1fdd3 14481 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14482 (build-system haskell-build-system)
93c1fdd3
TS
14483 (arguments
14484 `(#:phases
14485 (modify-phases %standard-phases
14486 (add-before 'check 'set-PATH-for-tests
14487 (lambda* (#:key inputs #:allow-other-keys)
14488 (let ((unzip (assoc-ref inputs "unzip"))
14489 (which (assoc-ref inputs "which"))
14490 (path (getenv "PATH")))
14491 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14492 #t))))))
dddbc90c
RV
14493 (inputs
14494 `(("ghc-digest" ,ghc-digest)
14495 ("ghc-temporary" ,ghc-temporary)
14496 ("ghc-zlib" ,ghc-zlib)))
14497 (native-inputs
14498 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14499 ("unzip" ,unzip)
14500 ("which" ,which)))
dddbc90c
RV
14501 (home-page "https://hackage.haskell.org/package/zip-archive")
14502 (synopsis "Zip archive library for Haskell")
14503 (description "The zip-archive library provides functions for creating,
14504modifying, and extracting files from zip archives in Haskell.")
14505 (license license:bsd-3)))
14506
14507(define-public ghc-zlib
14508 (package
14509 (name "ghc-zlib")
bf12089a 14510 (version "0.6.2.1")
dddbc90c
RV
14511 (outputs '("out" "doc"))
14512 (source
14513 (origin
14514 (method url-fetch)
14515 (uri (string-append
14516 "https://hackage.haskell.org/package/zlib/zlib-"
14517 version
14518 ".tar.gz"))
14519 (sha256
14520 (base32
bf12089a 14521 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14522 (build-system haskell-build-system)
14523 (arguments
14524 `(#:phases
14525 (modify-phases %standard-phases
14526 (add-before 'configure 'strip-test-framework-constraints
14527 (lambda _
14528 (substitute* "zlib.cabal"
14529 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14530 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14531 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14532 (inputs `(("zlib" ,zlib)))
14533 (native-inputs
14534 `(("ghc-quickcheck" ,ghc-quickcheck)
14535 ("ghc-tasty" ,ghc-tasty)
14536 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14537 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14538 (home-page "https://hackage.haskell.org/package/zlib")
14539 (synopsis
14540 "Compression and decompression in the gzip and zlib formats")
14541 (description
14542 "This package provides a pure interface for compressing and decompressing
14543streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14544library so it has high performance. It supports the @code{zlib}, @code{gzip}
14545and @code{raw} compression formats. It provides a convenient high level API
14546suitable for most tasks and for the few cases where more control is needed it
14547provides access to the full zlib feature set.")
bbf8bf31 14548 (license license:bsd-3)))
14e41996
RV
14549
14550(define-public ghc-zlib-bindings
14551 (package
14552 (name "ghc-zlib-bindings")
14553 (version "0.1.1.5")
14554 (source
14555 (origin
14556 (method url-fetch)
14557 (uri (string-append "https://hackage.haskell.org/package/"
14558 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14559 (sha256
14560 (base32
14561 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14562 (build-system haskell-build-system)
14563 (inputs
14564 `(("ghc-zlib" ,ghc-zlib)))
14565 (native-inputs
14566 `(("ghc-hspec" ,ghc-hspec)
14567 ("ghc-quickcheck" ,ghc-quickcheck)))
14568 (arguments
14569 `(#:cabal-revision
14570 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14571 (home-page "https://github.com/snapframework/zlib-bindings")
14572 (synopsis "Low-level bindings to the @code{zlib} package")
14573 (description "This package provides low-level bindings to the
14574@code{zlib} package.")
14575 (license license:bsd-3)))
8428e92c
TS
14576
14577(define-public ghc-zstd
14578 (package
14579 (name "ghc-zstd")
14580 (version "0.1.1.2")
14581 (source
14582 (origin
14583 (method url-fetch)
14584 (uri (string-append "https://hackage.haskell.org/package/"
14585 "zstd/zstd-" version ".tar.gz"))
14586 (sha256
14587 (base32
14588 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14589 (build-system haskell-build-system)
14590 (native-inputs
14591 `(("ghc-quickcheck" ,ghc-quickcheck)
14592 ("ghc-test-framework" ,ghc-test-framework)
14593 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14594 (home-page "https://github.com/luispedro/hs-zstd")
14595 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14596 (description "This library provides Haskell bindings to the
14597Zstandard compression algorithm, a fast lossless compression algorithm
14598targeting real-time compression scenarios at zlib-level and better
14599compression ratios.")
14600 (license license:bsd-3)))