gnu: whois: Update to 5.5.3.
[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>
7;;; Copyright © 2016, 2017 ng0 <ng0@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>
a52f4c57 22;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
6b34d01c
RV
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages haskell-xyz)
42 #:use-module (gnu packages)
dddbc90c
RV
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages compression)
45 #:use-module (gnu packages emacs)
46 #:use-module (gnu packages gcc)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages graphviz)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages haskell-apps)
efb96749 51 #:use-module (gnu packages haskell-check)
dddbc90c
RV
52 #:use-module (gnu packages haskell-crypto)
53 #:use-module (gnu packages haskell-web)
54 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
57 #:use-module (gnu packages maths)
49e29df5 58 #:use-module (gnu packages ncurses)
dddbc90c
RV
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
0c2d6fc2 62 #:use-module (gnu packages web)
dddbc90c
RV
63 #:use-module (gnu packages xml)
64 #:use-module (gnu packages xorg)
6b34d01c
RV
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
dddbc90c 67 #:use-module (guix git-download)
4780db2c 68 #:use-module (guix utils)
6b34d01c
RV
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages))
71
dddbc90c 72(define-public ghc-abstract-deque
efb96749 73 (package
dddbc90c
RV
74 (name "ghc-abstract-deque")
75 (version "0.3")
efb96749
RV
76 (source
77 (origin
78 (method url-fetch)
79 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
80 "abstract-deque-" version "/"
81 "abstract-deque-" version ".tar.gz"))
efb96749
RV
82 (sha256
83 (base32
dddbc90c 84 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 85 (build-system haskell-build-system)
dddbc90c
RV
86 (inputs `(("ghc-random" ,ghc-random)))
87 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
88 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
89 (description "This Haskell package provides an abstract interface to
90highly-parameterizable queues/deques.
91
92Background: There exists a feature space for queues that extends between:
efb96749
RV
93
94@itemize
dddbc90c
RV
95@item Simple, single-ended, non-concurrent, bounded queues
96
97@item Double-ended, thread-safe, growable queues with important points
98in between (such as the queues used for work stealing).
efb96749
RV
99@end itemize
100
dddbc90c
RV
101This package includes an interface for Deques that allows the programmer
102to use a single API for all of the above, while using the type system to
103select an efficient implementation given the requirements (using type families).
efb96749 104
dddbc90c
RV
105This package also includes a simple reference implementation based on
106@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
107 (license license:bsd-3)))
108
dddbc90c 109(define-public ghc-abstract-par
658dbc7f 110 (package
dddbc90c
RV
111 (name "ghc-abstract-par")
112 (version "0.3.3")
658dbc7f
RV
113 (source
114 (origin
115 (method url-fetch)
116 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
117 "abstract-par-" version "/"
118 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
119 (sha256
120 (base32
dddbc90c
RV
121 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
122 (build-system haskell-build-system)
123 (home-page "https://github.com/simonmar/monad-par")
124 (synopsis "Abstract parallelization interface for Haskell")
125 (description "This Haskell package is an abstract interface
126only. It provides a number of type clasess, but not an
127implementation. The type classes separate different levels
128of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
129module for more details.")
130 (license license:bsd-3)))
131
d8b88d74
TS
132(define-public ghc-active
133 (package
134 (name "ghc-active")
135 (version "0.2.0.14")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append "https://hackage.haskell.org/package/"
140 "active/active-" version ".tar.gz"))
141 (sha256
142 (base32
143 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
144 (build-system haskell-build-system)
145 (inputs
146 `(("ghc-vector" ,ghc-vector)
147 ("ghc-semigroups" ,ghc-semigroups)
148 ("ghc-semigroupoids" ,ghc-semigroupoids)
149 ("ghc-lens" ,ghc-lens)
150 ("ghc-linear" ,ghc-linear)))
151 (native-inputs
152 `(("ghc-quickcheck" ,ghc-quickcheck)))
153 (home-page "https://hackage.haskell.org/package/active")
154 (synopsis "Abstractions for animation")
155 (description "This package defines an @code{Active} abstraction for
156time-varying values with finite start and end times. It is used for
157describing animations within the
158@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
159diagrams framework}.")
160 (license license:bsd-3)))
161
dddbc90c
RV
162(define-public ghc-adjunctions
163 (package
164 (name "ghc-adjunctions")
165 (version "4.4")
166 (source
167 (origin
168 (method url-fetch)
169 (uri (string-append
170 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
171 version
172 ".tar.gz"))
173 (sha256
174 (base32
175 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 176 (build-system haskell-build-system)
a78262be
TS
177 (arguments
178 `(#:cabal-revision
179 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 180 (inputs
dddbc90c
RV
181 `(("ghc-profunctors" ,ghc-profunctors)
182 ("ghc-comonad" ,ghc-comonad)
183 ("ghc-contravariant" ,ghc-contravariant)
184 ("ghc-distributive" ,ghc-distributive)
185 ("ghc-free" ,ghc-free)
186 ("ghc-tagged" ,ghc-tagged)
187 ("ghc-semigroupoids" ,ghc-semigroupoids)
188 ("ghc-semigroups" ,ghc-semigroups)
189 ("ghc-transformers-compat" ,ghc-transformers-compat)
190 ("ghc-void" ,ghc-void)))
658dbc7f 191 (native-inputs
dddbc90c
RV
192 `(("ghc-generic-deriving" ,ghc-generic-deriving)
193 ("ghc-hspec" ,ghc-hspec)
194 ("hspec-discover" ,hspec-discover)))
195 (home-page "https://github.com/ekmett/adjunctions/")
196 (synopsis "Adjunctions and representable functors")
197 (description "This library provides adjunctions and representable functors
198for Haskell.")
199 (license license:bsd-3)))
200
201(define-public ghc-aeson-compat
202 (package
203 (name "ghc-aeson-compat")
0bafb755 204 (version "0.3.9")
dddbc90c
RV
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append "https://hackage.haskell.org/package/"
209 "aeson-compat-" version "/"
210 "aeson-compat-" version ".tar.gz"))
211 (sha256
212 (base32
0bafb755 213 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
214 (build-system haskell-build-system)
215 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
216 (inputs `(("ghc-base-compat" ,ghc-base-compat)
217 ("ghc-aeson" ,ghc-aeson)
218 ("ghc-attoparsec" ,ghc-attoparsec)
219 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
220 ("ghc-exceptions" ,ghc-exceptions)
221 ("ghc-hashable" ,ghc-hashable)
222 ("ghc-scientific" ,ghc-scientific)
223 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
224 ("ghc-unordered-containers" ,ghc-unordered-containers)
225 ("ghc-vector" ,ghc-vector)
226 ("ghc-tagged" ,ghc-tagged)
227 ("ghc-semigroups" ,ghc-semigroups)
228 ("ghc-nats" ,ghc-nats)))
229 (home-page "https://github.com/phadej/aeson-compat")
230 (synopsis "Compatibility layer for ghc-aeson")
231 (description "This Haskell package provides compatibility layer for
232ghc-aeson.")
233 (license license:bsd-3)))
234
cbc6f861
TS
235(define-public ghc-aeson-diff
236 (package
237 (name "ghc-aeson-diff")
238 (version "1.1.0.7")
239 (source
240 (origin
241 (method url-fetch)
242 (uri (string-append "https://hackage.haskell.org/package/"
243 "aeson-diff/aeson-diff-" version ".tar.gz"))
244 (sha256
245 (base32
246 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
247 (build-system haskell-build-system)
248 (inputs
249 `(("ghc-aeson" ,ghc-aeson)
250 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
251 ("ghc-hashable" ,ghc-hashable)
252 ("ghc-scientific" ,ghc-scientific)
253 ("ghc-unordered-containers" ,ghc-unordered-containers)
254 ("ghc-vector" ,ghc-vector)
255 ("ghc-semigroups" ,ghc-semigroups)
256 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
257 (native-inputs
258 `(("ghc-quickcheck" ,ghc-quickcheck)
259 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
260 ("ghc-glob" ,ghc-glob)
261 ("ghc-quickcheck" ,ghc-quickcheck)
262 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
263 ("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-doctest" ,ghc-doctest)
265 ("hlint" ,hlint)))
266 (home-page "https://github.com/thsutton/aeson-diff")
267 (synopsis "Extract and apply patches to JSON documents")
268 (description "This is a small library for working with changes to JSON
269documents. It includes a library and two command-line executables in the
270style of the @command{diff} and @command{patch} commands available on many
271systems.")
272 (license license:bsd-3)))
273
dddbc90c
RV
274(define-public ghc-alex
275 (package
276 (name "ghc-alex")
277 (version "3.2.4")
278 (source
279 (origin
280 (method url-fetch)
281 (uri (string-append
282 "https://hackage.haskell.org/package/alex/alex-"
283 version
284 ".tar.gz"))
285 (sha256
286 (base32
287 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
288 (build-system haskell-build-system)
658dbc7f 289 (arguments
dddbc90c
RV
290 `(#:phases
291 (modify-phases %standard-phases
292 (add-before 'check 'set-check-variables
293 (lambda _
294 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
295 (getenv "PATH")))
296 (setenv "alex_datadir" (string-append (getcwd) "/data"))
297 #t)))))
298 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
299 (native-inputs
300 `(("which" ,which)))
301 (home-page "https://www.haskell.org/alex/")
302 (synopsis
303 "Tool for generating lexical analysers in Haskell")
304 (description
305 "Alex is a tool for generating lexical analysers in Haskell. It takes a
306description of tokens based on regular expressions and generates a Haskell
307module containing code for scanning text efficiently. It is similar to the
308tool lex or flex for C/C++.")
658dbc7f
RV
309 (license license:bsd-3)))
310
dddbc90c 311(define-public ghc-alsa-core
7b01a977 312 (package
dddbc90c
RV
313 (name "ghc-alsa-core")
314 (version "0.5.0.1")
315 (source
316 (origin
317 (method url-fetch)
318 (uri (string-append
319 "mirror://hackage/package/alsa-core/alsa-core-"
320 version
321 ".tar.gz"))
322 (sha256
323 (base32
324 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
325 (build-system haskell-build-system)
326 (inputs
327 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
328 ("alsa-lib" ,alsa-lib)))
329 (native-inputs
330 `(("pkg-config" ,pkg-config)))
331 (home-page "http://www.haskell.org/haskellwiki/ALSA")
332 (synopsis "Binding to the ALSA Library API (Exceptions)")
333 (description "This package provides access to ALSA infrastructure, that is
334needed by both alsa-seq and alsa-pcm.")
335 (license license:bsd-3)))
336
f2ed1e6d
JS
337(define-public ghc-alsa-mixer
338 (package
339 (name "ghc-alsa-mixer")
340 (version "0.3.0")
341 (source
342 (origin
343 (method url-fetch)
344 (uri
345 (string-append
346 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
347 version ".tar.gz"))
348 (sha256
349 (base32
350 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
351 (build-system haskell-build-system)
352 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
353 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
354 (home-page "https://github.com/ttuegel/alsa-mixer")
355 (synopsis "Bindings to the ALSA simple mixer API")
356 (description
357 "This package provides bindings to the ALSA simple mixer API.")
358 (license license:bsd-3)))
359
dddbc90c
RV
360(define-public ghc-annotated-wl-pprint
361 (package
362 (name "ghc-annotated-wl-pprint")
363 (version "0.7.0")
364 (source
365 (origin
366 (method url-fetch)
367 (uri (string-append
368 "https://hackage.haskell.org/package/annotated-wl-pprint"
369 "/annotated-wl-pprint-" version
370 ".tar.gz"))
371 (sha256
372 (base32
373 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
374 (build-system haskell-build-system)
375 (home-page
376 "https://github.com/david-christiansen/annotated-wl-pprint")
377 (synopsis
378 "The Wadler/Leijen Pretty Printer, with annotation support")
379 (description "This is a modified version of wl-pprint, which was based on
380Wadler's paper \"A Prettier Printer\". This version allows the library user
381to annotate the text with semantic information, which can later be rendered in
382a variety of ways.")
383 (license license:bsd-3)))
384
385(define-public ghc-ansi-terminal
386 (package
387 (name "ghc-ansi-terminal")
f1b4a73f 388 (version "0.9.1")
dddbc90c
RV
389 (source
390 (origin
391 (method url-fetch)
392 (uri (string-append
393 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
394 version
395 ".tar.gz"))
396 (sha256
397 (base32
f1b4a73f 398 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
399 (build-system haskell-build-system)
400 (inputs
401 `(("ghc-colour" ,ghc-colour)))
402 (home-page "https://github.com/feuerbach/ansi-terminal")
403 (synopsis "ANSI terminal support for Haskell")
404 (description "This package provides ANSI terminal support for Haskell. It
405allows cursor movement, screen clearing, color output showing or hiding the
406cursor, and changing the title.")
407 (license license:bsd-3)))
408
409(define-public ghc-ansi-wl-pprint
410 (package
411 (name "ghc-ansi-wl-pprint")
c38746eb 412 (version "0.6.9")
7b01a977
RV
413 (source
414 (origin
415 (method url-fetch)
416 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 417 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
418 version ".tar.gz"))
419 (sha256
420 (base32
c38746eb 421 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
422 (build-system haskell-build-system)
423 (inputs
dddbc90c
RV
424 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
425 (home-page "https://github.com/ekmett/ansi-wl-pprint")
426 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
427 (description "This is a pretty printing library based on Wadler's paper
428\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
429colored output using the ansi-terminal package.")
430 (license license:bsd-3)))
431
432(define-public ghc-appar
433 (package
434 (name "ghc-appar")
1159d1a5 435 (version "0.1.8")
dddbc90c
RV
436 (source
437 (origin
438 (method url-fetch)
439 (uri (string-append
440 "https://hackage.haskell.org/package/appar/appar-"
441 version
442 ".tar.gz"))
443 (sha256
444 (base32
1159d1a5 445 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
446 (build-system haskell-build-system)
447 (home-page
448 "https://hackage.haskell.org/package/appar")
449 (synopsis "Simple applicative parser")
450 (description "This package provides a simple applicative parser in Parsec
451style.")
452 (license license:bsd-3)))
453
454(define-public ghc-async
455 (package
456 (name "ghc-async")
048ef066 457 (version "2.2.2")
dddbc90c
RV
458 (source
459 (origin
460 (method url-fetch)
461 (uri (string-append
462 "https://hackage.haskell.org/package/async/async-"
463 version
464 ".tar.gz"))
465 (sha256
466 (base32
048ef066 467 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
468 (build-system haskell-build-system)
469 (inputs
470 `(("ghc-hashable" ,ghc-hashable)
471 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
472 ("ghc-test-framework" ,ghc-test-framework)
473 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
474 (home-page "https://github.com/simonmar/async")
475 (synopsis "Library to run IO operations asynchronously")
476 (description "Async provides a library to run IO operations
477asynchronously, and wait for their results. It is a higher-level interface
478over threads in Haskell, in which @code{Async a} is a concurrent thread that
479will eventually deliver a value of type @code{a}.")
7b01a977
RV
480 (license license:bsd-3)))
481
9ad9ec2e
AG
482(define-public ghc-atomic-primops
483 (package
484 (name "ghc-atomic-primops")
af16c6b0 485 (version "0.8.3")
9ad9ec2e
AG
486 (source
487 (origin
488 (method url-fetch)
489 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
490 "/atomic-primops-" version ".tar.gz"))
491 (sha256
492 (base32
af16c6b0 493 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
494 (build-system haskell-build-system)
495 (inputs `(("ghc-primitive" ,ghc-primitive)))
496 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
497 (synopsis "Safe approach to CAS and other atomic ops")
498 (description
499 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
500use safely, because pointer equality is a highly unstable property in Haskell.
501This library provides a safer method based on the concept of @code{Ticket}s.")
502 (license license:bsd-3)))
503
dddbc90c 504(define-public ghc-atomic-write
79fcc5e5 505 (package
dddbc90c 506 (name "ghc-atomic-write")
c09d1e62 507 (version "0.2.0.6")
79fcc5e5
RV
508 (source
509 (origin
510 (method url-fetch)
dddbc90c
RV
511 (uri (string-append
512 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
513 version
514 ".tar.gz"))
79fcc5e5
RV
515 (sha256
516 (base32
c09d1e62 517 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
518 (build-system haskell-build-system)
519 (inputs
520 `(("ghc-temporary" ,ghc-temporary)
521 ("ghc-unix-compat" ,ghc-unix-compat)))
522 (native-inputs
523 `(("ghc-temporary" ,ghc-temporary)
524 ("ghc-unix-compat" ,ghc-unix-compat)
525 ("ghc-hspec" ,ghc-hspec)
526 ("hspec-discover" ,hspec-discover)))
527 (home-page "https://github.com/stackbuilders/atomic-write")
528 (synopsis "Atomically write to a file")
529 (description
530 "Atomically write to a file on POSIX-compliant systems while preserving
531permissions. @code{mv} is an atomic operation. This makes it simple to write
532to a file atomically just by using the @code{mv} operation. However, this
533will destroy the permissions on the original file. This library preserves
534permissions while atomically writing to a file.")
535 (license license:expat)))
536
537(define-public ghc-attoparsec
538 (package
539 (name "ghc-attoparsec")
511c3204 540 (version "0.13.2.3")
dddbc90c
RV
541 (source
542 (origin
543 (method url-fetch)
544 (uri (string-append
545 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
546 version
547 ".tar.gz"))
548 (sha256
549 (base32
511c3204 550 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 551 (build-system haskell-build-system)
79fcc5e5 552 (arguments
dddbc90c
RV
553 `(#:phases
554 (modify-phases %standard-phases
555 (add-after 'unpack 'patch-for-newer-quickcheck
556 (lambda _
557 (substitute* "attoparsec.cabal"
558 (("QuickCheck >= 2\\.7 && < 2\\.10")
559 "QuickCheck >= 2.7 && < 2.12"))
560 ;; This test fails because of the newer QuickCheck:
561 ;; <https://github.com/bos/attoparsec/issues/134>.
562 (substitute* "tests/QC/ByteString.hs"
563 ((", testProperty \"satisfyWith\" satisfyWith")
564 "")))))))
565 (inputs
566 `(("ghc-scientific" ,ghc-scientific)))
567 (native-inputs
568 `(("ghc-tasty" ,ghc-tasty)
569 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
570 ("ghc-quickcheck" ,ghc-quickcheck)
571 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
572 ("ghc-vector" ,ghc-vector)))
573 (home-page "https://github.com/bos/attoparsec")
574 (synopsis "Fast combinator parsing for bytestrings and text")
575 (description "This library provides a fast parser combinator library,
576aimed particularly at dealing efficiently with network protocols and
577complicated text/binary file formats.")
79fcc5e5
RV
578 (license license:bsd-3)))
579
dddbc90c 580(define-public ghc-attoparsec-bootstrap
6b34d01c 581 (package
dddbc90c
RV
582 (inherit ghc-attoparsec)
583 (name "ghc-attoparsec-bootstrap")
584 (arguments `(#:tests? #f))
585 (inputs
586 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
587 (native-inputs '())
799d8d3c 588 (properties '((hidden? #t)))))
dddbc90c
RV
589
590(define-public ghc-attoparsec-iso8601
591 (package
592 (name "ghc-attoparsec-iso8601")
97f267c8 593 (version "1.0.1.0")
6b34d01c
RV
594 (source
595 (origin
596 (method url-fetch)
597 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
598 "attoparsec-iso8601-" version "/"
599 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
600 (sha256
601 (base32
97f267c8 602 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 603 (build-system haskell-build-system)
dddbc90c
RV
604 (arguments
605 `(#:cabal-revision
97f267c8 606 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
607 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
608 ("ghc-base-compat" ,ghc-base-compat)))
609 (home-page "https://github.com/bos/aeson")
610 (synopsis "Parse ISO 8601 dates")
611 (description "Haskell library for parsing of ISO 8601 dates, originally
612from aeson.")
6b34d01c 613 (license license:bsd-3)))
b57e99f5 614
dddbc90c 615(define-public ghc-auto-update
b57e99f5 616 (package
dddbc90c 617 (name "ghc-auto-update")
11b1b6cd 618 (version "0.1.6")
dddbc90c
RV
619 (source
620 (origin
621 (method url-fetch)
622 (uri (string-append
623 "https://hackage.haskell.org/package/auto-update/auto-update-"
624 version
625 ".tar.gz"))
626 (sha256
627 (base32
11b1b6cd 628 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 629 (build-system haskell-build-system)
11b1b6cd
TS
630 (native-inputs
631 `(("ghc-hspec" ,ghc-hspec)
632 ("ghc-hunit" ,ghc-hunit)
633 ("ghc-retry" ,ghc-retry)
634 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
635 (home-page "https://github.com/yesodweb/wai")
636 (synopsis "Efficiently run periodic, on-demand actions")
637 (description "This library provides mechanisms to efficiently run
638periodic, on-demand actions in Haskell.")
639 (license license:expat)))
640
641(define-public ghc-aws
642 (package
643 (name "ghc-aws")
644 (version "0.20")
b57e99f5
RV
645 (source
646 (origin
647 (method url-fetch)
648 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
649 "aws-" version "/aws-" version ".tar.gz"))
650 (sha256 (base32
651 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
652 (build-system haskell-build-system)
653 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
654 (inputs
655 `(("ghc-aeson" ,ghc-aeson)
656 ("ghc-attoparsec" ,ghc-attoparsec)
657 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
658 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
659 ("ghc-blaze-builder" ,ghc-blaze-builder)
660 ("ghc-byteable" ,ghc-byteable)
661 ("ghc-case-insensitive" ,ghc-case-insensitive)
662 ("ghc-cereal" ,ghc-cereal)
663 ("ghc-conduit" ,ghc-conduit)
664 ("ghc-conduit-extra" ,ghc-conduit-extra)
665 ("ghc-cryptonite" ,ghc-cryptonite)
666 ("ghc-data-default" ,ghc-data-default)
667 ("ghc-http-conduit" ,ghc-http-conduit)
668 ("ghc-http-types" ,ghc-http-types)
669 ("ghc-lifted-base" ,ghc-lifted-base)
670 ("ghc-monad-control" ,ghc-monad-control)
671 ("ghc-network" ,ghc-network)
672 ("ghc-old-locale" ,ghc-old-locale)
673 ("ghc-safe" ,ghc-safe)
674 ("ghc-scientific" ,ghc-scientific)
675 ("ghc-tagged" ,ghc-tagged)
676 ("ghc-unordered-containers" ,ghc-unordered-containers)
677 ("ghc-utf8-string" ,ghc-utf8-string)
678 ("ghc-vector" ,ghc-vector)
679 ("ghc-xml-conduit" ,ghc-xml-conduit)))
680 (native-inputs
681 `(("ghc-quickcheck" ,ghc-quickcheck)
682 ("ghc-errors" ,ghc-errors)
683 ("ghc-http-client" ,ghc-http-client)
684 ("ghc-http-client-tls" ,ghc-http-client-tls)
685 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
686 ("ghc-tasty" ,ghc-tasty)
687 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
688 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
689 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
690 (home-page "https://github.com/aristidb/aws")
691 (synopsis "Amazon Web Services for Haskell")
692 (description "This package attempts to provide support for using
693Amazon Web Services like S3 (storage), SQS (queuing) and others to
694Haskell programmers. The ultimate goal is to support all Amazon
695Web Services.")
696 (license license:bsd-3)))
697
698(define-public ghc-base16-bytestring
699 (package
700 (name "ghc-base16-bytestring")
701 (version "0.1.1.6")
702 (source
703 (origin
704 (method url-fetch)
705 (uri (string-append
706 "https://hackage.haskell.org/package/base16-bytestring/"
707 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
708 (sha256
709 (base32
dddbc90c 710 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 711 (build-system haskell-build-system)
dddbc90c
RV
712 (home-page "https://github.com/bos/base16-bytestring")
713 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
714 (description
715 "This package provides a Haskell library for working with base16-encoded
716data quickly and efficiently, using the ByteString type.")
b57e99f5 717 (license license:bsd-3)))
bbf8bf31 718
dddbc90c 719(define-public ghc-base64-bytestring
bbf8bf31 720 (package
dddbc90c
RV
721 (name "ghc-base64-bytestring")
722 (version "1.0.0.2")
bbf8bf31
RV
723 (source
724 (origin
725 (method url-fetch)
dddbc90c
RV
726 (uri (string-append
727 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
728 version
729 ".tar.gz"))
730 (sha256
731 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
732 (build-system haskell-build-system)
733 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
734 (home-page "https://github.com/bos/base64-bytestring")
735 (synopsis "Base64 encoding and decoding for ByteStrings")
736 (description "This library provides fast base64 encoding and decoding for
737Haskell @code{ByteString}s.")
738 (license license:bsd-3)))
739
740(define-public ghc-base-compat
741 (package
742 (name "ghc-base-compat")
4daaa371 743 (version "0.10.5")
dddbc90c
RV
744 (source
745 (origin
746 (method url-fetch)
747 (uri (string-append
748 "https://hackage.haskell.org/package/base-compat/base-compat-"
749 version
750 ".tar.gz"))
bbf8bf31
RV
751 (sha256
752 (base32
4daaa371 753 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
754 (build-system haskell-build-system)
755 (native-inputs
dddbc90c
RV
756 `(("ghc-quickcheck" ,ghc-quickcheck)
757 ("ghc-hspec" ,ghc-hspec)
758 ("hspec-discover" ,hspec-discover)))
759 (home-page "https://hackage.haskell.org/package/base-compat")
760 (synopsis "Haskell compiler compatibility library")
761 (description "This library provides functions available in later versions
762of base to a wider range of compilers, without requiring the use of CPP
763pragmas in your code.")
764 (license license:bsd-3)))
765
f9d78c7f
TS
766(define-public ghc-base-compat-batteries
767 (package
768 (name "ghc-base-compat-batteries")
769 (version "0.10.5")
770 (source
771 (origin
772 (method url-fetch)
773 (uri (string-append "https://hackage.haskell.org/package/"
774 "base-compat-batteries/base-compat-batteries-"
775 version ".tar.gz"))
776 (sha256
777 (base32
778 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
779 (build-system haskell-build-system)
780 (inputs
781 `(("ghc-base-compat" ,ghc-base-compat)))
782 (native-inputs
783 `(("ghc-hspec" ,ghc-hspec)
784 ("ghc-quickcheck" ,ghc-quickcheck)
785 ("hspec-discover" ,hspec-discover)))
786 (arguments
787 `(#:cabal-revision
788 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
789 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
790 (synopsis "base-compat with extra batteries")
791 (description "This library provides functions available in later
792versions of @code{base} to a wider range of compilers, without requiring
793you to use CPP pragmas in your code. This package provides the same API
794as the @code{base-compat} library, but depends on compatibility
795packages (such as @code{semigroups}) to offer a wider support window
796than @code{base-compat}, which has no dependencies.")
797 (license license:expat)))
798
dddbc90c
RV
799(define-public ghc-basement
800 (package
801 (name "ghc-basement")
8b56c1fd 802 (version "0.0.11")
dddbc90c
RV
803 (source
804 (origin
805 (method url-fetch)
806 (uri (string-append "https://hackage.haskell.org/package/"
807 "basement/basement-" version ".tar.gz"))
808 (sha256
809 (base32
8b56c1fd 810 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
811 (build-system haskell-build-system)
812 (home-page "https://github.com/haskell-foundation/foundation")
813 (synopsis "Basic primitives for Foundation starter pack")
814 (description
815 "This package contains basic primitives for the Foundation set of
816packages.")
817 (license license:bsd-3)))
818
819(define-public ghc-base-orphans
820 (package
821 (name "ghc-base-orphans")
780477fb 822 (version "0.8.1")
dddbc90c
RV
823 (source
824 (origin
825 (method url-fetch)
826 (uri (string-append
827 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
828 version
829 ".tar.gz"))
830 (sha256
831 (base32
780477fb 832 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
833 (build-system haskell-build-system)
834 (native-inputs
835 `(("ghc-quickcheck" ,ghc-quickcheck)
836 ("ghc-hspec" ,ghc-hspec)
837 ("hspec-discover" ,hspec-discover)))
838 (home-page "https://hackage.haskell.org/package/base-orphans")
839 (synopsis "Orphan instances for backwards compatibility")
840 (description "This package defines orphan instances that mimic instances
841available in later versions of base to a wider (older) range of compilers.")
842 (license license:bsd-3)))
843
844(define-public ghc-base-prelude
845 (package
846 (name "ghc-base-prelude")
847 (version "1.3")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (string-append "https://hackage.haskell.org/package/"
852 "base-prelude-" version "/"
853 "base-prelude-" version ".tar.gz"))
854 (sha256
855 (base32
856 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
857 (build-system haskell-build-system)
858 (home-page "https://github.com/nikita-volkov/base-prelude")
859 (synopsis "The most complete prelude formed solely from the Haskell's base
860package")
861 (description "This Haskell package aims to reexport all the non-conflicting
862and most general definitions from the \"base\" package.
863
864This includes APIs for applicatives, arrows, monoids, foldables, traversables,
865exceptions, generics, ST, MVars and STM.
866
867This package will never have any dependencies other than \"base\".
868
869Versioning policy:
870
871The versioning policy of this package deviates from PVP in the sense
872that its exports in part are transitively determined by the version of \"base\".
873Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
874the bounds of \"base\" as well.")
875 (license license:expat)))
876
877(define-public ghc-base-unicode-symbols
878 (package
879 (name "ghc-base-unicode-symbols")
880 (version "0.2.3")
881 (source
882 (origin
883 (method url-fetch)
884 (uri (string-append
885 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
886 version
887 ".tar.gz"))
888 (sha256
889 (base32
890 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
891 (build-system haskell-build-system)
892 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
893 (synopsis "Unicode alternatives for common functions and operators")
894 (description "This package defines new symbols for a number of functions,
895operators and types in the base package. All symbols are documented with
896their actual definition and information regarding their Unicode code point.
897They should be completely interchangeable with their definitions. For
898further Unicode goodness you can enable the @code{UnicodeSyntax}
899@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
900language extension}. This extension enables Unicode characters to be used to
901stand for certain ASCII character sequences, i.e. → instead of @code{->},
902∀ instead of @code{forall} and many others.")
903 (license license:bsd-3)))
904
905(define-public ghc-bifunctors
906 (package
907 (name "ghc-bifunctors")
0beaec66 908 (version "5.5.5")
dddbc90c
RV
909 (source
910 (origin
911 (method url-fetch)
912 (uri (string-append
913 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
914 version
915 ".tar.gz"))
916 (sha256
917 (base32
0beaec66 918 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
919 (build-system haskell-build-system)
920 (inputs
921 `(("ghc-base-orphans" ,ghc-base-orphans)
922 ("ghc-comonad" ,ghc-comonad)
923 ("ghc-th-abstraction" ,ghc-th-abstraction)
924 ("ghc-transformers-compat" ,ghc-transformers-compat)
925 ("ghc-tagged" ,ghc-tagged)
926 ("ghc-semigroups" ,ghc-semigroups)))
927 (native-inputs
928 `(("ghc-hspec" ,ghc-hspec)
929 ("hspec-discover" ,hspec-discover)
930 ("ghc-quickcheck" ,ghc-quickcheck)))
931 (home-page "https://github.com/ekmett/bifunctors/")
932 (synopsis "Bifunctors for Haskell")
933 (description "This package provides bifunctors for Haskell.")
934 (license license:bsd-3)))
935
936(define-public ghc-bindings-dsl
937 (package
938 (name "ghc-bindings-dsl")
939 (version "1.0.25")
940 (source
941 (origin
942 (method url-fetch)
943 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
944 "bindings-DSL-" version ".tar.gz"))
945 (sha256
946 (base32
947 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
948 (build-system haskell-build-system)
949 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
950 (synopsis "FFI domain specific language, on top of hsc2hs")
951 (description
952 "This is a set of macros to be used when writing Haskell FFI. They were
953designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
954extract from them all Haskell code needed to mimic such interfaces. All
955Haskell names used are automatically derived from C names, structures are
956mapped to Haskell instances of @code{Storable}, and there are also macros you
957can use with C code to help write bindings to inline functions or macro
958functions.")
959 (license license:bsd-3)))
960
64f42786
TS
961(define-public ghc-bitarray
962 (package
963 (name "ghc-bitarray")
964 (version "0.0.1.1")
965 (source
966 (origin
967 (method url-fetch)
968 (uri (string-append "https://hackage.haskell.org/package/"
969 "bitarray/bitarray-" version ".tar.gz"))
970 (sha256
971 (base32
972 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
973 (build-system haskell-build-system)
974 (arguments
975 `(#:cabal-revision
976 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
977 (home-page "https://hackage.haskell.org/package/bitarray")
978 (synopsis "Mutable and immutable bit arrays")
979 (description "The package provides mutable and immutable bit arrays.")
980 (license license:bsd-3)))
981
dddbc90c
RV
982(define-public ghc-blaze-builder
983 (package
984 (name "ghc-blaze-builder")
985 (version "0.4.1.0")
986 (source
987 (origin
988 (method url-fetch)
989 (uri (string-append
990 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
991 version
992 ".tar.gz"))
993 (sha256
994 (base32
995 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
996 (build-system haskell-build-system)
997 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
998 (inputs
999 `(("ghc-utf8-string" ,ghc-utf8-string)))
1000 (home-page "https://github.com/lpsmith/blaze-builder")
1001 (synopsis "Efficient buffered output")
1002 (description "This library provides an implementation of the older
1003@code{blaze-builder} interface in terms of the new builder that shipped with
1004@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1005bridge to the new builder, so that code that uses the old interface can
1006interoperate with code that uses the new implementation.")
1007 (license license:bsd-3)))
1008
1009(define-public ghc-blaze-markup
1010 (package
1011 (name "ghc-blaze-markup")
7d30fcf3 1012 (version "0.8.2.3")
dddbc90c
RV
1013 (source
1014 (origin
1015 (method url-fetch)
1016 (uri (string-append "https://hackage.haskell.org/package/"
1017 "blaze-markup/blaze-markup-"
1018 version ".tar.gz"))
1019 (sha256
1020 (base32
7d30fcf3 1021 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1022 (build-system haskell-build-system)
1023 (arguments
1024 `(#:phases
1025 (modify-phases %standard-phases
1026 (add-before 'configure 'update-constraints
1027 (lambda _
1028 (substitute* "blaze-markup.cabal"
1029 (("tasty >= 1\\.0 && < 1\\.1")
1030 "tasty >= 1.0 && < 1.2")))))))
1031 (inputs
1032 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1033 (native-inputs
1034 `(("ghc-hunit" ,ghc-hunit)
1035 ("ghc-quickcheck" ,ghc-quickcheck)
1036 ("ghc-tasty" ,ghc-tasty)
1037 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1038 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1039 (home-page "https://jaspervdj.be/blaze")
1040 (synopsis "Fast markup combinator library for Haskell")
1041 (description "This library provides core modules of a markup combinator
1042library for Haskell.")
1043 (license license:bsd-3)))
1044
1045(define-public ghc-bloomfilter
1046 (package
1047 (name "ghc-bloomfilter")
1048 (version "2.0.1.0")
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append "https://hackage.haskell.org/package/"
1053 "bloomfilter/bloomfilter-" version ".tar.gz"))
1054 (sha256
1055 (base32
1056 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1057 (build-system haskell-build-system)
1058 (native-inputs
1059 `(("ghc-quickcheck" ,ghc-quickcheck)
1060 ("ghc-random" ,ghc-random)
1061 ("ghc-test-framework" ,ghc-test-framework)
1062 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1063 (home-page "https://github.com/bos/bloomfilter")
1064 (synopsis "Pure and impure Bloom filter implementations")
1065 (description "This package provides both mutable and immutable Bloom
1066filter data types, along with a family of hash functions and an easy-to-use
1067interface.")
1068 (license license:bsd-3)))
1069
1070(define-public ghc-boxes
1071 (package
1072 (name "ghc-boxes")
1073 (version "0.1.5")
1074 (source
1075 (origin
1076 (method url-fetch)
1077 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1078 version ".tar.gz"))
1079 (sha256
1080 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1081 (build-system haskell-build-system)
1082 (inputs
1083 `(("ghc-split" ,ghc-split)
1084 ("ghc-quickcheck" ,ghc-quickcheck)))
1085 (home-page "https://hackage.haskell.org/package/boxes")
1086 (synopsis "2D text pretty-printing library")
1087 (description
1088 "Boxes is a pretty-printing library for laying out text in two dimensions,
1089using a simple box model.")
1090 (license license:bsd-3)))
1091
1092(define-public ghc-byteable
1093 (package
1094 (name "ghc-byteable")
1095 (version "0.1.1")
1096 (source (origin
1097 (method url-fetch)
1098 (uri (string-append "https://hackage.haskell.org/package/"
1099 "byteable/byteable-" version ".tar.gz"))
1100 (sha256
1101 (base32
1102 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1103 (build-system haskell-build-system)
1104 (home-page "https://github.com/vincenthz/hs-byteable")
1105 (synopsis "Type class for sequence of bytes")
1106 (description
1107 "This package provides an abstract class to manipulate sequence of bytes.
1108The use case of this class is abstracting manipulation of types that are just
1109wrapping a bytestring with stronger and more meaniful name.")
1110 (license license:bsd-3)))
1111
1112(define-public ghc-byteorder
1113 (package
1114 (name "ghc-byteorder")
1115 (version "1.0.4")
1116 (source
1117 (origin
1118 (method url-fetch)
1119 (uri (string-append
1120 "https://hackage.haskell.org/package/byteorder/byteorder-"
1121 version
1122 ".tar.gz"))
1123 (sha256
1124 (base32
1125 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1126 (build-system haskell-build-system)
1127 (home-page
1128 "http://community.haskell.org/~aslatter/code/byteorder")
1129 (synopsis
1130 "Exposes the native endianness of the system")
1131 (description
1132 "This package is for working with the native byte-ordering of the
1133system.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-bytes
1137 (package
1138 (name "ghc-bytes")
1139 (version "0.15.5")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri
1144 (string-append "https://hackage.haskell.org/package/bytes-"
1145 version "/bytes-"
1146 version ".tar.gz"))
1147 (file-name (string-append name "-" version ".tar.gz"))
1148 (sha256
1149 (base32
1150 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1151 (build-system haskell-build-system)
1152 (inputs `(("ghc-cereal" ,ghc-cereal)
1153 ("cabal-doctest" ,cabal-doctest)
1154 ("ghc-doctest" ,ghc-doctest)
1155 ("ghc-scientific" ,ghc-scientific)
1156 ("ghc-transformers-compat" ,ghc-transformers-compat)
1157 ("ghc-unordered-containers" ,ghc-unordered-containers)
1158 ("ghc-void" ,ghc-void)
1159 ("ghc-vector" ,ghc-vector)))
1160 (synopsis "Serialization between @code{binary} and @code{cereal}")
1161 (description "This package provides a simple compatibility shim that lets
1162you work with both @code{binary} and @code{cereal} with one chunk of
1163serialization code.")
1164 (home-page "https://hackage.haskell.org/package/bytes")
1165 (license license:bsd-3)))
1166
1167(define-public ghc-bytestring-builder
1168 (package
1169 (name "ghc-bytestring-builder")
13ac8a7f 1170 (version "0.10.8.2.0")
dddbc90c
RV
1171 (source
1172 (origin
1173 (method url-fetch)
1174 (uri (string-append
1175 "https://hackage.haskell.org/package/bytestring-builder"
1176 "/bytestring-builder-" version ".tar.gz"))
1177 (sha256
1178 (base32
13ac8a7f 1179 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1180 (build-system haskell-build-system)
1181 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1182 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1183 (synopsis "The new bytestring builder, packaged outside of GHC")
1184 (description "This package provides the bytestring builder that is
1185debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1186Compatibility package for older packages.")
1187 (license license:bsd-3)))
1188
1189(define-public ghc-bytestring-handle
1190 (package
1191 (name "ghc-bytestring-handle")
1192 (version "0.1.0.6")
1193 (source
1194 (origin
1195 (method url-fetch)
1196 (uri (string-append
1197 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1198 version ".tar.gz"))
1199 (sha256
1200 (base32
1201 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1202 (build-system haskell-build-system)
1203 (arguments
853748c4
TS
1204 `(#:cabal-revision
1205 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1206 #:phases
dddbc90c
RV
1207 (modify-phases %standard-phases
1208 (add-before 'configure 'update-constraints
1209 (lambda _
1210 (substitute* "bytestring-handle.cabal"
1211 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1212 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1213 (inputs
1214 `(("ghc-hunit" ,ghc-hunit)
1215 ("ghc-quickcheck" ,ghc-quickcheck)
1216 ("ghc-test-framework" ,ghc-test-framework)
1217 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1218 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1219 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1220 (synopsis "ByteString-backed Handles")
1221 (description "ByteString-backed Handles") ; There is no description
1222 (license license:bsd-3)))
1223
1224(define-public ghc-bytestring-lexing
1225 (package
1226 (name "ghc-bytestring-lexing")
1227 (version "0.5.0.2")
1228 (source
1229 (origin
1230 (method url-fetch)
1231 (uri (string-append "https://hackage.haskell.org/package/"
1232 "bytestring-lexing/bytestring-lexing-"
1233 version ".tar.gz"))
1234 (sha256
1235 (base32
1236 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1237 (build-system haskell-build-system)
1238 (home-page "http://code.haskell.org/~wren/")
1239 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1240 (description
1241 "This package provides tools to parse and produce literals efficiently
1242from strict or lazy bytestrings.")
1243 (license license:bsd-2)))
1244
1245(define-public ghc-bzlib-conduit
1246 (package
1247 (name "ghc-bzlib-conduit")
5fba8d6d 1248 (version "0.3.0.2")
dddbc90c
RV
1249 (source
1250 (origin
1251 (method url-fetch)
1252 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1253 "bzlib-conduit-" version ".tar.gz"))
1254 (sha256
1255 (base32
5fba8d6d 1256 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1257 (build-system haskell-build-system)
1258 (inputs
1259 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1260 ("ghc-conduit" ,ghc-conduit)
1261 ("ghc-data-default-class" ,ghc-data-default-class)
1262 ("ghc-resourcet" ,ghc-resourcet)))
1263 (native-inputs
1264 `(("ghc-hspec" ,ghc-hspec)
1265 ("ghc-random" ,ghc-random)))
1266 (home-page "https://github.com/snoyberg/bzlib-conduit")
1267 (synopsis "Streaming compression/decompression via conduits")
1268 (description
1269 "This package provides Haskell bindings to bzlib and Conduit support for
1270streaming compression and decompression.")
1271 (license license:bsd-3)))
1272
1273(define-public ghc-c2hs
1274 (package
1275 (name "ghc-c2hs")
1276 (version "0.28.6")
1277 (source
1278 (origin
1279 (method url-fetch)
1280 (uri (string-append
1281 "https://hackage.haskell.org/package/c2hs/c2hs-"
1282 version
1283 ".tar.gz"))
1284 (sha256
1285 (base32
1286 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1287 (build-system haskell-build-system)
1288 (inputs
1289 `(("ghc-language-c" ,ghc-language-c)
1290 ("ghc-dlist" ,ghc-dlist)))
1291 (native-inputs
1292 `(("ghc-test-framework" ,ghc-test-framework)
1293 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1294 ("ghc-hunit" ,ghc-hunit)
1295 ("ghc-shelly" ,ghc-shelly)
1296 ("gcc" ,gcc)))
1297 (arguments
1298 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1299 ;; of glibc 2.28.
1300 #:tests? #f
1301
1302 #:phases
1303 (modify-phases %standard-phases
1304 (add-before 'check 'set-cc
1305 ;; add a cc executable in the path, needed for some tests to pass
1306 (lambda* (#:key inputs #:allow-other-keys)
1307 (let ((gcc (assoc-ref inputs "gcc"))
1308 (tmpbin (tmpnam))
1309 (curpath (getenv "PATH")))
1310 (mkdir-p tmpbin)
1311 (symlink (which "gcc") (string-append tmpbin "/cc"))
1312 (setenv "PATH" (string-append tmpbin ":" curpath)))
1313 #t))
1314 (add-after 'check 'remove-cc
1315 ;; clean the tmp dir made in 'set-cc
1316 (lambda _
1317 (let* ((cc-path (which "cc"))
1318 (cc-dir (dirname cc-path)))
1319 (delete-file-recursively cc-dir)
1320 #t))))))
1321 (home-page "https://github.com/haskell/c2hs")
1322 (synopsis "Create Haskell bindings to C libraries")
1323 (description "C->Haskell assists in the development of Haskell bindings to
1324C libraries. It extracts interface information from C header files and
1325generates Haskell code with foreign imports and marshaling. Unlike writing
1326foreign imports by hand (or using hsc2hs), this ensures that C functions are
1327imported with the correct Haskell types.")
1328 (license license:gpl2)))
1329
1330(define-public ghc-cairo
1331 (package
1332 (name "ghc-cairo")
1333 (version "0.13.5.0")
1334 (source
1335 (origin
1336 (method url-fetch)
1337 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1338 "cairo-" version ".tar.gz"))
1339 (sha256
1340 (base32
1341 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1342 (build-system haskell-build-system)
1343 (arguments
1344 `(#:modules ((guix build haskell-build-system)
1345 (guix build utils)
1346 (ice-9 match)
1347 (srfi srfi-26))
1348 #:phases
1349 (modify-phases %standard-phases
1350 ;; FIXME: This is a copy of the standard configure phase with a tiny
1351 ;; difference: this package needs the -package-db flag to be passed
1352 ;; to "runhaskell" in addition to the "configure" action, because it
1353 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1354 ;; this option the Setup.hs file cannot be evaluated. The
1355 ;; haskell-build-system should be changed to pass "-package-db" to
1356 ;; "runhaskell" in any case.
1357 (replace 'configure
1358 (lambda* (#:key outputs inputs tests? (configure-flags '())
1359 #:allow-other-keys)
1360 (let* ((out (assoc-ref outputs "out"))
1361 (name-version (strip-store-file-name out))
1362 (input-dirs (match inputs
1363 (((_ . dir) ...)
1364 dir)
1365 (_ '())))
1366 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1367 (params (append `(,(string-append "--prefix=" out))
1368 `(,(string-append "--libdir=" out "/lib"))
1369 `(,(string-append "--bindir=" out "/bin"))
1370 `(,(string-append
1371 "--docdir=" out
1372 "/share/doc/" name-version))
1373 '("--libsubdir=$compiler/$pkg-$version")
1374 '("--package-db=../package.conf.d")
1375 '("--global")
1376 `(,@(map
1377 (cut string-append "--extra-include-dirs=" <>)
1378 (search-path-as-list '("include") input-dirs)))
1379 `(,@(map
1380 (cut string-append "--extra-lib-dirs=" <>)
1381 (search-path-as-list '("lib") input-dirs)))
1382 (if tests?
1383 '("--enable-tests")
1384 '())
1385 configure-flags)))
1386 (unsetenv "GHC_PACKAGE_PATH")
1387 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1388 "Setup.hs" "configure" params)
1389 (setenv "GHC_PACKAGE_PATH" ghc-path)
1390 #t))))))
1391 (inputs
1392 `(("ghc-utf8-string" ,ghc-utf8-string)
1393 ("cairo" ,cairo)))
1394 (native-inputs
1395 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1396 ("pkg-config" ,pkg-config)))
1397 (home-page "http://projects.haskell.org/gtk2hs/")
1398 (synopsis "Haskell bindings to the Cairo vector graphics library")
1399 (description
1400 "Cairo is a library to render high quality vector graphics. There exist
1401various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1402documents, amongst others.")
1403 (license license:bsd-3)))
1404
1405(define-public ghc-call-stack
1406 (package
1407 (name "ghc-call-stack")
1408 (version "0.1.0")
1409 (source
1410 (origin
1411 (method url-fetch)
1412 (uri (string-append "https://hackage.haskell.org/package/"
1413 "call-stack/call-stack-"
1414 version ".tar.gz"))
1415 (sha256
1416 (base32
1417 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1418 (build-system haskell-build-system)
1419 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1420 (home-page "https://github.com/sol/call-stack#readme")
1421 (synopsis "Use GHC call-stacks in a backward compatible way")
1422 (description "This package provides a compatibility layer for using GHC
1423call stacks with different versions of the compiler.")
1424 (license license:expat)))
1425
1426;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1427;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1428(define-public ghc-call-stack-boot
1429 (hidden-package
1430 (package
1431 (inherit ghc-call-stack)
1432 (arguments '(#:tests? #f))
1433 (inputs '()))))
1434
1435(define-public ghc-case-insensitive
1436 (package
1437 (name "ghc-case-insensitive")
1438 (version "1.2.0.11")
1439 (outputs '("out" "doc"))
1440 (source
1441 (origin
1442 (method url-fetch)
1443 (uri (string-append
1444 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1445 version
1446 ".tar.gz"))
1447 (sha256
1448 (base32
1449 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1450 (build-system haskell-build-system)
1451 ;; these inputs are necessary to use this library
1452 (inputs
1453 `(("ghc-hashable" ,ghc-hashable)))
1454 (arguments
1455 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1456 (home-page
1457 "https://github.com/basvandijk/case-insensitive")
1458 (synopsis "Case insensitive string comparison")
1459 (description
1460 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1461constructor which can be parameterised by a string-like type like:
1462@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1463the resulting type will be insensitive to cases.")
1464 (license license:bsd-3)))
1465
1466(define-public ghc-cereal
1467 (package
1468 (name "ghc-cereal")
bd95427e 1469 (version "0.5.8.1")
dddbc90c
RV
1470 (source
1471 (origin
1472 (method url-fetch)
1473 (uri (string-append
1474 "https://hackage.haskell.org/package/cereal/cereal-"
1475 version
1476 ".tar.gz"))
1477 (sha256
1478 (base32
bd95427e 1479 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1480 (build-system haskell-build-system)
1481 (native-inputs
1482 `(("ghc-quickcheck" ,ghc-quickcheck)
1483 ("ghc-fail" ,ghc-fail)
1484 ("ghc-test-framework" ,ghc-test-framework)
1485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1486 (home-page "https://hackage.haskell.org/package/cereal")
1487 (synopsis "Binary serialization library")
1488 (description "This package provides a binary serialization library,
1489similar to @code{binary}, that introduces an @code{isolate} primitive for
1490parser isolation, and labeled blocks for better error messages.")
1491 (license license:bsd-3)))
1492
1493(define-public ghc-cereal-conduit
1494 (package
1495 (name "ghc-cereal-conduit")
1496 (version "0.8.0")
1497 (source
1498 (origin
1499 (method url-fetch)
1500 (uri (string-append "https://hackage.haskell.org/package/"
1501 "cereal-conduit/cereal-conduit-"
1502 version ".tar.gz"))
1503 (sha256
1504 (base32
1505 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1506 (build-system haskell-build-system)
1507 (inputs
1508 `(("ghc-conduit" ,ghc-conduit)
1509 ("ghc-resourcet" ,ghc-resourcet)
1510 ("ghc-cereal" ,ghc-cereal)))
1511 (native-inputs
1512 `(("ghc-hunit" ,ghc-hunit)))
1513 (home-page "https://github.com/snoyberg/conduit")
1514 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1515 (description
1516 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1517@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1518 (license license:bsd-3)))
1519
1520(define-public ghc-cgi
1521 (package
1522 (name "ghc-cgi")
b6b2c218 1523 (version "3001.4.0.0")
dddbc90c
RV
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append
1528 "https://hackage.haskell.org/package/cgi/cgi-"
1529 version
1530 ".tar.gz"))
1531 (sha256
1532 (base32
b6b2c218 1533 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1534 (build-system haskell-build-system)
dddbc90c
RV
1535 (inputs
1536 `(("ghc-exceptions" ,ghc-exceptions)
1537 ("ghc-multipart" ,ghc-multipart)
1538 ("ghc-network-uri" ,ghc-network-uri)
1539 ("ghc-network" ,ghc-network)))
1540 (native-inputs
1541 `(("ghc-doctest" ,ghc-doctest)
1542 ("ghc-quickcheck" ,ghc-quickcheck)))
1543 (home-page
1544 "https://github.com/cheecheeo/haskell-cgi")
1545 (synopsis "Library for writing CGI programs")
1546 (description
1547 "This is a Haskell library for writing CGI programs.")
1548 (license license:bsd-3)))
1549
1550(define-public ghc-charset
1551 (package
1552 (name "ghc-charset")
1553 (version "0.3.7.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/charset/charset-"
1559 version
1560 ".tar.gz"))
1561 (sha256
1562 (base32
1563 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1564 (build-system haskell-build-system)
35ee173c
TS
1565 (arguments
1566 `(#:cabal-revision
1567 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1568 (inputs
1569 `(("ghc-semigroups" ,ghc-semigroups)
1570 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1571 (home-page "https://github.com/ekmett/charset")
1572 (synopsis "Fast unicode character sets for Haskell")
1573 (description "This package provides fast unicode character sets for
1574Haskell, based on complemented PATRICIA tries.")
1575 (license license:bsd-3)))
1576
1577(define-public ghc-chart
1578 (package
1579 (name "ghc-chart")
6cd84b98 1580 (version "1.9.1")
dddbc90c
RV
1581 (source
1582 (origin
1583 (method url-fetch)
1584 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1585 "Chart-" version ".tar.gz"))
1586 (sha256
1587 (base32
6cd84b98 1588 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1589 (build-system haskell-build-system)
1590 (inputs
1591 `(("ghc-old-locale" ,ghc-old-locale)
1592 ("ghc-lens" ,ghc-lens)
1593 ("ghc-colour" ,ghc-colour)
1594 ("ghc-data-default-class" ,ghc-data-default-class)
1595 ("ghc-operational" ,ghc-operational)
1596 ("ghc-vector" ,ghc-vector)))
1597 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1598 (synopsis "Library for generating 2D charts and plots")
1599 (description
1600 "This package provides a library for generating 2D charts and plots, with
1601backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1602 (license license:bsd-3)))
1603
1604(define-public ghc-chart-cairo
1605 (package
1606 (name "ghc-chart-cairo")
5cf9264d 1607 (version "1.9.1")
dddbc90c
RV
1608 (source
1609 (origin
1610 (method url-fetch)
1611 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1612 "Chart-cairo-" version ".tar.gz"))
1613 (sha256
1614 (base32
5cf9264d 1615 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1616 (build-system haskell-build-system)
1617 (inputs
1618 `(("ghc-old-locale" ,ghc-old-locale)
1619 ("ghc-cairo" ,ghc-cairo)
1620 ("ghc-colour" ,ghc-colour)
1621 ("ghc-data-default-class" ,ghc-data-default-class)
1622 ("ghc-operational" ,ghc-operational)
1623 ("ghc-lens" ,ghc-lens)
1624 ("ghc-chart" ,ghc-chart)))
1625 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1626 (synopsis "Cairo backend for Charts")
1627 (description "This package provides a Cairo vector graphics rendering
1628backend for the Charts library.")
1629 (license license:bsd-3)))
1630
1631(define-public ghc-chasingbottoms
1632 (package
1633 (name "ghc-chasingbottoms")
1f67853e 1634 (version "1.3.1.7")
dddbc90c
RV
1635 (source
1636 (origin
1637 (method url-fetch)
1638 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1639 "ChasingBottoms-" version ".tar.gz"))
1640 (sha256
1641 (base32
1f67853e 1642 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1643 (build-system haskell-build-system)
1644 (inputs
1645 `(("ghc-quickcheck" ,ghc-quickcheck)
1646 ("ghc-random" ,ghc-random)
1647 ("ghc-syb" ,ghc-syb)))
1648 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1649 (synopsis "Testing of partial and infinite values in Haskell")
1650 (description
1651 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1652 ;; rendered properly.
1653 "This is a library for testing code involving bottoms or infinite values.
1654For the underlying theory and a larger example involving use of QuickCheck,
1655see the article
1656@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1657\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1658Partial and Infinite Values\"}.")
1659 (license license:expat)))
1660
1661(define-public ghc-cheapskate
1662 (package
1663 (name "ghc-cheapskate")
5e18bb9e 1664 (version "0.1.1.1")
dddbc90c
RV
1665 (source
1666 (origin
1667 (method url-fetch)
1668 (uri (string-append
1669 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1670 version
1671 ".tar.gz"))
1672 (sha256
1673 (base32
5e18bb9e 1674 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1675 (build-system haskell-build-system)
1676 (inputs
1677 `(("ghc-blaze-html" ,ghc-blaze-html)
1678 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1679 ("ghc-data-default" ,ghc-data-default)
1680 ("ghc-syb" ,ghc-syb)
1681 ("ghc-uniplate" ,ghc-uniplate)))
1682 (home-page "https://github.com/jgm/cheapskate")
1683 (synopsis "Experimental markdown processor")
1684 (description "Cheapskate is an experimental Markdown processor in pure
1685Haskell. It aims to process Markdown efficiently and in the most forgiving
1686possible way. It is designed to deal with any input, including garbage, with
1687linear performance. Output is sanitized by default for protection against
1688cross-site scripting (@dfn{XSS}) attacks.")
1689 (license license:bsd-3)))
1690
1691(define-public ghc-chell
1692 (package
1693 (name "ghc-chell")
acdd03be 1694 (version "0.5")
dddbc90c
RV
1695 (source
1696 (origin
1697 (method url-fetch)
1698 (uri (string-append
1699 "https://hackage.haskell.org/package/chell/chell-"
1700 version ".tar.gz"))
1701 (sha256
1702 (base32
acdd03be 1703 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1704 (build-system haskell-build-system)
acdd03be
TS
1705 (arguments
1706 `(#:cabal-revision
1707 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1708 (inputs
1709 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1710 ("ghc-patience" ,ghc-patience)
1711 ("ghc-random" ,ghc-random)
1712 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1713 (home-page "https://john-millikin.com/software/chell/")
1714 (synopsis "Simple and intuitive library for automated testing")
1715 (description
1716 "Chell is a simple and intuitive library for automated testing.
1717It natively supports assertion-based testing, and can use companion
1718libraries such as @code{chell-quickcheck} to support more complex
1719testing strategies.")
1720 (license license:expat)))
1721
1722(define-public ghc-chell-quickcheck
1723 (package
1724 (name "ghc-chell-quickcheck")
e0e21831 1725 (version "0.2.5.2")
dddbc90c
RV
1726 (source
1727 (origin
1728 (method url-fetch)
1729 (uri (string-append
1730 "https://hackage.haskell.org/package/chell-quickcheck/"
1731 "chell-quickcheck-" version ".tar.gz"))
1732 (sha256
1733 (base32
e0e21831 1734 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1735 (build-system haskell-build-system)
1736 (arguments
1737 `(#:phases
1738 (modify-phases %standard-phases
1739 (add-before 'configure 'update-constraints
1740 (lambda _
1741 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1742 (("QuickCheck >= 2\\.3 && < 2\\.13")
1743 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1744 (inputs
1745 `(("ghc-chell" ,ghc-chell)
1746 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1747 ("ghc-random" ,ghc-random)
1748 ("ghc-quickcheck" ,ghc-quickcheck)))
1749 (home-page "https://john-millikin.com/software/chell/")
1750 (synopsis "QuickCheck support for the Chell testing library")
1751 (description "More complex tests for @code{chell}.")
1752 (license license:expat)))
1753
1754(define ghc-chell-quickcheck-bootstrap
1755 (package
1756 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1757 (version "0.2.5.2")
dddbc90c
RV
1758 (source
1759 (origin
1760 (method url-fetch)
1761 (uri (string-append
1762 "https://hackage.haskell.org/package/chell-quickcheck/"
1763 "chell-quickcheck-" version ".tar.gz"))
1764 (sha256
1765 (base32
e0e21831 1766 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1767 (build-system haskell-build-system)
1768 (inputs
1769 `(("ghc-chell" ,ghc-chell)
1770 ("ghc-random" ,ghc-random)
1771 ("ghc-quickcheck" ,ghc-quickcheck)))
1772 (arguments
1773 `(#:tests? #f
1774 #:phases
1775 (modify-phases %standard-phases
1776 (add-before 'configure 'update-constraints
1777 (lambda _
1778 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1779 (("QuickCheck >= 2\\.3 && < 2\\.13")
1780 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1781 (home-page "https://john-millikin.com/software/chell/")
1782 (synopsis "QuickCheck support for the Chell testing library")
1783 (description "More complex tests for @code{chell}.")
1784 (license license:expat)))
1785
1786(define-public ghc-chunked-data
1787 (package
1788 (name "ghc-chunked-data")
1789 (version "0.3.1")
1790 (source
1791 (origin
1792 (method url-fetch)
1793 (uri (string-append "https://hackage.haskell.org/package/"
1794 "chunked-data-" version "/"
1795 "chunked-data-" version ".tar.gz"))
1796 (sha256
1797 (base32
1798 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1799 (build-system haskell-build-system)
1800 (inputs `(("ghc-vector" ,ghc-vector)
1801 ("ghc-semigroups" ,ghc-semigroups)))
1802 (home-page "https://github.com/snoyberg/mono-traversable")
1803 (synopsis "Typeclasses for dealing with various chunked data
1804representations for Haskell")
1805 (description "This Haskell package was originally present in
1806classy-prelude.")
1807 (license license:expat)))
1808
1809(define-public ghc-clock
1810 (package
1811 (name "ghc-clock")
0841b6f2 1812 (version "0.8")
dddbc90c
RV
1813 (source
1814 (origin
1815 (method url-fetch)
1816 (uri (string-append
1817 "https://hackage.haskell.org/package/"
1818 "clock/"
1819 "clock-" version ".tar.gz"))
1820 (sha256
0841b6f2 1821 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1822 (build-system haskell-build-system)
1823 (inputs
1824 `(("ghc-tasty" ,ghc-tasty)
1825 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1826 (home-page "https://hackage.haskell.org/package/clock")
1827 (synopsis "High-resolution clock for Haskell")
1828 (description "A package for convenient access to high-resolution clock and
1829timer functions of different operating systems via a unified API.")
1830 (license license:bsd-3)))
1831
1832;; This package builds `clock` without tests, since the tests rely on tasty
1833;; and tasty-quickcheck, which in turn require clock to build.
1834(define-public ghc-clock-bootstrap
1835 (package
1836 (inherit ghc-clock)
1837 (name "ghc-clock-bootstrap")
1838 (arguments '(#:tests? #f))
1839 (inputs '())
1840 (properties '((hidden? #t)))))
1841
1842(define-public ghc-cmark
1843 (package
1844 (name "ghc-cmark")
6bdd36c0 1845 (version "0.6")
dddbc90c
RV
1846 (source (origin
1847 (method url-fetch)
6bdd36c0 1848 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1849 ;; See cbits/cmark_version.h.
1850 (uri (string-append "https://hackage.haskell.org/package/"
1851 "cmark/cmark-" version ".tar.gz"))
1852 (sha256
1853 (base32
6bdd36c0 1854 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1855 (build-system haskell-build-system)
1856 (native-inputs
1857 `(("ghc-hunit" ,ghc-hunit)))
1858 (home-page "https://github.com/jgm/commonmark-hs")
1859 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1860 (description
1861 "This package provides Haskell bindings for
1862@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1863CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1864sources, and does not require prior installation of the C library.")
1865 (license license:bsd-3)))
1866
1867(define-public ghc-cmark-gfm
1868 (package
1869 (name "ghc-cmark-gfm")
24fc8dae 1870 (version "0.2.0")
dddbc90c
RV
1871 (source
1872 (origin
1873 (method url-fetch)
1874 (uri (string-append "https://hackage.haskell.org/package/"
1875 "cmark-gfm/cmark-gfm-"
1876 version ".tar.gz"))
1877 (sha256
1878 (base32
24fc8dae 1879 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1880 (build-system haskell-build-system)
1881 (native-inputs
1882 `(("ghc-hunit" ,ghc-hunit)))
1883 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1884 (synopsis
1885 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1886 (description
1887 "This package provides Haskell bindings for libcmark-gfm, the reference
1888parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1889It includes sources for libcmark-gfm and does not require prior installation
1890of the C library.")
1891 (license license:bsd-3)))
1892
1893(define-public ghc-cmdargs
1894 (package
1895 (name "ghc-cmdargs")
1896 (version "0.10.20")
1897 (source
1898 (origin
1899 (method url-fetch)
1900 (uri (string-append
1901 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1902 version ".tar.gz"))
1903 (sha256
1904 (base32
1905 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1906 (build-system haskell-build-system)
1907 (home-page
1908 "http://community.haskell.org/~ndm/cmdargs/")
1909 (synopsis "Command line argument processing")
1910 (description
1911 "This library provides an easy way to define command line parsers.")
1912 (license license:bsd-3)))
1913
1914(define-public ghc-code-page
1915 (package
1916 (name "ghc-code-page")
f6bb6519 1917 (version "0.2")
dddbc90c
RV
1918 (source
1919 (origin
1920 (method url-fetch)
1921 (uri (string-append
1922 "https://hackage.haskell.org/package/code-page/code-page-"
1923 version ".tar.gz"))
1924 (sha256
1925 (base32
f6bb6519 1926 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1927 (build-system haskell-build-system)
1928 (home-page "https://github.com/RyanGlScott/code-page")
1929 (synopsis "Windows code page library for Haskell")
1930 (description "A cross-platform library with functions for adjusting
1931code pages on Windows. On all other operating systems, the library does
1932nothing.")
1933 (license license:bsd-3)))
1934
1935(define-public ghc-colour
1936(package
1937 (name "ghc-colour")
bc9d1af9 1938 (version "2.3.5")
dddbc90c
RV
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append
1943 "https://hackage.haskell.org/package/colour/colour-"
1944 version ".tar.gz"))
1945 (sha256
1946 (base32
bc9d1af9 1947 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1948 (arguments
1949 ;; The tests for this package have the following dependency cycle:
1950 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1951 `(#:tests? #f))
1952 (build-system haskell-build-system)
1953 (home-page "https://www.haskell.org/haskellwiki/Colour")
1954 (synopsis "Model for human colour perception")
1955 (description
1956 "This package provides a data type for colours and transparency.
1957Colours can be blended and composed. Various colour spaces are
1958supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1959 (license license:expat)))
1960
1961(define-public ghc-comonad
1962 (package
1963 (name "ghc-comonad")
1a825512 1964 (version "5.0.5")
dddbc90c
RV
1965 (source
1966 (origin
1967 (method url-fetch)
1968 (uri (string-append
1969 "https://hackage.haskell.org/package/comonad/comonad-"
1970 version
1971 ".tar.gz"))
1972 (sha256
1973 (base32
1a825512 1974 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1975 (build-system haskell-build-system)
1976 (native-inputs
1977 `(("cabal-doctest" ,cabal-doctest)
1978 ("ghc-doctest" ,ghc-doctest)))
1979 (inputs
1980 `(("ghc-contravariant" ,ghc-contravariant)
1981 ("ghc-distributive" ,ghc-distributive)
1982 ("ghc-semigroups" ,ghc-semigroups)
1983 ("ghc-tagged" ,ghc-tagged)
1984 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1985 (home-page "https://github.com/ekmett/comonad/")
1986 (synopsis "Comonads for Haskell")
1987 (description "This library provides @code{Comonad}s for Haskell.")
1988 (license license:bsd-3)))
1989
1990(define-public ghc-concatenative
1991 (package
1992 (name "ghc-concatenative")
1993 (version "1.0.1")
1994 (source (origin
1995 (method url-fetch)
1996 (uri (string-append
1997 "https://hackage.haskell.org/package/concatenative/concatenative-"
1998 version ".tar.gz"))
1999 (sha256
2000 (base32
2001 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2002 (build-system haskell-build-system)
2003 (home-page
2004 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2005 (synopsis "Library for postfix control flow")
2006 (description
2007 "Concatenative gives Haskell Factor-style combinators and arrows for
2008postfix notation. For more information on stack based languages, see
2009@uref{https://concatenative.org}.")
2010 (license license:bsd-3)))
2011
2012(define-public ghc-concurrent-extra
2013 (package
2014 (name "ghc-concurrent-extra")
2015 (version "0.7.0.12")
2016 (source
2017 (origin
2018 (method url-fetch)
2019 (uri (string-append "https://hackage.haskell.org/package/"
2020 "concurrent-extra/concurrent-extra-"
2021 version ".tar.gz"))
2022 (sha256
2023 (base32
2024 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2025 (build-system haskell-build-system)
2026 (arguments
2027 ;; XXX: The ReadWriteLock 'stressTest' fails.
2028 `(#:tests? #f))
2029 (inputs
2030 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2031 (native-inputs
2032 `(("ghc-async" ,ghc-async)
2033 ("ghc-hunit" ,ghc-hunit)
2034 ("ghc-random" ,ghc-random)
2035 ("ghc-test-framework" ,ghc-test-framework)
2036 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2037 (home-page "https://github.com/basvandijk/concurrent-extra")
2038 (synopsis "Extra concurrency primitives")
2039 (description "This Haskell library offers (among other things) the
2040following selection of synchronisation primitives:
2041
2042@itemize
2043@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2044@item @code{Event}: Wake multiple threads by signalling an event.
2045@item @code{Lock}: Enforce exclusive access to a resource. Also known
2046as a binary semaphore or mutex. The package additionally provides an
2047alternative that works in the STM monad.
2048@item @code{RLock}: A lock which can be acquired multiple times by the
2049same thread. Also known as a reentrant mutex.
2050@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2051to protect shared resources which may be concurrently read, but only
2052sequentially written.
2053@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2054@end itemize
2055
2056Please consult the API documentation of the individual modules for more
2057detailed information.
2058
2059This package was inspired by the concurrency libraries of Java and
2060Python.")
2061 (license license:bsd-3)))
2062
2063(define-public ghc-concurrent-output
2064 (package
2065 (name "ghc-concurrent-output")
4fce0a4a 2066 (version "1.10.11")
dddbc90c
RV
2067 (source
2068 (origin
2069 (method url-fetch)
2070 (uri (string-append
2071 "mirror://hackage/package/concurrent-output/concurrent-output-"
2072 version
2073 ".tar.gz"))
2074 (sha256
2075 (base32
4fce0a4a 2076 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2077 (build-system haskell-build-system)
2078 (inputs
2079 `(("ghc-async" ,ghc-async)
2080 ("ghc-exceptions" ,ghc-exceptions)
2081 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2082 ("ghc-terminal-size" ,ghc-terminal-size)))
2083 (home-page
2084 "https://hackage.haskell.org/package/concurrent-output")
2085 (synopsis
2086 "Ungarble output from several threads or commands")
2087 (description
2088 "Lets multiple threads and external processes concurrently output to the
2089console, without it getting all garbled up.
2090
2091Built on top of that is a way of defining multiple output regions, which are
2092automatically laid out on the screen and can be individually updated by
2093concurrent threads. Can be used for progress displays etc.")
2094 (license license:bsd-2)))
2095
2096(define-public ghc-conduit
2097 (package
2098 (name "ghc-conduit")
1ac981d4 2099 (version "1.3.1.1")
dddbc90c
RV
2100 (source (origin
2101 (method url-fetch)
2102 (uri (string-append "https://hackage.haskell.org/package/"
2103 "conduit/conduit-" version ".tar.gz"))
2104 (sha256
2105 (base32
1ac981d4 2106 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2107 (build-system haskell-build-system)
2108 (inputs
2109 `(("ghc-exceptions" ,ghc-exceptions)
2110 ("ghc-lifted-base" ,ghc-lifted-base)
2111 ("ghc-mono-traversable" ,ghc-mono-traversable)
2112 ("ghc-mmorph" ,ghc-mmorph)
2113 ("ghc-resourcet" ,ghc-resourcet)
2114 ("ghc-silently" ,ghc-silently)
2115 ("ghc-transformers-base" ,ghc-transformers-base)
2116 ("ghc-unliftio" ,ghc-unliftio)
2117 ("ghc-unliftio-core" ,ghc-unliftio-core)
2118 ("ghc-vector" ,ghc-vector)
2119 ("ghc-void" ,ghc-void)))
2120 (native-inputs
2121 `(("ghc-quickcheck" ,ghc-quickcheck)
2122 ("ghc-hspec" ,ghc-hspec)
2123 ("ghc-safe" ,ghc-safe)
2124 ("ghc-split" ,ghc-split)))
2125 (home-page "https://github.com/snoyberg/conduit")
2126 (synopsis "Streaming data library ")
2127 (description
2128 "The conduit package is a solution to the streaming data problem,
2129allowing for production, transformation, and consumption of streams of data
2130in constant memory. It is an alternative to lazy I/O which guarantees
2131deterministic resource handling, and fits in the same general solution
2132space as enumerator/iteratee and pipes.")
2133 (license license:expat)))
2134
2135(define-public ghc-conduit-algorithms
2136 (package
2137 (name "ghc-conduit-algorithms")
503b74ae 2138 (version "0.0.11.0")
dddbc90c
RV
2139 (source
2140 (origin
2141 (method url-fetch)
2142 (uri (string-append "https://hackage.haskell.org/package/"
2143 "conduit-algorithms/conduit-algorithms-"
2144 version ".tar.gz"))
2145 (sha256
2146 (base32
503b74ae 2147 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2148 (build-system haskell-build-system)
2149 (inputs
2150 `(("ghc-async" ,ghc-async)
2151 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2152 ("ghc-conduit" ,ghc-conduit)
2153 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2154 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2155 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2156 ("ghc-exceptions" ,ghc-exceptions)
2157 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2158 ("ghc-monad-control" ,ghc-monad-control)
2159 ("ghc-pqueue" ,ghc-pqueue)
2160 ("ghc-resourcet" ,ghc-resourcet)
2161 ("ghc-stm-conduit" ,ghc-stm-conduit)
2162 ("ghc-streaming-commons" ,ghc-streaming-commons)
2163 ("ghc-unliftio-core" ,ghc-unliftio-core)
2164 ("ghc-vector" ,ghc-vector)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)
2167 ("ghc-test-framework" ,ghc-test-framework)
2168 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2169 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2170 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2171 (synopsis "Conduit-based algorithms")
2172 (description
2173 "This package provides algorithms on @code{Conduits}, including higher
2174level asynchronous processing and some other utilities.")
2175 (license license:expat)))
2176
2177(define-public ghc-conduit-combinators
2178 (package
2179 (name "ghc-conduit-combinators")
2180 (version "1.3.0")
2181 (source
2182 (origin
2183 (method url-fetch)
2184 (uri (string-append "https://hackage.haskell.org/package/"
2185 "conduit-combinators-" version "/"
2186 "conduit-combinators-" version ".tar.gz"))
2187 (sha256
2188 (base32
2189 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2190 (build-system haskell-build-system)
2191 (inputs `(("ghc-conduit" ,ghc-conduit)
2192 ("ghc-conduit-extra" ,ghc-conduit-extra)
2193 ("ghc-transformers-base" ,ghc-transformers-base)
2194 ("ghc-primitive" ,ghc-primitive)
2195 ("ghc-vector" ,ghc-vector)
2196 ("ghc-void" ,ghc-void)
2197 ("ghc-mwc-random" ,ghc-mwc-random)
2198 ("ghc-unix-compat" ,ghc-unix-compat)
2199 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2200 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2201 ("ghc-resourcet" ,ghc-resourcet)
2202 ("ghc-monad-control" ,ghc-monad-control)
2203 ("ghc-chunked-data" ,ghc-chunked-data)
2204 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2205 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2206 ("ghc-silently" ,ghc-silently)
2207 ("ghc-safe" ,ghc-safe)
2208 ("ghc-quickcheck" ,ghc-quickcheck)))
2209 (home-page "https://github.com/snoyberg/mono-traversable")
2210 (synopsis "Commonly used conduit functions, for both chunked and
2211unchunked data")
2212 (description "This Haskell package provides a replacement for Data.Conduit.List,
2213as well as a convenient Conduit module.")
2214 (license license:expat)))
2215
2216(define-public ghc-conduit-extra
2217 (package
2218 (name "ghc-conduit-extra")
151774d9 2219 (version "1.3.4")
dddbc90c
RV
2220 (source
2221 (origin
2222 (method url-fetch)
2223 (uri (string-append "https://hackage.haskell.org/package/"
2224 "conduit-extra/conduit-extra-"
2225 version ".tar.gz"))
2226 (sha256
2227 (base32
151774d9 2228 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2229 (build-system haskell-build-system)
2230 (inputs
2231 `(("ghc-conduit" ,ghc-conduit)
2232 ("ghc-exceptions" ,ghc-exceptions)
2233 ("ghc-monad-control" ,ghc-monad-control)
2234 ("ghc-transformers-base" ,ghc-transformers-base)
2235 ("ghc-typed-process" ,ghc-typed-process)
2236 ("ghc-async" ,ghc-async)
2237 ("ghc-attoparsec" ,ghc-attoparsec)
2238 ("ghc-blaze-builder" ,ghc-blaze-builder)
2239 ("ghc-network" ,ghc-network)
2240 ("ghc-primitive" ,ghc-primitive)
2241 ("ghc-resourcet" ,ghc-resourcet)
2242 ("ghc-streaming-commons" ,ghc-streaming-commons)
2243 ("ghc-hspec" ,ghc-hspec)
2244 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2245 ("ghc-quickcheck" ,ghc-quickcheck)))
2246 (native-inputs
2247 `(("hspec-discover" ,hspec-discover)))
2248 (home-page "https://github.com/snoyberg/conduit")
2249 (synopsis "Conduit adapters for common libraries")
2250 (description
2251 "The @code{conduit} package itself maintains relative small dependencies.
2252The purpose of this package is to collect commonly used utility functions
2253wrapping other library dependencies, without depending on heavier-weight
2254dependencies. The basic idea is that this package should only depend on
2255@code{haskell-platform} packages and @code{conduit}.")
2256 (license license:expat)))
2257
b59c3518
TS
2258(define-public ghc-conduit-zstd
2259 (package
2260 (name "ghc-conduit-zstd")
2261 (version "0.0.1.1")
2262 (source
2263 (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2267 (sha256
2268 (base32
2269 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-conduit" ,ghc-conduit)
2273 ("ghc-zstd" ,ghc-zstd)))
2274 (native-inputs
2275 `(("ghc-hunit" ,ghc-hunit)
2276 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2277 ("ghc-conduit-extra" ,ghc-conduit-extra)
2278 ("ghc-test-framework" ,ghc-test-framework)
2279 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2280 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2281 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2282 (synopsis "Conduit-based ZStd Compression")
2283 (description "Zstandard compression packaged as a conduit. This is
2284a very thin wrapper around the
2285@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2286interface}.")
2287 (license license:expat)))
2288
dddbc90c
RV
2289(define-public ghc-configurator
2290 (package
2291 (name "ghc-configurator")
2292 (version "0.3.0.0")
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append "https://hackage.haskell.org/package/"
2297 "configurator/configurator-"
2298 version ".tar.gz"))
2299 (sha256
2300 (base32
2301 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2302 (build-system haskell-build-system)
2303 (inputs
2304 `(("ghc-attoparsec" ,ghc-attoparsec)
2305 ("ghc-hashable" ,ghc-hashable)
2306 ("ghc-unix-compat" ,ghc-unix-compat)
2307 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2308 (native-inputs
2309 `(("ghc-hunit" ,ghc-hunit)
2310 ("ghc-test-framework" ,ghc-test-framework)
2311 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2312 (home-page "http://github.com/bos/configurator")
2313 (synopsis "Configuration management")
2314 (description
2315 "This package provides a configuration management library for programs
2316and daemons. The features include:
2317
2318@enumerate
2319@item Automatic, dynamic reloading in response to modifications to
2320 configuration files.
2321@item A simple, but flexible, configuration language, supporting several of
2322 the most commonly needed types of data, along with interpolation of strings
2323 from the configuration or the system environment (e.g. @code{$(HOME)}).
2324@item Subscription-based notification of changes to configuration properties.
2325@item An @code{import} directive allows the configuration of a complex
2326 application to be split across several smaller files, or common configuration
2327 data to be shared across several applications.
2328@end enumerate\n")
2329 (license license:bsd-3)))
2330
2331(define-public ghc-connection
2332 (package
2333 (name "ghc-connection")
6ee0d258 2334 (version "0.3.1")
dddbc90c
RV
2335 (source (origin
2336 (method url-fetch)
2337 (uri (string-append "https://hackage.haskell.org/package/"
2338 "connection/connection-"
2339 version ".tar.gz"))
2340 (sha256
2341 (base32
6ee0d258 2342 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2343 (build-system haskell-build-system)
2344 (inputs
2345 `(("ghc-byteable" ,ghc-byteable)
2346 ("ghc-data-default-class" ,ghc-data-default-class)
2347 ("ghc-network" ,ghc-network)
2348 ("ghc-tls" ,ghc-tls)
2349 ("ghc-socks" ,ghc-socks)
2350 ("ghc-x509" ,ghc-x509)
2351 ("ghc-x509-store" ,ghc-x509-store)
2352 ("ghc-x509-system" ,ghc-x509-system)
2353 ("ghc-x509-validation" ,ghc-x509-validation)))
2354 (home-page "https://github.com/vincenthz/hs-connection")
2355 (synopsis "Simple and easy network connections API")
2356 (description
2357 "This package provides a simple network library for all your connection
2358needs. It provides a very simple API to create sockets to a destination with
2359the choice of SSL/TLS, and SOCKS.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-constraints
2363 (package
2364 (name "ghc-constraints")
2365 (version "0.10.1")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/constraints/constraints-"
2371 version ".tar.gz"))
2372 (sha256
2373 (base32
2374 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2375 (build-system haskell-build-system)
2376 (inputs
2377 `(("ghc-hashable" ,ghc-hashable)
2378 ("ghc-semigroups" ,ghc-semigroups)
2379 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2380 (native-inputs
2381 `(("ghc-hspec" ,ghc-hspec)
2382 ("hspec-discover" ,hspec-discover)))
2383 (home-page "https://github.com/ekmett/constraints/")
2384 (synopsis "Constraint manipulation")
2385 (description
2386 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2387They stopped crashing the compiler in GHC 7.6. This package provides
2388a vocabulary for working with them.")
2389 (license license:bsd-3)))
2390
2391(define-public ghc-contravariant
2392 (package
2393 (name "ghc-contravariant")
e7b35ff0 2394 (version "1.5.2")
dddbc90c
RV
2395 (source
2396 (origin
2397 (method url-fetch)
2398 (uri (string-append
2399 "https://hackage.haskell.org/package/contravariant/contravariant-"
2400 version
2401 ".tar.gz"))
2402 (sha256
2403 (base32
e7b35ff0 2404 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2405 (build-system haskell-build-system)
2406 (inputs
2407 `(("ghc-void" ,ghc-void)
2408 ("ghc-transformers-compat" ,ghc-transformers-compat)
2409 ("ghc-statevar" ,ghc-statevar)
2410 ("ghc-semigroups" ,ghc-semigroups)))
2411 (home-page
2412 "https://github.com/ekmett/contravariant/")
2413 (synopsis "Contravariant functors")
2414 (description "Contravariant functors for Haskell.")
2415 (license license:bsd-3)))
2416
2417(define-public ghc-contravariant-extras
2418 (package
2419 (name "ghc-contravariant-extras")
2420 (version "0.3.4")
2421 (source
2422 (origin
2423 (method url-fetch)
2424 (uri (string-append "https://hackage.haskell.org/package/"
2425 "contravariant-extras-" version "/"
2426 "contravariant-extras-" version ".tar.gz"))
2427 (sha256
2428 (base32
2429 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2430 (build-system haskell-build-system)
f3aca086
TS
2431 (arguments
2432 `(#:cabal-revision
2433 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2434 (inputs
2435 `(("ghc-tuple-th" ,ghc-tuple-th)
2436 ("ghc-contravariant" ,ghc-contravariant)
2437 ("ghc-base-prelude" ,ghc-base-prelude)
2438 ("ghc-semigroups" ,ghc-semigroups)))
2439 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2440 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2441 (description "This Haskell package provides extras for the
2442@code{ghc-contravariant} package.")
2443 (license license:expat)))
2444
2445(define-public ghc-convertible
2446 (package
2447 (name "ghc-convertible")
2448 (version "1.1.1.0")
2449 (source
2450 (origin
2451 (method url-fetch)
2452 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2453 "convertible-" version ".tar.gz"))
2454 (sha256
2455 (base32
2456 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2457 (build-system haskell-build-system)
2458 (inputs
2459 `(("ghc-old-time" ,ghc-old-time)
2460 ("ghc-old-locale" ,ghc-old-locale)))
2461 (home-page "https://hackage.haskell.org/package/convertible")
2462 (synopsis "Typeclasses and instances for converting between types")
2463 (description
2464 "This package provides a typeclass with a single function that is
2465designed to help convert between different types: numeric values, dates and
2466times, and the like. The conversions perform bounds checking and return a
2467pure @code{Either} value. This means that you need not remember which specific
2468function performs the conversion you desire.")
2469 (license license:bsd-3)))
2470
2471(define-public ghc-data-accessor
2472 (package
2473 (name "ghc-data-accessor")
6dcca515 2474 (version "0.2.2.8")
dddbc90c
RV
2475 (source
2476 (origin
2477 (method url-fetch)
2478 (uri (string-append
2479 "mirror://hackage/package/data-accessor/data-accessor-"
2480 version ".tar.gz"))
2481 (sha256
6dcca515 2482 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2483 (build-system haskell-build-system)
2484 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2485 (synopsis
2486 "Haskell utilities for accessing and manipulating fields of records")
2487 (description "This package provides Haskell modules for accessing and
2488manipulating fields of records.")
2489 (license license:bsd-3)))
2490
2491(define-public ghc-data-accessor-transformers
2492 (package
2493 (name "ghc-data-accessor-transformers")
2494 (version "0.2.1.7")
2495 (source
2496 (origin
2497 (method url-fetch)
2498 (uri (string-append
2499 "mirror://hackage/package/data-accessor-transformers/"
2500 "data-accessor-transformers-" version ".tar.gz"))
2501 (sha256
2502 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2503 (build-system haskell-build-system)
2504 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2505 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2506 (synopsis "Use Accessor to access state in transformers State monad")
2507 (description "This package provides Haskell modules to allow use of
2508Accessor to access state in transformers State monad.")
2509 (license license:bsd-3)))
2510
2511(define-public ghc-data-default
2512 (package
2513 (name "ghc-data-default")
2514 (version "0.7.1.1")
2515 (source
2516 (origin
2517 (method url-fetch)
2518 (uri (string-append
2519 "https://hackage.haskell.org/package/data-default/data-default-"
2520 version
2521 ".tar.gz"))
2522 (sha256
2523 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2524 (build-system haskell-build-system)
2525 (inputs
2526 `(("ghc-data-default-class"
2527 ,ghc-data-default-class)
2528 ("ghc-data-default-instances-base"
2529 ,ghc-data-default-instances-base)
2530 ("ghc-data-default-instances-containers"
2531 ,ghc-data-default-instances-containers)
2532 ("ghc-data-default-instances-dlist"
2533 ,ghc-data-default-instances-dlist)
2534 ("ghc-data-default-instances-old-locale"
2535 ,ghc-data-default-instances-old-locale)))
2536 (home-page "https://hackage.haskell.org/package/data-default")
2537 (synopsis "Types with default values")
2538 (description
2539 "This package defines a class for types with a default value, and
2540provides instances for types from the base, containers, dlist and old-locale
2541packages.")
2542 (license license:bsd-3)))
2543
2544(define-public ghc-data-default-class
2545 (package
2546 (name "ghc-data-default-class")
2547 (version "0.1.2.0")
2548 (source
2549 (origin
2550 (method url-fetch)
2551 (uri (string-append
2552 "https://hackage.haskell.org/package/data-default-class/"
2553 "data-default-class-" version ".tar.gz"))
2554 (sha256
2555 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2556 (build-system haskell-build-system)
2557 (home-page "https://hackage.haskell.org/package/data-default-class")
2558 (synopsis "Types with default values")
2559 (description
2560 "This package defines a class for types with default values.")
2561 (license license:bsd-3)))
2562
2563(define-public ghc-data-default-instances-base
2564 (package
2565 (name "ghc-data-default-instances-base")
2566 (version "0.1.0.1")
2567 (source
2568 (origin
2569 (method url-fetch)
2570 (uri (string-append
2571 "https://hackage.haskell.org/package/"
2572 "data-default-instances-base/"
2573 "data-default-instances-base-" version ".tar.gz"))
2574 (sha256
2575 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2576 (build-system haskell-build-system)
2577 (inputs
2578 `(("ghc-data-default-class" ,ghc-data-default-class)))
2579 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2580 (synopsis "Default instances for types in base")
2581 (description
2582 "This package provides default instances for types from the base
2583package.")
2584 (license license:bsd-3)))
2585
2586(define-public ghc-data-default-instances-containers
2587 (package
2588 (name "ghc-data-default-instances-containers")
2589 (version "0.0.1")
2590 (source
2591 (origin
2592 (method url-fetch)
2593 (uri (string-append
2594 "https://hackage.haskell.org/package/"
2595 "data-default-instances-containers/"
2596 "data-default-instances-containers-" version ".tar.gz"))
2597 (sha256
2598 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2599 (build-system haskell-build-system)
2600 (inputs
2601 `(("ghc-data-default-class" ,ghc-data-default-class)))
2602 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2603 (synopsis "Default instances for types in containers")
2604 (description "Provides default instances for types from the containers
2605package.")
2606 (license license:bsd-3)))
2607
2608(define-public ghc-data-default-instances-dlist
2609 (package
2610 (name "ghc-data-default-instances-dlist")
2611 (version "0.0.1")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append
2616 "https://hackage.haskell.org/package/"
2617 "data-default-instances-dlist/"
2618 "data-default-instances-dlist-" version ".tar.gz"))
2619 (sha256
2620 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2621 (build-system haskell-build-system)
2622 (inputs
2623 `(("ghc-data-default-class" ,ghc-data-default-class)
2624 ("ghc-dlist" ,ghc-dlist)))
2625 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2626 (synopsis "Default instances for types in dlist")
2627 (description "Provides default instances for types from the dlist
2628package.")
2629 (license license:bsd-3)))
2630
2631(define-public ghc-data-default-instances-old-locale
2632 (package
2633 (name "ghc-data-default-instances-old-locale")
2634 (version "0.0.1")
2635 (source
2636 (origin
2637 (method url-fetch)
2638 (uri (string-append
2639 "https://hackage.haskell.org/package/"
2640 "data-default-instances-old-locale/"
2641 "data-default-instances-old-locale-" version ".tar.gz"))
2642 (sha256
2643 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2644 (build-system haskell-build-system)
2645 (inputs
2646 `(("ghc-data-default-class" ,ghc-data-default-class)
2647 ("ghc-old-locale" ,ghc-old-locale)))
2648 (home-page
2649 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2650 (synopsis "Default instances for types in old-locale")
2651 (description "Provides Default instances for types from the old-locale
2652 package.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-data-hash
2656 (package
2657 (name "ghc-data-hash")
2658 (version "0.2.0.1")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2663 "/data-hash-" version ".tar.gz"))
2664 (sha256
2665 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2666 (build-system haskell-build-system)
2667 (inputs
2668 `(("ghc-quickcheck" ,ghc-quickcheck)
2669 ("ghc-test-framework" ,ghc-test-framework)
2670 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2671 (home-page "https://hackage.haskell.org/package/data-hash")
2672 (synopsis "Combinators for building fast hashing functions")
2673 (description
2674 "This package provides combinators for building fast hashing functions.
2675It includes hashing functions for all basic Haskell98 types.")
2676 (license license:bsd-3)))
2677
2678(define-public ghc-data-ordlist
2679 (package
2680 (name "ghc-data-ordlist")
2681 (version "0.4.7.0")
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append
2686 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2687 version ".tar.gz"))
2688 (sha256
2689 (base32
2690 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2691 (build-system haskell-build-system)
2692 (home-page "https://hackage.haskell.org/package/data-ordlist")
2693 (synopsis "Set and bag operations on ordered lists")
2694 (description
2695 "This module provides set and multiset operations on ordered lists.")
2696 (license license:bsd-3)))
2697
d05f32d6
JS
2698(define-public ghc-dbus
2699 (package
2700 (name "ghc-dbus")
2701 (version "1.2.7")
2702 (source
2703 (origin
2704 (method url-fetch)
2705 (uri
2706 (string-append
2707 "mirror://hackage/package/dbus/dbus-"
2708 version ".tar.gz"))
2709 (sha256
2710 (base32
2711 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2712 (build-system haskell-build-system)
2713 (inputs
2714 `(("ghc-cereal" ,ghc-cereal)
2715 ("ghc-conduit" ,ghc-conduit)
2716 ("ghc-exceptions" ,ghc-exceptions)
2717 ("ghc-lens" ,ghc-lens)
2718 ("ghc-network" ,ghc-network)
2719 ("ghc-random" ,ghc-random)
2720 ("ghc-split" ,ghc-split)
2721 ("ghc-th-lift" ,ghc-th-lift)
2722 ("ghc-vector" ,ghc-vector)
2723 ("ghc-xml-conduit" ,ghc-xml-conduit)
2724 ("ghc-xml-types" ,ghc-xml-types)))
2725 (native-inputs
2726 `(("ghc-extra" ,ghc-extra)
2727 ("ghc-quickcheck" ,ghc-quickcheck)
2728 ("ghc-resourcet" ,ghc-resourcet)
2729 ("ghc-tasty" ,ghc-tasty)
2730 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2731 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2732 ;; FIXME - Some tests try to talk to network.
2733 (arguments `(#:tests? #f))
2734 (home-page "https://github.com/rblaze/haskell-dbus")
2735 (synopsis "Client library for the D-Bus IPC system")
2736 (description
2737 "D-Bus is a simple, message-based protocol for inter-process
2738communication, which allows applications to interact with other parts
2739of the machine and the user's session using remote procedure
2740calls. D-Bus is a essential part of the modern Linux desktop, where
2741it replaces earlier protocols such as CORBA and DCOP. This library
2742is an implementation of the D-Bus protocol in Haskell. It can be used
2743to add D-Bus support to Haskell applications, without the awkward
2744interfaces common to foreign bindings.")
2745 (license license:asl2.0)))
2746
dddbc90c
RV
2747(define-public ghc-deepseq-generics
2748 (package
2749 (name "ghc-deepseq-generics")
2750 (version "0.2.0.0")
2751 (source (origin
2752 (method url-fetch)
2753 (uri (string-append "https://hackage.haskell.org/package/"
2754 "deepseq-generics/deepseq-generics-"
2755 version ".tar.gz"))
2756 (sha256
2757 (base32
2758 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2759 (build-system haskell-build-system)
2760 (arguments
2761 `(#:cabal-revision
490ceae4 2762 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2763 (native-inputs
2764 `(("ghc-hunit" ,ghc-hunit)
2765 ("ghc-test-framework" ,ghc-test-framework)
2766 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2767 (home-page "https://github.com/hvr/deepseq-generics")
2768 (synopsis "Generic RNF implementation")
2769 (description
2770 "This package provides a @code{GHC.Generics}-based
2771@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2772providing an @code{rnf} implementation.")
2773 (license license:bsd-3)))
2774
e924e17e
TS
2775(define-public ghc-dense-linear-algebra
2776 (package
2777 (name "ghc-dense-linear-algebra")
2778 (version "0.1.0.0")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append "https://hackage.haskell.org/package/"
2783 "dense-linear-algebra/dense-linear-algebra-"
2784 version ".tar.gz"))
2785 (sha256
2786 (base32
2787 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2788 (build-system haskell-build-system)
2789 (inputs
2790 `(("ghc-math-functions" ,ghc-math-functions)
2791 ("ghc-primitive" ,ghc-primitive)
2792 ("ghc-vector" ,ghc-vector)
2793 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2794 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2795 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2796 (native-inputs
2797 `(("ghc-hspec" ,ghc-hspec)
2798 ("ghc-quickcheck" ,ghc-quickcheck)))
2799 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2800 (synopsis "Simple and incomplete implementation of linear algebra")
2801 (description "This library is simply a collection of linear-algebra
2802related modules split from the statistics library.")
2803 (license license:bsd-2)))
2804
dddbc90c
RV
2805(define-public ghc-descriptive
2806 (package
2807 (name "ghc-descriptive")
2808 (version "0.9.5")
2809 (source
2810 (origin
2811 (method url-fetch)
2812 (uri (string-append
2813 "https://hackage.haskell.org/package/descriptive/descriptive-"
2814 version
2815 ".tar.gz"))
2816 (sha256
2817 (base32
2818 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2819 (build-system haskell-build-system)
2820 (inputs
2821 `(("ghc-aeson" ,ghc-aeson)
2822 ("ghc-bifunctors" ,ghc-bifunctors)
2823 ("ghc-scientific" ,ghc-scientific)
2824 ("ghc-vector" ,ghc-vector)))
2825 (native-inputs
2826 `(("ghc-hunit" ,ghc-hunit)
2827 ("ghc-hspec" ,ghc-hspec)))
2828 (home-page
2829 "https://github.com/chrisdone/descriptive")
2830 (synopsis
2831 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2832 (description
2833 "This package provides datatypes and functions for creating consumers
2834and parsers with useful semantics.")
2835 (license license:bsd-3)))
2836
1859c94a
TS
2837(define-public ghc-diagrams-core
2838 (package
2839 (name "ghc-diagrams-core")
2840 (version "1.4.2")
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append "https://hackage.haskell.org/package/"
2845 "diagrams-core/diagrams-core-" version ".tar.gz"))
2846 (sha256
2847 (base32
2848 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2849 (build-system haskell-build-system)
2850 (inputs
2851 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2852 ("ghc-semigroups" ,ghc-semigroups)
2853 ("ghc-monoid-extras" ,ghc-monoid-extras)
2854 ("ghc-dual-tree" ,ghc-dual-tree)
2855 ("ghc-lens" ,ghc-lens)
2856 ("ghc-linear" ,ghc-linear)
2857 ("ghc-adjunctions" ,ghc-adjunctions)
2858 ("ghc-distributive" ,ghc-distributive)
2859 ("ghc-profunctors" ,ghc-profunctors)))
2860 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2861 (synopsis "Core libraries for diagrams embedded domain-specific language")
2862 (description "This package provides the core modules underlying
2863diagrams, an embedded domain-specific language for compositional,
2864declarative drawing.")
2865 (license license:bsd-3)))
2866
f9f1a630
TS
2867(define-public ghc-diagrams-lib
2868 (package
2869 (name "ghc-diagrams-lib")
2870 (version "1.4.2.3")
2871 (source
2872 (origin
2873 (method url-fetch)
2874 (uri (string-append "https://hackage.haskell.org/package/"
2875 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2876 (sha256
2877 (base32
2878 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2879 (build-system haskell-build-system)
2880 (inputs
2881 `(("ghc-semigroups" ,ghc-semigroups)
2882 ("ghc-monoid-extras" ,ghc-monoid-extras)
2883 ("ghc-dual-tree" ,ghc-dual-tree)
2884 ("ghc-diagrams-core" ,ghc-diagrams-core)
2885 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2886 ("ghc-active" ,ghc-active)
2887 ("ghc-colour" ,ghc-colour)
2888 ("ghc-data-default-class" ,ghc-data-default-class)
2889 ("ghc-fingertree" ,ghc-fingertree)
2890 ("ghc-intervals" ,ghc-intervals)
2891 ("ghc-lens" ,ghc-lens)
2892 ("ghc-tagged" ,ghc-tagged)
2893 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2894 ("ghc-juicypixels" ,ghc-juicypixels)
2895 ("ghc-hashable" ,ghc-hashable)
2896 ("ghc-linear" ,ghc-linear)
2897 ("ghc-adjunctions" ,ghc-adjunctions)
2898 ("ghc-distributive" ,ghc-distributive)
2899 ("ghc-fsnotify" ,ghc-fsnotify)
2900 ("ghc-unordered-containers" ,ghc-unordered-containers)
2901 ("ghc-profunctors" ,ghc-profunctors)
2902 ("ghc-exceptions" ,ghc-exceptions)
2903 ("ghc-cereal" ,ghc-cereal)))
2904 (native-inputs
2905 `(("ghc-tasty" ,ghc-tasty)
2906 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2907 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2908 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2909 (arguments
2910 `(#:cabal-revision
2911 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2912 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2913 (synopsis "Embedded domain-specific language for declarative graphics")
2914 (description "Diagrams is a flexible, extensible embedded
2915domain-specific language (EDSL) for creating graphics of many types.
2916Graphics can be created in arbitrary vector spaces and rendered with
2917multiple backends. This package provides a standard library of
2918primitives and operations for creating diagrams.")
2919 (license license:bsd-3)))
2920
fd33ffa0
TS
2921(define-public ghc-diagrams-solve
2922 (package
2923 (name "ghc-diagrams-solve")
2924 (version "0.1.1")
2925 (source
2926 (origin
2927 (method url-fetch)
2928 (uri (string-append "https://hackage.haskell.org/package/"
2929 "diagrams-solve/diagrams-solve-"
2930 version ".tar.gz"))
2931 (sha256
2932 (base32
2933 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2934 (build-system haskell-build-system)
2935 (native-inputs
2936 `(("ghc-tasty" ,ghc-tasty)
2937 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2938 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2939 (arguments
2940 `(#:cabal-revision
2941 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2942 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2943 (synopsis "Pure Haskell solver routines used by diagrams")
2944 (description "This library provides Pure Haskell solver routines for
2945use by the
2946@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2947diagrams framework}. It currently includes routines for finding real
2948roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2949and cyclic tridiagonal linear systems.")
2950 (license license:bsd-3)))
2951
74be1cb7
TS
2952(define-public ghc-diagrams-svg
2953 (package
2954 (name "ghc-diagrams-svg")
2955 (version "1.4.2")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append "https://hackage.haskell.org/package/"
2960 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
2961 (sha256
2962 (base32
2963 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
2964 (build-system haskell-build-system)
2965 (inputs
2966 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
2967 ("ghc-colour" ,ghc-colour)
2968 ("ghc-diagrams-core" ,ghc-diagrams-core)
2969 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
2970 ("ghc-monoid-extras" ,ghc-monoid-extras)
2971 ("ghc-svg-builder" ,ghc-svg-builder)
2972 ("ghc-juicypixels" ,ghc-juicypixels)
2973 ("ghc-split" ,ghc-split)
2974 ("ghc-lens" ,ghc-lens)
2975 ("ghc-hashable" ,ghc-hashable)
2976 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2977 ("ghc-semigroups" ,ghc-semigroups)))
2978 (arguments
2979 `(#:cabal-revision
2980 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
2981 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2982 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
2983 (description "This package provides a modular backend for rendering
2984diagrams created with the diagrams embedded domain-specific
2985language (EDSL) to Scalable Vector Graphics (SVG) files.")
2986 (license license:bsd-3)))
2987
4eb9a167
TS
2988(define-public ghc-dictionary-sharing
2989 (package
2990 (name "ghc-dictionary-sharing")
2991 (version "0.1.0.0")
2992 (source
2993 (origin
2994 (method url-fetch)
2995 (uri (string-append "https://hackage.haskell.org/package/"
2996 "dictionary-sharing/dictionary-sharing-"
2997 version ".tar.gz"))
2998 (sha256
2999 (base32
3000 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3001 (build-system haskell-build-system)
3002 (arguments
3003 `(#:cabal-revision
3004 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3005 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3006 (synopsis "Sharing/memoization of class members")
3007 (description "This library provides tools for ensuring that class
3008members are shared.")
3009 (license license:bsd-3)))
3010
dddbc90c
RV
3011(define-public ghc-diff
3012 (package
3013 (name "ghc-diff")
3014 (version "0.3.4")
3015 (source (origin
3016 (method url-fetch)
3017 (uri (string-append "https://hackage.haskell.org/package/"
3018 "Diff/Diff-" version ".tar.gz"))
a531ff94 3019 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3020 (sha256
3021 (base32
3022 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3023 (build-system haskell-build-system)
3024 (native-inputs
3025 `(("ghc-quickcheck" ,ghc-quickcheck)
3026 ("ghc-test-framework" ,ghc-test-framework)
3027 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3028 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3029 (synopsis "O(ND) diff algorithm in Haskell")
3030 (description
3031 "This package provides an implementation of the standard diff algorithm,
3032and utilities for pretty printing.")
3033 (license license:bsd-3)))
3034
3035(define-public ghc-disk-free-space
3036 (package
3037 (name "ghc-disk-free-space")
3038 (version "0.1.0.1")
3039 (source
3040 (origin
3041 (method url-fetch)
3042 (uri (string-append "https://hackage.haskell.org/package/"
3043 "disk-free-space/disk-free-space-"
3044 version ".tar.gz"))
3045 (sha256
3046 (base32
3047 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3048 (build-system haskell-build-system)
3049 (home-page "https://github.com/redneb/disk-free-space")
3050 (synopsis "Retrieve information about disk space usage")
3051 (description "A cross-platform library for retrieving information about
3052disk space usage.")
3053 (license license:bsd-3)))
3054
3055(define-public ghc-distributive
3056 (package
3057 (name "ghc-distributive")
e4c92f28 3058 (version "0.6.1")
dddbc90c
RV
3059 (source
3060 (origin
3061 (method url-fetch)
3062 (uri (string-append
3063 "https://hackage.haskell.org/package/distributive/distributive-"
3064 version
3065 ".tar.gz"))
3066 (sha256
3067 (base32
e4c92f28 3068 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3069 (build-system haskell-build-system)
dddbc90c
RV
3070 (inputs
3071 `(("ghc-tagged" ,ghc-tagged)
3072 ("ghc-base-orphans" ,ghc-base-orphans)
3073 ("ghc-transformers-compat" ,ghc-transformers-compat)
3074 ("ghc-semigroups" ,ghc-semigroups)
3075 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3076 (native-inputs
3077 `(("cabal-doctest" ,cabal-doctest)
3078 ("ghc-doctest" ,ghc-doctest)
3079 ("ghc-hspec" ,ghc-hspec)
3080 ("hspec-discover" ,hspec-discover)))
3081 (home-page "https://github.com/ekmett/distributive/")
3082 (synopsis "Distributive functors for Haskell")
3083 (description "This package provides distributive functors for Haskell.
3084Dual to @code{Traversable}.")
3085 (license license:bsd-3)))
3086
3087(define-public ghc-dlist
3088 (package
3089 (name "ghc-dlist")
197ddf33 3090 (version "0.8.0.7")
dddbc90c
RV
3091 (source
3092 (origin
3093 (method url-fetch)
3094 (uri (string-append
3095 "https://hackage.haskell.org/package/dlist/dlist-"
3096 version
3097 ".tar.gz"))
3098 (sha256
197ddf33 3099 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3100 (build-system haskell-build-system)
3101 (inputs
3102 `(("ghc-quickcheck" ,ghc-quickcheck)))
3103 (home-page "https://github.com/spl/dlist")
3104 (synopsis "Difference lists")
3105 (description
3106 "Difference lists are a list-like type supporting O(1) append. This is
3107particularly useful for efficient logging and pretty printing (e.g. with the
3108Writer monad), where list append quickly becomes too expensive.")
3109 (license license:bsd-3)))
3110
3111(define-public ghc-doctemplates
3112 (package
3113 (name "ghc-doctemplates")
3114 (version "0.2.2.1")
3115 (source
3116 (origin
3117 (method url-fetch)
3118 (uri (string-append "https://hackage.haskell.org/package/"
3119 "doctemplates/doctemplates-"
3120 version ".tar.gz"))
3121 (sha256
3122 (base32
3123 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3124 (build-system haskell-build-system)
3125 (inputs
3126 `(("ghc-aeson" ,ghc-aeson)
3127 ("ghc-blaze-markup" ,ghc-blaze-markup)
3128 ("ghc-blaze-html" ,ghc-blaze-html)
3129 ("ghc-vector" ,ghc-vector)
3130 ("ghc-unordered-containers" ,ghc-unordered-containers)
3131 ("ghc-scientific" ,ghc-scientific)))
3132 (native-inputs
3133 `(("ghc-hspec" ,ghc-hspec)))
3134 (home-page "https://github.com/jgm/doctemplates#readme")
3135 (synopsis "Pandoc-style document templates")
3136 (description
3137 "This package provides a simple text templating system used by pandoc.")
3138 (license license:bsd-3)))
3139
3140(define-public ghc-doctest
3141 (package
3142 (name "ghc-doctest")
19c14a0f 3143 (version "0.16.2")
dddbc90c
RV
3144 (source
3145 (origin
3146 (method url-fetch)
3147 (uri (string-append
3148 "https://hackage.haskell.org/package/doctest/doctest-"
3149 version
3150 ".tar.gz"))
3151 (sha256
3152 (base32
19c14a0f 3153 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3154 (build-system haskell-build-system)
3155 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3156 (inputs
3157 `(("ghc-syb" ,ghc-syb)
3158 ("ghc-paths" ,ghc-paths)
3159 ("ghc-base-compat" ,ghc-base-compat)
3160 ("ghc-code-page" ,ghc-code-page)
3161 ("ghc-hunit" ,ghc-hunit)
3162 ("ghc-hspec" ,ghc-hspec)
3163 ("ghc-quickcheck" ,ghc-quickcheck)
3164 ("ghc-stringbuilder" ,ghc-stringbuilder)
3165 ("ghc-silently" ,ghc-silently)
3166 ("ghc-setenv" ,ghc-setenv)))
3167 (home-page
3168 "https://github.com/sol/doctest#readme")
3169 (synopsis "Test interactive Haskell examples")
3170 (description "The doctest program checks examples in source code comments.
3171It is modeled after doctest for Python, see
3172@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3173 (license license:expat)))
3174
3175(define-public ghc-double-conversion
3176 (package
3177 (name "ghc-double-conversion")
3178 (version "2.0.2.0")
3179 (source
3180 (origin
3181 (method url-fetch)
3182 (uri (string-append "https://hackage.haskell.org/package/"
3183 "double-conversion/double-conversion-"
3184 version ".tar.gz"))
3185 (sha256
3186 (base32
3187 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3188 (build-system haskell-build-system)
3189 (native-inputs
3190 `(("ghc-hunit" ,ghc-hunit)
3191 ("ghc-test-framework" ,ghc-test-framework)
3192 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3193 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3194 (home-page "https://github.com/bos/double-conversion")
3195 (synopsis "Fast conversion between double precision floating point and text")
3196 (description
3197 "This package provides a library that performs fast, accurate conversion
3198between double precision floating point and text.")
3199 (license license:bsd-3)))
3200
577a78b7
TS
3201(define-public ghc-dual-tree
3202 (package
3203 (name "ghc-dual-tree")
3204 (version "0.2.2.1")
3205 (source
3206 (origin
3207 (method url-fetch)
3208 (uri (string-append "https://hackage.haskell.org/package/"
3209 "dual-tree/dual-tree-" version ".tar.gz"))
3210 (sha256
3211 (base32
3212 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3213 (build-system haskell-build-system)
3214 (inputs
3215 `(("ghc-semigroups" ,ghc-semigroups)
3216 ("ghc-newtype-generics" ,ghc-newtype-generics)
3217 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3218 (native-inputs
3219 `(("ghc-quickcheck" ,ghc-quickcheck)
3220 ("ghc-testing-feat" ,ghc-testing-feat)))
3221 (home-page "https://hackage.haskell.org/package/dual-tree")
3222 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3223 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3224cached) and downwards-traveling (i.e. accumulating) monoidal
3225annotations. This is used as the core data structure underlying the
3226@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3227diagrams framework}, but potentially has other applications as well.")
3228 (license license:bsd-3)))
3229
dddbc90c
RV
3230(define-public ghc-easy-file
3231 (package
3232 (name "ghc-easy-file")
3233 (version "0.2.2")
3234 (source
3235 (origin
3236 (method url-fetch)
3237 (uri (string-append
3238 "https://hackage.haskell.org/package/easy-file/easy-file-"
3239 version
3240 ".tar.gz"))
3241 (sha256
3242 (base32
3243 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3244 (build-system haskell-build-system)
3245 (home-page
3246 "https://github.com/kazu-yamamoto/easy-file")
3247 (synopsis "File handling library for Haskell")
3248 (description "This library provides file handling utilities for Haskell.")
3249 (license license:bsd-3)))
3250
3251(define-public ghc-easyplot
3252 (package
3253 (name "ghc-easyplot")
3254 (version "1.0")
3255 (source
3256 (origin
3257 (method url-fetch)
3258 (uri (string-append
3259 "https://hackage.haskell.org/package/easyplot/easyplot-"
3260 version ".tar.gz"))
3261 (sha256
3262 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3263 (build-system haskell-build-system)
3264 (propagated-inputs `(("gnuplot" ,gnuplot)))
3265 (arguments
3266 `(#:phases (modify-phases %standard-phases
3267 (add-after 'unpack 'fix-setup-suffix
3268 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3269 (home-page "https://hub.darcs.net/scravy/easyplot")
3270 (synopsis "Haskell plotting library based on gnuplot")
3271 (description "This package provides a plotting library for
3272Haskell, using gnuplot for rendering.")
3273 (license license:expat)))
3274
3275(define-public ghc-echo
3276 (package
3277 (name "ghc-echo")
3278 (version "0.1.3")
3279 (source
3280 (origin
3281 (method url-fetch)
3282 (uri (string-append
3283 "https://hackage.haskell.org/package/echo/echo-"
3284 version ".tar.gz"))
3285 (sha256
3286 (base32
3287 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3288 (build-system haskell-build-system)
3289 (arguments
3290 `(#:cabal-revision
3291 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3292 (home-page "https://github.com/RyanGlScott/echo")
3293 (synopsis "Echo terminal input portably")
3294 (description "The @code{base} library exposes the @code{hGetEcho} and
3295@code{hSetEcho} functions for querying and setting echo status, but
3296unfortunately, neither function works with MinTTY consoles on Windows.
3297This library provides an alternative interface which works with both
3298MinTTY and other consoles.")
3299 (license license:bsd-3)))
3300
3301(define-public ghc-edisonapi
3302 (package
3303 (name "ghc-edisonapi")
3304 (version "1.3.1")
3305 (source
3306 (origin
3307 (method url-fetch)
3308 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3309 "/EdisonAPI-" version ".tar.gz"))
3310 (sha256
3311 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3312 (build-system haskell-build-system)
3313 (home-page "http://rwd.rdockins.name/edison/home/")
3314 (synopsis "Library of efficient, purely-functional data structures (API)")
3315 (description
3316 "Edison is a library of purely functional data structures written by
3317Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3318value EDiSon (Efficient Data Structures). Edison provides several families of
3319abstractions, each with multiple implementations. The main abstractions
3320provided by Edison are: Sequences such as stacks, queues, and dequeues;
3321Collections such as sets, bags and heaps; and Associative Collections such as
3322finite maps and priority queues where the priority and element are distinct.")
3323 (license license:expat)))
3324
3325(define-public ghc-edisoncore
3326 (package
3327 (name "ghc-edisoncore")
3328 (version "1.3.2.1")
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3333 "/EdisonCore-" version ".tar.gz"))
3334 (sha256
3335 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3336 (build-system haskell-build-system)
3337 (inputs
3338 `(("ghc-quickcheck" ,ghc-quickcheck)
3339 ("ghc-edisonapi" ,ghc-edisonapi)))
3340 (home-page "http://rwd.rdockins.name/edison/home/")
3341 (synopsis "Library of efficient, purely-functional data structures")
3342 (description
3343 "This package provides the core Edison data structure implementations,
3344including multiple sequence, set, bag, and finite map concrete implementations
3345with various performance characteristics.")
3346 (license license:expat)))
3347
3348(define-public ghc-edit-distance
3349 (package
3350 (name "ghc-edit-distance")
3351 (version "0.2.2.1")
3352 (source
3353 (origin
3354 (method url-fetch)
3355 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3356 "/edit-distance-" version ".tar.gz"))
3357 (sha256
3358 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3359 (build-system haskell-build-system)
3360 (arguments
3361 `(#:phases
3362 (modify-phases %standard-phases
3363 (add-before 'configure 'update-constraints
3364 (lambda _
3365 (substitute* "edit-distance.cabal"
3366 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3367 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3368 (inputs
3369 `(("ghc-random" ,ghc-random)
3370 ("ghc-test-framework" ,ghc-test-framework)
3371 ("ghc-quickcheck" ,ghc-quickcheck)
3372 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3373 (home-page "https://github.com/phadej/edit-distance")
3374 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3375 (description
3376 "This package provides optimized functions to determine the edit
3377distances for fuzzy matching, including Levenshtein and restricted
3378Damerau-Levenshtein algorithms.")
3379 (license license:bsd-3)))
3380
3ebae41f
TS
3381(define-public ghc-edit-distance-vector
3382 (package
3383 (name "ghc-edit-distance-vector")
3384 (version "1.0.0.4")
3385 (source
3386 (origin
3387 (method url-fetch)
3388 (uri (string-append "https://hackage.haskell.org/package/"
3389 "edit-distance-vector/edit-distance-vector-"
3390 version ".tar.gz"))
3391 (sha256
3392 (base32
3393 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3394 (build-system haskell-build-system)
3395 (inputs
3396 `(("ghc-vector" ,ghc-vector)))
3397 (native-inputs
3398 `(("ghc-quickcheck" ,ghc-quickcheck)
3399 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3400 (home-page "https://github.com/thsutton/edit-distance-vector")
3401 (synopsis "Calculate edit distances and edit scripts between vectors")
3402 (description "This package provides implementation of the
3403Wagner-Fischer dynamic programming algorithm to find the optimal edit
3404script and cost between two sequences. The implementation in this
3405package is specialised to sequences represented with @code{Data.Vector}
3406but is otherwise agnostic to:
3407@itemize
3408@item The type of values in the vectors;
3409@item The type representing edit operations; and
3410@item The type representing the cost of operations.
3411@end itemize")
3412 (license license:bsd-3)) )
3413
dddbc90c
RV
3414(define-public ghc-either
3415 (package
3416 (name "ghc-either")
a3fd4dc7 3417 (version "5.0.1.1")
dddbc90c
RV
3418 (source
3419 (origin
3420 (method url-fetch)
3421 (uri (string-append "https://hackage.haskell.org/package/"
3422 "either-" version "/"
3423 "either-" version ".tar.gz"))
3424 (sha256
3425 (base32
a3fd4dc7 3426 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3427 (build-system haskell-build-system)
3428 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3429 ("ghc-exceptions" ,ghc-exceptions)
3430 ("ghc-free" ,ghc-free)
3431 ("ghc-monad-control" ,ghc-monad-control)
3432 ("ghc-manodrandom" ,ghc-monadrandom)
3433 ("ghc-mmorph" ,ghc-mmorph)
3434 ("ghc-profunctors" ,ghc-profunctors)
3435 ("ghc-semigroups" ,ghc-semigroups)
3436 ("ghc-semigroupoids" ,ghc-semigroupoids)
3437 ("ghc-transformers-base" ,ghc-transformers-base)))
3438 (native-inputs
3439 `(("ghc-quickcheck" ,ghc-quickcheck)
3440 ("ghc-test-framework" ,ghc-test-framework)
3441 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3442 (home-page "https://github.com/ekmett/either")
3443 (synopsis "Provides an either monad transformer for Haskell")
3444 (description "This Haskell package provides an either monad transformer.")
3445 (license license:bsd-3)))
3446
3447(define-public ghc-email-validate
3448 (package
3449 (name "ghc-email-validate")
a4fe1c64 3450 (version "2.3.2.12")
dddbc90c
RV
3451 (source
3452 (origin
3453 (method url-fetch)
3454 (uri (string-append
3455 "https://hackage.haskell.org/package/"
3456 "email-validate/email-validate-"
3457 version
3458 ".tar.gz"))
3459 (sha256
3460 (base32
a4fe1c64 3461 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3462 (build-system haskell-build-system)
3463 (inputs
3464 `(("ghc-attoparsec" ,ghc-attoparsec)
3465 ("ghc-hspec" ,ghc-hspec)
3466 ("ghc-quickcheck" ,ghc-quickcheck)
3467 ("ghc-doctest" ,ghc-doctest)))
3468 (home-page
3469 "https://github.com/Porges/email-validate-hs")
3470 (synopsis "Email address validator for Haskell")
3471 (description
3472 "This Haskell package provides a validator that can validate an email
3473address string against RFC 5322.")
3474 (license license:bsd-3)))
3475
3476(define-public ghc-enclosed-exceptions
3477 (package
3478 (name "ghc-enclosed-exceptions")
3479 (version "1.0.3")
3480 (source (origin
3481 (method url-fetch)
3482 (uri (string-append "https://hackage.haskell.org/package/"
3483 "enclosed-exceptions/enclosed-exceptions-"
3484 version ".tar.gz"))
3485 (sha256
3486 (base32
3487 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3488 (build-system haskell-build-system)
3489 ;; FIXME: one of the tests blocks forever:
3490 ;; "thread blocked indefinitely in an MVar operation"
3491 (arguments '(#:tests? #f))
3492 (inputs
3493 `(("ghc-lifted-base" ,ghc-lifted-base)
3494 ("ghc-monad-control" ,ghc-monad-control)
3495 ("ghc-async" ,ghc-async)
3496 ("ghc-transformers-base" ,ghc-transformers-base)))
3497 (native-inputs
3498 `(("ghc-hspec" ,ghc-hspec)
3499 ("ghc-quickcheck" ,ghc-quickcheck)))
3500 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3501 (synopsis "Catch all exceptions from within an enclosed computation")
3502 (description
3503 "This library implements a technique to catch all exceptions raised
3504within an enclosed computation, while remaining responsive to (external)
3505asynchronous exceptions.")
3506 (license license:expat)))
3507
3508(define-public ghc-equivalence
3509 (package
3510 (name "ghc-equivalence")
801cf5b1 3511 (version "0.3.5")
dddbc90c
RV
3512 (source
3513 (origin
3514 (method url-fetch)
3515 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3516 "/equivalence-" version ".tar.gz"))
3517 (sha256
801cf5b1 3518 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3519 (build-system haskell-build-system)
3520 (inputs
3521 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3522 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3523 ("ghc-fail" ,ghc-fail)
3524 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3525 (home-page "https://github.com/pa-ba/equivalence")
3526 (synopsis "Maintaining an equivalence relation implemented as union-find")
3527 (description
3528 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3529Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
353022(2), 1975) in order to maintain an equivalence relation. This
3531implementation is a port of the @code{union-find} package using the @code{ST}
3532monad transformer (instead of the IO monad).")
3533 (license license:bsd-3)))
3534
3535(define-public ghc-erf
3536 (package
3537 (name "ghc-erf")
3538 (version "2.0.0.0")
3539 (source
3540 (origin
3541 (method url-fetch)
3542 (uri (string-append "https://hackage.haskell.org/package/"
3543 "erf-" version "/"
3544 "erf-" version ".tar.gz"))
3545 (sha256
3546 (base32
3547 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3548 (build-system haskell-build-system)
3549 (home-page "https://hackage.haskell.org/package/erf")
3550 (synopsis "The error function, erf, and related functions for Haskell")
3551 (description "This Haskell library provides a type class for the
3552error function, erf, and related functions. Instances for Float and
3553Double.")
3554 (license license:bsd-3)))
3555
3556(define-public ghc-errorcall-eq-instance
3557 (package
3558 (name "ghc-errorcall-eq-instance")
3559 (version "0.3.0")
3560 (source
3561 (origin
3562 (method url-fetch)
3563 (uri (string-append "https://hackage.haskell.org/package/"
3564 "errorcall-eq-instance/errorcall-eq-instance-"
3565 version ".tar.gz"))
3566 (sha256
3567 (base32
3568 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3569 (build-system haskell-build-system)
3570 (inputs
3571 `(("ghc-base-orphans" ,ghc-base-orphans)))
3572 (native-inputs
3573 `(("ghc-quickcheck" ,ghc-quickcheck)
3574 ("ghc-hspec" ,ghc-hspec)
3575 ("hspec-discover" ,hspec-discover)))
3576 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3577 (synopsis "Orphan Eq instance for ErrorCall")
3578 (description
3579 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3580This package provides an orphan instance.")
3581 (license license:expat)))
3582
3583(define-public ghc-errors
3584 (package
3585 (name "ghc-errors")
3586 (version "2.3.0")
3587 (source
3588 (origin
3589 (method url-fetch)
3590 (uri (string-append "https://hackage.haskell.org/package/"
3591 "errors-" version "/"
3592 "errors-" version ".tar.gz"))
3593 (sha256
3594 (base32
3595 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3596 (build-system haskell-build-system)
3597 (inputs
3598 `(("ghc-exceptions" ,ghc-exceptions)
3599 ("ghc-transformers-compat" ,ghc-transformers-compat)
3600 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3601 ("ghc-safe" ,ghc-safe)))
3602 (home-page "https://github.com/gabriel439/haskell-errors-library")
3603 (synopsis "Error handling library for Haskell")
3604 (description "This library encourages an error-handling style that
3605directly uses the type system, rather than out-of-band exceptions.")
3606 (license license:bsd-3)))
3607
3608(define-public ghc-esqueleto
2648b604
TS
3609 (package
3610 (name "ghc-esqueleto")
3611 (version "3.0.0")
3612 (source
3613 (origin
3614 (method url-fetch)
3615 (uri (string-append "https://hackage.haskell.org/package/"
3616 "esqueleto/esqueleto-" version ".tar.gz"))
3617 (sha256
3618 (base32
3619 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3620 (build-system haskell-build-system)
3621 (arguments
3622 `(#:haddock? #f ; Haddock reports an internal error.
3623 #:phases
3624 (modify-phases %standard-phases
3625 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3626 ;; SQLite backends. Since we only have Haskell packages for
3627 ;; SQLite, we remove the other two test suites. FIXME: Add the
3628 ;; other backends and run all three test suites.
3629 (add-before 'configure 'remove-non-sqlite-test-suites
3630 (lambda _
3631 (use-modules (ice-9 rdelim))
3632 (with-atomic-file-replacement "esqueleto.cabal"
3633 (lambda (in out)
3634 (let loop ((line (read-line in 'concat)) (deleting? #f))
3635 (cond
3636 ((eof-object? line) #t)
3637 ((string-every char-set:whitespace line)
3638 (unless deleting? (display line out))
3639 (loop (read-line in 'concat) #f))
3640 ((member line '("test-suite mysql\n"
3641 "test-suite postgresql\n"))
3642 (loop (read-line in 'concat) #t))
3643 (else
3644 (unless deleting? (display line out))
3645 (loop (read-line in 'concat) deleting?)))))))))))
3646 (inputs
3647 `(("ghc-blaze-html" ,ghc-blaze-html)
3648 ("ghc-conduit" ,ghc-conduit)
3649 ("ghc-monad-logger" ,ghc-monad-logger)
3650 ("ghc-persistent" ,ghc-persistent)
3651 ("ghc-resourcet" ,ghc-resourcet)
3652 ("ghc-tagged" ,ghc-tagged)
3653 ("ghc-unliftio" ,ghc-unliftio)
3654 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3655 (native-inputs
3656 `(("ghc-hspec" ,ghc-hspec)
3657 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3658 ("ghc-persistent-template" ,ghc-persistent-template)))
3659 (home-page "https://github.com/bitemyapp/esqueleto")
3660 (synopsis "Type-safe embedded domain specific language for SQL queries")
3661 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3662language (EDSL) for SQL queries that works with SQL backends as provided by
3663@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3664to learn new concepts, just new syntax, and it's fairly easy to predict the
3665generated SQL and optimize it for your backend.")
2648b604 3666 (license license:bsd-3)))
dddbc90c
RV
3667
3668(define-public ghc-exactprint
3669 (package
3670 (name "ghc-exactprint")
50614014 3671 (version "0.6.1")
dddbc90c
RV
3672 (source
3673 (origin
3674 (method url-fetch)
3675 (uri (string-append
3676 "https://hackage.haskell.org/package/"
3677 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3678 (sha256
3679 (base32
50614014 3680 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3681 (build-system haskell-build-system)
3682 (inputs
3683 `(("ghc-paths" ,ghc-paths)
3684 ("ghc-syb" ,ghc-syb)
3685 ("ghc-free" ,ghc-free)))
3686 (native-inputs
3687 `(("ghc-hunit" ,ghc-hunit)
3688 ("ghc-diff" ,ghc-diff)
3689 ("ghc-silently" ,ghc-silently)
3690 ("ghc-filemanip" ,ghc-filemanip)))
3691 (home-page
3692 "http://hackage.haskell.org/package/ghc-exactprint")
3693 (synopsis "ExactPrint for GHC")
3694 (description
3695 "Using the API Annotations available from GHC 7.10.2, this library
3696provides a means to round-trip any code that can be compiled by GHC, currently
3697excluding @file{.lhs} files.")
3698 (license license:bsd-3)))
3699
3700(define-public ghc-exceptions
3701 (package
3702 (name "ghc-exceptions")
46d3e65b 3703 (version "0.10.3")
dddbc90c
RV
3704 (source
3705 (origin
3706 (method url-fetch)
3707 (uri (string-append
3708 "https://hackage.haskell.org/package/exceptions/exceptions-"
3709 version
3710 ".tar.gz"))
3711 (sha256
3712 (base32
46d3e65b 3713 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3714 (build-system haskell-build-system)
3715 (native-inputs
3716 `(("ghc-quickcheck" ,ghc-quickcheck)
3717 ("ghc-test-framework" ,ghc-test-framework)
3718 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3719 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3720 (inputs
3721 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3722 (home-page "https://github.com/ekmett/exceptions/")
3723 (synopsis "Extensible optionally-pure exceptions")
3724 (description "This library provides extensible optionally-pure exceptions
3725for Haskell.")
3726 (license license:bsd-3)))
3727
3728(define-public ghc-executable-path
3729 (package
3730 (name "ghc-executable-path")
3731 (version "0.0.3.1")
3732 (source (origin
3733 (method url-fetch)
3734 (uri (string-append "https://hackage.haskell.org/package/"
3735 "executable-path/executable-path-"
3736 version ".tar.gz"))
3737 (sha256
3738 (base32
3739 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3740 (build-system haskell-build-system)
3741 (home-page "https://hackage.haskell.org/package/executable-path")
3742 (synopsis "Find out the full path of the executable")
3743 (description
3744 "The documentation of @code{System.Environment.getProgName} says that
3745\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3746instead, for maximum portability, we just return the leafname of the program
3747as invoked.\" This library tries to provide the missing path.")
3748 (license license:public-domain)))
3749
3750(define-public ghc-extensible-exceptions
3751 (package
3752 (name "ghc-extensible-exceptions")
3753 (version "0.1.1.4")
3754 (source
3755 (origin
3756 (method url-fetch)
3757 (uri (string-append "https://hackage.haskell.org/package/"
3758 "extensible-exceptions/extensible-exceptions-"
3759 version ".tar.gz"))
3760 (sha256
3761 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3762 (build-system haskell-build-system)
3763 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3764 (synopsis "Extensible exceptions for Haskell")
3765 (description
3766 "This package provides extensible exceptions for both new and old
3767versions of GHC (i.e., < 6.10).")
3768 (license license:bsd-3)))
3769
3770(define-public ghc-extra
3771 (package
3772 (name "ghc-extra")
10650c44 3773 (version "1.6.18")
dddbc90c
RV
3774 (source
3775 (origin
3776 (method url-fetch)
3777 (uri (string-append
3778 "https://hackage.haskell.org/package/extra/extra-"
3779 version
3780 ".tar.gz"))
3781 (sha256
3782 (base32
10650c44 3783 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3784 (build-system haskell-build-system)
3785 (inputs
3786 `(("ghc-clock" ,ghc-clock)
10650c44 3787 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3788 ("ghc-quickcheck" ,ghc-quickcheck)))
3789 (home-page "https://github.com/ndmitchell/extra")
3790 (synopsis "Extra Haskell functions")
3791 (description "This library provides extra functions for the standard
3792Haskell libraries. Most functions are simple additions, filling out missing
3793functionality. A few functions are available in later versions of GHC, but
3794this package makes them available back to GHC 7.2.")
3795 (license license:bsd-3)))
3796
3797(define-public ghc-fail
3798 (package
3799 (name "ghc-fail")
3800 (version "4.9.0.0")
3801 (source
3802 (origin
3803 (method url-fetch)
3804 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3805 version ".tar.gz"))
3806 (sha256
3807 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3808 (build-system haskell-build-system)
3809 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3810 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3811 (synopsis "Forward-compatible MonadFail class")
3812 (description
3813 "This package contains the @code{Control.Monad.Fail} module providing the
3814@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3815class that became available in
3816@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3817older @code{base} package versions. This package turns into an empty package
3818when used with GHC versions which already provide the
3819@code{Control.Monad.Fail} module.")
3820 (license license:bsd-3)))
3821
3822(define-public ghc-fast-logger
3823 (package
3824 (name "ghc-fast-logger")
d443a52a 3825 (version "2.4.17")
dddbc90c
RV
3826 (source
3827 (origin
3828 (method url-fetch)
3829 (uri (string-append
3830 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3831 version
3832 ".tar.gz"))
3833 (sha256
3834 (base32
d443a52a 3835 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3836 (build-system haskell-build-system)
3837 (inputs
3838 `(("ghc-auto-update" ,ghc-auto-update)
3839 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3840 ("ghc-unix-time" ,ghc-unix-time)
3841 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3842 (native-inputs
3843 `(("hspec-discover" ,hspec-discover)
3844 ("ghc-hspec" ,ghc-hspec)))
3845 (home-page "https://hackage.haskell.org/package/fast-logger")
3846 (synopsis "Fast logging system")
3847 (description "This library provides a fast logging system for Haskell.")
3848 (license license:bsd-3)))
3849
3850(define-public ghc-feed
3851 (package
3852 (name "ghc-feed")
a41c16dc 3853 (version "1.2.0.1")
dddbc90c
RV
3854 (source
3855 (origin
3856 (method url-fetch)
3857 (uri (string-append "https://hackage.haskell.org/package/"
3858 "feed/feed-" version ".tar.gz"))
3859 (sha256
3860 (base32
a41c16dc 3861 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3862 (build-system haskell-build-system)
dddbc90c
RV
3863 (inputs
3864 `(("ghc-base-compat" ,ghc-base-compat)
3865 ("ghc-old-locale" ,ghc-old-locale)
3866 ("ghc-old-time" ,ghc-old-time)
3867 ("ghc-safe" ,ghc-safe)
3868 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3869 ("ghc-utf8-string" ,ghc-utf8-string)
3870 ("ghc-xml-conduit" ,ghc-xml-conduit)
3871 ("ghc-xml-types" ,ghc-xml-types)))
3872 (native-inputs
3873 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3874 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3875 ("ghc-test-framework" ,ghc-test-framework)
3876 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3877 (home-page "https://github.com/bergmark/feed")
3878 (synopsis "Haskell package for handling various syndication formats")
3879 (description "This Haskell package includes tools for generating and
3880consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3881 (license license:bsd-3)))
3882
3883(define-public ghc-fgl
3884 (package
3885 (name "ghc-fgl")
17482b26 3886 (version "5.7.0.1")
dddbc90c
RV
3887 (outputs '("out" "doc"))
3888 (source
3889 (origin
3890 (method url-fetch)
3891 (uri (string-append
3892 "https://hackage.haskell.org/package/fgl/fgl-"
3893 version
3894 ".tar.gz"))
3895 (sha256
3896 (base32
17482b26 3897 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3898 (build-system haskell-build-system)
3899 (arguments
3900 `(#:phases
3901 (modify-phases %standard-phases
3902 (add-before 'configure 'update-constraints
3903 (lambda _
3904 (substitute* "fgl.cabal"
17482b26
TS
3905 (("QuickCheck >= 2\\.8 && < 2\\.13")
3906 "QuickCheck >= 2.8 && < 2.14")
3907 (("hspec >= 2\\.1 && < 2\\.7")
3908 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3909 (inputs
3910 `(("ghc-hspec" ,ghc-hspec)
3911 ("ghc-quickcheck" ,ghc-quickcheck)))
3912 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3913 (synopsis
3914 "Martin Erwig's Functional Graph Library")
3915 (description "The functional graph library, FGL, is a collection of type
3916and function definitions to address graph problems. The basis of the library
3917is an inductive definition of graphs in the style of algebraic data types that
3918encourages inductive, recursive definitions of graph algorithms.")
3919 (license license:bsd-3)))
3920
3921(define-public ghc-fgl-arbitrary
3922 (package
3923 (name "ghc-fgl-arbitrary")
3924 (version "0.2.0.3")
3925 (source
3926 (origin
3927 (method url-fetch)
3928 (uri (string-append
3929 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3930 version ".tar.gz"))
3931 (sha256
3932 (base32
3933 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3934 (build-system haskell-build-system)
3935 (arguments
3936 `(#:phases
3937 (modify-phases %standard-phases
3938 (add-before 'configure 'update-constraints
3939 (lambda _
3940 (substitute* "fgl-arbitrary.cabal"
3941 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3942 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3943 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3944 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3945 (inputs
3946 `(("ghc-fgl" ,ghc-fgl)
3947 ("ghc-quickcheck" ,ghc-quickcheck)
3948 ("ghc-hspec" ,ghc-hspec)))
3949 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3950 (synopsis "QuickCheck support for fgl")
3951 (description
3952 "Provides Arbitrary instances for fgl graphs to avoid adding a
3953QuickCheck dependency for fgl whilst still making the instances
3954available to others. Also available are non-fgl-specific functions
3955for generating graph-like data structures.")
3956 (license license:bsd-3)))
3957
3958(define-public ghc-file-embed
3959 (package
3960 (name "ghc-file-embed")
b5920d50 3961 (version "0.0.11")
dddbc90c
RV
3962 (source
3963 (origin
3964 (method url-fetch)
3965 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3966 "file-embed-" version ".tar.gz"))
3967 (sha256
3968 (base32
b5920d50 3969 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3970 (build-system haskell-build-system)
3971 (home-page "https://github.com/snoyberg/file-embed")
3972 (synopsis "Use Template Haskell to embed file contents directly")
3973 (description
3974 "This package allows you to use Template Haskell to read a file or all
3975the files in a directory, and turn them into @code{(path, bytestring)} pairs
3976embedded in your Haskell code.")
3977 (license license:bsd-3)))
3978
3979(define-public ghc-filemanip
3980 (package
3981 (name "ghc-filemanip")
3982 (version "0.3.6.3")
3983 (source (origin
3984 (method url-fetch)
3985 (uri (string-append "https://hackage.haskell.org/package/"
3986 "filemanip/filemanip-" version ".tar.gz"))
3987 (sha256
3988 (base32
3989 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3990 (build-system haskell-build-system)
3991 (inputs
3992 `(("ghc-unix-compat" ,ghc-unix-compat)))
3993 (home-page "https://github.com/bos/filemanip")
3994 (synopsis "File and directory manipulation for Haskell")
3995 (description
3996 "This package provides a Haskell library for working with files and
3997directories. It includes code for pattern matching, finding files, modifying
3998file contents, and more.")
3999 (license license:bsd-3)))
4000
4001(define-public ghc-findbin
4002 (package
4003 (name "ghc-findbin")
4004 (version "0.0.5")
4005 (source
4006 (origin
4007 (method url-fetch)
4008 (uri (string-append
4009 "https://hackage.haskell.org/package/FindBin/FindBin-"
4010 version ".tar.gz"))
4011 (sha256
4012 (base32
4013 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4014 (build-system haskell-build-system)
4015 (home-page "https://github.com/audreyt/findbin")
4016 (synopsis "Get the absolute path of the running program")
4017 (description
4018 "This module locates the full directory of the running program, to allow
4019the use of paths relative to it. FindBin supports invocation of Haskell
4020programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4021an executable.")
4022 (license license:bsd-3)))
4023
4024(define-public ghc-fingertree
4025 (package
4026 (name "ghc-fingertree")
aac14fdc 4027 (version "0.1.4.2")
dddbc90c
RV
4028 (source
4029 (origin
4030 (method url-fetch)
4031 (uri (string-append
4032 "https://hackage.haskell.org/package/fingertree/fingertree-"
4033 version ".tar.gz"))
4034 (sha256
4035 (base32
aac14fdc 4036 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4037 (build-system haskell-build-system)
4038 (native-inputs
4039 `(("ghc-hunit" ,ghc-hunit)
4040 ("ghc-quickcheck" ,ghc-quickcheck)
4041 ("ghc-test-framework" ,ghc-test-framework)
4042 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4043 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4044 (home-page "https://hackage.haskell.org/package/fingertree")
4045 (synopsis "Generic finger-tree structure")
4046 (description "This library provides finger trees, a general sequence
4047representation with arbitrary annotations, for use as a base for
4048implementations of various collection types. It includes examples, as
4049described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4050simple general-purpose data structure\".")
4051 (license license:bsd-3)))
4052
4053(define-public ghc-fixed
4054 (package
4055 (name "ghc-fixed")
099dda5b 4056 (version "0.3")
dddbc90c
RV
4057 (source
4058 (origin
4059 (method url-fetch)
4060 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4061 version ".tar.gz"))
4062 (sha256
4063 (base32
099dda5b 4064 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4065 (build-system haskell-build-system)
4066 (home-page "https://github.com/ekmett/fixed")
4067 (synopsis "Signed 15.16 precision fixed point arithmetic")
4068 (description
4069 "This package provides functions for signed 15.16 precision fixed point
4070arithmetic.")
4071 (license license:bsd-3)))
4072
f169f713
JS
4073(define-public ghc-fmlist
4074 (package
4075 (name "ghc-fmlist")
fe9b83a6 4076 (version "0.9.3")
f169f713
JS
4077 (source
4078 (origin
4079 (method url-fetch)
4080 (uri
4081 (string-append
4082 "https://hackage.haskell.org/package/fmlist/fmlist-"
4083 version ".tar.gz"))
4084 (sha256
4085 (base32
fe9b83a6 4086 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4087 (build-system haskell-build-system)
4088 (home-page "https://github.com/sjoerdvisscher/fmlist")
4089 (synopsis "FoldMap lists")
4090 (description "FoldMap lists are lists represented by their
4091@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4092append, just like DLists, but other operations might have favorable
4093performance characteristics as well. These wild claims are still
4094completely unverified though.")
4095 (license license:bsd-3)))
4096
dddbc90c
RV
4097(define-public ghc-foldl
4098 (package
4099 (name "ghc-foldl")
26c4104f 4100 (version "1.4.5")
dddbc90c
RV
4101 (source
4102 (origin
4103 (method url-fetch)
4104 (uri (string-append "https://hackage.haskell.org/package/"
4105 "foldl-" version "/"
4106 "foldl-" version ".tar.gz"))
4107 (sha256
4108 (base32
26c4104f 4109 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4110 (build-system haskell-build-system)
4111 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4112 ("ghc-primitive" ,ghc-primitive)
4113 ("ghc-vector" ,ghc-vector)
4114 ("ghc-unordered-containers" ,ghc-unordered-containers)
4115 ("ghc-hashable" ,ghc-hashable)
4116 ("ghc-contravariant" ,ghc-contravariant)
4117 ("ghc-semigroups" ,ghc-semigroups)
4118 ("ghc-profunctors" ,ghc-profunctors)
4119 ("ghc-semigroupoids" ,ghc-semigroupoids)
4120 ("ghc-comonad" ,ghc-comonad)
4121 ("ghc-vector-builder" ,ghc-vector-builder)))
4122 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4123 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4124 (description "This Haskell library provides strict left folds that stream
4125in constant memory, and you can combine folds using @code{Applicative} style
4126to derive new folds. Derived folds still traverse the container just once
4127and are often as efficient as hand-written folds.")
4128 (license license:bsd-3)))
4129
4130(define-public ghc-foundation
4131 (package
4132 (name "ghc-foundation")
0a702df9 4133 (version "0.0.25")
dddbc90c
RV
4134 (source
4135 (origin
4136 (method url-fetch)
4137 (uri (string-append "https://hackage.haskell.org/package/"
4138 "foundation/foundation-" version ".tar.gz"))
4139 (sha256
4140 (base32
0a702df9 4141 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4142 (build-system haskell-build-system)
59cd7518
TS
4143 (arguments
4144 `(#:phases
4145 (modify-phases %standard-phases
4146 ;; This test is broken. For details, see
4147 ;; https://github.com/haskell-foundation/foundation/issues/530
4148 (add-after 'unpack 'patch-tests
4149 (lambda _
4150 (substitute* "tests/Test/Foundation/Number.hs"
4151 ((", testDividible proxy") ""))
4152 #t)))))
dddbc90c
RV
4153 (inputs `(("ghc-basement" ,ghc-basement)))
4154 (home-page "https://github.com/haskell-foundation/foundation")
4155 (synopsis "Alternative prelude with batteries and no dependencies")
4156 (description
4157 "This package provides a custom prelude with no dependencies apart from
4158the base package.
4159
4160Foundation has the following goals:
4161
4162@enumerate
4163@item provide a base like sets of modules that provide a consistent set of
4164 features and bugfixes across multiple versions of GHC (unlike base).
4165@item provide a better and more efficient prelude than base's prelude.
4166@item be self-sufficient: no external dependencies apart from base;
4167@item provide better data-types: packed unicode string by default, arrays;
4168@item Numerical classes that better represent mathematical things (no more
4169 all-in-one @code{Num});
4170@item I/O system with less lazy IO.
4171@end enumerate\n")
4172 (license license:bsd-3)))
4173
4174(define-public ghc-free
4175 (package
4176 (name "ghc-free")
4081565d 4177 (version "5.1.2")
dddbc90c
RV
4178 (source
4179 (origin
4180 (method url-fetch)
4181 (uri (string-append
4182 "https://hackage.haskell.org/package/free/free-"
4183 version
4184 ".tar.gz"))
4185 (sha256
4186 (base32
4081565d 4187 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4188 (build-system haskell-build-system)
4189 (inputs
4190 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4191 ("ghc-profunctors" ,ghc-profunctors)
4192 ("ghc-exceptions" ,ghc-exceptions)
4193 ("ghc-bifunctors" ,ghc-bifunctors)
4194 ("ghc-comonad" ,ghc-comonad)
4195 ("ghc-distributive" ,ghc-distributive)
4196 ("ghc-semigroupoids" ,ghc-semigroupoids)
4197 ("ghc-semigroups" ,ghc-semigroups)
4198 ("ghc-transformers-base" ,ghc-transformers-base)
4199 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4200 (home-page "https://github.com/ekmett/free/")
4201 (synopsis "Unrestricted monads for Haskell")
4202 (description "This library provides free monads, which are useful for many
4203tree-like structures and domain specific languages. If @code{f} is a
4204@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4205whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4206is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4207f} makes no constraining assumptions beyond those given by @code{f} and the
4208definition of @code{Monad}.")
4209 (license license:bsd-3)))
4210
4211(define-public ghc-fsnotify
4212 (package
4213 (name "ghc-fsnotify")
4214 (version "0.3.0.1")
4215 (source (origin
4216 (method url-fetch)
4217 (uri (string-append
4218 "https://hackage.haskell.org/package/fsnotify/"
4219 "fsnotify-" version ".tar.gz"))
4220 (sha256
4221 (base32
4222 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4223 (build-system haskell-build-system)
4224 (inputs
4225 `(("ghc-async" ,ghc-async)
4226 ("ghc-unix-compat" ,ghc-unix-compat)
4227 ("ghc-hinotify" ,ghc-hinotify)
4228 ("ghc-tasty" ,ghc-tasty)
4229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4230 ("ghc-random" ,ghc-random)
4231 ("ghc-shelly" ,ghc-shelly)
4232 ("ghc-temporary" ,ghc-temporary)))
4233 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4234 (synopsis "Cross platform library for file change notification.")
4235 (description "Cross platform library for file creation, modification, and
4236deletion notification. This library builds upon existing libraries for platform
4237specific Windows, Mac, and Linux file system event notification.")
4238 (license license:bsd-3)))
4239
4240(define-public ghc-generic-deriving
4241 (package
4242 (name "ghc-generic-deriving")
55c1e6be 4243 (version "1.12.4")
dddbc90c
RV
4244 (source
4245 (origin
4246 (method url-fetch)
4247 (uri (string-append
4248 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4249 version
4250 ".tar.gz"))
4251 (sha256
4252 (base32
55c1e6be 4253 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4254 (build-system haskell-build-system)
4255 (inputs
4256 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4257 (native-inputs
4258 `(("ghc-hspec" ,ghc-hspec)
4259 ("hspec-discover" ,hspec-discover)))
4260 (home-page "https://hackage.haskell.org/package/generic-deriving")
4261 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4262 (description "This package provides functionality for generalising the
4263deriving mechanism in Haskell to arbitrary classes.")
4264 (license license:bsd-3)))
4265
4266(define-public ghc-generics-sop
4267 (package
4268 (name "ghc-generics-sop")
3ed40e10 4269 (version "0.4.0.1")
dddbc90c
RV
4270 (source
4271 (origin
4272 (method url-fetch)
4273 (uri (string-append "https://hackage.haskell.org/package/"
4274 "generics-sop-" version "/"
4275 "generics-sop-" version ".tar.gz"))
4276 (sha256
4277 (base32
3ed40e10 4278 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4279 (build-system haskell-build-system)
3ed40e10
TS
4280 (inputs
4281 `(("ghc-sop-core" ,ghc-sop-core)
4282 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4283 (home-page "https://github.com/well-typed/generics-sop")
4284 (synopsis "Generic Programming using True Sums of Products for Haskell")
4285 (description "This Haskell package supports the definition of generic
4286functions. Datatypes are viewed in a uniform, structured way: the choice
4287between constructors is represented using an n-ary sum, and the arguments of
4288each constructor are represented using an n-ary product.")
4289 (license license:bsd-3)))
4290
4291(define-public ghc-geniplate-mirror
4292 (package
4293 (name "ghc-geniplate-mirror")
4294 (version "0.7.6")
4295 (source
4296 (origin
4297 (method url-fetch)
4298 (uri (string-append "https://hackage.haskell.org/package"
4299 "/geniplate-mirror"
4300 "/geniplate-mirror-" version ".tar.gz"))
4301 (sha256
4302 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4303 (build-system haskell-build-system)
74a7dd7f
TS
4304 (arguments
4305 `(#:cabal-revision
4306 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4307 (home-page "https://github.com/danr/geniplate")
4308 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4309 (description
4310 "Use Template Haskell to generate Uniplate-like functions. This is a
4311maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4312geniplate} package, written by Lennart Augustsson.")
4313 (license license:bsd-3)))
4314
4315(define-public ghc-genvalidity
4316 (package
4317 (name "ghc-genvalidity")
920f44a1 4318 (version "0.8.0.0")
dddbc90c
RV
4319 (source
4320 (origin
4321 (method url-fetch)
4322 (uri (string-append
4323 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4324 version
4325 ".tar.gz"))
4326 (sha256
4327 (base32
920f44a1 4328 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4329 (build-system haskell-build-system)
4330 (inputs
4331 `(("ghc-quickcheck" ,ghc-quickcheck)
4332 ("ghc-validity" ,ghc-validity)))
4333 (native-inputs
4334 `(("ghc-hspec" ,ghc-hspec)
4335 ("hspec-discover" ,hspec-discover)
4336 ("ghc-hspec-core" ,ghc-hspec-core)))
4337 (home-page
4338 "https://github.com/NorfairKing/validity")
4339 (synopsis
4340 "Testing utilities for the @code{validity} library")
4341 (description
4342 "This package provides testing utilities that are useful in conjunction
4343with the @code{Validity} typeclass.")
4344 (license license:expat)))
4345
4346(define-public ghc-genvalidity-property
4347 (package
4348 (name "ghc-genvalidity-property")
e4ede35b 4349 (version "0.4.0.0")
dddbc90c
RV
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append
4354 "https://hackage.haskell.org/package/"
4355 "genvalidity-property/genvalidity-property-"
4356 version
4357 ".tar.gz"))
4358 (sha256
4359 (base32
e4ede35b 4360 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4361 (build-system haskell-build-system)
4362 (inputs
4363 `(("ghc-quickcheck" ,ghc-quickcheck)
4364 ("ghc-genvalidity" ,ghc-genvalidity)
4365 ("ghc-hspec" ,ghc-hspec)
4366 ("hspec-discover" ,hspec-discover)
4367 ("ghc-validity" ,ghc-validity)))
4368 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4369 (home-page
4370 "https://github.com/NorfairKing/validity")
4371 (synopsis
4372 "Standard properties for functions on @code{Validity} types")
4373 (description
4374 "This package supplements the @code{Validity} typeclass with standard
4375properties for functions operating on them.")
4376 (license license:expat)))
4377
e71fb573
TS
4378(define-public ghc-getopt-generics
4379 (package
4380 (name "ghc-getopt-generics")
4381 (version "0.13.0.4")
4382 (source
4383 (origin
4384 (method url-fetch)
4385 (uri (string-append "https://hackage.haskell.org/package/"
4386 "getopt-generics/getopt-generics-"
4387 version ".tar.gz"))
4388 (sha256
4389 (base32
4390 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4391 (build-system haskell-build-system)
4392 (inputs
4393 `(("ghc-base-compat" ,ghc-base-compat)
4394 ("ghc-base-orphans" ,ghc-base-orphans)
4395 ("ghc-generics-sop" ,ghc-generics-sop)
4396 ("ghc-tagged" ,ghc-tagged)))
4397 (native-inputs
4398 `(("ghc-quickcheck" ,ghc-quickcheck)
4399 ("ghc-hspec" ,ghc-hspec)
4400 ("ghc-safe" ,ghc-safe)
4401 ("ghc-silently" ,ghc-silently)
4402 ("hspec-discover" ,hspec-discover)))
4403 (home-page "https://github.com/soenkehahn/getopt-generics")
4404 (synopsis "Create command line interfaces with ease")
4405 (description "This library provides tools to create command line
4406interfaces with ease.")
4407 (license license:bsd-3)))
4408
dddbc90c
RV
4409(define-public ghc-gitrev
4410 (package
4411 (name "ghc-gitrev")
4412 (version "1.3.1")
4413 (source
4414 (origin
4415 (method url-fetch)
4416 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4417 version ".tar.gz"))
4418 (sha256
4419 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4420 (build-system haskell-build-system)
4421 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4422 (home-page "https://github.com/acfoltzer/gitrev")
4423 (synopsis "Compile git revision info into Haskell projects")
4424 (description
4425 "This package provides some handy Template Haskell splices for including
4426the current git hash and branch in the code of your project. This is useful
4427for including in panic messages, @command{--version} output, or diagnostic
4428info for more informative bug reports.")
4429 (license license:bsd-3)))
4430
4431(define-public ghc-glob
4432 (package
4433 (name "ghc-glob")
b900f486 4434 (version "0.10.0")
dddbc90c
RV
4435 (source
4436 (origin
4437 (method url-fetch)
4438 (uri (string-append "https://hackage.haskell.org/package/"
4439 "Glob-" version "/"
4440 "Glob-" version ".tar.gz"))
4441 (sha256
4442 (base32
b900f486 4443 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4444 (build-system haskell-build-system)
4445 (inputs
4446 `(("ghc-dlist" ,ghc-dlist)
4447 ("ghc-semigroups" ,ghc-semigroups)
4448 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4449 (native-inputs
4450 `(("ghc-hunit" ,ghc-hunit)
4451 ("ghc-quickcheck" ,ghc-quickcheck)
4452 ("ghc-test-framework" ,ghc-test-framework)
4453 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4454 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4455 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4456 (synopsis "Haskell library matching glob patterns against file paths")
4457 (description "This package provides a Haskell library for @dfn{globbing}:
4458matching patterns against file paths.")
4459 (license license:bsd-3)))
4460
4461(define-public ghc-gluraw
4462 (package
4463 (name "ghc-gluraw")
4464 (version "2.0.0.4")
4465 (source
4466 (origin
4467 (method url-fetch)
4468 (uri (string-append
4469 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4470 version
4471 ".tar.gz"))
4472 (sha256
4473 (base32
4474 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4475 (build-system haskell-build-system)
4476 (inputs
4477 `(("ghc-openglraw" ,ghc-openglraw)))
4478 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4479 (synopsis "Raw Haskell bindings GLU")
4480 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4481utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4482basis for a nicer interface.")
4483 (license license:bsd-3)))
4484
4485(define-public ghc-glut
4486 (package
4487 (name "ghc-glut")
8284bd09 4488 (version "2.7.0.15")
dddbc90c
RV
4489 (source
4490 (origin
4491 (method url-fetch)
4492 (uri (string-append
4493 "https://hackage.haskell.org/package/GLUT/GLUT-"
4494 version
4495 ".tar.gz"))
4496 (sha256
4497 (base32
8284bd09 4498 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4499 (build-system haskell-build-system)
4500 (inputs
4501 `(("ghc-statevar" ,ghc-statevar)
4502 ("ghc-opengl" ,ghc-opengl)
4503 ("ghc-openglraw" ,ghc-openglraw)
4504 ("freeglut" ,freeglut)))
4505 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4506 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4507 (description "This library provides Haskell bindings for the OpenGL
4508Utility Toolkit, a window system-independent toolkit for writing OpenGL
4509programs.")
4510 (license license:bsd-3)))
4511
4512(define-public ghc-gnuplot
4513 (package
4514 (name "ghc-gnuplot")
d34860c7 4515 (version "0.5.6")
dddbc90c
RV
4516 (source
4517 (origin
4518 (method url-fetch)
4519 (uri (string-append
4520 "mirror://hackage/package/gnuplot/gnuplot-"
4521 version ".tar.gz"))
4522 (sha256
d34860c7 4523 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4524 (build-system haskell-build-system)
4525 (inputs
4526 `(("ghc-temporary" ,ghc-temporary)
4527 ("ghc-utility-ht" ,ghc-utility-ht)
4528 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4529 ("ghc-data-accessor" ,ghc-data-accessor)
4530 ("ghc-semigroups" ,ghc-semigroups)
4531 ("gnuplot" ,gnuplot)))
4532 (arguments
4533 `(#:phases
4534 (modify-phases %standard-phases
4535 (add-before 'configure 'fix-path-to-gnuplot
4536 (lambda* (#:key inputs #:allow-other-keys)
4537 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4538 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4539 (("(gnuplotName = ).*$" all cmd)
4540 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4541 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4542 (synopsis "2D and 3D plots using gnuplot")
4543 (description "This package provides a Haskell module for creating 2D and
45443D plots using gnuplot.")
4545 (license license:bsd-3)))
4546
4547(define-public ghc-graphviz
4548 (package
4549 (name "ghc-graphviz")
c264bd42 4550 (version "2999.20.0.3")
dddbc90c
RV
4551 (source (origin
4552 (method url-fetch)
4553 (uri (string-append "https://hackage.haskell.org/package/"
4554 "graphviz/graphviz-" version ".tar.gz"))
4555 (sha256
4556 (base32
c264bd42 4557 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4558 (build-system haskell-build-system)
c264bd42
TS
4559 (arguments
4560 `(#:phases
4561 (modify-phases %standard-phases
4562 (add-before 'configure 'update-constraints
4563 (lambda _
4564 (substitute* "graphviz.cabal"
4565 (("QuickCheck >= 2\\.3 && < 2\\.13")
4566 "QuickCheck >= 2.3 && < 2.14")
4567 (("hspec >= 2\\.1 && < 2\\.7")
4568 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4569 (inputs
4570 `(("ghc-quickcheck" ,ghc-quickcheck)
4571 ("ghc-colour" ,ghc-colour)
4572 ("ghc-dlist" ,ghc-dlist)
4573 ("ghc-fgl" ,ghc-fgl)
4574 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4575 ("ghc-polyparse" ,ghc-polyparse)
4576 ("ghc-temporary" ,ghc-temporary)
4577 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4578 (native-inputs
4579 `(("ghc-hspec" ,ghc-hspec)
4580 ("graphviz" ,graphviz)
4581 ("hspec-discover" ,hspec-discover)))
4582 (home-page "https://hackage.haskell.org/package/graphviz")
4583 (synopsis "Bindings to Graphviz for graph visualisation")
4584 (description
4585 "This library provides bindings for the Dot language used by
4586the @uref{https://graphviz.org/, Graphviz} suite of programs for
4587visualising graphs, as well as functions to call those programs.
4588Main features of the graphviz library include:
4589
4590@enumerate
4591@item Almost complete coverage of all Graphviz attributes and syntax
4592@item Support for specifying clusters
4593@item The ability to use a custom node type
4594@item Functions for running a Graphviz layout tool with all specified output types
4595@item Generate and parse Dot code with two options: strict and liberal
4596@item Functions to convert FGL graphs and other graph-like data structures
4597@item Round-trip support for passing an FGL graph through Graphviz to augment node
4598and edge labels with positional information, etc.
4599@end enumerate\n")
4600 (license license:bsd-3)))
4601
f3e18645
TS
4602(define-public ghc-groups
4603 (package
4604 (name "ghc-groups")
4605 (version "0.4.1.0")
4606 (source
4607 (origin
4608 (method url-fetch)
4609 (uri (string-append "https://hackage.haskell.org/package/"
4610 "groups/groups-" version ".tar.gz"))
4611 (sha256
4612 (base32
4613 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4614 (build-system haskell-build-system)
4615 (home-page "https://hackage.haskell.org/package/groups")
4616 (synopsis "Haskell 98 groups")
4617 (description "This package provides Haskell 98 groups. A group is a
4618monoid with invertibility.")
4619 (license license:bsd-3)))
4620
dddbc90c
RV
4621(define-public ghc-gtk2hs-buildtools
4622 (package
4623 (name "ghc-gtk2hs-buildtools")
b79b43d4 4624 (version "0.13.5.4")
dddbc90c
RV
4625 (source
4626 (origin
4627 (method url-fetch)
4628 (uri (string-append "https://hackage.haskell.org/package/"
4629 "gtk2hs-buildtools/gtk2hs-buildtools-"
4630 version ".tar.gz"))
4631 (sha256
4632 (base32
b79b43d4 4633 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4634 (build-system haskell-build-system)
4635 (inputs
4636 `(("ghc-random" ,ghc-random)
4637 ("ghc-hashtables" ,ghc-hashtables)))
4638 (native-inputs
4639 `(("ghc-alex" ,ghc-alex)
4640 ("ghc-happy" ,ghc-happy)))
4641 (home-page "http://projects.haskell.org/gtk2hs/")
4642 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4643 (description
4644 "This package provides a set of helper programs necessary to build the
4645Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4646that is used to generate FFI declarations, a tool to build a type hierarchy
4647that mirrors the C type hierarchy of GObjects found in glib, and a generator
4648for signal declarations that are used to call back from C to Haskell. These
4649tools are not needed to actually run Gtk2Hs programs.")
4650 (license license:gpl2)))
4651
4652(define-public ghc-hackage-security
4653 (package
4654 (name "ghc-hackage-security")
4655 (version "0.5.3.0")
4656 (source
4657 (origin
4658 (method url-fetch)
4659 (uri (string-append "https://hackage.haskell.org/package/"
4660 "hackage-security/hackage-security-"
4661 version ".tar.gz"))
4662 (sha256
4663 (base32
4664 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4665 (build-system haskell-build-system)
4666 (arguments
034380f3
TS
4667 `(#:cabal-revision
4668 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4669 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4670 (inputs
4671 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4672 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4673 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4674 ("ghc-ed25519" ,ghc-ed25519)
4675 ("ghc-network" ,ghc-network)
4676 ("ghc-network-uri" ,ghc-network-uri)
4677 ("ghc-tar" ,ghc-tar)
4678 ("ghc-zlib" ,ghc-zlib)))
4679 (native-inputs
4680 `(("ghc-network-uri" ,ghc-network-uri)
4681 ("ghc-quickcheck" ,ghc-quickcheck)
4682 ("ghc-tar" ,ghc-tar)
4683 ("ghc-tasty" ,ghc-tasty)
4684 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4685 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4686 ("ghc-temporary" ,ghc-temporary)
4687 ("ghc-zlib" ,ghc-zlib)))
4688 (home-page "https://github.com/haskell/hackage-security")
4689 (synopsis "Hackage security library")
4690 (description "This Hackage security library provides both server and
4691client utilities for securing @uref{http://hackage.haskell.org/, the
4692Hackage package server}. It is based on
4693@uref{http://theupdateframework.com/, The Update Framework}, a set of
4694recommendations developed by security researchers at various universities
4695in the US as well as developers on the @uref{https://www.torproject.org/,
4696Tor project}.")
4697 (license license:bsd-3)))
4698
4699(define-public ghc-haddock
4700 (package
4701 (name "ghc-haddock")
b0d34d23 4702 (version "2.22.0")
dddbc90c
RV
4703 (source
4704 (origin
4705 (method url-fetch)
4706 (uri (string-append
4707 "https://hackage.haskell.org/package/haddock/haddock-"
4708 version
4709 ".tar.gz"))
4710 (sha256
4711 (base32
b0d34d23 4712 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4713 (build-system haskell-build-system)
4714 (arguments
4715 `(#:phases
4716 (modify-phases %standard-phases
b0d34d23
TS
4717 ;; The release tarball for 2.22.0 is missing the test data for
4718 ;; the Hoogle test, causing it to fail. This is fixed in the
4719 ;; next release, but for now we disable it.
4720 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4721 (lambda _
4722 (use-modules (ice-9 rdelim))
4723 (with-atomic-file-replacement "haddock.cabal"
4724 (lambda (in out)
4725 (let loop ((line (read-line in 'concat)) (deleting? #f))
4726 (cond
4727 ((eof-object? line) #t)
4728 ((string-every char-set:whitespace line)
4729 (unless deleting? (display line out))
4730 (loop (read-line in 'concat) #f))
b0d34d23 4731 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4732 (loop (read-line in 'concat) #t))
4733 (else
4734 (unless deleting? (display line out))
b0d34d23
TS
4735 (loop (read-line in 'concat) deleting?))))))))
4736 (add-before 'check 'add-haddock-to-path
4737 (lambda _
4738 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4739 ":" (getenv "PATH")))
4740 #t)))))
dddbc90c
RV
4741 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4742 (native-inputs
b0d34d23
TS
4743 `(("ghc-haddock-test" ,ghc-haddock-test)
4744 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
4745 (home-page "https://www.haskell.org/haddock/")
4746 (synopsis
4747 "Documentation-generation tool for Haskell libraries")
4748 (description
4749 "Haddock is a documentation-generation tool for Haskell libraries.")
4750 (license license:bsd-3)))
4751
4752(define-public ghc-haddock-api
4753 (package
4754 (name "ghc-haddock-api")
1b84d8ef 4755 (version "2.22.0")
dddbc90c
RV
4756 (source
4757 (origin
4758 (method url-fetch)
4759 (uri (string-append
4760 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4761 version
4762 ".tar.gz"))
1b84d8ef 4763 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
4764 (sha256
4765 (base32
1b84d8ef 4766 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
4767 (build-system haskell-build-system)
4768 (arguments
4769 `(#:phases
4770 (modify-phases %standard-phases
4771 (add-before 'configure 'update-constraints
4772 (lambda _
4773 (substitute* "haddock-api.cabal"
1b84d8ef
TS
4774 (("QuickCheck \\^>= 2\\.11")
4775 "QuickCheck ^>= 2.13")
4776 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4777 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
4778 (inputs
4779 `(("ghc-paths" ,ghc-paths)
4780 ("ghc-haddock-library" ,ghc-haddock-library)))
4781 (native-inputs
4782 `(("ghc-quickcheck" ,ghc-quickcheck)
4783 ("ghc-hspec" ,ghc-hspec)
4784 ("hspec-discover" ,hspec-discover)))
4785 (home-page "https://www.haskell.org/haddock/")
4786 (synopsis "API for documentation-generation tool Haddock")
4787 (description "This package provides an API to Haddock, the
4788documentation-generation tool for Haskell libraries.")
4789 (license license:bsd-3)))
4790
4791(define-public ghc-haddock-library
4792 (package
4793 (name "ghc-haddock-library")
10707d57 4794 (version "1.7.0")
dddbc90c
RV
4795 (source
4796 (origin
4797 (method url-fetch)
4798 (uri (string-append
4799 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4800 version
4801 ".tar.gz"))
4802 (sha256
4803 (base32
10707d57 4804 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4805 (build-system haskell-build-system)
4806 (arguments
4807 `(#:phases
4808 (modify-phases %standard-phases
10707d57
TS
4809 ;; Since there is no revised Cabal file upstream, we have to
4810 ;; patch it manually.
dddbc90c
RV
4811 (add-before 'configure 'relax-test-suite-dependencies
4812 (lambda _
4813 (substitute* "haddock-library.cabal"
10707d57
TS
4814 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4815 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4816 #t)))))
4817 (native-inputs
4818 `(("ghc-base-compat" ,ghc-base-compat)
4819 ("ghc-hspec" ,ghc-hspec)
4820 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4821 ("ghc-quickcheck" ,ghc-quickcheck)
4822 ("ghc-tree-diff" ,ghc-tree-diff)
4823 ("hspec-discover" ,hspec-discover)))
4824 (home-page "https://www.haskell.org/haddock/")
4825 (synopsis "Library exposing some functionality of Haddock")
4826 (description
4827 "Haddock is a documentation-generation tool for Haskell libraries. These
4828modules expose some functionality of it without pulling in the GHC dependency.
4829Please note that the API is likely to change so specify upper bounds in your
4830project if you can't release often. For interacting with Haddock itself, see
4831the ‘haddock’ package.")
4832 (license license:bsd-3)))
4833
b0d34d23
TS
4834;; This package is needed for testing 'ghc-haddock'. It is no longer
4835;; published to Hackage, but it is maintained in the Haddock Git
4836;; repository.
4837(define ghc-haddock-test
4838 (package
4839 (name "ghc-haddock-test")
4840 (version "2.22.0")
4841 (source
4842 (origin
4843 (method git-fetch)
4844 (uri (git-reference
4845 (url "https://github.com/haskell/haddock.git")
4846 (commit (string-append "haddock-" version "-release"))))
4847 (file-name (git-file-name name version))
4848 (sha256
4849 (base32
4850 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4851 (build-system haskell-build-system)
4852 (arguments
4853 `(#:phases
4854 (modify-phases %standard-phases
4855 (add-after 'unpack 'change-directory
4856 (lambda _
4857 (chdir "haddock-test"))))))
4858 (inputs
4859 `(("ghc-syb" ,ghc-syb)
4860 ("ghc-xml" ,ghc-xml)))
4861 (home-page "http://www.haskell.org/haddock/")
4862 (synopsis "Test utilities for Haddock")
4863 (description "This package provides test utilities for Haddock.")
4864 (license license:bsd-3)
4865 (properties '((hidden? #t)))))
4866
dddbc90c
RV
4867(define-public ghc-half
4868 (package
4869 (name "ghc-half")
4870 (version "0.3")
4871 (source
4872 (origin
4873 (method url-fetch)
4874 (uri (string-append
4875 "https://hackage.haskell.org/package/half/half-"
4876 version ".tar.gz"))
4877 (sha256
4878 (base32
4879 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4880 (build-system haskell-build-system)
4881 (native-inputs
4882 `(("ghc-hspec" ,ghc-hspec)
4883 ("ghc-quickcheck" ,ghc-quickcheck)))
4884 (home-page "https://github.com/ekmett/half")
4885 (synopsis "Half-precision floating-point computations")
4886 (description "This library provides a half-precision floating-point
4887computation library for Haskell.")
4888 (license license:bsd-3)))
4889
4890(define-public ghc-happy
4891 (package
4892 (name "ghc-happy")
90e7b0e4 4893 (version "1.19.12")
dddbc90c
RV
4894 (source
4895 (origin
4896 (method url-fetch)
4897 (uri (string-append
4898 "https://hackage.haskell.org/package/happy/happy-"
4899 version
4900 ".tar.gz"))
4901 (sha256
4902 (base32
90e7b0e4 4903 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4904 (build-system haskell-build-system)
4905 (arguments
4906 `(#:phases
4907 (modify-phases %standard-phases
4908 (add-after 'unpack 'skip-test-issue93
4909 (lambda _
4910 ;; Tests run out of memory on a system with 2GB of available RAM,
4911 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4912 (substitute* "tests/Makefile"
4913 ((" issue93.y ") " "))
4914 #t)))))
4915 (home-page "https://hackage.haskell.org/package/happy")
4916 (synopsis "Parser generator for Haskell")
4917 (description "Happy is a parser generator for Haskell. Given a grammar
4918specification in BNF, Happy generates Haskell code to parse the grammar.
4919Happy works in a similar way to the yacc tool for C.")
4920 (license license:bsd-3)))
4921
4922(define-public ghc-hashable
4923 (package
4924 (name "ghc-hashable")
4925 (version "1.2.7.0")
4926 (outputs '("out" "doc"))
4927 (source
4928 (origin
4929 (method url-fetch)
4930 (uri (string-append
4931 "https://hackage.haskell.org/package/hashable/hashable-"
4932 version
4933 ".tar.gz"))
4934 (sha256
4935 (base32
4936 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4937 (build-system haskell-build-system)
65a16a45
TS
4938 (arguments
4939 `(#:cabal-revision
4940 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4941 (inputs
4942 `(("ghc-random" ,ghc-random)))
4943 (native-inputs
4944 `(("ghc-test-framework" ,ghc-test-framework)
4945 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4947 ("ghc-hunit" ,ghc-hunit)
4948 ("ghc-quickcheck" ,ghc-quickcheck)))
4949 (home-page "https://github.com/tibbe/hashable")
4950 (synopsis "Class for types that can be converted to a hash value")
4951 (description
4952 "This package defines a class, @code{Hashable}, for types that can be
4953converted to a hash value. This class exists for the benefit of hashing-based
4954data structures. The package provides instances for basic types and a way to
4955combine hash values.")
4956 (license license:bsd-3)))
4957
4958(define-public ghc-hashable-bootstrap
4959 (package
4960 (inherit ghc-hashable)
4961 (name "ghc-hashable-bootstrap")
65a16a45
TS
4962 (arguments
4963 `(#:tests? #f
4964 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4965 (native-inputs '())
4966 (properties '((hidden? #t)))))
4967
4968(define-public ghc-hashable-time
4969 (package
4970 (name "ghc-hashable-time")
f5051e31 4971 (version "0.2.0.2")
dddbc90c
RV
4972 (source
4973 (origin
4974 (method url-fetch)
4975 (uri (string-append
4976 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4977 version
4978 ".tar.gz"))
4979 (sha256
4980 (base32
f5051e31 4981 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4982 (build-system haskell-build-system)
4983 (arguments
4984 `(#:cabal-revision
f5051e31 4985 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4986 (inputs `(("ghc-hashable" ,ghc-hashable)))
4987 (home-page "http://hackage.haskell.org/package/hashable-time")
4988 (synopsis "Hashable instances for Data.Time")
4989 (description
4990 "This package provides @code{Hashable} instances for types in
4991@code{Data.Time}.")
4992 (license license:bsd-3)))
4993
4994(define-public ghc-hashtables
4995 (package
4996 (name "ghc-hashtables")
19edf0d0 4997 (version "1.2.3.4")
dddbc90c
RV
4998 (source
4999 (origin
5000 (method url-fetch)
5001 (uri (string-append
5002 "https://hackage.haskell.org/package/hashtables/hashtables-"
5003 version ".tar.gz"))
5004 (sha256
19edf0d0 5005 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5006 (build-system haskell-build-system)
5007 (inputs
5008 `(("ghc-hashable" ,ghc-hashable)
5009 ("ghc-primitive" ,ghc-primitive)
5010 ("ghc-vector" ,ghc-vector)))
5011 (home-page "https://github.com/gregorycollins/hashtables")
5012 (synopsis "Haskell Mutable hash tables in the ST monad")
5013 (description "This package provides a Haskell library including a
5014couple of different implementations of mutable hash tables in the ST
5015monad, as well as a typeclass abstracting their common operations, and
5016a set of wrappers to use the hash tables in the IO monad.")
5017 (license license:bsd-3)))
5018
5019(define-public ghc-haskell-lexer
5020 (package
5021 (name "ghc-haskell-lexer")
5022 (version "1.0.2")
5023 (source
5024 (origin
5025 (method url-fetch)
5026 (uri (string-append
5027 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5028 version ".tar.gz"))
5029 (sha256
5030 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5031 (build-system haskell-build-system)
5032 (home-page "http://hackage.haskell.org/package/haskell-lexer")
5033 (synopsis "Fully compliant Haskell 98 lexer")
5034 (description
5035 "This package provides a fully compliant Haskell 98 lexer.")
5036 (license license:bsd-3)))
5037
5038(define-public ghc-haskell-src
5039 (package
5040 (name "ghc-haskell-src")
5041 (version "1.0.3.0")
5042 (source
5043 (origin
5044 (method url-fetch)
5045 (uri (string-append
5046 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5047 version
5048 ".tar.gz"))
5049 (sha256
5050 (base32
5051 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5052 (build-system haskell-build-system)
5053 (inputs
5054 `(("ghc-happy" ,ghc-happy)
5055 ("ghc-syb" ,ghc-syb)))
5056 (home-page
5057 "https://hackage.haskell.org/package/haskell-src")
5058 (synopsis
5059 "Support for manipulating Haskell source code")
5060 (description
5061 "The @code{haskell-src} package provides support for manipulating Haskell
5062source code. The package provides a lexer, parser and pretty-printer, and a
5063definition of a Haskell abstract syntax tree (AST). Common uses of this
5064package are to parse or generate Haskell 98 code.")
5065 (license license:bsd-3)))
5066
5067(define-public ghc-haskell-src-exts
5068 (package
5069 (name "ghc-haskell-src-exts")
37a05591 5070 (version "1.21.1")
dddbc90c
RV
5071 (source
5072 (origin
5073 (method url-fetch)
5074 (uri (string-append
5075 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5076 version
5077 ".tar.gz"))
5078 (sha256
5079 (base32
37a05591 5080 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5081 (build-system haskell-build-system)
5082 (inputs
5083 `(("cpphs" ,cpphs)
5084 ("ghc-happy" ,ghc-happy)
5085 ("ghc-pretty-show" ,ghc-pretty-show)))
5086 (native-inputs
5087 `(("ghc-smallcheck" ,ghc-smallcheck)
5088 ("ghc-tasty" ,ghc-tasty)
5089 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5090 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5091 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5092 (synopsis "Library for manipulating Haskell source")
5093 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5094extension of the standard @code{haskell-src} package, and handles most
5095registered syntactic extensions to Haskell. All extensions implemented in GHC
5096are supported. Apart from these standard extensions, it also handles regular
5097patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5098 (license license:bsd-3)))
5099
5100(define-public ghc-haskell-src-exts-util
5101 (package
5102 (name "ghc-haskell-src-exts-util")
77355bdf 5103 (version "0.2.5")
dddbc90c
RV
5104 (source
5105 (origin
5106 (method url-fetch)
5107 (uri (string-append "https://hackage.haskell.org/package/"
5108 "haskell-src-exts-util/haskell-src-exts-util-"
5109 version ".tar.gz"))
5110 (sha256
5111 (base32
77355bdf 5112 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5113 (build-system haskell-build-system)
5114 (inputs
5115 `(("ghc-data-default" ,ghc-data-default)
5116 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5117 ("ghc-semigroups" ,ghc-semigroups)
5118 ("ghc-uniplate" ,ghc-uniplate)))
5119 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5120 (synopsis "Helper functions for working with haskell-src-exts trees")
5121 (description
5122 "This package provides helper functions for working with
5123@code{haskell-src-exts} trees.")
5124 (license license:bsd-3)))
5125
5126(define-public ghc-haskell-src-meta
5127 (package
5128 (name "ghc-haskell-src-meta")
e94b3c72 5129 (version "0.8.3")
dddbc90c
RV
5130 (source (origin
5131 (method url-fetch)
5132 (uri (string-append "https://hackage.haskell.org/package/"
5133 "haskell-src-meta/haskell-src-meta-"
5134 version ".tar.gz"))
5135 (sha256
5136 (base32
e94b3c72 5137 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5138 (build-system haskell-build-system)
5139 (inputs
5140 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5141 ("ghc-syb" ,ghc-syb)
5142 ("ghc-th-orphans" ,ghc-th-orphans)))
5143 (native-inputs
5144 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5145 ("ghc-tasty" ,ghc-tasty)
5146 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5147 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5148 (synopsis "Parse source to template-haskell abstract syntax")
5149 (description
5150 "This package provides tools to parse Haskell sources to the
5151template-haskell abstract syntax.")
5152 (license license:bsd-3)))
5153
5154(define-public ghc-hasktags
5155 (package
5156 (name "ghc-hasktags")
5157 (version "0.71.2")
5158 (source
5159 (origin
5160 (method url-fetch)
5161 (uri (string-append
5162 "https://hackage.haskell.org/package/hasktags/hasktags-"
5163 version
5164 ".tar.gz"))
5165 (sha256
5166 (base32
5167 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5168 (build-system haskell-build-system)
5169 (inputs
5170 `(("ghc-system-filepath" ,ghc-system-filepath)
5171 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5172 (native-inputs
5173 `(("ghc-json" ,ghc-json)
5174 ("ghc-utf8-string" ,ghc-utf8-string)
5175 ("ghc-microlens-platform" ,ghc-microlens-platform)
5176 ("ghc-hunit" ,ghc-hunit)))
5177 (home-page "http://github.com/MarcWeber/hasktags")
5178 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5179 (description
5180 "This package provides a means of generating tag files for Emacs and
5181Vim.")
5182 (license license:bsd-3)))
5183
5184(define-public ghc-hex
5185 (package
5186 (name "ghc-hex")
5187 (version "0.1.2")
5188 (source
5189 (origin
5190 (method url-fetch)
5191 (uri (string-append "https://hackage.haskell.org/package/"
5192 "hex-" version "/"
5193 "hex-" version ".tar.gz"))
5194 (sha256
5195 (base32
5196 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5197 (build-system haskell-build-system)
5198 (home-page "https://hackage.haskell.org/package/hex")
5199 (synopsis "Convert strings into hexadecimal and back")
5200 (description "This package provides conversion functions between
5201bytestrings and their hexademical representation.")
5202 (license license:bsd-3)))
5203
5204(define-public ghc-highlighting-kate
5205 (package
5206 (name "ghc-highlighting-kate")
5207 (version "0.6.4")
5208 (source (origin
5209 (method url-fetch)
5210 (uri (string-append "https://hackage.haskell.org/package/"
5211 "highlighting-kate/highlighting-kate-"
5212 version ".tar.gz"))
5213 (sha256
5214 (base32
5215 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5216 (build-system haskell-build-system)
5217 (inputs
5218 `(("ghc-diff" ,ghc-diff)
5219 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5220 (native-inputs
5221 `(("ghc-blaze-html" ,ghc-blaze-html)
5222 ("ghc-utf8-string" ,ghc-utf8-string)))
5223 (home-page "https://github.com/jgm/highlighting-kate")
5224 (synopsis "Syntax highlighting library")
5225 (description
5226 "Highlighting-kate is a syntax highlighting library with support for
5227nearly one hundred languages. The syntax parsers are automatically generated
5228from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5229supported by Kate can be added. An (optional) command-line program is
5230provided, along with a utility for generating new parsers from Kate XML syntax
5231descriptions.")
5232 (license license:gpl2+)))
5233
5234(define-public ghc-hindent
5235 (package
5236 (name "ghc-hindent")
f545f894 5237 (version "5.3.1")
dddbc90c
RV
5238 (source
5239 (origin
5240 (method url-fetch)
5241 (uri (string-append
5242 "https://hackage.haskell.org/package/hindent/hindent-"
5243 version
5244 ".tar.gz"))
5245 (sha256
5246 (base32
f545f894 5247 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5248 (build-system haskell-build-system)
5249 (arguments
5250 `(#:modules ((guix build haskell-build-system)
5251 (guix build utils)
5252 (guix build emacs-utils))
5253 #:imported-modules (,@%haskell-build-system-modules
5254 (guix build emacs-utils))
5255 #:phases
5256 (modify-phases %standard-phases
5257 (add-after 'install 'emacs-install
5258 (lambda* (#:key inputs outputs #:allow-other-keys)
5259 (let* ((out (assoc-ref outputs "out"))
5260 (elisp-file "elisp/hindent.el")
5261 (dest (string-append out "/share/emacs/site-lisp"
5262 "/guix.d/hindent-" ,version))
5263 (emacs (string-append (assoc-ref inputs "emacs")
5264 "/bin/emacs")))
5265 (make-file-writable elisp-file)
5266 (emacs-substitute-variables elisp-file
5267 ("hindent-process-path"
5268 (string-append out "/bin/hindent")))
5269 (install-file elisp-file dest)
5270 (emacs-generate-autoloads "hindent" dest)))))))
5271 (inputs
5272 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5273 ("ghc-monad-loops" ,ghc-monad-loops)
5274 ("ghc-utf8-string" ,ghc-utf8-string)
5275 ("ghc-exceptions" ,ghc-exceptions)
5276 ("ghc-yaml" ,ghc-yaml)
5277 ("ghc-unix-compat" ,ghc-unix-compat)
5278 ("ghc-path" ,ghc-path)
5279 ("ghc-path-io" ,ghc-path-io)
5280 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5281 (native-inputs
5282 `(("ghc-hspec" ,ghc-hspec)
5283 ("ghc-diff" ,ghc-diff)
5284 ("emacs" ,emacs-minimal)))
5285 (home-page
5286 "https://github.com/commercialhaskell/hindent")
5287 (synopsis "Extensible Haskell pretty printer")
5288 (description
5289 "This package provides automatic formatting for Haskell files. Both a
5290library and an executable.")
5291 (license license:bsd-3)))
5292
5293(define-public ghc-hinotify
5294 (package
5295 (name "ghc-hinotify")
c2342abb 5296 (version "0.4")
dddbc90c
RV
5297 (source (origin
5298 (method url-fetch)
5299 (uri (string-append
5300 "https://hackage.haskell.org/package/hinotify/"
5301 "hinotify-" version ".tar.gz"))
5302 (sha256
5303 (base32
c2342abb 5304 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5305 (build-system haskell-build-system)
5306 (inputs
5307 `(("ghc-async" ,ghc-async)))
5308 (home-page "https://github.com/kolmodin/hinotify.git")
5309 (synopsis "Haskell binding to inotify")
5310 (description "This library provides a wrapper to the Linux kernel's inotify
5311feature, allowing applications to subscribe to notifications when a file is
5312accessed or modified.")
5313 (license license:bsd-3)))
5314
5315(define-public ghc-hmatrix
5316 (package
5317 (name "ghc-hmatrix")
65e29ed1 5318 (version "0.20.0.0")
dddbc90c
RV
5319 (source
5320 (origin
5321 (method url-fetch)
5322 (uri (string-append
5323 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5324 version ".tar.gz"))
5325 (sha256
65e29ed1 5326 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5327 (build-system haskell-build-system)
5328 (inputs
5329 `(("ghc-random" ,ghc-random)
5330 ("ghc-split" ,ghc-split)
5331 ("ghc-storable-complex" ,ghc-storable-complex)
5332 ("ghc-semigroups" ,ghc-semigroups)
5333 ("ghc-vector" ,ghc-vector)
5334 ;;("openblas" ,openblas)
5335 ("lapack" ,lapack)))
5336 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5337 ;; disables inclusion of the LAPACK functions.
5338 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5339 (home-page "https://github.com/albertoruiz/hmatrix")
5340 (synopsis "Haskell numeric linear algebra library")
5341 (description "The HMatrix package provices a Haskell library for
5342dealing with linear systems, matrix decompositions, and other
5343numerical computations based on BLAS and LAPACK.")
5344 (license license:bsd-3)))
5345
5346(define-public ghc-hmatrix-gsl
5347 (package
5348 (name "ghc-hmatrix-gsl")
5349 (version "0.19.0.1")
5350 (source
5351 (origin
5352 (method url-fetch)
5353 (uri (string-append
5354 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5355 version ".tar.gz"))
5356 (sha256
5357 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5358 (build-system haskell-build-system)
5359 (inputs
5360 `(("ghc-hmatrix" ,ghc-hmatrix)
5361 ("ghc-vector" ,ghc-vector)
5362 ("ghc-random" ,ghc-random)
5363 ("gsl" ,gsl)))
5364 (native-inputs `(("pkg-config" ,pkg-config)))
5365 (home-page "https://github.com/albertoruiz/hmatrix")
5366 (synopsis "Haskell GSL binding")
5367 (description "This Haskell library provides a purely functional
5368interface to selected numerical computations, internally implemented
5369using GSL.")
5370 (license license:gpl3+)))
5371
5372(define-public ghc-hmatrix-gsl-stats
5373 (package
5374 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5375 (version "0.4.1.8")
dddbc90c
RV
5376 (source
5377 (origin
5378 (method url-fetch)
5379 (uri
5380 (string-append
5381 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5382 version ".tar.gz"))
5383 (sha256
e9b359f5 5384 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5385 (build-system haskell-build-system)
5386 (inputs
5387 `(("ghc-vector" ,ghc-vector)
5388 ("ghc-storable-complex" ,ghc-storable-complex)
5389 ("ghc-hmatrix" ,ghc-hmatrix)
5390 ("gsl" ,gsl)))
5391 (native-inputs `(("pkg-config" ,pkg-config)))
5392 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5393 (synopsis "GSL Statistics interface for Haskell")
5394 (description "This Haskell library provides a purely functional
5395interface for statistics based on hmatrix and GSL.")
5396 (license license:bsd-3)))
5397
5398(define-public ghc-hmatrix-special
5399 (package
5400 (name "ghc-hmatrix-special")
5401 (version "0.19.0.0")
5402 (source
5403 (origin
5404 (method url-fetch)
5405 (uri
5406 (string-append
5407 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5408 version ".tar.gz"))
5409 (sha256
5410 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5411 (build-system haskell-build-system)
5412 (inputs
5413 `(("ghc-hmatrix" ,ghc-hmatrix)
5414 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5415 (home-page "https://github.com/albertoruiz/hmatrix")
5416 (synopsis "Haskell interface to GSL special functions")
5417 (description "This library provides an interface to GSL special
5418functions for Haskell.")
5419 (license license:gpl3+)))
5420
5421(define-public ghc-hostname
5422 (package
5423 (name "ghc-hostname")
5424 (version "1.0")
5425 (source
5426 (origin
5427 (method url-fetch)
5428 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5429 "hostname-" version ".tar.gz"))
5430 (sha256
5431 (base32
5432 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5433 (build-system haskell-build-system)
5434 (home-page "https://hackage.haskell.org/package/hostname")
5435 (synopsis "Hostname in Haskell")
5436 (description "Network.HostName is a simple package providing a means to
5437determine the hostname.")
5438 (license license:bsd-3)))
5439
5440(define-public ghc-hourglass
5441 (package
5442 (name "ghc-hourglass")
5443 (version "0.2.12")
5444 (source (origin
5445 (method url-fetch)
5446 (uri (string-append "https://hackage.haskell.org/package/"
5447 "hourglass/hourglass-" version ".tar.gz"))
5448 (sha256
5449 (base32
5450 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5451 (build-system haskell-build-system)
5452 (inputs
5453 `(("ghc-old-locale" ,ghc-old-locale)))
5454 (native-inputs
5455 `(("ghc-tasty" ,ghc-tasty)
5456 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5457 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5458 (home-page "https://github.com/vincenthz/hs-hourglass")
5459 (synopsis "Simple time-related library for Haskell")
5460 (description
5461 "This is a simple time library providing a simple but powerful and
5462performant API. The backbone of the library are the @code{Timeable} and
5463@code{Time} type classes. Each @code{Timeable} instances can be converted to
5464a type that has a @code{Time} instances, and thus are different
5465representations of current time.")
5466 (license license:bsd-3)))
5467
5468(define-public ghc-hpack
5469 (package
5470 (name "ghc-hpack")
06344a3a 5471 (version "0.31.2")
dddbc90c
RV
5472 (source
5473 (origin
5474 (method url-fetch)
5475 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5476 "hpack-" version ".tar.gz"))
06344a3a 5477 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5478 (sha256
5479 (base32
06344a3a 5480 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5481 (build-system haskell-build-system)
5482 (inputs
5483 `(("ghc-aeson" ,ghc-aeson)
5484 ("ghc-bifunctors" ,ghc-bifunctors)
5485 ("ghc-cryptonite" ,ghc-cryptonite)
5486 ("ghc-glob" ,ghc-glob)
5487 ("ghc-http-client" ,ghc-http-client)
5488 ("ghc-http-client-tls" ,ghc-http-client-tls)
5489 ("ghc-http-types" ,ghc-http-types)
06344a3a 5490 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5491 ("ghc-scientific" ,ghc-scientific)
5492 ("ghc-unordered-containers" ,ghc-unordered-containers)
5493 ("ghc-vector" ,ghc-vector)
5494 ("ghc-yaml" ,ghc-yaml)))
5495 (native-inputs
5496 `(("ghc-hspec" ,ghc-hspec)
5497 ("ghc-hunit" ,ghc-hunit)
5498 ("ghc-interpolate" ,ghc-interpolate)
5499 ("ghc-mockery" ,ghc-mockery)
5500 ("ghc-quickcheck" ,ghc-quickcheck)
5501 ("ghc-temporary" ,ghc-temporary)
5502 ("hspec-discover" ,hspec-discover)))
5503 (home-page "https://github.com/sol/hpack")
5504 (synopsis "Tools for an alternative Haskell package format")
5505 (description
5506 "Hpack is a format for Haskell packages. It is an alternative to the
5507Cabal package format and follows different design principles. Hpack packages
5508are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5509@code{stack} support @code{package.yaml} natively. For other build tools the
5510@code{hpack} executable can be used to generate a @code{.cabal} file from
5511@code{package.yaml}.")
5512 (license license:expat)))
5513
5514(define-public ghc-hs-bibutils
5515 (package
5516 (name "ghc-hs-bibutils")
ebcb4f23 5517 (version "6.7.0.0")
dddbc90c
RV
5518 (source
5519 (origin
5520 (method url-fetch)
5521 (uri (string-append
5522 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5523 version ".tar.gz"))
5524 (sha256
5525 (base32
ebcb4f23 5526 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5527 (build-system haskell-build-system)
5528 (inputs `(("ghc-syb" ,ghc-syb)))
5529 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5530 (synopsis "Haskell bindings to bibutils")
5531 (description
5532 "This package provides Haskell bindings to @code{bibutils}, a library
5533that interconverts between various bibliography formats using a common
5534MODS-format XML intermediate.")
5535 (license license:gpl2+)))
5536
5537(define-public ghc-hslogger
5538 (package
5539 (name "ghc-hslogger")
e5ccc5f7 5540 (version "1.2.12")
dddbc90c
RV
5541 (source
5542 (origin
5543 (method url-fetch)
5544 (uri (string-append "https://hackage.haskell.org/package/"
5545 "hslogger-" version "/" "hslogger-"
5546 version ".tar.gz"))
5547 (sha256 (base32
e5ccc5f7 5548 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5549 (build-system haskell-build-system)
5550 (inputs
5551 `(("ghc-network" ,ghc-network)
5552 ("ghc-old-locale" ,ghc-old-locale)))
5553 (native-inputs
5554 `(("ghc-hunit" ,ghc-hunit)))
5555 (home-page "https://software.complete.org/hslogger")
5556 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5557 (description "Hslogger lets each log message have a priority and source be
5558associated with it. The programmer can then define global handlers that route
5559or filter messages based on the priority and source. It also has a syslog
5560handler built in.")
5561 (license license:bsd-3)))
5562
5563(define-public ghc-hslua
5564 (package
5565 (name "ghc-hslua")
cc784d7b 5566 (version "1.0.3.2")
dddbc90c
RV
5567 (source (origin
5568 (method url-fetch)
5569 (uri (string-append "https://hackage.haskell.org/package/"
5570 "hslua/hslua-" version ".tar.gz"))
5571 (sha256
5572 (base32
cc784d7b 5573 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5574 (build-system haskell-build-system)
5575 (arguments
5576 `(#:configure-flags '("-fsystem-lua")))
5577 (inputs
5578 `(("lua" ,lua)
5579 ("ghc-exceptions" ,ghc-exceptions)
5580 ("ghc-fail" ,ghc-fail)))
5581 (native-inputs
5582 `(("ghc-tasty" ,ghc-tasty)
5583 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5584 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5585 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5586 ("ghc-quickcheck" ,ghc-quickcheck)
5587 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5588 (home-page "https://hackage.haskell.org/package/hslua")
5589 (synopsis "Lua language interpreter embedding in Haskell")
5590 (description
5591 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5592described in @url{https://www.lua.org/}.")
5593 (license license:expat)))
5594
ff303e4e
TS
5595(define-public ghc-hslua-module-system
5596 (package
5597 (name "ghc-hslua-module-system")
5598 (version "0.2.1")
5599 (source
5600 (origin
5601 (method url-fetch)
5602 (uri (string-append "https://hackage.haskell.org/package/"
5603 "hslua-module-system/hslua-module-system-"
5604 version ".tar.gz"))
5605 (sha256
5606 (base32
5607 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5608 (build-system haskell-build-system)
5609 (inputs
5610 `(("ghc-exceptions" ,ghc-exceptions)
5611 ("ghc-hslua" ,ghc-hslua)
5612 ("ghc-temporary" ,ghc-temporary)))
5613 (native-inputs
5614 `(("ghc-tasty" ,ghc-tasty)
5615 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5616 (home-page "https://github.com/hslua/hslua-module-system")
5617 (synopsis "Lua module wrapper around Haskell's System module")
5618 (description "This library provides access to system information and
5619functionality to Lua scripts via Haskell's @code{System} module. Intended
5620usage for this package is to preload it by adding the loader function to
5621@code{package.preload}. Note that the Lua @code{package} library must have
5622already been loaded before the loader can be added.")
5623 (license license:expat)))
5624
dddbc90c
RV
5625(define-public ghc-hslua-module-text
5626 (package
5627 (name "ghc-hslua-module-text")
ecaf0b0c 5628 (version "0.2.1")
dddbc90c
RV
5629 (source
5630 (origin
5631 (method url-fetch)
5632 (uri (string-append "https://hackage.haskell.org/package/"
5633 "hslua-module-text/hslua-module-text-"
5634 version ".tar.gz"))
5635 (sha256
5636 (base32
ecaf0b0c 5637 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5638 (build-system haskell-build-system)
dddbc90c
RV
5639 (inputs
5640 `(("ghc-hslua" ,ghc-hslua)))
5641 (native-inputs
5642 `(("ghc-tasty" ,ghc-tasty)
5643 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5644 (home-page "https://github.com/hslua/hslua-module-text")
5645 (synopsis "Lua module for text")
5646 (description
5647 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5648for Haskell. The functions provided by this module are @code{upper},
5649@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5650 (license license:expat)))
5651
fac520bf
TS
5652(define-public ghc-hsyaml
5653 (package
5654 (name "ghc-hsyaml")
5655 (version "0.1.2.0")
5656 (source
5657 (origin
5658 (method url-fetch)
5659 (uri (string-append "https://hackage.haskell.org/package/"
5660 "HsYAML/HsYAML-" version ".tar.gz"))
5661 (sha256
5662 (base32
5663 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5664 (build-system haskell-build-system)
5665 (arguments
5666 `(#:cabal-revision
5667 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5668 (home-page "https://github.com/haskell-hvr/HsYAML")
5669 (synopsis "Pure Haskell YAML 1.2 parser")
5670 (description "This library provides a
5671@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5672for Haskell. Its features include:
5673
5674@itemize
5675@item Pure Haskell implementation with small dependency footprint and
5676emphasis on strict compliance with the YAML 1.2 specification.
5677
5678@item Direct decoding to native Haskell types via (aeson-inspired)
5679typeclass-based API (see @code{Data.YAML}).
5680
5681@item Support for constructing custom YAML node graph
5682representation (including support for cyclic YAML data structures).
5683
5684@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5685@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5686typing rules as defined in the YAML 1.2 specification (including support
5687for user-defined custom schemas).
5688
5689@item Event-based API resembling LibYAML's Event-based API (see
5690@code{Data.YAML.Event}).
5691
5692@item Low-level API access to lexical token-based scanner (see
5693@code{Data.YAML.Token}).
5694@end itemize")
5695 (license license:gpl2+)))
5696
dddbc90c
RV
5697(define-public ghc-http-api-data
5698 (package
5699 (name "ghc-http-api-data")
a57236eb 5700 (version "0.4.1")
dddbc90c
RV
5701 (source
5702 (origin
5703 (method url-fetch)
5704 (uri (string-append "https://hackage.haskell.org/package/"
5705 "http-api-data-" version "/"
5706 "http-api-data-" version ".tar.gz"))
5707 (sha256
5708 (base32
a57236eb 5709 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5710 (build-system haskell-build-system)
dddbc90c
RV
5711 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5712 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5713 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5714 ("ghc-hashable" ,ghc-hashable)
5715 ("ghc-http-types" ,ghc-http-types)
a57236eb 5716 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5717 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5718 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5719 (native-inputs
5720 `(("cabal-doctest" ,cabal-doctest)
5721 ("ghc-nats" ,ghc-nats)
5722 ("ghc-hunit" ,ghc-hunit)
5723 ("ghc-hspec" ,ghc-hspec)
5724 ("ghc-quickcheck" ,ghc-quickcheck)
5725 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5726 ("ghc-doctest" ,ghc-doctest)
5727 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5728 (home-page "https://github.com/fizruk/http-api-data")
5729 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5730query parameters")
5731 (description "This Haskell package defines typeclasses used for converting
5732Haskell data types to and from HTTP API data.")
5733 (license license:bsd-3)))
5734
5735(define-public ghc-ieee754
5736 (package
5737 (name "ghc-ieee754")
5738 (version "0.8.0")
5739 (source (origin
5740 (method url-fetch)
5741 (uri (string-append
5742 "https://hackage.haskell.org/package/ieee754/"
5743 "ieee754-" version ".tar.gz"))
5744 (sha256
5745 (base32
5746 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5747 (build-system haskell-build-system)
5748 (home-page "https://github.com/patperry/hs-ieee754")
5749 (synopsis "Utilities for dealing with IEEE floating point numbers")
5750 (description "Utilities for dealing with IEEE floating point numbers,
5751ported from the Tango math library; approximate and exact equality comparisons
5752for general types.")
5753 (license license:bsd-3)))
5754
5755(define-public ghc-ifelse
5756 (package
5757 (name "ghc-ifelse")
5758 (version "0.85")
5759 (source
5760 (origin
5761 (method url-fetch)
5762 (uri (string-append "https://hackage.haskell.org/package/"
5763 "IfElse/IfElse-" version ".tar.gz"))
5764 (sha256
5765 (base32
5766 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5767 (build-system haskell-build-system)
5768 (home-page "http://hackage.haskell.org/package/IfElse")
5769 (synopsis "Monadic control flow with anaphoric variants")
5770 (description "This library provides functions for control flow inside of
5771monads with anaphoric variants on @code{if} and @code{when} and a C-like
5772@code{switch} function.")
5773 (license license:bsd-3)))
5774
5775(define-public ghc-indents
5776 (package
5777 (name "ghc-indents")
d66473fb 5778 (version "0.5.0.1")
dddbc90c
RV
5779 (source (origin
5780 (method url-fetch)
5781 (uri (string-append
5782 "https://hackage.haskell.org/package/indents/indents-"
5783 version ".tar.gz"))
5784 (sha256
5785 (base32
d66473fb 5786 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5787 (build-system haskell-build-system)
5788 ;; This package needs an older version of tasty.
5789 (arguments '(#:tests? #f))
5790 (inputs
5791 `(("ghc-concatenative" ,ghc-concatenative)))
5792 (native-inputs
5793 `(("ghc-tasty" ,ghc-tasty)
5794 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5795 (home-page "http://patch-tag.com/r/salazar/indents")
5796 (synopsis "Indentation sensitive parser-combinators for parsec")
5797 (description
5798 "This library provides functions for use in parsing indentation sensitive
5799contexts. It parses blocks of lines all indented to the same level as well as
5800lines continued at an indented level below.")
5801 (license license:bsd-3)))
5802
1f656b17
TS
5803(define-public ghc-infer-license
5804 (package
5805 (name "ghc-infer-license")
5806 (version "0.2.0")
5807 (source
5808 (origin
5809 (method url-fetch)
5810 (uri (string-append "https://hackage.haskell.org/package/"
5811 "infer-license/infer-license-" version ".tar.gz"))
5812 (sha256
5813 (base32
5814 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5815 (build-system haskell-build-system)
5816 (inputs
5817 `(("ghc-text-metrics" ,ghc-text-metrics)))
5818 (native-inputs
5819 `(("ghc-hspec" ,ghc-hspec)
5820 ("hspec-discover" ,hspec-discover)))
5821 (home-page "http://hackage.haskell.org/package/infer-license")
5822 (synopsis "Infer software license from a given license file")
5823 (description "This library provides tools to infer a software
5824license from a given license file.")
5825 (license license:expat)))
5826
dddbc90c
RV
5827(define-public ghc-inline-c
5828 (package
5829 (name "ghc-inline-c")
55ec98f2 5830 (version "0.7.0.1")
dddbc90c
RV
5831 (source
5832 (origin
5833 (method url-fetch)
5834 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5835 "inline-c-" version ".tar.gz"))
5836 (sha256
5837 (base32
55ec98f2 5838 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5839 (build-system haskell-build-system)
5840 (inputs
5841 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5842 ("ghc-cryptohash" ,ghc-cryptohash)
5843 ("ghc-hashable" ,ghc-hashable)
5844 ("ghc-parsers" ,ghc-parsers)
5845 ("ghc-unordered-containers" ,ghc-unordered-containers)
5846 ("ghc-vector" ,ghc-vector)))
5847 (native-inputs
5848 `(("ghc-quickcheck" ,ghc-quickcheck)
5849 ("ghc-hspec" ,ghc-hspec)
5850 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5851 ("ghc-regex-posix" ,ghc-regex-posix)))
5852 (home-page "http://hackage.haskell.org/package/inline-c")
5853 (synopsis "Write Haskell source files including C code inline")
5854 (description
5855 "inline-c lets you seamlessly call C libraries and embed high-performance
5856inline C code in Haskell modules. Haskell and C can be freely intermixed in
5857the same source file, and data passed to and from code in either language with
5858minimal overhead. No FFI required.")
5859 (license license:expat)))
5860
5861(define-public ghc-inline-c-cpp
5862 (package
5863 (name "ghc-inline-c-cpp")
cae58e56 5864 (version "0.3.0.3")
dddbc90c
RV
5865 (source
5866 (origin
5867 (method url-fetch)
5868 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5869 "inline-c-cpp-" version ".tar.gz"))
5870 (sha256
5871 (base32
cae58e56 5872 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5873 (build-system haskell-build-system)
5874 (inputs
5875 `(("ghc-inline-c" ,ghc-inline-c)
5876 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5877 (native-inputs
5878 `(("ghc-hspec" ,ghc-hspec)))
5879 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5880 (synopsis "Lets you embed C++ code into Haskell")
5881 (description
5882 "This package provides utilities to inline C++ code into Haskell using
5883@code{inline-c}.")
5884 (license license:expat)))
5885
5886(define-public ghc-integer-logarithms
5887 (package
5888 (name "ghc-integer-logarithms")
86a704db 5889 (version "1.0.3")
dddbc90c
RV
5890 (source
5891 (origin
5892 (method url-fetch)
5893 (uri (string-append "https://hackage.haskell.org/package/"
5894 "integer-logarithms/integer-logarithms-"
5895 version ".tar.gz"))
5896 (sha256
5897 (base32
86a704db 5898 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5899 (build-system haskell-build-system)
5900 (arguments
5901 `(#:phases
5902 (modify-phases %standard-phases
5903 (add-before 'configure 'update-constraints
5904 (lambda _
5905 (substitute* "integer-logarithms.cabal"
5906 (("tasty >= 0\\.10 && < 1\\.1")
5907 "tasty >= 0.10 && < 1.2")))))))
5908 (native-inputs
5909 `(("ghc-quickcheck" ,ghc-quickcheck)
5910 ("ghc-smallcheck" ,ghc-smallcheck)
5911 ("ghc-tasty" ,ghc-tasty)
5912 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5913 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5914 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5915 (home-page "https://github.com/Bodigrim/integer-logarithms")
5916 (synopsis "Integer logarithms")
5917 (description
5918 "This package provides the following modules:
5919@code{Math.NumberTheory.Logarithms} and
5920@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5921@code{GHC.Integer.Logarithms.Compat} and
5922@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5923in migrated modules.")
5924 (license license:expat)))
5925
5926(define-public ghc-integer-logarithms-bootstrap
5927 (package
5928 (inherit ghc-integer-logarithms)
5929 (name "ghc-integer-logarithms-bootstrap")
5930 (arguments `(#:tests? #f))
5931 (native-inputs '())
799d8d3c 5932 (properties '((hidden? #t)))))
dddbc90c
RV
5933
5934(define-public ghc-interpolate
5935 (package
5936 (name "ghc-interpolate")
5937 (version "0.2.0")
5938 (source
5939 (origin
5940 (method url-fetch)
5941 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5942 "interpolate-" version ".tar.gz"))
5943 (sha256
5944 (base32
5945 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5946 (build-system haskell-build-system)
5947 (inputs
5948 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5949 (native-inputs
5950 `(("ghc-base-compat" ,ghc-base-compat)
5951 ("ghc-hspec" ,ghc-hspec)
5952 ("ghc-quickcheck" ,ghc-quickcheck)
5953 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5954 ("hspec-discover" ,hspec-discover)))
5955 (home-page "https://github.com/sol/interpolate")
5956 (synopsis "String interpolation library")
5957 (description "This package provides a string interpolation library for
5958Haskell.")
5959 (license license:expat)))
5960
5961(define-public ghc-intervalmap
5962 (package
5963 (name "ghc-intervalmap")
e4946e32 5964 (version "0.6.1.1")
dddbc90c
RV
5965 (source
5966 (origin
5967 (method url-fetch)
5968 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5969 "IntervalMap-" version ".tar.gz"))
5970 (sha256
5971 (base32
e4946e32 5972 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5973 (build-system haskell-build-system)
5974 (native-inputs
5975 `(("ghc-quickcheck" ,ghc-quickcheck)))
5976 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5977 (synopsis "Containers for intervals, with efficient search")
5978 (description
5979 "This package provides ordered containers of intervals, with efficient
5980search for all keys containing a point or overlapping an interval. See the
5981example code on the home page for a quick introduction.")
5982 (license license:bsd-3)))
5983
f7ca1fa8
TS
5984(define-public ghc-intervals
5985 (package
5986 (name "ghc-intervals")
5987 (version "0.8.1")
5988 (source
5989 (origin
5990 (method url-fetch)
5991 (uri (string-append "https://hackage.haskell.org/package/"
5992 "intervals/intervals-" version ".tar.gz"))
5993 (sha256
5994 (base32
5995 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
5996 (build-system haskell-build-system)
5997 (inputs
5998 `(("ghc-distributive" ,ghc-distributive)))
5999 (native-inputs
6000 `(("cabal-doctest" ,cabal-doctest)
6001 ("ghc-doctest" ,ghc-doctest)
6002 ("ghc-quickcheck" ,ghc-quickcheck)))
6003 (arguments
6004 `(#:cabal-revision
6005 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6006 (home-page "https://github.com/ekmett/intervals")
6007 (synopsis "Interval arithmetic")
6008 (description "This library provides
6009@code{Numeric.Interval.Interval}, which represets a closed, convex set
6010of floating point values.")
6011 (license license:bsd-3)))
6012
dddbc90c
RV
6013(define-public ghc-invariant
6014 (package
6015 (name "ghc-invariant")
d3a0e0b4 6016 (version "0.5.3")
dddbc90c
RV
6017 (source
6018 (origin
6019 (method url-fetch)
6020 (uri (string-append
6021 "https://hackage.haskell.org/package/invariant/invariant-"
6022 version ".tar.gz"))
6023 (sha256
6024 (base32
d3a0e0b4 6025 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6026 (build-system haskell-build-system)
6027 (inputs
6028 `(("ghc-bifunctors" ,ghc-bifunctors)
6029 ("ghc-comonad" ,ghc-comonad)
6030 ("ghc-contravariant" ,ghc-contravariant)
6031 ("ghc-profunctors" ,ghc-profunctors)
6032 ("ghc-semigroups" ,ghc-semigroups)
6033 ("ghc-statevar" ,ghc-statevar)
6034 ("ghc-tagged" ,ghc-tagged)
6035 ("ghc-th-abstraction" ,ghc-th-abstraction)
6036 ("ghc-transformers-compat" ,ghc-transformers-compat)
6037 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6038 (native-inputs
6039 `(("ghc-hspec" ,ghc-hspec)
6040 ("ghc-quickcheck" ,ghc-quickcheck)
6041 ("hspec-discover" ,hspec-discover)))
6042 (home-page "https://github.com/nfrisby/invariant-functors")
6043 (synopsis "Haskell98 invariant functors")
6044 (description "Haskell98 invariant functors (also known as exponential
6045functors). For more information, see Edward Kmett's article
6046@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6047 (license license:bsd-2)))
6048
6049(define-public ghc-io-streams
6050 (package
6051 (name "ghc-io-streams")
59e98d75 6052 (version "1.5.1.0")
dddbc90c
RV
6053 (source
6054 (origin
6055 (method url-fetch)
6056 (uri (string-append "https://hackage.haskell.org/package/"
6057 "io-streams/io-streams-" version ".tar.gz"))
6058 (sha256
6059 (base32
59e98d75 6060 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6061 (build-system haskell-build-system)
6062 (inputs
6063 `(("ghc-attoparsec" ,ghc-attoparsec)
6064 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6065 ("ghc-network" ,ghc-network)
6066 ("ghc-primitive" ,ghc-primitive)
6067 ("ghc-vector" ,ghc-vector)
6068 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6069 (native-inputs
6070 `(("ghc-hunit" ,ghc-hunit)
6071 ("ghc-quickcheck" ,ghc-quickcheck)
6072 ("ghc-test-framework" ,ghc-test-framework)
6073 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6074 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6075 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
6076 (home-page "http://hackage.haskell.org/package/io-streams")
6077 (synopsis "Simple and composable stream I/O")
6078 (description "This library contains simple and easy-to-use
6079primitives for I/O using streams.")
6080 (license license:bsd-3)))
6081
6082(define-public ghc-io-streams-haproxy
6083 (package
6084 (name "ghc-io-streams-haproxy")
1a4fbc36 6085 (version "1.0.1.0")
dddbc90c
RV
6086 (source
6087 (origin
6088 (method url-fetch)
6089 (uri (string-append "https://hackage.haskell.org/package/"
6090 "io-streams-haproxy/io-streams-haproxy-"
6091 version ".tar.gz"))
6092 (sha256
6093 (base32
1a4fbc36 6094 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6095 (build-system haskell-build-system)
6096 (inputs
6097 `(("ghc-attoparsec" ,ghc-attoparsec)
6098 ("ghc-io-streams" ,ghc-io-streams)
6099 ("ghc-network" ,ghc-network)))
6100 (native-inputs
6101 `(("ghc-hunit" ,ghc-hunit)
6102 ("ghc-test-framework" ,ghc-test-framework)
6103 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6104 (home-page "http://snapframework.com/")
6105 (synopsis "HAProxy protocol 1.5 support for io-streams")
6106 (description "HAProxy protocol version 1.5 support
6107(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6108for applications using io-streams. The proxy protocol allows information
6109about a networked peer (like remote address and port) to be propagated
6110through a forwarding proxy that is configured to speak this protocol.")
6111 (license license:bsd-3)))
6112
6113(define-public ghc-iproute
6114 (package
6115 (name "ghc-iproute")
ec25d536 6116 (version "1.7.7")
dddbc90c
RV
6117 (source
6118 (origin
6119 (method url-fetch)
6120 (uri (string-append
6121 "https://hackage.haskell.org/package/iproute/iproute-"
6122 version
6123 ".tar.gz"))
6124 (sha256
6125 (base32
ec25d536 6126 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6127 (build-system haskell-build-system)
6128 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6129 ; exported by ghc-byteorder. Doctest issue.
6130 (inputs
6131 `(("ghc-appar" ,ghc-appar)
6132 ("ghc-byteorder" ,ghc-byteorder)
6133 ("ghc-network" ,ghc-network)
6134 ("ghc-safe" ,ghc-safe)))
6135 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6136 (synopsis "IP routing table")
6137 (description "IP Routing Table is a tree of IP ranges to search one of
6138them on the longest match base. It is a kind of TRIE with one way branching
6139removed. Both IPv4 and IPv6 are supported.")
6140 (license license:bsd-3)))
6141
4828e54e
TS
6142(define-public ghc-ipynb
6143 (package
6144 (name "ghc-ipynb")
6145 (version "0.1")
6146 (source
6147 (origin
6148 (method url-fetch)
6149 (uri (string-append "https://hackage.haskell.org/package/"
6150 "ipynb/ipynb-" version ".tar.gz"))
6151 (sha256
6152 (base32
6153 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6154 (build-system haskell-build-system)
6155 (inputs
6156 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6157 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6158 ("ghc-aeson" ,ghc-aeson)
6159 ("ghc-semigroups" ,ghc-semigroups)))
6160 (native-inputs
6161 `(("ghc-tasty" ,ghc-tasty)
6162 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6163 ("ghc-aeson-diff" ,ghc-aeson-diff)
6164 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6165 ("ghc-microlens" ,ghc-microlens)
6166 ("ghc-vector" ,ghc-vector)))
6167 (home-page "https://hackage.haskell.org/package/ipynb")
6168 (synopsis "Data structure for working with Jupyter notebooks")
6169 (description "This library defines a data structure for representing
6170Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6171instances for conversion to and from JSON .ipynb files.")
6172 (license license:bsd-3)))
6173
dddbc90c
RV
6174(define-public ghc-iwlib
6175 (package
6176 (name "ghc-iwlib")
6177 (version "0.1.0")
6178 (source
6179 (origin
6180 (method url-fetch)
6181 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6182 version ".tar.gz"))
6183 (sha256
6184 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6185 (build-system haskell-build-system)
6186 (inputs
6187 `(("wireless-tools" ,wireless-tools)))
6188 (home-page "https://github.com/jaor/iwlib")
6189 (synopsis "Haskell binding to the iw wireless networking library")
6190 (description
6191 "IWlib is a thin Haskell binding to the iw C library. It provides
6192information about the current wireless network connections, and adapters on
6193supported systems.")
6194 (license license:bsd-3)))
6195
6196(define-public ghc-json
6197 (package
6198 (name "ghc-json")
0ad3d574 6199 (version "0.9.3")
dddbc90c
RV
6200 (source
6201 (origin
6202 (method url-fetch)
6203 (uri (string-append "https://hackage.haskell.org/package/json/"
6204 "json-" version ".tar.gz"))
6205 (sha256
6206 (base32
0ad3d574 6207 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6208 (build-system haskell-build-system)
6209 (inputs
6210 `(("ghc-syb" ,ghc-syb)))
6211 (home-page "https://hackage.haskell.org/package/json")
6212 (synopsis "Serializes Haskell data to and from JSON")
6213 (description "This package provides a parser and pretty printer for
6214converting between Haskell values and JSON.
6215JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6216 (license license:bsd-3)))
6217
6218(define-public ghc-juicypixels
6219 (package
6220 (name "ghc-juicypixels")
b50b6004 6221 (version "3.3.4")
dddbc90c
RV
6222 (source (origin
6223 (method url-fetch)
6224 (uri (string-append "https://hackage.haskell.org/package/"
6225 "JuicyPixels/JuicyPixels-"
6226 version ".tar.gz"))
6227 (sha256
6228 (base32
b50b6004 6229 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6230 (build-system haskell-build-system)
6231 (inputs
6232 `(("ghc-zlib" ,ghc-zlib)
6233 ("ghc-vector" ,ghc-vector)
6234 ("ghc-primitive" ,ghc-primitive)
6235 ("ghc-mmap" ,ghc-mmap)))
6236 (home-page "https://github.com/Twinside/Juicy.Pixels")
6237 (synopsis "Picture loading and serialization library")
6238 (description
6239 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6240TIFF and GIF formats.")
6241 (license license:bsd-3)))
6242
6243(define-public ghc-kan-extensions
6244 (package
6245 (name "ghc-kan-extensions")
6246 (version "5.2")
6247 (source
6248 (origin
6249 (method url-fetch)
6250 (uri (string-append
6251 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6252 version
6253 ".tar.gz"))
6254 (sha256
6255 (base32
6256 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6257 (build-system haskell-build-system)
6258 (inputs
6259 `(("ghc-adjunctions" ,ghc-adjunctions)
6260 ("ghc-comonad" ,ghc-comonad)
6261 ("ghc-contravariant" ,ghc-contravariant)
6262 ("ghc-distributive" ,ghc-distributive)
6263 ("ghc-free" ,ghc-free)
6264 ("ghc-invariant" ,ghc-invariant)
6265 ("ghc-semigroupoids" ,ghc-semigroupoids)
6266 ("ghc-tagged" ,ghc-tagged)
6267 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6268 (home-page "https://github.com/ekmett/kan-extensions/")
6269 (synopsis "Kan extensions library")
6270 (description "This library provides Kan extensions, Kan lifts, various
6271forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6272 (license license:bsd-3)))
6273
6274(define-public ghc-language-c
6275 (package
6276 (name "ghc-language-c")
4e1cf651 6277 (version "0.8.3")
dddbc90c
RV
6278 (source
6279 (origin
6280 (method url-fetch)
6281 (uri (string-append "https://hackage.haskell.org/package/"
6282 "language-c/language-c-" version ".tar.gz"))
6283 (sha256
6284 (base32
4e1cf651 6285 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6286 (build-system haskell-build-system)
6287 (inputs `(("ghc-syb" ,ghc-syb)))
6288 (native-inputs
6289 `(("ghc-happy" ,ghc-happy)
6290 ("ghc-alex" ,ghc-alex)))
6291 (home-page "https://visq.github.io/language-c/")
6292 (synopsis "Analysis and generation of C code")
6293 (description
6294 "Language C is a Haskell library for the analysis and generation of C code.
6295It features a complete, well-tested parser and pretty printer for all of C99
6296and a large set of GNU extensions.")
6297 (license license:bsd-3)))
6298
6299(define-public ghc-language-glsl
6300 (package
6301 (name "ghc-language-glsl")
6302 (version "0.3.0")
6303 (source
6304 (origin
6305 (method url-fetch)
6306 (uri (string-append "https://hackage.haskell.org/package/"
6307 "language-glsl/language-glsl-" version ".tar.gz"))
6308 (sha256
6309 (base32
6310 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6311 (build-system haskell-build-system)
6312 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6313 (arguments
6314 `(#:tests? #f
6315 #:cabal-revision
6316 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6317 (home-page "http://hackage.haskell.org/package/language-glsl")
6318 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6319 (description "This package is a Haskell library for the
6320representation, parsing, and pretty-printing of GLSL 1.50 code.")
6321 (license license:bsd-3)))
6322
6323(define-public ghc-language-haskell-extract
6324 (package
6325 (name "ghc-language-haskell-extract")
6326 (version "0.2.4")
6327 (source
6328 (origin
6329 (method url-fetch)
6330 (uri (string-append "https://hackage.haskell.org/package/"
6331 "language-haskell-extract-" version "/"
6332 "language-haskell-extract-" version ".tar.gz"))
6333 (sha256
6334 (base32
6335 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6336 (build-system haskell-build-system)
6337 (inputs
6338 `(("ghc-regex-posix" ,ghc-regex-posix)))
6339 (home-page "https://github.com/finnsson/template-helper")
6340 (synopsis "Haskell module to automatically extract functions from
6341the local code")
6342 (description "This package contains helper functions on top of
6343Template Haskell.
6344
6345For example, @code{functionExtractor} extracts all functions after a
6346regexp-pattern, which can be useful if you wish to extract all functions
6347beginning with @code{test} (for a test framework) or all functions beginning
6348with @code{wc} (for a web service).")
6349 (license license:bsd-3)))
6350
6351(define-public ghc-lens
6352 (package
6353 (name "ghc-lens")
262e6323 6354 (version "4.17.1")
dddbc90c
RV
6355 (source
6356 (origin
6357 (method url-fetch)
6358 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6359 version ".tar.gz"))
6360 (sha256
6361 (base32
262e6323 6362 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6363 (build-system haskell-build-system)
dddbc90c
RV
6364 (inputs
6365 `(("ghc-base-orphans" ,ghc-base-orphans)
6366 ("ghc-bifunctors" ,ghc-bifunctors)
6367 ("ghc-distributive" ,ghc-distributive)
6368 ("ghc-exceptions" ,ghc-exceptions)
6369 ("ghc-free" ,ghc-free)
6370 ("ghc-kan-extensions" ,ghc-kan-extensions)
6371 ("ghc-parallel" ,ghc-parallel)
6372 ("ghc-reflection" ,ghc-reflection)
6373 ("ghc-semigroupoids" ,ghc-semigroupoids)
6374 ("ghc-vector" ,ghc-vector)
6375 ("ghc-call-stack" ,ghc-call-stack)
6376 ("ghc-comonad" ,ghc-comonad)
6377 ("ghc-contravariant" ,ghc-contravariant)
6378 ("ghc-hashable" ,ghc-hashable)
6379 ("ghc-profunctors" ,ghc-profunctors)
6380 ("ghc-semigroups" ,ghc-semigroups)
6381 ("ghc-tagged" ,ghc-tagged)
6382 ("ghc-transformers-compat" ,ghc-transformers-compat)
6383 ("ghc-unordered-containers" ,ghc-unordered-containers)
6384 ("ghc-void" ,ghc-void)
6385 ("ghc-generic-deriving" ,ghc-generic-deriving)
6386 ("ghc-nats" ,ghc-nats)
6387 ("ghc-simple-reflect" ,ghc-simple-reflect)
6388 ("hlint" ,hlint)))
6389 (native-inputs
6390 `(("cabal-doctest" ,cabal-doctest)
6391 ("ghc-doctest" ,ghc-doctest)
6392 ("ghc-hunit" ,ghc-hunit)
6393 ("ghc-test-framework" ,ghc-test-framework)
6394 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6395 ("ghc-test-framework-th" ,ghc-test-framework-th)
6396 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6397 ("ghc-quickcheck" ,ghc-quickcheck)))
6398 (home-page "https://github.com/ekmett/lens/")
6399 (synopsis "Lenses, Folds and Traversals")
6400 (description "This library provides @code{Control.Lens}. The combinators
6401in @code{Control.Lens} provide a highly generic toolbox for composing families
6402of getters, folds, isomorphisms, traversals, setters and lenses and their
6403indexed variants.")
6404 (license license:bsd-3)))
6405
6406(define-public ghc-libffi
6407 (package
6408 (name "ghc-libffi")
6409 (version "0.1")
6410 (source
6411 (origin
6412 (method url-fetch)
6413 (uri (string-append "https://hackage.haskell.org/package/"
6414 "libffi/libffi-" version ".tar.gz"))
6415 (sha256
6416 (base32
6417 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6418 (build-system haskell-build-system)
6419 (native-inputs `(("pkg-config" ,pkg-config)))
6420 (inputs `(("libffi" ,libffi)))
6421 (home-page "http://hackage.haskell.org/package/libffi")
6422 (synopsis "Haskell binding to libffi")
6423 (description
6424 "A binding to libffi, allowing C functions of types only known at runtime
6425to be called from Haskell.")
6426 (license license:bsd-3)))
6427
6428(define-public ghc-libmpd
6429 (package
6430 (name "ghc-libmpd")
bbf9845f 6431 (version "0.9.0.10")
dddbc90c
RV
6432 (source
6433 (origin
6434 (method url-fetch)
6435 (uri (string-append
6436 "mirror://hackage/package/libmpd/libmpd-"
6437 version
6438 ".tar.gz"))
6439 (sha256
6440 (base32
bbf9845f 6441 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6442 (build-system haskell-build-system)
6443 ;; Tests fail on i686.
6444 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6445 (arguments `(#:tests? #f))
6446 (inputs
6447 `(("ghc-attoparsec" ,ghc-attoparsec)
6448 ("ghc-old-locale" ,ghc-old-locale)
6449 ("ghc-data-default-class" ,ghc-data-default-class)
6450 ("ghc-network" ,ghc-network)
bbf9845f 6451 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6452 ("ghc-utf8-string" ,ghc-utf8-string)))
6453 (native-inputs
6454 `(("ghc-quickcheck" ,ghc-quickcheck)
6455 ("ghc-hspec" ,ghc-hspec)
6456 ("hspec-discover" ,hspec-discover)))
6457 (home-page "https://github.com/vimus/libmpd-haskell")
6458 (synopsis "Haskell client library for the Music Player Daemon")
6459 (description "This package provides a pure Haskell client library for the
6460Music Player Daemon.")
6461 (license license:expat)))
6462
e34df1c3
TS
6463(define-public ghc-lib-parser
6464 (package
6465 (name "ghc-lib-parser")
6466 (version "8.8.0.20190424")
6467 (source
6468 (origin
6469 (method url-fetch)
6470 (uri (string-append "https://hackage.haskell.org/package/"
6471 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6472 (sha256
6473 (base32
6474 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6475 (build-system haskell-build-system)
6476 (native-inputs
6477 `(("ghc-alex" ,ghc-alex)
6478 ("ghc-happy" ,ghc-happy)))
6479 (home-page "https://github.com/digital-asset/ghc-lib")
6480 (synopsis "The GHC API, decoupled from GHC versions")
6481 (description "This library implements the GHC API. It is like the
6482compiler-provided @code{ghc} package, but it can be loaded on many
6483compiler versions.")
6484 (license license:bsd-3)))
6485
dddbc90c
RV
6486(define-public ghc-libxml
6487 (package
6488 (name "ghc-libxml")
6489 (version "0.1.1")
6490 (source
6491 (origin
6492 (method url-fetch)
6493 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6494 "libxml-" version ".tar.gz"))
6495 (sha256
6496 (base32
6497 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6498 (build-system haskell-build-system)
6499 (inputs
6500 `(("libxml2" ,libxml2)))
6501 (arguments
6502 `(#:configure-flags
6503 `(,(string-append "--extra-include-dirs="
6504 (assoc-ref %build-inputs "libxml2")
6505 "/include/libxml2"))))
6506 (home-page "https://hackage.haskell.org/package/libxml")
6507 (synopsis "Haskell bindings to libxml2")
6508 (description
6509 "This library provides minimal Haskell binding to libxml2.")
6510 (license license:bsd-3)))
6511
0c2d6fc2
TS
6512(define-public ghc-libyaml
6513 (package
6514 (name "ghc-libyaml")
6515 (version "0.1.1.0")
6516 (source
6517 (origin
6518 (method url-fetch)
6519 (uri (string-append "https://hackage.haskell.org/package/"
6520 "libyaml/libyaml-" version ".tar.gz"))
6521 (sha256
6522 (base32
6523 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6524 (modules '((guix build utils)))
6525 (snippet
6526 ;; Delete bundled LibYAML.
6527 '(begin
6528 (delete-file-recursively "libyaml_src")
6529 #t))))
6530 (build-system haskell-build-system)
6531 (arguments
6532 `(#:configure-flags `("--flags=system-libyaml")))
6533 (inputs
6534 `(("ghc-conduit" ,ghc-conduit)
6535 ("ghc-resourcet" ,ghc-resourcet)
6536 ("libyaml" ,libyaml-2.1)))
6537 (home-page "https://github.com/snoyberg/yaml#readme")
6538 (synopsis "Low-level, streaming YAML interface.")
6539 (description "This package provides a Haskell wrapper over the
6540LibYAML C library.")
6541 (license license:bsd-3)))
6542
dddbc90c
RV
6543(define-public ghc-lifted-async
6544 (package
6545 (name "ghc-lifted-async")
b5b6d7ea 6546 (version "0.10.0.4")
dddbc90c
RV
6547 (source
6548 (origin
6549 (method url-fetch)
6550 (uri (string-append
6551 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6552 version ".tar.gz"))
6553 (sha256
6554 (base32
b5b6d7ea 6555 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6556 (build-system haskell-build-system)
6557 (inputs
6558 `(("ghc-async" ,ghc-async)
6559 ("ghc-lifted-base" ,ghc-lifted-base)
6560 ("ghc-transformers-base" ,ghc-transformers-base)
6561 ("ghc-monad-control" ,ghc-monad-control)
6562 ("ghc-constraints" ,ghc-constraints)
6563 ("ghc-hunit" ,ghc-hunit)
6564 ("ghc-tasty" ,ghc-tasty)
6565 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6566 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6567 ("ghc-tasty-th" ,ghc-tasty-th)))
6568 (home-page "https://github.com/maoe/lifted-async")
6569 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6570 (description
6571 "This package provides IO operations from @code{async} package lifted to any
6572instance of @code{MonadBase} or @code{MonadBaseControl}.")
6573 (license license:bsd-3)))
6574
6575(define-public ghc-lifted-base
6576 (package
6577 (name "ghc-lifted-base")
6578 (version "0.2.3.12")
6579 (source
6580 (origin
6581 (method url-fetch)
6582 (uri (string-append
6583 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6584 version
6585 ".tar.gz"))
6586 (sha256
6587 (base32
6588 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6589 (build-system haskell-build-system)
6590 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6591 (inputs
6592 `(("ghc-transformers-base" ,ghc-transformers-base)
6593 ("ghc-monad-control" ,ghc-monad-control)
6594 ("ghc-transformers-compat" ,ghc-transformers-compat)
6595 ("ghc-hunit" ,ghc-hunit)))
6596 (home-page "https://github.com/basvandijk/lifted-base")
6597 (synopsis "Lifted IO operations from the base library")
6598 (description "Lifted-base exports IO operations from the @code{base}
6599library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6600Note that not all modules from @code{base} are converted yet. The package
6601includes a copy of the @code{monad-peel} test suite written by Anders
6602Kaseorg.")
6603 (license license:bsd-3)))
6604
6605(define-public ghc-linear
6606 (package
6607 (name "ghc-linear")
86526f37 6608 (version "1.20.9")
dddbc90c
RV
6609 (source
6610 (origin
6611 (method url-fetch)
6612 (uri (string-append "https://hackage.haskell.org/package/linear/"
6613 "linear-" version ".tar.gz"))
6614 (sha256
6615 (base32
86526f37 6616 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6617 (build-system haskell-build-system)
6618 (inputs
6619 `(("ghc-adjunctions" ,ghc-adjunctions)
6620 ("ghc-base-orphans" ,ghc-base-orphans)
6621 ("ghc-bytes" ,ghc-bytes)
6622 ("ghc-cereal" ,ghc-cereal)
6623 ("ghc-distributive" ,ghc-distributive)
6624 ("ghc-hashable" ,ghc-hashable)
6625 ("ghc-lens" ,ghc-lens)
6626 ("ghc-reflection" ,ghc-reflection)
6627 ("ghc-semigroups" ,ghc-semigroups)
6628 ("ghc-semigroupoids" ,ghc-semigroupoids)
6629 ("ghc-tagged" ,ghc-tagged)
6630 ("ghc-transformers-compat" ,ghc-transformers-compat)
6631 ("ghc-unordered-containers" ,ghc-unordered-containers)
6632 ("ghc-vector" ,ghc-vector)
6633 ("ghc-void" ,ghc-void)))
6634 (native-inputs
6635 `(("cabal-doctest" ,cabal-doctest)
6636 ("ghc-doctest" ,ghc-doctest)
6637 ("ghc-simple-reflect" ,ghc-simple-reflect)
6638 ("ghc-test-framework" ,ghc-test-framework)
6639 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6640 ("ghc-hunit" ,ghc-hunit)))
6641 (home-page "http://github.com/ekmett/linear/")
6642 (synopsis "Linear algebra library for Haskell")
6643 (description
6644 "This package provides types and combinators for linear algebra on free
6645vector spaces.")
6646 (license license:bsd-3)))
1307e4c7
JS
6647
6648(define-public ghc-listlike
6649 (package
6650 (name "ghc-listlike")
6651 (version "4.6.2")
6652 (source
6653 (origin
6654 (method url-fetch)
6655 (uri
6656 (string-append
6657 "https://hackage.haskell.org/package/ListLike/ListLike-"
6658 version ".tar.gz"))
6659 (sha256
6660 (base32
6661 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6662 (build-system haskell-build-system)
6663 (inputs
6664 `(("ghc-vector" ,ghc-vector)
6665 ("ghc-dlist" ,ghc-dlist)
6666 ("ghc-fmlist" ,ghc-fmlist)
6667 ("ghc-hunit" ,ghc-hunit)
6668 ("ghc-quickcheck" ,ghc-quickcheck)
6669 ("ghc-random" ,ghc-random)
6670 ("ghc-utf8-string" ,ghc-utf8-string)))
6671 (home-page "https://github.com/JohnLato/listlike")
6672 (synopsis "Generic support for list-like structures")
6673 (description "The ListLike module provides a common interface to the
6674various Haskell types that are list-like. Predefined interfaces include
6675standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6676Custom types can easily be made ListLike instances as well.
6677
6678ListLike also provides for String-like types, such as String and
6679ByteString, for types that support input and output, and for types that
6680can handle infinite lists.")
6681 (license license:bsd-3)))
dddbc90c
RV
6682
6683(define-public ghc-logging-facade
6684 (package
6685 (name "ghc-logging-facade")
6686 (version "0.3.0")
6687 (source (origin
6688 (method url-fetch)
6689 (uri (string-append "https://hackage.haskell.org/package/"
6690 "logging-facade/logging-facade-"
6691 version ".tar.gz"))
6692 (sha256
6693 (base32
6694 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6695 (build-system haskell-build-system)
6696 (native-inputs
6697 `(("ghc-hspec" ,ghc-hspec)
6698 ("hspec-discover" ,hspec-discover)))
6699 (home-page "https://hackage.haskell.org/package/logging-facade")
6700 (synopsis "Simple logging abstraction that allows multiple back-ends")
6701 (description
6702 "This package provides a simple logging abstraction that allows multiple
6703back-ends.")
6704 (license license:expat)))
6705
6706(define-public ghc-logict
6707 (package
6708 (name "ghc-logict")
79d9326f 6709 (version "0.7.0.2")
dddbc90c
RV
6710 (source
6711 (origin
6712 (method url-fetch)
6713 (uri (string-append
6714 "https://hackage.haskell.org/package/logict/logict-"
6715 version
6716 ".tar.gz"))
6717 (sha256
6718 (base32
79d9326f 6719 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6720 (build-system haskell-build-system)
79d9326f
TS
6721 (native-inputs
6722 `(("ghc-tasty" ,ghc-tasty)
6723 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6724 (home-page "http://code.haskell.org/~dolio/")
6725 (synopsis "Backtracking logic-programming monad")
6726 (description "This library provides a continuation-based, backtracking,
6727logic programming monad. An adaptation of the two-continuation implementation
6728found in the paper \"Backtracking, Interleaving, and Terminating Monad
6729Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6730online}.")
6731 (license license:bsd-3)))
6732
6733(define-public ghc-lzma
6734 (package
6735 (name "ghc-lzma")
6736 (version "0.0.0.3")
6737 (source
6738 (origin
6739 (method url-fetch)
6740 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6741 "lzma-" version ".tar.gz"))
6742 (sha256
6743 (base32
6744 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6745 (build-system haskell-build-system)
6746 (arguments
6747 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6748 #:cabal-revision
6749 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6750 (native-inputs
6751 `(("ghc-hunit" ,ghc-hunit)
6752 ("ghc-quickcheck" ,ghc-quickcheck)
6753 ("ghc-tasty" ,ghc-tasty)
6754 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6755 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6756 (home-page "https://github.com/hvr/lzma")
6757 (synopsis "LZMA/XZ compression and decompression")
6758 (description
6759 "This package provides a pure interface for compressing and
6760decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6761monadic incremental interface is provided as well.")
6762 (license license:bsd-3)))
6763
6764(define-public ghc-lzma-conduit
6765 (package
6766 (name "ghc-lzma-conduit")
6767 (version "1.2.1")
6768 (source
6769 (origin
6770 (method url-fetch)
6771 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6772 "lzma-conduit-" version ".tar.gz"))
6773 (sha256
6774 (base32
6775 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6776 (build-system haskell-build-system)
6777 (inputs
6778 `(("ghc-conduit" ,ghc-conduit)
6779 ("ghc-lzma" ,ghc-lzma)
6780 ("ghc-resourcet" ,ghc-resourcet)))
6781 (native-inputs
6782 `(("ghc-base-compat" ,ghc-base-compat)
6783 ("ghc-test-framework" ,ghc-test-framework)
6784 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6785 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6786 ("ghc-hunit" ,ghc-hunit)
6787 ("ghc-quickcheck" ,ghc-quickcheck)))
6788 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6789 (synopsis "Conduit interface for lzma/xz compression")
6790 (description
6791 "This package provides a @code{Conduit} interface for the LZMA
6792compression algorithm used in the @code{.xz} file format.")
6793 (license license:bsd-3)))
6794
e405912c
KM
6795(define-public ghc-magic
6796 (package
6797 (name "ghc-magic")
6798 (version "1.1")
6799 (source
6800 (origin
6801 (method url-fetch)
6802 (uri (string-append
6803 "https://hackage.haskell.org/package/magic/magic-"
6804 version ".tar.gz"))
6805 (sha256
6806 (base32
6807 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6808 (build-system haskell-build-system)
6809 (home-page "http://hackage.haskell.org/package/magic")
6810 (synopsis "Interface to C file/magic library")
6811 (description
6812 "This package provides a full-featured binding to the C libmagic library.
6813With it, you can determine the type of a file by examining its contents rather
6814than its name.")
6815 (license license:bsd-3)))
6816
dddbc90c
RV
6817(define-public ghc-markdown-unlit
6818 (package
6819 (name "ghc-markdown-unlit")
6820 (version "0.5.0")
6821 (source (origin
6822 (method url-fetch)
6823 (uri (string-append
6824 "mirror://hackage/package/markdown-unlit/"
6825 "markdown-unlit-" version ".tar.gz"))
6826 (sha256
6827 (base32
6828 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6829 (build-system haskell-build-system)
6830 (inputs
6831 `(("ghc-base-compat" ,ghc-base-compat)
6832 ("ghc-hspec" ,ghc-hspec)
6833 ("ghc-quickcheck" ,ghc-quickcheck)
6834 ("ghc-silently" ,ghc-silently)
6835 ("ghc-stringbuilder" ,ghc-stringbuilder)
6836 ("ghc-temporary" ,ghc-temporary)
6837 ("hspec-discover" ,hspec-discover)))
6838 (home-page "https://github.com/sol/markdown-unlit#readme")
6839 (synopsis "Literate Haskell support for Markdown")
6840 (description "This package allows you to have a README.md that at the
6841same time is a literate Haskell program.")
6842 (license license:expat)))
6843
6844(define-public ghc-math-functions
6845 (package
6846 (name "ghc-math-functions")
b45de2bf 6847 (version "0.3.3.0")
dddbc90c
RV
6848 (source
6849 (origin
6850 (method url-fetch)
6851 (uri (string-append "https://hackage.haskell.org/package/"
6852 "math-functions-" version "/"
6853 "math-functions-" version ".tar.gz"))
6854 (sha256
6855 (base32
b45de2bf 6856 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6857 (build-system haskell-build-system)
6858 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6859 (inputs
b45de2bf
TS
6860 `(("ghc-data-default-class" ,ghc-data-default-class)
6861 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6862 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6863 (native-inputs
6864 `(("ghc-hunit" ,ghc-hunit)
6865 ("ghc-quickcheck" ,ghc-quickcheck)
6866 ("ghc-erf" ,ghc-erf)
6867 ("ghc-test-framework" ,ghc-test-framework)
6868 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6869 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6870 (home-page "https://github.com/bos/math-functions")
6871 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6872 (description "This Haskell library provides implementations of
6873special mathematical functions and Chebyshev polynomials. These
6874functions are often useful in statistical and numerical computing.")
6875 (license license:bsd-3)))
6876
6877(define-public ghc-megaparsec
6878 (package
6879 (name "ghc-megaparsec")
03b0c92e 6880 (version "7.0.5")
dddbc90c
RV
6881 (source
6882 (origin
6883 (method url-fetch)
6884 (uri (string-append "https://hackage.haskell.org/package/"
6885 "megaparsec/megaparsec-"
6886 version ".tar.gz"))
6887 (sha256
6888 (base32
03b0c92e 6889 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6890 (build-system haskell-build-system)
dddbc90c
RV
6891 (inputs
6892 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6893 ("ghc-parser-combinators" ,ghc-parser-combinators)
6894 ("ghc-scientific" ,ghc-scientific)))
6895 (native-inputs
6896 `(("ghc-quickcheck" ,ghc-quickcheck)
6897 ("ghc-hspec" ,ghc-hspec)
6898 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6899 ("hspec-discover" ,hspec-discover)))
6900 (home-page "https://github.com/mrkkrp/megaparsec")
6901 (synopsis "Monadic parser combinators")
6902 (description
6903 "This is an industrial-strength monadic parser combinator library.
6904Megaparsec is a feature-rich package that strikes a nice balance between
6905speed, flexibility, and quality of parse errors.")
6906 (license license:bsd-2)))
6907
6908(define-public ghc-memory
6909 (package
6910 (name "ghc-memory")
d2c7d336 6911 (version "0.14.18")
dddbc90c
RV
6912 (source (origin
6913 (method url-fetch)
6914 (uri (string-append "https://hackage.haskell.org/package/"
6915 "memory/memory-" version ".tar.gz"))
6916 (sha256
6917 (base32
d2c7d336 6918 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6919 (build-system haskell-build-system)
6920 (inputs
6921 `(("ghc-basement" ,ghc-basement)
6922 ("ghc-foundation" ,ghc-foundation)))
6923 (native-inputs
6924 `(("ghc-tasty" ,ghc-tasty)
6925 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6926 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6927 (home-page "https://github.com/vincenthz/hs-memory")
6928 (synopsis "Memory abstractions for Haskell")
6929 (description
6930 "This package provides memory abstractions, such as chunk of memory,
6931polymorphic byte array management and manipulation functions. It contains a
6932polymorphic byte array abstraction and functions similar to strict ByteString,
6933different type of byte array abstraction, raw memory IO operations (memory
6934set, memory copy, ..) and more")
6935 (license license:bsd-3)))
6936
6937(define-public ghc-memotrie
6938 (package
6939 (name "ghc-memotrie")
6940 (version "0.6.9")
6941 (source
6942 (origin
6943 (method url-fetch)
6944 (uri (string-append
6945 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6946 version
6947 ".tar.gz"))
6948 (sha256
6949 (base32
6950 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6951 (build-system haskell-build-system)
6952 (inputs
6953 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6954 (home-page "https://github.com/conal/MemoTrie")
6955 (synopsis "Trie-based memo functions")
6956 (description "This package provides a functional library for creating
6957efficient memo functions using tries.")
6958 (license license:bsd-3)))
6959
6960(define-public ghc-microlens
6961 (package
6962 (name "ghc-microlens")
82478c58 6963 (version "0.4.10")
dddbc90c
RV
6964 (source
6965 (origin
6966 (method url-fetch)
6967 (uri (string-append "https://hackage.haskell.org/package/"
6968 "microlens-" version "/"
6969 "microlens-" version ".tar.gz"))
6970 (sha256
6971 (base32
82478c58 6972 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6973 (build-system haskell-build-system)
6974 (home-page
6975 "https://github.com/aelve/microlens")
6976 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6977 (description "This Haskell package provides a lens library, just like
6978@code{ghc-lens}, but smaller. It provides essential lenses and
6979traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6980nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6981combinators (like @code{failing} and @code{singular}), but everything else is
6982stripped. As the result, this package has no dependencies.")
6983 (license license:bsd-3)))
6984
1cd3333e
TS
6985(define-public ghc-microlens-aeson
6986 (package
6987 (name "ghc-microlens-aeson")
6988 (version "2.3.0.4")
6989 (source
6990 (origin
6991 (method url-fetch)
6992 (uri (string-append "https://hackage.haskell.org/package/"
6993 "microlens-aeson/microlens-aeson-"
6994 version ".tar.gz"))
b4a00fec 6995 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
6996 (sha256
6997 (base32
6998 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
6999 (build-system haskell-build-system)
7000 (inputs
7001 `(("ghc-aeson" ,ghc-aeson)
7002 ("ghc-attoparsec" ,ghc-attoparsec)
7003 ("ghc-hashable" ,ghc-hashable)
7004 ("ghc-microlens" ,ghc-microlens)
7005 ("ghc-scientific" ,ghc-scientific)
7006 ("ghc-unordered-containers" ,ghc-unordered-containers)
7007 ("ghc-vector" ,ghc-vector)))
7008 (native-inputs
7009 `(("ghc-tasty" ,ghc-tasty)
7010 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7011 (home-page "https://github.com/fosskers/microlens-aeson")
7012 (synopsis "Law-abiding lenses for Aeson, using microlens")
7013 (description "This library provides law-abiding lenses for Aeson, using
7014microlens.")
7015 (license license:expat)))
7016
dddbc90c
RV
7017(define-public ghc-microlens-ghc
7018 (package
7019 (name "ghc-microlens-ghc")
027beb55 7020 (version "0.4.10")
dddbc90c
RV
7021 (source
7022 (origin
7023 (method url-fetch)
7024 (uri (string-append
7025 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7026 version
7027 ".tar.gz"))
7028 (sha256
7029 (base32
027beb55 7030 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7031 (build-system haskell-build-system)
7032 (inputs `(("ghc-microlens" ,ghc-microlens)))
7033 (home-page "https://github.com/monadfix/microlens")
7034 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7035 (description "This library provides everything that @code{microlens}
7036provides plus instances to make @code{each}, @code{at}, and @code{ix}
7037usable with arrays, @code{ByteString}, and containers. This package is
7038a part of the @uref{http://hackage.haskell.org/package/microlens,
7039microlens} family; see the readme
7040@uref{https://github.com/aelve/microlens#readme, on Github}.")
7041 (license license:bsd-3)))
7042
7043(define-public ghc-microlens-mtl
7044 (package
7045 (name "ghc-microlens-mtl")
7046 (version "0.1.11.1")
7047 (source
7048 (origin
7049 (method url-fetch)
7050 (uri (string-append
7051 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7052 version
7053 ".tar.gz"))
7054 (sha256
7055 (base32
7056 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7057 (build-system haskell-build-system)
7058 (inputs
7059 `(("ghc-microlens" ,ghc-microlens)
7060 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7061 (home-page "https://github.com/monadfix/microlens")
7062 (synopsis
7063 "@code{microlens} support for Reader/Writer/State from mtl")
7064 (description
7065 "This package contains functions (like @code{view} or @code{+=}) which
7066work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7067mtl package. This package is a part of the
7068@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7069readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7070 (license license:bsd-3)))
7071
7072(define-public ghc-microlens-platform
7073 (package
7074 (name "ghc-microlens-platform")
85decc1f 7075 (version "0.3.11")
dddbc90c
RV
7076 (source
7077 (origin
7078 (method url-fetch)
7079 (uri (string-append
7080 "https://hackage.haskell.org/package/"
7081 "microlens-platform/microlens-platform-" version ".tar.gz"))
7082 (sha256
7083 (base32
85decc1f 7084 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7085 (build-system haskell-build-system)
7086 (inputs
7087 `(("ghc-hashable" ,ghc-hashable)
7088 ("ghc-microlens" ,ghc-microlens)
7089 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7090 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7091 ("ghc-microlens-th" ,ghc-microlens-th)
7092 ("ghc-unordered-containers" ,ghc-unordered-containers)
7093 ("ghc-vector" ,ghc-vector)))
7094 (home-page "https://github.com/monadfix/microlens")
7095 (synopsis "Feature-complete microlens")
7096 (description
7097 "This package exports a module which is the recommended starting point
7098for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7099you aren't trying to keep your dependencies minimal. By importing
7100@code{Lens.Micro.Platform} you get all functions and instances from
7101@uref{http://hackage.haskell.org/package/microlens, microlens},
7102@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7103@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7104@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7105well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7106minor and major versions of @code{microlens-platform} are incremented whenever
7107the minor and major versions of any other @code{microlens} package are
7108incremented, so you can depend on the exact version of
7109@code{microlens-platform} without specifying the version of @code{microlens}
7110you need. This package is a part of the
7111@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7112readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7113 (license license:bsd-3)))
7114
7115(define-public ghc-microlens-th
7116 (package
7117 (name "ghc-microlens-th")
7ae52867 7118 (version "0.4.2.3")
dddbc90c
RV
7119 (source
7120 (origin
7121 (method url-fetch)
7122 (uri (string-append "https://hackage.haskell.org/package/"
7123 "microlens-th-" version "/"
7124 "microlens-th-" version ".tar.gz"))
7125 (sha256
7126 (base32
7ae52867 7127 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7128 (build-system haskell-build-system)
7ae52867
TS
7129 (arguments
7130 `(#:cabal-revision
7131 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7132 (inputs `(("ghc-microlens" ,ghc-microlens)
7133 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7134 (home-page
7135 "https://github.com/aelve/microlens")
7136 (synopsis "Automatic generation of record lenses for
7137@code{ghc-microlens}")
7138 (description "This Haskell package lets you automatically generate lenses
7139for data types; code was extracted from the lens package, and therefore
7140generated lenses are fully compatible with ones generated by lens (and can be
7141used both from lens and microlens).")
7142 (license license:bsd-3)))
7143
7144(define-public ghc-missingh
7145 (package
7146 (name "ghc-missingh")
641207cb 7147 (version "1.4.1.0")
dddbc90c
RV
7148 (source
7149 (origin
7150 (method url-fetch)
7151 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7152 "MissingH-" version ".tar.gz"))
7153 (sha256
7154 (base32
641207cb 7155 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7156 (build-system haskell-build-system)
7157 ;; Tests require the unmaintained testpack package, which depends on the
7158 ;; outdated QuickCheck version 2.7, which can no longer be built with
7159 ;; recent versions of GHC and Haskell libraries.
7160 (arguments '(#:tests? #f))
7161 (inputs
7162 `(("ghc-network" ,ghc-network)
7163 ("ghc-hunit" ,ghc-hunit)
7164 ("ghc-regex-compat" ,ghc-regex-compat)
7165 ("ghc-hslogger" ,ghc-hslogger)
7166 ("ghc-random" ,ghc-random)
7167 ("ghc-old-time" ,ghc-old-time)
7168 ("ghc-old-locale" ,ghc-old-locale)))
7169 (native-inputs
7170 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7171 ("ghc-quickcheck" ,ghc-quickcheck)
7172 ("ghc-hunit" ,ghc-hunit)))
7173 (home-page "http://software.complete.org/missingh")
7174 (synopsis "Large utility library")
7175 (description
7176 "MissingH is a library of all sorts of utility functions for Haskell
7177programmers. It is written in pure Haskell and thus should be extremely
7178portable and easy to use.")
7179 (license license:bsd-3)))
7180
7181(define-public ghc-mmap
7182 (package
7183 (name "ghc-mmap")
7184 (version "0.5.9")
7185 (source (origin
7186 (method url-fetch)
7187 (uri (string-append "https://hackage.haskell.org/package/"
7188 "mmap/mmap-" version ".tar.gz"))
7189 (sha256
7190 (base32
7191 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7192 (build-system haskell-build-system)
7193 (home-page "https://hackage.haskell.org/package/mmap")
7194 (synopsis "Memory mapped files for Haskell")
7195 (description
7196 "This library provides a wrapper to @code{mmap}, allowing files or
7197devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7198@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7199do on-demand loading.")
7200 (license license:bsd-3)))
7201
7202(define-public ghc-mmorph
7203 (package
7204 (name "ghc-mmorph")
e0389704 7205 (version "1.1.3")
dddbc90c
RV
7206 (source
7207 (origin
7208 (method url-fetch)
7209 (uri (string-append
7210 "https://hackage.haskell.org/package/mmorph/mmorph-"
7211 version
7212 ".tar.gz"))
7213 (sha256
7214 (base32
e0389704 7215 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7216 (build-system haskell-build-system)
7217 (inputs
7218 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7219 (home-page "https://hackage.haskell.org/package/mmorph")
7220 (synopsis "Monad morphisms")
7221 (description
7222 "This library provides monad morphism utilities, most commonly used for
7223manipulating monad transformer stacks.")
7224 (license license:bsd-3)))
7225
7226(define-public ghc-mockery
7227 (package
7228 (name "ghc-mockery")
7229 (version "0.3.5")
7230 (source (origin
7231 (method url-fetch)
7232 (uri (string-append "https://hackage.haskell.org/package/"
7233 "mockery/mockery-" version ".tar.gz"))
7234 (sha256
7235 (base32
7236 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7237 (build-system haskell-build-system)
7238 (inputs
7239 `(("ghc-temporary" ,ghc-temporary)
7240 ("ghc-logging-facade" ,ghc-logging-facade)
7241 ("ghc-base-compat" ,ghc-base-compat)))
7242 (native-inputs
7243 `(("ghc-hspec" ,ghc-hspec)
7244 ("hspec-discover" ,hspec-discover)))
7245 (home-page "https://hackage.haskell.org/package/mockery")
7246 (synopsis "Support functions for automated testing")
7247 (description
7248 "The mockery package provides support functions for automated testing.")
7249 (license license:expat)))
7250
7251(define-public ghc-monad-control
7252 (package
7253 (name "ghc-monad-control")
7254 (version "1.0.2.3")
7255 (source
7256 (origin
7257 (method url-fetch)
7258 (uri (string-append
7259 "https://hackage.haskell.org/package/monad-control"
7260 "/monad-control-" version ".tar.gz"))
7261 (sha256
7262 (base32
7263 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7264 (build-system haskell-build-system)
7265 (inputs
7266 `(("ghc-transformers-base" ,ghc-transformers-base)
7267 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7268 (home-page "https://github.com/basvandijk/monad-control")
7269 (synopsis "Monad transformers to lift control operations like exception
7270catching")
7271 (description "This package defines the type class @code{MonadBaseControl},
7272a subset of @code{MonadBase} into which generic control operations such as
7273@code{catch} can be lifted from @code{IO} or any other base monad.")
7274 (license license:bsd-3)))
7275
7276(define-public ghc-monad-logger
7277 (package
7278 (name "ghc-monad-logger")
26980aae 7279 (version "0.3.30")
dddbc90c
RV
7280 (source
7281 (origin
7282 (method url-fetch)
7283 (uri (string-append "https://hackage.haskell.org/package/"
7284 "monad-logger-" version "/"
7285 "monad-logger-" version ".tar.gz"))
7286 (sha256
7287 (base32
26980aae 7288 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7289 (build-system haskell-build-system)
7290 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7291 ("ghc-stm-chans" ,ghc-stm-chans)
7292 ("ghc-lifted-base" ,ghc-lifted-base)
7293 ("ghc-resourcet" ,ghc-resourcet)
7294 ("ghc-conduit" ,ghc-conduit)
7295 ("ghc-conduit-extra" ,ghc-conduit-extra)
7296 ("ghc-fast-logger" ,ghc-fast-logger)
7297 ("ghc-transformers-base" ,ghc-transformers-base)
7298 ("ghc-monad-control" ,ghc-monad-control)
7299 ("ghc-monad-loops" ,ghc-monad-loops)
7300 ("ghc-blaze-builder" ,ghc-blaze-builder)
7301 ("ghc-exceptions" ,ghc-exceptions)))
7302 (home-page "https://github.com/kazu-yamamoto/logger")
7303 (synopsis "Provides a class of monads which can log messages for Haskell")
7304 (description "This Haskell package uses a monad transformer approach
7305for logging.
7306
7307This package provides Template Haskell functions for determining source
7308code locations of messages.")
7309 (license license:expat)))
7310
7311(define-public ghc-monad-loops
7312 (package
7313 (name "ghc-monad-loops")
7314 (version "0.4.3")
7315 (source
7316 (origin
7317 (method url-fetch)
7318 (uri (string-append "https://hackage.haskell.org/package/"
7319 "monad-loops-" version "/"
7320 "monad-loops-" version ".tar.gz"))
7321 (sha256
7322 (base32
7323 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7324 (build-system haskell-build-system)
7325 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7326 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7327 (home-page "https://github.com/mokus0/monad-loops")
7328 (synopsis "Monadic loops for Haskell")
7329 (description "This Haskell package provides some useful control
7330operators for looping.")
7331 (license license:public-domain)))
7332
7333(define-public ghc-monad-par
7334 (package
7335 (name "ghc-monad-par")
7336 (version "0.3.4.8")
7337 (source
7338 (origin
7339 (method url-fetch)
7340 (uri (string-append "https://hackage.haskell.org/package/"
7341 "monad-par-" version "/"
7342 "monad-par-" version ".tar.gz"))
faac56f3 7343 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7344 (sha256
7345 (base32
7346 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7347 (build-system haskell-build-system)
7348 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7349 ("ghc-abstract-deque" ,ghc-abstract-deque)
7350 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7351 ("ghc-mwc-random" ,ghc-mwc-random)
7352 ("ghc-parallel" ,ghc-parallel)))
7353 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7354 ("ghc-hunit" ,ghc-hunit)
7355 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7356 ("ghc-test-framework-quickcheck2"
7357 ,ghc-test-framework-quickcheck2)
7358 ("ghc-test-framework" ,ghc-test-framework)
7359 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7360 (home-page "https://github.com/simonmar/monad-par")
7361 (synopsis "Haskell library for parallel programming based on a monad")
7362 (description "The @code{Par} monad offers an API for parallel
7363programming. The library works for parallelising both pure and @code{IO}
7364computations, although only the pure version is deterministic. The default
7365implementation provides a work-stealing scheduler and supports forking tasks
7366that are much lighter weight than IO-threads.")
7367 (license license:bsd-3)))
7368
7369(define-public ghc-monad-par-extras
7370 (package
7371 (name "ghc-monad-par-extras")
7372 (version "0.3.3")
7373 (source
7374 (origin
7375 (method url-fetch)
7376 (uri (string-append "https://hackage.haskell.org/package/"
7377 "monad-par-extras-" version "/"
7378 "monad-par-extras-" version ".tar.gz"))
7379 (sha256
7380 (base32
7381 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7382 (build-system haskell-build-system)
7383 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7384 ("ghc-cereal" ,ghc-cereal)
7385 ("ghc-random" ,ghc-random)))
7386 (home-page "https://github.com/simonmar/monad-par")
7387 (synopsis "Combinators and extra features for Par monads for Haskell")
7388 (description "This Haskell package provides additional data structures,
7389and other added capabilities layered on top of the @code{Par} monad.")
7390 (license license:bsd-3)))
7391
dddbc90c
RV
7392(define-public ghc-monadrandom
7393 (package
7394 (name "ghc-monadrandom")
7395 (version "0.5.1.1")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append "https://hackage.haskell.org/package/"
7400 "MonadRandom-" version "/"
7401 "MonadRandom-" version ".tar.gz"))
7402 (sha256
7403 (base32
7404 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7405 (build-system haskell-build-system)
7406 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7407 ("ghc-primitive" ,ghc-primitive)
7408 ("ghc-fail" ,ghc-fail)
7409 ("ghc-random" ,ghc-random)))
7410 (home-page "https://github.com/byorgey/MonadRandom")
7411 (synopsis "Random-number generation monad for Haskell")
7412 (description "This Haskell package provides support for computations
7413which consume random values.")
7414 (license license:bsd-3)))
7415
7416(define-public ghc-monads-tf
7417 (package
7418 (name "ghc-monads-tf")
7419 (version "0.1.0.3")
7420 (source
7421 (origin
7422 (method url-fetch)
7423 (uri (string-append
7424 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7425 version ".tar.gz"))
7426 (sha256
7427 (base32
7428 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7429 (build-system haskell-build-system)
7430 (home-page "https://hackage.haskell.org/package/monads-tf")
7431 (synopsis "Monad classes, using type families")
7432 (description
7433 "Monad classes using type families, with instances for various monad transformers,
7434inspired by the paper 'Functional Programming with Overloading and Higher-Order
7435Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7436the @code{mtl-tf} package.")
7437 (license license:bsd-3)))
7438
7439(define-public ghc-mono-traversable
7440 (package
7441 (name "ghc-mono-traversable")
23bb445b 7442 (version "1.0.13.0")
dddbc90c
RV
7443 (source
7444 (origin
7445 (method url-fetch)
7446 (uri (string-append "https://hackage.haskell.org/package/"
7447 "mono-traversable-" version "/"
7448 "mono-traversable-" version ".tar.gz"))
7449 (sha256
7450 (base32
23bb445b 7451 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7452 (build-system haskell-build-system)
7453 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7454 ("ghc-hashable" ,ghc-hashable)
7455 ("ghc-vector" ,ghc-vector)
7456 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7457 ("ghc-split" ,ghc-split)))
7458 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7459 ("ghc-hunit" ,ghc-hunit)
7460 ("ghc-quickcheck" ,ghc-quickcheck)
7461 ("ghc-semigroups" ,ghc-semigroups)
7462 ("ghc-foldl" ,ghc-foldl)))
7463 (home-page "https://github.com/snoyberg/mono-traversable")
7464 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7465containers")
7466 (description "This Haskell package provides Monomorphic variants of the
7467Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7468basic typeclasses, you understand mono-traversable. In addition to what
7469you are used to, it adds on an IsSequence typeclass and has code for marking
7470data structures as non-empty.")
7471 (license license:expat)))
7472
471e77cf
TS
7473(define-public ghc-monoid-extras
7474 (package
7475 (name "ghc-monoid-extras")
7476 (version "0.5.1")
7477 (source
7478 (origin
7479 (method url-fetch)
7480 (uri (string-append "https://hackage.haskell.org/package/"
7481 "monoid-extras/monoid-extras-" version ".tar.gz"))
7482 (sha256
7483 (base32
7484 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7485 (build-system haskell-build-system)
7486 (inputs
7487 `(("ghc-groups" ,ghc-groups)
7488 ("ghc-semigroups" ,ghc-semigroups)
7489 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7490 (arguments
7491 `(#:cabal-revision
7492 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7493 (home-page "https://hackage.haskell.org/package/monoid-extras")
7494 (synopsis "Various extra monoid-related definitions and utilities")
7495 (description "This package provides various extra monoid-related
7496definitions and utilities, such as monoid actions, monoid coproducts,
7497semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7498\"cut\" monoids.")
7499 (license license:bsd-3)))
7500
dddbc90c
RV
7501(define-public ghc-murmur-hash
7502 (package
7503 (name "ghc-murmur-hash")
7504 (version "0.1.0.9")
7505 (source
7506 (origin
7507 (method url-fetch)
7508 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7509 "/murmur-hash-" version ".tar.gz"))
7510 (sha256
7511 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7512 (build-system haskell-build-system)
7513 (home-page "https://github.com/nominolo/murmur-hash")
7514 (synopsis "MurmurHash2 implementation for Haskell")
7515 (description
7516 "This package provides an implementation of MurmurHash2, a good, fast,
7517general-purpose, non-cryptographic hashing function. See
7518@url{https://sites.google.com/site/murmurhash/} for details. This
7519implementation is pure Haskell, so it might be a bit slower than a C FFI
7520binding.")
7521 (license license:bsd-3)))
7522
7523(define-public ghc-mwc-random
7524 (package
7525 (name "ghc-mwc-random")
33268e2c 7526 (version "0.14.0.0")
dddbc90c
RV
7527 (source
7528 (origin
7529 (method url-fetch)
7530 (uri (string-append "https://hackage.haskell.org/package/"
7531 "mwc-random-" version "/"
7532 "mwc-random-" version ".tar.gz"))
7533 (sha256
7534 (base32
33268e2c 7535 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7536 (build-system haskell-build-system)
7537 (inputs
7538 `(("ghc-primitive" ,ghc-primitive)
7539 ("ghc-vector" ,ghc-vector)
7540 ("ghc-math-functions" ,ghc-math-functions)))
7541 (arguments
7542 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7543 (native-inputs
7544 `(("ghc-hunit" ,ghc-hunit)
7545 ("ghc-quickcheck" ,ghc-quickcheck)
7546 ("ghc-test-framework" ,ghc-test-framework)
7547 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7548 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7549 (home-page "https://github.com/bos/mwc-random")
7550 (synopsis "Random number generation library for Haskell")
7551 (description "This Haskell package contains code for generating
7552high quality random numbers that follow either a uniform or normal
7553distribution. The generated numbers are suitable for use in
7554statistical applications.
7555
7556The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7557multiply-with-carry generator, which has a period of 2^{8222} and
7558fares well in tests of randomness. It is also extremely fast,
7559between 2 and 3 times faster than the Mersenne Twister.")
7560 (license license:bsd-3)))
7561
7562(define-public ghc-nats
7563 (package
7564 (name "ghc-nats")
7565 (version "1.1.2")
7566 (source
7567 (origin
7568 (method url-fetch)
7569 (uri (string-append
7570 "https://hackage.haskell.org/package/nats/nats-"
7571 version
7572 ".tar.gz"))
7573 (sha256
7574 (base32
7575 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7576 (build-system haskell-build-system)
7577 (arguments `(#:haddock? #f))
7578 (inputs
7579 `(("ghc-hashable" ,ghc-hashable)))
7580 (home-page "https://hackage.haskell.org/package/nats")
7581 (synopsis "Natural numbers")
7582 (description "This library provides the natural numbers for Haskell.")
7583 (license license:bsd-3)))
7584
7585(define-public ghc-nats-bootstrap
7586 (package
7587 (inherit ghc-nats)
7588 (name "ghc-nats-bootstrap")
7589 (inputs
7590 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7591 (properties '((hidden? #t)))))
7592
52915062
EF
7593(define-public ghc-ncurses
7594 (package
7595 (name "ghc-ncurses")
7596 (version "0.2.16")
7597 (source
7598 (origin
7599 (method url-fetch)
7600 (uri (string-append
7601 "https://hackage.haskell.org/package/ncurses/ncurses-"
7602 version ".tar.gz"))
7603 (sha256
7604 (base32
7605 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7606 (build-system haskell-build-system)
7607 (arguments
7608 '(#:phases
7609 (modify-phases %standard-phases
7610 (add-before 'build 'fix-includes
7611 (lambda _
7612 (substitute* '("cbits/hsncurses-shim.h"
7613 "lib/UI/NCurses.chs"
7614 "lib/UI/NCurses/Enums.chs"
7615 "lib/UI/NCurses/Panel.chs")
7616 (("<ncursesw/") "<"))
7617 #t)))
7618 #:cabal-revision
7619 ("1"
7620 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7621 (inputs `(("ncurses" ,ncurses)))
7622 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7623 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7624 (synopsis "Modernised bindings to GNU ncurses")
7625 (description "GNU ncurses is a library for creating command-line application
7626with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7627ncurses.")
7628 (license license:gpl3)))
7629
dddbc90c
RV
7630(define-public ghc-network
7631 (package
7632 (name "ghc-network")
d4473202 7633 (version "2.8.0.1")
dddbc90c
RV
7634 (outputs '("out" "doc"))
7635 (source
7636 (origin
7637 (method url-fetch)
7638 (uri (string-append
7639 "https://hackage.haskell.org/package/network/network-"
7640 version
7641 ".tar.gz"))
7642 (sha256
7643 (base32
d4473202 7644 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7645 (build-system haskell-build-system)
7646 ;; The regression tests depend on an unpublished module.
7647 (arguments `(#:tests? #f))
7648 (native-inputs
7649 `(("ghc-hunit" ,ghc-hunit)
7650 ("ghc-doctest" ,ghc-doctest)
7651 ("ghc-test-framework" ,ghc-test-framework)
7652 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7653 (home-page "https://github.com/haskell/network")
7654 (synopsis "Low-level networking interface")
7655 (description
7656 "This package provides a low-level networking interface.")
7657 (license license:bsd-3)))
4780db2c 7658
30eebbe6
TS
7659(define-public ghc-network-bsd
7660 (package
7661 (name "ghc-network-bsd")
7662 (version "2.8.0.0")
7663 (source
7664 (origin
7665 (method url-fetch)
7666 (uri (string-append "https://hackage.haskell.org/package/"
7667 "network-bsd/network-bsd-" version ".tar.gz"))
7668 (sha256
7669 (base32
7670 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7671 (build-system haskell-build-system)
7672 (inputs
7673 `(("ghc-network" ,ghc-network)))
7674 (home-page "https://github.com/haskell/network-bsd")
7675 (synopsis "POSIX network database (<netdb.h>) API")
7676 (description "This package provides Haskell bindings to the the POSIX
7677network database (<netdb.h>) API.")
7678 (license license:bsd-3)))
7679
096781a1
TS
7680(define-public ghc-network-byte-order
7681 (package
7682 (name "ghc-network-byte-order")
7683 (version "0.1.1.1")
7684 (source
7685 (origin
7686 (method url-fetch)
7687 (uri (string-append "https://hackage.haskell.org/package/"
7688 "network-byte-order/network-byte-order-"
7689 version ".tar.gz"))
7690 (sha256
7691 (base32
7692 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7693 (build-system haskell-build-system)
7694 (native-inputs
7695 `(("ghc-doctest" ,ghc-doctest)))
7696 (home-page "http://hackage.haskell.org/package/network-byte-order")
7697 (synopsis "Network byte order utilities")
7698 (description "This library provides peek and poke functions for network
7699byte order.")
7700 (license license:bsd-3)))
7701
dddbc90c
RV
7702(define-public ghc-network-info
7703 (package
7704 (name "ghc-network-info")
7705 (version "0.2.0.10")
7706 (source
7707 (origin
7708 (method url-fetch)
7709 (uri (string-append "https://hackage.haskell.org/package/"
7710 "network-info-" version "/"
7711 "network-info-" version ".tar.gz"))
7712 (sha256
7713 (base32
7714 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7715 (build-system haskell-build-system)
7716 (home-page "https://github.com/jystic/network-info")
7717 (synopsis "Access the local computer's basic network configuration")
7718 (description "This Haskell library provides simple read-only access to the
7719local computer's networking configuration. It is currently capable of
7720getting a list of all the network interfaces and their respective
7721IPv4, IPv6 and MAC addresses.")
7722 (license license:bsd-3)))
7723
7724(define-public ghc-network-uri
7725 (package
7726 (name "ghc-network-uri")
7727 (version "2.6.1.0")
7728 (outputs '("out" "doc"))
7729 (source
7730 (origin
7731 (method url-fetch)
7732 (uri (string-append
7733 "https://hackage.haskell.org/package/network-uri/network-uri-"
7734 version
7735 ".tar.gz"))
7736 (sha256
7737 (base32
7738 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7739 (build-system haskell-build-system)
7740 (arguments
7741 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7742 (inputs
7743 `(("ghc-network" ,ghc-network)))
7744 (native-inputs
7745 `(("ghc-hunit" ,ghc-hunit)))
7746 (home-page
7747 "https://github.com/haskell/network-uri")
7748 (synopsis "Library for URI manipulation")
7749 (description "This package provides an URI manipulation interface. In
7750@code{network-2.6} the @code{Network.URI} module was split off from the
7751@code{network} package into this package.")
7752 (license license:bsd-3)))
7753
7754(define-public ghc-newtype-generics
7755 (package
7756 (name "ghc-newtype-generics")
c07e16dd 7757 (version "0.5.4")
dddbc90c
RV
7758 (source
7759 (origin
7760 (method url-fetch)
7761 (uri (string-append "https://hackage.haskell.org/package/"
7762 "newtype-generics/newtype-generics-"
7763 version ".tar.gz"))
7764 (sha256
7765 (base32
c07e16dd 7766 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7767 (build-system haskell-build-system)
7768 (native-inputs
7769 `(("ghc-hspec" ,ghc-hspec)
7770 ("hspec-discover" ,hspec-discover)))
7771 (home-page "http://github.com/sjakobi/newtype-generics")
7772 (synopsis "Typeclass and set of functions for working with newtypes")
7773 (description "The @code{Newtype} typeclass represents the packing and
7774unpacking of a newtype, and allows you to operate under that newtype with
7775functions such as @code{ala}. Generics support was added in version 0.4,
7776making this package a full replacement for the original newtype package,
7777and an alternative to newtype-th.")
7778 (license license:bsd-3)))
7779
6b652f5a
JS
7780(define-public ghc-non-negative
7781 (package
7782 (name "ghc-non-negative")
7783 (version "0.1.2")
7784 (source
7785 (origin
7786 (method url-fetch)
7787 (uri
7788 (string-append
7789 "https://hackage.haskell.org/package/non-negative/non-negative-"
7790 version ".tar.gz"))
7791 (sha256
7792 (base32
7793 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7794 (build-system haskell-build-system)
7795 (inputs
7796 `(("ghc-semigroups" ,ghc-semigroups)
7797 ("ghc-utility-ht" ,ghc-utility-ht)
7798 ("ghc-quickcheck" ,ghc-quickcheck)))
7799 (home-page "https://hackage.haskell.org/package/non-negative")
7800 (synopsis "Non-negative numbers class")
7801 (description "This library provides a class for non-negative numbers,
7802a wrapper which can turn any ordered numeric type into a member of that
7803class, and a lazy number type for non-negative numbers (a generalization
7804of Peano numbers).")
7805 (license license:gpl3+)))
7806
194a82e6
TS
7807(define-public ghc-numeric-extras
7808 (package
7809 (name "ghc-numeric-extras")
7810 (version "0.1")
7811 (source
7812 (origin
7813 (method url-fetch)
7814 (uri (string-append "https://hackage.haskell.org/package/"
7815 "numeric-extras/numeric-extras-"
7816 version ".tar.gz"))
7817 (sha256
7818 (base32
7819 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7820 (build-system haskell-build-system)
7821 (home-page "https://github.com/ekmett/numeric-extras")
7822 (synopsis "Useful tools from the C standard library")
7823 (description "This library provides some useful tools from the C
7824standard library.")
7825 (license license:bsd-3)))
7826
dddbc90c
RV
7827(define-public ghc-objectname
7828 (package
7829 (name "ghc-objectname")
7830 (version "1.1.0.1")
7831 (source
7832 (origin
7833 (method url-fetch)
7834 (uri (string-append
7835 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7836 version
7837 ".tar.gz"))
7838 (sha256
7839 (base32
7840 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7841 (build-system haskell-build-system)
7842 (home-page "https://hackage.haskell.org/package/ObjectName")
7843 (synopsis "Helper library for Haskell OpenGL")
7844 (description "This tiny package contains the class ObjectName, which
7845corresponds to the general notion of explicitly handled identifiers for API
7846objects, e.g. a texture object name in OpenGL or a buffer object name in
7847OpenAL.")
7848 (license license:bsd-3)))
7849
7850(define-public ghc-old-locale
7851 (package
7852 (name "ghc-old-locale")
7853 (version "1.0.0.7")
7854 (source
7855 (origin
7856 (method url-fetch)
7857 (uri (string-append
7858 "https://hackage.haskell.org/package/old-locale/old-locale-"
7859 version
7860 ".tar.gz"))
7861 (sha256
7862 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7863 (build-system haskell-build-system)
7864 (arguments
7865 `(#:cabal-revision
7866 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7867 (home-page "https://hackage.haskell.org/package/old-locale")
7868 (synopsis "Adapt to locale conventions")
7869 (description
7870 "This package provides the ability to adapt to locale conventions such as
7871date and time formats.")
7872 (license license:bsd-3)))
7873
7874(define-public ghc-old-time
7875 (package
7876 (name "ghc-old-time")
7877 (version "1.1.0.3")
7878 (source
7879 (origin
7880 (method url-fetch)
7881 (uri (string-append
7882 "https://hackage.haskell.org/package/old-time/old-time-"
7883 version
7884 ".tar.gz"))
7885 (sha256
7886 (base32
7887 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7888 (build-system haskell-build-system)
7889 (arguments
7890 `(#:cabal-revision
7891 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7892 (inputs
7893 `(("ghc-old-locale" ,ghc-old-locale)))
7894 (home-page "https://hackage.haskell.org/package/old-time")
7895 (synopsis "Time compatibility library for Haskell")
7896 (description "Old-time is a package for backwards compatibility with the
7897old @code{time} library. For new projects, the newer
7898@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7899 (license license:bsd-3)))
7900
7901(define-public ghc-opengl
7902 (package
7903 (name "ghc-opengl")
79a06910 7904 (version "3.0.3.0")
dddbc90c
RV
7905 (source
7906 (origin
7907 (method url-fetch)
7908 (uri (string-append
7909 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7910 version
7911 ".tar.gz"))
7912 (sha256
7913 (base32
79a06910 7914 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7915 (build-system haskell-build-system)
79a06910
TS
7916 (arguments
7917 `(#:cabal-revision
7918 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7919 (inputs
7920 `(("ghc-objectname" ,ghc-objectname)
7921 ("ghc-gluraw" ,ghc-gluraw)
7922 ("ghc-statevar" ,ghc-statevar)
7923 ("ghc-openglraw" ,ghc-openglraw)))
7924 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7925 (synopsis "Haskell bindings for the OpenGL graphics system")
7926 (description "This package provides Haskell bindings for the OpenGL
7927graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7928version 1.3).")
7929 (license license:bsd-3)))
7930
7931(define-public ghc-openglraw
7932 (package
7933 (name "ghc-openglraw")
15ebc815 7934 (version "3.3.3.0")
dddbc90c
RV
7935 (source
7936 (origin
7937 (method url-fetch)
7938 (uri (string-append
7939 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7940 version
7941 ".tar.gz"))
7942 (sha256
7943 (base32
15ebc815 7944 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7945 (build-system haskell-build-system)
7946 (inputs
7947 `(("ghc-half" ,ghc-half)
7948 ("ghc-fixed" ,ghc-fixed)
7949 ("glu" ,glu)))
7950 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7951 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7952 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7953graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7954of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7955offers access to all necessary functions, tokens and types plus a general
7956facility for loading extension entries. The module hierarchy closely mirrors
7957the naming structure of the OpenGL extensions, making it easy to find the
7958right module to import. All API entries are loaded dynamically, so no special
7959C header files are needed for building this package. If an API entry is not
7960found at runtime, a userError is thrown.")
7961 (license license:bsd-3)))
7962
7963(define-public ghc-operational
7964 (package
7965 (name "ghc-operational")
7966 (version "0.2.3.5")
7967 (source
7968 (origin
7969 (method url-fetch)
7970 (uri (string-append "https://hackage.haskell.org/package/operational/"
7971 "operational-" version ".tar.gz"))
7972 (sha256
7973 (base32
7974 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7975 (build-system haskell-build-system)
7976 (inputs
7977 `(("ghc-random" ,ghc-random)))
7978 (home-page "http://wiki.haskell.org/Operational")
7979 (synopsis "Implementation of difficult monads made easy with operational semantics")
7980 (description
7981 "This library makes it easy to implement monads with tricky control
7982flow. This is useful for: writing web applications in a sequential style,
7983programming games with a uniform interface for human and AI players and easy
7984replay capababilities, implementing fast parser monads, designing monadic
7985DSLs, etc.")
7986 (license license:bsd-3)))
7987
7988(define-public ghc-options
7989 (package
7990 (name "ghc-options")
7991 (version "1.2.1.1")
7992 (source
7993 (origin
7994 (method url-fetch)
7995 (uri (string-append
7996 "https://hackage.haskell.org/package/options/options-"
7997 version ".tar.gz"))
7998 (sha256
7999 (base32
8000 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8001 (build-system haskell-build-system)
24cf2a8b
TS
8002 (arguments
8003 `(#:phases
8004 (modify-phases %standard-phases
8005 (add-before 'configure 'update-constraints
8006 (lambda _
8007 (substitute* "options.cabal"
8008 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8009 #t)))))
dddbc90c
RV
8010 (inputs
8011 `(("ghc-monads-tf" ,ghc-monads-tf)
8012 ("ghc-chell" ,ghc-chell)
8013 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8014 (home-page "https://john-millikin.com/software/haskell-options/")
8015 (synopsis "Powerful and easy-to-use command-line option parser")
8016 (description
8017 "The @code{options} package lets library and application developers
8018easily work with command-line options.")
8019 (license license:expat)))
8020
8021;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8022(define ghc-options-bootstrap
8023 (package
8024 (name "ghc-options-bootstrap")
8025 (version "1.2.1.1")
8026 (source
8027 (origin
8028 (method url-fetch)
8029 (uri (string-append
8030 "https://hackage.haskell.org/package/options/options-"
8031 version ".tar.gz"))
8032 (sha256
8033 (base32
8034 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8035 (build-system haskell-build-system)
8036 (arguments
8037 `(#:tests? #f))
8038 (inputs
8039 `(("ghc-monads-tf" ,ghc-monads-tf)))
8040 (home-page "https://john-millikin.com/software/haskell-options/")
8041 (synopsis "Powerful and easy-to-use command-line option parser")
8042 (description
8043 "The @code{options} package lets library and application developers
8044easily work with command-line options.")
8045 (license license:expat)))
8046
8047
8048(define-public ghc-optparse-applicative
8049 (package
8050 (name "ghc-optparse-applicative")
74bf6965 8051 (version "0.14.3.0")
dddbc90c
RV
8052 (source
8053 (origin
8054 (method url-fetch)
8055 (uri (string-append
8056 "https://hackage.haskell.org/package/optparse-applicative"
8057 "/optparse-applicative-" version ".tar.gz"))
8058 (sha256
8059 (base32
74bf6965 8060 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8061 (build-system haskell-build-system)
74bf6965
TS
8062 (arguments
8063 `(#:cabal-revision
8064 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8065 (inputs
8066 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8067 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8068 (native-inputs
8069 `(("ghc-quickcheck" ,ghc-quickcheck)))
8070 (home-page "https://github.com/pcapriotti/optparse-applicative")
8071 (synopsis "Utilities and combinators for parsing command line options")
8072 (description "This package provides utilities and combinators for parsing
8073command line options in Haskell.")
8074 (license license:bsd-3)))
8075
8076(define-public ghc-pandoc
8077 (package
8078 (name "ghc-pandoc")
d9b1567a 8079 (version "2.7.3")
dddbc90c
RV
8080 (source
8081 (origin
8082 (method url-fetch)
8083 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8084 version ".tar.gz"))
d9b1567a
TS
8085 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8086 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8087 (sha256
8088 (base32
d9b1567a 8089 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8090 (build-system haskell-build-system)
dddbc90c
RV
8091 (inputs
8092 `(("ghc-aeson" ,ghc-aeson)
8093 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8094 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8095 ("ghc-blaze-html" ,ghc-blaze-html)
8096 ("ghc-blaze-markup" ,ghc-blaze-markup)
8097 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8098 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8099 ("ghc-diff" ,ghc-diff)
8100 ("ghc-doctemplates" ,ghc-doctemplates)
8101 ("ghc-executable-path" ,ghc-executable-path)
8102 ("ghc-glob" ,ghc-glob)
8103 ("ghc-haddock-library" ,ghc-haddock-library)
8104 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8105 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8106 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8107 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8108 ("ghc-http" ,ghc-http)
8109 ("ghc-http-client" ,ghc-http-client)
8110 ("ghc-http-client-tls" ,ghc-http-client-tls)
8111 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8112 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8113 ("ghc-juicypixels" ,ghc-juicypixels)
8114 ("ghc-network" ,ghc-network)
8115 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8116 ("ghc-pandoc-types" ,ghc-pandoc-types)
8117 ("ghc-random" ,ghc-random)
8118 ("ghc-scientific" ,ghc-scientific)
8119 ("ghc-sha" ,ghc-sha)
8120 ("ghc-skylighting" ,ghc-skylighting)
8121 ("ghc-split" ,ghc-split)
8122 ("ghc-syb" ,ghc-syb)
8123 ("ghc-tagsoup" ,ghc-tagsoup)
8124 ("ghc-temporary" ,ghc-temporary)
8125 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8126 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8127 ("ghc-unordered-containers" ,ghc-unordered-containers)
8128 ("ghc-vector" ,ghc-vector)
8129 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8130 ("ghc-zip-archive" ,ghc-zip-archive)
8131 ("ghc-zlib" ,ghc-zlib)))
8132 (native-inputs
8133 `(("ghc-tasty" ,ghc-tasty)
8134 ("ghc-tasty-golden" ,ghc-tasty-golden)
8135 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8136 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8137 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8138 ("ghc-quickcheck" ,ghc-quickcheck)
8139 ("ghc-hunit" ,ghc-hunit)))
8140 (home-page "https://pandoc.org")
8141 (synopsis "Conversion between markup formats")
8142 (description
8143 "Pandoc is a Haskell library for converting from one markup format to
8144another, and a command-line tool that uses this library. It can read and
8145write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8146LaTeX, DocBook, and many more.
8147
8148Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8149definition lists, tables, and other features. A compatibility mode is
8150provided for those who need a drop-in replacement for Markdown.pl.")
8151 (license license:gpl2+)))
8152
8153(define-public ghc-pandoc-citeproc
8154 (package
8155 (name "ghc-pandoc-citeproc")
2da02d09 8156 (version "0.16.2")
dddbc90c
RV
8157 (source
8158 (origin
8159 (method url-fetch)
8160 (uri (string-append "https://hackage.haskell.org/package/"
8161 "pandoc-citeproc/pandoc-citeproc-"
8162 version ".tar.gz"))
8163 (sha256
8164 (base32
2da02d09 8165 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8166 (build-system haskell-build-system)
8167 (arguments
8168 `(#:phases
8169 (modify-phases %standard-phases
8170 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8171 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8172 (add-before 'configure 'patch-tests
8173 (lambda _
8174 (substitute* "tests/test-pandoc-citeproc.hs"
8175 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8176 "let allTests = citeprocTests"))))
8177 ;; Tests need to be run after installation.
8178 (delete 'check)
8179 (add-after 'install 'post-install-check
8180 (assoc-ref %standard-phases 'check)))))
8181 (inputs
8182 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8183 ("ghc-pandoc" ,ghc-pandoc)
8184 ("ghc-tagsoup" ,ghc-tagsoup)
8185 ("ghc-aeson" ,ghc-aeson)
8186 ("ghc-vector" ,ghc-vector)
8187 ("ghc-xml-conduit" ,ghc-xml-conduit)
8188 ("ghc-unordered-containers" ,ghc-unordered-containers)
8189 ("ghc-data-default" ,ghc-data-default)
8190 ("ghc-setenv" ,ghc-setenv)
8191 ("ghc-split" ,ghc-split)
8192 ("ghc-yaml" ,ghc-yaml)
8193 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8194 ("ghc-rfc5051" ,ghc-rfc5051)
8195 ("ghc-syb" ,ghc-syb)
8196 ("ghc-old-locale" ,ghc-old-locale)
8197 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8198 ("ghc-attoparsec" ,ghc-attoparsec)
8199 ("ghc-temporary" ,ghc-temporary)))
8200 (home-page "https://github.com/jgm/pandoc-citeproc")
8201 (synopsis "Library for using pandoc with citeproc")
8202 (description
8203 "The @code{pandoc-citeproc} library exports functions for using the
8204citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8205rendering bibliographic reference citations into a variety of styles using a
8206macro language called @dfn{Citation Style Language} (CSL). This package also
8207contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8208and also has a mode for converting bibliographic databases a YAML format
8209suitable for inclusion in pandoc YAML metadata.")
8210 (license license:bsd-3)))
8211
8212(define-public ghc-pandoc-types
8213 (package
8214 (name "ghc-pandoc-types")
0eaa88c8 8215 (version "1.17.6.1")
dddbc90c
RV
8216 (source (origin
8217 (method url-fetch)
8218 (uri (string-append "https://hackage.haskell.org/package/"
8219 "pandoc-types/pandoc-types-"
8220 version ".tar.gz"))
8221 (sha256
8222 (base32
0eaa88c8 8223 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8224 (build-system haskell-build-system)
8225 (inputs
8226 `(("ghc-syb" ,ghc-syb)
8227 ("ghc-aeson" ,ghc-aeson)
8228 ("ghc-string-qq" ,ghc-string-qq)))
8229 (native-inputs
8230 `(("ghc-quickcheck" ,ghc-quickcheck)
8231 ("ghc-test-framework" ,ghc-test-framework)
8232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8233 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8234 ("ghc-hunit" ,ghc-hunit)))
8235 (home-page "http://johnmacfarlane.net/pandoc")
8236 (synopsis "Types for representing a structured document")
8237 (description
8238 "This module defines the @code{Pandoc} data structure, which is used by
8239pandoc to represent structured documents. It also provides functions for
8240building up, manipulating and serialising @code{Pandoc} structures.")
8241 (license license:bsd-3)))
8242
8243(define-public ghc-parallel
8244 (package
8245 (name "ghc-parallel")
8246 (version "3.2.2.0")
8247 (outputs '("out" "doc"))
8248 (source
8249 (origin
8250 (method url-fetch)
8251 (uri (string-append
8252 "https://hackage.haskell.org/package/parallel/parallel-"
8253 version
8254 ".tar.gz"))
8255 (sha256
8256 (base32
8257 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8258 (build-system haskell-build-system)
8259 (home-page "https://hackage.haskell.org/package/parallel")
8260 (synopsis "Parallel programming library")
8261 (description
8262 "This package provides a library for parallel programming.")
8263 (license license:bsd-3)))
8264
8265(define-public ghc-parsec-numbers
8266 (package
8267 (name "ghc-parsec-numbers")
8268 (version "0.1.0")
8269 (source
8270 (origin
8271 (method url-fetch)
8272 (uri (string-append "https://hackage.haskell.org/package/"
8273 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8274 (sha256
8275 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8276 (build-system haskell-build-system)
8277 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8278 (synopsis "Utilities for parsing numbers from strings")
8279 (description
8280 "This package provides the number parsers without the need to use a large
8281(and unportable) token parser.")
8282 (license license:bsd-3)))
8283
8284(define-public ghc-parser-combinators
8285 (package
8286 (name "ghc-parser-combinators")
2f173160 8287 (version "1.1.0")
dddbc90c
RV
8288 (source
8289 (origin
8290 (method url-fetch)
8291 (uri (string-append "https://hackage.haskell.org/package/"
8292 "parser-combinators/parser-combinators-"
8293 version ".tar.gz"))
8294 (sha256
8295 (base32
2f173160 8296 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8297 (build-system haskell-build-system)
8298 (home-page "https://github.com/mrkkrp/parser-combinators")
8299 (synopsis "Commonly useful parser combinators")
8300 (description
8301 "This is a lightweight package providing commonly useful parser
8302combinators.")
8303 (license license:bsd-3)))
8304
8305(define-public ghc-parsers
8306 (package
8307 (name "ghc-parsers")
6818f970 8308 (version "0.12.10")
dddbc90c
RV
8309 (source
8310 (origin
8311 (method url-fetch)
8312 (uri (string-append
8313 "https://hackage.haskell.org/package/parsers/parsers-"
8314 version
8315 ".tar.gz"))
8316 (sha256
8317 (base32
6818f970 8318 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8319 (build-system haskell-build-system)
8320 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8321 ; -package attoparsec-0.13.0.1"
8322 (inputs
8323 `(("ghc-base-orphans" ,ghc-base-orphans)
8324 ("ghc-attoparsec" ,ghc-attoparsec)
8325 ("ghc-scientific" ,ghc-scientific)
8326 ("ghc-charset" ,ghc-charset)
8327 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8328 (home-page "https://github.com/ekmett/parsers/")
8329 (synopsis "Parsing combinators")
8330 (description "This library provides convenient combinators for working
8331with and building parsing combinator libraries. Given a few simple instances,
8332you get access to a large number of canned definitions. Instances exist for
8333the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8334@code{Text.Read}.")
8335 (license license:bsd-3)))
8336
8337(define-public ghc-path
8338 (package
8339 (name "ghc-path")
8340 (version "0.6.1")
8341 (source
8342 (origin
8343 (method url-fetch)
8344 (uri (string-append
8345 "https://hackage.haskell.org/package/path/path-"
8346 version
8347 ".tar.gz"))
8348 (sha256
8349 (base32
8350 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8351 (build-system haskell-build-system)
8352 (arguments
8353 ;; TODO: There are some Windows-related tests and modules that need to be
8354 ;; danced around.
8355 `(#:tests? #f
8356 #:cabal-revision
8357 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8358 (inputs
8359 `(("ghc-aeson" ,ghc-aeson)
8360 ("ghc-exceptions" ,ghc-exceptions)
8361 ("ghc-hashable" ,ghc-hashable)))
8362 (native-inputs
8363 `(("ghc-hspec" ,ghc-hspec)
8364 ("ghc-quickcheck" ,ghc-quickcheck)
8365 ("ghc-genvalidity" ,ghc-genvalidity)
8366 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8367 ("ghc-hspec" ,ghc-hspec)
8368 ("ghc-validity" ,ghc-validity)))
8369 (home-page
8370 "http://hackage.haskell.org/package/path")
8371 (synopsis "Support for well-typed paths")
8372 (description "This package introduces a type for paths upholding useful
8373invariants.")
8374 (license license:bsd-3)))
8375
8376(define-public ghc-path-io
8377 (package
8378 (name "ghc-path-io")
a06613ea 8379 (version "1.4.2")
dddbc90c
RV
8380 (source
8381 (origin
8382 (method url-fetch)
8383 (uri (string-append
8384 "https://hackage.haskell.org/package/path-io/path-io-"
8385 version
8386 ".tar.gz"))
8387 (sha256
8388 (base32
a06613ea 8389 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8390 (build-system haskell-build-system)
8391 (inputs
8392 `(("ghc-dlist" ,ghc-dlist)
8393 ("ghc-exceptions" ,ghc-exceptions)
8394 ("ghc-path" ,ghc-path)
8395 ("ghc-transformers-base" ,ghc-transformers-base)
8396 ("ghc-unix-compat" ,ghc-unix-compat)
8397 ("ghc-temporary" ,ghc-temporary)))
8398 (native-inputs
8399 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8400 (home-page
8401 "https://github.com/mrkkrp/path-io")
8402 (synopsis "Functions for manipulating well-typed paths")
8403 (description "This package provides an interface to the @code{directory}
8404package for users of @code{path}. It also implements some missing stuff like
8405recursive scanning and copying of directories, working with temporary
8406files/directories, and more.")
8407 (license license:bsd-3)))
8408
8409(define-public ghc-paths
8410 (package
8411 (name "ghc-paths")
9a8adeb1 8412 (version "0.1.0.12")
dddbc90c
RV
8413 (outputs '("out" "doc"))
8414 (source
8415 (origin
8416 (method url-fetch)
8417 (uri (string-append
8418 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8419 version
8420 ".tar.gz"))
8421 (sha256
8422 (base32
9a8adeb1 8423 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8424 (build-system haskell-build-system)
8425 (home-page "https://github.com/simonmar/ghc-paths")
8426 (synopsis
8427 "Knowledge of GHC's installation directories")
8428 (description
8429 "Knowledge of GHC's installation directories.")
8430 (license license:bsd-3)))
8431
8432(define-public ghc-patience
8433 (package
8434 (name "ghc-patience")
484476f3 8435 (version "0.3")
dddbc90c
RV
8436 (source
8437 (origin
8438 (method url-fetch)
8439 (uri (string-append
8440 "https://hackage.haskell.org/package/patience/patience-"
8441 version ".tar.gz"))
8442 (sha256
8443 (base32
484476f3 8444 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8445 (build-system haskell-build-system)
8446 (home-page "https://hackage.haskell.org/package/patience")
8447 (synopsis "Patience diff and longest increasing subsequence")
8448 (description
8449 "This library implements the 'patience diff' algorithm, as well as the
8450patience algorithm for the longest increasing subsequence problem.
8451Patience diff computes the difference between two lists, for example the lines
8452of two versions of a source file. It provides a good balance between
8453performance, nice output for humans, and simplicity of implementation.")
8454 (license license:bsd-3)))
8455
8456(define-public ghc-pcre-light
8457 (package
8458 (name "ghc-pcre-light")
8459 (version "0.4.0.4")
8460 (source
8461 (origin
8462 (method url-fetch)
8463 (uri (string-append
8464 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8465 version
8466 ".tar.gz"))
8467 (sha256
8468 (base32
8469 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8470 (build-system haskell-build-system)
8471 (inputs
8472 `(("pcre" ,pcre)))
8473 (native-inputs
8474 `(("pkg-config" ,pkg-config)))
8475 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8476 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8477 (description "This package provides a small, efficient, and portable regex
8478library for Perl 5 compatible regular expressions. The PCRE library is a set
8479of functions that implement regular expression pattern matching using the same
8480syntax and semantics as Perl 5.")
8481 (license license:bsd-3)))
8482
8483(define-public ghc-persistent
8484 (package
8485 (name "ghc-persistent")
18a38da5 8486 (version "2.9.2")
dddbc90c
RV
8487 (source
8488 (origin
8489 (method url-fetch)
8490 (uri (string-append "https://hackage.haskell.org/package/"
8491 "persistent-" version "/"
8492 "persistent-" version ".tar.gz"))
8493 (sha256
8494 (base32
18a38da5 8495 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8496 (build-system haskell-build-system)
8497 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8498 ("ghc-conduit" ,ghc-conduit)
8499 ("ghc-resourcet" ,ghc-resourcet)
8500 ("ghc-exceptions" ,ghc-exceptions)
8501 ("ghc-monad-control" ,ghc-monad-control)
8502 ("ghc-lifted-base" ,ghc-lifted-base)
8503 ("ghc-resource-pool" ,ghc-resource-pool)
8504 ("ghc-path-pieces" ,ghc-path-pieces)
8505 ("ghc-http-api-data" ,ghc-http-api-data)
8506 ("ghc-aeson" ,ghc-aeson)
8507 ("ghc-monad-logger" ,ghc-monad-logger)
8508 ("ghc-transformers-base" ,ghc-transformers-base)
8509 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8510 ("ghc-unordered-containers" ,ghc-unordered-containers)
8511 ("ghc-vector" ,ghc-vector)
8512 ("ghc-attoparsec" ,ghc-attoparsec)
8513 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8514 ("ghc-blaze-html" ,ghc-blaze-html)
8515 ("ghc-blaze-markup" ,ghc-blaze-markup)
8516 ("ghc-silently" ,ghc-silently)
8517 ("ghc-fast-logger" ,ghc-fast-logger)
8518 ("ghc-scientific" ,ghc-scientific)
8519 ("ghc-tagged" ,ghc-tagged)
8520 ("ghc-void" ,ghc-void)))
8521 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8522 (home-page "https://www.yesodweb.com/book/persistent")
8523 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8524 (description "This Haskell package allows Haskell programs to access data
8525storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8526way.")
8527 (license license:expat)))
8528
8529(define-public ghc-persistent-sqlite
8530 (package
8531 (name "ghc-persistent-sqlite")
801fbd7e 8532 (version "2.9.3")
dddbc90c
RV
8533 (source
8534 (origin
8535 (method url-fetch)
8536 (uri (string-append "https://hackage.haskell.org/package/"
8537 "persistent-sqlite-" version "/"
8538 "persistent-sqlite-" version ".tar.gz"))
8539 (sha256
8540 (base32
801fbd7e 8541 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8542 (build-system haskell-build-system)
8543 (inputs `(("ghc-persistent" ,ghc-persistent)
8544 ("ghc-unliftio-core" ,ghc-unliftio-core)
8545 ("ghc-aeson" ,ghc-aeson)
8546 ("ghc-conduit" ,ghc-conduit)
8547 ("ghc-monad-logger" ,ghc-monad-logger)
8548 ("ghc-microlens-th" ,ghc-microlens-th)
8549 ("ghc-resourcet" ,ghc-resourcet)
8550 ("ghc-old-locale" ,ghc-old-locale)
8551 ("ghc-resource-pool" ,ghc-resource-pool)
8552 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8553 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8554 ("ghc-persistent-template" ,ghc-persistent-template)
8555 ("ghc-temporary" ,ghc-temporary)))
8556 (home-page
8557 "https://www.yesodweb.com/book/persistent")
8558 (synopsis "Backend for the persistent library using sqlite3")
8559 (description "This Haskell package includes a thin sqlite3 wrapper based
8560on the direct-sqlite package, as well as the entire C library, so there are no
8561system dependencies.")
8562 (license license:expat)))
8563
8564(define-public ghc-persistent-template
8565 (package
8566 (name "ghc-persistent-template")
bc78e0d9 8567 (version "2.6.0")
dddbc90c
RV
8568 (source
8569 (origin
8570 (method url-fetch)
8571 (uri (string-append "https://hackage.haskell.org/package/"
8572 "persistent-template-" version "/"
8573 "persistent-template-" version ".tar.gz"))
8574 (sha256
8575 (base32
bc78e0d9 8576 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8577 (build-system haskell-build-system)
dddbc90c
RV
8578 (inputs `(("ghc-persistent" ,ghc-persistent)
8579 ("ghc-monad-control" ,ghc-monad-control)
8580 ("ghc-aeson" ,ghc-aeson)
8581 ("ghc-aeson-compat" ,ghc-aeson-compat)
8582 ("ghc-monad-logger" ,ghc-monad-logger)
8583 ("ghc-unordered-containers" ,ghc-unordered-containers)
8584 ("ghc-tagged" ,ghc-tagged)
8585 ("ghc-path-pieces" ,ghc-path-pieces)
8586 ("ghc-http-api-data" ,ghc-http-api-data)))
8587 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8588 ("ghc-quickcheck" ,ghc-quickcheck)))
8589 (home-page "https://www.yesodweb.com/book/persistent")
8590 (synopsis "Type-safe, non-relational, multi-backend persistence")
8591 (description "This Haskell package provides interfaces and helper
8592functions for the ghc-persistent package.")
8593 (license license:expat)))
8594
8595(define-public ghc-polyparse
8596 (package
8597 (name "ghc-polyparse")
9822b9ca 8598 (version "1.12.1")
dddbc90c
RV
8599 (source
8600 (origin
8601 (method url-fetch)
8602 (uri (string-append
8603 "https://hackage.haskell.org/package/polyparse/polyparse-"
8604 version
8605 ".tar.gz"))
8606 (sha256
8607 (base32
9822b9ca 8608 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8609 (build-system haskell-build-system)
8610 (home-page
8611 "http://code.haskell.org/~malcolm/polyparse/")
8612 (synopsis
8613 "Alternative parser combinator libraries")
8614 (description
8615 "This package provides a variety of alternative parser combinator
8616libraries, including the original HuttonMeijer set. The Poly sets have
8617features like good error reporting, arbitrary token type, running state, lazy
8618parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8619standard Read class, for better deserialisation of Haskell values from
8620Strings.")
8621 (license license:lgpl2.1)))
8622
8623(define-public ghc-pqueue
8624 (package
8625 (name "ghc-pqueue")
142415b0 8626 (version "1.4.1.2")
dddbc90c
RV
8627 (source
8628 (origin
8629 (method url-fetch)
8630 (uri (string-append "https://hackage.haskell.org/package/"
8631 "pqueue/pqueue-" version ".tar.gz"))
8632 (sha256
8633 (base32
142415b0 8634 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8635 (build-system haskell-build-system)
8636 (native-inputs
8637 `(("ghc-quickcheck" ,ghc-quickcheck)))
8638 (home-page "https://hackage.haskell.org/package/pqueue")
8639 (synopsis "Reliable, persistent, fast priority queues")
8640 (description
8641 "This package provides a fast, reliable priority queue implementation
8642based on a binomial heap.")
8643 (license license:bsd-3)))
8644
8645(define-public ghc-prelude-extras
8646 (package
8647 (name "ghc-prelude-extras")
8648 (version "0.4.0.3")
8649 (source
8650 (origin
8651 (method url-fetch)
8652 (uri (string-append
8653 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8654 version
8655 ".tar.gz"))
8656 (sha256
8657 (base32
8658 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8659 (build-system haskell-build-system)
8660 (home-page "https://github.com/ekmett/prelude-extras")
8661 (synopsis "Higher order versions of Prelude classes")
8662 (description "This library provides higher order versions of
8663@code{Prelude} classes to ease programming with polymorphic recursion and
8664reduce @code{UndecidableInstances}.")
8665 (license license:bsd-3)))
8666
8667(define-public ghc-prettyclass
8668 (package
8669 (name "ghc-prettyclass")
8670 (version "1.0.0.0")
8671 (source
8672 (origin
8673 (method url-fetch)
8674 (uri (string-append "https://hackage.haskell.org/package/"
8675 "prettyclass/prettyclass-" version ".tar.gz"))
8676 (sha256
8677 (base32
8678 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8679 (build-system haskell-build-system)
8680 (home-page "http://hackage.haskell.org/package/prettyclass")
8681 (synopsis "Pretty printing class similar to Show")
8682 (description "This package provides a pretty printing class similar
8683to @code{Show}, based on the HughesPJ pretty printing library. It
8684provides the pretty printing class and instances for the Prelude
8685types.")
8686 (license license:bsd-3)))
8687
8688(define-public ghc-pretty-hex
8689 (package
8690 (name "ghc-pretty-hex")
8691 (version "1.0")
8692 (source
8693 (origin
8694 (method url-fetch)
8695 (uri (string-append "https://hackage.haskell.org/package/"
8696 "pretty-hex-" version "/"
8697 "pretty-hex-" version ".tar.gz"))
8698 (sha256
8699 (base32
8700 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8701 (build-system haskell-build-system)
8702 (home-page "https://github.com/GaloisInc/hexdump")
8703 (synopsis "Haskell library for hex dumps of ByteStrings")
8704 (description "This Haskell library generates pretty hex dumps of
8705ByteStrings in the style of other common *nix hex dump tools.")
8706 (license license:bsd-3)))
8707
8708(define-public ghc-pretty-show
8709 (package
8710 (name "ghc-pretty-show")
7683a084 8711 (version "1.9.5")
dddbc90c
RV
8712 (source
8713 (origin
8714 (method url-fetch)
8715 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8716 "pretty-show-" version ".tar.gz"))
8717 (sha256
8718 (base32
7683a084 8719 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8720 (build-system haskell-build-system)
8721 (inputs
8722 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8723 ("ghc-happy" ,ghc-happy)))
8724 (home-page "http://wiki.github.com/yav/pretty-show")
8725 (synopsis "Tools for working with derived `Show` instances")
8726 (description
8727 "This package provides a library and an executable for working with
8728derived @code{Show} instances. By using the library, derived @code{Show}
8729instances can be parsed into a generic data structure. The @code{ppsh} tool
8730uses the library to produce human-readable versions of @code{Show} instances,
8731which can be quite handy for debugging Haskell programs. We can also render
8732complex generic values into an interactive Html page, for easier
8733examination.")
8734 (license license:expat)))
8735
8736(define-public ghc-primitive
8737 (package
8738 (name "ghc-primitive")
8739 (version "0.6.4.0")
8740 (outputs '("out" "doc"))
8741 (source
8742 (origin
8743 (method url-fetch)
8744 (uri (string-append
8745 "https://hackage.haskell.org/package/primitive/primitive-"
8746 version
8747 ".tar.gz"))
8748 (sha256
8749 (base32
8750 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8751 (build-system haskell-build-system)
6cf0daa4
TS
8752 (arguments
8753 `(#:cabal-revision
8754 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8755 (home-page
8756 "https://github.com/haskell/primitive")
8757 (synopsis "Primitive memory-related operations")
8758 (description
8759 "This package provides various primitive memory-related operations.")
8760 (license license:bsd-3)))
8761
21f5b9a9
JS
8762(define-public ghc-process-extras
8763 (package
8764 (name "ghc-process-extras")
8765 (version "0.7.4")
8766 (source
8767 (origin
8768 (method url-fetch)
8769 (uri
8770 (string-append
8771 "https://hackage.haskell.org/package/process-extras/"
8772 "process-extras-" version ".tar.gz"))
8773 (sha256
8774 (base32
8775 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8776 (build-system haskell-build-system)
8777 (inputs
8778 `(("ghc-data-default" ,ghc-data-default)
8779 ("ghc-generic-deriving" ,ghc-generic-deriving)
8780 ("ghc-hunit" ,ghc-hunit)
8781 ("ghc-listlike" ,ghc-listlike)))
8782 (home-page "https://github.com/seereason/process-extras")
8783 (synopsis "Extra tools for managing processes")
f74b6983 8784 (description "This package extends
21f5b9a9
JS
8785@url{http://hackage.haskell.org/package/process}. It allows you to read
8786process input and output as ByteStrings or Text, or write your own
8787ProcessOutput instance. It also provides lazy process input and output,
8788and a ProcessMaker class for more flexibility in the process creation
8789API.")
8790 (license license:expat)))
8791
dddbc90c
RV
8792(define-public ghc-profunctors
8793 (package
8794 (name "ghc-profunctors")
899b5297 8795 (version "5.3")
dddbc90c
RV
8796 (source
8797 (origin
8798 (method url-fetch)
8799 (uri (string-append
8800 "https://hackage.haskell.org/package/profunctors/profunctors-"
8801 version
8802 ".tar.gz"))
8803 (sha256
8804 (base32
899b5297 8805 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8806 (build-system haskell-build-system)
dddbc90c
RV
8807 (inputs
8808 `(("ghc-base-orphans" ,ghc-base-orphans)
8809 ("ghc-bifunctors" ,ghc-bifunctors)
8810 ("ghc-comonad" ,ghc-comonad)
8811 ("ghc-contravariant" ,ghc-contravariant)
8812 ("ghc-distributive" ,ghc-distributive)
8813 ("ghc-semigroups" ,ghc-semigroups)
8814 ("ghc-tagged" ,ghc-tagged)))
8815 (home-page "https://github.com/ekmett/profunctors/")
8816 (synopsis "Profunctors for Haskell")
8817 (description "This library provides profunctors for Haskell.")
8818 (license license:bsd-3)))
8819
8820(define-public ghc-psqueues
8821 (package
8822 (name "ghc-psqueues")
5d133942 8823 (version "0.2.7.2")
dddbc90c
RV
8824 (source
8825 (origin
8826 (method url-fetch)
8827 (uri (string-append "https://hackage.haskell.org/package/"
8828 "psqueues-" version "/"
8829 "psqueues-" version ".tar.gz"))
8830 (sha256
8831 (base32
5d133942 8832 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8833 (build-system haskell-build-system)
8834 (inputs
8835 `(("ghc-hashable" ,ghc-hashable)))
8836 (native-inputs
8837 `(("ghc-hunit" ,ghc-hunit)
8838 ("ghc-quickcheck" ,ghc-quickcheck)
8839 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8840 ("ghc-tasty" ,ghc-tasty)
8841 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8842 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8843 (home-page "https://github.com/jaspervdj/psqueues")
8844 (synopsis "Pure priority search queues")
8845 (description "The psqueues package provides
8846@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8847three different flavors:
8848
8849@itemize
8850@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8851fast insertion, deletion and lookup. This implementation is based on Ralf
8852Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8853Implementation Technique for Priority Search Queues}.
8854
8855Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8856PSQueue} library, although it is considerably faster and provides a slightly
8857different API.
8858
8859@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8860key type to @code{Int} and uses a
8861@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8862with an additional min-heap property.
8863
8864@item @code{HashPSQ k p v} is a fairly straightforward extension
8865of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8866@code{IntPSQ}. If there are any hash collisions, it uses an
8867@code{OrdPSQ} to resolve those. The performance of this implementation
8868is comparable to that of @code{IntPSQ}, but it is more widely
8869applicable since the keys are not restricted to @code{Int},
8870but rather to any @code{Hashable} datatype.
8871@end itemize
8872
8873Each of the three implementations provides the same API, so they can
8874be used interchangeably.
8875
8876Typical applications of Priority Search Queues include:
8877
8878@itemize
8879@item Caches, and more specifically LRU Caches;
8880@item Schedulers;
8881@item Pathfinding algorithms, such as Dijkstra's and A*.
8882@end itemize")
8883 (license license:bsd-3)))
8884
8885(define-public ghc-random
8886 (package
8887 (name "ghc-random")
8888 (version "1.1")
8889 (outputs '("out" "doc"))
8890 (source
8891 (origin
8892 (method url-fetch)
8893 (uri (string-append
8894 "https://hackage.haskell.org/package/random/random-"
8895 version
8896 ".tar.gz"))
8897 (sha256
8898 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8899 (build-system haskell-build-system)
8900 (home-page "https://hackage.haskell.org/package/random")
8901 (synopsis "Random number library")
8902 (description "This package provides a basic random number generation
8903library, including the ability to split random number generators.")
8904 (license license:bsd-3)))
8905
8906(define-public ghc-raw-strings-qq
8907 (package
8908 (name "ghc-raw-strings-qq")
8909 (version "1.1")
8910 (source
8911 (origin
8912 (method url-fetch)
8913 (uri (string-append "https://hackage.haskell.org/package/"
8914 "raw-strings-qq/raw-strings-qq-"
8915 version ".tar.gz"))
8916 (sha256
8917 (base32
8918 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8919 (build-system haskell-build-system)
8920 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8921 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8922 (synopsis "Raw string literals for Haskell")
8923 (description
8924 "This package provides a quasiquoter for raw string literals, i.e. string
8925literals that don't recognise the standard escape sequences. Basically, they
8926make your code more readable by freeing you from the responsibility to escape
8927backslashes. They are useful when working with regular expressions,
8928DOS/Windows paths and markup languages (such as XML).")
8929 (license license:bsd-3)))
8930
8931(define-public ghc-readable
8932 (package
8933 (name "ghc-readable")
8934 (version "0.3.1")
8935 (source
8936 (origin
8937 (method url-fetch)
8938 (uri (string-append "https://hackage.haskell.org/package/"
8939 "readable/readable-" version ".tar.gz"))
8940 (sha256
8941 (base32
8942 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8943 (build-system haskell-build-system)
8944 (home-page "https://github.com/mightybyte/readable")
8945 (synopsis "Type class for reading from Text and ByteString")
8946 (description "This package provides a @code{Readable} type class for
8947reading data types from @code{ByteString} and @code{Text}. It also
8948includes efficient implementations for common data types.")
8949 (license license:bsd-3)))
8950
8951(define-public ghc-rebase
8952 (package
8953 (name "ghc-rebase")
8d2ae3fe 8954 (version "1.3.1.1")
dddbc90c
RV
8955 (source
8956 (origin
8957 (method url-fetch)
8958 (uri (string-append "https://hackage.haskell.org/package/"
8959 "rebase-" version "/"
8960 "rebase-" version ".tar.gz"))
8961 (sha256
8962 (base32
8d2ae3fe 8963 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8964 (build-system haskell-build-system)
8965 (inputs `(("ghc-hashable" ,ghc-hashable)
8966 ("ghc-vector" ,ghc-vector)
8967 ("ghc-unordered-containers" ,ghc-unordered-containers)
8968 ("ghc-scientific" ,ghc-scientific)
8969 ("ghc-uuid" ,ghc-uuid)
8970 ("ghc-dlist" ,ghc-dlist)
8971 ("ghc-void" ,ghc-void)
8972 ("ghc-bifunctors" ,ghc-bifunctors)
8973 ("ghc-profunctors" ,ghc-profunctors)
8974 ("ghc-contravariant" ,ghc-contravariant)
8975 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8976 ("ghc-semigroups" ,ghc-semigroups)
8977 ("ghc-either" ,ghc-either)
8978 ("ghc-fail" ,ghc-fail)
8979 ("ghc-base-prelude" ,ghc-base-prelude)))
8980 (home-page "https://github.com/nikita-volkov/rebase")
8981 (synopsis "Progressive alternative to the base package
8982for Haskell")
8983 (description "This Haskell package is intended for those who are
8984tired of keeping long lists of dependencies to the same essential libraries
8985in each package as well as the endless imports of the same APIs all over again.
8986
8987It also supports the modern tendencies in the language.
8988
8989To solve those problems this package does the following:
8990
8991@itemize
8992@item Reexport the original APIs under the @code{Rebase} namespace.
8993
8994@item Export all the possible non-conflicting symbols from the
8995@code{Rebase.Prelude} module.
8996
8997@item Give priority to the modern practices in the conflicting cases.
8998@end itemize
8999
9000The policy behind the package is only to reexport the non-ambiguous and
9001non-controversial APIs, which the community has obviously settled on.
9002The package is intended to rapidly evolve with the contribution from
9003the community, with the missing features being added with pull-requests.")
9004 (license license:expat)))
9005
9006(define-public ghc-reducers
9007 (package
9008 (name "ghc-reducers")
9009 (version "3.12.3")
9010 (source
9011 (origin
9012 (method url-fetch)
9013 (uri (string-append
9014 "https://hackage.haskell.org/package/reducers/reducers-"
9015 version
9016 ".tar.gz"))
9017 (sha256
9018 (base32
9019 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9020 (build-system haskell-build-system)
9021 (inputs
9022 `(("ghc-fingertree" ,ghc-fingertree)
9023 ("ghc-hashable" ,ghc-hashable)
9024 ("ghc-unordered-containers" ,ghc-unordered-containers)
9025 ("ghc-semigroupoids" ,ghc-semigroupoids)
9026 ("ghc-semigroups" ,ghc-semigroups)))
9027 (home-page "https://github.com/ekmett/reducers/")
9028 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9029 (description "This library provides various semigroups, specialized
9030containers and a general map/reduce framework for Haskell.")
9031 (license license:bsd-3)))
9032
9033(define-public ghc-refact
9034 (package
9035 (name "ghc-refact")
9036 (version "0.3.0.2")
9037 (source
9038 (origin
9039 (method url-fetch)
9040 (uri (string-append "https://hackage.haskell.org/package/"
9041 "refact/refact-"
9042 version ".tar.gz"))
9043 (sha256
9044 (base32
9045 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9046 (build-system haskell-build-system)
9047 (home-page "http://hackage.haskell.org/package/refact")
9048 (synopsis "Specify refactorings to perform with apply-refact")
9049 (description
9050 "This library provides a datatype which can be interpreted by
9051@code{apply-refact}. It exists as a separate library so that applications can
9052specify refactorings without depending on GHC.")
9053 (license license:bsd-3)))
9054
9055(define-public ghc-reflection
9056 (package
9057 (name "ghc-reflection")
d215f1cc 9058 (version "2.1.5")
dddbc90c
RV
9059 (source
9060 (origin
9061 (method url-fetch)
9062 (uri (string-append
9063 "https://hackage.haskell.org/package/reflection/reflection-"
9064 version
9065 ".tar.gz"))
9066 (sha256
9067 (base32
d215f1cc 9068 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9069 (build-system haskell-build-system)
9070 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9071 (native-inputs
9072 `(("ghc-hspec" ,ghc-hspec)
9073 ("ghc-quickcheck" ,ghc-quickcheck)
9074 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9075 (home-page "https://github.com/ekmett/reflection")
9076 (synopsis "Reify arbitrary terms into types that can be reflected back
9077into terms")
9078 (description "This package addresses the 'configuration problem' which is
9079propagating configurations that are available at run-time, allowing multiple
9080configurations to coexist without resorting to mutable global variables or
9081@code{System.IO.Unsafe.unsafePerformIO}.")
9082 (license license:bsd-3)))
9083
9084(define-public ghc-regex
9085 (package
9086 (name "ghc-regex")
b9a5e634 9087 (version "1.0.2.0")
dddbc90c
RV
9088 (source
9089 (origin
9090 (method url-fetch)
9091 (uri (string-append "https://hackage.haskell.org/package/regex/"
9092 "regex-" version ".tar.gz"))
9093 (sha256
9094 (base32
b9a5e634 9095 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9096 (build-system haskell-build-system)
9097 (arguments
9098 `(#:phases
9099 (modify-phases %standard-phases
9100 (add-after 'unpack 'relax-dependencies
9101 (lambda _
9102 (substitute* "regex.cabal"
9103 (("base-compat.*>=.*0.6.*")
9104 "base-compat >= 0.6\n")
9105 (("template-haskell.*>=.*2.7.*")
9106 "template-haskell >= 2.7\n"))
9107 #t)))))
9108 (inputs
9109 `(("ghc-base-compat" ,ghc-base-compat)
9110 ("ghc-hashable" ,ghc-hashable)
9111 ("ghc-regex-base" ,ghc-regex-base)
9112 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9113 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9114 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9115 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9116 ("ghc-unordered-containers" ,ghc-unordered-containers)
9117 ("ghc-utf8-string" ,ghc-utf8-string)))
9118 (home-page "http://regex.uk")
9119 (synopsis "Toolkit for regex-base")
9120 (description
9121 "This package provides a regular expression toolkit for @code{regex-base}
9122with compile-time checking of regular expression syntax, data types for
9123matches and captures, a text replacement toolkit, portable options, high-level
9124AWK-like tools for building text processing apps, regular expression macros
9125with parsers and test bench, comprehensive documentation, tutorials and
9126copious examples.")
9127 (license license:bsd-3)))
9128
9129(define-public ghc-regex-applicative
9130 (package
9131 (name "ghc-regex-applicative")
30f60e42 9132 (version "0.3.3.1")
dddbc90c
RV
9133 (source
9134 (origin
9135 (method url-fetch)
9136 (uri (string-append
9137 "https://hackage.haskell.org/package/regex-applicative/"
9138 "regex-applicative-" version ".tar.gz"))
9139 (sha256
9140 (base32
30f60e42 9141 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9142 (build-system haskell-build-system)
9143 (inputs
9144 `(("ghc-smallcheck" ,ghc-smallcheck)
9145 ("ghc-tasty" ,ghc-tasty)
9146 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9147 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9148 (home-page "https://github.com/feuerbach/regex-applicative")
9149 (synopsis "Regex-based parsing with applicative interface")
9150 (description
9151 "@code{regex-applicative} is a Haskell library for parsing using
9152regular expressions. Parsers can be built using Applicative interface.")
9153 (license license:expat)))
9154
9155(define-public ghc-regex-base
9156 (package
9157 (name "ghc-regex-base")
9158 (version "0.93.2")
9159 (source
9160 (origin
9161 (method url-fetch)
9162 (uri (string-append
9163 "https://hackage.haskell.org/package/regex-base/regex-base-"
9164 version
9165 ".tar.gz"))
9166 (sha256
9167 (base32
9168 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9169 (build-system haskell-build-system)
9170 (home-page
9171 "https://sourceforge.net/projects/lazy-regex")
9172 (synopsis "Replaces/Enhances Text.Regex")
9173 (description "@code{Text.Regex.Base} provides the interface API for
9174regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9175 (license license:bsd-3)))
9176
9177(define-public ghc-regex-compat
9178 (package
9179 (name "ghc-regex-compat")
9180 (version "0.95.1")
9181 (source
9182 (origin
9183 (method url-fetch)
9184 (uri (string-append
9185 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9186 version
9187 ".tar.gz"))
9188 (sha256
9189 (base32
9190 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9191 (build-system haskell-build-system)
9192 (inputs
9193 `(("ghc-regex-base" ,ghc-regex-base)
9194 ("ghc-regex-posix" ,ghc-regex-posix)))
9195 (home-page "https://sourceforge.net/projects/lazy-regex")
9196 (synopsis "Replaces/Enhances Text.Regex")
9197 (description "This library provides one module layer over
9198@code{regex-posix} to replace @code{Text.Regex}.")
9199 (license license:bsd-3)))
9200
9201(define-public ghc-regex-compat-tdfa
9202 (package
9203 (name "ghc-regex-compat-tdfa")
9204 (version "0.95.1.4")
9205 (source
9206 (origin
9207 (method url-fetch)
9208 (uri (string-append
9209 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9210 version ".tar.gz"))
9211 (sha256
9212 (base32
9213 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9214 (build-system haskell-build-system)
9215 (inputs
9216 `(("ghc-regex-base" ,ghc-regex-base)
9217 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9218 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9219 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9220 (description
9221 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9222@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9223This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9224this problem.")
9225 (license license:bsd-3)))
9226
9227(define-public ghc-regex-pcre-builtin
9228 (package
9229 (name "ghc-regex-pcre-builtin")
ee946143 9230 (version "0.94.5.8.8.35")
dddbc90c
RV
9231 (source (origin
9232 (method url-fetch)
9233 (uri (string-append "https://hackage.haskell.org/package/"
9234 "regex-pcre-builtin/regex-pcre-builtin-"
9235 version ".tar.gz"))
9236 (sha256
9237 (base32
ee946143 9238 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9239 (build-system haskell-build-system)
9240 (inputs
9241 `(("ghc-regex-base" ,ghc-regex-base)))
9242 (home-page "https://hackage.haskell.org/package/regex-pcre")
9243 (synopsis "Enhancement of the builtin Text.Regex library")
9244 (description
9245 "This package is an enhancement of the @code{Text.Regex} library,
9246providing the PCRE backend to accompany regex-base, with bundled code from
9247@url{https://www.pcre.org}.")
9248 (license license:bsd-3)))
9249
9250(define-public ghc-regex-posix
9251 (package
9252 (name "ghc-regex-posix")
9253 (version "0.95.2")
9254 (source
9255 (origin
9256 (method url-fetch)
9257 (uri (string-append
9258 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9259 version
9260 ".tar.gz"))
9261 (sha256
9262 (base32
9263 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9264 (build-system haskell-build-system)
9265 (inputs
9266 `(("ghc-regex-base" ,ghc-regex-base)))
9267 (home-page "https://sourceforge.net/projects/lazy-regex")
9268 (synopsis "POSIX regular expressions for Haskell")
9269 (description "This library provides the POSIX regex backend used by the
9270Haskell library @code{regex-base}.")
9271 (license license:bsd-3)))
9272
9273(define-public ghc-regex-tdfa
9274 (package
9275 (name "ghc-regex-tdfa")
ce684db0 9276 (version "1.2.3.2")
dddbc90c
RV
9277 (source
9278 (origin
9279 (method url-fetch)
9280 (uri (string-append
9281 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9282 version ".tar.gz"))
9283 (sha256
9284 (base32
ce684db0 9285 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9286 (build-system haskell-build-system)
9287 (inputs
9288 `(("ghc-regex-base" ,ghc-regex-base)))
9289 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9290 (synopsis "POSIX extended regular expressions in Haskell.")
9291 (description
9292 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9293extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9294inspired by libtre.")
9295 (license license:bsd-3)))
9296
9297(define-public ghc-regex-tdfa-text
9298 (package
9299 (name "ghc-regex-tdfa-text")
9300 (version "1.0.0.3")
9301 (source
9302 (origin
9303 (method url-fetch)
9304 (uri (string-append
9305 "https://hackage.haskell.org/package/regex-tdfa-text/"
9306 "regex-tdfa-text-" version ".tar.gz"))
9307 (sha256
9308 (base32
9309 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9310 (build-system haskell-build-system)
9311 (inputs
9312 `(("ghc-regex-base" ,ghc-regex-base)
9313 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9314 (home-page
9315 "http://hackage.haskell.org/package/regex-tdfa-text")
9316 (synopsis "Text interface for regex-tdfa")
9317 (description
9318 "This provides an extra text interface for regex-tdfa.")
9319 (license license:bsd-3)))
9320
9321(define-public ghc-rerebase
9322 (package
9323 (name "ghc-rerebase")
cdec7b8c 9324 (version "1.3.1.1")
dddbc90c
RV
9325 (source
9326 (origin
9327 (method url-fetch)
9328 (uri (string-append
9329 "https://hackage.haskell.org/package/rerebase/rerebase-"
9330 version ".tar.gz"))
9331 (sha256
9332 (base32
cdec7b8c 9333 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9334 (build-system haskell-build-system)
9335 (inputs
9336 `(("ghc-rebase" ,ghc-rebase)))
9337 (home-page "https://github.com/nikita-volkov/rerebase")
9338 (synopsis "Reexports from ``base'' with many other standard libraries")
9339 (description "A rich drop-in replacement for @code{base}. For details and
9340documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9341the project's home page}.")
9342 (license license:expat)))
9343
9344(define-public ghc-resolv
9345 (package
9346 (name "ghc-resolv")
87309478 9347 (version "0.1.1.2")
dddbc90c
RV
9348 (source
9349 (origin
9350 (method url-fetch)
9351 (uri (string-append
9352 "https://hackage.haskell.org/package/resolv/resolv-"
9353 version ".tar.gz"))
9354 (sha256
9355 (base32
87309478 9356 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9357 (build-system haskell-build-system)
9358 (arguments
87309478
TS
9359 `(#:phases
9360 (modify-phases %standard-phases
9361 (add-before 'configure 'update-constraints
9362 (lambda _
9363 (substitute* "resolv.cabal"
9364 (("tasty >= 1\\.1 && < 1\\.2")
9365 "tasty >= 1.1 && < 1.3"))
9366 #t)))))
dddbc90c
RV
9367 (inputs
9368 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9369 (native-inputs
9370 `(("ghc-tasty" ,ghc-tasty)
9371 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9372 (home-page "https://github.com/haskell/hackage-security")
9373 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9374 (description "This package implements an API for accessing the
9375@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9376resolver service via the standard @code{libresolv} system library (whose
9377API is often available directly via the standard @code{libc} C library) on
9378Unix systems.")
9379 (license license:gpl3)))
9380
9381(define-public ghc-resource-pool
9382 (package
9383 (name "ghc-resource-pool")
9384 (version "0.2.3.2")
9385 (source
9386 (origin
9387 (method url-fetch)
9388 (uri (string-append "https://hackage.haskell.org/package/"
9389 "resource-pool-" version "/"
9390 "resource-pool-" version ".tar.gz"))
9391 (sha256
9392 (base32
9393 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9394 (build-system haskell-build-system)
9395 (inputs `(("ghc-hashable" ,ghc-hashable)
9396 ("ghc-monad-control" ,ghc-monad-control)
9397 ("ghc-transformers-base" ,ghc-transformers-base)
9398 ("ghc-vector" ,ghc-vector)))
9399 (home-page "https://github.com/bos/pool")
9400 (synopsis "Striped resource pooling implementation in Haskell")
9401 (description "This Haskell package provides striped pooling abstraction
9402for managing flexibly-sized collections of resources such as database
9403connections.")
9404 (license license:bsd-3)))
9405
9406(define-public ghc-resourcet
9407 (package
9408 (name "ghc-resourcet")
9ac341ac 9409 (version "1.2.2")
dddbc90c
RV
9410 (source
9411 (origin
9412 (method url-fetch)
9413 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9414 "resourcet-" version ".tar.gz"))
9415 (sha256
9416 (base32
9ac341ac 9417 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9418 (build-system haskell-build-system)
9419 (inputs
9420 `(("ghc-transformers-base" ,ghc-transformers-base)
9421 ("ghc-monad-control" ,ghc-monad-control)
9422 ("ghc-transformers-compat" ,ghc-transformers-compat)
9423 ("ghc-mmorph" ,ghc-mmorph)
9424 ("ghc-exceptions" ,ghc-exceptions)
9425 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9426 (native-inputs
9427 `(("ghc-lifted-base" ,ghc-lifted-base)
9428 ("ghc-hspec" ,ghc-hspec)))
9429 (home-page "https://github.com/snoyberg/conduit")
9430 (synopsis "Deterministic allocation and freeing of scarce resources")
9431 (description "ResourceT is a monad transformer which creates a region of
9432code where you can safely allocate resources.")
9433 (license license:bsd-3)))
9434
b9debc37
TS
9435(define-public ghc-retry
9436 (package
9437 (name "ghc-retry")
9438 (version "0.8.1.0")
9439 (source
9440 (origin
9441 (method url-fetch)
9442 (uri (string-append "https://hackage.haskell.org/package/"
9443 "retry/retry-" version ".tar.gz"))
9444 (sha256
9445 (base32
9446 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9447 (build-system haskell-build-system)
9448 (inputs
9449 `(("ghc-exceptions" ,ghc-exceptions)
9450 ("ghc-random" ,ghc-random)))
9451 (native-inputs
9452 `(("ghc-hunit" ,ghc-hunit)
9453 ("ghc-tasty" ,ghc-tasty)
9454 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9455 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9456 ("ghc-hedgehog" ,ghc-hedgehog)))
9457 (home-page "http://github.com/Soostone/retry")
9458 (synopsis "Retry combinators for monadic actions that may fail")
9459 (description "This package exposes combinators that can wrap
9460arbitrary monadic actions. They run the action and potentially retry
9461running it with some configurable delay for a configurable number of
9462times. The purpose is to make it easier to work with IO and especially
9463network IO actions that often experience temporary failure and warrant
9464retrying of the original action. For example, a database query may time
9465out for a while, in which case we should hang back for a bit and retry
9466the query instead of simply raising an exception.")
9467 (license license:bsd-3)))
9468
dddbc90c
RV
9469(define-public ghc-rfc5051
9470 (package
9471 (name "ghc-rfc5051")
ec42ab7c 9472 (version "0.1.0.4")
dddbc90c
RV
9473 (source
9474 (origin
9475 (method url-fetch)
9476 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9477 "rfc5051-" version ".tar.gz"))
9478 (sha256
9479 (base32
ec42ab7c 9480 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9481 (build-system haskell-build-system)
9482 (home-page "https://hackage.haskell.org/package/rfc5051")
9483 (synopsis "Simple unicode collation as per RFC5051")
9484 (description
9485 "This library implements @code{unicode-casemap}, the simple, non
9486locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9487unicode collation can be done using @code{text-icu}, but that is a big
9488dependency that depends on a large C library, and @code{rfc5051} might be
9489better for some purposes.")
9490 (license license:bsd-3)))
9491
9492(define-public ghc-rio
9493 (package
9494 (name "ghc-rio")
8bda2fa7 9495 (version "0.1.12.0")
dddbc90c
RV
9496 (source
9497 (origin
9498 (method url-fetch)
9499 (uri (string-append
9500 "https://hackage.haskell.org/package/rio/rio-"
9501 version ".tar.gz"))
9502 (sha256
9503 (base32
8bda2fa7 9504 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9505 (build-system haskell-build-system)
9506 (inputs
9507 `(("ghc-exceptions" ,ghc-exceptions)
9508 ("ghc-hashable" ,ghc-hashable)
9509 ("ghc-microlens" ,ghc-microlens)
9510 ("ghc-primitive" ,ghc-primitive)
9511 ("ghc-typed-process" ,ghc-typed-process)
9512 ("ghc-unliftio" ,ghc-unliftio)
9513 ("ghc-unordered-containers" ,ghc-unordered-containers)
9514 ("ghc-vector" ,ghc-vector)))
9515 (native-inputs
9516 `(("ghc-hspec" ,ghc-hspec)
9517 ("hspec-discover" ,hspec-discover)))
9518 (home-page "https://github.com/commercialhaskell/rio#readme")
9519 (synopsis "A standard library for Haskell")
9520 (description "This package works as a prelude replacement for Haskell,
9521providing more functionality and types out of the box than the standard
9522prelude (such as common data types like @code{ByteString} and
9523@code{Text}), as well as removing common ``gotchas'', like partial
9524functions and lazy I/O. The guiding principle here is:
9525@itemize
9526@item If something is safe to use in general and has no expected naming
9527conflicts, expose it.
9528@item If something should not always be used, or has naming conflicts,
9529expose it from another module in the hierarchy.
9530@end itemize")
9531 (license license:expat)))
9532
9533(define-public ghc-safe
9534 (package
9535 (name "ghc-safe")
9536 (version "0.3.17")
9537 (source
9538 (origin
9539 (method url-fetch)
9540 (uri (string-append
9541 "https://hackage.haskell.org/package/safe/safe-"
9542 version
9543 ".tar.gz"))
9544 (sha256
9545 (base32
9546 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9547 (build-system haskell-build-system)
9548 (native-inputs
9549 `(("ghc-quickcheck" ,ghc-quickcheck)))
9550 (home-page "https://github.com/ndmitchell/safe#readme")
9551 (synopsis "Library of safe (exception free) functions")
9552 (description "This library provides wrappers around @code{Prelude} and
9553@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9554exceptions.")
9555 (license license:bsd-3)))
9556
9557(define-public ghc-safe-exceptions
9558 (package
9559 (name "ghc-safe-exceptions")
9560 (version "0.1.7.0")
9561 (source
9562 (origin
9563 (method url-fetch)
9564 (uri (string-append "https://hackage.haskell.org/package/"
9565 "safe-exceptions/safe-exceptions-"
9566 version ".tar.gz"))
9567 (sha256
9568 (base32
9569 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9570 (build-system haskell-build-system)
9571 (arguments
9572 '(#:cabal-revision
9573 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9574 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9575 (native-inputs
9576 `(("ghc-hspec" ,ghc-hspec)
9577 ("ghc-void" ,ghc-void)
9578 ("hspec-discover" ,hspec-discover)))
9579 (home-page "https://github.com/fpco/safe-exceptions")
9580 (synopsis "Safe, consistent, and easy exception handling")
9581 (description "Runtime exceptions - as exposed in @code{base} by the
9582@code{Control.Exception} module - have long been an intimidating part of the
9583Haskell ecosystem. This package is intended to overcome this. It provides a
9584safe and simple API on top of the existing exception handling machinery. The
9585API is equivalent to the underlying implementation in terms of power but
9586encourages best practices to minimize the chances of getting the exception
9587handling wrong.")
9588 (license license:expat)))
9589
9590(define-public ghc-safeio
9591 (package
9592 (name "ghc-safeio")
9593 (version "0.0.5.0")
9594 (source
9595 (origin
9596 (method url-fetch)
9597 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9598 "safeio-" version ".tar.gz"))
9599 (sha256
9600 (base32
9601 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9602 (build-system haskell-build-system)
9603 (inputs
9604 `(("ghc-conduit" ,ghc-conduit)
9605 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9606 ("ghc-exceptions" ,ghc-exceptions)
9607 ("ghc-resourcet" ,ghc-resourcet)))
9608 (native-inputs
9609 `(("ghc-hunit" ,ghc-hunit)
9610 ("ghc-test-framework" ,ghc-test-framework)
9611 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9612 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9613 (home-page "https://github.com/luispedro/safeio")
9614 (synopsis "Write output to disk atomically")
9615 (description
9616 "This package implements utilities to perform atomic output so as to
9617avoid the problem of partial intermediate files.")
9618 (license license:expat)))
9619
9620(define-public ghc-safesemaphore
9621 (package
9622 (name "ghc-safesemaphore")
9623 (version "0.10.1")
9624 (source
9625 (origin
9626 (method url-fetch)
9627 (uri (string-append "https://hackage.haskell.org/package/"
9628 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9629 (sha256
9630 (base32
9631 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9632 (build-system haskell-build-system)
9633 (native-inputs
9634 `(("ghc-hunit" ,ghc-hunit)))
9635 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9636 (synopsis "Exception safe semaphores")
9637 (description "This library provides exception safe semaphores that can be
9638used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9639are not exception safe and can be broken by @code{killThread}.")
9640 (license license:bsd-3)))
9641
9642(define-public ghc-sandi
9643 (package
9644 (name "ghc-sandi")
b867c2b0 9645 (version "0.5")
dddbc90c
RV
9646 (source
9647 (origin
9648 (method url-fetch)
9649 (uri (string-append
9650 "https://hackage.haskell.org/package/sandi/sandi-"
9651 version ".tar.gz"))
9652 (sha256
9653 (base32
b867c2b0 9654 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9655 (build-system haskell-build-system)
9656 (inputs
9657 `(("ghc-stringsearch" ,ghc-stringsearch)
9658 ("ghc-conduit" ,ghc-conduit)
9659 ("ghc-exceptions" ,ghc-exceptions)
9660 ("ghc-hunit" ,ghc-hunit)
9661 ("ghc-tasty" ,ghc-tasty)
9662 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9663 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9664 ("ghc-tasty-th" ,ghc-tasty-th)))
9665 (home-page "https://hackage.haskell.org/package/sandi")
9666 (synopsis "Data encoding library")
9667 (description "Reasonably fast data encoding library.")
9668 (license license:bsd-3)))
9669
9670(define-public ghc-scientific
9671 (package
9672 (name "ghc-scientific")
9673 (version "0.3.6.2")
9674 (source
9675 (origin
9676 (method url-fetch)
9677 (uri (string-append
9678 "https://hackage.haskell.org/package/scientific/scientific-"
9679 version
9680 ".tar.gz"))
9681 (sha256
9682 (base32
9683 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9684 (build-system haskell-build-system)
9685 (inputs
9686 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9687 ("ghc-hashable" ,ghc-hashable)
9688 ("ghc-primitive" ,ghc-primitive)))
9689 (native-inputs
9690 `(("ghc-tasty" ,ghc-tasty)
9691 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9692 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9693 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9694 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9695 ("ghc-smallcheck" ,ghc-smallcheck)
9696 ("ghc-quickcheck" ,ghc-quickcheck)))
9697 (home-page "https://github.com/basvandijk/scientific")
9698 (synopsis "Numbers represented using scientific notation")
9699 (description "This package provides @code{Data.Scientific}, which provides
9700the number type @code{Scientific}. Scientific numbers are arbitrary precision
9701and space efficient. They are represented using
9702@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9703notation}.")
9704 (license license:bsd-3)))
9705
9706(define-public ghc-scientific-bootstrap
9707 (package
9708 (inherit ghc-scientific)
9709 (name "ghc-scientific-bootstrap")
9710 (arguments `(#:tests? #f))
9711 (inputs
9712 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9713 ("ghc-hashable" ,ghc-hashable)
9714 ("ghc-primitive" ,ghc-primitive)))
9715 (native-inputs '())
799d8d3c 9716 (properties '((hidden? #t)))))
dddbc90c
RV
9717
9718(define-public ghc-sdl
9719 (package
9720 (name "ghc-sdl")
9721 (version "0.6.7.0")
9722 (source
9723 (origin
9724 (method url-fetch)
9725 (uri (string-append
9726 "https://hackage.haskell.org/package/SDL/SDL-"
9727 version
9728 ".tar.gz"))
9729 (sha256
9730 (base32
9731 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9732 (build-system haskell-build-system)
9733 (inputs
9734 `(("sdl" ,sdl)))
9735 (home-page "https://hackage.haskell.org/package/SDL")
9736 (synopsis "LibSDL for Haskell")
9737 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9738multimedia library designed to provide low level access to audio, keyboard,
9739mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9740by MPEG playback software, emulators, and many popular games, including the
9741award winning Linux port of \"Civilization: Call To Power.\"")
9742 (license license:bsd-3)))
9743
1874cdc1
RV
9744(define-public ghc-sdl2
9745 (package
9746 (name "ghc-sdl2")
145148ca 9747 (version "2.5.0.0")
1874cdc1
RV
9748 (source
9749 (origin
9750 (method url-fetch)
9751 (uri (string-append "https://hackage.haskell.org/package/"
9752 "sdl2/sdl2-" version ".tar.gz"))
9753 (sha256
9754 (base32
145148ca 9755 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
9756 (build-system haskell-build-system)
9757 (arguments '(#:tests? #f)) ; tests require graphical environment
9758 (inputs
9759 `(("ghc-exceptions" ,ghc-exceptions)
9760 ("ghc-linear" ,ghc-linear)
9761 ("ghc-statevar" ,ghc-statevar)
9762 ("ghc-vector" ,ghc-vector)
9763 ("sdl2" ,sdl2)))
9764 (native-inputs
9765 `(("ghc-weigh" ,ghc-weigh)
9766 ("pkg-config" ,pkg-config)))
9767 (home-page "http://hackage.haskell.org/package/sdl2")
9768 (synopsis "High- and low-level bindings to the SDL library")
9769 (description
9770 "This package contains bindings to the SDL 2 library, in both high- and
9771low-level forms. The @code{SDL} namespace contains high-level bindings, where
9772enumerations are split into sum types, and we perform automatic
9773error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9774translation of the C API into Haskell FFI calls. As such, this does not
9775contain sum types nor error checking. Thus this namespace is suitable for
9776building your own abstraction over SDL, but is not recommended for day-to-day
9777programming.")
9778 (license license:bsd-3)))
9779
9780(define-public ghc-sdl2-image
9781 (package
9782 (name "ghc-sdl2-image")
9783 (version "2.0.0")
9784 (source
9785 (origin
9786 (method url-fetch)
9787 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9788 "sdl2-image-" version ".tar.gz"))
9789 (sha256
9790 (base32
9791 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9792 (build-system haskell-build-system)
9793 (inputs
9794 `(("ghc-sdl2" ,ghc-sdl2)
9795 ("sdl2-image" ,sdl2-image)))
9796 (native-inputs
9797 `(("pkg-config" ,pkg-config)))
9798 (home-page "http://hackage.haskell.org/package/sdl2-image")
9799 (synopsis "Bindings to SDL2_image")
9800 (description "This package provides Haskell bindings to
9801@code{SDL2_image}.")
9802 (license license:expat)))
9803
9804(define-public ghc-sdl2-mixer
9805 (package
9806 (name "ghc-sdl2-mixer")
9807 (version "1.1.0")
9808 (source
9809 (origin
9810 (method url-fetch)
9811 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9812 "sdl2-mixer-" version ".tar.gz"))
9813 (sha256
9814 (base32
9815 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9816 (build-system haskell-build-system)
9817 (inputs
9818 `(("ghc-data-default-class" ,ghc-data-default-class)
9819 ("ghc-lifted-base" ,ghc-lifted-base)
9820 ("ghc-monad-control" ,ghc-monad-control)
9821 ("ghc-sdl2" ,ghc-sdl2)
9822 ("ghc-vector" ,ghc-vector)
9823 ("sdl2-mixer" ,sdl2-mixer)))
9824 (native-inputs
9825 `(("pkg-config" ,pkg-config)))
9826 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9827 (synopsis "Bindings to SDL2 mixer")
9828 (description "This package provides Haskell bindings to
9829@code{SDL2_mixer}.")
9830 (license license:bsd-3)))
9831
dddbc90c
RV
9832(define-public ghc-sdl-image
9833 (package
9834 (name "ghc-sdl-image")
9835 (version "0.6.2.0")
9836 (source
9837 (origin
9838 (method url-fetch)
9839 (uri (string-append
9840 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9841 version
9842 ".tar.gz"))
9843 (sha256
9844 (base32
9845 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9846 (build-system haskell-build-system)
9847 (arguments
9848 `(#:configure-flags
9849 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9850 (sdl-image-include (string-append sdl-image "/include/SDL")))
9851 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9852 (inputs
9853 `(("ghc-sdl" ,ghc-sdl)
9854 ("sdl-image" ,sdl-image)))
9855 (home-page "https://hackage.haskell.org/package/SDL-image")
9856 (synopsis "Haskell bindings to libSDL_image")
9857 (description "SDL_image is an image file loading library. It loads images
9858as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9859PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9860 (license license:bsd-3)))
9861
9862(define-public ghc-sdl-mixer
9863 (package
9864 (name "ghc-sdl-mixer")
9865 (version "0.6.3.0")
9866 (source
9867 (origin
9868 (method url-fetch)
9869 (uri (string-append
9870 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9871 version
9872 ".tar.gz"))
9873 (sha256
9874 (base32
9875 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9876 (build-system haskell-build-system)
9877 (arguments
9878 `(#:configure-flags
9879 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9880 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9881 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9882 (inputs
9883 `(("ghc-sdl" ,ghc-sdl)
9884 ("sdl-mixer" ,sdl-mixer)))
9885 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9886 (synopsis "Haskell bindings to libSDL_mixer")
9887 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9888supports any number of simultaneously playing channels of 16 bit stereo audio,
9889plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9890MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9891 (license license:bsd-3)))
9892
9893(define-public ghc-securemem
9894 (package
9895 (name "ghc-securemem")
9896 (version "0.1.10")
9897 (source
9898 (origin
9899 (method url-fetch)
9900 (uri (string-append "https://hackage.haskell.org/package/"
9901 "securemem-" version "/"
9902 "securemem-" version ".tar.gz"))
9903 (sha256
9904 (base32
9905 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9906 (build-system haskell-build-system)
9907 (inputs `(("ghc-byteable" ,ghc-byteable)
9908 ("ghc-memory" ,ghc-memory)))
9909 (home-page "https://github.com/vincenthz/hs-securemem")
9910 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9911Haskell")
9912 (description "SecureMem is similar to ByteString, except that it provides
9913a memory chunk that will be auto-scrubbed after it run out of scope.")
9914 (license license:bsd-3)))
9915
9916(define-public ghc-semigroupoids
9917 (package
9918 (name "ghc-semigroupoids")
a8aaadf2 9919 (version "5.3.3")
dddbc90c
RV
9920 (source
9921 (origin
9922 (method url-fetch)
9923 (uri (string-append
9924 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9925 version
9926 ".tar.gz"))
9927 (sha256
9928 (base32
a8aaadf2 9929 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9930 (build-system haskell-build-system)
dddbc90c
RV
9931 (inputs
9932 `(("ghc-base-orphans" ,ghc-base-orphans)
9933 ("ghc-transformers-compat" ,ghc-transformers-compat)
9934 ("ghc-bifunctors" ,ghc-bifunctors)
9935 ("ghc-comonad" ,ghc-comonad)
9936 ("ghc-contravariant" ,ghc-contravariant)
9937 ("ghc-distributive" ,ghc-distributive)
9938 ("ghc-hashable" ,ghc-hashable)
9939 ("ghc-semigroups" ,ghc-semigroups)
9940 ("ghc-tagged" ,ghc-tagged)
9941 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9942 (native-inputs
9943 `(("cabal-doctest" ,cabal-doctest)
9944 ("ghc-doctest" ,ghc-doctest)))
9945 (home-page "https://github.com/ekmett/semigroupoids")
9946 (synopsis "Semigroupoids operations for Haskell")
9947 (description "This library provides a wide array of (semi)groupoids and
9948operations for working with them. A @code{Semigroupoid} is a @code{Category}
9949without the requirement of identity arrows for every object in the category.
9950A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9951Finally, to work with these weaker structures it is beneficial to have
9952containers that can provide stronger guarantees about their contents, so
9953versions of @code{Traversable} and @code{Foldable} that can be folded with
9954just a @code{Semigroup} are added.")
9955 (license license:bsd-3)))
9956
9957(define-public ghc-semigroups
9958 (package
9959 (name "ghc-semigroups")
9960 (version "0.18.5")
9961 (source
9962 (origin
9963 (method url-fetch)
9964 (uri (string-append
9965 "https://hackage.haskell.org/package/semigroups/semigroups-"
9966 version
9967 ".tar.gz"))
9968 (sha256
9969 (base32
9970 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9971 (build-system haskell-build-system)
9972 (inputs
9973 `(("ghc-nats" ,ghc-nats)
9974 ("ghc-tagged" ,ghc-tagged)
9975 ("ghc-unordered-containers" ,ghc-unordered-containers)
9976 ("ghc-hashable" ,ghc-hashable)))
9977 (home-page "https://github.com/ekmett/semigroups/")
9978 (synopsis "Semigroup operations for Haskell")
9979 (description "This package provides semigroups for Haskell. In
9980mathematics, a semigroup is an algebraic structure consisting of a set
9981together with an associative binary operation. A semigroup generalizes a
9982monoid in that there might not exist an identity element. It
9983also (originally) generalized a group (a monoid with all inverses) to a type
9984where every element did not have to have an inverse, thus the name
9985semigroup.")
9986 (license license:bsd-3)))
9987
9988(define-public ghc-semigroups-bootstrap
9989 (package
9990 (inherit ghc-semigroups)
9991 (name "ghc-semigroups-bootstrap")
9992 (inputs
9993 `(("ghc-nats" ,ghc-nats-bootstrap)
9994 ("ghc-tagged" ,ghc-tagged)
9995 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9996 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9997 (properties '((hidden? #t)))))
dddbc90c
RV
9998
9999(define-public ghc-setenv
10000 (package
10001 (name "ghc-setenv")
10002 (version "0.1.1.3")
10003 (source
10004 (origin
10005 (method url-fetch)
10006 (uri (string-append
10007 "https://hackage.haskell.org/package/setenv/setenv-"
10008 version
10009 ".tar.gz"))
10010 (sha256
10011 (base32
10012 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10013 (build-system haskell-build-system)
10014 (home-page "https://hackage.haskell.org/package/setenv")
10015 (synopsis "Library for setting environment variables")
10016 (description "This package provides a Haskell library for setting
10017environment variables.")
10018 (license license:expat)))
10019
10020(define-public ghc-setlocale
10021 (package
10022 (name "ghc-setlocale")
9d7cfc9b 10023 (version "1.0.0.9")
dddbc90c
RV
10024 (source (origin
10025 (method url-fetch)
10026 (uri (string-append
10027 "https://hackage.haskell.org/package/setlocale-"
10028 version "/setlocale-" version ".tar.gz"))
10029 (sha256
10030 (base32
9d7cfc9b 10031 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10032 (build-system haskell-build-system)
10033 (home-page "https://hackage.haskell.org/package/setlocale")
10034 (synopsis "Haskell bindings to setlocale")
10035 (description "This package provides Haskell bindings to the
10036@code{setlocale} C function.")
10037 (license license:bsd-3)))
10038
10039(define-public ghc-shakespeare
10040 (package
10041 (name "ghc-shakespeare")
f680955f 10042 (version "2.0.22")
dddbc90c
RV
10043 (source
10044 (origin
10045 (method url-fetch)
10046 (uri (string-append "https://hackage.haskell.org/package/"
10047 "shakespeare-" version "/"
10048 "shakespeare-" version ".tar.gz"))
10049 (sha256
10050 (base32
f680955f 10051 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10052 (build-system haskell-build-system)
10053 (inputs `(("ghc-aeson" ,ghc-aeson)
10054 ("ghc-blaze-markup" ,ghc-blaze-markup)
10055 ("ghc-blaze-html" ,ghc-blaze-html)
10056 ("ghc-exceptions" ,ghc-exceptions)
10057 ("ghc-vector" ,ghc-vector)
10058 ("ghc-unordered-containers" ,ghc-unordered-containers)
10059 ("ghc-scientific" ,ghc-scientific)))
10060 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10061 ("ghc-hunit" ,ghc-hunit)
10062 ("hspec-discover" ,hspec-discover)))
10063 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10064 (synopsis "Family of type-safe template languages for Haskell")
10065 (description "This Haskell package provides a family of type-safe
10066templates with simple variable interpolation. Shakespeare templates can
10067be used inline with a quasi-quoter or in an external file and it
10068interpolates variables according to the type being inserted.")
10069 (license license:expat)))
10070
10071(define-public ghc-shelly
10072 (package
10073 (name "ghc-shelly")
10074 (version "1.8.1")
10075 (source
10076 (origin
10077 (method url-fetch)
10078 (uri (string-append
10079 "https://hackage.haskell.org/package/shelly/shelly-"
10080 version ".tar.gz"))
10081 (sha256
10082 (base32
10083 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10084 (build-system haskell-build-system)
10085 (inputs
10086 `(("ghc-unix-compat" ,ghc-unix-compat)
10087 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10088 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10089 ("ghc-monad-control" ,ghc-monad-control)
10090 ("ghc-lifted-base" ,ghc-lifted-base)
10091 ("ghc-lifted-async" ,ghc-lifted-async)
10092 ("ghc-exceptions" ,ghc-exceptions)
10093 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10094 ("ghc-async" ,ghc-async)
10095 ("ghc-transformers-base" ,ghc-transformers-base)
10096 ("ghc-hunit" ,ghc-hunit)
10097 ("ghc-hspec" ,ghc-hspec)
10098 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10099 (home-page "https://github.com/yesodweb/Shelly.hs")
10100 (synopsis "Shell-like (systems) programming in Haskell")
10101 (description
10102 "Shelly provides convenient systems programming in Haskell, similar in
10103spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10104 (license license:bsd-3)))
10105
10106(define-public ghc-silently
10107 (package
10108 (name "ghc-silently")
544bb369 10109 (version "1.2.5.1")
dddbc90c
RV
10110 (source
10111 (origin
10112 (method url-fetch)
10113 (uri (string-append
10114 "https://hackage.haskell.org/package/silently/silently-"
10115 version
10116 ".tar.gz"))
10117 (sha256
10118 (base32
544bb369 10119 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10120 (build-system haskell-build-system)
10121 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10122 ;; (inputs
10123 ;; `(("ghc-temporary" ,ghc-temporary)))
10124 (home-page "https://github.com/hspec/silently")
10125 (synopsis "Prevent writing to stdout")
10126 (description "This package provides functions to prevent or capture
10127writing to stdout and other handles.")
10128 (license license:bsd-3)))
10129
10130(define-public ghc-simple-reflect
10131 (package
10132 (name "ghc-simple-reflect")
10133 (version "0.3.3")
10134 (source
10135 (origin
10136 (method url-fetch)
10137 (uri (string-append
10138 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10139 version
10140 ".tar.gz"))
10141 (sha256
10142 (base32
10143 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10144 (build-system haskell-build-system)
10145 (home-page
10146 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10147 (synopsis
10148 "Simple reflection of expressions containing variables")
10149 (description
10150 "This package allows simple reflection of expressions containing
10151variables. Reflection here means that a Haskell expression is turned into a
10152string. The primary aim of this package is teaching and understanding; there
10153are no options for manipulating the reflected expressions beyond showing
10154them.")
10155 (license license:bsd-3)))
10156
10157(define-public ghc-simple-sendfile
10158 (package
10159 (name "ghc-simple-sendfile")
08f54390 10160 (version "0.2.30")
dddbc90c
RV
10161 (source
10162 (origin
10163 (method url-fetch)
10164 (uri (string-append "https://hackage.haskell.org/package/"
10165 "simple-sendfile-" version "/"
10166 "simple-sendfile-" version ".tar.gz"))
10167 (sha256
10168 (base32
08f54390 10169 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10170 (build-system haskell-build-system)
10171 (inputs
10172 `(("ghc-conduit" ,ghc-conduit)
10173 ("ghc-conduit-extra" ,ghc-conduit-extra)
10174 ("ghc-network" ,ghc-network)
10175 ("ghc-resourcet" ,ghc-resourcet)))
10176 (native-inputs
10177 `(("ghc-hspec" ,ghc-hspec)
10178 ("hspec-discover" ,hspec-discover)))
10179 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10180 (synopsis "Cross platform library for the sendfile system call")
10181 (description "This library tries to call minimum system calls which
10182are the bottleneck of web servers.")
10183 (license license:bsd-3)))
10184
06966c05
TS
10185(define-public ghc-size-based
10186 (package
10187 (name "ghc-size-based")
10188 (version "0.1.2.0")
10189 (source
10190 (origin
10191 (method url-fetch)
10192 (uri (string-append "https://hackage.haskell.org/package/"
10193 "size-based/size-based-" version ".tar.gz"))
10194 (sha256
10195 (base32
10196 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10197 (build-system haskell-build-system)
10198 (inputs
10199 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10200 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10201 ("ghc-semigroups" ,ghc-semigroups)))
10202 (arguments
10203 `(#:cabal-revision
10204 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10205 (home-page "https://hackage.haskell.org/package/size-based")
10206 (synopsis "Sized functors for size-based enumerations")
10207 (description "This library provides a framework for size-based
10208enumerations.")
10209 (license license:bsd-3)))
10210
dddbc90c
RV
10211(define-public ghc-skylighting-core
10212 (package
10213 (name "ghc-skylighting-core")
1826c2a8 10214 (version "0.8.2.1")
dddbc90c
RV
10215 (source (origin
10216 (method url-fetch)
10217 (uri (string-append "https://hackage.haskell.org/package/"
10218 "skylighting-core/skylighting-core-"
10219 version ".tar.gz"))
10220 (sha256
10221 (base32
1826c2a8 10222 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10223 (build-system haskell-build-system)
10224 (inputs
10225 `(("ghc-aeson" ,ghc-aeson)
10226 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10227 ("ghc-attoparsec" ,ghc-attoparsec)
10228 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10229 ("ghc-blaze-html" ,ghc-blaze-html)
10230 ("ghc-case-insensitive" ,ghc-case-insensitive)
10231 ("ghc-colour" ,ghc-colour)
10232 ("ghc-hxt" ,ghc-hxt)
10233 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10234 ("ghc-safe" ,ghc-safe)
10235 ("ghc-utf8-string" ,ghc-utf8-string)))
10236 (native-inputs
10237 `(("ghc-diff" ,ghc-diff)
10238 ("ghc-hunit" ,ghc-hunit)
10239 ("ghc-pretty-show" ,ghc-pretty-show)
10240 ("ghc-quickcheck" ,ghc-quickcheck)
10241 ("ghc-tasty" ,ghc-tasty)
10242 ("ghc-tasty-golden" ,ghc-tasty-golden)
10243 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10244 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10245 (home-page "https://github.com/jgm/skylighting")
10246 (synopsis "Syntax highlighting library")
10247 (description "Skylighting is a syntax highlighting library with support
10248for over one hundred languages. It derives its tokenizers from XML syntax
10249definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10250supported by that framework can be added. An optional command-line program is
10251provided. Skylighting is intended to be the successor to highlighting-kate.")
10252 (license license:gpl2)))
10253
10254(define-public ghc-skylighting
10255 (package
10256 (inherit ghc-skylighting-core)
10257 (name "ghc-skylighting")
36c940cf 10258 (version "0.8.2.1")
dddbc90c
RV
10259 (source (origin
10260 (method url-fetch)
10261 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10262 version "/skylighting-" version ".tar.gz"))
10263 (sha256
10264 (base32
36c940cf 10265 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10266 (inputs
10267 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10268 ,@(package-inputs ghc-skylighting-core)))))
10269
10270(define-public ghc-smallcheck
10271 (package
10272 (name "ghc-smallcheck")
10273 (version "1.1.5")
10274 (source
10275 (origin
10276 (method url-fetch)
10277 (uri (string-append
10278 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10279 version
10280 ".tar.gz"))
10281 (sha256
10282 (base32
10283 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10284 (build-system haskell-build-system)
10285 (inputs
10286 `(("ghc-logict" ,ghc-logict)))
10287 (home-page
10288 "https://github.com/feuerbach/smallcheck")
10289 (synopsis "Property-based testing library")
10290 (description "SmallCheck is a testing library that allows to verify
10291properties for all test cases up to some depth. The test cases are generated
10292automatically by SmallCheck.")
10293 (license license:bsd-3)))
10294
10295(define-public ghc-socks
10296 (package
10297 (name "ghc-socks")
ab761e9d 10298 (version "0.6.1")
dddbc90c
RV
10299 (source (origin
10300 (method url-fetch)
10301 (uri (string-append "https://hackage.haskell.org/package/"
10302 "socks/socks-" version ".tar.gz"))
10303 (sha256
10304 (base32
ab761e9d 10305 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10306 (build-system haskell-build-system)
10307 (inputs
10308 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10309 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10310 ("ghc-network" ,ghc-network)))
10311 (home-page "https://github.com/vincenthz/hs-socks")
10312 (synopsis "SOCKS proxy (version 5) implementation")
10313 (description
10314 "This library provides a SOCKS proxy (version 5) implementation.")
10315 (license license:bsd-3)))
10316
081d85d6
TS
10317(define-public ghc-sop-core
10318 (package
10319 (name "ghc-sop-core")
10320 (version "0.4.0.0")
10321 (source
10322 (origin
10323 (method url-fetch)
10324 (uri (string-append "https://hackage.haskell.org/package/"
10325 "sop-core/sop-core-" version ".tar.gz"))
10326 (sha256
10327 (base32
10328 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10329 (build-system haskell-build-system)
10330 (home-page "http://hackage.haskell.org/package/sop-core")
10331 (synopsis "True Sums of Products")
10332 (description "This package provides an implementation of
10333@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10334is the main module of this library and contains more detailed
10335documentation. The main use case of this package is to serve as the
10336core of @url{https://hackage.haskell.org/package/generics-sop,
10337generics-sop}.")
10338 (license license:bsd-3)))
10339
dddbc90c
RV
10340(define-public ghc-split
10341 (package
10342 (name "ghc-split")
10343 (version "0.2.3.3")
10344 (outputs '("out" "doc"))
10345 (source
10346 (origin
10347 (method url-fetch)
10348 (uri (string-append
10349 "https://hackage.haskell.org/package/split/split-"
10350 version
10351 ".tar.gz"))
10352 (sha256
10353 (base32
10354 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10355 (build-system haskell-build-system)
9bbc21a7
TS
10356 (arguments
10357 `(#:cabal-revision
10358 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10359 (native-inputs
10360 `(("ghc-quickcheck" ,ghc-quickcheck)))
10361 (home-page "https://hackage.haskell.org/package/split")
10362 (synopsis "Combinator library for splitting lists")
10363 (description "This package provides a collection of Haskell functions for
10364splitting lists into parts, akin to the @code{split} function found in several
10365mainstream languages.")
10366 (license license:bsd-3)))
10367
7799d17f 10368(define-public ghc-splitmix
49367c92 10369 (package
7799d17f 10370 (name "ghc-splitmix")
49367c92
TS
10371 (version "0.0.3")
10372 (source
10373 (origin
10374 (method url-fetch)
10375 (uri (string-append "https://hackage.haskell.org/package/"
10376 "splitmix/splitmix-" version ".tar.gz"))
10377 (sha256
10378 (base32
10379 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10380 (build-system haskell-build-system)
49367c92
TS
10381 (inputs
10382 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10383 (native-inputs
10384 `(("ghc-hunit" ,ghc-hunit)
10385 ("ghc-async" ,ghc-async)
10386 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10387 ("ghc-tf-random" ,ghc-tf-random)
10388 ("ghc-vector" ,ghc-vector)))
49367c92
TS
10389 (home-page "http://hackage.haskell.org/package/splitmix")
10390 (synopsis "Fast and splittable pseudorandom number generator")
10391 (description "This package provides a Pure Haskell implementation of the
10392SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10393pseudorandom number generator that is quite fast: 9 64-bit
10394arithmetic/logical operations per 64 bits generated. SplitMix is tested
10395with two standard statistical test suites (DieHarder and TestU01, this
10396implementation only using the former) and it appears to be adequate for
10397\"everyday\" use, such as Monte Carlo algorithms and randomized data
10398structures where speed is important. In particular, it @strong{should not
10399be used for cryptographic or security applications}, because generated
10400sequences of pseudorandom values are too predictable (the mixing functions
10401are easily inverted, and two successive outputs suffice to reconstruct the
10402internal state).")
10403 (license license:bsd-3)))
10404
7799d17f
TS
10405(define-public ghc-splitmix-bootstrap
10406 (package
10407 (inherit ghc-splitmix)
10408 (name "ghc-splitmix-bootstrap")
10409 (arguments `(#:tests? #f))
10410 (native-inputs '())
10411 (properties '((hidden? #t)))))
10412
dddbc90c
RV
10413(define-public ghc-statevar
10414 (package
10415 (name "ghc-statevar")
19419709 10416 (version "1.2")
dddbc90c
RV
10417 (source
10418 (origin
10419 (method url-fetch)
10420 (uri (string-append
10421 "https://hackage.haskell.org/package/StateVar/StateVar-"
10422 version
10423 ".tar.gz"))
10424 (sha256
10425 (base32
19419709 10426 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10427 (build-system haskell-build-system)
10428 (home-page "https://hackage.haskell.org/package/StateVar")
10429 (synopsis "State variables for Haskell")
10430 (description "This package provides state variables, which are references
10431in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10432 (license license:bsd-3)))
10433
10434(define-public ghc-statistics
10435 (package
10436 (name "ghc-statistics")
60e78e68 10437 (version "0.15.1.1")
dddbc90c
RV
10438 (source
10439 (origin
10440 (method url-fetch)
10441 (uri (string-append "https://hackage.haskell.org/package/"
10442 "statistics-" version "/"
10443 "statistics-" version ".tar.gz"))
10444 (sha256
10445 (base32
60e78e68 10446 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10447 (build-system haskell-build-system)
10448 (arguments
60e78e68 10449 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10450 #:tests? #f))
10451 (inputs
10452 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10453 ("ghc-async" ,ghc-async)
dddbc90c 10454 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10455 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10456 ("ghc-math-functions" ,ghc-math-functions)
10457 ("ghc-monad-par" ,ghc-monad-par)
10458 ("ghc-mwc-random" ,ghc-mwc-random)
10459 ("ghc-primitive" ,ghc-primitive)
10460 ("ghc-vector" ,ghc-vector)
10461 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10462 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10463 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10464 (native-inputs
10465 `(("ghc-hunit" ,ghc-hunit)
10466 ("ghc-quickcheck" ,ghc-quickcheck)
10467 ("ghc-ieee754" ,ghc-ieee754)
10468 ("ghc-test-framework" ,ghc-test-framework)
10469 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10470 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10471 (home-page "https://github.com/bos/mwc-random")
10472 (synopsis "Haskell library of statistical types, data, and functions")
10473 (description "This library provides a number of common functions
10474and types useful in statistics. We focus on high performance, numerical
10475robustness, and use of good algorithms. Where possible, we provide references
10476to the statistical literature.
10477
10478The library's facilities can be divided into four broad categories:
10479
10480@itemize
10481@item Working with widely used discrete and continuous probability
10482distributions. (There are dozens of exotic distributions in use; we focus
10483on the most common.)
10484
10485@item Computing with sample data: quantile estimation, kernel density
10486estimation, histograms, bootstrap methods, significance testing,
10487and regression and autocorrelation analysis.
10488
10489@item Random variate generation under several different distributions.
10490
10491@item Common statistical tests for significant differences between samples.
10492@end itemize")
10493 (license license:bsd-2)))
10494
10495(define-public ghc-stm-chans
10496 (package
10497 (name "ghc-stm-chans")
10498 (version "3.0.0.4")
10499 (source
10500 (origin
10501 (method url-fetch)
10502 (uri (string-append "https://hackage.haskell.org/package/"
10503 "stm-chans-" version "/"
10504 "stm-chans-" version ".tar.gz"))
10505 (sha256
10506 (base32
10507 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10508 (build-system haskell-build-system)
10509 (home-page "https://hackage.haskell.org/package/stm-chans")
10510 (synopsis "Additional types of channels for ghc-stm")
10511 (description "This Haskell package offers a collection of channel types,
10512similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10513features.")
10514 (license license:bsd-3)))
10515
10516(define-public ghc-stm-conduit
10517 (package
10518 (name "ghc-stm-conduit")
cd518e95 10519 (version "4.0.1")
dddbc90c
RV
10520 (source
10521 (origin
10522 (method url-fetch)
10523 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10524 "stm-conduit-" version ".tar.gz"))
10525 (sha256
10526 (base32
cd518e95 10527 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10528 (build-system haskell-build-system)
10529 (inputs
10530 `(("ghc-stm-chans" ,ghc-stm-chans)
10531 ("ghc-cereal" ,ghc-cereal)
10532 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10533 ("ghc-conduit" ,ghc-conduit)
10534 ("ghc-conduit-extra" ,ghc-conduit-extra)
10535 ("ghc-exceptions" ,ghc-exceptions)
10536 ("ghc-resourcet" ,ghc-resourcet)
10537 ("ghc-async" ,ghc-async)
10538 ("ghc-monad-loops" ,ghc-monad-loops)
10539 ("ghc-unliftio" ,ghc-unliftio)))
10540 (native-inputs
10541 `(("ghc-doctest" ,ghc-doctest)
10542 ("ghc-quickcheck" ,ghc-quickcheck)
10543 ("ghc-hunit" ,ghc-hunit)
10544 ("ghc-test-framework" ,ghc-test-framework)
10545 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10546 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10547 (home-page "https://github.com/cgaebel/stm-conduit")
10548 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10549 (description
10550 "This package provides two simple conduit wrappers around STM channels: a
10551source and a sink.")
10552 (license license:bsd-3)))
10553
10554(define-public ghc-stmonadtrans
10555 (package
10556 (name "ghc-stmonadtrans")
10557 (version "0.4.3")
10558 (source
10559 (origin
10560 (method url-fetch)
10561 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10562 "/STMonadTrans-" version ".tar.gz"))
10563 (sha256
10564 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10565 (build-system haskell-build-system)
10566 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10567 (synopsis "Monad transformer version of the ST monad")
10568 (description
10569 "This package provides a monad transformer version of the @code{ST} monad
10570for strict state threads.")
10571 (license license:bsd-3)))
10572
10573(define-public ghc-storable-complex
10574 (package
10575 (name "ghc-storable-complex")
4a35e3c3 10576 (version "0.2.3.0")
dddbc90c
RV
10577 (source
10578 (origin
10579 (method url-fetch)
10580 (uri (string-append
10581 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10582 version ".tar.gz"))
10583 (sha256
4a35e3c3 10584 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10585 (build-system haskell-build-system)
4a35e3c3
TS
10586 (inputs
10587 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10588 (home-page "https://github.com/cartazio/storable-complex")
10589 (synopsis "Haskell Storable instance for Complex")
10590 (description "This package provides a Haskell library including a
10591Storable instance for Complex which is binary compatible with C99, C++
10592and Fortran complex data types.")
10593 (license license:bsd-3)))
10594
ad80074a
JS
10595(define-public ghc-storable-record
10596 (package
10597 (name "ghc-storable-record")
10598 (version "0.0.4")
10599 (source
10600 (origin
10601 (method url-fetch)
10602 (uri
10603 (string-append
10604 "https://hackage.haskell.org/package/storable-record/"
10605 "storable-record-" version ".tar.gz"))
10606 (sha256
10607 (base32
10608 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10609 (build-system haskell-build-system)
10610 (inputs
10611 `(("ghc-semigroups" ,ghc-semigroups)
10612 ("ghc-utility-ht" ,ghc-utility-ht)
10613 ("ghc-storablevector" ,ghc-storablevector)
10614 ("ghc-timeit" ,ghc-timeit)))
10615 (home-page "https://hackage.haskell.org/package/storable-record")
10616 (synopsis "Elegant definition of Storable instances for records")
10617 (description "With this package you can build a Storable instance of
10618a record type from Storable instances of its elements in an elegant way.
10619It does not do any magic, just a bit arithmetic to compute the right
10620offsets, that would be otherwise done manually or by a preprocessor like
10621C2HS. There is no guarantee that the generated memory layout is
10622compatible with that of a corresponding C struct. However, the module
10623generates the smallest layout that is possible with respect to the
10624alignment of the record elements.")
10625 (license license:bsd-3)))
10626
55f4c653
JS
10627(define-public ghc-storable-tuple
10628 (package
10629 (name "ghc-storable-tuple")
10630 (version "0.0.3.3")
10631 (source
10632 (origin
10633 (method url-fetch)
10634 (uri
10635 (string-append
10636 "https://hackage.haskell.org/package/storable-tuple/"
10637 "storable-tuple-" version ".tar.gz"))
10638 (sha256
10639 (base32
10640 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10641 (build-system haskell-build-system)
10642 (inputs
10643 `(("ghc-storable-record" ,ghc-storable-record)
10644 ("ghc-utility-ht" ,ghc-utility-ht)
10645 ("ghc-base-orphans" ,ghc-base-orphans)))
10646 (home-page "https://hackage.haskell.org/package/storable-tuple")
10647 (synopsis "Storable instance for pairs and triples")
10648 (description "This package provides a Storable instance for pairs
10649and triples which should be binary compatible with C99 and C++. The
10650only purpose of this package is to provide a standard location for this
10651instance so that other packages needing this instance can play nicely
10652together.")
10653 (license license:bsd-3)))
10654
bc06ca45
JS
10655(define-public ghc-storablevector
10656 (package
10657 (name "ghc-storablevector")
10658 (version "0.2.13")
10659 (source
10660 (origin
10661 (method url-fetch)
10662 (uri
10663 (string-append
10664 "https://hackage.haskell.org/package/storablevector/storablevector-"
10665 version ".tar.gz"))
10666 (sha256
10667 (base32
10668 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10669 (build-system haskell-build-system)
10670 (inputs
10671 `(("ghc-non-negative" ,ghc-non-negative)
10672 ("ghc-utility-ht" ,ghc-utility-ht)
10673 ("ghc-semigroups" ,ghc-semigroups)
10674 ("ghc-unsafe" ,ghc-unsafe)
10675 ("ghc-quickcheck" ,ghc-quickcheck)
10676 ("ghc-syb" ,ghc-syb)))
10677 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10678 (synopsis "Fast, packed, strict storable arrays with a list interface")
10679 (description "This library provides fast, packed, strict storable
10680arrays with a list interface, a chunky lazy list interface with variable
10681chunk size and an interface for write access via the ST monad. This is
10682much like bytestring and binary but can be used for every
10683@code{Foreign.Storable.Storable} type. See also
10684@url{http://hackage.haskell.org/package/vector}, a library with a
10685similar intention.
10686
10687This library does not do advanced fusion optimization, since especially
10688for lazy vectors this would either be incorrect or not applicable. See
10689@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10690a library that provides fusion with lazy lists.")
10691 (license license:bsd-3)))
10692
dddbc90c
RV
10693(define-public ghc-streaming-commons
10694 (package
10695 (name "ghc-streaming-commons")
10696 (version "0.2.1.1")
10697 (source
10698 (origin
10699 (method url-fetch)
10700 (uri (string-append "https://hackage.haskell.org/package/"
10701 "streaming-commons/streaming-commons-"
10702 version ".tar.gz"))
10703 (sha256
10704 (base32
10705 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10706 (build-system haskell-build-system)
10707 (inputs
10708 `(("ghc-async" ,ghc-async)
10709 ("ghc-blaze-builder" ,ghc-blaze-builder)
10710 ("ghc-network" ,ghc-network)
10711 ("ghc-random" ,ghc-random)
10712 ("ghc-zlib" ,ghc-zlib)))
10713 (native-inputs
10714 `(("ghc-quickcheck" ,ghc-quickcheck)
10715 ("ghc-hspec" ,ghc-hspec)
10716 ("hspec-discover" ,hspec-discover)))
10717 (home-page "https://hackage.haskell.org/package/streaming-commons")
10718 (synopsis "Conduit and pipes needed by some streaming data libraries")
10719 (description "This package provides low-dependency functionality commonly
10720needed by various Haskell streaming data libraries, such as @code{conduit} and
10721@code{pipe}s.")
10722 (license license:expat)))
10723
10724(define-public ghc-strict
10725 (package
10726 (name "ghc-strict")
10727 (version "0.3.2")
10728 (source
10729 (origin
10730 (method url-fetch)
10731 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10732 version ".tar.gz"))
10733 (sha256
10734 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10735 (build-system haskell-build-system)
10736 (home-page "https://hackage.haskell.org/package/strict")
10737 (synopsis "Strict data types and String IO")
10738 (description
10739 "This package provides strict versions of some standard Haskell data
10740types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10741IO operations.")
10742 (license license:bsd-3)))
10743
10744(define-public ghc-stringbuilder
10745 (package
10746 (name "ghc-stringbuilder")
10747 (version "0.5.1")
10748 (source
10749 (origin
10750 (method url-fetch)
10751 (uri (string-append
10752 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10753 version
10754 ".tar.gz"))
10755 (sha256
10756 (base32
10757 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10758 (build-system haskell-build-system)
10759 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10760 ; enabled
10761 (home-page "https://hackage.haskell.org/package/stringbuilder")
10762 (synopsis "Writer monad for multi-line string literals")
10763 (description "This package provides a writer monad for multi-line string
10764literals.")
10765 (license license:expat)))
10766
10767(define-public ghc-string-qq
10768 (package
10769 (name "ghc-string-qq")
4d6fddc3 10770 (version "0.0.4")
dddbc90c
RV
10771 (source
10772 (origin
10773 (method url-fetch)
10774 (uri (string-append
10775 "https://hackage.haskell.org/package/string-qq/string-qq-"
10776 version
10777 ".tar.gz"))
10778 (sha256
10779 (base32
4d6fddc3 10780 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10781 (build-system haskell-build-system)
4d6fddc3
TS
10782 (native-inputs
10783 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10784 (home-page "http://hackage.haskell.org/package/string-qq")
10785 (synopsis
10786 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10787 (description
10788 "This package provides a quasiquoter for non-interpolated strings, texts
10789and bytestrings.")
10790 (license license:public-domain)))
10791
10792(define-public ghc-stringsearch
10793 (package
10794 (name "ghc-stringsearch")
10795 (version "0.3.6.6")
10796 (source
10797 (origin
10798 (method url-fetch)
10799 (uri (string-append
10800 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10801 version
10802 ".tar.gz"))
10803 (sha256
10804 (base32
10805 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10806 (build-system haskell-build-system)
e2303abb
TS
10807 (arguments
10808 `(#:cabal-revision
10809 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10810 (home-page "https://bitbucket.org/dafis/stringsearch")
10811 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10812 (description "This package provides several functions to quickly search
10813for substrings in strict or lazy @code{ByteStrings}. It also provides
10814functions for breaking or splitting on substrings and replacing all
10815occurrences of a substring (the first in case of overlaps) with another.")
10816 (license license:bsd-3)))
10817
10818(define-public ghc-stylish-haskell
10819 (package
10820 (name "ghc-stylish-haskell")
10821 (version "0.9.2.1")
10822 (source
10823 (origin
10824 (method url-fetch)
10825 (uri (string-append
10826 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10827 version
10828 ".tar.gz"))
10829 (sha256
10830 (base32
10831 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10832 (build-system haskell-build-system)
a54dda09
TS
10833 (arguments
10834 `(#:phases
10835 (modify-phases %standard-phases
10836 (add-before 'configure 'update-constraints
10837 (lambda _
10838 (substitute* "stylish-haskell.cabal"
10839 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
10840 "haskell-src-exts >= 1.18 && < 1.22,"))
10841 #t)))))
dddbc90c
RV
10842 (inputs
10843 `(("ghc-aeson" ,ghc-aeson)
10844 ("ghc-file-embed" ,ghc-file-embed)
10845 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10846 ("ghc-semigroups" ,ghc-semigroups)
10847 ("ghc-syb" ,ghc-syb)
10848 ("ghc-yaml" ,ghc-yaml)
10849 ("ghc-strict" ,ghc-strict)
10850 ("ghc-optparse-applicative"
10851 ,ghc-optparse-applicative)))
10852 (native-inputs
10853 `(("ghc-hunit" ,ghc-hunit)
10854 ("ghc-test-framework" ,ghc-test-framework)
10855 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10856 (home-page "https://github.com/jaspervdj/stylish-haskell")
10857 (synopsis "Haskell code prettifier")
10858 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10859not to format all of the code in a file, to avoid \"getting in the way\".
10860However, this tool can e.g. clean up import statements and help doing various
10861tasks that get tedious very quickly. It can
10862@itemize
10863@item
10864Align and sort @code{import} statements
10865@item
10866Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10867pragmas
10868@item
10869Remove trailing whitespaces
10870@item
10871Align branches in @code{case} and fields in records
10872@item
10873Convert line endings (customisable)
10874@item
10875Replace tabs by four spaces (turned off by default)
10876@item
10877Replace some ASCII sequences by their Unicode equivalent (turned off by
10878default)
10879@end itemize")
10880 (license license:bsd-3)))
10881
dcf3f8f4
TS
10882(define-public ghc-svg-builder
10883 (package
10884 (name "ghc-svg-builder")
10885 (version "0.1.1")
10886 (source
10887 (origin
10888 (method url-fetch)
10889 (uri (string-append "https://hackage.haskell.org/package/"
10890 "svg-builder/svg-builder-" version ".tar.gz"))
10891 (sha256
10892 (base32
10893 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
10894 (build-system haskell-build-system)
10895 (inputs
10896 `(("ghc-blaze-builder" ,ghc-blaze-builder)
10897 ("ghc-hashable" ,ghc-hashable)
10898 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10899 (arguments
10900 `(#:cabal-revision
10901 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
10902 (home-page "https://github.com/diagrams/svg-builder.git")
10903 (synopsis "Domain-specific language for building Scalable Vector Graphics")
10904 (description "Easy-to-write domain-specific language (DSL) for
10905building Scalable Vector Graphics (SVG).")
10906 (license license:bsd-3)))
10907
dddbc90c
RV
10908(define-public ghc-syb
10909 (package
10910 (name "ghc-syb")
07d65eef 10911 (version "0.7.1")
dddbc90c
RV
10912 (outputs '("out" "doc"))
10913 (source
10914 (origin
10915 (method url-fetch)
10916 (uri (string-append
10917 "https://hackage.haskell.org/package/syb/syb-"
10918 version
10919 ".tar.gz"))
10920 (sha256
10921 (base32
07d65eef 10922 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10923 (build-system haskell-build-system)
10924 (inputs
10925 `(("ghc-hunit" ,ghc-hunit)))
10926 (home-page
10927 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10928 (synopsis "Scrap Your Boilerplate")
10929 (description "This package contains the generics system described in the
10930/Scrap Your Boilerplate/ papers (see
10931@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10932defines the @code{Data} class of types permitting folding and unfolding of
10933constructor applications, instances of this class for primitive types, and a
10934variety of traversals.")
10935 (license license:bsd-3)))
10936
10937(define-public ghc-system-fileio
10938 (package
10939 (name "ghc-system-fileio")
dcfb99d4 10940 (version "0.3.16.4")
dddbc90c
RV
10941 (source
10942 (origin
10943 (method url-fetch)
10944 (uri (string-append
10945 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10946 version ".tar.gz"))
10947 (sha256
10948 (base32
dcfb99d4 10949 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10950 (build-system haskell-build-system)
dcfb99d4
TS
10951 (arguments
10952 `(#:phases
10953 (modify-phases %standard-phases
10954 (add-before 'configure 'update-constraints
10955 (lambda _
10956 (substitute* "system-fileio.cabal"
10957 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10958 #t)))))
dddbc90c
RV
10959 (inputs
10960 `(("ghc-system-filepath" ,ghc-system-filepath)
10961 ("ghc-chell" ,ghc-chell)
10962 ("ghc-temporary" ,ghc-temporary)))
10963 (home-page "https://github.com/fpco/haskell-filesystem")
10964 (synopsis "Consistent file system interaction across GHC versions")
10965 (description
10966 "This is a small wrapper around the directory, unix, and Win32 packages,
10967for use with system-filepath. It provides a consistent API to the various
10968versions of these packages distributed with different versions of GHC.
10969In particular, this library supports working with POSIX files that have paths
10970which can't be decoded in the current locale encoding.")
10971 (license license:expat)))
10972
10973;; See ghc-system-filepath-bootstrap. In addition this package depends on
10974;; ghc-system-filepath.
10975(define ghc-system-fileio-bootstrap
10976 (package
10977 (name "ghc-system-fileio-bootstrap")
10978 (version "0.3.16.3")
10979 (source
10980 (origin
10981 (method url-fetch)
10982 (uri (string-append
10983 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10984 version ".tar.gz"))
10985 (sha256
10986 (base32
10987 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10988 (build-system haskell-build-system)
10989 (arguments
10990 `(#:tests? #f))
10991 (inputs
10992 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10993 ("ghc-temporary" ,ghc-temporary)))
10994 (home-page "https://github.com/fpco/haskell-filesystem")
10995 (synopsis "Consistent file system interaction across GHC versions")
10996 (description
10997 "This is a small wrapper around the directory, unix, and Win32 packages,
10998for use with system-filepath. It provides a consistent API to the various
10999versions of these packages distributed with different versions of GHC.
11000In particular, this library supports working with POSIX files that have paths
11001which can't be decoded in the current locale encoding.")
11002 (license license:expat)))
11003
11004
11005(define-public ghc-system-filepath
11006 (package
11007 (name "ghc-system-filepath")
11008 (version "0.4.14")
11009 (source
11010 (origin
11011 (method url-fetch)
11012 (uri (string-append
11013 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11014 version ".tar.gz"))
11015 (sha256
11016 (base32
11017 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11018 (build-system haskell-build-system)
11019 ;; FIXME: One of the tests fails:
11020 ;; [ FAIL ] tests.validity.posix
11021 ;; note: seed=7310214548328823169
11022 ;; *** Failed! Falsifiable (after 24 tests):
11023 ;; 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"
11024 (arguments `(#:tests? #f))
11025 (inputs
11026 `(("ghc-chell" ,ghc-chell)
11027 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11028 ("ghc-quickcheck" ,ghc-quickcheck)))
11029 (home-page "https://github.com/fpco/haskell-filesystem")
11030 (synopsis "High-level, byte-based file and directory path manipulations")
11031 (description
11032 "Provides a FilePath datatype and utility functions for operating on it.
11033Unlike the filepath package, this package does not simply reuse String,
11034increasing type safety.")
11035 (license license:expat)))
11036
11037;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11038;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11039;; which depends on ghc-chell and ghc-chell-quickcheck.
11040;; Therefore we bootstrap it with tests disabled.
11041(define ghc-system-filepath-bootstrap
11042 (package
11043 (name "ghc-system-filepath-bootstrap")
11044 (version "0.4.14")
11045 (source
11046 (origin
11047 (method url-fetch)
11048 (uri (string-append
11049 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11050 version ".tar.gz"))
11051 (sha256
11052 (base32
11053 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11054 (build-system haskell-build-system)
11055 (arguments
11056 `(#:tests? #f))
11057 (inputs
11058 `(("ghc-quickcheck" ,ghc-quickcheck)))
11059 (home-page "https://github.com/fpco/haskell-filesystem")
11060 (synopsis "High-level, byte-based file and directory path manipulations")
11061 (description
11062 "Provides a FilePath datatype and utility functions for operating on it.
11063Unlike the filepath package, this package does not simply reuse String,
11064increasing type safety.")
11065 (license license:expat)))
11066
11067
11068(define-public ghc-tagged
11069 (package
11070 (name "ghc-tagged")
f0f3756a 11071 (version "0.8.6")
dddbc90c
RV
11072 (source
11073 (origin
11074 (method url-fetch)
11075 (uri (string-append
11076 "https://hackage.haskell.org/package/tagged/tagged-"
11077 version
11078 ".tar.gz"))
11079 (sha256
11080 (base32
f0f3756a 11081 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11082 (build-system haskell-build-system)
11083 (arguments
11084 `(#:cabal-revision
f0f3756a 11085 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11086 (inputs
11087 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11088 (home-page "https://hackage.haskell.org/package/tagged")
11089 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11090 (description "This library provides phantom types for Haskell 98, to avoid
11091having to unsafely pass dummy arguments.")
11092 (license license:bsd-3)))
11093
11094(define-public ghc-tar
11095 (package
11096 (name "ghc-tar")
ec83929f 11097 (version "0.5.1.1")
dddbc90c
RV
11098 (source
11099 (origin
11100 (method url-fetch)
11101 (uri (string-append
11102 "https://hackage.haskell.org/package/tar/tar-"
11103 version ".tar.gz"))
11104 (sha256
11105 (base32
ec83929f 11106 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11107 (build-system haskell-build-system)
11108 ;; FIXME: 2/24 tests fail.
11109 (arguments `(#:tests? #f))
11110 (inputs
11111 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11112 ("ghc-quickcheck" ,ghc-quickcheck)
11113 ("ghc-tasty" ,ghc-tasty)
11114 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11115 (home-page "https://hackage.haskell.org/package/tar")
11116 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11117 (description
11118 "This library is for working with \\\"@.tar@\\\" archive files.
11119It can read and write a range of common variations of the tar archive format
11120including V7, POSIX USTAR and GNU formats. It provides support for packing and
11121unpacking portable archives. This makes it suitable for distribution but not
11122backup because details like file ownership and exact permissions are not
11123preserved. It also provides features for random access to archive content using
11124an index.")
11125 (license license:bsd-3)))
11126
f8d17902
TS
11127(define-public ghc-tar-conduit
11128 (package
11129 (name "ghc-tar-conduit")
11130 (version "0.3.2")
11131 (source
11132 (origin
11133 (method url-fetch)
11134 (uri (string-append "https://hackage.haskell.org/package/"
11135 "tar-conduit/tar-conduit-" version ".tar.gz"))
11136 (sha256
11137 (base32
11138 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11139 (build-system haskell-build-system)
11140 (inputs
11141 `(("ghc-conduit" ,ghc-conduit)
11142 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11143 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11144 (native-inputs
11145 `(("ghc-quickcheck" ,ghc-quickcheck)
11146 ("ghc-conduit-extra" ,ghc-conduit-extra)
11147 ("ghc-hspec" ,ghc-hspec)
11148 ("ghc-hspec" ,ghc-hspec)
11149 ("ghc-weigh" ,ghc-weigh)))
11150 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11151 (synopsis "Extract and create tar files using conduit for streaming")
11152 (description "This library provides a conduit-based, streaming
11153interface for extracting and creating tar files.")
11154 (license license:expat)))
11155
dddbc90c
RV
11156(define-public ghc-temporary
11157 (package
11158 (name "ghc-temporary")
11159 (version "1.3")
11160 (source
11161 (origin
11162 (method url-fetch)
11163 (uri (string-append
11164 "https://hackage.haskell.org/package/temporary/temporary-"
11165 version
11166 ".tar.gz"))
11167 (sha256
11168 (base32
11169 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11170 (build-system haskell-build-system)
11171 (inputs
11172 `(("ghc-exceptions" ,ghc-exceptions)
11173 ("ghc-random" ,ghc-random)))
11174 (native-inputs
11175 `(("ghc-base-compat" ,ghc-base-compat)
11176 ("ghc-tasty" ,ghc-tasty)
11177 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11178 (home-page "https://www.github.com/batterseapower/temporary")
11179 (synopsis "Temporary file and directory support")
11180 (description "The functions for creating temporary files and directories
11181in the Haskelll base library are quite limited. This library just repackages
11182the Cabal implementations of its own temporary file and folder functions so
11183that you can use them without linking against Cabal or depending on it being
11184installed.")
11185 (license license:bsd-3)))
11186
11187(define-public ghc-temporary-rc
11188 (package
11189 (name "ghc-temporary-rc")
11190 (version "1.2.0.3")
11191 (source
11192 (origin
11193 (method url-fetch)
11194 (uri (string-append
11195 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11196 version
11197 ".tar.gz"))
11198 (sha256
11199 (base32
11200 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11201 (build-system haskell-build-system)
11202 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11203 (home-page
11204 "https://www.github.com/feuerbach/temporary")
11205 (synopsis
11206 "Portable temporary file and directory support")
11207 (description
11208 "The functions for creating temporary files and directories in the base
11209library are quite limited. The unixutils package contains some good ones, but
11210they aren't portable to Windows. This library just repackages the Cabal
11211implementations of its own temporary file and folder functions so that you can
11212use them without linking against Cabal or depending on it being installed.
11213This is a better maintained fork of the \"temporary\" package.")
11214 (license license:bsd-3)))
11215
11216(define-public ghc-terminal-size
11217 (package
11218 (name "ghc-terminal-size")
11219 (version "0.3.2.1")
11220 (source (origin
11221 (method url-fetch)
11222 (uri (string-append
11223 "https://hackage.haskell.org/package/terminal-size/"
11224 "terminal-size-" version ".tar.gz"))
11225 (sha256
11226 (base32
11227 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11228 (build-system haskell-build-system)
11229 (home-page "https://hackage.haskell.org/package/terminal-size")
11230 (synopsis "Get terminal window height and width")
11231 (description "Get terminal window height and width without ncurses
11232dependency.")
11233 (license license:bsd-3)))
11234
11235(define-public ghc-texmath
11236 (package
11237 (name "ghc-texmath")
7fec7e66 11238 (version "0.11.3")
dddbc90c
RV
11239 (source (origin
11240 (method url-fetch)
11241 (uri (string-append "https://hackage.haskell.org/package/"
11242 "texmath/texmath-" version ".tar.gz"))
11243 (sha256
11244 (base32
7fec7e66 11245 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11246 (build-system haskell-build-system)
11247 (inputs
11248 `(("ghc-syb" ,ghc-syb)
11249 ("ghc-network-uri" ,ghc-network-uri)
11250 ("ghc-split" ,ghc-split)
11251 ("ghc-temporary" ,ghc-temporary)
11252 ("ghc-utf8-string" ,ghc-utf8-string)
11253 ("ghc-xml" ,ghc-xml)
11254 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11255 (home-page "https://github.com/jgm/texmath")
11256 (synopsis "Conversion between formats used to represent mathematics")
11257 (description
11258 "The texmath library provides functions to read and write TeX math,
11259presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11260Office). Support is also included for converting math formats to pandoc's
11261native format (allowing conversion, via pandoc, to a variety of different
11262markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11263it can parse and apply LaTeX macros.")
11264 (license license:gpl2+)))
11265
11266(define-public ghc-text-binary
11267 (package
11268 (name "ghc-text-binary")
11269 (version "0.2.1.1")
11270 (source
11271 (origin
11272 (method url-fetch)
11273 (uri (string-append "https://hackage.haskell.org/package/"
11274 "text-binary/text-binary-"
11275 version ".tar.gz"))
11276 (sha256
11277 (base32
11278 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11279 (build-system haskell-build-system)
11280 (home-page "https://github.com/kawu/text-binary")
11281 (synopsis "Binary instances for text types")
11282 (description
11283 "This package provides a compatibility layer providing @code{Binary}
11284instances for strict and lazy text types for versions older than 1.2.1 of the
11285text package.")
11286 (license license:bsd-2)))
11287
bdc877c4
TS
11288(define-public ghc-text-metrics
11289 (package
11290 (name "ghc-text-metrics")
11291 (version "0.3.0")
11292 (source
11293 (origin
11294 (method url-fetch)
11295 (uri (string-append "https://hackage.haskell.org/package/"
11296 "text-metrics/text-metrics-" version ".tar.gz"))
11297 (sha256
11298 (base32
11299 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11300 (build-system haskell-build-system)
11301 (inputs
11302 `(("ghc-vector" ,ghc-vector)))
11303 (native-inputs
11304 `(("ghc-quickcheck" ,ghc-quickcheck)
11305 ("ghc-hspec" ,ghc-hspec)))
11306 (arguments
11307 `(#:cabal-revision
11308 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11309 (home-page "https://github.com/mrkkrp/text-metrics")
11310 (synopsis "Calculate various string metrics efficiently")
11311 (description "This library provides tools to calculate various
11312string metrics efficiently.")
11313 (license license:bsd-3)))
11314
dddbc90c
RV
11315(define-public ghc-tf-random
11316 (package
11317 (name "ghc-tf-random")
11318 (version "0.5")
11319 (outputs '("out" "doc"))
11320 (source
11321 (origin
11322 (method url-fetch)
11323 (uri (string-append
11324 "https://hackage.haskell.org/package/tf-random/tf-random-"
11325 version
11326 ".tar.gz"))
11327 (sha256
11328 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11329 (build-system haskell-build-system)
11330 (inputs
11331 `(("ghc-primitive" ,ghc-primitive)
11332 ("ghc-random" ,ghc-random)))
11333 (home-page "https://hackage.haskell.org/package/tf-random")
11334 (synopsis "High-quality splittable pseudorandom number generator")
11335 (description "This package contains an implementation of a high-quality
11336splittable pseudorandom number generator. The generator is based on a
11337cryptographic hash function built on top of the ThreeFish block cipher. See
11338the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11339Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11340 (license license:bsd-3)))
11341
11342(define-public ghc-th-abstraction
11343 (package
11344 (name "ghc-th-abstraction")
1188eabb 11345 (version "0.3.1.0")
dddbc90c
RV
11346 (source
11347 (origin
11348 (method url-fetch)
11349 (uri (string-append "https://hackage.haskell.org/package/"
11350 "th-abstraction/th-abstraction-"
11351 version ".tar.gz"))
11352 (sha256
11353 (base32
1188eabb 11354 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11355 (build-system haskell-build-system)
11356 (home-page "https://github.com/glguy/th-abstraction")
11357 (synopsis "Nicer interface for reified information about data types")
11358 (description
11359 "This package normalizes variations in the interface for inspecting
11360datatype information via Template Haskell so that packages and support a
11361single, easier to use informational datatype while supporting many versions of
11362Template Haskell.")
11363 (license license:isc)))
11364
11365(define-public ghc-th-expand-syns
11366 (package
11367 (name "ghc-th-expand-syns")
8c766600 11368 (version "0.4.5.0")
dddbc90c
RV
11369 (source (origin
11370 (method url-fetch)
11371 (uri (string-append "https://hackage.haskell.org/package/"
11372 "th-expand-syns/th-expand-syns-"
11373 version ".tar.gz"))
11374 (sha256
11375 (base32
8c766600 11376 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11377 (build-system haskell-build-system)
11378 (inputs
11379 `(("ghc-syb" ,ghc-syb)))
11380 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11381 (synopsis "Expands type synonyms in Template Haskell ASTs")
11382 (description
11383 "This package enables users to expand type synonyms in Template Haskell
11384@dfn{abstract syntax trees} (ASTs).")
11385 (license license:bsd-3)))
11386
11387(define-public ghc-th-lift
11388 (package
11389 (name "ghc-th-lift")
bd76b20a 11390 (version "0.8.0.1")
dddbc90c
RV
11391 (source (origin
11392 (method url-fetch)
11393 (uri (string-append "https://hackage.haskell.org/package/"
11394 "th-lift/th-lift-" version ".tar.gz"))
11395 (sha256
11396 (base32
bd76b20a 11397 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11398 (build-system haskell-build-system)
11399 (inputs
11400 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11401 (home-page "https://github.com/mboes/th-lift")
11402 (synopsis "Derive Template Haskell's Lift class for datatypes")
11403 (description
11404 "This is a Haskell library to derive Template Haskell's Lift class for
11405datatypes.")
11406 (license license:bsd-3)))
11407
11408(define-public ghc-th-lift-instances
11409 (package
11410 (name "ghc-th-lift-instances")
d3db399e 11411 (version "0.1.14")
dddbc90c
RV
11412 (source
11413 (origin
11414 (method url-fetch)
11415 (uri (string-append "https://hackage.haskell.org/package/"
11416 "th-lift-instances/th-lift-instances-"
11417 version ".tar.gz"))
11418 (sha256
11419 (base32
d3db399e 11420 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11421 (build-system haskell-build-system)
11422 (inputs
11423 `(("ghc-th-lift" ,ghc-th-lift)
11424 ("ghc-vector" ,ghc-vector)
11425 ("ghc-quickcheck" ,ghc-quickcheck)))
11426 (home-page "https://github.com/bennofs/th-lift-instances/")
11427 (synopsis "Lift instances for template-haskell for common data types.")
11428 (description "Most data types in the Haskell platform do not have Lift
11429instances. This package provides orphan instances for @code{containers},
11430@code{text}, @code{bytestring} and @code{vector}.")
11431 (license license:bsd-3)))
11432
11433(define-public ghc-th-orphans
11434 (package
11435 (name "ghc-th-orphans")
882b23e2 11436 (version "0.13.9")
dddbc90c
RV
11437 (source (origin
11438 (method url-fetch)
11439 (uri (string-append "https://hackage.haskell.org/package/"
11440 "th-orphans/th-orphans-" version ".tar.gz"))
11441 (sha256
11442 (base32
882b23e2 11443 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11444 (build-system haskell-build-system)
11445 (inputs
11446 `(("ghc-th-lift" ,ghc-th-lift)
11447 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11448 ("ghc-th-reify-many" ,ghc-th-reify-many)
11449 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11450 (native-inputs
11451 `(("ghc-hspec" ,ghc-hspec)))
11452 (home-page "https://hackage.haskell.org/package/th-orphans")
11453 (synopsis "Orphan instances for TH datatypes")
11454 (description
11455 "This package provides orphan instances for Template Haskell datatypes. In particular,
11456instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11457and @code{Eq} instances. These instances used to live in the haskell-src-meta
11458package, and that's where the version number started.")
11459 (license license:bsd-3)))
11460
11461(define-public ghc-threads
11462 (package
11463 (name "ghc-threads")
11464 (version "0.5.1.6")
11465 (source
11466 (origin
11467 (method url-fetch)
11468 (uri (string-append "https://hackage.haskell.org/package/"
11469 "threads/threads-" version ".tar.gz"))
11470 (sha256
11471 (base32
11472 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11473 (build-system haskell-build-system)
11474 (native-inputs
11475 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11476 ("ghc-hunit" ,ghc-hunit)
11477 ("ghc-test-framework" ,ghc-test-framework)
11478 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11479 (home-page "https://github.com/basvandijk/threads")
11480 (synopsis "Fork threads and wait for their result")
11481 (description "This package provides functions to fork threads and
11482wait for their result, whether it's an exception or a normal value.
11483Besides waiting for the termination of a single thread this package also
11484provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11485package is similar to the @code{threadmanager}, @code{async} and
11486@code{spawn} packages. The advantages of this package are:
11487
dddbc90c
RV
11488@itemize
11489@item Simpler API.
11490@item More efficient in both space and time.
11491@item No space-leak when forking a large number of threads.
11492@item Correct handling of asynchronous exceptions.
11493@item GHC specific functionality like @code{forkOn} and
11494@code{forkIOWithUnmask}.
11495@end itemize")
11496 (license license:bsd-3)))
11497
11498(define-public ghc-th-reify-many
11499 (package
11500 (name "ghc-th-reify-many")
32d4a6ae 11501 (version "0.1.9")
dddbc90c
RV
11502 (source (origin
11503 (method url-fetch)
11504 (uri (string-append "https://hackage.haskell.org/package/"
11505 "th-reify-many/th-reify-many-"
11506 version ".tar.gz"))
11507 (sha256
11508 (base32
32d4a6ae 11509 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11510 (build-system haskell-build-system)
11511 (inputs
11512 `(("ghc-safe" ,ghc-safe)
11513 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11514 (home-page "https://github.com/mgsloan/th-reify-many")
11515 (synopsis "Recurseively reify template haskell datatype info")
11516 (description
11517 "th-reify-many provides functions for recursively reifying top level
11518declarations. The main intended use case is for enumerating the names of
11519datatypes reachable from an initial datatype, and passing these names to some
11520function which generates instances.")
11521 (license license:bsd-3)))
11522
75cfc9a2
TS
11523(define-public ghc-time-compat
11524 (package
11525 (name "ghc-time-compat")
11526 (version "1.9.2.2")
11527 (source
11528 (origin
11529 (method url-fetch)
11530 (uri (string-append "https://hackage.haskell.org/package/"
11531 "time-compat/time-compat-" version ".tar.gz"))
11532 (sha256
11533 (base32
11534 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11535 (build-system haskell-build-system)
11536 (inputs
11537 `(("ghc-base-orphans" ,ghc-base-orphans)))
11538 (native-inputs
11539 `(("ghc-hunit" ,ghc-hunit)
11540 ("ghc-base-compat" ,ghc-base-compat)
11541 ("ghc-quickcheck" ,ghc-quickcheck)
11542 ("ghc-tagged" ,ghc-tagged)
11543 ("ghc-tasty" ,ghc-tasty)
11544 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11545 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11546 (arguments
11547 `(#:cabal-revision
11548 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11549 (home-page "https://github.com/phadej/time-compat")
11550 (synopsis "Compatibility package for time")
11551 (description "This packages tries to compat as many @code{time}
11552features as possible.")
11553 (license license:bsd-3)))
11554
dddbc90c
RV
11555(define-public ghc-time-locale-compat
11556 (package
11557 (name "ghc-time-locale-compat")
11558 (version "0.1.1.5")
11559 (source
11560 (origin
11561 (method url-fetch)
11562 (uri (string-append "https://hackage.haskell.org/package/"
11563 "time-locale-compat/time-locale-compat-"
11564 version ".tar.gz"))
11565 (sha256
11566 (base32
11567 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11568 (build-system haskell-build-system)
11569 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11570 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11571 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11572 (description "This package contains a wrapped name module for
11573@code{TimeLocale}.")
11574 (license license:bsd-3)))
11575
c022a4d4
TS
11576(define-public ghc-time-manager
11577 (package
11578 (name "ghc-time-manager")
11579 (version "0.0.0")
11580 (source
11581 (origin
11582 (method url-fetch)
11583 (uri (string-append "https://hackage.haskell.org/package/"
11584 "time-manager/time-manager-" version ".tar.gz"))
11585 (sha256
11586 (base32
11587 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11588 (build-system haskell-build-system)
11589 (inputs
11590 `(("ghc-auto-update" ,ghc-auto-update)))
11591 (home-page "https://github.com/yesodweb/wai")
11592 (synopsis "Scalable timer")
11593 (description "This library contains scalable timer functions provided by a
11594timer manager.")
11595 (license license:expat)))
11596
7bbfa392
JS
11597(define-public ghc-timeit
11598 (package
11599 (name "ghc-timeit")
11600 (version "2.0")
11601 (source
11602 (origin
11603 (method url-fetch)
11604 (uri
11605 (string-append
11606 "https://hackage.haskell.org/package/timeit/timeit-"
11607 version ".tar.gz"))
11608 (sha256
11609 (base32
11610 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11611 (build-system haskell-build-system)
11612 (home-page "https://github.com/merijn/timeit")
11613 (synopsis "Time monadic computations with an IO base")
11614 (description "This package provides a simple wrapper to show the
11615used CPU time of monadic computation with an IO base.")
11616 (license license:bsd-3)))
11617
2ed8bd2d
JS
11618(define-public ghc-timezone-series
11619 (package
11620 (name "ghc-timezone-series")
11621 (version "0.1.9")
11622 (source
11623 (origin
11624 (method url-fetch)
11625 (uri
11626 (string-append
11627 "mirror://hackage/package/timezone-series/timezone-series-"
11628 version ".tar.gz"))
11629 (sha256
11630 (base32
11631 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11632 (build-system haskell-build-system)
11633 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11634 (synopsis "Enhanced timezone handling for Time")
11635 (description
11636 "This package endows @code{Data.Time}, from the time package, with several
11637data types and functions for enhanced processing of timezones. For one way to
11638create timezone series, see the ghc-timezone-olson package.")
11639 (license license:bsd-3)))
11640
ff0f5786
JS
11641(define-public ghc-timezone-olson
11642 (package
11643 (name "ghc-timezone-olson")
11644 (version "0.1.9")
11645 (source
11646 (origin
11647 (method url-fetch)
11648 (uri
11649 (string-append
11650 "mirror://hackage/package/timezone-olson/timezone-olson-"
11651 version ".tar.gz"))
11652 (sha256
11653 (base32
11654 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11655 (build-system haskell-build-system)
11656 (inputs
11657 `(("ghc-timezone-series" ,ghc-timezone-series)
11658 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11659 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11660 (synopsis "Parser and renderer for binary Olson timezone files")
11661 (description
11662 "A parser and renderer for binary Olson timezone files whose format
11663is specified by the tzfile(5) man page on Unix-like systems. For more
11664information about this format, see
11665@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11666are provided for converting the parsed data into @code{TimeZoneSeries}
11667objects from the timezone-series package.")
11668 (license license:bsd-3)))
11669
dddbc90c
RV
11670(define-public ghc-tldr
11671 (package
11672 (name "ghc-tldr")
871ceb31 11673 (version "0.4.0.2")
dddbc90c
RV
11674 (source
11675 (origin
11676 (method url-fetch)
11677 (uri (string-append
11678 "https://hackage.haskell.org/package/tldr/tldr-"
11679 version
11680 ".tar.gz"))
11681 (sha256
11682 (base32
871ceb31 11683 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11684 (build-system haskell-build-system)
11685 (inputs
11686 `(("ghc-cmark" ,ghc-cmark)
11687 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11688 ("ghc-typed-process" ,ghc-typed-process)
11689 ("ghc-semigroups" ,ghc-semigroups)))
11690 (native-inputs
11691 `(("ghc-tasty" ,ghc-tasty)
11692 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11693 (home-page "https://github.com/psibi/tldr-hs#readme")
11694 (synopsis "Haskell tldr client")
11695 (description "This package provides the @command{tldr} command and a
11696Haskell client library allowing users to update and view @code{tldr} pages
11697from a shell. The @code{tldr} pages are a community effort to simplify the
11698man pages with practical examples.")
11699 (license license:bsd-3)))
11700
11701(define-public ghc-transformers-base
11702 (package
11703 (name "ghc-transformers-base")
11704 (version "0.4.5.2")
11705 (source
11706 (origin
11707 (method url-fetch)
11708 (uri (string-append
11709 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11710 version
11711 ".tar.gz"))
11712 (sha256
11713 (base32
11714 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11715 (build-system haskell-build-system)
11716 (inputs
11717 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11718 (home-page
11719 "https://hackage.haskell.org/package/transformers-compat")
11720 (synopsis
11721 "Backported transformer library")
11722 (description
11723 "Backported versions of types that were added to transformers in
11724transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11725compatibility to run on old versions of the platform.")
11726 (license license:bsd-3)))
11727
11728(define-public ghc-transformers-compat
11729 (package
11730 (name "ghc-transformers-compat")
1c9c4d58 11731 (version "0.6.5")
dddbc90c
RV
11732 (source
11733 (origin
11734 (method url-fetch)
11735 (uri (string-append
11736 "https://hackage.haskell.org/package/transformers-compat"
11737 "/transformers-compat-" version ".tar.gz"))
11738 (sha256
11739 (base32
1c9c4d58 11740 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
11741 (build-system haskell-build-system)
11742 (home-page "https://github.com/ekmett/transformers-compat/")
11743 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11744 (description "This package includes backported versions of types that were
11745added to transformers in transformers 0.3 and 0.4 for users who need strict
11746transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11747but also need those types.")
11748 (license license:bsd-3)))
11749
11750(define-public ghc-tree-diff
11751 (package
11752 (name "ghc-tree-diff")
b4e26067 11753 (version "0.1")
dddbc90c
RV
11754 (source
11755 (origin
11756 (method url-fetch)
11757 (uri (string-append
11758 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11759 version
11760 ".tar.gz"))
11761 (sha256
11762 (base32
b4e26067 11763 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 11764 (build-system haskell-build-system)
dddbc90c
RV
11765 (inputs
11766 `(("ghc-aeson" ,ghc-aeson)
11767 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11768 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11769 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 11770 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 11771 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
11772 ("ghc-parsers" ,ghc-parsers)
11773 ("ghc-quickcheck" ,ghc-quickcheck)
11774 ("ghc-scientific" ,ghc-scientific)
11775 ("ghc-tagged" ,ghc-tagged)
11776 ("ghc-unordered-containers" ,ghc-unordered-containers)
11777 ("ghc-uuid-types" ,ghc-uuid-types)
11778 ("ghc-vector" ,ghc-vector)))
11779 (native-inputs
11780 `(("ghc-base-compat" ,ghc-base-compat)
11781 ("ghc-quickcheck" ,ghc-quickcheck)
11782 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11783 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11784 ("ghc-trifecta" ,ghc-trifecta)
11785 ("ghc-tasty" ,ghc-tasty)
11786 ("ghc-tasty-golden" ,ghc-tasty-golden)
11787 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11788 (home-page "https://github.com/phadej/tree-diff")
11789 (synopsis "Compute difference between (expression) trees")
11790 (description "This Haskell library provides a function for computing
11791the difference between (expression) trees. It also provides a way to
11792compute the difference between arbitrary abstract datatypes (ADTs) using
11793@code{Generics}-derivable helpers.")
11794 (license license:bsd-3)))
11795
11796(define-public ghc-trifecta
11797 (package
11798 (name "ghc-trifecta")
11799 (version "2")
11800 (source (origin
11801 (method url-fetch)
11802 (uri (string-append
11803 "https://hackage.haskell.org/package/trifecta/"
11804 "trifecta-" version ".tar.gz"))
11805 (sha256
11806 (base32
11807 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11808 (build-system haskell-build-system)
5ffe8cfd
TS
11809 (arguments
11810 `(#:tests? #f ; doctest suite fails to build on i686
11811 #:cabal-revision
11812 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
11813 (inputs
11814 `(("ghc-reducers" ,ghc-reducers)
11815 ("ghc-semigroups" ,ghc-semigroups)
11816 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11817 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11818 ("ghc-blaze-builder" ,ghc-blaze-builder)
11819 ("ghc-blaze-html" ,ghc-blaze-html)
11820 ("ghc-blaze-markup" ,ghc-blaze-markup)
11821 ("ghc-charset" ,ghc-charset)
11822 ("ghc-comonad" ,ghc-comonad)
11823 ("ghc-fingertree" ,ghc-fingertree)
11824 ("ghc-hashable" ,ghc-hashable)
11825 ("ghc-lens" ,ghc-lens)
11826 ("ghc-parsers" ,ghc-parsers)
11827 ("ghc-profunctors" ,ghc-profunctors)
11828 ("ghc-unordered-containers" ,ghc-unordered-containers)
11829 ("ghc-utf8-string" ,ghc-utf8-string)))
11830 (native-inputs
11831 `(("cabal-doctest" ,cabal-doctest)
11832 ("ghc-doctest" ,ghc-doctest)
11833 ("ghc-quickcheck" ,ghc-quickcheck)))
11834 (home-page "https://github.com/ekmett/trifecta/")
11835 (synopsis "Parser combinator library with convenient diagnostics")
11836 (description "Trifecta is a modern parser combinator library for Haskell,
11837with slicing and Clang-style colored diagnostics.")
11838 (license license:bsd-3)))
11839
11840(define-public ghc-tuple-th
11841 (package
11842 (name "ghc-tuple-th")
11843 (version "0.2.5")
11844 (source
11845 (origin
11846 (method url-fetch)
11847 (uri (string-append "https://hackage.haskell.org/package/"
11848 "tuple-th-" version "/"
11849 "tuple-th-" version ".tar.gz"))
11850 (sha256
11851 (base32
11852 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11853 (build-system haskell-build-system)
11854 (home-page "https://github.com/DanielSchuessler/tuple-th")
11855 (synopsis "Generate utility functions for tuples of statically known size
11856for Haskell")
11857 (description "This Haskell package contains Template Haskell functions for
11858generating functions similar to those in @code{Data.List} for tuples of
11859statically known size.")
11860 (license license:bsd-3)))
11861
11862(define-public ghc-typed-process
11863 (package
11864 (name "ghc-typed-process")
72fb84a5 11865 (version "0.2.6.0")
dddbc90c
RV
11866 (source
11867 (origin
11868 (method url-fetch)
11869 (uri (string-append "https://hackage.haskell.org/package/"
11870 "typed-process/typed-process-"
11871 version ".tar.gz"))
11872 (sha256
11873 (base32
72fb84a5 11874 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
11875 (build-system haskell-build-system)
11876 (inputs
72fb84a5
TS
11877 `(("ghc-async" ,ghc-async)
11878 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
11879 (native-inputs
11880 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11881 ("ghc-hspec" ,ghc-hspec)
11882 ("hspec-discover" ,hspec-discover)
11883 ("ghc-temporary" ,ghc-temporary)))
11884 (home-page "https://haskell-lang.org/library/typed-process")
11885 (synopsis "Run external processes with strong typing of streams")
11886 (description
11887 "This library provides the ability to launch and interact with external
11888processes. It wraps around the @code{process} library, and intends to improve
11889upon it.")
11890 (license license:expat)))
11891
d392f803
AG
11892(define-public ghc-unagi-chan
11893 (package
11894 (name "ghc-unagi-chan")
11895 (version "0.4.1.2")
11896 (source
11897 (origin
11898 (method url-fetch)
11899 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11900 "/unagi-chan-" version ".tar.gz"))
11901 (sha256
11902 (base32
11903 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11904 (build-system haskell-build-system)
11905 (inputs
11906 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11907 ("ghc-primitive" ,ghc-primitive)))
11908 (arguments
11909 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11910 #:cabal-revision
11911 ("1"
11912 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11913 (home-page "http://hackage.haskell.org/package/unagi-chan")
11914 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11915 (description
11916 "This library provides implementations of concurrent FIFO queues (for
11917both general boxed and primitive unboxed values) that are fast, perform well
11918under contention, and offer a Chan-like interface. The library may be of
11919limited usefulness outside of x86 architectures where the fetch-and-add
11920instruction is not available.")
11921 (license license:bsd-3)))
11922
dddbc90c
RV
11923(define-public ghc-unbounded-delays
11924 (package
11925 (name "ghc-unbounded-delays")
11926 (version "0.1.1.0")
11927 (source
11928 (origin
11929 (method url-fetch)
11930 (uri (string-append
11931 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11932 version
11933 ".tar.gz"))
11934 (sha256
11935 (base32
11936 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11937 (build-system haskell-build-system)
11938 (home-page "https://github.com/basvandijk/unbounded-delays")
11939 (synopsis "Unbounded thread delays and timeouts")
11940 (description "The @code{threadDelay} and @code{timeout} functions from the
11941Haskell base library use the bounded @code{Int} type for specifying the delay
11942or timeout period. This package provides alternative functions which use the
11943unbounded @code{Integer} type.")
11944 (license license:bsd-3)))
11945
11946(define-public ghc-unexceptionalio
11947 (package
11948 (name "ghc-unexceptionalio")
11949 (version "0.4.0")
11950 (source
11951 (origin
11952 (method url-fetch)
11953 (uri (string-append "https://hackage.haskell.org/package/"
11954 "unexceptionalio-" version "/" "unexceptionalio-"
11955 version ".tar.gz"))
11956 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11957 (build-system haskell-build-system)
11958 (home-page "https://github.com/singpolyma/unexceptionalio")
11959 (synopsis "IO without any non-error, synchronous exceptions")
11960 (description "When you've caught all the exceptions that can be
11961handled safely, this is what you're left with.")
11962 (license license:isc)))
11963
b69d4aa7
TS
11964(define-public ghc-unicode-transforms
11965 (package
11966 (name "ghc-unicode-transforms")
11967 (version "0.3.6")
11968 (source
11969 (origin
11970 (method url-fetch)
11971 (uri (string-append "https://hackage.haskell.org/package/"
11972 "unicode-transforms/unicode-transforms-"
11973 version ".tar.gz"))
11974 (sha256
11975 (base32
11976 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
11977 (build-system haskell-build-system)
11978 (inputs
11979 `(("ghc-bitarray" ,ghc-bitarray)))
11980 (native-inputs
11981 `(("ghc-quickcheck" ,ghc-quickcheck)
11982 ("ghc-getopt-generics" ,ghc-getopt-generics)
11983 ("ghc-split" ,ghc-split)))
11984 (home-page "https://github.com/composewell/unicode-transforms")
11985 (synopsis "Unicode normalization")
11986 (description "This library provides tools for fast Unicode 12.1.0
11987normalization in Haskell (normalization forms C, KC, D, and KD).")
11988 (license license:bsd-3)))
11989
dddbc90c
RV
11990(define-public ghc-union-find
11991 (package
11992 (name "ghc-union-find")
11993 (version "0.2")
11994 (source (origin
11995 (method url-fetch)
11996 (uri (string-append
11997 "https://hackage.haskell.org/package/union-find/union-find-"
11998 version ".tar.gz"))
11999 (sha256
12000 (base32
12001 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12002 (build-system haskell-build-system)
12003 (home-page "https://github.com/nominolo/union-find")
12004 (synopsis "Efficient union and equivalence testing of sets")
12005 (description
12006 "The Union/Find algorithm implements these operations in (effectively)
12007constant-time:
12008@enumerate
12009@item Check whether two elements are in the same equivalence class.
12010@item Create a union of two equivalence classes.
12011@item Look up the descriptor of the equivalence class.
12012@end enumerate\n")
12013 (license license:bsd-3)))
12014
12015(define-public ghc-uniplate
12016 (package
12017 (name "ghc-uniplate")
12018 (version "1.6.12")
12019 (source
12020 (origin
12021 (method url-fetch)
12022 (uri (string-append
12023 "https://hackage.haskell.org/package/uniplate/uniplate-"
12024 version
12025 ".tar.gz"))
12026 (sha256
12027 (base32
12028 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12029 (build-system haskell-build-system)
12030 (inputs
12031 `(("ghc-syb" ,ghc-syb)
12032 ("ghc-hashable" ,ghc-hashable)
12033 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12034 (home-page "http://community.haskell.org/~ndm/uniplate/")
12035 (synopsis "Simple, concise and fast generic operations")
12036 (description "Uniplate is a library for writing simple and concise generic
12037operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12038work, but is substantially simpler and faster.")
12039 (license license:bsd-3)))
12040
12041(define-public ghc-unix-compat
12042 (package
12043 (name "ghc-unix-compat")
bc82e9f5 12044 (version "0.5.2")
dddbc90c
RV
12045 (source
12046 (origin
12047 (method url-fetch)
12048 (uri (string-append
12049 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12050 version
12051 ".tar.gz"))
12052 (sha256
12053 (base32
bc82e9f5 12054 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12055 (build-system haskell-build-system)
12056 (home-page
12057 "https://github.com/jystic/unix-compat")
12058 (synopsis "Portable POSIX-compatibility layer")
12059 (description
12060 "This package provides portable implementations of parts of the unix
12061package. This package re-exports the unix package when available. When it
12062isn't available, portable implementations are used.")
12063 (license license:bsd-3)))
12064
12065(define-public ghc-unix-time
12066 (package
12067 (name "ghc-unix-time")
fad9cff2 12068 (version "0.4.7")
dddbc90c
RV
12069 (source
12070 (origin
12071 (method url-fetch)
12072 (uri (string-append
12073 "https://hackage.haskell.org/package/unix-time/unix-time-"
12074 version
12075 ".tar.gz"))
12076 (sha256
12077 (base32
fad9cff2 12078 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12079 (build-system haskell-build-system)
12080 (arguments
12081 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12082 ; is weird, that should be provided by GHC 7.10.2.
12083 (inputs
12084 `(("ghc-old-time" ,ghc-old-time)
12085 ("ghc-old-locale" ,ghc-old-locale)))
12086 (home-page "https://hackage.haskell.org/package/unix-time")
12087 (synopsis "Unix time parser/formatter and utilities")
12088 (description "This library provides fast parsing and formatting utilities
12089for Unix time in Haskell.")
12090 (license license:bsd-3)))
12091
12092(define-public ghc-unliftio
12093 (package
12094 (name "ghc-unliftio")
a4084db1 12095 (version "0.2.12")
dddbc90c
RV
12096 (source
12097 (origin
12098 (method url-fetch)
12099 (uri (string-append
12100 "https://hackage.haskell.org/package/unliftio/unliftio-"
12101 version
12102 ".tar.gz"))
12103 (sha256
12104 (base32
a4084db1 12105 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12106 (build-system haskell-build-system)
12107 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12108 (inputs
12109 `(("ghc-async" ,ghc-async)
12110 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12111 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12112 (home-page "https://github.com/fpco/unliftio")
12113 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12114IO (batteries included)")
12115 (description "This Haskell package provides the core @code{MonadUnliftIO}
12116typeclass, a number of common instances, and a collection of common functions
12117working with it.")
12118 (license license:expat)))
12119
12120(define-public ghc-unliftio-core
12121 (package
12122 (name "ghc-unliftio-core")
2ae42618 12123 (version "0.1.2.0")
dddbc90c
RV
12124 (source
12125 (origin
12126 (method url-fetch)
12127 (uri (string-append "https://hackage.haskell.org/package/"
12128 "unliftio-core-" version "/"
12129 "unliftio-core-" version ".tar.gz"))
12130 (sha256
12131 (base32
2ae42618 12132 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12133 (build-system haskell-build-system)
12134 (arguments
12135 `(#:cabal-revision
2ae42618 12136 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12137 (home-page
12138 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12139 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12140 (description "This Haskell package provides the core @code{MonadUnliftIO}
12141typeclass, instances for base and transformers, and basic utility
12142functions.")
12143 (license license:expat)))
12144
12145(define-public ghc-unordered-containers
12146 (package
12147 (name "ghc-unordered-containers")
ca01f8d3 12148 (version "0.2.10.0")
dddbc90c
RV
12149 (outputs '("out" "doc"))
12150 (source
12151 (origin
12152 (method url-fetch)
12153 (uri (string-append
12154 "https://hackage.haskell.org/package/unordered-containers"
12155 "/unordered-containers-" version ".tar.gz"))
12156 (sha256
12157 (base32
ca01f8d3 12158 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12159 (build-system haskell-build-system)
12160 (inputs
12161 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12162 ("ghc-hunit" ,ghc-hunit)
12163 ("ghc-quickcheck" ,ghc-quickcheck)
12164 ("ghc-test-framework" ,ghc-test-framework)
12165 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12166 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12167 ("ghc-hashable" ,ghc-hashable)))
12168 (home-page
12169 "https://github.com/tibbe/unordered-containers")
12170 (synopsis
12171 "Efficient hashing-based container types")
12172 (description
12173 "Efficient hashing-based container types. The containers have been
12174optimized for performance critical use, both in terms of large data quantities
12175and high speed.")
12176 (license license:bsd-3)))
12177
12178(define-public ghc-unordered-containers-bootstrap
12179 (package
12180 (inherit ghc-unordered-containers)
12181 (name "ghc-unordered-containers-bootstrap")
12182 (arguments `(#:tests? #f))
12183 (inputs
12184 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12185 (properties '((hidden? #t)))))
dddbc90c 12186
a52f4c57
JS
12187(define-public ghc-unsafe
12188 (package
12189 (name "ghc-unsafe")
12190 (version "0.0")
12191 (source
12192 (origin
12193 (method url-fetch)
12194 (uri
12195 (string-append
12196 "https://hackage.haskell.org/package/unsafe/unsafe-"
12197 version ".tar.gz"))
12198 (sha256
12199 (base32
12200 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12201 (build-system haskell-build-system)
12202 (home-page "https://hackage.haskell.org/package/unsafe")
12203 (synopsis "Unified interface to unsafe functions")
12204 (description "Safe Haskell introduced the notion of safe and unsafe
12205modules. In order to make as many as possible modules ``safe'', the
12206well-known unsafe functions were moved to distinguished modules. This
12207makes it hard to write packages that work with both old and new versions
12208of GHC. This package provides a single module System.Unsafe that
12209exports the unsafe functions from the base package. It provides them in
12210a style ready for qualification, that is, you should import them by
12211@code{import qualified System.Unsafe as Unsafe}.")
12212 (license license:bsd-3)))
12213
dddbc90c
RV
12214(define-public ghc-uri-bytestring
12215 (package
12216 (name "ghc-uri-bytestring")
d35ffd39 12217 (version "0.3.2.2")
dddbc90c
RV
12218 (source
12219 (origin
12220 (method url-fetch)
12221 (uri (string-append "https://hackage.haskell.org/package/"
12222 "uri-bytestring-" version "/"
12223 "uri-bytestring-" version ".tar.gz"))
12224 (sha256
12225 (base32
d35ffd39 12226 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12227 (build-system haskell-build-system)
12228 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12229 ("ghc-blaze-builder" ,ghc-blaze-builder)
12230 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12231 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12232 ("ghc-tasty" ,ghc-tasty)
12233 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12234 ("ghc-hedgehog" ,ghc-hedgehog)
12235 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12236 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12237 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12238 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12239 (home-page "https://github.com/Soostone/uri-bytestring")
12240 (synopsis "Haskell URI parsing as ByteStrings")
12241 (description "This Haskell package aims to be an RFC3986 compliant URI
12242parser that uses ByteStrings for parsing and representing the URI data.")
12243 (license license:bsd-3)))
12244
12245(define-public ghc-utf8-string
12246 (package
12247 (name "ghc-utf8-string")
12248 (version "1.0.1.1")
12249 (source
12250 (origin
12251 (method url-fetch)
12252 (uri (string-append
12253 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12254 version
12255 ".tar.gz"))
12256 (sha256
12257 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12258 (build-system haskell-build-system)
12259 (arguments
12260 `(#:cabal-revision
12261 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12262 (home-page "https://github.com/glguy/utf8-string/")
12263 (synopsis "Support for reading and writing UTF8 Strings")
12264 (description
12265 "A UTF8 layer for Strings. The utf8-string package provides operations
12266for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12267UTF8 without truncation.")
12268 (license license:bsd-3)))
12269
12270(define-public ghc-utility-ht
12271 (package
12272 (name "ghc-utility-ht")
12273 (version "0.0.14")
12274 (home-page "https://hackage.haskell.org/package/utility-ht")
12275 (source
12276 (origin
12277 (method url-fetch)
12278 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12279 (sha256
12280 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12281 (build-system haskell-build-system)
12282 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12283 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12284 (description "This package includes Hakell modules providing various
12285helper functions for Lists, Maybes, Tuples, Functions.")
12286 (license license:bsd-3)))
12287
12288(define-public ghc-uuid
12289 (package
12290 (name "ghc-uuid")
12291 (version "1.3.13")
12292 (source
12293 (origin
12294 (method url-fetch)
12295 (uri (string-append "https://hackage.haskell.org/package/"
12296 "uuid-" version "/"
12297 "uuid-" version ".tar.gz"))
12298 (sha256
12299 (base32
12300 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12301 (build-system haskell-build-system)
12302 (arguments
12303 `(#:cabal-revision
12304 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12305 #:phases
12306 (modify-phases %standard-phases
12307 (add-before 'configure 'strip-test-framework-constraints
12308 (lambda _
12309 (substitute* "uuid.cabal"
12310 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12311 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12312 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12313 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12314 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12315 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12316 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12317 ("ghc-entropy" ,ghc-entropy)
12318 ("ghc-network-info" ,ghc-network-info)
12319 ("ghc-random" ,ghc-random)
12320 ("ghc-uuid-types" ,ghc-uuid-types)))
12321 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12322 ("ghc-quickcheck" ,ghc-quickcheck)
12323 ("ghc-tasty" ,ghc-tasty)
12324 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12325 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12326 (home-page "https://github.com/hvr/uuid")
12327 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12328 (description "This Haskell library provides utilities creating, comparing,
12329parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12330 (license license:bsd-3)))
12331
12332(define-public ghc-uuid-types
12333 (package
12334 (name "ghc-uuid-types")
12335 (version "1.0.3")
12336 (source
12337 (origin
12338 (method url-fetch)
12339 (uri (string-append "https://hackage.haskell.org/package/"
12340 "uuid-types-" version "/"
12341 "uuid-types-" version ".tar.gz"))
12342 (sha256
12343 (base32
12344 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12345 (build-system haskell-build-system)
12346 (arguments
12347 `(#:phases
12348 (modify-phases %standard-phases
12349 (add-before 'configure 'strip-test-framework-constraints
12350 (lambda _
12351 (substitute* "uuid-types.cabal"
12352 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12353 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12354 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12355 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12356 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12357 (inputs `(("ghc-hashable" ,ghc-hashable)
12358 ("ghc-random" ,ghc-random)))
12359 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12360 ("ghc-quickcheck" ,ghc-quickcheck)
12361 ("ghc-tasty" ,ghc-tasty)
12362 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12363 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12364 (home-page "https://github.com/hvr/uuid")
12365 (synopsis "Haskell type definitions for UUIDs")
12366 (description "This Haskell library contains type definitions for
12367@dfn{Universally Unique Identifiers} or
12368@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12369functions.")
12370 (license license:bsd-3)))
12371
12372(define-public ghc-validation
12373 (package
12374 (name "ghc-validation")
08397fde 12375 (version "1.1")
dddbc90c
RV
12376 (source
12377 (origin
12378 (method url-fetch)
12379 (uri (string-append
12380 "mirror://hackage/package/validation/validation-"
12381 version
12382 ".tar.gz"))
12383 (sha256
12384 (base32
08397fde 12385 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12386 (build-system haskell-build-system)
12387 (arguments
12388 `(#:cabal-revision
08397fde 12389 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12390 (inputs
12391 `(("ghc-semigroups" ,ghc-semigroups)
12392 ("ghc-semigroupoids" ,ghc-semigroupoids)
12393 ("ghc-bifunctors" ,ghc-bifunctors)
12394 ("ghc-lens" ,ghc-lens)))
12395 (native-inputs
12396 `(("ghc-hedgehog" ,ghc-hedgehog)
12397 ("ghc-hunit" ,ghc-hunit)))
12398 (home-page "https://github.com/qfpl/validation")
12399 (synopsis
12400 "Data-type like Either but with an accumulating Applicative")
12401 (description
12402 "A data-type like Either but with differing properties and type-class
12403instances.
12404
12405Library support is provided for this different representation, including
12406@code{lens}-related functions for converting between each and abstracting over
12407their similarities.
12408
12409The @code{Validation} data type is isomorphic to @code{Either}, but has an
12410instance of @code{Applicative} that accumulates on the error side. That is to
12411say, if two (or more) errors are encountered, they are appended using a
12412@{Semigroup} operation.
12413
12414As a consequence of this @code{Applicative} instance, there is no
12415corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12416example of, \"An applicative functor that is not a monad.\"")
12417 (license license:bsd-3)))
12418
12419(define-public ghc-validity
12420 (package
12421 (name "ghc-validity")
3f1ba75d 12422 (version "0.9.0.2")
dddbc90c
RV
12423 (source
12424 (origin
12425 (method url-fetch)
12426 (uri (string-append
12427 "https://hackage.haskell.org/package/validity/validity-"
12428 version
12429 ".tar.gz"))
12430 (sha256
12431 (base32
3f1ba75d 12432 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12433 (build-system haskell-build-system)
12434 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12435 ("hspec-discover" ,hspec-discover)))
12436 (home-page
12437 "https://github.com/NorfairKing/validity")
12438 (synopsis "Validity typeclass")
12439 (description
12440 "Values of custom types usually have invariants imposed upon them. This
12441package provides the @code{Validity} type class, which makes these invariants
12442explicit by providing a function to check whether the invariants hold.")
12443 (license license:expat)))
12444
12445(define-public ghc-vault
12446 (package
12447 (name "ghc-vault")
b40a436e 12448 (version "0.3.1.3")
dddbc90c
RV
12449 (source
12450 (origin
12451 (method url-fetch)
12452 (uri (string-append
12453 "https://hackage.haskell.org/package/vault/vault-"
12454 version
12455 ".tar.gz"))
12456 (sha256
12457 (base32
b40a436e 12458 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12459 (build-system haskell-build-system)
12460 (inputs
12461 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12462 ("ghc-hashable" ,ghc-hashable)
b40a436e 12463 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12464 (home-page
12465 "https://github.com/HeinrichApfelmus/vault")
12466 (synopsis "Persistent store for arbitrary values")
12467 (description "This package provides vaults for Haskell. A vault is a
12468persistent store for values of arbitrary types. It's like having first-class
12469access to the storage space behind @code{IORefs}. The data structure is
12470analogous to a bank vault, where you can access different bank boxes with
12471different keys; hence the name. Also provided is a @code{locker} type,
12472representing a store for a single element.")
12473 (license license:bsd-3)))
12474
12475(define-public ghc-vector
12476 (package
12477 (name "ghc-vector")
3ad67f6b 12478 (version "0.12.0.3")
dddbc90c
RV
12479 (outputs '("out" "doc"))
12480 (source
12481 (origin
12482 (method url-fetch)
12483 (uri (string-append
12484 "https://hackage.haskell.org/package/vector/vector-"
12485 version
12486 ".tar.gz"))
12487 (sha256
12488 (base32
3ad67f6b 12489 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12490 (build-system haskell-build-system)
12491 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12492 ;; disabled for now.
12493 (arguments
3ad67f6b 12494 `(#:tests? #f))
dddbc90c
RV
12495 (inputs
12496 `(("ghc-primitive" ,ghc-primitive)
12497 ("ghc-random" ,ghc-random)
12498 ("ghc-quickcheck" ,ghc-quickcheck)
12499 ;; ("ghc-hunit" ,ghc-hunit)
12500 ;; ("ghc-test-framework" ,ghc-test-framework)
12501 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12502 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12503 ))
12504 (home-page "https://github.com/haskell/vector")
12505 (synopsis "Efficient Arrays")
12506 (description "This library provides an efficient implementation of
12507Int-indexed arrays (both mutable and immutable), with a powerful loop
12508optimisation framework.")
12509 (license license:bsd-3)))
12510
12511(define-public ghc-vector-algorithms
12512 (package
12513 (name "ghc-vector-algorithms")
e71f316f 12514 (version "0.8.0.1")
dddbc90c
RV
12515 (source
12516 (origin
12517 (method url-fetch)
12518 (uri (string-append "https://hackage.haskell.org/package/"
12519 "vector-algorithms-" version "/"
12520 "vector-algorithms-" version ".tar.gz"))
12521 (sha256
12522 (base32
e71f316f 12523 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12524 (build-system haskell-build-system)
12525 (inputs
12526 `(("ghc-vector" ,ghc-vector)))
12527 (native-inputs
12528 `(("ghc-quickcheck" ,ghc-quickcheck)))
12529 (home-page "https://github.com/bos/math-functions")
12530 (synopsis "Algorithms for vector arrays in Haskell")
12531 (description "This Haskell library algorithms for vector arrays.")
12532 (license license:bsd-3)))
12533
12534(define-public ghc-vector-binary-instances
12535 (package
12536 (name "ghc-vector-binary-instances")
ca0701ef 12537 (version "0.2.5.1")
dddbc90c
RV
12538 (source
12539 (origin
12540 (method url-fetch)
12541 (uri (string-append
12542 "https://hackage.haskell.org/package/"
12543 "vector-binary-instances/vector-binary-instances-"
12544 version ".tar.gz"))
12545 (sha256
12546 (base32
ca0701ef 12547 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12548 (build-system haskell-build-system)
dddbc90c
RV
12549 (inputs
12550 `(("ghc-vector" ,ghc-vector)))
12551 (native-inputs
12552 `(("ghc-tasty" ,ghc-tasty)
12553 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12554 (home-page "https://github.com/bos/vector-binary-instances")
12555 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12556 (description "This library provides instances of @code{Binary} for the
12557types defined in the @code{vector} package, making it easy to serialize
12558vectors to and from disk. We use the generic interface to vectors, so all
12559vector types are supported. Specific instances are provided for unboxed,
12560boxed and storable vectors.")
12561 (license license:bsd-3)))
12562
12563(define-public ghc-vector-builder
12564 (package
12565 (name "ghc-vector-builder")
1fc05441 12566 (version "0.3.8")
dddbc90c
RV
12567 (source
12568 (origin
12569 (method url-fetch)
12570 (uri (string-append "https://hackage.haskell.org/package/"
12571 "vector-builder-" version "/"
12572 "vector-builder-" version ".tar.gz"))
12573 (sha256
12574 (base32
1fc05441 12575 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12576 (build-system haskell-build-system)
12577 (inputs `(("ghc-vector" ,ghc-vector)
12578 ("ghc-semigroups" ,ghc-semigroups)
12579 ("ghc-base-prelude" ,ghc-base-prelude)))
12580 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12581 ("ghc-tasty" ,ghc-tasty)
12582 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12583 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12584 ("ghc-hunit" ,ghc-hunit)
12585 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12586 ("ghc-rerebase" ,ghc-rerebase)))
12587 (home-page "https://github.com/nikita-volkov/vector-builder")
12588 (synopsis "Vector builder for Haskell")
12589 (description "This Haskell package provides an API for constructing vectors.
12590It provides the composable @code{Builder} abstraction, which has instances of the
12591@code{Monoid} and @code{Semigroup} classes.
12592
12593You would first use the @code{Builder} abstraction to specify the structure of
12594the vector; then you can execute the builder to actually produce the
12595vector. ")
12596 (license license:expat)))
12597
12598(define-public ghc-vector-th-unbox
12599 (package
12600 (name "ghc-vector-th-unbox")
63056e61 12601 (version "0.2.1.7")
dddbc90c
RV
12602 (source
12603 (origin
12604 (method url-fetch)
12605 (uri (string-append "https://hackage.haskell.org/package/"
12606 "vector-th-unbox-" version "/"
12607 "vector-th-unbox-" version ".tar.gz"))
12608 (sha256
12609 (base32
63056e61 12610 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12611 (build-system haskell-build-system)
12612 (inputs
12613 `(("ghc-vector" ,ghc-vector)
12614 ("ghc-data-default" ,ghc-data-default)))
12615 (home-page "https://github.com/liyang/vector-th-unbox")
12616 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12617 (description "This Haskell library provides a Template Haskell
12618deriver for unboxed vectors, given a pair of coercion functions to
12619and from some existing type with an Unbox instance.")
12620 (license license:bsd-3)))
12621
12622(define-public ghc-void
12623 (package
12624 (name "ghc-void")
51889121 12625 (version "0.7.3")
dddbc90c
RV
12626 (source
12627 (origin
12628 (method url-fetch)
12629 (uri (string-append
12630 "https://hackage.haskell.org/package/void/void-"
12631 version
12632 ".tar.gz"))
12633 (sha256
12634 (base32
51889121 12635 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12636 (build-system haskell-build-system)
12637 (inputs
12638 `(("ghc-semigroups" ,ghc-semigroups)
12639 ("ghc-hashable" ,ghc-hashable)))
12640 (home-page "https://github.com/ekmett/void")
12641 (synopsis
12642 "Logically uninhabited data type")
12643 (description
12644 "A Haskell 98 logically uninhabited data type, used to indicate that a
12645given term should not exist.")
12646 (license license:bsd-3)))
12647
12648(define-public ghc-wave
12649 (package
12650 (name "ghc-wave")
1631a0f7 12651 (version "0.2.0")
dddbc90c
RV
12652 (source (origin
12653 (method url-fetch)
12654 (uri (string-append
12655 "https://hackage.haskell.org/package/wave/wave-"
12656 version
12657 ".tar.gz"))
12658 (sha256
12659 (base32
1631a0f7 12660 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12661 (build-system haskell-build-system)
12662 (arguments
12663 '(#:phases
12664 (modify-phases %standard-phases
12665 (add-before 'configure 'update-constraints
12666 (lambda _
12667 (substitute* "wave.cabal"
12668 (("temporary.* < 1\\.3")
12669 "temporary >= 1.1 && < 1.4")))))))
12670 (inputs
12671 `(("ghc-cereal" ,ghc-cereal)
12672 ("ghc-data-default-class"
12673 ,ghc-data-default-class)
12674 ("ghc-quickcheck" ,ghc-quickcheck)
12675 ("ghc-temporary" ,ghc-temporary)))
12676 (native-inputs
12677 `(("hspec-discover" ,hspec-discover)
12678 ("ghc-hspec" ,ghc-hspec)))
12679 (home-page "https://github.com/mrkkrp/wave")
12680 (synopsis "Work with WAVE and RF64 files in Haskell")
12681 (description "This package allows you to work with WAVE and RF64
12682files in Haskell.")
12683 (license license:bsd-3)))
12684
12685(define-public ghc-wcwidth
12686 (package
12687 (name "ghc-wcwidth")
12688 (version "0.0.2")
12689 (source
12690 (origin
12691 (method url-fetch)
12692 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12693 version ".tar.gz"))
12694 (sha256
12695 (base32
12696 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12697 (build-system haskell-build-system)
12698 (inputs
12699 `(("ghc-setlocale" ,ghc-setlocale)
12700 ("ghc-utf8-string" ,ghc-utf8-string)
12701 ("ghc-attoparsec" ,ghc-attoparsec)))
12702 (home-page "https://github.com/solidsnack/wcwidth/")
12703 (synopsis "Haskell bindings to wcwidth")
12704 (description "This package provides Haskell bindings to your system's
12705native wcwidth and a command line tool to examine the widths assigned by it.
12706The command line tool can compile a width table to Haskell code that assigns
12707widths to the Char type.")
12708 (license license:bsd-3)))
12709
12710(define-public ghc-wcwidth-bootstrap
12711 (package
12712 (inherit ghc-wcwidth)
12713 (name "ghc-wcwidth-bootstrap")
12714 (inputs
12715 `(("ghc-setlocale" ,ghc-setlocale)
12716 ("ghc-utf8-string" ,ghc-utf8-string)
12717 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 12718 (properties '((hidden? #t)))))
dddbc90c
RV
12719
12720(define-public ghc-weigh
12721 (package
12722 (name "ghc-weigh")
b6d9777f 12723 (version "0.0.14")
dddbc90c
RV
12724 (source
12725 (origin
12726 (method url-fetch)
12727 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12728 "weigh-" version ".tar.gz"))
12729 (sha256
12730 (base32
b6d9777f 12731 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
12732 (build-system haskell-build-system)
12733 (inputs
12734 `(("ghc-split" ,ghc-split)
12735 ("ghc-temporary" ,ghc-temporary)))
12736 (home-page "https://github.com/fpco/weigh#readme")
12737 (synopsis "Measure allocations of a Haskell functions/values")
12738 (description "This package provides tools to measure the memory usage of a
12739Haskell value or function.")
12740 (license license:bsd-3)))
12741
12742(define-public ghc-wl-pprint
12743 (package
12744 (name "ghc-wl-pprint")
12745 (version "1.2.1")
12746 (source (origin
12747 (method url-fetch)
12748 (uri (string-append
12749 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12750 version ".tar.gz"))
12751 (sha256
12752 (base32
12753 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12754 (build-system haskell-build-system)
12755 (home-page "https://hackage.haskell.org/package/wl-pprint")
12756 (synopsis "Wadler/Leijen pretty printer")
12757 (description
12758 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12759Printer}. This version allows the library user to declare overlapping
12760instances of the @code{Pretty} class.")
12761 (license license:bsd-3)))
12762
12763(define-public ghc-wl-pprint-annotated
12764 (package
12765 (name "ghc-wl-pprint-annotated")
12766 (version "0.1.0.1")
12767 (source
12768 (origin
12769 (method url-fetch)
12770 (uri (string-append
12771 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12772 version
12773 ".tar.gz"))
12774 (sha256
12775 (base32
12776 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12777 (build-system haskell-build-system)
12778 (native-inputs
12779 `(("ghc-tasty" ,ghc-tasty)
12780 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12781 (home-page
12782 "https://github.com/minad/wl-pprint-annotated#readme")
12783 (synopsis
12784 "Wadler/Leijen pretty printer with annotation support")
12785 (description
12786 "Annotations are useful for coloring. This is a limited version of
12787@code{wl-pprint-extras} without support for point effects and without the free
12788monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12789Compared to @code{annotated-wl-pprint} this library provides a slightly
12790modernized interface.")
12791 (license license:bsd-3)))
12792
12793(define-public ghc-wl-pprint-text
12794 (package
12795 (name "ghc-wl-pprint-text")
12796 (version "1.2.0.0")
12797 (source
12798 (origin
12799 (method url-fetch)
12800 (uri (string-append
12801 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12802 version ".tar.gz"))
12803 (sha256
12804 (base32
12805 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12806 (build-system haskell-build-system)
12807 (inputs
12808 `(("ghc-base-compat" ,ghc-base-compat)))
12809 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12810 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12811 (description
12812 "A clone of wl-pprint for use with the text library.")
12813 (license license:bsd-3)))
12814
12815(define-public ghc-word8
12816 (package
12817 (name "ghc-word8")
12818 (version "0.1.3")
12819 (source
12820 (origin
12821 (method url-fetch)
12822 (uri (string-append
12823 "https://hackage.haskell.org/package/word8/word8-"
12824 version
12825 ".tar.gz"))
12826 (sha256
12827 (base32
12828 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12829 (build-system haskell-build-system)
12830 (native-inputs
12831 `(("ghc-hspec" ,ghc-hspec)
12832 ("hspec-discover" ,hspec-discover)))
12833 (home-page "https://hackage.haskell.org/package/word8")
12834 (synopsis "Word8 library for Haskell")
12835 (description "Word8 library to be used with @code{Data.ByteString}.")
12836 (license license:bsd-3)))
12837
12838(define-public ghc-x11
12839 (package
12840 (name "ghc-x11")
6c4581a3 12841 (version "1.9.1")
dddbc90c
RV
12842 (source
12843 (origin
12844 (method url-fetch)
12845 (uri (string-append "https://hackage.haskell.org/package/X11/"
12846 "X11-" version ".tar.gz"))
12847 (sha256
6c4581a3 12848 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
12849 (build-system haskell-build-system)
12850 (inputs
12851 `(("libx11" ,libx11)
12852 ("libxrandr" ,libxrandr)
12853 ("libxinerama" ,libxinerama)
12854 ("libxscrnsaver" ,libxscrnsaver)
12855 ("ghc-data-default" ,ghc-data-default)))
12856 (home-page "https://github.com/haskell-pkg-janitors/X11")
12857 (synopsis "Bindings to the X11 graphics library")
12858 (description
12859 "This package provides Haskell bindings to the X11 graphics library. The
12860bindings are a direct translation of the C bindings.")
12861 (license license:bsd-3)))
12862
12863(define-public ghc-x11-xft
12864 (package
12865 (name "ghc-x11-xft")
12866 (version "0.3.1")
12867 (source
12868 (origin
12869 (method url-fetch)
12870 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12871 "X11-xft-" version ".tar.gz"))
12872 (sha256
12873 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
12874 (inputs
12875 `(("ghc-x11" ,ghc-x11)
12876 ("ghc-utf8-string" ,ghc-utf8-string)
12877 ("libx11" ,libx11)
12878 ("libxft" ,libxft)
12879 ("xorgproto" ,xorgproto)))
12880 (native-inputs
12881 `(("pkg-config" ,pkg-config)))
12882 (build-system haskell-build-system)
12883 (home-page "https://hackage.haskell.org/package/X11-xft")
12884 (synopsis "Bindings to Xft")
12885 (description
12886 "Bindings to the Xft, X Free Type interface library, and some Xrender
12887parts.")
12888 (license license:lgpl2.1)))
12889
12890(define-public ghc-xdg-basedir
12891 (package
12892 (name "ghc-xdg-basedir")
12893 (version "0.2.2")
12894 (source
12895 (origin
12896 (method url-fetch)
12897 (uri (string-append
12898 "https://hackage.haskell.org/package/xdg-basedir/"
12899 "xdg-basedir-" version ".tar.gz"))
12900 (sha256
12901 (base32
12902 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12903 (build-system haskell-build-system)
12904 (home-page "http://github.com/willdonnelly/xdg-basedir")
12905 (synopsis "XDG Base Directory library for Haskell")
12906 (description "This package provides a library implementing the XDG Base Directory spec.")
12907 (license license:bsd-3)))
12908
12909(define-public ghc-xml
12910 (package
12911 (name "ghc-xml")
12912 (version "1.3.14")
12913 (source
12914 (origin
12915 (method url-fetch)
12916 (uri (string-append
12917 "https://hackage.haskell.org/package/xml/xml-"
12918 version
12919 ".tar.gz"))
12920 (sha256
12921 (base32
12922 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12923 (build-system haskell-build-system)
12924 (home-page "http://code.galois.com")
12925 (synopsis "Simple XML library for Haskell")
12926 (description "This package provides a simple XML library for Haskell.")
12927 (license license:bsd-3)))
12928
12929(define-public ghc-xml-conduit
12930 (package
12931 (name "ghc-xml-conduit")
12932 (version "1.8.0.1")
12933 (source
12934 (origin
12935 (method url-fetch)
12936 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12937 "xml-conduit-" version ".tar.gz"))
12938 (sha256
12939 (base32
12940 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12941 (build-system haskell-build-system)
12942 (inputs
12943 `(("ghc-conduit" ,ghc-conduit)
12944 ("ghc-conduit-extra" ,ghc-conduit-extra)
12945 ("ghc-doctest" ,ghc-doctest)
12946 ("ghc-resourcet" ,ghc-resourcet)
12947 ("ghc-xml-types" ,ghc-xml-types)
12948 ("ghc-attoparsec" ,ghc-attoparsec)
12949 ("ghc-data-default-class" ,ghc-data-default-class)
12950 ("ghc-blaze-markup" ,ghc-blaze-markup)
12951 ("ghc-blaze-html" ,ghc-blaze-html)
12952 ("ghc-monad-control" ,ghc-monad-control)
12953 ("ghc-hspec" ,ghc-hspec)
12954 ("ghc-hunit" ,ghc-hunit)))
12955 (home-page "https://github.com/snoyberg/xml")
12956 (synopsis "Utilities for dealing with XML with the conduit package")
12957 (description
12958 "This package provides pure-Haskell utilities for dealing with XML with
12959the @code{conduit} package.")
12960 (license license:expat)))
12961
12962(define-public ghc-xml-types
12963 (package
12964 (name "ghc-xml-types")
12965 (version "0.3.6")
12966 (source
12967 (origin
12968 (method url-fetch)
12969 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12970 "xml-types-" version ".tar.gz"))
12971 (sha256
12972 (base32
12973 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12974 (build-system haskell-build-system)
12975 (home-page "https://john-millikin.com/software/haskell-xml/")
12976 (synopsis "Basic types for representing XML")
12977 (description "This package provides basic types for representing XML
12978documents.")
12979 (license license:expat)))
12980
12981(define-public ghc-yaml
12982 (package
12983 (name "ghc-yaml")
b58e5b84 12984 (version "0.11.1.2")
dddbc90c
RV
12985 (source (origin
12986 (method url-fetch)
12987 (uri (string-append "https://hackage.haskell.org/package/"
12988 "yaml/yaml-" version ".tar.gz"))
12989 (sha256
12990 (base32
b58e5b84 12991 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12992 (build-system haskell-build-system)
dddbc90c
RV
12993 (inputs
12994 `(("ghc-conduit" ,ghc-conduit)
12995 ("ghc-resourcet" ,ghc-resourcet)
12996 ("ghc-aeson" ,ghc-aeson)
12997 ("ghc-unordered-containers" ,ghc-unordered-containers)
12998 ("ghc-vector" ,ghc-vector)
12999 ("ghc-attoparsec" ,ghc-attoparsec)
13000 ("ghc-scientific" ,ghc-scientific)
13001 ("ghc-semigroups" ,ghc-semigroups)
13002 ("ghc-temporary" ,ghc-temporary)
13003 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13004 ("ghc-base-compat" ,ghc-base-compat)
13005 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13006 (native-inputs
13007 `(("ghc-hspec" ,ghc-hspec)
13008 ("ghc-hunit" ,ghc-hunit)
13009 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13010 ("ghc-mockery" ,ghc-mockery)
13011 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13012 (home-page "https://github.com/snoyberg/yaml/")
13013 (synopsis "Parsing and rendering YAML documents")
13014 (description
13015 "This package provides a library to parse and render YAML documents.")
13016 (license license:bsd-3)))
13017
13018(define-public ghc-zip-archive
13019 (package
13020 (name "ghc-zip-archive")
93c1fdd3 13021 (version "0.4.1")
dddbc90c
RV
13022 (source
13023 (origin
13024 (method url-fetch)
13025 (uri (string-append
13026 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13027 version
13028 ".tar.gz"))
13029 (sha256
13030 (base32
93c1fdd3 13031 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13032 (build-system haskell-build-system)
93c1fdd3
TS
13033 (arguments
13034 `(#:phases
13035 (modify-phases %standard-phases
13036 (add-before 'check 'set-PATH-for-tests
13037 (lambda* (#:key inputs #:allow-other-keys)
13038 (let ((unzip (assoc-ref inputs "unzip"))
13039 (which (assoc-ref inputs "which"))
13040 (path (getenv "PATH")))
13041 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13042 #t))))))
dddbc90c
RV
13043 (inputs
13044 `(("ghc-digest" ,ghc-digest)
13045 ("ghc-temporary" ,ghc-temporary)
13046 ("ghc-zlib" ,ghc-zlib)))
13047 (native-inputs
13048 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13049 ("unzip" ,unzip)
13050 ("which" ,which)))
dddbc90c
RV
13051 (home-page "https://hackage.haskell.org/package/zip-archive")
13052 (synopsis "Zip archive library for Haskell")
13053 (description "The zip-archive library provides functions for creating,
13054modifying, and extracting files from zip archives in Haskell.")
13055 (license license:bsd-3)))
13056
13057(define-public ghc-zlib
13058 (package
13059 (name "ghc-zlib")
bf12089a 13060 (version "0.6.2.1")
dddbc90c
RV
13061 (outputs '("out" "doc"))
13062 (source
13063 (origin
13064 (method url-fetch)
13065 (uri (string-append
13066 "https://hackage.haskell.org/package/zlib/zlib-"
13067 version
13068 ".tar.gz"))
13069 (sha256
13070 (base32
bf12089a 13071 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13072 (build-system haskell-build-system)
13073 (arguments
13074 `(#:phases
13075 (modify-phases %standard-phases
13076 (add-before 'configure 'strip-test-framework-constraints
13077 (lambda _
13078 (substitute* "zlib.cabal"
13079 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13080 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13081 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13082 (inputs `(("zlib" ,zlib)))
13083 (native-inputs
13084 `(("ghc-quickcheck" ,ghc-quickcheck)
13085 ("ghc-tasty" ,ghc-tasty)
13086 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13088 (home-page "https://hackage.haskell.org/package/zlib")
13089 (synopsis
13090 "Compression and decompression in the gzip and zlib formats")
13091 (description
13092 "This package provides a pure interface for compressing and decompressing
13093streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13094library so it has high performance. It supports the @code{zlib}, @code{gzip}
13095and @code{raw} compression formats. It provides a convenient high level API
13096suitable for most tasks and for the few cases where more control is needed it
13097provides access to the full zlib feature set.")
bbf8bf31 13098 (license license:bsd-3)))
14e41996
RV
13099
13100(define-public ghc-zlib-bindings
13101 (package
13102 (name "ghc-zlib-bindings")
13103 (version "0.1.1.5")
13104 (source
13105 (origin
13106 (method url-fetch)
13107 (uri (string-append "https://hackage.haskell.org/package/"
13108 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13109 (sha256
13110 (base32
13111 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13112 (build-system haskell-build-system)
13113 (inputs
13114 `(("ghc-zlib" ,ghc-zlib)))
13115 (native-inputs
13116 `(("ghc-hspec" ,ghc-hspec)
13117 ("ghc-quickcheck" ,ghc-quickcheck)))
13118 (arguments
13119 `(#:cabal-revision
13120 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13121 (home-page "https://github.com/snapframework/zlib-bindings")
13122 (synopsis "Low-level bindings to the @code{zlib} package")
13123 (description "This package provides low-level bindings to the
13124@code{zlib} package.")
13125 (license license:bsd-3)))
8428e92c
TS
13126
13127(define-public ghc-zstd
13128 (package
13129 (name "ghc-zstd")
13130 (version "0.1.1.2")
13131 (source
13132 (origin
13133 (method url-fetch)
13134 (uri (string-append "https://hackage.haskell.org/package/"
13135 "zstd/zstd-" version ".tar.gz"))
13136 (sha256
13137 (base32
13138 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13139 (build-system haskell-build-system)
13140 (native-inputs
13141 `(("ghc-quickcheck" ,ghc-quickcheck)
13142 ("ghc-test-framework" ,ghc-test-framework)
13143 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13144 (home-page "https://github.com/luispedro/hs-zstd")
13145 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13146 (description "This library provides Haskell bindings to the
13147Zstandard compression algorithm, a fast lossless compression algorithm
13148targeting real-time compression scenarios at zlib-level and better
13149compression ratios.")
13150 (license license:bsd-3)))