gnu: ghc-geniplate-mirror: Update Cabal file to r2.
[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
132(define-public ghc-adjunctions
133 (package
134 (name "ghc-adjunctions")
135 (version "4.4")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append
140 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
141 version
142 ".tar.gz"))
143 (sha256
144 (base32
145 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 146 (build-system haskell-build-system)
a78262be
TS
147 (arguments
148 `(#:cabal-revision
149 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 150 (inputs
dddbc90c
RV
151 `(("ghc-profunctors" ,ghc-profunctors)
152 ("ghc-comonad" ,ghc-comonad)
153 ("ghc-contravariant" ,ghc-contravariant)
154 ("ghc-distributive" ,ghc-distributive)
155 ("ghc-free" ,ghc-free)
156 ("ghc-tagged" ,ghc-tagged)
157 ("ghc-semigroupoids" ,ghc-semigroupoids)
158 ("ghc-semigroups" ,ghc-semigroups)
159 ("ghc-transformers-compat" ,ghc-transformers-compat)
160 ("ghc-void" ,ghc-void)))
658dbc7f 161 (native-inputs
dddbc90c
RV
162 `(("ghc-generic-deriving" ,ghc-generic-deriving)
163 ("ghc-hspec" ,ghc-hspec)
164 ("hspec-discover" ,hspec-discover)))
165 (home-page "https://github.com/ekmett/adjunctions/")
166 (synopsis "Adjunctions and representable functors")
167 (description "This library provides adjunctions and representable functors
168for Haskell.")
169 (license license:bsd-3)))
170
171(define-public ghc-aeson-compat
172 (package
173 (name "ghc-aeson-compat")
0bafb755 174 (version "0.3.9")
dddbc90c
RV
175 (source
176 (origin
177 (method url-fetch)
178 (uri (string-append "https://hackage.haskell.org/package/"
179 "aeson-compat-" version "/"
180 "aeson-compat-" version ".tar.gz"))
181 (sha256
182 (base32
0bafb755 183 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
184 (build-system haskell-build-system)
185 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
186 (inputs `(("ghc-base-compat" ,ghc-base-compat)
187 ("ghc-aeson" ,ghc-aeson)
188 ("ghc-attoparsec" ,ghc-attoparsec)
189 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
190 ("ghc-exceptions" ,ghc-exceptions)
191 ("ghc-hashable" ,ghc-hashable)
192 ("ghc-scientific" ,ghc-scientific)
193 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
194 ("ghc-unordered-containers" ,ghc-unordered-containers)
195 ("ghc-vector" ,ghc-vector)
196 ("ghc-tagged" ,ghc-tagged)
197 ("ghc-semigroups" ,ghc-semigroups)
198 ("ghc-nats" ,ghc-nats)))
199 (home-page "https://github.com/phadej/aeson-compat")
200 (synopsis "Compatibility layer for ghc-aeson")
201 (description "This Haskell package provides compatibility layer for
202ghc-aeson.")
203 (license license:bsd-3)))
204
cbc6f861
TS
205(define-public ghc-aeson-diff
206 (package
207 (name "ghc-aeson-diff")
208 (version "1.1.0.7")
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-diff/aeson-diff-" version ".tar.gz"))
214 (sha256
215 (base32
216 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
217 (build-system haskell-build-system)
218 (inputs
219 `(("ghc-aeson" ,ghc-aeson)
220 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
221 ("ghc-hashable" ,ghc-hashable)
222 ("ghc-scientific" ,ghc-scientific)
223 ("ghc-unordered-containers" ,ghc-unordered-containers)
224 ("ghc-vector" ,ghc-vector)
225 ("ghc-semigroups" ,ghc-semigroups)
226 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
227 (native-inputs
228 `(("ghc-quickcheck" ,ghc-quickcheck)
229 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
230 ("ghc-glob" ,ghc-glob)
231 ("ghc-quickcheck" ,ghc-quickcheck)
232 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
233 ("ghc-quickcheck" ,ghc-quickcheck)
234 ("ghc-doctest" ,ghc-doctest)
235 ("hlint" ,hlint)))
236 (home-page "https://github.com/thsutton/aeson-diff")
237 (synopsis "Extract and apply patches to JSON documents")
238 (description "This is a small library for working with changes to JSON
239documents. It includes a library and two command-line executables in the
240style of the @command{diff} and @command{patch} commands available on many
241systems.")
242 (license license:bsd-3)))
243
dddbc90c
RV
244(define-public ghc-alex
245 (package
246 (name "ghc-alex")
247 (version "3.2.4")
248 (source
249 (origin
250 (method url-fetch)
251 (uri (string-append
252 "https://hackage.haskell.org/package/alex/alex-"
253 version
254 ".tar.gz"))
255 (sha256
256 (base32
257 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
258 (build-system haskell-build-system)
658dbc7f 259 (arguments
dddbc90c
RV
260 `(#:phases
261 (modify-phases %standard-phases
262 (add-before 'check 'set-check-variables
263 (lambda _
264 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
265 (getenv "PATH")))
266 (setenv "alex_datadir" (string-append (getcwd) "/data"))
267 #t)))))
268 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
269 (native-inputs
270 `(("which" ,which)))
271 (home-page "https://www.haskell.org/alex/")
272 (synopsis
273 "Tool for generating lexical analysers in Haskell")
274 (description
275 "Alex is a tool for generating lexical analysers in Haskell. It takes a
276description of tokens based on regular expressions and generates a Haskell
277module containing code for scanning text efficiently. It is similar to the
278tool lex or flex for C/C++.")
658dbc7f
RV
279 (license license:bsd-3)))
280
dddbc90c 281(define-public ghc-alsa-core
7b01a977 282 (package
dddbc90c
RV
283 (name "ghc-alsa-core")
284 (version "0.5.0.1")
285 (source
286 (origin
287 (method url-fetch)
288 (uri (string-append
289 "mirror://hackage/package/alsa-core/alsa-core-"
290 version
291 ".tar.gz"))
292 (sha256
293 (base32
294 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
295 (build-system haskell-build-system)
296 (inputs
297 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
298 ("alsa-lib" ,alsa-lib)))
299 (native-inputs
300 `(("pkg-config" ,pkg-config)))
301 (home-page "http://www.haskell.org/haskellwiki/ALSA")
302 (synopsis "Binding to the ALSA Library API (Exceptions)")
303 (description "This package provides access to ALSA infrastructure, that is
304needed by both alsa-seq and alsa-pcm.")
305 (license license:bsd-3)))
306
307(define-public ghc-annotated-wl-pprint
308 (package
309 (name "ghc-annotated-wl-pprint")
310 (version "0.7.0")
311 (source
312 (origin
313 (method url-fetch)
314 (uri (string-append
315 "https://hackage.haskell.org/package/annotated-wl-pprint"
316 "/annotated-wl-pprint-" version
317 ".tar.gz"))
318 (sha256
319 (base32
320 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
321 (build-system haskell-build-system)
322 (home-page
323 "https://github.com/david-christiansen/annotated-wl-pprint")
324 (synopsis
325 "The Wadler/Leijen Pretty Printer, with annotation support")
326 (description "This is a modified version of wl-pprint, which was based on
327Wadler's paper \"A Prettier Printer\". This version allows the library user
328to annotate the text with semantic information, which can later be rendered in
329a variety of ways.")
330 (license license:bsd-3)))
331
332(define-public ghc-ansi-terminal
333 (package
334 (name "ghc-ansi-terminal")
f1b4a73f 335 (version "0.9.1")
dddbc90c
RV
336 (source
337 (origin
338 (method url-fetch)
339 (uri (string-append
340 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
341 version
342 ".tar.gz"))
343 (sha256
344 (base32
f1b4a73f 345 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
346 (build-system haskell-build-system)
347 (inputs
348 `(("ghc-colour" ,ghc-colour)))
349 (home-page "https://github.com/feuerbach/ansi-terminal")
350 (synopsis "ANSI terminal support for Haskell")
351 (description "This package provides ANSI terminal support for Haskell. It
352allows cursor movement, screen clearing, color output showing or hiding the
353cursor, and changing the title.")
354 (license license:bsd-3)))
355
356(define-public ghc-ansi-wl-pprint
357 (package
358 (name "ghc-ansi-wl-pprint")
c38746eb 359 (version "0.6.9")
7b01a977
RV
360 (source
361 (origin
362 (method url-fetch)
363 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 364 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
365 version ".tar.gz"))
366 (sha256
367 (base32
c38746eb 368 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
369 (build-system haskell-build-system)
370 (inputs
dddbc90c
RV
371 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
372 (home-page "https://github.com/ekmett/ansi-wl-pprint")
373 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
374 (description "This is a pretty printing library based on Wadler's paper
375\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
376colored output using the ansi-terminal package.")
377 (license license:bsd-3)))
378
379(define-public ghc-appar
380 (package
381 (name "ghc-appar")
1159d1a5 382 (version "0.1.8")
dddbc90c
RV
383 (source
384 (origin
385 (method url-fetch)
386 (uri (string-append
387 "https://hackage.haskell.org/package/appar/appar-"
388 version
389 ".tar.gz"))
390 (sha256
391 (base32
1159d1a5 392 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
393 (build-system haskell-build-system)
394 (home-page
395 "https://hackage.haskell.org/package/appar")
396 (synopsis "Simple applicative parser")
397 (description "This package provides a simple applicative parser in Parsec
398style.")
399 (license license:bsd-3)))
400
401(define-public ghc-async
402 (package
403 (name "ghc-async")
048ef066 404 (version "2.2.2")
dddbc90c
RV
405 (source
406 (origin
407 (method url-fetch)
408 (uri (string-append
409 "https://hackage.haskell.org/package/async/async-"
410 version
411 ".tar.gz"))
412 (sha256
413 (base32
048ef066 414 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
415 (build-system haskell-build-system)
416 (inputs
417 `(("ghc-hashable" ,ghc-hashable)
418 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
419 ("ghc-test-framework" ,ghc-test-framework)
420 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
421 (home-page "https://github.com/simonmar/async")
422 (synopsis "Library to run IO operations asynchronously")
423 (description "Async provides a library to run IO operations
424asynchronously, and wait for their results. It is a higher-level interface
425over threads in Haskell, in which @code{Async a} is a concurrent thread that
426will eventually deliver a value of type @code{a}.")
7b01a977
RV
427 (license license:bsd-3)))
428
9ad9ec2e
AG
429(define-public ghc-atomic-primops
430 (package
431 (name "ghc-atomic-primops")
432 (version "0.8.2")
433 (source
434 (origin
435 (method url-fetch)
436 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
437 "/atomic-primops-" version ".tar.gz"))
438 (sha256
439 (base32
440 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
441 (build-system haskell-build-system)
442 (inputs `(("ghc-primitive" ,ghc-primitive)))
443 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
444 (synopsis "Safe approach to CAS and other atomic ops")
445 (description
446 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
447use safely, because pointer equality is a highly unstable property in Haskell.
448This library provides a safer method based on the concept of @code{Ticket}s.")
449 (license license:bsd-3)))
450
dddbc90c 451(define-public ghc-atomic-write
79fcc5e5 452 (package
dddbc90c 453 (name "ghc-atomic-write")
c09d1e62 454 (version "0.2.0.6")
79fcc5e5
RV
455 (source
456 (origin
457 (method url-fetch)
dddbc90c
RV
458 (uri (string-append
459 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
460 version
461 ".tar.gz"))
79fcc5e5
RV
462 (sha256
463 (base32
c09d1e62 464 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
465 (build-system haskell-build-system)
466 (inputs
467 `(("ghc-temporary" ,ghc-temporary)
468 ("ghc-unix-compat" ,ghc-unix-compat)))
469 (native-inputs
470 `(("ghc-temporary" ,ghc-temporary)
471 ("ghc-unix-compat" ,ghc-unix-compat)
472 ("ghc-hspec" ,ghc-hspec)
473 ("hspec-discover" ,hspec-discover)))
474 (home-page "https://github.com/stackbuilders/atomic-write")
475 (synopsis "Atomically write to a file")
476 (description
477 "Atomically write to a file on POSIX-compliant systems while preserving
478permissions. @code{mv} is an atomic operation. This makes it simple to write
479to a file atomically just by using the @code{mv} operation. However, this
480will destroy the permissions on the original file. This library preserves
481permissions while atomically writing to a file.")
482 (license license:expat)))
483
484(define-public ghc-attoparsec
485 (package
486 (name "ghc-attoparsec")
511c3204 487 (version "0.13.2.3")
dddbc90c
RV
488 (source
489 (origin
490 (method url-fetch)
491 (uri (string-append
492 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
493 version
494 ".tar.gz"))
495 (sha256
496 (base32
511c3204 497 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 498 (build-system haskell-build-system)
79fcc5e5 499 (arguments
dddbc90c
RV
500 `(#:phases
501 (modify-phases %standard-phases
502 (add-after 'unpack 'patch-for-newer-quickcheck
503 (lambda _
504 (substitute* "attoparsec.cabal"
505 (("QuickCheck >= 2\\.7 && < 2\\.10")
506 "QuickCheck >= 2.7 && < 2.12"))
507 ;; This test fails because of the newer QuickCheck:
508 ;; <https://github.com/bos/attoparsec/issues/134>.
509 (substitute* "tests/QC/ByteString.hs"
510 ((", testProperty \"satisfyWith\" satisfyWith")
511 "")))))))
512 (inputs
513 `(("ghc-scientific" ,ghc-scientific)))
514 (native-inputs
515 `(("ghc-tasty" ,ghc-tasty)
516 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
517 ("ghc-quickcheck" ,ghc-quickcheck)
518 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
519 ("ghc-vector" ,ghc-vector)))
520 (home-page "https://github.com/bos/attoparsec")
521 (synopsis "Fast combinator parsing for bytestrings and text")
522 (description "This library provides a fast parser combinator library,
523aimed particularly at dealing efficiently with network protocols and
524complicated text/binary file formats.")
79fcc5e5
RV
525 (license license:bsd-3)))
526
dddbc90c 527(define-public ghc-attoparsec-bootstrap
6b34d01c 528 (package
dddbc90c
RV
529 (inherit ghc-attoparsec)
530 (name "ghc-attoparsec-bootstrap")
531 (arguments `(#:tests? #f))
532 (inputs
533 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
534 (native-inputs '())
799d8d3c 535 (properties '((hidden? #t)))))
dddbc90c
RV
536
537(define-public ghc-attoparsec-iso8601
538 (package
539 (name "ghc-attoparsec-iso8601")
97f267c8 540 (version "1.0.1.0")
6b34d01c
RV
541 (source
542 (origin
543 (method url-fetch)
544 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
545 "attoparsec-iso8601-" version "/"
546 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
547 (sha256
548 (base32
97f267c8 549 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 550 (build-system haskell-build-system)
dddbc90c
RV
551 (arguments
552 `(#:cabal-revision
97f267c8 553 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
554 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
555 ("ghc-base-compat" ,ghc-base-compat)))
556 (home-page "https://github.com/bos/aeson")
557 (synopsis "Parse ISO 8601 dates")
558 (description "Haskell library for parsing of ISO 8601 dates, originally
559from aeson.")
6b34d01c 560 (license license:bsd-3)))
b57e99f5 561
dddbc90c 562(define-public ghc-auto-update
b57e99f5 563 (package
dddbc90c 564 (name "ghc-auto-update")
11b1b6cd 565 (version "0.1.6")
dddbc90c
RV
566 (source
567 (origin
568 (method url-fetch)
569 (uri (string-append
570 "https://hackage.haskell.org/package/auto-update/auto-update-"
571 version
572 ".tar.gz"))
573 (sha256
574 (base32
11b1b6cd 575 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 576 (build-system haskell-build-system)
11b1b6cd
TS
577 (native-inputs
578 `(("ghc-hspec" ,ghc-hspec)
579 ("ghc-hunit" ,ghc-hunit)
580 ("ghc-retry" ,ghc-retry)
581 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
582 (home-page "https://github.com/yesodweb/wai")
583 (synopsis "Efficiently run periodic, on-demand actions")
584 (description "This library provides mechanisms to efficiently run
585periodic, on-demand actions in Haskell.")
586 (license license:expat)))
587
588(define-public ghc-aws
589 (package
590 (name "ghc-aws")
591 (version "0.20")
b57e99f5
RV
592 (source
593 (origin
594 (method url-fetch)
595 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
596 "aws-" version "/aws-" version ".tar.gz"))
597 (sha256 (base32
598 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
599 (build-system haskell-build-system)
600 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
601 (inputs
602 `(("ghc-aeson" ,ghc-aeson)
603 ("ghc-attoparsec" ,ghc-attoparsec)
604 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
605 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
606 ("ghc-blaze-builder" ,ghc-blaze-builder)
607 ("ghc-byteable" ,ghc-byteable)
608 ("ghc-case-insensitive" ,ghc-case-insensitive)
609 ("ghc-cereal" ,ghc-cereal)
610 ("ghc-conduit" ,ghc-conduit)
611 ("ghc-conduit-extra" ,ghc-conduit-extra)
612 ("ghc-cryptonite" ,ghc-cryptonite)
613 ("ghc-data-default" ,ghc-data-default)
614 ("ghc-http-conduit" ,ghc-http-conduit)
615 ("ghc-http-types" ,ghc-http-types)
616 ("ghc-lifted-base" ,ghc-lifted-base)
617 ("ghc-monad-control" ,ghc-monad-control)
618 ("ghc-network" ,ghc-network)
619 ("ghc-old-locale" ,ghc-old-locale)
620 ("ghc-safe" ,ghc-safe)
621 ("ghc-scientific" ,ghc-scientific)
622 ("ghc-tagged" ,ghc-tagged)
623 ("ghc-unordered-containers" ,ghc-unordered-containers)
624 ("ghc-utf8-string" ,ghc-utf8-string)
625 ("ghc-vector" ,ghc-vector)
626 ("ghc-xml-conduit" ,ghc-xml-conduit)))
627 (native-inputs
628 `(("ghc-quickcheck" ,ghc-quickcheck)
629 ("ghc-errors" ,ghc-errors)
630 ("ghc-http-client" ,ghc-http-client)
631 ("ghc-http-client-tls" ,ghc-http-client-tls)
632 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
633 ("ghc-tasty" ,ghc-tasty)
634 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
635 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
636 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
637 (home-page "https://github.com/aristidb/aws")
638 (synopsis "Amazon Web Services for Haskell")
639 (description "This package attempts to provide support for using
640Amazon Web Services like S3 (storage), SQS (queuing) and others to
641Haskell programmers. The ultimate goal is to support all Amazon
642Web Services.")
643 (license license:bsd-3)))
644
645(define-public ghc-base16-bytestring
646 (package
647 (name "ghc-base16-bytestring")
648 (version "0.1.1.6")
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append
653 "https://hackage.haskell.org/package/base16-bytestring/"
654 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
655 (sha256
656 (base32
dddbc90c 657 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 658 (build-system haskell-build-system)
dddbc90c
RV
659 (home-page "https://github.com/bos/base16-bytestring")
660 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
661 (description
662 "This package provides a Haskell library for working with base16-encoded
663data quickly and efficiently, using the ByteString type.")
b57e99f5 664 (license license:bsd-3)))
bbf8bf31 665
dddbc90c 666(define-public ghc-base64-bytestring
bbf8bf31 667 (package
dddbc90c
RV
668 (name "ghc-base64-bytestring")
669 (version "1.0.0.2")
bbf8bf31
RV
670 (source
671 (origin
672 (method url-fetch)
dddbc90c
RV
673 (uri (string-append
674 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
675 version
676 ".tar.gz"))
677 (sha256
678 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
679 (build-system haskell-build-system)
680 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
681 (home-page "https://github.com/bos/base64-bytestring")
682 (synopsis "Base64 encoding and decoding for ByteStrings")
683 (description "This library provides fast base64 encoding and decoding for
684Haskell @code{ByteString}s.")
685 (license license:bsd-3)))
686
687(define-public ghc-base-compat
688 (package
689 (name "ghc-base-compat")
4daaa371 690 (version "0.10.5")
dddbc90c
RV
691 (source
692 (origin
693 (method url-fetch)
694 (uri (string-append
695 "https://hackage.haskell.org/package/base-compat/base-compat-"
696 version
697 ".tar.gz"))
bbf8bf31
RV
698 (sha256
699 (base32
4daaa371 700 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
701 (build-system haskell-build-system)
702 (native-inputs
dddbc90c
RV
703 `(("ghc-quickcheck" ,ghc-quickcheck)
704 ("ghc-hspec" ,ghc-hspec)
705 ("hspec-discover" ,hspec-discover)))
706 (home-page "https://hackage.haskell.org/package/base-compat")
707 (synopsis "Haskell compiler compatibility library")
708 (description "This library provides functions available in later versions
709of base to a wider range of compilers, without requiring the use of CPP
710pragmas in your code.")
711 (license license:bsd-3)))
712
f9d78c7f
TS
713(define-public ghc-base-compat-batteries
714 (package
715 (name "ghc-base-compat-batteries")
716 (version "0.10.5")
717 (source
718 (origin
719 (method url-fetch)
720 (uri (string-append "https://hackage.haskell.org/package/"
721 "base-compat-batteries/base-compat-batteries-"
722 version ".tar.gz"))
723 (sha256
724 (base32
725 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
726 (build-system haskell-build-system)
727 (inputs
728 `(("ghc-base-compat" ,ghc-base-compat)))
729 (native-inputs
730 `(("ghc-hspec" ,ghc-hspec)
731 ("ghc-quickcheck" ,ghc-quickcheck)
732 ("hspec-discover" ,hspec-discover)))
733 (arguments
734 `(#:cabal-revision
735 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
736 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
737 (synopsis "base-compat with extra batteries")
738 (description "This library provides functions available in later
739versions of @code{base} to a wider range of compilers, without requiring
740you to use CPP pragmas in your code. This package provides the same API
741as the @code{base-compat} library, but depends on compatibility
742packages (such as @code{semigroups}) to offer a wider support window
743than @code{base-compat}, which has no dependencies.")
744 (license license:expat)))
745
dddbc90c
RV
746(define-public ghc-basement
747 (package
748 (name "ghc-basement")
8b56c1fd 749 (version "0.0.11")
dddbc90c
RV
750 (source
751 (origin
752 (method url-fetch)
753 (uri (string-append "https://hackage.haskell.org/package/"
754 "basement/basement-" version ".tar.gz"))
755 (sha256
756 (base32
8b56c1fd 757 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
758 (build-system haskell-build-system)
759 (home-page "https://github.com/haskell-foundation/foundation")
760 (synopsis "Basic primitives for Foundation starter pack")
761 (description
762 "This package contains basic primitives for the Foundation set of
763packages.")
764 (license license:bsd-3)))
765
766(define-public ghc-base-orphans
767 (package
768 (name "ghc-base-orphans")
780477fb 769 (version "0.8.1")
dddbc90c
RV
770 (source
771 (origin
772 (method url-fetch)
773 (uri (string-append
774 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
775 version
776 ".tar.gz"))
777 (sha256
778 (base32
780477fb 779 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
780 (build-system haskell-build-system)
781 (native-inputs
782 `(("ghc-quickcheck" ,ghc-quickcheck)
783 ("ghc-hspec" ,ghc-hspec)
784 ("hspec-discover" ,hspec-discover)))
785 (home-page "https://hackage.haskell.org/package/base-orphans")
786 (synopsis "Orphan instances for backwards compatibility")
787 (description "This package defines orphan instances that mimic instances
788available in later versions of base to a wider (older) range of compilers.")
789 (license license:bsd-3)))
790
791(define-public ghc-base-prelude
792 (package
793 (name "ghc-base-prelude")
794 (version "1.3")
795 (source
796 (origin
797 (method url-fetch)
798 (uri (string-append "https://hackage.haskell.org/package/"
799 "base-prelude-" version "/"
800 "base-prelude-" version ".tar.gz"))
801 (sha256
802 (base32
803 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
804 (build-system haskell-build-system)
805 (home-page "https://github.com/nikita-volkov/base-prelude")
806 (synopsis "The most complete prelude formed solely from the Haskell's base
807package")
808 (description "This Haskell package aims to reexport all the non-conflicting
809and most general definitions from the \"base\" package.
810
811This includes APIs for applicatives, arrows, monoids, foldables, traversables,
812exceptions, generics, ST, MVars and STM.
813
814This package will never have any dependencies other than \"base\".
815
816Versioning policy:
817
818The versioning policy of this package deviates from PVP in the sense
819that its exports in part are transitively determined by the version of \"base\".
820Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
821the bounds of \"base\" as well.")
822 (license license:expat)))
823
824(define-public ghc-base-unicode-symbols
825 (package
826 (name "ghc-base-unicode-symbols")
827 (version "0.2.3")
828 (source
829 (origin
830 (method url-fetch)
831 (uri (string-append
832 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
833 version
834 ".tar.gz"))
835 (sha256
836 (base32
837 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
838 (build-system haskell-build-system)
839 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
840 (synopsis "Unicode alternatives for common functions and operators")
841 (description "This package defines new symbols for a number of functions,
842operators and types in the base package. All symbols are documented with
843their actual definition and information regarding their Unicode code point.
844They should be completely interchangeable with their definitions. For
845further Unicode goodness you can enable the @code{UnicodeSyntax}
846@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
847language extension}. This extension enables Unicode characters to be used to
848stand for certain ASCII character sequences, i.e. → instead of @code{->},
849∀ instead of @code{forall} and many others.")
850 (license license:bsd-3)))
851
852(define-public ghc-bifunctors
853 (package
854 (name "ghc-bifunctors")
0beaec66 855 (version "5.5.5")
dddbc90c
RV
856 (source
857 (origin
858 (method url-fetch)
859 (uri (string-append
860 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
861 version
862 ".tar.gz"))
863 (sha256
864 (base32
0beaec66 865 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
866 (build-system haskell-build-system)
867 (inputs
868 `(("ghc-base-orphans" ,ghc-base-orphans)
869 ("ghc-comonad" ,ghc-comonad)
870 ("ghc-th-abstraction" ,ghc-th-abstraction)
871 ("ghc-transformers-compat" ,ghc-transformers-compat)
872 ("ghc-tagged" ,ghc-tagged)
873 ("ghc-semigroups" ,ghc-semigroups)))
874 (native-inputs
875 `(("ghc-hspec" ,ghc-hspec)
876 ("hspec-discover" ,hspec-discover)
877 ("ghc-quickcheck" ,ghc-quickcheck)))
878 (home-page "https://github.com/ekmett/bifunctors/")
879 (synopsis "Bifunctors for Haskell")
880 (description "This package provides bifunctors for Haskell.")
881 (license license:bsd-3)))
882
883(define-public ghc-bindings-dsl
884 (package
885 (name "ghc-bindings-dsl")
886 (version "1.0.25")
887 (source
888 (origin
889 (method url-fetch)
890 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
891 "bindings-DSL-" version ".tar.gz"))
892 (sha256
893 (base32
894 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
895 (build-system haskell-build-system)
896 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
897 (synopsis "FFI domain specific language, on top of hsc2hs")
898 (description
899 "This is a set of macros to be used when writing Haskell FFI. They were
900designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
901extract from them all Haskell code needed to mimic such interfaces. All
902Haskell names used are automatically derived from C names, structures are
903mapped to Haskell instances of @code{Storable}, and there are also macros you
904can use with C code to help write bindings to inline functions or macro
905functions.")
906 (license license:bsd-3)))
907
64f42786
TS
908(define-public ghc-bitarray
909 (package
910 (name "ghc-bitarray")
911 (version "0.0.1.1")
912 (source
913 (origin
914 (method url-fetch)
915 (uri (string-append "https://hackage.haskell.org/package/"
916 "bitarray/bitarray-" version ".tar.gz"))
917 (sha256
918 (base32
919 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
920 (build-system haskell-build-system)
921 (arguments
922 `(#:cabal-revision
923 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
924 (home-page "https://hackage.haskell.org/package/bitarray")
925 (synopsis "Mutable and immutable bit arrays")
926 (description "The package provides mutable and immutable bit arrays.")
927 (license license:bsd-3)))
928
dddbc90c
RV
929(define-public ghc-blaze-builder
930 (package
931 (name "ghc-blaze-builder")
932 (version "0.4.1.0")
933 (source
934 (origin
935 (method url-fetch)
936 (uri (string-append
937 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
938 version
939 ".tar.gz"))
940 (sha256
941 (base32
942 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
943 (build-system haskell-build-system)
944 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
945 (inputs
946 `(("ghc-utf8-string" ,ghc-utf8-string)))
947 (home-page "https://github.com/lpsmith/blaze-builder")
948 (synopsis "Efficient buffered output")
949 (description "This library provides an implementation of the older
950@code{blaze-builder} interface in terms of the new builder that shipped with
951@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
952bridge to the new builder, so that code that uses the old interface can
953interoperate with code that uses the new implementation.")
954 (license license:bsd-3)))
955
956(define-public ghc-blaze-markup
957 (package
958 (name "ghc-blaze-markup")
7d30fcf3 959 (version "0.8.2.3")
dddbc90c
RV
960 (source
961 (origin
962 (method url-fetch)
963 (uri (string-append "https://hackage.haskell.org/package/"
964 "blaze-markup/blaze-markup-"
965 version ".tar.gz"))
966 (sha256
967 (base32
7d30fcf3 968 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
969 (build-system haskell-build-system)
970 (arguments
971 `(#:phases
972 (modify-phases %standard-phases
973 (add-before 'configure 'update-constraints
974 (lambda _
975 (substitute* "blaze-markup.cabal"
976 (("tasty >= 1\\.0 && < 1\\.1")
977 "tasty >= 1.0 && < 1.2")))))))
978 (inputs
979 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
980 (native-inputs
981 `(("ghc-hunit" ,ghc-hunit)
982 ("ghc-quickcheck" ,ghc-quickcheck)
983 ("ghc-tasty" ,ghc-tasty)
984 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
985 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
986 (home-page "https://jaspervdj.be/blaze")
987 (synopsis "Fast markup combinator library for Haskell")
988 (description "This library provides core modules of a markup combinator
989library for Haskell.")
990 (license license:bsd-3)))
991
992(define-public ghc-bloomfilter
993 (package
994 (name "ghc-bloomfilter")
995 (version "2.0.1.0")
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append "https://hackage.haskell.org/package/"
1000 "bloomfilter/bloomfilter-" version ".tar.gz"))
1001 (sha256
1002 (base32
1003 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1004 (build-system haskell-build-system)
1005 (native-inputs
1006 `(("ghc-quickcheck" ,ghc-quickcheck)
1007 ("ghc-random" ,ghc-random)
1008 ("ghc-test-framework" ,ghc-test-framework)
1009 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1010 (home-page "https://github.com/bos/bloomfilter")
1011 (synopsis "Pure and impure Bloom filter implementations")
1012 (description "This package provides both mutable and immutable Bloom
1013filter data types, along with a family of hash functions and an easy-to-use
1014interface.")
1015 (license license:bsd-3)))
1016
1017(define-public ghc-boxes
1018 (package
1019 (name "ghc-boxes")
1020 (version "0.1.5")
1021 (source
1022 (origin
1023 (method url-fetch)
1024 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1025 version ".tar.gz"))
1026 (sha256
1027 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1028 (build-system haskell-build-system)
1029 (inputs
1030 `(("ghc-split" ,ghc-split)
1031 ("ghc-quickcheck" ,ghc-quickcheck)))
1032 (home-page "https://hackage.haskell.org/package/boxes")
1033 (synopsis "2D text pretty-printing library")
1034 (description
1035 "Boxes is a pretty-printing library for laying out text in two dimensions,
1036using a simple box model.")
1037 (license license:bsd-3)))
1038
1039(define-public ghc-byteable
1040 (package
1041 (name "ghc-byteable")
1042 (version "0.1.1")
1043 (source (origin
1044 (method url-fetch)
1045 (uri (string-append "https://hackage.haskell.org/package/"
1046 "byteable/byteable-" version ".tar.gz"))
1047 (sha256
1048 (base32
1049 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1050 (build-system haskell-build-system)
1051 (home-page "https://github.com/vincenthz/hs-byteable")
1052 (synopsis "Type class for sequence of bytes")
1053 (description
1054 "This package provides an abstract class to manipulate sequence of bytes.
1055The use case of this class is abstracting manipulation of types that are just
1056wrapping a bytestring with stronger and more meaniful name.")
1057 (license license:bsd-3)))
1058
1059(define-public ghc-byteorder
1060 (package
1061 (name "ghc-byteorder")
1062 (version "1.0.4")
1063 (source
1064 (origin
1065 (method url-fetch)
1066 (uri (string-append
1067 "https://hackage.haskell.org/package/byteorder/byteorder-"
1068 version
1069 ".tar.gz"))
1070 (sha256
1071 (base32
1072 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1073 (build-system haskell-build-system)
1074 (home-page
1075 "http://community.haskell.org/~aslatter/code/byteorder")
1076 (synopsis
1077 "Exposes the native endianness of the system")
1078 (description
1079 "This package is for working with the native byte-ordering of the
1080system.")
1081 (license license:bsd-3)))
1082
1083(define-public ghc-bytes
1084 (package
1085 (name "ghc-bytes")
1086 (version "0.15.5")
1087 (source
1088 (origin
1089 (method url-fetch)
1090 (uri
1091 (string-append "https://hackage.haskell.org/package/bytes-"
1092 version "/bytes-"
1093 version ".tar.gz"))
1094 (file-name (string-append name "-" version ".tar.gz"))
1095 (sha256
1096 (base32
1097 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1098 (build-system haskell-build-system)
1099 (inputs `(("ghc-cereal" ,ghc-cereal)
1100 ("cabal-doctest" ,cabal-doctest)
1101 ("ghc-doctest" ,ghc-doctest)
1102 ("ghc-scientific" ,ghc-scientific)
1103 ("ghc-transformers-compat" ,ghc-transformers-compat)
1104 ("ghc-unordered-containers" ,ghc-unordered-containers)
1105 ("ghc-void" ,ghc-void)
1106 ("ghc-vector" ,ghc-vector)))
1107 (synopsis "Serialization between @code{binary} and @code{cereal}")
1108 (description "This package provides a simple compatibility shim that lets
1109you work with both @code{binary} and @code{cereal} with one chunk of
1110serialization code.")
1111 (home-page "https://hackage.haskell.org/package/bytes")
1112 (license license:bsd-3)))
1113
1114(define-public ghc-bytestring-builder
1115 (package
1116 (name "ghc-bytestring-builder")
13ac8a7f 1117 (version "0.10.8.2.0")
dddbc90c
RV
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (string-append
1122 "https://hackage.haskell.org/package/bytestring-builder"
1123 "/bytestring-builder-" version ".tar.gz"))
1124 (sha256
1125 (base32
13ac8a7f 1126 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1127 (build-system haskell-build-system)
1128 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1129 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1130 (synopsis "The new bytestring builder, packaged outside of GHC")
1131 (description "This package provides the bytestring builder that is
1132debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1133Compatibility package for older packages.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-bytestring-handle
1137 (package
1138 (name "ghc-bytestring-handle")
1139 (version "0.1.0.6")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri (string-append
1144 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1145 version ".tar.gz"))
1146 (sha256
1147 (base32
1148 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1149 (build-system haskell-build-system)
1150 (arguments
853748c4
TS
1151 `(#:cabal-revision
1152 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1153 #:phases
dddbc90c
RV
1154 (modify-phases %standard-phases
1155 (add-before 'configure 'update-constraints
1156 (lambda _
1157 (substitute* "bytestring-handle.cabal"
1158 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1159 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1160 (inputs
1161 `(("ghc-hunit" ,ghc-hunit)
1162 ("ghc-quickcheck" ,ghc-quickcheck)
1163 ("ghc-test-framework" ,ghc-test-framework)
1164 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1165 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1166 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1167 (synopsis "ByteString-backed Handles")
1168 (description "ByteString-backed Handles") ; There is no description
1169 (license license:bsd-3)))
1170
1171(define-public ghc-bytestring-lexing
1172 (package
1173 (name "ghc-bytestring-lexing")
1174 (version "0.5.0.2")
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append "https://hackage.haskell.org/package/"
1179 "bytestring-lexing/bytestring-lexing-"
1180 version ".tar.gz"))
1181 (sha256
1182 (base32
1183 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1184 (build-system haskell-build-system)
1185 (home-page "http://code.haskell.org/~wren/")
1186 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1187 (description
1188 "This package provides tools to parse and produce literals efficiently
1189from strict or lazy bytestrings.")
1190 (license license:bsd-2)))
1191
1192(define-public ghc-bzlib-conduit
1193 (package
1194 (name "ghc-bzlib-conduit")
5fba8d6d 1195 (version "0.3.0.2")
dddbc90c
RV
1196 (source
1197 (origin
1198 (method url-fetch)
1199 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1200 "bzlib-conduit-" version ".tar.gz"))
1201 (sha256
1202 (base32
5fba8d6d 1203 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1204 (build-system haskell-build-system)
1205 (inputs
1206 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1207 ("ghc-conduit" ,ghc-conduit)
1208 ("ghc-data-default-class" ,ghc-data-default-class)
1209 ("ghc-resourcet" ,ghc-resourcet)))
1210 (native-inputs
1211 `(("ghc-hspec" ,ghc-hspec)
1212 ("ghc-random" ,ghc-random)))
1213 (home-page "https://github.com/snoyberg/bzlib-conduit")
1214 (synopsis "Streaming compression/decompression via conduits")
1215 (description
1216 "This package provides Haskell bindings to bzlib and Conduit support for
1217streaming compression and decompression.")
1218 (license license:bsd-3)))
1219
1220(define-public ghc-c2hs
1221 (package
1222 (name "ghc-c2hs")
1223 (version "0.28.6")
1224 (source
1225 (origin
1226 (method url-fetch)
1227 (uri (string-append
1228 "https://hackage.haskell.org/package/c2hs/c2hs-"
1229 version
1230 ".tar.gz"))
1231 (sha256
1232 (base32
1233 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1234 (build-system haskell-build-system)
1235 (inputs
1236 `(("ghc-language-c" ,ghc-language-c)
1237 ("ghc-dlist" ,ghc-dlist)))
1238 (native-inputs
1239 `(("ghc-test-framework" ,ghc-test-framework)
1240 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1241 ("ghc-hunit" ,ghc-hunit)
1242 ("ghc-shelly" ,ghc-shelly)
1243 ("gcc" ,gcc)))
1244 (arguments
1245 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1246 ;; of glibc 2.28.
1247 #:tests? #f
1248
1249 #:phases
1250 (modify-phases %standard-phases
1251 (add-before 'check 'set-cc
1252 ;; add a cc executable in the path, needed for some tests to pass
1253 (lambda* (#:key inputs #:allow-other-keys)
1254 (let ((gcc (assoc-ref inputs "gcc"))
1255 (tmpbin (tmpnam))
1256 (curpath (getenv "PATH")))
1257 (mkdir-p tmpbin)
1258 (symlink (which "gcc") (string-append tmpbin "/cc"))
1259 (setenv "PATH" (string-append tmpbin ":" curpath)))
1260 #t))
1261 (add-after 'check 'remove-cc
1262 ;; clean the tmp dir made in 'set-cc
1263 (lambda _
1264 (let* ((cc-path (which "cc"))
1265 (cc-dir (dirname cc-path)))
1266 (delete-file-recursively cc-dir)
1267 #t))))))
1268 (home-page "https://github.com/haskell/c2hs")
1269 (synopsis "Create Haskell bindings to C libraries")
1270 (description "C->Haskell assists in the development of Haskell bindings to
1271C libraries. It extracts interface information from C header files and
1272generates Haskell code with foreign imports and marshaling. Unlike writing
1273foreign imports by hand (or using hsc2hs), this ensures that C functions are
1274imported with the correct Haskell types.")
1275 (license license:gpl2)))
1276
1277(define-public ghc-cairo
1278 (package
1279 (name "ghc-cairo")
1280 (version "0.13.5.0")
1281 (source
1282 (origin
1283 (method url-fetch)
1284 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1285 "cairo-" version ".tar.gz"))
1286 (sha256
1287 (base32
1288 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1289 (build-system haskell-build-system)
1290 (arguments
1291 `(#:modules ((guix build haskell-build-system)
1292 (guix build utils)
1293 (ice-9 match)
1294 (srfi srfi-26))
1295 #:phases
1296 (modify-phases %standard-phases
1297 ;; FIXME: This is a copy of the standard configure phase with a tiny
1298 ;; difference: this package needs the -package-db flag to be passed
1299 ;; to "runhaskell" in addition to the "configure" action, because it
1300 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1301 ;; this option the Setup.hs file cannot be evaluated. The
1302 ;; haskell-build-system should be changed to pass "-package-db" to
1303 ;; "runhaskell" in any case.
1304 (replace 'configure
1305 (lambda* (#:key outputs inputs tests? (configure-flags '())
1306 #:allow-other-keys)
1307 (let* ((out (assoc-ref outputs "out"))
1308 (name-version (strip-store-file-name out))
1309 (input-dirs (match inputs
1310 (((_ . dir) ...)
1311 dir)
1312 (_ '())))
1313 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1314 (params (append `(,(string-append "--prefix=" out))
1315 `(,(string-append "--libdir=" out "/lib"))
1316 `(,(string-append "--bindir=" out "/bin"))
1317 `(,(string-append
1318 "--docdir=" out
1319 "/share/doc/" name-version))
1320 '("--libsubdir=$compiler/$pkg-$version")
1321 '("--package-db=../package.conf.d")
1322 '("--global")
1323 `(,@(map
1324 (cut string-append "--extra-include-dirs=" <>)
1325 (search-path-as-list '("include") input-dirs)))
1326 `(,@(map
1327 (cut string-append "--extra-lib-dirs=" <>)
1328 (search-path-as-list '("lib") input-dirs)))
1329 (if tests?
1330 '("--enable-tests")
1331 '())
1332 configure-flags)))
1333 (unsetenv "GHC_PACKAGE_PATH")
1334 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1335 "Setup.hs" "configure" params)
1336 (setenv "GHC_PACKAGE_PATH" ghc-path)
1337 #t))))))
1338 (inputs
1339 `(("ghc-utf8-string" ,ghc-utf8-string)
1340 ("cairo" ,cairo)))
1341 (native-inputs
1342 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1343 ("pkg-config" ,pkg-config)))
1344 (home-page "http://projects.haskell.org/gtk2hs/")
1345 (synopsis "Haskell bindings to the Cairo vector graphics library")
1346 (description
1347 "Cairo is a library to render high quality vector graphics. There exist
1348various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1349documents, amongst others.")
1350 (license license:bsd-3)))
1351
1352(define-public ghc-call-stack
1353 (package
1354 (name "ghc-call-stack")
1355 (version "0.1.0")
1356 (source
1357 (origin
1358 (method url-fetch)
1359 (uri (string-append "https://hackage.haskell.org/package/"
1360 "call-stack/call-stack-"
1361 version ".tar.gz"))
1362 (sha256
1363 (base32
1364 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1365 (build-system haskell-build-system)
1366 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1367 (home-page "https://github.com/sol/call-stack#readme")
1368 (synopsis "Use GHC call-stacks in a backward compatible way")
1369 (description "This package provides a compatibility layer for using GHC
1370call stacks with different versions of the compiler.")
1371 (license license:expat)))
1372
1373;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1374;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1375(define-public ghc-call-stack-boot
1376 (hidden-package
1377 (package
1378 (inherit ghc-call-stack)
1379 (arguments '(#:tests? #f))
1380 (inputs '()))))
1381
1382(define-public ghc-case-insensitive
1383 (package
1384 (name "ghc-case-insensitive")
1385 (version "1.2.0.11")
1386 (outputs '("out" "doc"))
1387 (source
1388 (origin
1389 (method url-fetch)
1390 (uri (string-append
1391 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1392 version
1393 ".tar.gz"))
1394 (sha256
1395 (base32
1396 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1397 (build-system haskell-build-system)
1398 ;; these inputs are necessary to use this library
1399 (inputs
1400 `(("ghc-hashable" ,ghc-hashable)))
1401 (arguments
1402 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1403 (home-page
1404 "https://github.com/basvandijk/case-insensitive")
1405 (synopsis "Case insensitive string comparison")
1406 (description
1407 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1408constructor which can be parameterised by a string-like type like:
1409@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1410the resulting type will be insensitive to cases.")
1411 (license license:bsd-3)))
1412
1413(define-public ghc-cereal
1414 (package
1415 (name "ghc-cereal")
bd95427e 1416 (version "0.5.8.1")
dddbc90c
RV
1417 (source
1418 (origin
1419 (method url-fetch)
1420 (uri (string-append
1421 "https://hackage.haskell.org/package/cereal/cereal-"
1422 version
1423 ".tar.gz"))
1424 (sha256
1425 (base32
bd95427e 1426 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1427 (build-system haskell-build-system)
1428 (native-inputs
1429 `(("ghc-quickcheck" ,ghc-quickcheck)
1430 ("ghc-fail" ,ghc-fail)
1431 ("ghc-test-framework" ,ghc-test-framework)
1432 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1433 (home-page "https://hackage.haskell.org/package/cereal")
1434 (synopsis "Binary serialization library")
1435 (description "This package provides a binary serialization library,
1436similar to @code{binary}, that introduces an @code{isolate} primitive for
1437parser isolation, and labeled blocks for better error messages.")
1438 (license license:bsd-3)))
1439
1440(define-public ghc-cereal-conduit
1441 (package
1442 (name "ghc-cereal-conduit")
1443 (version "0.8.0")
1444 (source
1445 (origin
1446 (method url-fetch)
1447 (uri (string-append "https://hackage.haskell.org/package/"
1448 "cereal-conduit/cereal-conduit-"
1449 version ".tar.gz"))
1450 (sha256
1451 (base32
1452 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1453 (build-system haskell-build-system)
1454 (inputs
1455 `(("ghc-conduit" ,ghc-conduit)
1456 ("ghc-resourcet" ,ghc-resourcet)
1457 ("ghc-cereal" ,ghc-cereal)))
1458 (native-inputs
1459 `(("ghc-hunit" ,ghc-hunit)))
1460 (home-page "https://github.com/snoyberg/conduit")
1461 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1462 (description
1463 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1464@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1465 (license license:bsd-3)))
1466
1467(define-public ghc-cgi
1468 (package
1469 (name "ghc-cgi")
b6b2c218 1470 (version "3001.4.0.0")
dddbc90c
RV
1471 (source
1472 (origin
1473 (method url-fetch)
1474 (uri (string-append
1475 "https://hackage.haskell.org/package/cgi/cgi-"
1476 version
1477 ".tar.gz"))
1478 (sha256
1479 (base32
b6b2c218 1480 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1481 (build-system haskell-build-system)
dddbc90c
RV
1482 (inputs
1483 `(("ghc-exceptions" ,ghc-exceptions)
1484 ("ghc-multipart" ,ghc-multipart)
1485 ("ghc-network-uri" ,ghc-network-uri)
1486 ("ghc-network" ,ghc-network)))
1487 (native-inputs
1488 `(("ghc-doctest" ,ghc-doctest)
1489 ("ghc-quickcheck" ,ghc-quickcheck)))
1490 (home-page
1491 "https://github.com/cheecheeo/haskell-cgi")
1492 (synopsis "Library for writing CGI programs")
1493 (description
1494 "This is a Haskell library for writing CGI programs.")
1495 (license license:bsd-3)))
1496
1497(define-public ghc-charset
1498 (package
1499 (name "ghc-charset")
1500 (version "0.3.7.1")
1501 (source
1502 (origin
1503 (method url-fetch)
1504 (uri (string-append
1505 "https://hackage.haskell.org/package/charset/charset-"
1506 version
1507 ".tar.gz"))
1508 (sha256
1509 (base32
1510 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1511 (build-system haskell-build-system)
35ee173c
TS
1512 (arguments
1513 `(#:cabal-revision
1514 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1515 (inputs
1516 `(("ghc-semigroups" ,ghc-semigroups)
1517 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1518 (home-page "https://github.com/ekmett/charset")
1519 (synopsis "Fast unicode character sets for Haskell")
1520 (description "This package provides fast unicode character sets for
1521Haskell, based on complemented PATRICIA tries.")
1522 (license license:bsd-3)))
1523
1524(define-public ghc-chart
1525 (package
1526 (name "ghc-chart")
6cd84b98 1527 (version "1.9.1")
dddbc90c
RV
1528 (source
1529 (origin
1530 (method url-fetch)
1531 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1532 "Chart-" version ".tar.gz"))
1533 (sha256
1534 (base32
6cd84b98 1535 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1536 (build-system haskell-build-system)
1537 (inputs
1538 `(("ghc-old-locale" ,ghc-old-locale)
1539 ("ghc-lens" ,ghc-lens)
1540 ("ghc-colour" ,ghc-colour)
1541 ("ghc-data-default-class" ,ghc-data-default-class)
1542 ("ghc-operational" ,ghc-operational)
1543 ("ghc-vector" ,ghc-vector)))
1544 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1545 (synopsis "Library for generating 2D charts and plots")
1546 (description
1547 "This package provides a library for generating 2D charts and plots, with
1548backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1549 (license license:bsd-3)))
1550
1551(define-public ghc-chart-cairo
1552 (package
1553 (name "ghc-chart-cairo")
1554 (version "1.9")
1555 (source
1556 (origin
1557 (method url-fetch)
1558 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1559 "Chart-cairo-" version ".tar.gz"))
1560 (sha256
1561 (base32
1562 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1563 (build-system haskell-build-system)
1564 (inputs
1565 `(("ghc-old-locale" ,ghc-old-locale)
1566 ("ghc-cairo" ,ghc-cairo)
1567 ("ghc-colour" ,ghc-colour)
1568 ("ghc-data-default-class" ,ghc-data-default-class)
1569 ("ghc-operational" ,ghc-operational)
1570 ("ghc-lens" ,ghc-lens)
1571 ("ghc-chart" ,ghc-chart)))
1572 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1573 (synopsis "Cairo backend for Charts")
1574 (description "This package provides a Cairo vector graphics rendering
1575backend for the Charts library.")
1576 (license license:bsd-3)))
1577
1578(define-public ghc-chasingbottoms
1579 (package
1580 (name "ghc-chasingbottoms")
1f67853e 1581 (version "1.3.1.7")
dddbc90c
RV
1582 (source
1583 (origin
1584 (method url-fetch)
1585 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1586 "ChasingBottoms-" version ".tar.gz"))
1587 (sha256
1588 (base32
1f67853e 1589 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1590 (build-system haskell-build-system)
1591 (inputs
1592 `(("ghc-quickcheck" ,ghc-quickcheck)
1593 ("ghc-random" ,ghc-random)
1594 ("ghc-syb" ,ghc-syb)))
1595 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1596 (synopsis "Testing of partial and infinite values in Haskell")
1597 (description
1598 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1599 ;; rendered properly.
1600 "This is a library for testing code involving bottoms or infinite values.
1601For the underlying theory and a larger example involving use of QuickCheck,
1602see the article
1603@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1604\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1605Partial and Infinite Values\"}.")
1606 (license license:expat)))
1607
1608(define-public ghc-cheapskate
1609 (package
1610 (name "ghc-cheapskate")
5e18bb9e 1611 (version "0.1.1.1")
dddbc90c
RV
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append
1616 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1617 version
1618 ".tar.gz"))
1619 (sha256
1620 (base32
5e18bb9e 1621 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1622 (build-system haskell-build-system)
1623 (inputs
1624 `(("ghc-blaze-html" ,ghc-blaze-html)
1625 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1626 ("ghc-data-default" ,ghc-data-default)
1627 ("ghc-syb" ,ghc-syb)
1628 ("ghc-uniplate" ,ghc-uniplate)))
1629 (home-page "https://github.com/jgm/cheapskate")
1630 (synopsis "Experimental markdown processor")
1631 (description "Cheapskate is an experimental Markdown processor in pure
1632Haskell. It aims to process Markdown efficiently and in the most forgiving
1633possible way. It is designed to deal with any input, including garbage, with
1634linear performance. Output is sanitized by default for protection against
1635cross-site scripting (@dfn{XSS}) attacks.")
1636 (license license:bsd-3)))
1637
1638(define-public ghc-chell
1639 (package
1640 (name "ghc-chell")
acdd03be 1641 (version "0.5")
dddbc90c
RV
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append
1646 "https://hackage.haskell.org/package/chell/chell-"
1647 version ".tar.gz"))
1648 (sha256
1649 (base32
acdd03be 1650 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1651 (build-system haskell-build-system)
acdd03be
TS
1652 (arguments
1653 `(#:cabal-revision
1654 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1655 (inputs
1656 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1657 ("ghc-patience" ,ghc-patience)
1658 ("ghc-random" ,ghc-random)
1659 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1660 (home-page "https://john-millikin.com/software/chell/")
1661 (synopsis "Simple and intuitive library for automated testing")
1662 (description
1663 "Chell is a simple and intuitive library for automated testing.
1664It natively supports assertion-based testing, and can use companion
1665libraries such as @code{chell-quickcheck} to support more complex
1666testing strategies.")
1667 (license license:expat)))
1668
1669(define-public ghc-chell-quickcheck
1670 (package
1671 (name "ghc-chell-quickcheck")
e0e21831 1672 (version "0.2.5.2")
dddbc90c
RV
1673 (source
1674 (origin
1675 (method url-fetch)
1676 (uri (string-append
1677 "https://hackage.haskell.org/package/chell-quickcheck/"
1678 "chell-quickcheck-" version ".tar.gz"))
1679 (sha256
1680 (base32
e0e21831 1681 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1682 (build-system haskell-build-system)
1683 (arguments
1684 `(#:phases
1685 (modify-phases %standard-phases
1686 (add-before 'configure 'update-constraints
1687 (lambda _
1688 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1689 (("QuickCheck >= 2\\.3 && < 2\\.13")
1690 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1691 (inputs
1692 `(("ghc-chell" ,ghc-chell)
1693 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1694 ("ghc-random" ,ghc-random)
1695 ("ghc-quickcheck" ,ghc-quickcheck)))
1696 (home-page "https://john-millikin.com/software/chell/")
1697 (synopsis "QuickCheck support for the Chell testing library")
1698 (description "More complex tests for @code{chell}.")
1699 (license license:expat)))
1700
1701(define ghc-chell-quickcheck-bootstrap
1702 (package
1703 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1704 (version "0.2.5.2")
dddbc90c
RV
1705 (source
1706 (origin
1707 (method url-fetch)
1708 (uri (string-append
1709 "https://hackage.haskell.org/package/chell-quickcheck/"
1710 "chell-quickcheck-" version ".tar.gz"))
1711 (sha256
1712 (base32
e0e21831 1713 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1714 (build-system haskell-build-system)
1715 (inputs
1716 `(("ghc-chell" ,ghc-chell)
1717 ("ghc-random" ,ghc-random)
1718 ("ghc-quickcheck" ,ghc-quickcheck)))
1719 (arguments
1720 `(#:tests? #f
1721 #:phases
1722 (modify-phases %standard-phases
1723 (add-before 'configure 'update-constraints
1724 (lambda _
1725 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1726 (("QuickCheck >= 2\\.3 && < 2\\.13")
1727 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1728 (home-page "https://john-millikin.com/software/chell/")
1729 (synopsis "QuickCheck support for the Chell testing library")
1730 (description "More complex tests for @code{chell}.")
1731 (license license:expat)))
1732
1733(define-public ghc-chunked-data
1734 (package
1735 (name "ghc-chunked-data")
1736 (version "0.3.1")
1737 (source
1738 (origin
1739 (method url-fetch)
1740 (uri (string-append "https://hackage.haskell.org/package/"
1741 "chunked-data-" version "/"
1742 "chunked-data-" version ".tar.gz"))
1743 (sha256
1744 (base32
1745 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1746 (build-system haskell-build-system)
1747 (inputs `(("ghc-vector" ,ghc-vector)
1748 ("ghc-semigroups" ,ghc-semigroups)))
1749 (home-page "https://github.com/snoyberg/mono-traversable")
1750 (synopsis "Typeclasses for dealing with various chunked data
1751representations for Haskell")
1752 (description "This Haskell package was originally present in
1753classy-prelude.")
1754 (license license:expat)))
1755
1756(define-public ghc-clock
1757 (package
1758 (name "ghc-clock")
0841b6f2 1759 (version "0.8")
dddbc90c
RV
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append
1764 "https://hackage.haskell.org/package/"
1765 "clock/"
1766 "clock-" version ".tar.gz"))
1767 (sha256
0841b6f2 1768 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1769 (build-system haskell-build-system)
1770 (inputs
1771 `(("ghc-tasty" ,ghc-tasty)
1772 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1773 (home-page "https://hackage.haskell.org/package/clock")
1774 (synopsis "High-resolution clock for Haskell")
1775 (description "A package for convenient access to high-resolution clock and
1776timer functions of different operating systems via a unified API.")
1777 (license license:bsd-3)))
1778
1779;; This package builds `clock` without tests, since the tests rely on tasty
1780;; and tasty-quickcheck, which in turn require clock to build.
1781(define-public ghc-clock-bootstrap
1782 (package
1783 (inherit ghc-clock)
1784 (name "ghc-clock-bootstrap")
1785 (arguments '(#:tests? #f))
1786 (inputs '())
1787 (properties '((hidden? #t)))))
1788
1789(define-public ghc-cmark
1790 (package
1791 (name "ghc-cmark")
6bdd36c0 1792 (version "0.6")
dddbc90c
RV
1793 (source (origin
1794 (method url-fetch)
6bdd36c0 1795 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1796 ;; See cbits/cmark_version.h.
1797 (uri (string-append "https://hackage.haskell.org/package/"
1798 "cmark/cmark-" version ".tar.gz"))
1799 (sha256
1800 (base32
6bdd36c0 1801 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1802 (build-system haskell-build-system)
1803 (native-inputs
1804 `(("ghc-hunit" ,ghc-hunit)))
1805 (home-page "https://github.com/jgm/commonmark-hs")
1806 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1807 (description
1808 "This package provides Haskell bindings for
1809@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1810CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1811sources, and does not require prior installation of the C library.")
1812 (license license:bsd-3)))
1813
1814(define-public ghc-cmark-gfm
1815 (package
1816 (name "ghc-cmark-gfm")
24fc8dae 1817 (version "0.2.0")
dddbc90c
RV
1818 (source
1819 (origin
1820 (method url-fetch)
1821 (uri (string-append "https://hackage.haskell.org/package/"
1822 "cmark-gfm/cmark-gfm-"
1823 version ".tar.gz"))
1824 (sha256
1825 (base32
24fc8dae 1826 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1827 (build-system haskell-build-system)
1828 (native-inputs
1829 `(("ghc-hunit" ,ghc-hunit)))
1830 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1831 (synopsis
1832 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1833 (description
1834 "This package provides Haskell bindings for libcmark-gfm, the reference
1835parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1836It includes sources for libcmark-gfm and does not require prior installation
1837of the C library.")
1838 (license license:bsd-3)))
1839
1840(define-public ghc-cmdargs
1841 (package
1842 (name "ghc-cmdargs")
1843 (version "0.10.20")
1844 (source
1845 (origin
1846 (method url-fetch)
1847 (uri (string-append
1848 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1849 version ".tar.gz"))
1850 (sha256
1851 (base32
1852 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1853 (build-system haskell-build-system)
1854 (home-page
1855 "http://community.haskell.org/~ndm/cmdargs/")
1856 (synopsis "Command line argument processing")
1857 (description
1858 "This library provides an easy way to define command line parsers.")
1859 (license license:bsd-3)))
1860
1861(define-public ghc-code-page
1862 (package
1863 (name "ghc-code-page")
f6bb6519 1864 (version "0.2")
dddbc90c
RV
1865 (source
1866 (origin
1867 (method url-fetch)
1868 (uri (string-append
1869 "https://hackage.haskell.org/package/code-page/code-page-"
1870 version ".tar.gz"))
1871 (sha256
1872 (base32
f6bb6519 1873 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1874 (build-system haskell-build-system)
1875 (home-page "https://github.com/RyanGlScott/code-page")
1876 (synopsis "Windows code page library for Haskell")
1877 (description "A cross-platform library with functions for adjusting
1878code pages on Windows. On all other operating systems, the library does
1879nothing.")
1880 (license license:bsd-3)))
1881
1882(define-public ghc-colour
1883(package
1884 (name "ghc-colour")
bc9d1af9 1885 (version "2.3.5")
dddbc90c
RV
1886 (source
1887 (origin
1888 (method url-fetch)
1889 (uri (string-append
1890 "https://hackage.haskell.org/package/colour/colour-"
1891 version ".tar.gz"))
1892 (sha256
1893 (base32
bc9d1af9 1894 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1895 (arguments
1896 ;; The tests for this package have the following dependency cycle:
1897 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1898 `(#:tests? #f))
1899 (build-system haskell-build-system)
1900 (home-page "https://www.haskell.org/haskellwiki/Colour")
1901 (synopsis "Model for human colour perception")
1902 (description
1903 "This package provides a data type for colours and transparency.
1904Colours can be blended and composed. Various colour spaces are
1905supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1906 (license license:expat)))
1907
1908(define-public ghc-comonad
1909 (package
1910 (name "ghc-comonad")
1a825512 1911 (version "5.0.5")
dddbc90c
RV
1912 (source
1913 (origin
1914 (method url-fetch)
1915 (uri (string-append
1916 "https://hackage.haskell.org/package/comonad/comonad-"
1917 version
1918 ".tar.gz"))
1919 (sha256
1920 (base32
1a825512 1921 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1922 (build-system haskell-build-system)
1923 (native-inputs
1924 `(("cabal-doctest" ,cabal-doctest)
1925 ("ghc-doctest" ,ghc-doctest)))
1926 (inputs
1927 `(("ghc-contravariant" ,ghc-contravariant)
1928 ("ghc-distributive" ,ghc-distributive)
1929 ("ghc-semigroups" ,ghc-semigroups)
1930 ("ghc-tagged" ,ghc-tagged)
1931 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1932 (home-page "https://github.com/ekmett/comonad/")
1933 (synopsis "Comonads for Haskell")
1934 (description "This library provides @code{Comonad}s for Haskell.")
1935 (license license:bsd-3)))
1936
1937(define-public ghc-concatenative
1938 (package
1939 (name "ghc-concatenative")
1940 (version "1.0.1")
1941 (source (origin
1942 (method url-fetch)
1943 (uri (string-append
1944 "https://hackage.haskell.org/package/concatenative/concatenative-"
1945 version ".tar.gz"))
1946 (sha256
1947 (base32
1948 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1949 (build-system haskell-build-system)
1950 (home-page
1951 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1952 (synopsis "Library for postfix control flow")
1953 (description
1954 "Concatenative gives Haskell Factor-style combinators and arrows for
1955postfix notation. For more information on stack based languages, see
1956@uref{https://concatenative.org}.")
1957 (license license:bsd-3)))
1958
1959(define-public ghc-concurrent-extra
1960 (package
1961 (name "ghc-concurrent-extra")
1962 (version "0.7.0.12")
1963 (source
1964 (origin
1965 (method url-fetch)
1966 (uri (string-append "https://hackage.haskell.org/package/"
1967 "concurrent-extra/concurrent-extra-"
1968 version ".tar.gz"))
1969 (sha256
1970 (base32
1971 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1972 (build-system haskell-build-system)
1973 (arguments
1974 ;; XXX: The ReadWriteLock 'stressTest' fails.
1975 `(#:tests? #f))
1976 (inputs
1977 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1978 (native-inputs
1979 `(("ghc-async" ,ghc-async)
1980 ("ghc-hunit" ,ghc-hunit)
1981 ("ghc-random" ,ghc-random)
1982 ("ghc-test-framework" ,ghc-test-framework)
1983 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1984 (home-page "https://github.com/basvandijk/concurrent-extra")
1985 (synopsis "Extra concurrency primitives")
1986 (description "This Haskell library offers (among other things) the
1987following selection of synchronisation primitives:
1988
1989@itemize
1990@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1991@item @code{Event}: Wake multiple threads by signalling an event.
1992@item @code{Lock}: Enforce exclusive access to a resource. Also known
1993as a binary semaphore or mutex. The package additionally provides an
1994alternative that works in the STM monad.
1995@item @code{RLock}: A lock which can be acquired multiple times by the
1996same thread. Also known as a reentrant mutex.
1997@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1998to protect shared resources which may be concurrently read, but only
1999sequentially written.
2000@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2001@end itemize
2002
2003Please consult the API documentation of the individual modules for more
2004detailed information.
2005
2006This package was inspired by the concurrency libraries of Java and
2007Python.")
2008 (license license:bsd-3)))
2009
2010(define-public ghc-concurrent-output
2011 (package
2012 (name "ghc-concurrent-output")
4fce0a4a 2013 (version "1.10.11")
dddbc90c
RV
2014 (source
2015 (origin
2016 (method url-fetch)
2017 (uri (string-append
2018 "mirror://hackage/package/concurrent-output/concurrent-output-"
2019 version
2020 ".tar.gz"))
2021 (sha256
2022 (base32
4fce0a4a 2023 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2024 (build-system haskell-build-system)
2025 (inputs
2026 `(("ghc-async" ,ghc-async)
2027 ("ghc-exceptions" ,ghc-exceptions)
2028 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2029 ("ghc-terminal-size" ,ghc-terminal-size)))
2030 (home-page
2031 "https://hackage.haskell.org/package/concurrent-output")
2032 (synopsis
2033 "Ungarble output from several threads or commands")
2034 (description
2035 "Lets multiple threads and external processes concurrently output to the
2036console, without it getting all garbled up.
2037
2038Built on top of that is a way of defining multiple output regions, which are
2039automatically laid out on the screen and can be individually updated by
2040concurrent threads. Can be used for progress displays etc.")
2041 (license license:bsd-2)))
2042
2043(define-public ghc-conduit
2044 (package
2045 (name "ghc-conduit")
1ac981d4 2046 (version "1.3.1.1")
dddbc90c
RV
2047 (source (origin
2048 (method url-fetch)
2049 (uri (string-append "https://hackage.haskell.org/package/"
2050 "conduit/conduit-" version ".tar.gz"))
2051 (sha256
2052 (base32
1ac981d4 2053 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2054 (build-system haskell-build-system)
2055 (inputs
2056 `(("ghc-exceptions" ,ghc-exceptions)
2057 ("ghc-lifted-base" ,ghc-lifted-base)
2058 ("ghc-mono-traversable" ,ghc-mono-traversable)
2059 ("ghc-mmorph" ,ghc-mmorph)
2060 ("ghc-resourcet" ,ghc-resourcet)
2061 ("ghc-silently" ,ghc-silently)
2062 ("ghc-transformers-base" ,ghc-transformers-base)
2063 ("ghc-unliftio" ,ghc-unliftio)
2064 ("ghc-unliftio-core" ,ghc-unliftio-core)
2065 ("ghc-vector" ,ghc-vector)
2066 ("ghc-void" ,ghc-void)))
2067 (native-inputs
2068 `(("ghc-quickcheck" ,ghc-quickcheck)
2069 ("ghc-hspec" ,ghc-hspec)
2070 ("ghc-safe" ,ghc-safe)
2071 ("ghc-split" ,ghc-split)))
2072 (home-page "https://github.com/snoyberg/conduit")
2073 (synopsis "Streaming data library ")
2074 (description
2075 "The conduit package is a solution to the streaming data problem,
2076allowing for production, transformation, and consumption of streams of data
2077in constant memory. It is an alternative to lazy I/O which guarantees
2078deterministic resource handling, and fits in the same general solution
2079space as enumerator/iteratee and pipes.")
2080 (license license:expat)))
2081
2082(define-public ghc-conduit-algorithms
2083 (package
2084 (name "ghc-conduit-algorithms")
503b74ae 2085 (version "0.0.11.0")
dddbc90c
RV
2086 (source
2087 (origin
2088 (method url-fetch)
2089 (uri (string-append "https://hackage.haskell.org/package/"
2090 "conduit-algorithms/conduit-algorithms-"
2091 version ".tar.gz"))
2092 (sha256
2093 (base32
503b74ae 2094 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2095 (build-system haskell-build-system)
2096 (inputs
2097 `(("ghc-async" ,ghc-async)
2098 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2099 ("ghc-conduit" ,ghc-conduit)
2100 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2101 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2102 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2103 ("ghc-exceptions" ,ghc-exceptions)
2104 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2105 ("ghc-monad-control" ,ghc-monad-control)
2106 ("ghc-pqueue" ,ghc-pqueue)
2107 ("ghc-resourcet" ,ghc-resourcet)
2108 ("ghc-stm-conduit" ,ghc-stm-conduit)
2109 ("ghc-streaming-commons" ,ghc-streaming-commons)
2110 ("ghc-unliftio-core" ,ghc-unliftio-core)
2111 ("ghc-vector" ,ghc-vector)))
2112 (native-inputs
2113 `(("ghc-hunit" ,ghc-hunit)
2114 ("ghc-test-framework" ,ghc-test-framework)
2115 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2116 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2117 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2118 (synopsis "Conduit-based algorithms")
2119 (description
2120 "This package provides algorithms on @code{Conduits}, including higher
2121level asynchronous processing and some other utilities.")
2122 (license license:expat)))
2123
2124(define-public ghc-conduit-combinators
2125 (package
2126 (name "ghc-conduit-combinators")
2127 (version "1.3.0")
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append "https://hackage.haskell.org/package/"
2132 "conduit-combinators-" version "/"
2133 "conduit-combinators-" version ".tar.gz"))
2134 (sha256
2135 (base32
2136 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2137 (build-system haskell-build-system)
2138 (inputs `(("ghc-conduit" ,ghc-conduit)
2139 ("ghc-conduit-extra" ,ghc-conduit-extra)
2140 ("ghc-transformers-base" ,ghc-transformers-base)
2141 ("ghc-primitive" ,ghc-primitive)
2142 ("ghc-vector" ,ghc-vector)
2143 ("ghc-void" ,ghc-void)
2144 ("ghc-mwc-random" ,ghc-mwc-random)
2145 ("ghc-unix-compat" ,ghc-unix-compat)
2146 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2147 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2148 ("ghc-resourcet" ,ghc-resourcet)
2149 ("ghc-monad-control" ,ghc-monad-control)
2150 ("ghc-chunked-data" ,ghc-chunked-data)
2151 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2152 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2153 ("ghc-silently" ,ghc-silently)
2154 ("ghc-safe" ,ghc-safe)
2155 ("ghc-quickcheck" ,ghc-quickcheck)))
2156 (home-page "https://github.com/snoyberg/mono-traversable")
2157 (synopsis "Commonly used conduit functions, for both chunked and
2158unchunked data")
2159 (description "This Haskell package provides a replacement for Data.Conduit.List,
2160as well as a convenient Conduit module.")
2161 (license license:expat)))
2162
2163(define-public ghc-conduit-extra
2164 (package
2165 (name "ghc-conduit-extra")
151774d9 2166 (version "1.3.4")
dddbc90c
RV
2167 (source
2168 (origin
2169 (method url-fetch)
2170 (uri (string-append "https://hackage.haskell.org/package/"
2171 "conduit-extra/conduit-extra-"
2172 version ".tar.gz"))
2173 (sha256
2174 (base32
151774d9 2175 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2176 (build-system haskell-build-system)
2177 (inputs
2178 `(("ghc-conduit" ,ghc-conduit)
2179 ("ghc-exceptions" ,ghc-exceptions)
2180 ("ghc-monad-control" ,ghc-monad-control)
2181 ("ghc-transformers-base" ,ghc-transformers-base)
2182 ("ghc-typed-process" ,ghc-typed-process)
2183 ("ghc-async" ,ghc-async)
2184 ("ghc-attoparsec" ,ghc-attoparsec)
2185 ("ghc-blaze-builder" ,ghc-blaze-builder)
2186 ("ghc-network" ,ghc-network)
2187 ("ghc-primitive" ,ghc-primitive)
2188 ("ghc-resourcet" ,ghc-resourcet)
2189 ("ghc-streaming-commons" ,ghc-streaming-commons)
2190 ("ghc-hspec" ,ghc-hspec)
2191 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2192 ("ghc-quickcheck" ,ghc-quickcheck)))
2193 (native-inputs
2194 `(("hspec-discover" ,hspec-discover)))
2195 (home-page "https://github.com/snoyberg/conduit")
2196 (synopsis "Conduit adapters for common libraries")
2197 (description
2198 "The @code{conduit} package itself maintains relative small dependencies.
2199The purpose of this package is to collect commonly used utility functions
2200wrapping other library dependencies, without depending on heavier-weight
2201dependencies. The basic idea is that this package should only depend on
2202@code{haskell-platform} packages and @code{conduit}.")
2203 (license license:expat)))
2204
b59c3518
TS
2205(define-public ghc-conduit-zstd
2206 (package
2207 (name "ghc-conduit-zstd")
2208 (version "0.0.1.1")
2209 (source
2210 (origin
2211 (method url-fetch)
2212 (uri (string-append "https://hackage.haskell.org/package/"
2213 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2214 (sha256
2215 (base32
2216 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2217 (build-system haskell-build-system)
2218 (inputs
2219 `(("ghc-conduit" ,ghc-conduit)
2220 ("ghc-zstd" ,ghc-zstd)))
2221 (native-inputs
2222 `(("ghc-hunit" ,ghc-hunit)
2223 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2224 ("ghc-conduit-extra" ,ghc-conduit-extra)
2225 ("ghc-test-framework" ,ghc-test-framework)
2226 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2227 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2228 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2229 (synopsis "Conduit-based ZStd Compression")
2230 (description "Zstandard compression packaged as a conduit. This is
2231a very thin wrapper around the
2232@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2233interface}.")
2234 (license license:expat)))
2235
dddbc90c
RV
2236(define-public ghc-configurator
2237 (package
2238 (name "ghc-configurator")
2239 (version "0.3.0.0")
2240 (source
2241 (origin
2242 (method url-fetch)
2243 (uri (string-append "https://hackage.haskell.org/package/"
2244 "configurator/configurator-"
2245 version ".tar.gz"))
2246 (sha256
2247 (base32
2248 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2249 (build-system haskell-build-system)
2250 (inputs
2251 `(("ghc-attoparsec" ,ghc-attoparsec)
2252 ("ghc-hashable" ,ghc-hashable)
2253 ("ghc-unix-compat" ,ghc-unix-compat)
2254 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2255 (native-inputs
2256 `(("ghc-hunit" ,ghc-hunit)
2257 ("ghc-test-framework" ,ghc-test-framework)
2258 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2259 (home-page "http://github.com/bos/configurator")
2260 (synopsis "Configuration management")
2261 (description
2262 "This package provides a configuration management library for programs
2263and daemons. The features include:
2264
2265@enumerate
2266@item Automatic, dynamic reloading in response to modifications to
2267 configuration files.
2268@item A simple, but flexible, configuration language, supporting several of
2269 the most commonly needed types of data, along with interpolation of strings
2270 from the configuration or the system environment (e.g. @code{$(HOME)}).
2271@item Subscription-based notification of changes to configuration properties.
2272@item An @code{import} directive allows the configuration of a complex
2273 application to be split across several smaller files, or common configuration
2274 data to be shared across several applications.
2275@end enumerate\n")
2276 (license license:bsd-3)))
2277
2278(define-public ghc-connection
2279 (package
2280 (name "ghc-connection")
6ee0d258 2281 (version "0.3.1")
dddbc90c
RV
2282 (source (origin
2283 (method url-fetch)
2284 (uri (string-append "https://hackage.haskell.org/package/"
2285 "connection/connection-"
2286 version ".tar.gz"))
2287 (sha256
2288 (base32
6ee0d258 2289 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2290 (build-system haskell-build-system)
2291 (inputs
2292 `(("ghc-byteable" ,ghc-byteable)
2293 ("ghc-data-default-class" ,ghc-data-default-class)
2294 ("ghc-network" ,ghc-network)
2295 ("ghc-tls" ,ghc-tls)
2296 ("ghc-socks" ,ghc-socks)
2297 ("ghc-x509" ,ghc-x509)
2298 ("ghc-x509-store" ,ghc-x509-store)
2299 ("ghc-x509-system" ,ghc-x509-system)
2300 ("ghc-x509-validation" ,ghc-x509-validation)))
2301 (home-page "https://github.com/vincenthz/hs-connection")
2302 (synopsis "Simple and easy network connections API")
2303 (description
2304 "This package provides a simple network library for all your connection
2305needs. It provides a very simple API to create sockets to a destination with
2306the choice of SSL/TLS, and SOCKS.")
2307 (license license:bsd-3)))
2308
2309(define-public ghc-constraints
2310 (package
2311 (name "ghc-constraints")
2312 (version "0.10.1")
2313 (source
2314 (origin
2315 (method url-fetch)
2316 (uri (string-append
2317 "https://hackage.haskell.org/package/constraints/constraints-"
2318 version ".tar.gz"))
2319 (sha256
2320 (base32
2321 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2322 (build-system haskell-build-system)
2323 (inputs
2324 `(("ghc-hashable" ,ghc-hashable)
2325 ("ghc-semigroups" ,ghc-semigroups)
2326 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2327 (native-inputs
2328 `(("ghc-hspec" ,ghc-hspec)
2329 ("hspec-discover" ,hspec-discover)))
2330 (home-page "https://github.com/ekmett/constraints/")
2331 (synopsis "Constraint manipulation")
2332 (description
2333 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2334They stopped crashing the compiler in GHC 7.6. This package provides
2335a vocabulary for working with them.")
2336 (license license:bsd-3)))
2337
2338(define-public ghc-contravariant
2339 (package
2340 (name "ghc-contravariant")
e7b35ff0 2341 (version "1.5.2")
dddbc90c
RV
2342 (source
2343 (origin
2344 (method url-fetch)
2345 (uri (string-append
2346 "https://hackage.haskell.org/package/contravariant/contravariant-"
2347 version
2348 ".tar.gz"))
2349 (sha256
2350 (base32
e7b35ff0 2351 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2352 (build-system haskell-build-system)
2353 (inputs
2354 `(("ghc-void" ,ghc-void)
2355 ("ghc-transformers-compat" ,ghc-transformers-compat)
2356 ("ghc-statevar" ,ghc-statevar)
2357 ("ghc-semigroups" ,ghc-semigroups)))
2358 (home-page
2359 "https://github.com/ekmett/contravariant/")
2360 (synopsis "Contravariant functors")
2361 (description "Contravariant functors for Haskell.")
2362 (license license:bsd-3)))
2363
2364(define-public ghc-contravariant-extras
2365 (package
2366 (name "ghc-contravariant-extras")
2367 (version "0.3.4")
2368 (source
2369 (origin
2370 (method url-fetch)
2371 (uri (string-append "https://hackage.haskell.org/package/"
2372 "contravariant-extras-" version "/"
2373 "contravariant-extras-" version ".tar.gz"))
2374 (sha256
2375 (base32
2376 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2377 (build-system haskell-build-system)
f3aca086
TS
2378 (arguments
2379 `(#:cabal-revision
2380 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2381 (inputs
2382 `(("ghc-tuple-th" ,ghc-tuple-th)
2383 ("ghc-contravariant" ,ghc-contravariant)
2384 ("ghc-base-prelude" ,ghc-base-prelude)
2385 ("ghc-semigroups" ,ghc-semigroups)))
2386 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2387 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2388 (description "This Haskell package provides extras for the
2389@code{ghc-contravariant} package.")
2390 (license license:expat)))
2391
2392(define-public ghc-convertible
2393 (package
2394 (name "ghc-convertible")
2395 (version "1.1.1.0")
2396 (source
2397 (origin
2398 (method url-fetch)
2399 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2400 "convertible-" version ".tar.gz"))
2401 (sha256
2402 (base32
2403 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2404 (build-system haskell-build-system)
2405 (inputs
2406 `(("ghc-old-time" ,ghc-old-time)
2407 ("ghc-old-locale" ,ghc-old-locale)))
2408 (home-page "https://hackage.haskell.org/package/convertible")
2409 (synopsis "Typeclasses and instances for converting between types")
2410 (description
2411 "This package provides a typeclass with a single function that is
2412designed to help convert between different types: numeric values, dates and
2413times, and the like. The conversions perform bounds checking and return a
2414pure @code{Either} value. This means that you need not remember which specific
2415function performs the conversion you desire.")
2416 (license license:bsd-3)))
2417
2418(define-public ghc-data-accessor
2419 (package
2420 (name "ghc-data-accessor")
6dcca515 2421 (version "0.2.2.8")
dddbc90c
RV
2422 (source
2423 (origin
2424 (method url-fetch)
2425 (uri (string-append
2426 "mirror://hackage/package/data-accessor/data-accessor-"
2427 version ".tar.gz"))
2428 (sha256
6dcca515 2429 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2430 (build-system haskell-build-system)
2431 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2432 (synopsis
2433 "Haskell utilities for accessing and manipulating fields of records")
2434 (description "This package provides Haskell modules for accessing and
2435manipulating fields of records.")
2436 (license license:bsd-3)))
2437
2438(define-public ghc-data-accessor-transformers
2439 (package
2440 (name "ghc-data-accessor-transformers")
2441 (version "0.2.1.7")
2442 (source
2443 (origin
2444 (method url-fetch)
2445 (uri (string-append
2446 "mirror://hackage/package/data-accessor-transformers/"
2447 "data-accessor-transformers-" version ".tar.gz"))
2448 (sha256
2449 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2450 (build-system haskell-build-system)
2451 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2452 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2453 (synopsis "Use Accessor to access state in transformers State monad")
2454 (description "This package provides Haskell modules to allow use of
2455Accessor to access state in transformers State monad.")
2456 (license license:bsd-3)))
2457
2458(define-public ghc-data-default
2459 (package
2460 (name "ghc-data-default")
2461 (version "0.7.1.1")
2462 (source
2463 (origin
2464 (method url-fetch)
2465 (uri (string-append
2466 "https://hackage.haskell.org/package/data-default/data-default-"
2467 version
2468 ".tar.gz"))
2469 (sha256
2470 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2471 (build-system haskell-build-system)
2472 (inputs
2473 `(("ghc-data-default-class"
2474 ,ghc-data-default-class)
2475 ("ghc-data-default-instances-base"
2476 ,ghc-data-default-instances-base)
2477 ("ghc-data-default-instances-containers"
2478 ,ghc-data-default-instances-containers)
2479 ("ghc-data-default-instances-dlist"
2480 ,ghc-data-default-instances-dlist)
2481 ("ghc-data-default-instances-old-locale"
2482 ,ghc-data-default-instances-old-locale)))
2483 (home-page "https://hackage.haskell.org/package/data-default")
2484 (synopsis "Types with default values")
2485 (description
2486 "This package defines a class for types with a default value, and
2487provides instances for types from the base, containers, dlist and old-locale
2488packages.")
2489 (license license:bsd-3)))
2490
2491(define-public ghc-data-default-class
2492 (package
2493 (name "ghc-data-default-class")
2494 (version "0.1.2.0")
2495 (source
2496 (origin
2497 (method url-fetch)
2498 (uri (string-append
2499 "https://hackage.haskell.org/package/data-default-class/"
2500 "data-default-class-" version ".tar.gz"))
2501 (sha256
2502 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2503 (build-system haskell-build-system)
2504 (home-page "https://hackage.haskell.org/package/data-default-class")
2505 (synopsis "Types with default values")
2506 (description
2507 "This package defines a class for types with default values.")
2508 (license license:bsd-3)))
2509
2510(define-public ghc-data-default-instances-base
2511 (package
2512 (name "ghc-data-default-instances-base")
2513 (version "0.1.0.1")
2514 (source
2515 (origin
2516 (method url-fetch)
2517 (uri (string-append
2518 "https://hackage.haskell.org/package/"
2519 "data-default-instances-base/"
2520 "data-default-instances-base-" version ".tar.gz"))
2521 (sha256
2522 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2523 (build-system haskell-build-system)
2524 (inputs
2525 `(("ghc-data-default-class" ,ghc-data-default-class)))
2526 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2527 (synopsis "Default instances for types in base")
2528 (description
2529 "This package provides default instances for types from the base
2530package.")
2531 (license license:bsd-3)))
2532
2533(define-public ghc-data-default-instances-containers
2534 (package
2535 (name "ghc-data-default-instances-containers")
2536 (version "0.0.1")
2537 (source
2538 (origin
2539 (method url-fetch)
2540 (uri (string-append
2541 "https://hackage.haskell.org/package/"
2542 "data-default-instances-containers/"
2543 "data-default-instances-containers-" version ".tar.gz"))
2544 (sha256
2545 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2546 (build-system haskell-build-system)
2547 (inputs
2548 `(("ghc-data-default-class" ,ghc-data-default-class)))
2549 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2550 (synopsis "Default instances for types in containers")
2551 (description "Provides default instances for types from the containers
2552package.")
2553 (license license:bsd-3)))
2554
2555(define-public ghc-data-default-instances-dlist
2556 (package
2557 (name "ghc-data-default-instances-dlist")
2558 (version "0.0.1")
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/"
2564 "data-default-instances-dlist/"
2565 "data-default-instances-dlist-" version ".tar.gz"))
2566 (sha256
2567 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-data-default-class" ,ghc-data-default-class)
2571 ("ghc-dlist" ,ghc-dlist)))
2572 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2573 (synopsis "Default instances for types in dlist")
2574 (description "Provides default instances for types from the dlist
2575package.")
2576 (license license:bsd-3)))
2577
2578(define-public ghc-data-default-instances-old-locale
2579 (package
2580 (name "ghc-data-default-instances-old-locale")
2581 (version "0.0.1")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append
2586 "https://hackage.haskell.org/package/"
2587 "data-default-instances-old-locale/"
2588 "data-default-instances-old-locale-" version ".tar.gz"))
2589 (sha256
2590 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-data-default-class" ,ghc-data-default-class)
2594 ("ghc-old-locale" ,ghc-old-locale)))
2595 (home-page
2596 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2597 (synopsis "Default instances for types in old-locale")
2598 (description "Provides Default instances for types from the old-locale
2599 package.")
2600 (license license:bsd-3)))
2601
2602(define-public ghc-data-hash
2603 (package
2604 (name "ghc-data-hash")
2605 (version "0.2.0.1")
2606 (source
2607 (origin
2608 (method url-fetch)
2609 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2610 "/data-hash-" version ".tar.gz"))
2611 (sha256
2612 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2613 (build-system haskell-build-system)
2614 (inputs
2615 `(("ghc-quickcheck" ,ghc-quickcheck)
2616 ("ghc-test-framework" ,ghc-test-framework)
2617 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2618 (home-page "https://hackage.haskell.org/package/data-hash")
2619 (synopsis "Combinators for building fast hashing functions")
2620 (description
2621 "This package provides combinators for building fast hashing functions.
2622It includes hashing functions for all basic Haskell98 types.")
2623 (license license:bsd-3)))
2624
2625(define-public ghc-data-ordlist
2626 (package
2627 (name "ghc-data-ordlist")
2628 (version "0.4.7.0")
2629 (source
2630 (origin
2631 (method url-fetch)
2632 (uri (string-append
2633 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2634 version ".tar.gz"))
2635 (sha256
2636 (base32
2637 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2638 (build-system haskell-build-system)
2639 (home-page "https://hackage.haskell.org/package/data-ordlist")
2640 (synopsis "Set and bag operations on ordered lists")
2641 (description
2642 "This module provides set and multiset operations on ordered lists.")
2643 (license license:bsd-3)))
2644
2645(define-public ghc-deepseq-generics
2646 (package
2647 (name "ghc-deepseq-generics")
2648 (version "0.2.0.0")
2649 (source (origin
2650 (method url-fetch)
2651 (uri (string-append "https://hackage.haskell.org/package/"
2652 "deepseq-generics/deepseq-generics-"
2653 version ".tar.gz"))
2654 (sha256
2655 (base32
2656 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2657 (build-system haskell-build-system)
2658 (arguments
2659 `(#:cabal-revision
490ceae4 2660 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2661 (native-inputs
2662 `(("ghc-hunit" ,ghc-hunit)
2663 ("ghc-test-framework" ,ghc-test-framework)
2664 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2665 (home-page "https://github.com/hvr/deepseq-generics")
2666 (synopsis "Generic RNF implementation")
2667 (description
2668 "This package provides a @code{GHC.Generics}-based
2669@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2670providing an @code{rnf} implementation.")
2671 (license license:bsd-3)))
2672
e924e17e
TS
2673(define-public ghc-dense-linear-algebra
2674 (package
2675 (name "ghc-dense-linear-algebra")
2676 (version "0.1.0.0")
2677 (source
2678 (origin
2679 (method url-fetch)
2680 (uri (string-append "https://hackage.haskell.org/package/"
2681 "dense-linear-algebra/dense-linear-algebra-"
2682 version ".tar.gz"))
2683 (sha256
2684 (base32
2685 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2686 (build-system haskell-build-system)
2687 (inputs
2688 `(("ghc-math-functions" ,ghc-math-functions)
2689 ("ghc-primitive" ,ghc-primitive)
2690 ("ghc-vector" ,ghc-vector)
2691 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2692 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2693 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2694 (native-inputs
2695 `(("ghc-hspec" ,ghc-hspec)
2696 ("ghc-quickcheck" ,ghc-quickcheck)))
2697 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2698 (synopsis "Simple and incomplete implementation of linear algebra")
2699 (description "This library is simply a collection of linear-algebra
2700related modules split from the statistics library.")
2701 (license license:bsd-2)))
2702
dddbc90c
RV
2703(define-public ghc-descriptive
2704 (package
2705 (name "ghc-descriptive")
2706 (version "0.9.5")
2707 (source
2708 (origin
2709 (method url-fetch)
2710 (uri (string-append
2711 "https://hackage.haskell.org/package/descriptive/descriptive-"
2712 version
2713 ".tar.gz"))
2714 (sha256
2715 (base32
2716 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2717 (build-system haskell-build-system)
2718 (inputs
2719 `(("ghc-aeson" ,ghc-aeson)
2720 ("ghc-bifunctors" ,ghc-bifunctors)
2721 ("ghc-scientific" ,ghc-scientific)
2722 ("ghc-vector" ,ghc-vector)))
2723 (native-inputs
2724 `(("ghc-hunit" ,ghc-hunit)
2725 ("ghc-hspec" ,ghc-hspec)))
2726 (home-page
2727 "https://github.com/chrisdone/descriptive")
2728 (synopsis
2729 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2730 (description
2731 "This package provides datatypes and functions for creating consumers
2732and parsers with useful semantics.")
2733 (license license:bsd-3)))
2734
2735(define-public ghc-diff
2736 (package
2737 (name "ghc-diff")
2738 (version "0.3.4")
2739 (source (origin
2740 (method url-fetch)
2741 (uri (string-append "https://hackage.haskell.org/package/"
2742 "Diff/Diff-" version ".tar.gz"))
a531ff94 2743 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2744 (sha256
2745 (base32
2746 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2747 (build-system haskell-build-system)
2748 (native-inputs
2749 `(("ghc-quickcheck" ,ghc-quickcheck)
2750 ("ghc-test-framework" ,ghc-test-framework)
2751 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2752 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2753 (synopsis "O(ND) diff algorithm in Haskell")
2754 (description
2755 "This package provides an implementation of the standard diff algorithm,
2756and utilities for pretty printing.")
2757 (license license:bsd-3)))
2758
2759(define-public ghc-disk-free-space
2760 (package
2761 (name "ghc-disk-free-space")
2762 (version "0.1.0.1")
2763 (source
2764 (origin
2765 (method url-fetch)
2766 (uri (string-append "https://hackage.haskell.org/package/"
2767 "disk-free-space/disk-free-space-"
2768 version ".tar.gz"))
2769 (sha256
2770 (base32
2771 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2772 (build-system haskell-build-system)
2773 (home-page "https://github.com/redneb/disk-free-space")
2774 (synopsis "Retrieve information about disk space usage")
2775 (description "A cross-platform library for retrieving information about
2776disk space usage.")
2777 (license license:bsd-3)))
2778
2779(define-public ghc-distributive
2780 (package
2781 (name "ghc-distributive")
e4c92f28 2782 (version "0.6.1")
dddbc90c
RV
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append
2787 "https://hackage.haskell.org/package/distributive/distributive-"
2788 version
2789 ".tar.gz"))
2790 (sha256
2791 (base32
e4c92f28 2792 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2793 (build-system haskell-build-system)
dddbc90c
RV
2794 (inputs
2795 `(("ghc-tagged" ,ghc-tagged)
2796 ("ghc-base-orphans" ,ghc-base-orphans)
2797 ("ghc-transformers-compat" ,ghc-transformers-compat)
2798 ("ghc-semigroups" ,ghc-semigroups)
2799 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2800 (native-inputs
2801 `(("cabal-doctest" ,cabal-doctest)
2802 ("ghc-doctest" ,ghc-doctest)
2803 ("ghc-hspec" ,ghc-hspec)
2804 ("hspec-discover" ,hspec-discover)))
2805 (home-page "https://github.com/ekmett/distributive/")
2806 (synopsis "Distributive functors for Haskell")
2807 (description "This package provides distributive functors for Haskell.
2808Dual to @code{Traversable}.")
2809 (license license:bsd-3)))
2810
2811(define-public ghc-dlist
2812 (package
2813 (name "ghc-dlist")
197ddf33 2814 (version "0.8.0.7")
dddbc90c
RV
2815 (source
2816 (origin
2817 (method url-fetch)
2818 (uri (string-append
2819 "https://hackage.haskell.org/package/dlist/dlist-"
2820 version
2821 ".tar.gz"))
2822 (sha256
197ddf33 2823 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2824 (build-system haskell-build-system)
2825 (inputs
2826 `(("ghc-quickcheck" ,ghc-quickcheck)))
2827 (home-page "https://github.com/spl/dlist")
2828 (synopsis "Difference lists")
2829 (description
2830 "Difference lists are a list-like type supporting O(1) append. This is
2831particularly useful for efficient logging and pretty printing (e.g. with the
2832Writer monad), where list append quickly becomes too expensive.")
2833 (license license:bsd-3)))
2834
2835(define-public ghc-doctemplates
2836 (package
2837 (name "ghc-doctemplates")
2838 (version "0.2.2.1")
2839 (source
2840 (origin
2841 (method url-fetch)
2842 (uri (string-append "https://hackage.haskell.org/package/"
2843 "doctemplates/doctemplates-"
2844 version ".tar.gz"))
2845 (sha256
2846 (base32
2847 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2848 (build-system haskell-build-system)
2849 (inputs
2850 `(("ghc-aeson" ,ghc-aeson)
2851 ("ghc-blaze-markup" ,ghc-blaze-markup)
2852 ("ghc-blaze-html" ,ghc-blaze-html)
2853 ("ghc-vector" ,ghc-vector)
2854 ("ghc-unordered-containers" ,ghc-unordered-containers)
2855 ("ghc-scientific" ,ghc-scientific)))
2856 (native-inputs
2857 `(("ghc-hspec" ,ghc-hspec)))
2858 (home-page "https://github.com/jgm/doctemplates#readme")
2859 (synopsis "Pandoc-style document templates")
2860 (description
2861 "This package provides a simple text templating system used by pandoc.")
2862 (license license:bsd-3)))
2863
2864(define-public ghc-doctest
2865 (package
2866 (name "ghc-doctest")
19c14a0f 2867 (version "0.16.2")
dddbc90c
RV
2868 (source
2869 (origin
2870 (method url-fetch)
2871 (uri (string-append
2872 "https://hackage.haskell.org/package/doctest/doctest-"
2873 version
2874 ".tar.gz"))
2875 (sha256
2876 (base32
19c14a0f 2877 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2878 (build-system haskell-build-system)
2879 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2880 (inputs
2881 `(("ghc-syb" ,ghc-syb)
2882 ("ghc-paths" ,ghc-paths)
2883 ("ghc-base-compat" ,ghc-base-compat)
2884 ("ghc-code-page" ,ghc-code-page)
2885 ("ghc-hunit" ,ghc-hunit)
2886 ("ghc-hspec" ,ghc-hspec)
2887 ("ghc-quickcheck" ,ghc-quickcheck)
2888 ("ghc-stringbuilder" ,ghc-stringbuilder)
2889 ("ghc-silently" ,ghc-silently)
2890 ("ghc-setenv" ,ghc-setenv)))
2891 (home-page
2892 "https://github.com/sol/doctest#readme")
2893 (synopsis "Test interactive Haskell examples")
2894 (description "The doctest program checks examples in source code comments.
2895It is modeled after doctest for Python, see
2896@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2897 (license license:expat)))
2898
2899(define-public ghc-double-conversion
2900 (package
2901 (name "ghc-double-conversion")
2902 (version "2.0.2.0")
2903 (source
2904 (origin
2905 (method url-fetch)
2906 (uri (string-append "https://hackage.haskell.org/package/"
2907 "double-conversion/double-conversion-"
2908 version ".tar.gz"))
2909 (sha256
2910 (base32
2911 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2912 (build-system haskell-build-system)
2913 (native-inputs
2914 `(("ghc-hunit" ,ghc-hunit)
2915 ("ghc-test-framework" ,ghc-test-framework)
2916 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2917 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2918 (home-page "https://github.com/bos/double-conversion")
2919 (synopsis "Fast conversion between double precision floating point and text")
2920 (description
2921 "This package provides a library that performs fast, accurate conversion
2922between double precision floating point and text.")
2923 (license license:bsd-3)))
2924
2925(define-public ghc-easy-file
2926 (package
2927 (name "ghc-easy-file")
2928 (version "0.2.2")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append
2933 "https://hackage.haskell.org/package/easy-file/easy-file-"
2934 version
2935 ".tar.gz"))
2936 (sha256
2937 (base32
2938 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2939 (build-system haskell-build-system)
2940 (home-page
2941 "https://github.com/kazu-yamamoto/easy-file")
2942 (synopsis "File handling library for Haskell")
2943 (description "This library provides file handling utilities for Haskell.")
2944 (license license:bsd-3)))
2945
2946(define-public ghc-easyplot
2947 (package
2948 (name "ghc-easyplot")
2949 (version "1.0")
2950 (source
2951 (origin
2952 (method url-fetch)
2953 (uri (string-append
2954 "https://hackage.haskell.org/package/easyplot/easyplot-"
2955 version ".tar.gz"))
2956 (sha256
2957 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2958 (build-system haskell-build-system)
2959 (propagated-inputs `(("gnuplot" ,gnuplot)))
2960 (arguments
2961 `(#:phases (modify-phases %standard-phases
2962 (add-after 'unpack 'fix-setup-suffix
2963 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2964 (home-page "https://hub.darcs.net/scravy/easyplot")
2965 (synopsis "Haskell plotting library based on gnuplot")
2966 (description "This package provides a plotting library for
2967Haskell, using gnuplot for rendering.")
2968 (license license:expat)))
2969
2970(define-public ghc-echo
2971 (package
2972 (name "ghc-echo")
2973 (version "0.1.3")
2974 (source
2975 (origin
2976 (method url-fetch)
2977 (uri (string-append
2978 "https://hackage.haskell.org/package/echo/echo-"
2979 version ".tar.gz"))
2980 (sha256
2981 (base32
2982 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2983 (build-system haskell-build-system)
2984 (arguments
2985 `(#:cabal-revision
2986 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2987 (home-page "https://github.com/RyanGlScott/echo")
2988 (synopsis "Echo terminal input portably")
2989 (description "The @code{base} library exposes the @code{hGetEcho} and
2990@code{hSetEcho} functions for querying and setting echo status, but
2991unfortunately, neither function works with MinTTY consoles on Windows.
2992This library provides an alternative interface which works with both
2993MinTTY and other consoles.")
2994 (license license:bsd-3)))
2995
2996(define-public ghc-edisonapi
2997 (package
2998 (name "ghc-edisonapi")
2999 (version "1.3.1")
3000 (source
3001 (origin
3002 (method url-fetch)
3003 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3004 "/EdisonAPI-" version ".tar.gz"))
3005 (sha256
3006 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3007 (build-system haskell-build-system)
3008 (home-page "http://rwd.rdockins.name/edison/home/")
3009 (synopsis "Library of efficient, purely-functional data structures (API)")
3010 (description
3011 "Edison is a library of purely functional data structures written by
3012Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3013value EDiSon (Efficient Data Structures). Edison provides several families of
3014abstractions, each with multiple implementations. The main abstractions
3015provided by Edison are: Sequences such as stacks, queues, and dequeues;
3016Collections such as sets, bags and heaps; and Associative Collections such as
3017finite maps and priority queues where the priority and element are distinct.")
3018 (license license:expat)))
3019
3020(define-public ghc-edisoncore
3021 (package
3022 (name "ghc-edisoncore")
3023 (version "1.3.2.1")
3024 (source
3025 (origin
3026 (method url-fetch)
3027 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3028 "/EdisonCore-" version ".tar.gz"))
3029 (sha256
3030 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3031 (build-system haskell-build-system)
3032 (inputs
3033 `(("ghc-quickcheck" ,ghc-quickcheck)
3034 ("ghc-edisonapi" ,ghc-edisonapi)))
3035 (home-page "http://rwd.rdockins.name/edison/home/")
3036 (synopsis "Library of efficient, purely-functional data structures")
3037 (description
3038 "This package provides the core Edison data structure implementations,
3039including multiple sequence, set, bag, and finite map concrete implementations
3040with various performance characteristics.")
3041 (license license:expat)))
3042
3043(define-public ghc-edit-distance
3044 (package
3045 (name "ghc-edit-distance")
3046 (version "0.2.2.1")
3047 (source
3048 (origin
3049 (method url-fetch)
3050 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3051 "/edit-distance-" version ".tar.gz"))
3052 (sha256
3053 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3054 (build-system haskell-build-system)
3055 (arguments
3056 `(#:phases
3057 (modify-phases %standard-phases
3058 (add-before 'configure 'update-constraints
3059 (lambda _
3060 (substitute* "edit-distance.cabal"
3061 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3062 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3063 (inputs
3064 `(("ghc-random" ,ghc-random)
3065 ("ghc-test-framework" ,ghc-test-framework)
3066 ("ghc-quickcheck" ,ghc-quickcheck)
3067 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3068 (home-page "https://github.com/phadej/edit-distance")
3069 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3070 (description
3071 "This package provides optimized functions to determine the edit
3072distances for fuzzy matching, including Levenshtein and restricted
3073Damerau-Levenshtein algorithms.")
3074 (license license:bsd-3)))
3075
3ebae41f
TS
3076(define-public ghc-edit-distance-vector
3077 (package
3078 (name "ghc-edit-distance-vector")
3079 (version "1.0.0.4")
3080 (source
3081 (origin
3082 (method url-fetch)
3083 (uri (string-append "https://hackage.haskell.org/package/"
3084 "edit-distance-vector/edit-distance-vector-"
3085 version ".tar.gz"))
3086 (sha256
3087 (base32
3088 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3089 (build-system haskell-build-system)
3090 (inputs
3091 `(("ghc-vector" ,ghc-vector)))
3092 (native-inputs
3093 `(("ghc-quickcheck" ,ghc-quickcheck)
3094 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3095 (home-page "https://github.com/thsutton/edit-distance-vector")
3096 (synopsis "Calculate edit distances and edit scripts between vectors")
3097 (description "This package provides implementation of the
3098Wagner-Fischer dynamic programming algorithm to find the optimal edit
3099script and cost between two sequences. The implementation in this
3100package is specialised to sequences represented with @code{Data.Vector}
3101but is otherwise agnostic to:
3102@itemize
3103@item The type of values in the vectors;
3104@item The type representing edit operations; and
3105@item The type representing the cost of operations.
3106@end itemize")
3107 (license license:bsd-3)) )
3108
dddbc90c
RV
3109(define-public ghc-either
3110 (package
3111 (name "ghc-either")
a3fd4dc7 3112 (version "5.0.1.1")
dddbc90c
RV
3113 (source
3114 (origin
3115 (method url-fetch)
3116 (uri (string-append "https://hackage.haskell.org/package/"
3117 "either-" version "/"
3118 "either-" version ".tar.gz"))
3119 (sha256
3120 (base32
a3fd4dc7 3121 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3122 (build-system haskell-build-system)
3123 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3124 ("ghc-exceptions" ,ghc-exceptions)
3125 ("ghc-free" ,ghc-free)
3126 ("ghc-monad-control" ,ghc-monad-control)
3127 ("ghc-manodrandom" ,ghc-monadrandom)
3128 ("ghc-mmorph" ,ghc-mmorph)
3129 ("ghc-profunctors" ,ghc-profunctors)
3130 ("ghc-semigroups" ,ghc-semigroups)
3131 ("ghc-semigroupoids" ,ghc-semigroupoids)
3132 ("ghc-transformers-base" ,ghc-transformers-base)))
3133 (native-inputs
3134 `(("ghc-quickcheck" ,ghc-quickcheck)
3135 ("ghc-test-framework" ,ghc-test-framework)
3136 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3137 (home-page "https://github.com/ekmett/either")
3138 (synopsis "Provides an either monad transformer for Haskell")
3139 (description "This Haskell package provides an either monad transformer.")
3140 (license license:bsd-3)))
3141
3142(define-public ghc-email-validate
3143 (package
3144 (name "ghc-email-validate")
a4fe1c64 3145 (version "2.3.2.12")
dddbc90c
RV
3146 (source
3147 (origin
3148 (method url-fetch)
3149 (uri (string-append
3150 "https://hackage.haskell.org/package/"
3151 "email-validate/email-validate-"
3152 version
3153 ".tar.gz"))
3154 (sha256
3155 (base32
a4fe1c64 3156 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3157 (build-system haskell-build-system)
3158 (inputs
3159 `(("ghc-attoparsec" ,ghc-attoparsec)
3160 ("ghc-hspec" ,ghc-hspec)
3161 ("ghc-quickcheck" ,ghc-quickcheck)
3162 ("ghc-doctest" ,ghc-doctest)))
3163 (home-page
3164 "https://github.com/Porges/email-validate-hs")
3165 (synopsis "Email address validator for Haskell")
3166 (description
3167 "This Haskell package provides a validator that can validate an email
3168address string against RFC 5322.")
3169 (license license:bsd-3)))
3170
3171(define-public ghc-enclosed-exceptions
3172 (package
3173 (name "ghc-enclosed-exceptions")
3174 (version "1.0.3")
3175 (source (origin
3176 (method url-fetch)
3177 (uri (string-append "https://hackage.haskell.org/package/"
3178 "enclosed-exceptions/enclosed-exceptions-"
3179 version ".tar.gz"))
3180 (sha256
3181 (base32
3182 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3183 (build-system haskell-build-system)
3184 ;; FIXME: one of the tests blocks forever:
3185 ;; "thread blocked indefinitely in an MVar operation"
3186 (arguments '(#:tests? #f))
3187 (inputs
3188 `(("ghc-lifted-base" ,ghc-lifted-base)
3189 ("ghc-monad-control" ,ghc-monad-control)
3190 ("ghc-async" ,ghc-async)
3191 ("ghc-transformers-base" ,ghc-transformers-base)))
3192 (native-inputs
3193 `(("ghc-hspec" ,ghc-hspec)
3194 ("ghc-quickcheck" ,ghc-quickcheck)))
3195 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3196 (synopsis "Catch all exceptions from within an enclosed computation")
3197 (description
3198 "This library implements a technique to catch all exceptions raised
3199within an enclosed computation, while remaining responsive to (external)
3200asynchronous exceptions.")
3201 (license license:expat)))
3202
3203(define-public ghc-equivalence
3204 (package
3205 (name "ghc-equivalence")
3206 (version "0.3.2")
3207 (source
3208 (origin
3209 (method url-fetch)
3210 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3211 "/equivalence-" version ".tar.gz"))
3212 (sha256
3213 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3214 (build-system haskell-build-system)
3215 (inputs
3216 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3217 ("ghc-transformers-compat" ,ghc-transformers-compat)
3218 ("ghc-quickcheck" ,ghc-quickcheck)
3219 ("ghc-test-framework" ,ghc-test-framework)
3220 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3221 (home-page "https://github.com/pa-ba/equivalence")
3222 (synopsis "Maintaining an equivalence relation implemented as union-find")
3223 (description
3224 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3225Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
322622(2), 1975) in order to maintain an equivalence relation. This
3227implementation is a port of the @code{union-find} package using the @code{ST}
3228monad transformer (instead of the IO monad).")
3229 (license license:bsd-3)))
3230
3231(define-public ghc-erf
3232 (package
3233 (name "ghc-erf")
3234 (version "2.0.0.0")
3235 (source
3236 (origin
3237 (method url-fetch)
3238 (uri (string-append "https://hackage.haskell.org/package/"
3239 "erf-" version "/"
3240 "erf-" version ".tar.gz"))
3241 (sha256
3242 (base32
3243 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3244 (build-system haskell-build-system)
3245 (home-page "https://hackage.haskell.org/package/erf")
3246 (synopsis "The error function, erf, and related functions for Haskell")
3247 (description "This Haskell library provides a type class for the
3248error function, erf, and related functions. Instances for Float and
3249Double.")
3250 (license license:bsd-3)))
3251
3252(define-public ghc-errorcall-eq-instance
3253 (package
3254 (name "ghc-errorcall-eq-instance")
3255 (version "0.3.0")
3256 (source
3257 (origin
3258 (method url-fetch)
3259 (uri (string-append "https://hackage.haskell.org/package/"
3260 "errorcall-eq-instance/errorcall-eq-instance-"
3261 version ".tar.gz"))
3262 (sha256
3263 (base32
3264 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3265 (build-system haskell-build-system)
3266 (inputs
3267 `(("ghc-base-orphans" ,ghc-base-orphans)))
3268 (native-inputs
3269 `(("ghc-quickcheck" ,ghc-quickcheck)
3270 ("ghc-hspec" ,ghc-hspec)
3271 ("hspec-discover" ,hspec-discover)))
3272 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3273 (synopsis "Orphan Eq instance for ErrorCall")
3274 (description
3275 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3276This package provides an orphan instance.")
3277 (license license:expat)))
3278
3279(define-public ghc-errors
3280 (package
3281 (name "ghc-errors")
3282 (version "2.3.0")
3283 (source
3284 (origin
3285 (method url-fetch)
3286 (uri (string-append "https://hackage.haskell.org/package/"
3287 "errors-" version "/"
3288 "errors-" version ".tar.gz"))
3289 (sha256
3290 (base32
3291 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3292 (build-system haskell-build-system)
3293 (inputs
3294 `(("ghc-exceptions" ,ghc-exceptions)
3295 ("ghc-transformers-compat" ,ghc-transformers-compat)
3296 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3297 ("ghc-safe" ,ghc-safe)))
3298 (home-page "https://github.com/gabriel439/haskell-errors-library")
3299 (synopsis "Error handling library for Haskell")
3300 (description "This library encourages an error-handling style that
3301directly uses the type system, rather than out-of-band exceptions.")
3302 (license license:bsd-3)))
3303
3304(define-public ghc-esqueleto
2648b604
TS
3305 (package
3306 (name "ghc-esqueleto")
3307 (version "3.0.0")
3308 (source
3309 (origin
3310 (method url-fetch)
3311 (uri (string-append "https://hackage.haskell.org/package/"
3312 "esqueleto/esqueleto-" version ".tar.gz"))
3313 (sha256
3314 (base32
3315 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3316 (build-system haskell-build-system)
3317 (arguments
3318 `(#:haddock? #f ; Haddock reports an internal error.
3319 #:phases
3320 (modify-phases %standard-phases
3321 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3322 ;; SQLite backends. Since we only have Haskell packages for
3323 ;; SQLite, we remove the other two test suites. FIXME: Add the
3324 ;; other backends and run all three test suites.
3325 (add-before 'configure 'remove-non-sqlite-test-suites
3326 (lambda _
3327 (use-modules (ice-9 rdelim))
3328 (with-atomic-file-replacement "esqueleto.cabal"
3329 (lambda (in out)
3330 (let loop ((line (read-line in 'concat)) (deleting? #f))
3331 (cond
3332 ((eof-object? line) #t)
3333 ((string-every char-set:whitespace line)
3334 (unless deleting? (display line out))
3335 (loop (read-line in 'concat) #f))
3336 ((member line '("test-suite mysql\n"
3337 "test-suite postgresql\n"))
3338 (loop (read-line in 'concat) #t))
3339 (else
3340 (unless deleting? (display line out))
3341 (loop (read-line in 'concat) deleting?)))))))))))
3342 (inputs
3343 `(("ghc-blaze-html" ,ghc-blaze-html)
3344 ("ghc-conduit" ,ghc-conduit)
3345 ("ghc-monad-logger" ,ghc-monad-logger)
3346 ("ghc-persistent" ,ghc-persistent)
3347 ("ghc-resourcet" ,ghc-resourcet)
3348 ("ghc-tagged" ,ghc-tagged)
3349 ("ghc-unliftio" ,ghc-unliftio)
3350 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3351 (native-inputs
3352 `(("ghc-hspec" ,ghc-hspec)
3353 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3354 ("ghc-persistent-template" ,ghc-persistent-template)))
3355 (home-page "https://github.com/bitemyapp/esqueleto")
3356 (synopsis "Type-safe embedded domain specific language for SQL queries")
3357 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3358language (EDSL) for SQL queries that works with SQL backends as provided by
3359@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3360to learn new concepts, just new syntax, and it's fairly easy to predict the
3361generated SQL and optimize it for your backend.")
2648b604 3362 (license license:bsd-3)))
dddbc90c
RV
3363
3364(define-public ghc-exactprint
3365 (package
3366 (name "ghc-exactprint")
50614014 3367 (version "0.6.1")
dddbc90c
RV
3368 (source
3369 (origin
3370 (method url-fetch)
3371 (uri (string-append
3372 "https://hackage.haskell.org/package/"
3373 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3374 (sha256
3375 (base32
50614014 3376 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3377 (build-system haskell-build-system)
3378 (inputs
3379 `(("ghc-paths" ,ghc-paths)
3380 ("ghc-syb" ,ghc-syb)
3381 ("ghc-free" ,ghc-free)))
3382 (native-inputs
3383 `(("ghc-hunit" ,ghc-hunit)
3384 ("ghc-diff" ,ghc-diff)
3385 ("ghc-silently" ,ghc-silently)
3386 ("ghc-filemanip" ,ghc-filemanip)))
3387 (home-page
3388 "http://hackage.haskell.org/package/ghc-exactprint")
3389 (synopsis "ExactPrint for GHC")
3390 (description
3391 "Using the API Annotations available from GHC 7.10.2, this library
3392provides a means to round-trip any code that can be compiled by GHC, currently
3393excluding @file{.lhs} files.")
3394 (license license:bsd-3)))
3395
3396(define-public ghc-exceptions
3397 (package
3398 (name "ghc-exceptions")
46d3e65b 3399 (version "0.10.3")
dddbc90c
RV
3400 (source
3401 (origin
3402 (method url-fetch)
3403 (uri (string-append
3404 "https://hackage.haskell.org/package/exceptions/exceptions-"
3405 version
3406 ".tar.gz"))
3407 (sha256
3408 (base32
46d3e65b 3409 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3410 (build-system haskell-build-system)
3411 (native-inputs
3412 `(("ghc-quickcheck" ,ghc-quickcheck)
3413 ("ghc-test-framework" ,ghc-test-framework)
3414 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3415 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3416 (inputs
3417 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3418 (home-page "https://github.com/ekmett/exceptions/")
3419 (synopsis "Extensible optionally-pure exceptions")
3420 (description "This library provides extensible optionally-pure exceptions
3421for Haskell.")
3422 (license license:bsd-3)))
3423
3424(define-public ghc-executable-path
3425 (package
3426 (name "ghc-executable-path")
3427 (version "0.0.3.1")
3428 (source (origin
3429 (method url-fetch)
3430 (uri (string-append "https://hackage.haskell.org/package/"
3431 "executable-path/executable-path-"
3432 version ".tar.gz"))
3433 (sha256
3434 (base32
3435 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3436 (build-system haskell-build-system)
3437 (home-page "https://hackage.haskell.org/package/executable-path")
3438 (synopsis "Find out the full path of the executable")
3439 (description
3440 "The documentation of @code{System.Environment.getProgName} says that
3441\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3442instead, for maximum portability, we just return the leafname of the program
3443as invoked.\" This library tries to provide the missing path.")
3444 (license license:public-domain)))
3445
3446(define-public ghc-extensible-exceptions
3447 (package
3448 (name "ghc-extensible-exceptions")
3449 (version "0.1.1.4")
3450 (source
3451 (origin
3452 (method url-fetch)
3453 (uri (string-append "https://hackage.haskell.org/package/"
3454 "extensible-exceptions/extensible-exceptions-"
3455 version ".tar.gz"))
3456 (sha256
3457 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3458 (build-system haskell-build-system)
3459 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3460 (synopsis "Extensible exceptions for Haskell")
3461 (description
3462 "This package provides extensible exceptions for both new and old
3463versions of GHC (i.e., < 6.10).")
3464 (license license:bsd-3)))
3465
3466(define-public ghc-extra
3467 (package
3468 (name "ghc-extra")
10650c44 3469 (version "1.6.18")
dddbc90c
RV
3470 (source
3471 (origin
3472 (method url-fetch)
3473 (uri (string-append
3474 "https://hackage.haskell.org/package/extra/extra-"
3475 version
3476 ".tar.gz"))
3477 (sha256
3478 (base32
10650c44 3479 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3480 (build-system haskell-build-system)
3481 (inputs
3482 `(("ghc-clock" ,ghc-clock)
10650c44 3483 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3484 ("ghc-quickcheck" ,ghc-quickcheck)))
3485 (home-page "https://github.com/ndmitchell/extra")
3486 (synopsis "Extra Haskell functions")
3487 (description "This library provides extra functions for the standard
3488Haskell libraries. Most functions are simple additions, filling out missing
3489functionality. A few functions are available in later versions of GHC, but
3490this package makes them available back to GHC 7.2.")
3491 (license license:bsd-3)))
3492
3493(define-public ghc-fail
3494 (package
3495 (name "ghc-fail")
3496 (version "4.9.0.0")
3497 (source
3498 (origin
3499 (method url-fetch)
3500 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3501 version ".tar.gz"))
3502 (sha256
3503 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3504 (build-system haskell-build-system)
3505 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3506 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3507 (synopsis "Forward-compatible MonadFail class")
3508 (description
3509 "This package contains the @code{Control.Monad.Fail} module providing the
3510@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3511class that became available in
3512@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3513older @code{base} package versions. This package turns into an empty package
3514when used with GHC versions which already provide the
3515@code{Control.Monad.Fail} module.")
3516 (license license:bsd-3)))
3517
3518(define-public ghc-fast-logger
3519 (package
3520 (name "ghc-fast-logger")
d443a52a 3521 (version "2.4.17")
dddbc90c
RV
3522 (source
3523 (origin
3524 (method url-fetch)
3525 (uri (string-append
3526 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3527 version
3528 ".tar.gz"))
3529 (sha256
3530 (base32
d443a52a 3531 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3532 (build-system haskell-build-system)
3533 (inputs
3534 `(("ghc-auto-update" ,ghc-auto-update)
3535 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3536 ("ghc-unix-time" ,ghc-unix-time)
3537 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3538 (native-inputs
3539 `(("hspec-discover" ,hspec-discover)
3540 ("ghc-hspec" ,ghc-hspec)))
3541 (home-page "https://hackage.haskell.org/package/fast-logger")
3542 (synopsis "Fast logging system")
3543 (description "This library provides a fast logging system for Haskell.")
3544 (license license:bsd-3)))
3545
3546(define-public ghc-feed
3547 (package
3548 (name "ghc-feed")
a41c16dc 3549 (version "1.2.0.1")
dddbc90c
RV
3550 (source
3551 (origin
3552 (method url-fetch)
3553 (uri (string-append "https://hackage.haskell.org/package/"
3554 "feed/feed-" version ".tar.gz"))
3555 (sha256
3556 (base32
a41c16dc 3557 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3558 (build-system haskell-build-system)
dddbc90c
RV
3559 (inputs
3560 `(("ghc-base-compat" ,ghc-base-compat)
3561 ("ghc-old-locale" ,ghc-old-locale)
3562 ("ghc-old-time" ,ghc-old-time)
3563 ("ghc-safe" ,ghc-safe)
3564 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3565 ("ghc-utf8-string" ,ghc-utf8-string)
3566 ("ghc-xml-conduit" ,ghc-xml-conduit)
3567 ("ghc-xml-types" ,ghc-xml-types)))
3568 (native-inputs
3569 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3570 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3571 ("ghc-test-framework" ,ghc-test-framework)
3572 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3573 (home-page "https://github.com/bergmark/feed")
3574 (synopsis "Haskell package for handling various syndication formats")
3575 (description "This Haskell package includes tools for generating and
3576consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3577 (license license:bsd-3)))
3578
3579(define-public ghc-fgl
3580 (package
3581 (name "ghc-fgl")
17482b26 3582 (version "5.7.0.1")
dddbc90c
RV
3583 (outputs '("out" "doc"))
3584 (source
3585 (origin
3586 (method url-fetch)
3587 (uri (string-append
3588 "https://hackage.haskell.org/package/fgl/fgl-"
3589 version
3590 ".tar.gz"))
3591 (sha256
3592 (base32
17482b26 3593 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3594 (build-system haskell-build-system)
3595 (arguments
3596 `(#:phases
3597 (modify-phases %standard-phases
3598 (add-before 'configure 'update-constraints
3599 (lambda _
3600 (substitute* "fgl.cabal"
17482b26
TS
3601 (("QuickCheck >= 2\\.8 && < 2\\.13")
3602 "QuickCheck >= 2.8 && < 2.14")
3603 (("hspec >= 2\\.1 && < 2\\.7")
3604 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3605 (inputs
3606 `(("ghc-hspec" ,ghc-hspec)
3607 ("ghc-quickcheck" ,ghc-quickcheck)))
3608 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3609 (synopsis
3610 "Martin Erwig's Functional Graph Library")
3611 (description "The functional graph library, FGL, is a collection of type
3612and function definitions to address graph problems. The basis of the library
3613is an inductive definition of graphs in the style of algebraic data types that
3614encourages inductive, recursive definitions of graph algorithms.")
3615 (license license:bsd-3)))
3616
3617(define-public ghc-fgl-arbitrary
3618 (package
3619 (name "ghc-fgl-arbitrary")
3620 (version "0.2.0.3")
3621 (source
3622 (origin
3623 (method url-fetch)
3624 (uri (string-append
3625 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3626 version ".tar.gz"))
3627 (sha256
3628 (base32
3629 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3630 (build-system haskell-build-system)
3631 (arguments
3632 `(#:phases
3633 (modify-phases %standard-phases
3634 (add-before 'configure 'update-constraints
3635 (lambda _
3636 (substitute* "fgl-arbitrary.cabal"
3637 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3638 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3639 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3640 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3641 (inputs
3642 `(("ghc-fgl" ,ghc-fgl)
3643 ("ghc-quickcheck" ,ghc-quickcheck)
3644 ("ghc-hspec" ,ghc-hspec)))
3645 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3646 (synopsis "QuickCheck support for fgl")
3647 (description
3648 "Provides Arbitrary instances for fgl graphs to avoid adding a
3649QuickCheck dependency for fgl whilst still making the instances
3650available to others. Also available are non-fgl-specific functions
3651for generating graph-like data structures.")
3652 (license license:bsd-3)))
3653
3654(define-public ghc-file-embed
3655 (package
3656 (name "ghc-file-embed")
b5920d50 3657 (version "0.0.11")
dddbc90c
RV
3658 (source
3659 (origin
3660 (method url-fetch)
3661 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3662 "file-embed-" version ".tar.gz"))
3663 (sha256
3664 (base32
b5920d50 3665 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3666 (build-system haskell-build-system)
3667 (home-page "https://github.com/snoyberg/file-embed")
3668 (synopsis "Use Template Haskell to embed file contents directly")
3669 (description
3670 "This package allows you to use Template Haskell to read a file or all
3671the files in a directory, and turn them into @code{(path, bytestring)} pairs
3672embedded in your Haskell code.")
3673 (license license:bsd-3)))
3674
3675(define-public ghc-filemanip
3676 (package
3677 (name "ghc-filemanip")
3678 (version "0.3.6.3")
3679 (source (origin
3680 (method url-fetch)
3681 (uri (string-append "https://hackage.haskell.org/package/"
3682 "filemanip/filemanip-" version ".tar.gz"))
3683 (sha256
3684 (base32
3685 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3686 (build-system haskell-build-system)
3687 (inputs
3688 `(("ghc-unix-compat" ,ghc-unix-compat)))
3689 (home-page "https://github.com/bos/filemanip")
3690 (synopsis "File and directory manipulation for Haskell")
3691 (description
3692 "This package provides a Haskell library for working with files and
3693directories. It includes code for pattern matching, finding files, modifying
3694file contents, and more.")
3695 (license license:bsd-3)))
3696
3697(define-public ghc-findbin
3698 (package
3699 (name "ghc-findbin")
3700 (version "0.0.5")
3701 (source
3702 (origin
3703 (method url-fetch)
3704 (uri (string-append
3705 "https://hackage.haskell.org/package/FindBin/FindBin-"
3706 version ".tar.gz"))
3707 (sha256
3708 (base32
3709 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3710 (build-system haskell-build-system)
3711 (home-page "https://github.com/audreyt/findbin")
3712 (synopsis "Get the absolute path of the running program")
3713 (description
3714 "This module locates the full directory of the running program, to allow
3715the use of paths relative to it. FindBin supports invocation of Haskell
3716programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3717an executable.")
3718 (license license:bsd-3)))
3719
3720(define-public ghc-fingertree
3721 (package
3722 (name "ghc-fingertree")
aac14fdc 3723 (version "0.1.4.2")
dddbc90c
RV
3724 (source
3725 (origin
3726 (method url-fetch)
3727 (uri (string-append
3728 "https://hackage.haskell.org/package/fingertree/fingertree-"
3729 version ".tar.gz"))
3730 (sha256
3731 (base32
aac14fdc 3732 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3733 (build-system haskell-build-system)
3734 (native-inputs
3735 `(("ghc-hunit" ,ghc-hunit)
3736 ("ghc-quickcheck" ,ghc-quickcheck)
3737 ("ghc-test-framework" ,ghc-test-framework)
3738 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3739 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3740 (home-page "https://hackage.haskell.org/package/fingertree")
3741 (synopsis "Generic finger-tree structure")
3742 (description "This library provides finger trees, a general sequence
3743representation with arbitrary annotations, for use as a base for
3744implementations of various collection types. It includes examples, as
3745described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3746simple general-purpose data structure\".")
3747 (license license:bsd-3)))
3748
3749(define-public ghc-fixed
3750 (package
3751 (name "ghc-fixed")
099dda5b 3752 (version "0.3")
dddbc90c
RV
3753 (source
3754 (origin
3755 (method url-fetch)
3756 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3757 version ".tar.gz"))
3758 (sha256
3759 (base32
099dda5b 3760 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3761 (build-system haskell-build-system)
3762 (home-page "https://github.com/ekmett/fixed")
3763 (synopsis "Signed 15.16 precision fixed point arithmetic")
3764 (description
3765 "This package provides functions for signed 15.16 precision fixed point
3766arithmetic.")
3767 (license license:bsd-3)))
3768
f169f713
JS
3769(define-public ghc-fmlist
3770 (package
3771 (name "ghc-fmlist")
fe9b83a6 3772 (version "0.9.3")
f169f713
JS
3773 (source
3774 (origin
3775 (method url-fetch)
3776 (uri
3777 (string-append
3778 "https://hackage.haskell.org/package/fmlist/fmlist-"
3779 version ".tar.gz"))
3780 (sha256
3781 (base32
fe9b83a6 3782 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3783 (build-system haskell-build-system)
3784 (home-page "https://github.com/sjoerdvisscher/fmlist")
3785 (synopsis "FoldMap lists")
3786 (description "FoldMap lists are lists represented by their
3787@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3788append, just like DLists, but other operations might have favorable
3789performance characteristics as well. These wild claims are still
3790completely unverified though.")
3791 (license license:bsd-3)))
3792
dddbc90c
RV
3793(define-public ghc-foldl
3794 (package
3795 (name "ghc-foldl")
26c4104f 3796 (version "1.4.5")
dddbc90c
RV
3797 (source
3798 (origin
3799 (method url-fetch)
3800 (uri (string-append "https://hackage.haskell.org/package/"
3801 "foldl-" version "/"
3802 "foldl-" version ".tar.gz"))
3803 (sha256
3804 (base32
26c4104f 3805 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
3806 (build-system haskell-build-system)
3807 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3808 ("ghc-primitive" ,ghc-primitive)
3809 ("ghc-vector" ,ghc-vector)
3810 ("ghc-unordered-containers" ,ghc-unordered-containers)
3811 ("ghc-hashable" ,ghc-hashable)
3812 ("ghc-contravariant" ,ghc-contravariant)
3813 ("ghc-semigroups" ,ghc-semigroups)
3814 ("ghc-profunctors" ,ghc-profunctors)
3815 ("ghc-semigroupoids" ,ghc-semigroupoids)
3816 ("ghc-comonad" ,ghc-comonad)
3817 ("ghc-vector-builder" ,ghc-vector-builder)))
3818 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3819 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3820 (description "This Haskell library provides strict left folds that stream
3821in constant memory, and you can combine folds using @code{Applicative} style
3822to derive new folds. Derived folds still traverse the container just once
3823and are often as efficient as hand-written folds.")
3824 (license license:bsd-3)))
3825
3826(define-public ghc-foundation
3827 (package
3828 (name "ghc-foundation")
0a702df9 3829 (version "0.0.25")
dddbc90c
RV
3830 (source
3831 (origin
3832 (method url-fetch)
3833 (uri (string-append "https://hackage.haskell.org/package/"
3834 "foundation/foundation-" version ".tar.gz"))
3835 (sha256
3836 (base32
0a702df9 3837 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3838 (build-system haskell-build-system)
3839 (inputs `(("ghc-basement" ,ghc-basement)))
3840 (home-page "https://github.com/haskell-foundation/foundation")
3841 (synopsis "Alternative prelude with batteries and no dependencies")
3842 (description
3843 "This package provides a custom prelude with no dependencies apart from
3844the base package.
3845
3846Foundation has the following goals:
3847
3848@enumerate
3849@item provide a base like sets of modules that provide a consistent set of
3850 features and bugfixes across multiple versions of GHC (unlike base).
3851@item provide a better and more efficient prelude than base's prelude.
3852@item be self-sufficient: no external dependencies apart from base;
3853@item provide better data-types: packed unicode string by default, arrays;
3854@item Numerical classes that better represent mathematical things (no more
3855 all-in-one @code{Num});
3856@item I/O system with less lazy IO.
3857@end enumerate\n")
3858 (license license:bsd-3)))
3859
3860(define-public ghc-free
3861 (package
3862 (name "ghc-free")
4081565d 3863 (version "5.1.2")
dddbc90c
RV
3864 (source
3865 (origin
3866 (method url-fetch)
3867 (uri (string-append
3868 "https://hackage.haskell.org/package/free/free-"
3869 version
3870 ".tar.gz"))
3871 (sha256
3872 (base32
4081565d 3873 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
3874 (build-system haskell-build-system)
3875 (inputs
3876 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3877 ("ghc-profunctors" ,ghc-profunctors)
3878 ("ghc-exceptions" ,ghc-exceptions)
3879 ("ghc-bifunctors" ,ghc-bifunctors)
3880 ("ghc-comonad" ,ghc-comonad)
3881 ("ghc-distributive" ,ghc-distributive)
3882 ("ghc-semigroupoids" ,ghc-semigroupoids)
3883 ("ghc-semigroups" ,ghc-semigroups)
3884 ("ghc-transformers-base" ,ghc-transformers-base)
3885 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3886 (home-page "https://github.com/ekmett/free/")
3887 (synopsis "Unrestricted monads for Haskell")
3888 (description "This library provides free monads, which are useful for many
3889tree-like structures and domain specific languages. If @code{f} is a
3890@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3891whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3892is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3893f} makes no constraining assumptions beyond those given by @code{f} and the
3894definition of @code{Monad}.")
3895 (license license:bsd-3)))
3896
3897(define-public ghc-fsnotify
3898 (package
3899 (name "ghc-fsnotify")
3900 (version "0.3.0.1")
3901 (source (origin
3902 (method url-fetch)
3903 (uri (string-append
3904 "https://hackage.haskell.org/package/fsnotify/"
3905 "fsnotify-" version ".tar.gz"))
3906 (sha256
3907 (base32
3908 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3909 (build-system haskell-build-system)
3910 (inputs
3911 `(("ghc-async" ,ghc-async)
3912 ("ghc-unix-compat" ,ghc-unix-compat)
3913 ("ghc-hinotify" ,ghc-hinotify)
3914 ("ghc-tasty" ,ghc-tasty)
3915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3916 ("ghc-random" ,ghc-random)
3917 ("ghc-shelly" ,ghc-shelly)
3918 ("ghc-temporary" ,ghc-temporary)))
3919 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3920 (synopsis "Cross platform library for file change notification.")
3921 (description "Cross platform library for file creation, modification, and
3922deletion notification. This library builds upon existing libraries for platform
3923specific Windows, Mac, and Linux file system event notification.")
3924 (license license:bsd-3)))
3925
3926(define-public ghc-generic-deriving
3927 (package
3928 (name "ghc-generic-deriving")
55c1e6be 3929 (version "1.12.4")
dddbc90c
RV
3930 (source
3931 (origin
3932 (method url-fetch)
3933 (uri (string-append
3934 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3935 version
3936 ".tar.gz"))
3937 (sha256
3938 (base32
55c1e6be 3939 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3940 (build-system haskell-build-system)
3941 (inputs
3942 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3943 (native-inputs
3944 `(("ghc-hspec" ,ghc-hspec)
3945 ("hspec-discover" ,hspec-discover)))
3946 (home-page "https://hackage.haskell.org/package/generic-deriving")
3947 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3948 (description "This package provides functionality for generalising the
3949deriving mechanism in Haskell to arbitrary classes.")
3950 (license license:bsd-3)))
3951
3952(define-public ghc-generics-sop
3953 (package
3954 (name "ghc-generics-sop")
3ed40e10 3955 (version "0.4.0.1")
dddbc90c
RV
3956 (source
3957 (origin
3958 (method url-fetch)
3959 (uri (string-append "https://hackage.haskell.org/package/"
3960 "generics-sop-" version "/"
3961 "generics-sop-" version ".tar.gz"))
3962 (sha256
3963 (base32
3ed40e10 3964 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3965 (build-system haskell-build-system)
3ed40e10
TS
3966 (inputs
3967 `(("ghc-sop-core" ,ghc-sop-core)
3968 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3969 (home-page "https://github.com/well-typed/generics-sop")
3970 (synopsis "Generic Programming using True Sums of Products for Haskell")
3971 (description "This Haskell package supports the definition of generic
3972functions. Datatypes are viewed in a uniform, structured way: the choice
3973between constructors is represented using an n-ary sum, and the arguments of
3974each constructor are represented using an n-ary product.")
3975 (license license:bsd-3)))
3976
3977(define-public ghc-geniplate-mirror
3978 (package
3979 (name "ghc-geniplate-mirror")
3980 (version "0.7.6")
3981 (source
3982 (origin
3983 (method url-fetch)
3984 (uri (string-append "https://hackage.haskell.org/package"
3985 "/geniplate-mirror"
3986 "/geniplate-mirror-" version ".tar.gz"))
3987 (sha256
3988 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3989 (build-system haskell-build-system)
74a7dd7f
TS
3990 (arguments
3991 `(#:cabal-revision
3992 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
3993 (home-page "https://github.com/danr/geniplate")
3994 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3995 (description
3996 "Use Template Haskell to generate Uniplate-like functions. This is a
3997maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3998geniplate} package, written by Lennart Augustsson.")
3999 (license license:bsd-3)))
4000
4001(define-public ghc-genvalidity
4002 (package
4003 (name "ghc-genvalidity")
920f44a1 4004 (version "0.8.0.0")
dddbc90c
RV
4005 (source
4006 (origin
4007 (method url-fetch)
4008 (uri (string-append
4009 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4010 version
4011 ".tar.gz"))
4012 (sha256
4013 (base32
920f44a1 4014 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4015 (build-system haskell-build-system)
4016 (inputs
4017 `(("ghc-quickcheck" ,ghc-quickcheck)
4018 ("ghc-validity" ,ghc-validity)))
4019 (native-inputs
4020 `(("ghc-hspec" ,ghc-hspec)
4021 ("hspec-discover" ,hspec-discover)
4022 ("ghc-hspec-core" ,ghc-hspec-core)))
4023 (home-page
4024 "https://github.com/NorfairKing/validity")
4025 (synopsis
4026 "Testing utilities for the @code{validity} library")
4027 (description
4028 "This package provides testing utilities that are useful in conjunction
4029with the @code{Validity} typeclass.")
4030 (license license:expat)))
4031
4032(define-public ghc-genvalidity-property
4033 (package
4034 (name "ghc-genvalidity-property")
e4ede35b 4035 (version "0.4.0.0")
dddbc90c
RV
4036 (source
4037 (origin
4038 (method url-fetch)
4039 (uri (string-append
4040 "https://hackage.haskell.org/package/"
4041 "genvalidity-property/genvalidity-property-"
4042 version
4043 ".tar.gz"))
4044 (sha256
4045 (base32
e4ede35b 4046 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4047 (build-system haskell-build-system)
4048 (inputs
4049 `(("ghc-quickcheck" ,ghc-quickcheck)
4050 ("ghc-genvalidity" ,ghc-genvalidity)
4051 ("ghc-hspec" ,ghc-hspec)
4052 ("hspec-discover" ,hspec-discover)
4053 ("ghc-validity" ,ghc-validity)))
4054 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4055 (home-page
4056 "https://github.com/NorfairKing/validity")
4057 (synopsis
4058 "Standard properties for functions on @code{Validity} types")
4059 (description
4060 "This package supplements the @code{Validity} typeclass with standard
4061properties for functions operating on them.")
4062 (license license:expat)))
4063
e71fb573
TS
4064(define-public ghc-getopt-generics
4065 (package
4066 (name "ghc-getopt-generics")
4067 (version "0.13.0.4")
4068 (source
4069 (origin
4070 (method url-fetch)
4071 (uri (string-append "https://hackage.haskell.org/package/"
4072 "getopt-generics/getopt-generics-"
4073 version ".tar.gz"))
4074 (sha256
4075 (base32
4076 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4077 (build-system haskell-build-system)
4078 (inputs
4079 `(("ghc-base-compat" ,ghc-base-compat)
4080 ("ghc-base-orphans" ,ghc-base-orphans)
4081 ("ghc-generics-sop" ,ghc-generics-sop)
4082 ("ghc-tagged" ,ghc-tagged)))
4083 (native-inputs
4084 `(("ghc-quickcheck" ,ghc-quickcheck)
4085 ("ghc-hspec" ,ghc-hspec)
4086 ("ghc-safe" ,ghc-safe)
4087 ("ghc-silently" ,ghc-silently)
4088 ("hspec-discover" ,hspec-discover)))
4089 (home-page "https://github.com/soenkehahn/getopt-generics")
4090 (synopsis "Create command line interfaces with ease")
4091 (description "This library provides tools to create command line
4092interfaces with ease.")
4093 (license license:bsd-3)))
4094
dddbc90c
RV
4095(define-public ghc-gitrev
4096 (package
4097 (name "ghc-gitrev")
4098 (version "1.3.1")
4099 (source
4100 (origin
4101 (method url-fetch)
4102 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4103 version ".tar.gz"))
4104 (sha256
4105 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4106 (build-system haskell-build-system)
4107 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4108 (home-page "https://github.com/acfoltzer/gitrev")
4109 (synopsis "Compile git revision info into Haskell projects")
4110 (description
4111 "This package provides some handy Template Haskell splices for including
4112the current git hash and branch in the code of your project. This is useful
4113for including in panic messages, @command{--version} output, or diagnostic
4114info for more informative bug reports.")
4115 (license license:bsd-3)))
4116
4117(define-public ghc-glob
4118 (package
4119 (name "ghc-glob")
b900f486 4120 (version "0.10.0")
dddbc90c
RV
4121 (source
4122 (origin
4123 (method url-fetch)
4124 (uri (string-append "https://hackage.haskell.org/package/"
4125 "Glob-" version "/"
4126 "Glob-" version ".tar.gz"))
4127 (sha256
4128 (base32
b900f486 4129 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4130 (build-system haskell-build-system)
4131 (inputs
4132 `(("ghc-dlist" ,ghc-dlist)
4133 ("ghc-semigroups" ,ghc-semigroups)
4134 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4135 (native-inputs
4136 `(("ghc-hunit" ,ghc-hunit)
4137 ("ghc-quickcheck" ,ghc-quickcheck)
4138 ("ghc-test-framework" ,ghc-test-framework)
4139 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4140 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4141 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4142 (synopsis "Haskell library matching glob patterns against file paths")
4143 (description "This package provides a Haskell library for @dfn{globbing}:
4144matching patterns against file paths.")
4145 (license license:bsd-3)))
4146
4147(define-public ghc-gluraw
4148 (package
4149 (name "ghc-gluraw")
4150 (version "2.0.0.4")
4151 (source
4152 (origin
4153 (method url-fetch)
4154 (uri (string-append
4155 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4156 version
4157 ".tar.gz"))
4158 (sha256
4159 (base32
4160 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4161 (build-system haskell-build-system)
4162 (inputs
4163 `(("ghc-openglraw" ,ghc-openglraw)))
4164 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4165 (synopsis "Raw Haskell bindings GLU")
4166 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4167utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4168basis for a nicer interface.")
4169 (license license:bsd-3)))
4170
4171(define-public ghc-glut
4172 (package
4173 (name "ghc-glut")
8284bd09 4174 (version "2.7.0.15")
dddbc90c
RV
4175 (source
4176 (origin
4177 (method url-fetch)
4178 (uri (string-append
4179 "https://hackage.haskell.org/package/GLUT/GLUT-"
4180 version
4181 ".tar.gz"))
4182 (sha256
4183 (base32
8284bd09 4184 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4185 (build-system haskell-build-system)
4186 (inputs
4187 `(("ghc-statevar" ,ghc-statevar)
4188 ("ghc-opengl" ,ghc-opengl)
4189 ("ghc-openglraw" ,ghc-openglraw)
4190 ("freeglut" ,freeglut)))
4191 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4192 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4193 (description "This library provides Haskell bindings for the OpenGL
4194Utility Toolkit, a window system-independent toolkit for writing OpenGL
4195programs.")
4196 (license license:bsd-3)))
4197
4198(define-public ghc-gnuplot
4199 (package
4200 (name "ghc-gnuplot")
d34860c7 4201 (version "0.5.6")
dddbc90c
RV
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append
4206 "mirror://hackage/package/gnuplot/gnuplot-"
4207 version ".tar.gz"))
4208 (sha256
d34860c7 4209 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4210 (build-system haskell-build-system)
4211 (inputs
4212 `(("ghc-temporary" ,ghc-temporary)
4213 ("ghc-utility-ht" ,ghc-utility-ht)
4214 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4215 ("ghc-data-accessor" ,ghc-data-accessor)
4216 ("ghc-semigroups" ,ghc-semigroups)
4217 ("gnuplot" ,gnuplot)))
4218 (arguments
4219 `(#:phases
4220 (modify-phases %standard-phases
4221 (add-before 'configure 'fix-path-to-gnuplot
4222 (lambda* (#:key inputs #:allow-other-keys)
4223 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4224 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4225 (("(gnuplotName = ).*$" all cmd)
4226 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4227 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4228 (synopsis "2D and 3D plots using gnuplot")
4229 (description "This package provides a Haskell module for creating 2D and
42303D plots using gnuplot.")
4231 (license license:bsd-3)))
4232
4233(define-public ghc-graphviz
4234 (package
4235 (name "ghc-graphviz")
c264bd42 4236 (version "2999.20.0.3")
dddbc90c
RV
4237 (source (origin
4238 (method url-fetch)
4239 (uri (string-append "https://hackage.haskell.org/package/"
4240 "graphviz/graphviz-" version ".tar.gz"))
4241 (sha256
4242 (base32
c264bd42 4243 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4244 (build-system haskell-build-system)
c264bd42
TS
4245 (arguments
4246 `(#:phases
4247 (modify-phases %standard-phases
4248 (add-before 'configure 'update-constraints
4249 (lambda _
4250 (substitute* "graphviz.cabal"
4251 (("QuickCheck >= 2\\.3 && < 2\\.13")
4252 "QuickCheck >= 2.3 && < 2.14")
4253 (("hspec >= 2\\.1 && < 2\\.7")
4254 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4255 (inputs
4256 `(("ghc-quickcheck" ,ghc-quickcheck)
4257 ("ghc-colour" ,ghc-colour)
4258 ("ghc-dlist" ,ghc-dlist)
4259 ("ghc-fgl" ,ghc-fgl)
4260 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4261 ("ghc-polyparse" ,ghc-polyparse)
4262 ("ghc-temporary" ,ghc-temporary)
4263 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4264 (native-inputs
4265 `(("ghc-hspec" ,ghc-hspec)
4266 ("graphviz" ,graphviz)
4267 ("hspec-discover" ,hspec-discover)))
4268 (home-page "https://hackage.haskell.org/package/graphviz")
4269 (synopsis "Bindings to Graphviz for graph visualisation")
4270 (description
4271 "This library provides bindings for the Dot language used by
4272the @uref{https://graphviz.org/, Graphviz} suite of programs for
4273visualising graphs, as well as functions to call those programs.
4274Main features of the graphviz library include:
4275
4276@enumerate
4277@item Almost complete coverage of all Graphviz attributes and syntax
4278@item Support for specifying clusters
4279@item The ability to use a custom node type
4280@item Functions for running a Graphviz layout tool with all specified output types
4281@item Generate and parse Dot code with two options: strict and liberal
4282@item Functions to convert FGL graphs and other graph-like data structures
4283@item Round-trip support for passing an FGL graph through Graphviz to augment node
4284and edge labels with positional information, etc.
4285@end enumerate\n")
4286 (license license:bsd-3)))
4287
4288(define-public ghc-gtk2hs-buildtools
4289 (package
4290 (name "ghc-gtk2hs-buildtools")
b79b43d4 4291 (version "0.13.5.4")
dddbc90c
RV
4292 (source
4293 (origin
4294 (method url-fetch)
4295 (uri (string-append "https://hackage.haskell.org/package/"
4296 "gtk2hs-buildtools/gtk2hs-buildtools-"
4297 version ".tar.gz"))
4298 (sha256
4299 (base32
b79b43d4 4300 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4301 (build-system haskell-build-system)
4302 (inputs
4303 `(("ghc-random" ,ghc-random)
4304 ("ghc-hashtables" ,ghc-hashtables)))
4305 (native-inputs
4306 `(("ghc-alex" ,ghc-alex)
4307 ("ghc-happy" ,ghc-happy)))
4308 (home-page "http://projects.haskell.org/gtk2hs/")
4309 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4310 (description
4311 "This package provides a set of helper programs necessary to build the
4312Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4313that is used to generate FFI declarations, a tool to build a type hierarchy
4314that mirrors the C type hierarchy of GObjects found in glib, and a generator
4315for signal declarations that are used to call back from C to Haskell. These
4316tools are not needed to actually run Gtk2Hs programs.")
4317 (license license:gpl2)))
4318
4319(define-public ghc-hackage-security
4320 (package
4321 (name "ghc-hackage-security")
4322 (version "0.5.3.0")
4323 (source
4324 (origin
4325 (method url-fetch)
4326 (uri (string-append "https://hackage.haskell.org/package/"
4327 "hackage-security/hackage-security-"
4328 version ".tar.gz"))
4329 (sha256
4330 (base32
4331 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4332 (build-system haskell-build-system)
4333 (arguments
034380f3
TS
4334 `(#:cabal-revision
4335 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4336 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4337 (inputs
4338 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4339 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4340 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4341 ("ghc-ed25519" ,ghc-ed25519)
4342 ("ghc-network" ,ghc-network)
4343 ("ghc-network-uri" ,ghc-network-uri)
4344 ("ghc-tar" ,ghc-tar)
4345 ("ghc-zlib" ,ghc-zlib)))
4346 (native-inputs
4347 `(("ghc-network-uri" ,ghc-network-uri)
4348 ("ghc-quickcheck" ,ghc-quickcheck)
4349 ("ghc-tar" ,ghc-tar)
4350 ("ghc-tasty" ,ghc-tasty)
4351 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4352 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4353 ("ghc-temporary" ,ghc-temporary)
4354 ("ghc-zlib" ,ghc-zlib)))
4355 (home-page "https://github.com/haskell/hackage-security")
4356 (synopsis "Hackage security library")
4357 (description "This Hackage security library provides both server and
4358client utilities for securing @uref{http://hackage.haskell.org/, the
4359Hackage package server}. It is based on
4360@uref{http://theupdateframework.com/, The Update Framework}, a set of
4361recommendations developed by security researchers at various universities
4362in the US as well as developers on the @uref{https://www.torproject.org/,
4363Tor project}.")
4364 (license license:bsd-3)))
4365
4366(define-public ghc-haddock
4367 (package
4368 (name "ghc-haddock")
4369 (version "2.19.0.1")
4370 (source
4371 (origin
4372 (method url-fetch)
4373 (uri (string-append
4374 "https://hackage.haskell.org/package/haddock/haddock-"
4375 version
4376 ".tar.gz"))
4377 (sha256
4378 (base32
4379 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4380 (build-system haskell-build-system)
4381 (arguments
4382 `(#:phases
4383 (modify-phases %standard-phases
4384 ;; There are four test suites that require the ghc-haddock-test
4385 ;; package, which no longer builds with GHC 8.4.3. This phase
4386 ;; removes these four test suites from the Cabal file, so that we
4387 ;; do not need ghc-haddock-test as an input.
4388 (add-before 'configure 'remove-haddock-test-test-suites
4389 (lambda _
4390 (use-modules (ice-9 rdelim))
4391 (with-atomic-file-replacement "haddock.cabal"
4392 (lambda (in out)
4393 (let loop ((line (read-line in 'concat)) (deleting? #f))
4394 (cond
4395 ((eof-object? line) #t)
4396 ((string-every char-set:whitespace line)
4397 (unless deleting? (display line out))
4398 (loop (read-line in 'concat) #f))
4399 ((member line '("test-suite html-test\n"
4400 "test-suite hypsrc-test\n"
4401 "test-suite latex-test\n"
4402 "test-suite hoogle-test\n"))
4403 (loop (read-line in 'concat) #t))
4404 (else
4405 (unless deleting? (display line out))
4406 (loop (read-line in 'concat) deleting?)))))))))))
4407 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4408 (native-inputs
4409 `(("ghc-hspec" ,ghc-hspec)))
4410 (home-page "https://www.haskell.org/haddock/")
4411 (synopsis
4412 "Documentation-generation tool for Haskell libraries")
4413 (description
4414 "Haddock is a documentation-generation tool for Haskell libraries.")
4415 (license license:bsd-3)))
4416
4417(define-public ghc-haddock-api
4418 (package
4419 (name "ghc-haddock-api")
4420 (version "2.19.0.1")
4421 (source
4422 (origin
4423 (method url-fetch)
4424 (uri (string-append
4425 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4426 version
4427 ".tar.gz"))
4428 (sha256
4429 (base32
4430 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4431 (build-system haskell-build-system)
4432 (arguments
4433 `(#:phases
4434 (modify-phases %standard-phases
4435 (add-before 'configure 'update-constraints
4436 (lambda _
4437 (substitute* "haddock-api.cabal"
4438 (("Cabal \\^>= 2\\.0\\.0")
4439 "Cabal ^>= 2.2.0")
4440 (("hspec \\^>= 2\\.4\\.4")
4441 "hspec >= 2.4.4 && < 2.6")))))))
4442 (inputs
4443 `(("ghc-paths" ,ghc-paths)
4444 ("ghc-haddock-library" ,ghc-haddock-library)))
4445 (native-inputs
4446 `(("ghc-quickcheck" ,ghc-quickcheck)
4447 ("ghc-hspec" ,ghc-hspec)
4448 ("hspec-discover" ,hspec-discover)))
4449 (home-page "https://www.haskell.org/haddock/")
4450 (synopsis "API for documentation-generation tool Haddock")
4451 (description "This package provides an API to Haddock, the
4452documentation-generation tool for Haskell libraries.")
4453 (license license:bsd-3)))
4454
4455(define-public ghc-haddock-library
4456 (package
4457 (name "ghc-haddock-library")
10707d57 4458 (version "1.7.0")
dddbc90c
RV
4459 (source
4460 (origin
4461 (method url-fetch)
4462 (uri (string-append
4463 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4464 version
4465 ".tar.gz"))
4466 (sha256
4467 (base32
10707d57 4468 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4469 (build-system haskell-build-system)
4470 (arguments
4471 `(#:phases
4472 (modify-phases %standard-phases
10707d57
TS
4473 ;; Since there is no revised Cabal file upstream, we have to
4474 ;; patch it manually.
dddbc90c
RV
4475 (add-before 'configure 'relax-test-suite-dependencies
4476 (lambda _
4477 (substitute* "haddock-library.cabal"
10707d57
TS
4478 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4479 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4480 #t)))))
4481 (native-inputs
4482 `(("ghc-base-compat" ,ghc-base-compat)
4483 ("ghc-hspec" ,ghc-hspec)
4484 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4485 ("ghc-quickcheck" ,ghc-quickcheck)
4486 ("ghc-tree-diff" ,ghc-tree-diff)
4487 ("hspec-discover" ,hspec-discover)))
4488 (home-page "https://www.haskell.org/haddock/")
4489 (synopsis "Library exposing some functionality of Haddock")
4490 (description
4491 "Haddock is a documentation-generation tool for Haskell libraries. These
4492modules expose some functionality of it without pulling in the GHC dependency.
4493Please note that the API is likely to change so specify upper bounds in your
4494project if you can't release often. For interacting with Haddock itself, see
4495the ‘haddock’ package.")
4496 (license license:bsd-3)))
4497
4498(define-public ghc-half
4499 (package
4500 (name "ghc-half")
4501 (version "0.3")
4502 (source
4503 (origin
4504 (method url-fetch)
4505 (uri (string-append
4506 "https://hackage.haskell.org/package/half/half-"
4507 version ".tar.gz"))
4508 (sha256
4509 (base32
4510 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4511 (build-system haskell-build-system)
4512 (native-inputs
4513 `(("ghc-hspec" ,ghc-hspec)
4514 ("ghc-quickcheck" ,ghc-quickcheck)))
4515 (home-page "https://github.com/ekmett/half")
4516 (synopsis "Half-precision floating-point computations")
4517 (description "This library provides a half-precision floating-point
4518computation library for Haskell.")
4519 (license license:bsd-3)))
4520
4521(define-public ghc-happy
4522 (package
4523 (name "ghc-happy")
90e7b0e4 4524 (version "1.19.12")
dddbc90c
RV
4525 (source
4526 (origin
4527 (method url-fetch)
4528 (uri (string-append
4529 "https://hackage.haskell.org/package/happy/happy-"
4530 version
4531 ".tar.gz"))
4532 (sha256
4533 (base32
90e7b0e4 4534 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4535 (build-system haskell-build-system)
4536 (arguments
4537 `(#:phases
4538 (modify-phases %standard-phases
4539 (add-after 'unpack 'skip-test-issue93
4540 (lambda _
4541 ;; Tests run out of memory on a system with 2GB of available RAM,
4542 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4543 (substitute* "tests/Makefile"
4544 ((" issue93.y ") " "))
4545 #t)))))
4546 (home-page "https://hackage.haskell.org/package/happy")
4547 (synopsis "Parser generator for Haskell")
4548 (description "Happy is a parser generator for Haskell. Given a grammar
4549specification in BNF, Happy generates Haskell code to parse the grammar.
4550Happy works in a similar way to the yacc tool for C.")
4551 (license license:bsd-3)))
4552
4553(define-public ghc-hashable
4554 (package
4555 (name "ghc-hashable")
4556 (version "1.2.7.0")
4557 (outputs '("out" "doc"))
4558 (source
4559 (origin
4560 (method url-fetch)
4561 (uri (string-append
4562 "https://hackage.haskell.org/package/hashable/hashable-"
4563 version
4564 ".tar.gz"))
4565 (sha256
4566 (base32
4567 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4568 (build-system haskell-build-system)
65a16a45
TS
4569 (arguments
4570 `(#:cabal-revision
4571 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4572 (inputs
4573 `(("ghc-random" ,ghc-random)))
4574 (native-inputs
4575 `(("ghc-test-framework" ,ghc-test-framework)
4576 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4577 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4578 ("ghc-hunit" ,ghc-hunit)
4579 ("ghc-quickcheck" ,ghc-quickcheck)))
4580 (home-page "https://github.com/tibbe/hashable")
4581 (synopsis "Class for types that can be converted to a hash value")
4582 (description
4583 "This package defines a class, @code{Hashable}, for types that can be
4584converted to a hash value. This class exists for the benefit of hashing-based
4585data structures. The package provides instances for basic types and a way to
4586combine hash values.")
4587 (license license:bsd-3)))
4588
4589(define-public ghc-hashable-bootstrap
4590 (package
4591 (inherit ghc-hashable)
4592 (name "ghc-hashable-bootstrap")
65a16a45
TS
4593 (arguments
4594 `(#:tests? #f
4595 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4596 (native-inputs '())
4597 (properties '((hidden? #t)))))
4598
4599(define-public ghc-hashable-time
4600 (package
4601 (name "ghc-hashable-time")
f5051e31 4602 (version "0.2.0.2")
dddbc90c
RV
4603 (source
4604 (origin
4605 (method url-fetch)
4606 (uri (string-append
4607 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4608 version
4609 ".tar.gz"))
4610 (sha256
4611 (base32
f5051e31 4612 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4613 (build-system haskell-build-system)
4614 (arguments
4615 `(#:cabal-revision
f5051e31 4616 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4617 (inputs `(("ghc-hashable" ,ghc-hashable)))
4618 (home-page "http://hackage.haskell.org/package/hashable-time")
4619 (synopsis "Hashable instances for Data.Time")
4620 (description
4621 "This package provides @code{Hashable} instances for types in
4622@code{Data.Time}.")
4623 (license license:bsd-3)))
4624
4625(define-public ghc-hashtables
4626 (package
4627 (name "ghc-hashtables")
19edf0d0 4628 (version "1.2.3.4")
dddbc90c
RV
4629 (source
4630 (origin
4631 (method url-fetch)
4632 (uri (string-append
4633 "https://hackage.haskell.org/package/hashtables/hashtables-"
4634 version ".tar.gz"))
4635 (sha256
19edf0d0 4636 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4637 (build-system haskell-build-system)
4638 (inputs
4639 `(("ghc-hashable" ,ghc-hashable)
4640 ("ghc-primitive" ,ghc-primitive)
4641 ("ghc-vector" ,ghc-vector)))
4642 (home-page "https://github.com/gregorycollins/hashtables")
4643 (synopsis "Haskell Mutable hash tables in the ST monad")
4644 (description "This package provides a Haskell library including a
4645couple of different implementations of mutable hash tables in the ST
4646monad, as well as a typeclass abstracting their common operations, and
4647a set of wrappers to use the hash tables in the IO monad.")
4648 (license license:bsd-3)))
4649
4650(define-public ghc-haskell-lexer
4651 (package
4652 (name "ghc-haskell-lexer")
4653 (version "1.0.2")
4654 (source
4655 (origin
4656 (method url-fetch)
4657 (uri (string-append
4658 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4659 version ".tar.gz"))
4660 (sha256
4661 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4662 (build-system haskell-build-system)
4663 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4664 (synopsis "Fully compliant Haskell 98 lexer")
4665 (description
4666 "This package provides a fully compliant Haskell 98 lexer.")
4667 (license license:bsd-3)))
4668
4669(define-public ghc-haskell-src
4670 (package
4671 (name "ghc-haskell-src")
4672 (version "1.0.3.0")
4673 (source
4674 (origin
4675 (method url-fetch)
4676 (uri (string-append
4677 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4678 version
4679 ".tar.gz"))
4680 (sha256
4681 (base32
4682 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4683 (build-system haskell-build-system)
4684 (inputs
4685 `(("ghc-happy" ,ghc-happy)
4686 ("ghc-syb" ,ghc-syb)))
4687 (home-page
4688 "https://hackage.haskell.org/package/haskell-src")
4689 (synopsis
4690 "Support for manipulating Haskell source code")
4691 (description
4692 "The @code{haskell-src} package provides support for manipulating Haskell
4693source code. The package provides a lexer, parser and pretty-printer, and a
4694definition of a Haskell abstract syntax tree (AST). Common uses of this
4695package are to parse or generate Haskell 98 code.")
4696 (license license:bsd-3)))
4697
4698(define-public ghc-haskell-src-exts
4699 (package
4700 (name "ghc-haskell-src-exts")
37a05591 4701 (version "1.21.1")
dddbc90c
RV
4702 (source
4703 (origin
4704 (method url-fetch)
4705 (uri (string-append
4706 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4707 version
4708 ".tar.gz"))
4709 (sha256
4710 (base32
37a05591 4711 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4712 (build-system haskell-build-system)
4713 (inputs
4714 `(("cpphs" ,cpphs)
4715 ("ghc-happy" ,ghc-happy)
4716 ("ghc-pretty-show" ,ghc-pretty-show)))
4717 (native-inputs
4718 `(("ghc-smallcheck" ,ghc-smallcheck)
4719 ("ghc-tasty" ,ghc-tasty)
4720 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4721 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4722 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4723 (synopsis "Library for manipulating Haskell source")
4724 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4725extension of the standard @code{haskell-src} package, and handles most
4726registered syntactic extensions to Haskell. All extensions implemented in GHC
4727are supported. Apart from these standard extensions, it also handles regular
4728patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4729 (license license:bsd-3)))
4730
4731(define-public ghc-haskell-src-exts-util
4732 (package
4733 (name "ghc-haskell-src-exts-util")
77355bdf 4734 (version "0.2.5")
dddbc90c
RV
4735 (source
4736 (origin
4737 (method url-fetch)
4738 (uri (string-append "https://hackage.haskell.org/package/"
4739 "haskell-src-exts-util/haskell-src-exts-util-"
4740 version ".tar.gz"))
4741 (sha256
4742 (base32
77355bdf 4743 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4744 (build-system haskell-build-system)
4745 (inputs
4746 `(("ghc-data-default" ,ghc-data-default)
4747 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4748 ("ghc-semigroups" ,ghc-semigroups)
4749 ("ghc-uniplate" ,ghc-uniplate)))
4750 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4751 (synopsis "Helper functions for working with haskell-src-exts trees")
4752 (description
4753 "This package provides helper functions for working with
4754@code{haskell-src-exts} trees.")
4755 (license license:bsd-3)))
4756
4757(define-public ghc-haskell-src-meta
4758 (package
4759 (name "ghc-haskell-src-meta")
e94b3c72 4760 (version "0.8.3")
dddbc90c
RV
4761 (source (origin
4762 (method url-fetch)
4763 (uri (string-append "https://hackage.haskell.org/package/"
4764 "haskell-src-meta/haskell-src-meta-"
4765 version ".tar.gz"))
4766 (sha256
4767 (base32
e94b3c72 4768 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4769 (build-system haskell-build-system)
4770 (inputs
4771 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4772 ("ghc-syb" ,ghc-syb)
4773 ("ghc-th-orphans" ,ghc-th-orphans)))
4774 (native-inputs
4775 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4776 ("ghc-tasty" ,ghc-tasty)
4777 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4778 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4779 (synopsis "Parse source to template-haskell abstract syntax")
4780 (description
4781 "This package provides tools to parse Haskell sources to the
4782template-haskell abstract syntax.")
4783 (license license:bsd-3)))
4784
4785(define-public ghc-hasktags
4786 (package
4787 (name "ghc-hasktags")
4788 (version "0.71.2")
4789 (source
4790 (origin
4791 (method url-fetch)
4792 (uri (string-append
4793 "https://hackage.haskell.org/package/hasktags/hasktags-"
4794 version
4795 ".tar.gz"))
4796 (sha256
4797 (base32
4798 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4799 (build-system haskell-build-system)
4800 (inputs
4801 `(("ghc-system-filepath" ,ghc-system-filepath)
4802 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4803 (native-inputs
4804 `(("ghc-json" ,ghc-json)
4805 ("ghc-utf8-string" ,ghc-utf8-string)
4806 ("ghc-microlens-platform" ,ghc-microlens-platform)
4807 ("ghc-hunit" ,ghc-hunit)))
4808 (home-page "http://github.com/MarcWeber/hasktags")
4809 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4810 (description
4811 "This package provides a means of generating tag files for Emacs and
4812Vim.")
4813 (license license:bsd-3)))
4814
4815(define-public ghc-hex
4816 (package
4817 (name "ghc-hex")
4818 (version "0.1.2")
4819 (source
4820 (origin
4821 (method url-fetch)
4822 (uri (string-append "https://hackage.haskell.org/package/"
4823 "hex-" version "/"
4824 "hex-" version ".tar.gz"))
4825 (sha256
4826 (base32
4827 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4828 (build-system haskell-build-system)
4829 (home-page "https://hackage.haskell.org/package/hex")
4830 (synopsis "Convert strings into hexadecimal and back")
4831 (description "This package provides conversion functions between
4832bytestrings and their hexademical representation.")
4833 (license license:bsd-3)))
4834
4835(define-public ghc-highlighting-kate
4836 (package
4837 (name "ghc-highlighting-kate")
4838 (version "0.6.4")
4839 (source (origin
4840 (method url-fetch)
4841 (uri (string-append "https://hackage.haskell.org/package/"
4842 "highlighting-kate/highlighting-kate-"
4843 version ".tar.gz"))
4844 (sha256
4845 (base32
4846 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4847 (build-system haskell-build-system)
4848 (inputs
4849 `(("ghc-diff" ,ghc-diff)
4850 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4851 (native-inputs
4852 `(("ghc-blaze-html" ,ghc-blaze-html)
4853 ("ghc-utf8-string" ,ghc-utf8-string)))
4854 (home-page "https://github.com/jgm/highlighting-kate")
4855 (synopsis "Syntax highlighting library")
4856 (description
4857 "Highlighting-kate is a syntax highlighting library with support for
4858nearly one hundred languages. The syntax parsers are automatically generated
4859from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4860supported by Kate can be added. An (optional) command-line program is
4861provided, along with a utility for generating new parsers from Kate XML syntax
4862descriptions.")
4863 (license license:gpl2+)))
4864
4865(define-public ghc-hindent
4866 (package
4867 (name "ghc-hindent")
f545f894 4868 (version "5.3.1")
dddbc90c
RV
4869 (source
4870 (origin
4871 (method url-fetch)
4872 (uri (string-append
4873 "https://hackage.haskell.org/package/hindent/hindent-"
4874 version
4875 ".tar.gz"))
4876 (sha256
4877 (base32
f545f894 4878 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
4879 (build-system haskell-build-system)
4880 (arguments
4881 `(#:modules ((guix build haskell-build-system)
4882 (guix build utils)
4883 (guix build emacs-utils))
4884 #:imported-modules (,@%haskell-build-system-modules
4885 (guix build emacs-utils))
4886 #:phases
4887 (modify-phases %standard-phases
4888 (add-after 'install 'emacs-install
4889 (lambda* (#:key inputs outputs #:allow-other-keys)
4890 (let* ((out (assoc-ref outputs "out"))
4891 (elisp-file "elisp/hindent.el")
4892 (dest (string-append out "/share/emacs/site-lisp"
4893 "/guix.d/hindent-" ,version))
4894 (emacs (string-append (assoc-ref inputs "emacs")
4895 "/bin/emacs")))
4896 (make-file-writable elisp-file)
4897 (emacs-substitute-variables elisp-file
4898 ("hindent-process-path"
4899 (string-append out "/bin/hindent")))
4900 (install-file elisp-file dest)
4901 (emacs-generate-autoloads "hindent" dest)))))))
4902 (inputs
4903 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4904 ("ghc-monad-loops" ,ghc-monad-loops)
4905 ("ghc-utf8-string" ,ghc-utf8-string)
4906 ("ghc-exceptions" ,ghc-exceptions)
4907 ("ghc-yaml" ,ghc-yaml)
4908 ("ghc-unix-compat" ,ghc-unix-compat)
4909 ("ghc-path" ,ghc-path)
4910 ("ghc-path-io" ,ghc-path-io)
4911 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4912 (native-inputs
4913 `(("ghc-hspec" ,ghc-hspec)
4914 ("ghc-diff" ,ghc-diff)
4915 ("emacs" ,emacs-minimal)))
4916 (home-page
4917 "https://github.com/commercialhaskell/hindent")
4918 (synopsis "Extensible Haskell pretty printer")
4919 (description
4920 "This package provides automatic formatting for Haskell files. Both a
4921library and an executable.")
4922 (license license:bsd-3)))
4923
4924(define-public ghc-hinotify
4925 (package
4926 (name "ghc-hinotify")
c2342abb 4927 (version "0.4")
dddbc90c
RV
4928 (source (origin
4929 (method url-fetch)
4930 (uri (string-append
4931 "https://hackage.haskell.org/package/hinotify/"
4932 "hinotify-" version ".tar.gz"))
4933 (sha256
4934 (base32
c2342abb 4935 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4936 (build-system haskell-build-system)
4937 (inputs
4938 `(("ghc-async" ,ghc-async)))
4939 (home-page "https://github.com/kolmodin/hinotify.git")
4940 (synopsis "Haskell binding to inotify")
4941 (description "This library provides a wrapper to the Linux kernel's inotify
4942feature, allowing applications to subscribe to notifications when a file is
4943accessed or modified.")
4944 (license license:bsd-3)))
4945
4946(define-public ghc-hmatrix
4947 (package
4948 (name "ghc-hmatrix")
65e29ed1 4949 (version "0.20.0.0")
dddbc90c
RV
4950 (source
4951 (origin
4952 (method url-fetch)
4953 (uri (string-append
4954 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4955 version ".tar.gz"))
4956 (sha256
65e29ed1 4957 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4958 (build-system haskell-build-system)
4959 (inputs
4960 `(("ghc-random" ,ghc-random)
4961 ("ghc-split" ,ghc-split)
4962 ("ghc-storable-complex" ,ghc-storable-complex)
4963 ("ghc-semigroups" ,ghc-semigroups)
4964 ("ghc-vector" ,ghc-vector)
4965 ;;("openblas" ,openblas)
4966 ("lapack" ,lapack)))
4967 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4968 ;; disables inclusion of the LAPACK functions.
4969 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4970 (home-page "https://github.com/albertoruiz/hmatrix")
4971 (synopsis "Haskell numeric linear algebra library")
4972 (description "The HMatrix package provices a Haskell library for
4973dealing with linear systems, matrix decompositions, and other
4974numerical computations based on BLAS and LAPACK.")
4975 (license license:bsd-3)))
4976
4977(define-public ghc-hmatrix-gsl
4978 (package
4979 (name "ghc-hmatrix-gsl")
4980 (version "0.19.0.1")
4981 (source
4982 (origin
4983 (method url-fetch)
4984 (uri (string-append
4985 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4986 version ".tar.gz"))
4987 (sha256
4988 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4989 (build-system haskell-build-system)
4990 (inputs
4991 `(("ghc-hmatrix" ,ghc-hmatrix)
4992 ("ghc-vector" ,ghc-vector)
4993 ("ghc-random" ,ghc-random)
4994 ("gsl" ,gsl)))
4995 (native-inputs `(("pkg-config" ,pkg-config)))
4996 (home-page "https://github.com/albertoruiz/hmatrix")
4997 (synopsis "Haskell GSL binding")
4998 (description "This Haskell library provides a purely functional
4999interface to selected numerical computations, internally implemented
5000using GSL.")
5001 (license license:gpl3+)))
5002
5003(define-public ghc-hmatrix-gsl-stats
5004 (package
5005 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5006 (version "0.4.1.8")
dddbc90c
RV
5007 (source
5008 (origin
5009 (method url-fetch)
5010 (uri
5011 (string-append
5012 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5013 version ".tar.gz"))
5014 (sha256
e9b359f5 5015 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5016 (build-system haskell-build-system)
5017 (inputs
5018 `(("ghc-vector" ,ghc-vector)
5019 ("ghc-storable-complex" ,ghc-storable-complex)
5020 ("ghc-hmatrix" ,ghc-hmatrix)
5021 ("gsl" ,gsl)))
5022 (native-inputs `(("pkg-config" ,pkg-config)))
5023 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5024 (synopsis "GSL Statistics interface for Haskell")
5025 (description "This Haskell library provides a purely functional
5026interface for statistics based on hmatrix and GSL.")
5027 (license license:bsd-3)))
5028
5029(define-public ghc-hmatrix-special
5030 (package
5031 (name "ghc-hmatrix-special")
5032 (version "0.19.0.0")
5033 (source
5034 (origin
5035 (method url-fetch)
5036 (uri
5037 (string-append
5038 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5039 version ".tar.gz"))
5040 (sha256
5041 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5042 (build-system haskell-build-system)
5043 (inputs
5044 `(("ghc-hmatrix" ,ghc-hmatrix)
5045 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5046 (home-page "https://github.com/albertoruiz/hmatrix")
5047 (synopsis "Haskell interface to GSL special functions")
5048 (description "This library provides an interface to GSL special
5049functions for Haskell.")
5050 (license license:gpl3+)))
5051
5052(define-public ghc-hostname
5053 (package
5054 (name "ghc-hostname")
5055 (version "1.0")
5056 (source
5057 (origin
5058 (method url-fetch)
5059 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5060 "hostname-" version ".tar.gz"))
5061 (sha256
5062 (base32
5063 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5064 (build-system haskell-build-system)
5065 (home-page "https://hackage.haskell.org/package/hostname")
5066 (synopsis "Hostname in Haskell")
5067 (description "Network.HostName is a simple package providing a means to
5068determine the hostname.")
5069 (license license:bsd-3)))
5070
5071(define-public ghc-hourglass
5072 (package
5073 (name "ghc-hourglass")
5074 (version "0.2.12")
5075 (source (origin
5076 (method url-fetch)
5077 (uri (string-append "https://hackage.haskell.org/package/"
5078 "hourglass/hourglass-" version ".tar.gz"))
5079 (sha256
5080 (base32
5081 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5082 (build-system haskell-build-system)
5083 (inputs
5084 `(("ghc-old-locale" ,ghc-old-locale)))
5085 (native-inputs
5086 `(("ghc-tasty" ,ghc-tasty)
5087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5088 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5089 (home-page "https://github.com/vincenthz/hs-hourglass")
5090 (synopsis "Simple time-related library for Haskell")
5091 (description
5092 "This is a simple time library providing a simple but powerful and
5093performant API. The backbone of the library are the @code{Timeable} and
5094@code{Time} type classes. Each @code{Timeable} instances can be converted to
5095a type that has a @code{Time} instances, and thus are different
5096representations of current time.")
5097 (license license:bsd-3)))
5098
5099(define-public ghc-hpack
5100 (package
5101 (name "ghc-hpack")
06344a3a 5102 (version "0.31.2")
dddbc90c
RV
5103 (source
5104 (origin
5105 (method url-fetch)
5106 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5107 "hpack-" version ".tar.gz"))
06344a3a 5108 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5109 (sha256
5110 (base32
06344a3a 5111 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5112 (build-system haskell-build-system)
5113 (inputs
5114 `(("ghc-aeson" ,ghc-aeson)
5115 ("ghc-bifunctors" ,ghc-bifunctors)
5116 ("ghc-cryptonite" ,ghc-cryptonite)
5117 ("ghc-glob" ,ghc-glob)
5118 ("ghc-http-client" ,ghc-http-client)
5119 ("ghc-http-client-tls" ,ghc-http-client-tls)
5120 ("ghc-http-types" ,ghc-http-types)
06344a3a 5121 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5122 ("ghc-scientific" ,ghc-scientific)
5123 ("ghc-unordered-containers" ,ghc-unordered-containers)
5124 ("ghc-vector" ,ghc-vector)
5125 ("ghc-yaml" ,ghc-yaml)))
5126 (native-inputs
5127 `(("ghc-hspec" ,ghc-hspec)
5128 ("ghc-hunit" ,ghc-hunit)
5129 ("ghc-interpolate" ,ghc-interpolate)
5130 ("ghc-mockery" ,ghc-mockery)
5131 ("ghc-quickcheck" ,ghc-quickcheck)
5132 ("ghc-temporary" ,ghc-temporary)
5133 ("hspec-discover" ,hspec-discover)))
5134 (home-page "https://github.com/sol/hpack")
5135 (synopsis "Tools for an alternative Haskell package format")
5136 (description
5137 "Hpack is a format for Haskell packages. It is an alternative to the
5138Cabal package format and follows different design principles. Hpack packages
5139are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5140@code{stack} support @code{package.yaml} natively. For other build tools the
5141@code{hpack} executable can be used to generate a @code{.cabal} file from
5142@code{package.yaml}.")
5143 (license license:expat)))
5144
5145(define-public ghc-hs-bibutils
5146 (package
5147 (name "ghc-hs-bibutils")
ebcb4f23 5148 (version "6.7.0.0")
dddbc90c
RV
5149 (source
5150 (origin
5151 (method url-fetch)
5152 (uri (string-append
5153 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5154 version ".tar.gz"))
5155 (sha256
5156 (base32
ebcb4f23 5157 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5158 (build-system haskell-build-system)
5159 (inputs `(("ghc-syb" ,ghc-syb)))
5160 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5161 (synopsis "Haskell bindings to bibutils")
5162 (description
5163 "This package provides Haskell bindings to @code{bibutils}, a library
5164that interconverts between various bibliography formats using a common
5165MODS-format XML intermediate.")
5166 (license license:gpl2+)))
5167
5168(define-public ghc-hslogger
5169 (package
5170 (name "ghc-hslogger")
e5ccc5f7 5171 (version "1.2.12")
dddbc90c
RV
5172 (source
5173 (origin
5174 (method url-fetch)
5175 (uri (string-append "https://hackage.haskell.org/package/"
5176 "hslogger-" version "/" "hslogger-"
5177 version ".tar.gz"))
5178 (sha256 (base32
e5ccc5f7 5179 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5180 (build-system haskell-build-system)
5181 (inputs
5182 `(("ghc-network" ,ghc-network)
5183 ("ghc-old-locale" ,ghc-old-locale)))
5184 (native-inputs
5185 `(("ghc-hunit" ,ghc-hunit)))
5186 (home-page "https://software.complete.org/hslogger")
5187 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5188 (description "Hslogger lets each log message have a priority and source be
5189associated with it. The programmer can then define global handlers that route
5190or filter messages based on the priority and source. It also has a syslog
5191handler built in.")
5192 (license license:bsd-3)))
5193
5194(define-public ghc-hslua
5195 (package
5196 (name "ghc-hslua")
cc784d7b 5197 (version "1.0.3.2")
dddbc90c
RV
5198 (source (origin
5199 (method url-fetch)
5200 (uri (string-append "https://hackage.haskell.org/package/"
5201 "hslua/hslua-" version ".tar.gz"))
5202 (sha256
5203 (base32
cc784d7b 5204 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5205 (build-system haskell-build-system)
5206 (arguments
5207 `(#:configure-flags '("-fsystem-lua")))
5208 (inputs
5209 `(("lua" ,lua)
5210 ("ghc-exceptions" ,ghc-exceptions)
5211 ("ghc-fail" ,ghc-fail)))
5212 (native-inputs
5213 `(("ghc-tasty" ,ghc-tasty)
5214 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5215 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5216 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5217 ("ghc-quickcheck" ,ghc-quickcheck)
5218 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5219 (home-page "https://hackage.haskell.org/package/hslua")
5220 (synopsis "Lua language interpreter embedding in Haskell")
5221 (description
5222 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5223described in @url{https://www.lua.org/}.")
5224 (license license:expat)))
5225
ff303e4e
TS
5226(define-public ghc-hslua-module-system
5227 (package
5228 (name "ghc-hslua-module-system")
5229 (version "0.2.1")
5230 (source
5231 (origin
5232 (method url-fetch)
5233 (uri (string-append "https://hackage.haskell.org/package/"
5234 "hslua-module-system/hslua-module-system-"
5235 version ".tar.gz"))
5236 (sha256
5237 (base32
5238 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5239 (build-system haskell-build-system)
5240 (inputs
5241 `(("ghc-exceptions" ,ghc-exceptions)
5242 ("ghc-hslua" ,ghc-hslua)
5243 ("ghc-temporary" ,ghc-temporary)))
5244 (native-inputs
5245 `(("ghc-tasty" ,ghc-tasty)
5246 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5247 (home-page "https://github.com/hslua/hslua-module-system")
5248 (synopsis "Lua module wrapper around Haskell's System module")
5249 (description "This library provides access to system information and
5250functionality to Lua scripts via Haskell's @code{System} module. Intended
5251usage for this package is to preload it by adding the loader function to
5252@code{package.preload}. Note that the Lua @code{package} library must have
5253already been loaded before the loader can be added.")
5254 (license license:expat)))
5255
dddbc90c
RV
5256(define-public ghc-hslua-module-text
5257 (package
5258 (name "ghc-hslua-module-text")
ecaf0b0c 5259 (version "0.2.1")
dddbc90c
RV
5260 (source
5261 (origin
5262 (method url-fetch)
5263 (uri (string-append "https://hackage.haskell.org/package/"
5264 "hslua-module-text/hslua-module-text-"
5265 version ".tar.gz"))
5266 (sha256
5267 (base32
ecaf0b0c 5268 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5269 (build-system haskell-build-system)
dddbc90c
RV
5270 (inputs
5271 `(("ghc-hslua" ,ghc-hslua)))
5272 (native-inputs
5273 `(("ghc-tasty" ,ghc-tasty)
5274 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5275 (home-page "https://github.com/hslua/hslua-module-text")
5276 (synopsis "Lua module for text")
5277 (description
5278 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5279for Haskell. The functions provided by this module are @code{upper},
5280@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5281 (license license:expat)))
5282
fac520bf
TS
5283(define-public ghc-hsyaml
5284 (package
5285 (name "ghc-hsyaml")
5286 (version "0.1.2.0")
5287 (source
5288 (origin
5289 (method url-fetch)
5290 (uri (string-append "https://hackage.haskell.org/package/"
5291 "HsYAML/HsYAML-" version ".tar.gz"))
5292 (sha256
5293 (base32
5294 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5295 (build-system haskell-build-system)
5296 (arguments
5297 `(#:cabal-revision
5298 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5299 (home-page "https://github.com/haskell-hvr/HsYAML")
5300 (synopsis "Pure Haskell YAML 1.2 parser")
5301 (description "This library provides a
5302@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5303for Haskell. Its features include:
5304
5305@itemize
5306@item Pure Haskell implementation with small dependency footprint and
5307emphasis on strict compliance with the YAML 1.2 specification.
5308
5309@item Direct decoding to native Haskell types via (aeson-inspired)
5310typeclass-based API (see @code{Data.YAML}).
5311
5312@item Support for constructing custom YAML node graph
5313representation (including support for cyclic YAML data structures).
5314
5315@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5316@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5317typing rules as defined in the YAML 1.2 specification (including support
5318for user-defined custom schemas).
5319
5320@item Event-based API resembling LibYAML's Event-based API (see
5321@code{Data.YAML.Event}).
5322
5323@item Low-level API access to lexical token-based scanner (see
5324@code{Data.YAML.Token}).
5325@end itemize")
5326 (license license:gpl2+)))
5327
dddbc90c
RV
5328(define-public ghc-http-api-data
5329 (package
5330 (name "ghc-http-api-data")
a57236eb 5331 (version "0.4.1")
dddbc90c
RV
5332 (source
5333 (origin
5334 (method url-fetch)
5335 (uri (string-append "https://hackage.haskell.org/package/"
5336 "http-api-data-" version "/"
5337 "http-api-data-" version ".tar.gz"))
5338 (sha256
5339 (base32
a57236eb 5340 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5341 (build-system haskell-build-system)
dddbc90c
RV
5342 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5343 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5344 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5345 ("ghc-hashable" ,ghc-hashable)
5346 ("ghc-http-types" ,ghc-http-types)
a57236eb 5347 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5348 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5349 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5350 (native-inputs
5351 `(("cabal-doctest" ,cabal-doctest)
5352 ("ghc-nats" ,ghc-nats)
5353 ("ghc-hunit" ,ghc-hunit)
5354 ("ghc-hspec" ,ghc-hspec)
5355 ("ghc-quickcheck" ,ghc-quickcheck)
5356 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5357 ("ghc-doctest" ,ghc-doctest)
5358 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5359 (home-page "https://github.com/fizruk/http-api-data")
5360 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5361query parameters")
5362 (description "This Haskell package defines typeclasses used for converting
5363Haskell data types to and from HTTP API data.")
5364 (license license:bsd-3)))
5365
5366(define-public ghc-ieee754
5367 (package
5368 (name "ghc-ieee754")
5369 (version "0.8.0")
5370 (source (origin
5371 (method url-fetch)
5372 (uri (string-append
5373 "https://hackage.haskell.org/package/ieee754/"
5374 "ieee754-" version ".tar.gz"))
5375 (sha256
5376 (base32
5377 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5378 (build-system haskell-build-system)
5379 (home-page "https://github.com/patperry/hs-ieee754")
5380 (synopsis "Utilities for dealing with IEEE floating point numbers")
5381 (description "Utilities for dealing with IEEE floating point numbers,
5382ported from the Tango math library; approximate and exact equality comparisons
5383for general types.")
5384 (license license:bsd-3)))
5385
5386(define-public ghc-ifelse
5387 (package
5388 (name "ghc-ifelse")
5389 (version "0.85")
5390 (source
5391 (origin
5392 (method url-fetch)
5393 (uri (string-append "https://hackage.haskell.org/package/"
5394 "IfElse/IfElse-" version ".tar.gz"))
5395 (sha256
5396 (base32
5397 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5398 (build-system haskell-build-system)
5399 (home-page "http://hackage.haskell.org/package/IfElse")
5400 (synopsis "Monadic control flow with anaphoric variants")
5401 (description "This library provides functions for control flow inside of
5402monads with anaphoric variants on @code{if} and @code{when} and a C-like
5403@code{switch} function.")
5404 (license license:bsd-3)))
5405
5406(define-public ghc-indents
5407 (package
5408 (name "ghc-indents")
d66473fb 5409 (version "0.5.0.1")
dddbc90c
RV
5410 (source (origin
5411 (method url-fetch)
5412 (uri (string-append
5413 "https://hackage.haskell.org/package/indents/indents-"
5414 version ".tar.gz"))
5415 (sha256
5416 (base32
d66473fb 5417 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5418 (build-system haskell-build-system)
5419 ;; This package needs an older version of tasty.
5420 (arguments '(#:tests? #f))
5421 (inputs
5422 `(("ghc-concatenative" ,ghc-concatenative)))
5423 (native-inputs
5424 `(("ghc-tasty" ,ghc-tasty)
5425 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5426 (home-page "http://patch-tag.com/r/salazar/indents")
5427 (synopsis "Indentation sensitive parser-combinators for parsec")
5428 (description
5429 "This library provides functions for use in parsing indentation sensitive
5430contexts. It parses blocks of lines all indented to the same level as well as
5431lines continued at an indented level below.")
5432 (license license:bsd-3)))
5433
1f656b17
TS
5434(define-public ghc-infer-license
5435 (package
5436 (name "ghc-infer-license")
5437 (version "0.2.0")
5438 (source
5439 (origin
5440 (method url-fetch)
5441 (uri (string-append "https://hackage.haskell.org/package/"
5442 "infer-license/infer-license-" version ".tar.gz"))
5443 (sha256
5444 (base32
5445 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5446 (build-system haskell-build-system)
5447 (inputs
5448 `(("ghc-text-metrics" ,ghc-text-metrics)))
5449 (native-inputs
5450 `(("ghc-hspec" ,ghc-hspec)
5451 ("hspec-discover" ,hspec-discover)))
5452 (home-page "http://hackage.haskell.org/package/infer-license")
5453 (synopsis "Infer software license from a given license file")
5454 (description "This library provides tools to infer a software
5455license from a given license file.")
5456 (license license:expat)))
5457
dddbc90c
RV
5458(define-public ghc-inline-c
5459 (package
5460 (name "ghc-inline-c")
55ec98f2 5461 (version "0.7.0.1")
dddbc90c
RV
5462 (source
5463 (origin
5464 (method url-fetch)
5465 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5466 "inline-c-" version ".tar.gz"))
5467 (sha256
5468 (base32
55ec98f2 5469 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5470 (build-system haskell-build-system)
5471 (inputs
5472 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5473 ("ghc-cryptohash" ,ghc-cryptohash)
5474 ("ghc-hashable" ,ghc-hashable)
5475 ("ghc-parsers" ,ghc-parsers)
5476 ("ghc-unordered-containers" ,ghc-unordered-containers)
5477 ("ghc-vector" ,ghc-vector)))
5478 (native-inputs
5479 `(("ghc-quickcheck" ,ghc-quickcheck)
5480 ("ghc-hspec" ,ghc-hspec)
5481 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5482 ("ghc-regex-posix" ,ghc-regex-posix)))
5483 (home-page "http://hackage.haskell.org/package/inline-c")
5484 (synopsis "Write Haskell source files including C code inline")
5485 (description
5486 "inline-c lets you seamlessly call C libraries and embed high-performance
5487inline C code in Haskell modules. Haskell and C can be freely intermixed in
5488the same source file, and data passed to and from code in either language with
5489minimal overhead. No FFI required.")
5490 (license license:expat)))
5491
5492(define-public ghc-inline-c-cpp
5493 (package
5494 (name "ghc-inline-c-cpp")
cae58e56 5495 (version "0.3.0.3")
dddbc90c
RV
5496 (source
5497 (origin
5498 (method url-fetch)
5499 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5500 "inline-c-cpp-" version ".tar.gz"))
5501 (sha256
5502 (base32
cae58e56 5503 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5504 (build-system haskell-build-system)
5505 (inputs
5506 `(("ghc-inline-c" ,ghc-inline-c)
5507 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5508 (native-inputs
5509 `(("ghc-hspec" ,ghc-hspec)))
5510 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5511 (synopsis "Lets you embed C++ code into Haskell")
5512 (description
5513 "This package provides utilities to inline C++ code into Haskell using
5514@code{inline-c}.")
5515 (license license:expat)))
5516
5517(define-public ghc-integer-logarithms
5518 (package
5519 (name "ghc-integer-logarithms")
86a704db 5520 (version "1.0.3")
dddbc90c
RV
5521 (source
5522 (origin
5523 (method url-fetch)
5524 (uri (string-append "https://hackage.haskell.org/package/"
5525 "integer-logarithms/integer-logarithms-"
5526 version ".tar.gz"))
5527 (sha256
5528 (base32
86a704db 5529 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5530 (build-system haskell-build-system)
5531 (arguments
5532 `(#:phases
5533 (modify-phases %standard-phases
5534 (add-before 'configure 'update-constraints
5535 (lambda _
5536 (substitute* "integer-logarithms.cabal"
5537 (("tasty >= 0\\.10 && < 1\\.1")
5538 "tasty >= 0.10 && < 1.2")))))))
5539 (native-inputs
5540 `(("ghc-quickcheck" ,ghc-quickcheck)
5541 ("ghc-smallcheck" ,ghc-smallcheck)
5542 ("ghc-tasty" ,ghc-tasty)
5543 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5544 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5545 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5546 (home-page "https://github.com/Bodigrim/integer-logarithms")
5547 (synopsis "Integer logarithms")
5548 (description
5549 "This package provides the following modules:
5550@code{Math.NumberTheory.Logarithms} and
5551@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5552@code{GHC.Integer.Logarithms.Compat} and
5553@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5554in migrated modules.")
5555 (license license:expat)))
5556
5557(define-public ghc-integer-logarithms-bootstrap
5558 (package
5559 (inherit ghc-integer-logarithms)
5560 (name "ghc-integer-logarithms-bootstrap")
5561 (arguments `(#:tests? #f))
5562 (native-inputs '())
799d8d3c 5563 (properties '((hidden? #t)))))
dddbc90c
RV
5564
5565(define-public ghc-interpolate
5566 (package
5567 (name "ghc-interpolate")
5568 (version "0.2.0")
5569 (source
5570 (origin
5571 (method url-fetch)
5572 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5573 "interpolate-" version ".tar.gz"))
5574 (sha256
5575 (base32
5576 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5577 (build-system haskell-build-system)
5578 (inputs
5579 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5580 (native-inputs
5581 `(("ghc-base-compat" ,ghc-base-compat)
5582 ("ghc-hspec" ,ghc-hspec)
5583 ("ghc-quickcheck" ,ghc-quickcheck)
5584 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5585 ("hspec-discover" ,hspec-discover)))
5586 (home-page "https://github.com/sol/interpolate")
5587 (synopsis "String interpolation library")
5588 (description "This package provides a string interpolation library for
5589Haskell.")
5590 (license license:expat)))
5591
5592(define-public ghc-intervalmap
5593 (package
5594 (name "ghc-intervalmap")
e4946e32 5595 (version "0.6.1.1")
dddbc90c
RV
5596 (source
5597 (origin
5598 (method url-fetch)
5599 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5600 "IntervalMap-" version ".tar.gz"))
5601 (sha256
5602 (base32
e4946e32 5603 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5604 (build-system haskell-build-system)
5605 (native-inputs
5606 `(("ghc-quickcheck" ,ghc-quickcheck)))
5607 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5608 (synopsis "Containers for intervals, with efficient search")
5609 (description
5610 "This package provides ordered containers of intervals, with efficient
5611search for all keys containing a point or overlapping an interval. See the
5612example code on the home page for a quick introduction.")
5613 (license license:bsd-3)))
5614
5615(define-public ghc-invariant
5616 (package
5617 (name "ghc-invariant")
d3a0e0b4 5618 (version "0.5.3")
dddbc90c
RV
5619 (source
5620 (origin
5621 (method url-fetch)
5622 (uri (string-append
5623 "https://hackage.haskell.org/package/invariant/invariant-"
5624 version ".tar.gz"))
5625 (sha256
5626 (base32
d3a0e0b4 5627 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5628 (build-system haskell-build-system)
5629 (inputs
5630 `(("ghc-bifunctors" ,ghc-bifunctors)
5631 ("ghc-comonad" ,ghc-comonad)
5632 ("ghc-contravariant" ,ghc-contravariant)
5633 ("ghc-profunctors" ,ghc-profunctors)
5634 ("ghc-semigroups" ,ghc-semigroups)
5635 ("ghc-statevar" ,ghc-statevar)
5636 ("ghc-tagged" ,ghc-tagged)
5637 ("ghc-th-abstraction" ,ghc-th-abstraction)
5638 ("ghc-transformers-compat" ,ghc-transformers-compat)
5639 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5640 (native-inputs
5641 `(("ghc-hspec" ,ghc-hspec)
5642 ("ghc-quickcheck" ,ghc-quickcheck)
5643 ("hspec-discover" ,hspec-discover)))
5644 (home-page "https://github.com/nfrisby/invariant-functors")
5645 (synopsis "Haskell98 invariant functors")
5646 (description "Haskell98 invariant functors (also known as exponential
5647functors). For more information, see Edward Kmett's article
5648@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5649 (license license:bsd-2)))
5650
5651(define-public ghc-io-streams
5652 (package
5653 (name "ghc-io-streams")
59e98d75 5654 (version "1.5.1.0")
dddbc90c
RV
5655 (source
5656 (origin
5657 (method url-fetch)
5658 (uri (string-append "https://hackage.haskell.org/package/"
5659 "io-streams/io-streams-" version ".tar.gz"))
5660 (sha256
5661 (base32
59e98d75 5662 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5663 (build-system haskell-build-system)
5664 (inputs
5665 `(("ghc-attoparsec" ,ghc-attoparsec)
5666 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5667 ("ghc-network" ,ghc-network)
5668 ("ghc-primitive" ,ghc-primitive)
5669 ("ghc-vector" ,ghc-vector)
5670 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5671 (native-inputs
5672 `(("ghc-hunit" ,ghc-hunit)
5673 ("ghc-quickcheck" ,ghc-quickcheck)
5674 ("ghc-test-framework" ,ghc-test-framework)
5675 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5676 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5677 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5678 (home-page "http://hackage.haskell.org/package/io-streams")
5679 (synopsis "Simple and composable stream I/O")
5680 (description "This library contains simple and easy-to-use
5681primitives for I/O using streams.")
5682 (license license:bsd-3)))
5683
5684(define-public ghc-io-streams-haproxy
5685 (package
5686 (name "ghc-io-streams-haproxy")
1a4fbc36 5687 (version "1.0.1.0")
dddbc90c
RV
5688 (source
5689 (origin
5690 (method url-fetch)
5691 (uri (string-append "https://hackage.haskell.org/package/"
5692 "io-streams-haproxy/io-streams-haproxy-"
5693 version ".tar.gz"))
5694 (sha256
5695 (base32
1a4fbc36 5696 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5697 (build-system haskell-build-system)
5698 (inputs
5699 `(("ghc-attoparsec" ,ghc-attoparsec)
5700 ("ghc-io-streams" ,ghc-io-streams)
5701 ("ghc-network" ,ghc-network)))
5702 (native-inputs
5703 `(("ghc-hunit" ,ghc-hunit)
5704 ("ghc-test-framework" ,ghc-test-framework)
5705 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5706 (home-page "http://snapframework.com/")
5707 (synopsis "HAProxy protocol 1.5 support for io-streams")
5708 (description "HAProxy protocol version 1.5 support
5709(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5710for applications using io-streams. The proxy protocol allows information
5711about a networked peer (like remote address and port) to be propagated
5712through a forwarding proxy that is configured to speak this protocol.")
5713 (license license:bsd-3)))
5714
5715(define-public ghc-iproute
5716 (package
5717 (name "ghc-iproute")
ec25d536 5718 (version "1.7.7")
dddbc90c
RV
5719 (source
5720 (origin
5721 (method url-fetch)
5722 (uri (string-append
5723 "https://hackage.haskell.org/package/iproute/iproute-"
5724 version
5725 ".tar.gz"))
5726 (sha256
5727 (base32
ec25d536 5728 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5729 (build-system haskell-build-system)
5730 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5731 ; exported by ghc-byteorder. Doctest issue.
5732 (inputs
5733 `(("ghc-appar" ,ghc-appar)
5734 ("ghc-byteorder" ,ghc-byteorder)
5735 ("ghc-network" ,ghc-network)
5736 ("ghc-safe" ,ghc-safe)))
5737 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5738 (synopsis "IP routing table")
5739 (description "IP Routing Table is a tree of IP ranges to search one of
5740them on the longest match base. It is a kind of TRIE with one way branching
5741removed. Both IPv4 and IPv6 are supported.")
5742 (license license:bsd-3)))
5743
4828e54e
TS
5744(define-public ghc-ipynb
5745 (package
5746 (name "ghc-ipynb")
5747 (version "0.1")
5748 (source
5749 (origin
5750 (method url-fetch)
5751 (uri (string-append "https://hackage.haskell.org/package/"
5752 "ipynb/ipynb-" version ".tar.gz"))
5753 (sha256
5754 (base32
5755 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
5756 (build-system haskell-build-system)
5757 (inputs
5758 `(("ghc-unordered-containers" ,ghc-unordered-containers)
5759 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5760 ("ghc-aeson" ,ghc-aeson)
5761 ("ghc-semigroups" ,ghc-semigroups)))
5762 (native-inputs
5763 `(("ghc-tasty" ,ghc-tasty)
5764 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5765 ("ghc-aeson-diff" ,ghc-aeson-diff)
5766 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
5767 ("ghc-microlens" ,ghc-microlens)
5768 ("ghc-vector" ,ghc-vector)))
5769 (home-page "https://hackage.haskell.org/package/ipynb")
5770 (synopsis "Data structure for working with Jupyter notebooks")
5771 (description "This library defines a data structure for representing
5772Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
5773instances for conversion to and from JSON .ipynb files.")
5774 (license license:bsd-3)))
5775
dddbc90c
RV
5776(define-public ghc-iwlib
5777 (package
5778 (name "ghc-iwlib")
5779 (version "0.1.0")
5780 (source
5781 (origin
5782 (method url-fetch)
5783 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5784 version ".tar.gz"))
5785 (sha256
5786 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5787 (build-system haskell-build-system)
5788 (inputs
5789 `(("wireless-tools" ,wireless-tools)))
5790 (home-page "https://github.com/jaor/iwlib")
5791 (synopsis "Haskell binding to the iw wireless networking library")
5792 (description
5793 "IWlib is a thin Haskell binding to the iw C library. It provides
5794information about the current wireless network connections, and adapters on
5795supported systems.")
5796 (license license:bsd-3)))
5797
5798(define-public ghc-json
5799 (package
5800 (name "ghc-json")
0ad3d574 5801 (version "0.9.3")
dddbc90c
RV
5802 (source
5803 (origin
5804 (method url-fetch)
5805 (uri (string-append "https://hackage.haskell.org/package/json/"
5806 "json-" version ".tar.gz"))
5807 (sha256
5808 (base32
0ad3d574 5809 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5810 (build-system haskell-build-system)
5811 (inputs
5812 `(("ghc-syb" ,ghc-syb)))
5813 (home-page "https://hackage.haskell.org/package/json")
5814 (synopsis "Serializes Haskell data to and from JSON")
5815 (description "This package provides a parser and pretty printer for
5816converting between Haskell values and JSON.
5817JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5818 (license license:bsd-3)))
5819
5820(define-public ghc-juicypixels
5821 (package
5822 (name "ghc-juicypixels")
b50b6004 5823 (version "3.3.4")
dddbc90c
RV
5824 (source (origin
5825 (method url-fetch)
5826 (uri (string-append "https://hackage.haskell.org/package/"
5827 "JuicyPixels/JuicyPixels-"
5828 version ".tar.gz"))
5829 (sha256
5830 (base32
b50b6004 5831 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5832 (build-system haskell-build-system)
5833 (inputs
5834 `(("ghc-zlib" ,ghc-zlib)
5835 ("ghc-vector" ,ghc-vector)
5836 ("ghc-primitive" ,ghc-primitive)
5837 ("ghc-mmap" ,ghc-mmap)))
5838 (home-page "https://github.com/Twinside/Juicy.Pixels")
5839 (synopsis "Picture loading and serialization library")
5840 (description
5841 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5842TIFF and GIF formats.")
5843 (license license:bsd-3)))
5844
5845(define-public ghc-kan-extensions
5846 (package
5847 (name "ghc-kan-extensions")
5848 (version "5.2")
5849 (source
5850 (origin
5851 (method url-fetch)
5852 (uri (string-append
5853 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5854 version
5855 ".tar.gz"))
5856 (sha256
5857 (base32
5858 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5859 (build-system haskell-build-system)
5860 (inputs
5861 `(("ghc-adjunctions" ,ghc-adjunctions)
5862 ("ghc-comonad" ,ghc-comonad)
5863 ("ghc-contravariant" ,ghc-contravariant)
5864 ("ghc-distributive" ,ghc-distributive)
5865 ("ghc-free" ,ghc-free)
5866 ("ghc-invariant" ,ghc-invariant)
5867 ("ghc-semigroupoids" ,ghc-semigroupoids)
5868 ("ghc-tagged" ,ghc-tagged)
5869 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5870 (home-page "https://github.com/ekmett/kan-extensions/")
5871 (synopsis "Kan extensions library")
5872 (description "This library provides Kan extensions, Kan lifts, various
5873forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5874 (license license:bsd-3)))
5875
5876(define-public ghc-language-c
5877 (package
5878 (name "ghc-language-c")
4e1cf651 5879 (version "0.8.3")
dddbc90c
RV
5880 (source
5881 (origin
5882 (method url-fetch)
5883 (uri (string-append "https://hackage.haskell.org/package/"
5884 "language-c/language-c-" version ".tar.gz"))
5885 (sha256
5886 (base32
4e1cf651 5887 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5888 (build-system haskell-build-system)
5889 (inputs `(("ghc-syb" ,ghc-syb)))
5890 (native-inputs
5891 `(("ghc-happy" ,ghc-happy)
5892 ("ghc-alex" ,ghc-alex)))
5893 (home-page "https://visq.github.io/language-c/")
5894 (synopsis "Analysis and generation of C code")
5895 (description
5896 "Language C is a Haskell library for the analysis and generation of C code.
5897It features a complete, well-tested parser and pretty printer for all of C99
5898and a large set of GNU extensions.")
5899 (license license:bsd-3)))
5900
5901(define-public ghc-language-glsl
5902 (package
5903 (name "ghc-language-glsl")
5904 (version "0.3.0")
5905 (source
5906 (origin
5907 (method url-fetch)
5908 (uri (string-append "https://hackage.haskell.org/package/"
5909 "language-glsl/language-glsl-" version ".tar.gz"))
5910 (sha256
5911 (base32
5912 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5913 (build-system haskell-build-system)
5914 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5915 (arguments
5916 `(#:tests? #f
5917 #:cabal-revision
5918 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5919 (home-page "http://hackage.haskell.org/package/language-glsl")
5920 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5921 (description "This package is a Haskell library for the
5922representation, parsing, and pretty-printing of GLSL 1.50 code.")
5923 (license license:bsd-3)))
5924
5925(define-public ghc-language-haskell-extract
5926 (package
5927 (name "ghc-language-haskell-extract")
5928 (version "0.2.4")
5929 (source
5930 (origin
5931 (method url-fetch)
5932 (uri (string-append "https://hackage.haskell.org/package/"
5933 "language-haskell-extract-" version "/"
5934 "language-haskell-extract-" version ".tar.gz"))
5935 (sha256
5936 (base32
5937 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5938 (build-system haskell-build-system)
5939 (inputs
5940 `(("ghc-regex-posix" ,ghc-regex-posix)))
5941 (home-page "https://github.com/finnsson/template-helper")
5942 (synopsis "Haskell module to automatically extract functions from
5943the local code")
5944 (description "This package contains helper functions on top of
5945Template Haskell.
5946
5947For example, @code{functionExtractor} extracts all functions after a
5948regexp-pattern, which can be useful if you wish to extract all functions
5949beginning with @code{test} (for a test framework) or all functions beginning
5950with @code{wc} (for a web service).")
5951 (license license:bsd-3)))
5952
5953(define-public ghc-lens
5954 (package
5955 (name "ghc-lens")
262e6323 5956 (version "4.17.1")
dddbc90c
RV
5957 (source
5958 (origin
5959 (method url-fetch)
5960 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5961 version ".tar.gz"))
5962 (sha256
5963 (base32
262e6323 5964 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 5965 (build-system haskell-build-system)
dddbc90c
RV
5966 (inputs
5967 `(("ghc-base-orphans" ,ghc-base-orphans)
5968 ("ghc-bifunctors" ,ghc-bifunctors)
5969 ("ghc-distributive" ,ghc-distributive)
5970 ("ghc-exceptions" ,ghc-exceptions)
5971 ("ghc-free" ,ghc-free)
5972 ("ghc-kan-extensions" ,ghc-kan-extensions)
5973 ("ghc-parallel" ,ghc-parallel)
5974 ("ghc-reflection" ,ghc-reflection)
5975 ("ghc-semigroupoids" ,ghc-semigroupoids)
5976 ("ghc-vector" ,ghc-vector)
5977 ("ghc-call-stack" ,ghc-call-stack)
5978 ("ghc-comonad" ,ghc-comonad)
5979 ("ghc-contravariant" ,ghc-contravariant)
5980 ("ghc-hashable" ,ghc-hashable)
5981 ("ghc-profunctors" ,ghc-profunctors)
5982 ("ghc-semigroups" ,ghc-semigroups)
5983 ("ghc-tagged" ,ghc-tagged)
5984 ("ghc-transformers-compat" ,ghc-transformers-compat)
5985 ("ghc-unordered-containers" ,ghc-unordered-containers)
5986 ("ghc-void" ,ghc-void)
5987 ("ghc-generic-deriving" ,ghc-generic-deriving)
5988 ("ghc-nats" ,ghc-nats)
5989 ("ghc-simple-reflect" ,ghc-simple-reflect)
5990 ("hlint" ,hlint)))
5991 (native-inputs
5992 `(("cabal-doctest" ,cabal-doctest)
5993 ("ghc-doctest" ,ghc-doctest)
5994 ("ghc-hunit" ,ghc-hunit)
5995 ("ghc-test-framework" ,ghc-test-framework)
5996 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5997 ("ghc-test-framework-th" ,ghc-test-framework-th)
5998 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5999 ("ghc-quickcheck" ,ghc-quickcheck)))
6000 (home-page "https://github.com/ekmett/lens/")
6001 (synopsis "Lenses, Folds and Traversals")
6002 (description "This library provides @code{Control.Lens}. The combinators
6003in @code{Control.Lens} provide a highly generic toolbox for composing families
6004of getters, folds, isomorphisms, traversals, setters and lenses and their
6005indexed variants.")
6006 (license license:bsd-3)))
6007
6008(define-public ghc-libffi
6009 (package
6010 (name "ghc-libffi")
6011 (version "0.1")
6012 (source
6013 (origin
6014 (method url-fetch)
6015 (uri (string-append "https://hackage.haskell.org/package/"
6016 "libffi/libffi-" version ".tar.gz"))
6017 (sha256
6018 (base32
6019 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6020 (build-system haskell-build-system)
6021 (native-inputs `(("pkg-config" ,pkg-config)))
6022 (inputs `(("libffi" ,libffi)))
6023 (home-page "http://hackage.haskell.org/package/libffi")
6024 (synopsis "Haskell binding to libffi")
6025 (description
6026 "A binding to libffi, allowing C functions of types only known at runtime
6027to be called from Haskell.")
6028 (license license:bsd-3)))
6029
6030(define-public ghc-libmpd
6031 (package
6032 (name "ghc-libmpd")
bbf9845f 6033 (version "0.9.0.10")
dddbc90c
RV
6034 (source
6035 (origin
6036 (method url-fetch)
6037 (uri (string-append
6038 "mirror://hackage/package/libmpd/libmpd-"
6039 version
6040 ".tar.gz"))
6041 (sha256
6042 (base32
bbf9845f 6043 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6044 (build-system haskell-build-system)
6045 ;; Tests fail on i686.
6046 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6047 (arguments `(#:tests? #f))
6048 (inputs
6049 `(("ghc-attoparsec" ,ghc-attoparsec)
6050 ("ghc-old-locale" ,ghc-old-locale)
6051 ("ghc-data-default-class" ,ghc-data-default-class)
6052 ("ghc-network" ,ghc-network)
bbf9845f 6053 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6054 ("ghc-utf8-string" ,ghc-utf8-string)))
6055 (native-inputs
6056 `(("ghc-quickcheck" ,ghc-quickcheck)
6057 ("ghc-hspec" ,ghc-hspec)
6058 ("hspec-discover" ,hspec-discover)))
6059 (home-page "https://github.com/vimus/libmpd-haskell")
6060 (synopsis "Haskell client library for the Music Player Daemon")
6061 (description "This package provides a pure Haskell client library for the
6062Music Player Daemon.")
6063 (license license:expat)))
6064
e34df1c3
TS
6065(define-public ghc-lib-parser
6066 (package
6067 (name "ghc-lib-parser")
6068 (version "8.8.0.20190424")
6069 (source
6070 (origin
6071 (method url-fetch)
6072 (uri (string-append "https://hackage.haskell.org/package/"
6073 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6074 (sha256
6075 (base32
6076 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6077 (build-system haskell-build-system)
6078 (native-inputs
6079 `(("ghc-alex" ,ghc-alex)
6080 ("ghc-happy" ,ghc-happy)))
6081 (home-page "https://github.com/digital-asset/ghc-lib")
6082 (synopsis "The GHC API, decoupled from GHC versions")
6083 (description "This library implements the GHC API. It is like the
6084compiler-provided @code{ghc} package, but it can be loaded on many
6085compiler versions.")
6086 (license license:bsd-3)))
6087
dddbc90c
RV
6088(define-public ghc-libxml
6089 (package
6090 (name "ghc-libxml")
6091 (version "0.1.1")
6092 (source
6093 (origin
6094 (method url-fetch)
6095 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6096 "libxml-" version ".tar.gz"))
6097 (sha256
6098 (base32
6099 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6100 (build-system haskell-build-system)
6101 (inputs
6102 `(("libxml2" ,libxml2)))
6103 (arguments
6104 `(#:configure-flags
6105 `(,(string-append "--extra-include-dirs="
6106 (assoc-ref %build-inputs "libxml2")
6107 "/include/libxml2"))))
6108 (home-page "https://hackage.haskell.org/package/libxml")
6109 (synopsis "Haskell bindings to libxml2")
6110 (description
6111 "This library provides minimal Haskell binding to libxml2.")
6112 (license license:bsd-3)))
6113
0c2d6fc2
TS
6114(define-public ghc-libyaml
6115 (package
6116 (name "ghc-libyaml")
6117 (version "0.1.1.0")
6118 (source
6119 (origin
6120 (method url-fetch)
6121 (uri (string-append "https://hackage.haskell.org/package/"
6122 "libyaml/libyaml-" version ".tar.gz"))
6123 (sha256
6124 (base32
6125 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6126 (modules '((guix build utils)))
6127 (snippet
6128 ;; Delete bundled LibYAML.
6129 '(begin
6130 (delete-file-recursively "libyaml_src")
6131 #t))))
6132 (build-system haskell-build-system)
6133 (arguments
6134 `(#:configure-flags `("--flags=system-libyaml")))
6135 (inputs
6136 `(("ghc-conduit" ,ghc-conduit)
6137 ("ghc-resourcet" ,ghc-resourcet)
6138 ("libyaml" ,libyaml-2.1)))
6139 (home-page "https://github.com/snoyberg/yaml#readme")
6140 (synopsis "Low-level, streaming YAML interface.")
6141 (description "This package provides a Haskell wrapper over the
6142LibYAML C library.")
6143 (license license:bsd-3)))
6144
dddbc90c
RV
6145(define-public ghc-lifted-async
6146 (package
6147 (name "ghc-lifted-async")
b5b6d7ea 6148 (version "0.10.0.4")
dddbc90c
RV
6149 (source
6150 (origin
6151 (method url-fetch)
6152 (uri (string-append
6153 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6154 version ".tar.gz"))
6155 (sha256
6156 (base32
b5b6d7ea 6157 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6158 (build-system haskell-build-system)
6159 (inputs
6160 `(("ghc-async" ,ghc-async)
6161 ("ghc-lifted-base" ,ghc-lifted-base)
6162 ("ghc-transformers-base" ,ghc-transformers-base)
6163 ("ghc-monad-control" ,ghc-monad-control)
6164 ("ghc-constraints" ,ghc-constraints)
6165 ("ghc-hunit" ,ghc-hunit)
6166 ("ghc-tasty" ,ghc-tasty)
6167 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6168 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6169 ("ghc-tasty-th" ,ghc-tasty-th)))
6170 (home-page "https://github.com/maoe/lifted-async")
6171 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6172 (description
6173 "This package provides IO operations from @code{async} package lifted to any
6174instance of @code{MonadBase} or @code{MonadBaseControl}.")
6175 (license license:bsd-3)))
6176
6177(define-public ghc-lifted-base
6178 (package
6179 (name "ghc-lifted-base")
6180 (version "0.2.3.12")
6181 (source
6182 (origin
6183 (method url-fetch)
6184 (uri (string-append
6185 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6186 version
6187 ".tar.gz"))
6188 (sha256
6189 (base32
6190 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6191 (build-system haskell-build-system)
6192 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6193 (inputs
6194 `(("ghc-transformers-base" ,ghc-transformers-base)
6195 ("ghc-monad-control" ,ghc-monad-control)
6196 ("ghc-transformers-compat" ,ghc-transformers-compat)
6197 ("ghc-hunit" ,ghc-hunit)))
6198 (home-page "https://github.com/basvandijk/lifted-base")
6199 (synopsis "Lifted IO operations from the base library")
6200 (description "Lifted-base exports IO operations from the @code{base}
6201library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6202Note that not all modules from @code{base} are converted yet. The package
6203includes a copy of the @code{monad-peel} test suite written by Anders
6204Kaseorg.")
6205 (license license:bsd-3)))
6206
6207(define-public ghc-linear
6208 (package
6209 (name "ghc-linear")
86526f37 6210 (version "1.20.9")
dddbc90c
RV
6211 (source
6212 (origin
6213 (method url-fetch)
6214 (uri (string-append "https://hackage.haskell.org/package/linear/"
6215 "linear-" version ".tar.gz"))
6216 (sha256
6217 (base32
86526f37 6218 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6219 (build-system haskell-build-system)
6220 (inputs
6221 `(("ghc-adjunctions" ,ghc-adjunctions)
6222 ("ghc-base-orphans" ,ghc-base-orphans)
6223 ("ghc-bytes" ,ghc-bytes)
6224 ("ghc-cereal" ,ghc-cereal)
6225 ("ghc-distributive" ,ghc-distributive)
6226 ("ghc-hashable" ,ghc-hashable)
6227 ("ghc-lens" ,ghc-lens)
6228 ("ghc-reflection" ,ghc-reflection)
6229 ("ghc-semigroups" ,ghc-semigroups)
6230 ("ghc-semigroupoids" ,ghc-semigroupoids)
6231 ("ghc-tagged" ,ghc-tagged)
6232 ("ghc-transformers-compat" ,ghc-transformers-compat)
6233 ("ghc-unordered-containers" ,ghc-unordered-containers)
6234 ("ghc-vector" ,ghc-vector)
6235 ("ghc-void" ,ghc-void)))
6236 (native-inputs
6237 `(("cabal-doctest" ,cabal-doctest)
6238 ("ghc-doctest" ,ghc-doctest)
6239 ("ghc-simple-reflect" ,ghc-simple-reflect)
6240 ("ghc-test-framework" ,ghc-test-framework)
6241 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6242 ("ghc-hunit" ,ghc-hunit)))
6243 (home-page "http://github.com/ekmett/linear/")
6244 (synopsis "Linear algebra library for Haskell")
6245 (description
6246 "This package provides types and combinators for linear algebra on free
6247vector spaces.")
6248 (license license:bsd-3)))
1307e4c7
JS
6249
6250(define-public ghc-listlike
6251 (package
6252 (name "ghc-listlike")
6253 (version "4.6.2")
6254 (source
6255 (origin
6256 (method url-fetch)
6257 (uri
6258 (string-append
6259 "https://hackage.haskell.org/package/ListLike/ListLike-"
6260 version ".tar.gz"))
6261 (sha256
6262 (base32
6263 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6264 (build-system haskell-build-system)
6265 (inputs
6266 `(("ghc-vector" ,ghc-vector)
6267 ("ghc-dlist" ,ghc-dlist)
6268 ("ghc-fmlist" ,ghc-fmlist)
6269 ("ghc-hunit" ,ghc-hunit)
6270 ("ghc-quickcheck" ,ghc-quickcheck)
6271 ("ghc-random" ,ghc-random)
6272 ("ghc-utf8-string" ,ghc-utf8-string)))
6273 (home-page "https://github.com/JohnLato/listlike")
6274 (synopsis "Generic support for list-like structures")
6275 (description "The ListLike module provides a common interface to the
6276various Haskell types that are list-like. Predefined interfaces include
6277standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6278Custom types can easily be made ListLike instances as well.
6279
6280ListLike also provides for String-like types, such as String and
6281ByteString, for types that support input and output, and for types that
6282can handle infinite lists.")
6283 (license license:bsd-3)))
dddbc90c
RV
6284
6285(define-public ghc-logging-facade
6286 (package
6287 (name "ghc-logging-facade")
6288 (version "0.3.0")
6289 (source (origin
6290 (method url-fetch)
6291 (uri (string-append "https://hackage.haskell.org/package/"
6292 "logging-facade/logging-facade-"
6293 version ".tar.gz"))
6294 (sha256
6295 (base32
6296 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6297 (build-system haskell-build-system)
6298 (native-inputs
6299 `(("ghc-hspec" ,ghc-hspec)
6300 ("hspec-discover" ,hspec-discover)))
6301 (home-page "https://hackage.haskell.org/package/logging-facade")
6302 (synopsis "Simple logging abstraction that allows multiple back-ends")
6303 (description
6304 "This package provides a simple logging abstraction that allows multiple
6305back-ends.")
6306 (license license:expat)))
6307
6308(define-public ghc-logict
6309 (package
6310 (name "ghc-logict")
79d9326f 6311 (version "0.7.0.2")
dddbc90c
RV
6312 (source
6313 (origin
6314 (method url-fetch)
6315 (uri (string-append
6316 "https://hackage.haskell.org/package/logict/logict-"
6317 version
6318 ".tar.gz"))
6319 (sha256
6320 (base32
79d9326f 6321 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6322 (build-system haskell-build-system)
79d9326f
TS
6323 (native-inputs
6324 `(("ghc-tasty" ,ghc-tasty)
6325 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6326 (home-page "http://code.haskell.org/~dolio/")
6327 (synopsis "Backtracking logic-programming monad")
6328 (description "This library provides a continuation-based, backtracking,
6329logic programming monad. An adaptation of the two-continuation implementation
6330found in the paper \"Backtracking, Interleaving, and Terminating Monad
6331Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6332online}.")
6333 (license license:bsd-3)))
6334
6335(define-public ghc-lzma
6336 (package
6337 (name "ghc-lzma")
6338 (version "0.0.0.3")
6339 (source
6340 (origin
6341 (method url-fetch)
6342 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6343 "lzma-" version ".tar.gz"))
6344 (sha256
6345 (base32
6346 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6347 (build-system haskell-build-system)
6348 (arguments
6349 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6350 #:cabal-revision
6351 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6352 (native-inputs
6353 `(("ghc-hunit" ,ghc-hunit)
6354 ("ghc-quickcheck" ,ghc-quickcheck)
6355 ("ghc-tasty" ,ghc-tasty)
6356 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6357 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6358 (home-page "https://github.com/hvr/lzma")
6359 (synopsis "LZMA/XZ compression and decompression")
6360 (description
6361 "This package provides a pure interface for compressing and
6362decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6363monadic incremental interface is provided as well.")
6364 (license license:bsd-3)))
6365
6366(define-public ghc-lzma-conduit
6367 (package
6368 (name "ghc-lzma-conduit")
6369 (version "1.2.1")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6374 "lzma-conduit-" version ".tar.gz"))
6375 (sha256
6376 (base32
6377 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6378 (build-system haskell-build-system)
6379 (inputs
6380 `(("ghc-conduit" ,ghc-conduit)
6381 ("ghc-lzma" ,ghc-lzma)
6382 ("ghc-resourcet" ,ghc-resourcet)))
6383 (native-inputs
6384 `(("ghc-base-compat" ,ghc-base-compat)
6385 ("ghc-test-framework" ,ghc-test-framework)
6386 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6387 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6388 ("ghc-hunit" ,ghc-hunit)
6389 ("ghc-quickcheck" ,ghc-quickcheck)))
6390 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6391 (synopsis "Conduit interface for lzma/xz compression")
6392 (description
6393 "This package provides a @code{Conduit} interface for the LZMA
6394compression algorithm used in the @code{.xz} file format.")
6395 (license license:bsd-3)))
6396
e405912c
KM
6397(define-public ghc-magic
6398 (package
6399 (name "ghc-magic")
6400 (version "1.1")
6401 (source
6402 (origin
6403 (method url-fetch)
6404 (uri (string-append
6405 "https://hackage.haskell.org/package/magic/magic-"
6406 version ".tar.gz"))
6407 (sha256
6408 (base32
6409 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6410 (build-system haskell-build-system)
6411 (home-page "http://hackage.haskell.org/package/magic")
6412 (synopsis "Interface to C file/magic library")
6413 (description
6414 "This package provides a full-featured binding to the C libmagic library.
6415With it, you can determine the type of a file by examining its contents rather
6416than its name.")
6417 (license license:bsd-3)))
6418
dddbc90c
RV
6419(define-public ghc-markdown-unlit
6420 (package
6421 (name "ghc-markdown-unlit")
6422 (version "0.5.0")
6423 (source (origin
6424 (method url-fetch)
6425 (uri (string-append
6426 "mirror://hackage/package/markdown-unlit/"
6427 "markdown-unlit-" version ".tar.gz"))
6428 (sha256
6429 (base32
6430 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6431 (build-system haskell-build-system)
6432 (inputs
6433 `(("ghc-base-compat" ,ghc-base-compat)
6434 ("ghc-hspec" ,ghc-hspec)
6435 ("ghc-quickcheck" ,ghc-quickcheck)
6436 ("ghc-silently" ,ghc-silently)
6437 ("ghc-stringbuilder" ,ghc-stringbuilder)
6438 ("ghc-temporary" ,ghc-temporary)
6439 ("hspec-discover" ,hspec-discover)))
6440 (home-page "https://github.com/sol/markdown-unlit#readme")
6441 (synopsis "Literate Haskell support for Markdown")
6442 (description "This package allows you to have a README.md that at the
6443same time is a literate Haskell program.")
6444 (license license:expat)))
6445
6446(define-public ghc-math-functions
6447 (package
6448 (name "ghc-math-functions")
b45de2bf 6449 (version "0.3.3.0")
dddbc90c
RV
6450 (source
6451 (origin
6452 (method url-fetch)
6453 (uri (string-append "https://hackage.haskell.org/package/"
6454 "math-functions-" version "/"
6455 "math-functions-" version ".tar.gz"))
6456 (sha256
6457 (base32
b45de2bf 6458 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6459 (build-system haskell-build-system)
6460 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6461 (inputs
b45de2bf
TS
6462 `(("ghc-data-default-class" ,ghc-data-default-class)
6463 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6464 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6465 (native-inputs
6466 `(("ghc-hunit" ,ghc-hunit)
6467 ("ghc-quickcheck" ,ghc-quickcheck)
6468 ("ghc-erf" ,ghc-erf)
6469 ("ghc-test-framework" ,ghc-test-framework)
6470 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6471 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6472 (home-page "https://github.com/bos/math-functions")
6473 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6474 (description "This Haskell library provides implementations of
6475special mathematical functions and Chebyshev polynomials. These
6476functions are often useful in statistical and numerical computing.")
6477 (license license:bsd-3)))
6478
6479(define-public ghc-megaparsec
6480 (package
6481 (name "ghc-megaparsec")
03b0c92e 6482 (version "7.0.5")
dddbc90c
RV
6483 (source
6484 (origin
6485 (method url-fetch)
6486 (uri (string-append "https://hackage.haskell.org/package/"
6487 "megaparsec/megaparsec-"
6488 version ".tar.gz"))
6489 (sha256
6490 (base32
03b0c92e 6491 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6492 (build-system haskell-build-system)
dddbc90c
RV
6493 (inputs
6494 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6495 ("ghc-parser-combinators" ,ghc-parser-combinators)
6496 ("ghc-scientific" ,ghc-scientific)))
6497 (native-inputs
6498 `(("ghc-quickcheck" ,ghc-quickcheck)
6499 ("ghc-hspec" ,ghc-hspec)
6500 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6501 ("hspec-discover" ,hspec-discover)))
6502 (home-page "https://github.com/mrkkrp/megaparsec")
6503 (synopsis "Monadic parser combinators")
6504 (description
6505 "This is an industrial-strength monadic parser combinator library.
6506Megaparsec is a feature-rich package that strikes a nice balance between
6507speed, flexibility, and quality of parse errors.")
6508 (license license:bsd-2)))
6509
6510(define-public ghc-memory
6511 (package
6512 (name "ghc-memory")
d2c7d336 6513 (version "0.14.18")
dddbc90c
RV
6514 (source (origin
6515 (method url-fetch)
6516 (uri (string-append "https://hackage.haskell.org/package/"
6517 "memory/memory-" version ".tar.gz"))
6518 (sha256
6519 (base32
d2c7d336 6520 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6521 (build-system haskell-build-system)
6522 (inputs
6523 `(("ghc-basement" ,ghc-basement)
6524 ("ghc-foundation" ,ghc-foundation)))
6525 (native-inputs
6526 `(("ghc-tasty" ,ghc-tasty)
6527 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6528 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6529 (home-page "https://github.com/vincenthz/hs-memory")
6530 (synopsis "Memory abstractions for Haskell")
6531 (description
6532 "This package provides memory abstractions, such as chunk of memory,
6533polymorphic byte array management and manipulation functions. It contains a
6534polymorphic byte array abstraction and functions similar to strict ByteString,
6535different type of byte array abstraction, raw memory IO operations (memory
6536set, memory copy, ..) and more")
6537 (license license:bsd-3)))
6538
6539(define-public ghc-memotrie
6540 (package
6541 (name "ghc-memotrie")
6542 (version "0.6.9")
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append
6547 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6548 version
6549 ".tar.gz"))
6550 (sha256
6551 (base32
6552 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6553 (build-system haskell-build-system)
6554 (inputs
6555 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6556 (home-page "https://github.com/conal/MemoTrie")
6557 (synopsis "Trie-based memo functions")
6558 (description "This package provides a functional library for creating
6559efficient memo functions using tries.")
6560 (license license:bsd-3)))
6561
6562(define-public ghc-microlens
6563 (package
6564 (name "ghc-microlens")
82478c58 6565 (version "0.4.10")
dddbc90c
RV
6566 (source
6567 (origin
6568 (method url-fetch)
6569 (uri (string-append "https://hackage.haskell.org/package/"
6570 "microlens-" version "/"
6571 "microlens-" version ".tar.gz"))
6572 (sha256
6573 (base32
82478c58 6574 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6575 (build-system haskell-build-system)
6576 (home-page
6577 "https://github.com/aelve/microlens")
6578 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6579 (description "This Haskell package provides a lens library, just like
6580@code{ghc-lens}, but smaller. It provides essential lenses and
6581traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6582nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6583combinators (like @code{failing} and @code{singular}), but everything else is
6584stripped. As the result, this package has no dependencies.")
6585 (license license:bsd-3)))
6586
1cd3333e
TS
6587(define-public ghc-microlens-aeson
6588 (package
6589 (name "ghc-microlens-aeson")
6590 (version "2.3.0.4")
6591 (source
6592 (origin
6593 (method url-fetch)
6594 (uri (string-append "https://hackage.haskell.org/package/"
6595 "microlens-aeson/microlens-aeson-"
6596 version ".tar.gz"))
b4a00fec 6597 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
6598 (sha256
6599 (base32
6600 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
6601 (build-system haskell-build-system)
6602 (inputs
6603 `(("ghc-aeson" ,ghc-aeson)
6604 ("ghc-attoparsec" ,ghc-attoparsec)
6605 ("ghc-hashable" ,ghc-hashable)
6606 ("ghc-microlens" ,ghc-microlens)
6607 ("ghc-scientific" ,ghc-scientific)
6608 ("ghc-unordered-containers" ,ghc-unordered-containers)
6609 ("ghc-vector" ,ghc-vector)))
6610 (native-inputs
6611 `(("ghc-tasty" ,ghc-tasty)
6612 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6613 (home-page "https://github.com/fosskers/microlens-aeson")
6614 (synopsis "Law-abiding lenses for Aeson, using microlens")
6615 (description "This library provides law-abiding lenses for Aeson, using
6616microlens.")
6617 (license license:expat)))
6618
dddbc90c
RV
6619(define-public ghc-microlens-ghc
6620 (package
6621 (name "ghc-microlens-ghc")
027beb55 6622 (version "0.4.10")
dddbc90c
RV
6623 (source
6624 (origin
6625 (method url-fetch)
6626 (uri (string-append
6627 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6628 version
6629 ".tar.gz"))
6630 (sha256
6631 (base32
027beb55 6632 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6633 (build-system haskell-build-system)
6634 (inputs `(("ghc-microlens" ,ghc-microlens)))
6635 (home-page "https://github.com/monadfix/microlens")
6636 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6637 (description "This library provides everything that @code{microlens}
6638provides plus instances to make @code{each}, @code{at}, and @code{ix}
6639usable with arrays, @code{ByteString}, and containers. This package is
6640a part of the @uref{http://hackage.haskell.org/package/microlens,
6641microlens} family; see the readme
6642@uref{https://github.com/aelve/microlens#readme, on Github}.")
6643 (license license:bsd-3)))
6644
6645(define-public ghc-microlens-mtl
6646 (package
6647 (name "ghc-microlens-mtl")
6648 (version "0.1.11.1")
6649 (source
6650 (origin
6651 (method url-fetch)
6652 (uri (string-append
6653 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6654 version
6655 ".tar.gz"))
6656 (sha256
6657 (base32
6658 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6659 (build-system haskell-build-system)
6660 (inputs
6661 `(("ghc-microlens" ,ghc-microlens)
6662 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6663 (home-page "https://github.com/monadfix/microlens")
6664 (synopsis
6665 "@code{microlens} support for Reader/Writer/State from mtl")
6666 (description
6667 "This package contains functions (like @code{view} or @code{+=}) which
6668work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6669mtl package. This package is a part of the
6670@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6671readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6672 (license license:bsd-3)))
6673
6674(define-public ghc-microlens-platform
6675 (package
6676 (name "ghc-microlens-platform")
85decc1f 6677 (version "0.3.11")
dddbc90c
RV
6678 (source
6679 (origin
6680 (method url-fetch)
6681 (uri (string-append
6682 "https://hackage.haskell.org/package/"
6683 "microlens-platform/microlens-platform-" version ".tar.gz"))
6684 (sha256
6685 (base32
85decc1f 6686 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6687 (build-system haskell-build-system)
6688 (inputs
6689 `(("ghc-hashable" ,ghc-hashable)
6690 ("ghc-microlens" ,ghc-microlens)
6691 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6692 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6693 ("ghc-microlens-th" ,ghc-microlens-th)
6694 ("ghc-unordered-containers" ,ghc-unordered-containers)
6695 ("ghc-vector" ,ghc-vector)))
6696 (home-page "https://github.com/monadfix/microlens")
6697 (synopsis "Feature-complete microlens")
6698 (description
6699 "This package exports a module which is the recommended starting point
6700for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6701you aren't trying to keep your dependencies minimal. By importing
6702@code{Lens.Micro.Platform} you get all functions and instances from
6703@uref{http://hackage.haskell.org/package/microlens, microlens},
6704@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6705@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6706@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6707well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6708minor and major versions of @code{microlens-platform} are incremented whenever
6709the minor and major versions of any other @code{microlens} package are
6710incremented, so you can depend on the exact version of
6711@code{microlens-platform} without specifying the version of @code{microlens}
6712you need. This package is a part of the
6713@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6714readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6715 (license license:bsd-3)))
6716
6717(define-public ghc-microlens-th
6718 (package
6719 (name "ghc-microlens-th")
7ae52867 6720 (version "0.4.2.3")
dddbc90c
RV
6721 (source
6722 (origin
6723 (method url-fetch)
6724 (uri (string-append "https://hackage.haskell.org/package/"
6725 "microlens-th-" version "/"
6726 "microlens-th-" version ".tar.gz"))
6727 (sha256
6728 (base32
7ae52867 6729 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6730 (build-system haskell-build-system)
7ae52867
TS
6731 (arguments
6732 `(#:cabal-revision
6733 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6734 (inputs `(("ghc-microlens" ,ghc-microlens)
6735 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6736 (home-page
6737 "https://github.com/aelve/microlens")
6738 (synopsis "Automatic generation of record lenses for
6739@code{ghc-microlens}")
6740 (description "This Haskell package lets you automatically generate lenses
6741for data types; code was extracted from the lens package, and therefore
6742generated lenses are fully compatible with ones generated by lens (and can be
6743used both from lens and microlens).")
6744 (license license:bsd-3)))
6745
6746(define-public ghc-missingh
6747 (package
6748 (name "ghc-missingh")
641207cb 6749 (version "1.4.1.0")
dddbc90c
RV
6750 (source
6751 (origin
6752 (method url-fetch)
6753 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6754 "MissingH-" version ".tar.gz"))
6755 (sha256
6756 (base32
641207cb 6757 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6758 (build-system haskell-build-system)
6759 ;; Tests require the unmaintained testpack package, which depends on the
6760 ;; outdated QuickCheck version 2.7, which can no longer be built with
6761 ;; recent versions of GHC and Haskell libraries.
6762 (arguments '(#:tests? #f))
6763 (inputs
6764 `(("ghc-network" ,ghc-network)
6765 ("ghc-hunit" ,ghc-hunit)
6766 ("ghc-regex-compat" ,ghc-regex-compat)
6767 ("ghc-hslogger" ,ghc-hslogger)
6768 ("ghc-random" ,ghc-random)
6769 ("ghc-old-time" ,ghc-old-time)
6770 ("ghc-old-locale" ,ghc-old-locale)))
6771 (native-inputs
6772 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6773 ("ghc-quickcheck" ,ghc-quickcheck)
6774 ("ghc-hunit" ,ghc-hunit)))
6775 (home-page "http://software.complete.org/missingh")
6776 (synopsis "Large utility library")
6777 (description
6778 "MissingH is a library of all sorts of utility functions for Haskell
6779programmers. It is written in pure Haskell and thus should be extremely
6780portable and easy to use.")
6781 (license license:bsd-3)))
6782
6783(define-public ghc-mmap
6784 (package
6785 (name "ghc-mmap")
6786 (version "0.5.9")
6787 (source (origin
6788 (method url-fetch)
6789 (uri (string-append "https://hackage.haskell.org/package/"
6790 "mmap/mmap-" version ".tar.gz"))
6791 (sha256
6792 (base32
6793 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6794 (build-system haskell-build-system)
6795 (home-page "https://hackage.haskell.org/package/mmap")
6796 (synopsis "Memory mapped files for Haskell")
6797 (description
6798 "This library provides a wrapper to @code{mmap}, allowing files or
6799devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6800@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6801do on-demand loading.")
6802 (license license:bsd-3)))
6803
6804(define-public ghc-mmorph
6805 (package
6806 (name "ghc-mmorph")
e0389704 6807 (version "1.1.3")
dddbc90c
RV
6808 (source
6809 (origin
6810 (method url-fetch)
6811 (uri (string-append
6812 "https://hackage.haskell.org/package/mmorph/mmorph-"
6813 version
6814 ".tar.gz"))
6815 (sha256
6816 (base32
e0389704 6817 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6818 (build-system haskell-build-system)
6819 (inputs
6820 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6821 (home-page "https://hackage.haskell.org/package/mmorph")
6822 (synopsis "Monad morphisms")
6823 (description
6824 "This library provides monad morphism utilities, most commonly used for
6825manipulating monad transformer stacks.")
6826 (license license:bsd-3)))
6827
6828(define-public ghc-mockery
6829 (package
6830 (name "ghc-mockery")
6831 (version "0.3.5")
6832 (source (origin
6833 (method url-fetch)
6834 (uri (string-append "https://hackage.haskell.org/package/"
6835 "mockery/mockery-" version ".tar.gz"))
6836 (sha256
6837 (base32
6838 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6839 (build-system haskell-build-system)
6840 (inputs
6841 `(("ghc-temporary" ,ghc-temporary)
6842 ("ghc-logging-facade" ,ghc-logging-facade)
6843 ("ghc-base-compat" ,ghc-base-compat)))
6844 (native-inputs
6845 `(("ghc-hspec" ,ghc-hspec)
6846 ("hspec-discover" ,hspec-discover)))
6847 (home-page "https://hackage.haskell.org/package/mockery")
6848 (synopsis "Support functions for automated testing")
6849 (description
6850 "The mockery package provides support functions for automated testing.")
6851 (license license:expat)))
6852
6853(define-public ghc-monad-control
6854 (package
6855 (name "ghc-monad-control")
6856 (version "1.0.2.3")
6857 (source
6858 (origin
6859 (method url-fetch)
6860 (uri (string-append
6861 "https://hackage.haskell.org/package/monad-control"
6862 "/monad-control-" version ".tar.gz"))
6863 (sha256
6864 (base32
6865 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6866 (build-system haskell-build-system)
6867 (inputs
6868 `(("ghc-transformers-base" ,ghc-transformers-base)
6869 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6870 (home-page "https://github.com/basvandijk/monad-control")
6871 (synopsis "Monad transformers to lift control operations like exception
6872catching")
6873 (description "This package defines the type class @code{MonadBaseControl},
6874a subset of @code{MonadBase} into which generic control operations such as
6875@code{catch} can be lifted from @code{IO} or any other base monad.")
6876 (license license:bsd-3)))
6877
6878(define-public ghc-monad-logger
6879 (package
6880 (name "ghc-monad-logger")
26980aae 6881 (version "0.3.30")
dddbc90c
RV
6882 (source
6883 (origin
6884 (method url-fetch)
6885 (uri (string-append "https://hackage.haskell.org/package/"
6886 "monad-logger-" version "/"
6887 "monad-logger-" version ".tar.gz"))
6888 (sha256
6889 (base32
26980aae 6890 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
6891 (build-system haskell-build-system)
6892 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6893 ("ghc-stm-chans" ,ghc-stm-chans)
6894 ("ghc-lifted-base" ,ghc-lifted-base)
6895 ("ghc-resourcet" ,ghc-resourcet)
6896 ("ghc-conduit" ,ghc-conduit)
6897 ("ghc-conduit-extra" ,ghc-conduit-extra)
6898 ("ghc-fast-logger" ,ghc-fast-logger)
6899 ("ghc-transformers-base" ,ghc-transformers-base)
6900 ("ghc-monad-control" ,ghc-monad-control)
6901 ("ghc-monad-loops" ,ghc-monad-loops)
6902 ("ghc-blaze-builder" ,ghc-blaze-builder)
6903 ("ghc-exceptions" ,ghc-exceptions)))
6904 (home-page "https://github.com/kazu-yamamoto/logger")
6905 (synopsis "Provides a class of monads which can log messages for Haskell")
6906 (description "This Haskell package uses a monad transformer approach
6907for logging.
6908
6909This package provides Template Haskell functions for determining source
6910code locations of messages.")
6911 (license license:expat)))
6912
6913(define-public ghc-monad-loops
6914 (package
6915 (name "ghc-monad-loops")
6916 (version "0.4.3")
6917 (source
6918 (origin
6919 (method url-fetch)
6920 (uri (string-append "https://hackage.haskell.org/package/"
6921 "monad-loops-" version "/"
6922 "monad-loops-" version ".tar.gz"))
6923 (sha256
6924 (base32
6925 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6926 (build-system haskell-build-system)
6927 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6928 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6929 (home-page "https://github.com/mokus0/monad-loops")
6930 (synopsis "Monadic loops for Haskell")
6931 (description "This Haskell package provides some useful control
6932operators for looping.")
6933 (license license:public-domain)))
6934
6935(define-public ghc-monad-par
6936 (package
6937 (name "ghc-monad-par")
6938 (version "0.3.4.8")
6939 (source
6940 (origin
6941 (method url-fetch)
6942 (uri (string-append "https://hackage.haskell.org/package/"
6943 "monad-par-" version "/"
6944 "monad-par-" version ".tar.gz"))
faac56f3 6945 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
6946 (sha256
6947 (base32
6948 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6949 (build-system haskell-build-system)
6950 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6951 ("ghc-abstract-deque" ,ghc-abstract-deque)
6952 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6953 ("ghc-mwc-random" ,ghc-mwc-random)
6954 ("ghc-parallel" ,ghc-parallel)))
6955 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6956 ("ghc-hunit" ,ghc-hunit)
6957 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6958 ("ghc-test-framework-quickcheck2"
6959 ,ghc-test-framework-quickcheck2)
6960 ("ghc-test-framework" ,ghc-test-framework)
6961 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6962 (home-page "https://github.com/simonmar/monad-par")
6963 (synopsis "Haskell library for parallel programming based on a monad")
6964 (description "The @code{Par} monad offers an API for parallel
6965programming. The library works for parallelising both pure and @code{IO}
6966computations, although only the pure version is deterministic. The default
6967implementation provides a work-stealing scheduler and supports forking tasks
6968that are much lighter weight than IO-threads.")
6969 (license license:bsd-3)))
6970
6971(define-public ghc-monad-par-extras
6972 (package
6973 (name "ghc-monad-par-extras")
6974 (version "0.3.3")
6975 (source
6976 (origin
6977 (method url-fetch)
6978 (uri (string-append "https://hackage.haskell.org/package/"
6979 "monad-par-extras-" version "/"
6980 "monad-par-extras-" version ".tar.gz"))
6981 (sha256
6982 (base32
6983 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6984 (build-system haskell-build-system)
6985 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6986 ("ghc-cereal" ,ghc-cereal)
6987 ("ghc-random" ,ghc-random)))
6988 (home-page "https://github.com/simonmar/monad-par")
6989 (synopsis "Combinators and extra features for Par monads for Haskell")
6990 (description "This Haskell package provides additional data structures,
6991and other added capabilities layered on top of the @code{Par} monad.")
6992 (license license:bsd-3)))
6993
dddbc90c
RV
6994(define-public ghc-monadrandom
6995 (package
6996 (name "ghc-monadrandom")
6997 (version "0.5.1.1")
6998 (source
6999 (origin
7000 (method url-fetch)
7001 (uri (string-append "https://hackage.haskell.org/package/"
7002 "MonadRandom-" version "/"
7003 "MonadRandom-" version ".tar.gz"))
7004 (sha256
7005 (base32
7006 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7007 (build-system haskell-build-system)
7008 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7009 ("ghc-primitive" ,ghc-primitive)
7010 ("ghc-fail" ,ghc-fail)
7011 ("ghc-random" ,ghc-random)))
7012 (home-page "https://github.com/byorgey/MonadRandom")
7013 (synopsis "Random-number generation monad for Haskell")
7014 (description "This Haskell package provides support for computations
7015which consume random values.")
7016 (license license:bsd-3)))
7017
7018(define-public ghc-monads-tf
7019 (package
7020 (name "ghc-monads-tf")
7021 (version "0.1.0.3")
7022 (source
7023 (origin
7024 (method url-fetch)
7025 (uri (string-append
7026 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7027 version ".tar.gz"))
7028 (sha256
7029 (base32
7030 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7031 (build-system haskell-build-system)
7032 (home-page "https://hackage.haskell.org/package/monads-tf")
7033 (synopsis "Monad classes, using type families")
7034 (description
7035 "Monad classes using type families, with instances for various monad transformers,
7036inspired by the paper 'Functional Programming with Overloading and Higher-Order
7037Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7038the @code{mtl-tf} package.")
7039 (license license:bsd-3)))
7040
7041(define-public ghc-mono-traversable
7042 (package
7043 (name "ghc-mono-traversable")
23bb445b 7044 (version "1.0.13.0")
dddbc90c
RV
7045 (source
7046 (origin
7047 (method url-fetch)
7048 (uri (string-append "https://hackage.haskell.org/package/"
7049 "mono-traversable-" version "/"
7050 "mono-traversable-" version ".tar.gz"))
7051 (sha256
7052 (base32
23bb445b 7053 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7054 (build-system haskell-build-system)
7055 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7056 ("ghc-hashable" ,ghc-hashable)
7057 ("ghc-vector" ,ghc-vector)
7058 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7059 ("ghc-split" ,ghc-split)))
7060 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7061 ("ghc-hunit" ,ghc-hunit)
7062 ("ghc-quickcheck" ,ghc-quickcheck)
7063 ("ghc-semigroups" ,ghc-semigroups)
7064 ("ghc-foldl" ,ghc-foldl)))
7065 (home-page "https://github.com/snoyberg/mono-traversable")
7066 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7067containers")
7068 (description "This Haskell package provides Monomorphic variants of the
7069Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7070basic typeclasses, you understand mono-traversable. In addition to what
7071you are used to, it adds on an IsSequence typeclass and has code for marking
7072data structures as non-empty.")
7073 (license license:expat)))
7074
7075(define-public ghc-murmur-hash
7076 (package
7077 (name "ghc-murmur-hash")
7078 (version "0.1.0.9")
7079 (source
7080 (origin
7081 (method url-fetch)
7082 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7083 "/murmur-hash-" version ".tar.gz"))
7084 (sha256
7085 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7086 (build-system haskell-build-system)
7087 (home-page "https://github.com/nominolo/murmur-hash")
7088 (synopsis "MurmurHash2 implementation for Haskell")
7089 (description
7090 "This package provides an implementation of MurmurHash2, a good, fast,
7091general-purpose, non-cryptographic hashing function. See
7092@url{https://sites.google.com/site/murmurhash/} for details. This
7093implementation is pure Haskell, so it might be a bit slower than a C FFI
7094binding.")
7095 (license license:bsd-3)))
7096
7097(define-public ghc-mwc-random
7098 (package
7099 (name "ghc-mwc-random")
33268e2c 7100 (version "0.14.0.0")
dddbc90c
RV
7101 (source
7102 (origin
7103 (method url-fetch)
7104 (uri (string-append "https://hackage.haskell.org/package/"
7105 "mwc-random-" version "/"
7106 "mwc-random-" version ".tar.gz"))
7107 (sha256
7108 (base32
33268e2c 7109 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7110 (build-system haskell-build-system)
7111 (inputs
7112 `(("ghc-primitive" ,ghc-primitive)
7113 ("ghc-vector" ,ghc-vector)
7114 ("ghc-math-functions" ,ghc-math-functions)))
7115 (arguments
7116 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7117 (native-inputs
7118 `(("ghc-hunit" ,ghc-hunit)
7119 ("ghc-quickcheck" ,ghc-quickcheck)
7120 ("ghc-test-framework" ,ghc-test-framework)
7121 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7122 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7123 (home-page "https://github.com/bos/mwc-random")
7124 (synopsis "Random number generation library for Haskell")
7125 (description "This Haskell package contains code for generating
7126high quality random numbers that follow either a uniform or normal
7127distribution. The generated numbers are suitable for use in
7128statistical applications.
7129
7130The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7131multiply-with-carry generator, which has a period of 2^{8222} and
7132fares well in tests of randomness. It is also extremely fast,
7133between 2 and 3 times faster than the Mersenne Twister.")
7134 (license license:bsd-3)))
7135
7136(define-public ghc-nats
7137 (package
7138 (name "ghc-nats")
7139 (version "1.1.2")
7140 (source
7141 (origin
7142 (method url-fetch)
7143 (uri (string-append
7144 "https://hackage.haskell.org/package/nats/nats-"
7145 version
7146 ".tar.gz"))
7147 (sha256
7148 (base32
7149 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7150 (build-system haskell-build-system)
7151 (arguments `(#:haddock? #f))
7152 (inputs
7153 `(("ghc-hashable" ,ghc-hashable)))
7154 (home-page "https://hackage.haskell.org/package/nats")
7155 (synopsis "Natural numbers")
7156 (description "This library provides the natural numbers for Haskell.")
7157 (license license:bsd-3)))
7158
7159(define-public ghc-nats-bootstrap
7160 (package
7161 (inherit ghc-nats)
7162 (name "ghc-nats-bootstrap")
7163 (inputs
7164 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7165 (properties '((hidden? #t)))))
7166
52915062
EF
7167(define-public ghc-ncurses
7168 (package
7169 (name "ghc-ncurses")
7170 (version "0.2.16")
7171 (source
7172 (origin
7173 (method url-fetch)
7174 (uri (string-append
7175 "https://hackage.haskell.org/package/ncurses/ncurses-"
7176 version ".tar.gz"))
7177 (sha256
7178 (base32
7179 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7180 (build-system haskell-build-system)
7181 (arguments
7182 '(#:phases
7183 (modify-phases %standard-phases
7184 (add-before 'build 'fix-includes
7185 (lambda _
7186 (substitute* '("cbits/hsncurses-shim.h"
7187 "lib/UI/NCurses.chs"
7188 "lib/UI/NCurses/Enums.chs"
7189 "lib/UI/NCurses/Panel.chs")
7190 (("<ncursesw/") "<"))
7191 #t)))
7192 #:cabal-revision
7193 ("1"
7194 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7195 (inputs `(("ncurses" ,ncurses)))
7196 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7197 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7198 (synopsis "Modernised bindings to GNU ncurses")
7199 (description "GNU ncurses is a library for creating command-line application
7200with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7201ncurses.")
7202 (license license:gpl3)))
7203
dddbc90c
RV
7204(define-public ghc-network
7205 (package
7206 (name "ghc-network")
d4473202 7207 (version "2.8.0.1")
dddbc90c
RV
7208 (outputs '("out" "doc"))
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://hackage.haskell.org/package/network/network-"
7214 version
7215 ".tar.gz"))
7216 (sha256
7217 (base32
d4473202 7218 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7219 (build-system haskell-build-system)
7220 ;; The regression tests depend on an unpublished module.
7221 (arguments `(#:tests? #f))
7222 (native-inputs
7223 `(("ghc-hunit" ,ghc-hunit)
7224 ("ghc-doctest" ,ghc-doctest)
7225 ("ghc-test-framework" ,ghc-test-framework)
7226 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7227 (home-page "https://github.com/haskell/network")
7228 (synopsis "Low-level networking interface")
7229 (description
7230 "This package provides a low-level networking interface.")
7231 (license license:bsd-3)))
4780db2c 7232
30eebbe6
TS
7233(define-public ghc-network-bsd
7234 (package
7235 (name "ghc-network-bsd")
7236 (version "2.8.0.0")
7237 (source
7238 (origin
7239 (method url-fetch)
7240 (uri (string-append "https://hackage.haskell.org/package/"
7241 "network-bsd/network-bsd-" version ".tar.gz"))
7242 (sha256
7243 (base32
7244 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7245 (build-system haskell-build-system)
7246 (inputs
7247 `(("ghc-network" ,ghc-network)))
7248 (home-page "https://github.com/haskell/network-bsd")
7249 (synopsis "POSIX network database (<netdb.h>) API")
7250 (description "This package provides Haskell bindings to the the POSIX
7251network database (<netdb.h>) API.")
7252 (license license:bsd-3)))
7253
096781a1
TS
7254(define-public ghc-network-byte-order
7255 (package
7256 (name "ghc-network-byte-order")
7257 (version "0.1.1.1")
7258 (source
7259 (origin
7260 (method url-fetch)
7261 (uri (string-append "https://hackage.haskell.org/package/"
7262 "network-byte-order/network-byte-order-"
7263 version ".tar.gz"))
7264 (sha256
7265 (base32
7266 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7267 (build-system haskell-build-system)
7268 (native-inputs
7269 `(("ghc-doctest" ,ghc-doctest)))
7270 (home-page "http://hackage.haskell.org/package/network-byte-order")
7271 (synopsis "Network byte order utilities")
7272 (description "This library provides peek and poke functions for network
7273byte order.")
7274 (license license:bsd-3)))
7275
dddbc90c
RV
7276(define-public ghc-network-info
7277 (package
7278 (name "ghc-network-info")
7279 (version "0.2.0.10")
7280 (source
7281 (origin
7282 (method url-fetch)
7283 (uri (string-append "https://hackage.haskell.org/package/"
7284 "network-info-" version "/"
7285 "network-info-" version ".tar.gz"))
7286 (sha256
7287 (base32
7288 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7289 (build-system haskell-build-system)
7290 (home-page "https://github.com/jystic/network-info")
7291 (synopsis "Access the local computer's basic network configuration")
7292 (description "This Haskell library provides simple read-only access to the
7293local computer's networking configuration. It is currently capable of
7294getting a list of all the network interfaces and their respective
7295IPv4, IPv6 and MAC addresses.")
7296 (license license:bsd-3)))
7297
7298(define-public ghc-network-uri
7299 (package
7300 (name "ghc-network-uri")
7301 (version "2.6.1.0")
7302 (outputs '("out" "doc"))
7303 (source
7304 (origin
7305 (method url-fetch)
7306 (uri (string-append
7307 "https://hackage.haskell.org/package/network-uri/network-uri-"
7308 version
7309 ".tar.gz"))
7310 (sha256
7311 (base32
7312 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7313 (build-system haskell-build-system)
7314 (arguments
7315 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7316 (inputs
7317 `(("ghc-network" ,ghc-network)))
7318 (native-inputs
7319 `(("ghc-hunit" ,ghc-hunit)))
7320 (home-page
7321 "https://github.com/haskell/network-uri")
7322 (synopsis "Library for URI manipulation")
7323 (description "This package provides an URI manipulation interface. In
7324@code{network-2.6} the @code{Network.URI} module was split off from the
7325@code{network} package into this package.")
7326 (license license:bsd-3)))
7327
7328(define-public ghc-newtype-generics
7329 (package
7330 (name "ghc-newtype-generics")
c07e16dd 7331 (version "0.5.4")
dddbc90c
RV
7332 (source
7333 (origin
7334 (method url-fetch)
7335 (uri (string-append "https://hackage.haskell.org/package/"
7336 "newtype-generics/newtype-generics-"
7337 version ".tar.gz"))
7338 (sha256
7339 (base32
c07e16dd 7340 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7341 (build-system haskell-build-system)
7342 (native-inputs
7343 `(("ghc-hspec" ,ghc-hspec)
7344 ("hspec-discover" ,hspec-discover)))
7345 (home-page "http://github.com/sjakobi/newtype-generics")
7346 (synopsis "Typeclass and set of functions for working with newtypes")
7347 (description "The @code{Newtype} typeclass represents the packing and
7348unpacking of a newtype, and allows you to operate under that newtype with
7349functions such as @code{ala}. Generics support was added in version 0.4,
7350making this package a full replacement for the original newtype package,
7351and an alternative to newtype-th.")
7352 (license license:bsd-3)))
7353
6b652f5a
JS
7354(define-public ghc-non-negative
7355 (package
7356 (name "ghc-non-negative")
7357 (version "0.1.2")
7358 (source
7359 (origin
7360 (method url-fetch)
7361 (uri
7362 (string-append
7363 "https://hackage.haskell.org/package/non-negative/non-negative-"
7364 version ".tar.gz"))
7365 (sha256
7366 (base32
7367 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7368 (build-system haskell-build-system)
7369 (inputs
7370 `(("ghc-semigroups" ,ghc-semigroups)
7371 ("ghc-utility-ht" ,ghc-utility-ht)
7372 ("ghc-quickcheck" ,ghc-quickcheck)))
7373 (home-page "https://hackage.haskell.org/package/non-negative")
7374 (synopsis "Non-negative numbers class")
7375 (description "This library provides a class for non-negative numbers,
7376a wrapper which can turn any ordered numeric type into a member of that
7377class, and a lazy number type for non-negative numbers (a generalization
7378of Peano numbers).")
7379 (license license:gpl3+)))
7380
dddbc90c
RV
7381(define-public ghc-objectname
7382 (package
7383 (name "ghc-objectname")
7384 (version "1.1.0.1")
7385 (source
7386 (origin
7387 (method url-fetch)
7388 (uri (string-append
7389 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7390 version
7391 ".tar.gz"))
7392 (sha256
7393 (base32
7394 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7395 (build-system haskell-build-system)
7396 (home-page "https://hackage.haskell.org/package/ObjectName")
7397 (synopsis "Helper library for Haskell OpenGL")
7398 (description "This tiny package contains the class ObjectName, which
7399corresponds to the general notion of explicitly handled identifiers for API
7400objects, e.g. a texture object name in OpenGL or a buffer object name in
7401OpenAL.")
7402 (license license:bsd-3)))
7403
7404(define-public ghc-old-locale
7405 (package
7406 (name "ghc-old-locale")
7407 (version "1.0.0.7")
7408 (source
7409 (origin
7410 (method url-fetch)
7411 (uri (string-append
7412 "https://hackage.haskell.org/package/old-locale/old-locale-"
7413 version
7414 ".tar.gz"))
7415 (sha256
7416 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7417 (build-system haskell-build-system)
7418 (arguments
7419 `(#:cabal-revision
7420 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7421 (home-page "https://hackage.haskell.org/package/old-locale")
7422 (synopsis "Adapt to locale conventions")
7423 (description
7424 "This package provides the ability to adapt to locale conventions such as
7425date and time formats.")
7426 (license license:bsd-3)))
7427
7428(define-public ghc-old-time
7429 (package
7430 (name "ghc-old-time")
7431 (version "1.1.0.3")
7432 (source
7433 (origin
7434 (method url-fetch)
7435 (uri (string-append
7436 "https://hackage.haskell.org/package/old-time/old-time-"
7437 version
7438 ".tar.gz"))
7439 (sha256
7440 (base32
7441 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7442 (build-system haskell-build-system)
7443 (arguments
7444 `(#:cabal-revision
7445 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7446 (inputs
7447 `(("ghc-old-locale" ,ghc-old-locale)))
7448 (home-page "https://hackage.haskell.org/package/old-time")
7449 (synopsis "Time compatibility library for Haskell")
7450 (description "Old-time is a package for backwards compatibility with the
7451old @code{time} library. For new projects, the newer
7452@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7453 (license license:bsd-3)))
7454
7455(define-public ghc-opengl
7456 (package
7457 (name "ghc-opengl")
79a06910 7458 (version "3.0.3.0")
dddbc90c
RV
7459 (source
7460 (origin
7461 (method url-fetch)
7462 (uri (string-append
7463 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7464 version
7465 ".tar.gz"))
7466 (sha256
7467 (base32
79a06910 7468 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7469 (build-system haskell-build-system)
79a06910
TS
7470 (arguments
7471 `(#:cabal-revision
7472 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7473 (inputs
7474 `(("ghc-objectname" ,ghc-objectname)
7475 ("ghc-gluraw" ,ghc-gluraw)
7476 ("ghc-statevar" ,ghc-statevar)
7477 ("ghc-openglraw" ,ghc-openglraw)))
7478 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7479 (synopsis "Haskell bindings for the OpenGL graphics system")
7480 (description "This package provides Haskell bindings for the OpenGL
7481graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7482version 1.3).")
7483 (license license:bsd-3)))
7484
7485(define-public ghc-openglraw
7486 (package
7487 (name "ghc-openglraw")
15ebc815 7488 (version "3.3.3.0")
dddbc90c
RV
7489 (source
7490 (origin
7491 (method url-fetch)
7492 (uri (string-append
7493 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7494 version
7495 ".tar.gz"))
7496 (sha256
7497 (base32
15ebc815 7498 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7499 (build-system haskell-build-system)
7500 (inputs
7501 `(("ghc-half" ,ghc-half)
7502 ("ghc-fixed" ,ghc-fixed)
7503 ("glu" ,glu)))
7504 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7505 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7506 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7507graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7508of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7509offers access to all necessary functions, tokens and types plus a general
7510facility for loading extension entries. The module hierarchy closely mirrors
7511the naming structure of the OpenGL extensions, making it easy to find the
7512right module to import. All API entries are loaded dynamically, so no special
7513C header files are needed for building this package. If an API entry is not
7514found at runtime, a userError is thrown.")
7515 (license license:bsd-3)))
7516
7517(define-public ghc-operational
7518 (package
7519 (name "ghc-operational")
7520 (version "0.2.3.5")
7521 (source
7522 (origin
7523 (method url-fetch)
7524 (uri (string-append "https://hackage.haskell.org/package/operational/"
7525 "operational-" version ".tar.gz"))
7526 (sha256
7527 (base32
7528 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7529 (build-system haskell-build-system)
7530 (inputs
7531 `(("ghc-random" ,ghc-random)))
7532 (home-page "http://wiki.haskell.org/Operational")
7533 (synopsis "Implementation of difficult monads made easy with operational semantics")
7534 (description
7535 "This library makes it easy to implement monads with tricky control
7536flow. This is useful for: writing web applications in a sequential style,
7537programming games with a uniform interface for human and AI players and easy
7538replay capababilities, implementing fast parser monads, designing monadic
7539DSLs, etc.")
7540 (license license:bsd-3)))
7541
7542(define-public ghc-options
7543 (package
7544 (name "ghc-options")
7545 (version "1.2.1.1")
7546 (source
7547 (origin
7548 (method url-fetch)
7549 (uri (string-append
7550 "https://hackage.haskell.org/package/options/options-"
7551 version ".tar.gz"))
7552 (sha256
7553 (base32
7554 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7555 (build-system haskell-build-system)
24cf2a8b
TS
7556 (arguments
7557 `(#:phases
7558 (modify-phases %standard-phases
7559 (add-before 'configure 'update-constraints
7560 (lambda _
7561 (substitute* "options.cabal"
7562 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
7563 #t)))))
dddbc90c
RV
7564 (inputs
7565 `(("ghc-monads-tf" ,ghc-monads-tf)
7566 ("ghc-chell" ,ghc-chell)
7567 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7568 (home-page "https://john-millikin.com/software/haskell-options/")
7569 (synopsis "Powerful and easy-to-use command-line option parser")
7570 (description
7571 "The @code{options} package lets library and application developers
7572easily work with command-line options.")
7573 (license license:expat)))
7574
7575;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7576(define ghc-options-bootstrap
7577 (package
7578 (name "ghc-options-bootstrap")
7579 (version "1.2.1.1")
7580 (source
7581 (origin
7582 (method url-fetch)
7583 (uri (string-append
7584 "https://hackage.haskell.org/package/options/options-"
7585 version ".tar.gz"))
7586 (sha256
7587 (base32
7588 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7589 (build-system haskell-build-system)
7590 (arguments
7591 `(#:tests? #f))
7592 (inputs
7593 `(("ghc-monads-tf" ,ghc-monads-tf)))
7594 (home-page "https://john-millikin.com/software/haskell-options/")
7595 (synopsis "Powerful and easy-to-use command-line option parser")
7596 (description
7597 "The @code{options} package lets library and application developers
7598easily work with command-line options.")
7599 (license license:expat)))
7600
7601
7602(define-public ghc-optparse-applicative
7603 (package
7604 (name "ghc-optparse-applicative")
74bf6965 7605 (version "0.14.3.0")
dddbc90c
RV
7606 (source
7607 (origin
7608 (method url-fetch)
7609 (uri (string-append
7610 "https://hackage.haskell.org/package/optparse-applicative"
7611 "/optparse-applicative-" version ".tar.gz"))
7612 (sha256
7613 (base32
74bf6965 7614 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7615 (build-system haskell-build-system)
74bf6965
TS
7616 (arguments
7617 `(#:cabal-revision
7618 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7619 (inputs
7620 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7621 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7622 (native-inputs
7623 `(("ghc-quickcheck" ,ghc-quickcheck)))
7624 (home-page "https://github.com/pcapriotti/optparse-applicative")
7625 (synopsis "Utilities and combinators for parsing command line options")
7626 (description "This package provides utilities and combinators for parsing
7627command line options in Haskell.")
7628 (license license:bsd-3)))
7629
7630(define-public ghc-pandoc
7631 (package
7632 (name "ghc-pandoc")
d9b1567a 7633 (version "2.7.3")
dddbc90c
RV
7634 (source
7635 (origin
7636 (method url-fetch)
7637 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7638 version ".tar.gz"))
d9b1567a
TS
7639 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
7640 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
7641 (sha256
7642 (base32
d9b1567a 7643 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 7644 (build-system haskell-build-system)
dddbc90c
RV
7645 (inputs
7646 `(("ghc-aeson" ,ghc-aeson)
7647 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7648 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7649 ("ghc-blaze-html" ,ghc-blaze-html)
7650 ("ghc-blaze-markup" ,ghc-blaze-markup)
7651 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7652 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
7653 ("ghc-diff" ,ghc-diff)
7654 ("ghc-doctemplates" ,ghc-doctemplates)
7655 ("ghc-executable-path" ,ghc-executable-path)
7656 ("ghc-glob" ,ghc-glob)
7657 ("ghc-haddock-library" ,ghc-haddock-library)
7658 ("ghc-hslua" ,ghc-hslua)
d9b1567a 7659 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 7660 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 7661 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
7662 ("ghc-http" ,ghc-http)
7663 ("ghc-http-client" ,ghc-http-client)
7664 ("ghc-http-client-tls" ,ghc-http-client-tls)
7665 ("ghc-http-types" ,ghc-http-types)
d9b1567a 7666 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
7667 ("ghc-juicypixels" ,ghc-juicypixels)
7668 ("ghc-network" ,ghc-network)
7669 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
7670 ("ghc-pandoc-types" ,ghc-pandoc-types)
7671 ("ghc-random" ,ghc-random)
7672 ("ghc-scientific" ,ghc-scientific)
7673 ("ghc-sha" ,ghc-sha)
7674 ("ghc-skylighting" ,ghc-skylighting)
7675 ("ghc-split" ,ghc-split)
7676 ("ghc-syb" ,ghc-syb)
7677 ("ghc-tagsoup" ,ghc-tagsoup)
7678 ("ghc-temporary" ,ghc-temporary)
7679 ("ghc-texmath" ,ghc-texmath)
d9b1567a 7680 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
7681 ("ghc-unordered-containers" ,ghc-unordered-containers)
7682 ("ghc-vector" ,ghc-vector)
7683 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
7684 ("ghc-zip-archive" ,ghc-zip-archive)
7685 ("ghc-zlib" ,ghc-zlib)))
7686 (native-inputs
7687 `(("ghc-tasty" ,ghc-tasty)
7688 ("ghc-tasty-golden" ,ghc-tasty-golden)
7689 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 7690 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
7691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7692 ("ghc-quickcheck" ,ghc-quickcheck)
7693 ("ghc-hunit" ,ghc-hunit)))
7694 (home-page "https://pandoc.org")
7695 (synopsis "Conversion between markup formats")
7696 (description
7697 "Pandoc is a Haskell library for converting from one markup format to
7698another, and a command-line tool that uses this library. It can read and
7699write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7700LaTeX, DocBook, and many more.
7701
7702Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7703definition lists, tables, and other features. A compatibility mode is
7704provided for those who need a drop-in replacement for Markdown.pl.")
7705 (license license:gpl2+)))
7706
7707(define-public ghc-pandoc-citeproc
7708 (package
7709 (name "ghc-pandoc-citeproc")
2da02d09 7710 (version "0.16.2")
dddbc90c
RV
7711 (source
7712 (origin
7713 (method url-fetch)
7714 (uri (string-append "https://hackage.haskell.org/package/"
7715 "pandoc-citeproc/pandoc-citeproc-"
7716 version ".tar.gz"))
7717 (sha256
7718 (base32
2da02d09 7719 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
7720 (build-system haskell-build-system)
7721 (arguments
7722 `(#:phases
7723 (modify-phases %standard-phases
7724 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7725 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7726 (add-before 'configure 'patch-tests
7727 (lambda _
7728 (substitute* "tests/test-pandoc-citeproc.hs"
7729 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7730 "let allTests = citeprocTests"))))
7731 ;; Tests need to be run after installation.
7732 (delete 'check)
7733 (add-after 'install 'post-install-check
7734 (assoc-ref %standard-phases 'check)))))
7735 (inputs
7736 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7737 ("ghc-pandoc" ,ghc-pandoc)
7738 ("ghc-tagsoup" ,ghc-tagsoup)
7739 ("ghc-aeson" ,ghc-aeson)
7740 ("ghc-vector" ,ghc-vector)
7741 ("ghc-xml-conduit" ,ghc-xml-conduit)
7742 ("ghc-unordered-containers" ,ghc-unordered-containers)
7743 ("ghc-data-default" ,ghc-data-default)
7744 ("ghc-setenv" ,ghc-setenv)
7745 ("ghc-split" ,ghc-split)
7746 ("ghc-yaml" ,ghc-yaml)
7747 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7748 ("ghc-rfc5051" ,ghc-rfc5051)
7749 ("ghc-syb" ,ghc-syb)
7750 ("ghc-old-locale" ,ghc-old-locale)
7751 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7752 ("ghc-attoparsec" ,ghc-attoparsec)
7753 ("ghc-temporary" ,ghc-temporary)))
7754 (home-page "https://github.com/jgm/pandoc-citeproc")
7755 (synopsis "Library for using pandoc with citeproc")
7756 (description
7757 "The @code{pandoc-citeproc} library exports functions for using the
7758citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7759rendering bibliographic reference citations into a variety of styles using a
7760macro language called @dfn{Citation Style Language} (CSL). This package also
7761contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7762and also has a mode for converting bibliographic databases a YAML format
7763suitable for inclusion in pandoc YAML metadata.")
7764 (license license:bsd-3)))
7765
7766(define-public ghc-pandoc-types
7767 (package
7768 (name "ghc-pandoc-types")
0eaa88c8 7769 (version "1.17.6.1")
dddbc90c
RV
7770 (source (origin
7771 (method url-fetch)
7772 (uri (string-append "https://hackage.haskell.org/package/"
7773 "pandoc-types/pandoc-types-"
7774 version ".tar.gz"))
7775 (sha256
7776 (base32
0eaa88c8 7777 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7778 (build-system haskell-build-system)
7779 (inputs
7780 `(("ghc-syb" ,ghc-syb)
7781 ("ghc-aeson" ,ghc-aeson)
7782 ("ghc-string-qq" ,ghc-string-qq)))
7783 (native-inputs
7784 `(("ghc-quickcheck" ,ghc-quickcheck)
7785 ("ghc-test-framework" ,ghc-test-framework)
7786 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7787 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7788 ("ghc-hunit" ,ghc-hunit)))
7789 (home-page "http://johnmacfarlane.net/pandoc")
7790 (synopsis "Types for representing a structured document")
7791 (description
7792 "This module defines the @code{Pandoc} data structure, which is used by
7793pandoc to represent structured documents. It also provides functions for
7794building up, manipulating and serialising @code{Pandoc} structures.")
7795 (license license:bsd-3)))
7796
7797(define-public ghc-parallel
7798 (package
7799 (name "ghc-parallel")
7800 (version "3.2.2.0")
7801 (outputs '("out" "doc"))
7802 (source
7803 (origin
7804 (method url-fetch)
7805 (uri (string-append
7806 "https://hackage.haskell.org/package/parallel/parallel-"
7807 version
7808 ".tar.gz"))
7809 (sha256
7810 (base32
7811 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7812 (build-system haskell-build-system)
7813 (home-page "https://hackage.haskell.org/package/parallel")
7814 (synopsis "Parallel programming library")
7815 (description
7816 "This package provides a library for parallel programming.")
7817 (license license:bsd-3)))
7818
7819(define-public ghc-parsec-numbers
7820 (package
7821 (name "ghc-parsec-numbers")
7822 (version "0.1.0")
7823 (source
7824 (origin
7825 (method url-fetch)
7826 (uri (string-append "https://hackage.haskell.org/package/"
7827 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7828 (sha256
7829 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7830 (build-system haskell-build-system)
7831 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7832 (synopsis "Utilities for parsing numbers from strings")
7833 (description
7834 "This package provides the number parsers without the need to use a large
7835(and unportable) token parser.")
7836 (license license:bsd-3)))
7837
7838(define-public ghc-parser-combinators
7839 (package
7840 (name "ghc-parser-combinators")
2f173160 7841 (version "1.1.0")
dddbc90c
RV
7842 (source
7843 (origin
7844 (method url-fetch)
7845 (uri (string-append "https://hackage.haskell.org/package/"
7846 "parser-combinators/parser-combinators-"
7847 version ".tar.gz"))
7848 (sha256
7849 (base32
2f173160 7850 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7851 (build-system haskell-build-system)
7852 (home-page "https://github.com/mrkkrp/parser-combinators")
7853 (synopsis "Commonly useful parser combinators")
7854 (description
7855 "This is a lightweight package providing commonly useful parser
7856combinators.")
7857 (license license:bsd-3)))
7858
7859(define-public ghc-parsers
7860 (package
7861 (name "ghc-parsers")
6818f970 7862 (version "0.12.10")
dddbc90c
RV
7863 (source
7864 (origin
7865 (method url-fetch)
7866 (uri (string-append
7867 "https://hackage.haskell.org/package/parsers/parsers-"
7868 version
7869 ".tar.gz"))
7870 (sha256
7871 (base32
6818f970 7872 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7873 (build-system haskell-build-system)
7874 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7875 ; -package attoparsec-0.13.0.1"
7876 (inputs
7877 `(("ghc-base-orphans" ,ghc-base-orphans)
7878 ("ghc-attoparsec" ,ghc-attoparsec)
7879 ("ghc-scientific" ,ghc-scientific)
7880 ("ghc-charset" ,ghc-charset)
7881 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7882 (home-page "https://github.com/ekmett/parsers/")
7883 (synopsis "Parsing combinators")
7884 (description "This library provides convenient combinators for working
7885with and building parsing combinator libraries. Given a few simple instances,
7886you get access to a large number of canned definitions. Instances exist for
7887the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7888@code{Text.Read}.")
7889 (license license:bsd-3)))
7890
7891(define-public ghc-path
7892 (package
7893 (name "ghc-path")
7894 (version "0.6.1")
7895 (source
7896 (origin
7897 (method url-fetch)
7898 (uri (string-append
7899 "https://hackage.haskell.org/package/path/path-"
7900 version
7901 ".tar.gz"))
7902 (sha256
7903 (base32
7904 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7905 (build-system haskell-build-system)
7906 (arguments
7907 ;; TODO: There are some Windows-related tests and modules that need to be
7908 ;; danced around.
7909 `(#:tests? #f
7910 #:cabal-revision
7911 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7912 (inputs
7913 `(("ghc-aeson" ,ghc-aeson)
7914 ("ghc-exceptions" ,ghc-exceptions)
7915 ("ghc-hashable" ,ghc-hashable)))
7916 (native-inputs
7917 `(("ghc-hspec" ,ghc-hspec)
7918 ("ghc-quickcheck" ,ghc-quickcheck)
7919 ("ghc-genvalidity" ,ghc-genvalidity)
7920 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7921 ("ghc-hspec" ,ghc-hspec)
7922 ("ghc-validity" ,ghc-validity)))
7923 (home-page
7924 "http://hackage.haskell.org/package/path")
7925 (synopsis "Support for well-typed paths")
7926 (description "This package introduces a type for paths upholding useful
7927invariants.")
7928 (license license:bsd-3)))
7929
7930(define-public ghc-path-io
7931 (package
7932 (name "ghc-path-io")
a06613ea 7933 (version "1.4.2")
dddbc90c
RV
7934 (source
7935 (origin
7936 (method url-fetch)
7937 (uri (string-append
7938 "https://hackage.haskell.org/package/path-io/path-io-"
7939 version
7940 ".tar.gz"))
7941 (sha256
7942 (base32
a06613ea 7943 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
7944 (build-system haskell-build-system)
7945 (inputs
7946 `(("ghc-dlist" ,ghc-dlist)
7947 ("ghc-exceptions" ,ghc-exceptions)
7948 ("ghc-path" ,ghc-path)
7949 ("ghc-transformers-base" ,ghc-transformers-base)
7950 ("ghc-unix-compat" ,ghc-unix-compat)
7951 ("ghc-temporary" ,ghc-temporary)))
7952 (native-inputs
7953 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
7954 (home-page
7955 "https://github.com/mrkkrp/path-io")
7956 (synopsis "Functions for manipulating well-typed paths")
7957 (description "This package provides an interface to the @code{directory}
7958package for users of @code{path}. It also implements some missing stuff like
7959recursive scanning and copying of directories, working with temporary
7960files/directories, and more.")
7961 (license license:bsd-3)))
7962
7963(define-public ghc-paths
7964 (package
7965 (name "ghc-paths")
9a8adeb1 7966 (version "0.1.0.12")
dddbc90c
RV
7967 (outputs '("out" "doc"))
7968 (source
7969 (origin
7970 (method url-fetch)
7971 (uri (string-append
7972 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7973 version
7974 ".tar.gz"))
7975 (sha256
7976 (base32
9a8adeb1 7977 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7978 (build-system haskell-build-system)
7979 (home-page "https://github.com/simonmar/ghc-paths")
7980 (synopsis
7981 "Knowledge of GHC's installation directories")
7982 (description
7983 "Knowledge of GHC's installation directories.")
7984 (license license:bsd-3)))
7985
7986(define-public ghc-patience
7987 (package
7988 (name "ghc-patience")
484476f3 7989 (version "0.3")
dddbc90c
RV
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append
7994 "https://hackage.haskell.org/package/patience/patience-"
7995 version ".tar.gz"))
7996 (sha256
7997 (base32
484476f3 7998 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7999 (build-system haskell-build-system)
8000 (home-page "https://hackage.haskell.org/package/patience")
8001 (synopsis "Patience diff and longest increasing subsequence")
8002 (description
8003 "This library implements the 'patience diff' algorithm, as well as the
8004patience algorithm for the longest increasing subsequence problem.
8005Patience diff computes the difference between two lists, for example the lines
8006of two versions of a source file. It provides a good balance between
8007performance, nice output for humans, and simplicity of implementation.")
8008 (license license:bsd-3)))
8009
8010(define-public ghc-pcre-light
8011 (package
8012 (name "ghc-pcre-light")
8013 (version "0.4.0.4")
8014 (source
8015 (origin
8016 (method url-fetch)
8017 (uri (string-append
8018 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8019 version
8020 ".tar.gz"))
8021 (sha256
8022 (base32
8023 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8024 (build-system haskell-build-system)
8025 (inputs
8026 `(("pcre" ,pcre)))
8027 (native-inputs
8028 `(("pkg-config" ,pkg-config)))
8029 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8030 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8031 (description "This package provides a small, efficient, and portable regex
8032library for Perl 5 compatible regular expressions. The PCRE library is a set
8033of functions that implement regular expression pattern matching using the same
8034syntax and semantics as Perl 5.")
8035 (license license:bsd-3)))
8036
8037(define-public ghc-persistent
8038 (package
8039 (name "ghc-persistent")
18a38da5 8040 (version "2.9.2")
dddbc90c
RV
8041 (source
8042 (origin
8043 (method url-fetch)
8044 (uri (string-append "https://hackage.haskell.org/package/"
8045 "persistent-" version "/"
8046 "persistent-" version ".tar.gz"))
8047 (sha256
8048 (base32
18a38da5 8049 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8050 (build-system haskell-build-system)
8051 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8052 ("ghc-conduit" ,ghc-conduit)
8053 ("ghc-resourcet" ,ghc-resourcet)
8054 ("ghc-exceptions" ,ghc-exceptions)
8055 ("ghc-monad-control" ,ghc-monad-control)
8056 ("ghc-lifted-base" ,ghc-lifted-base)
8057 ("ghc-resource-pool" ,ghc-resource-pool)
8058 ("ghc-path-pieces" ,ghc-path-pieces)
8059 ("ghc-http-api-data" ,ghc-http-api-data)
8060 ("ghc-aeson" ,ghc-aeson)
8061 ("ghc-monad-logger" ,ghc-monad-logger)
8062 ("ghc-transformers-base" ,ghc-transformers-base)
8063 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8064 ("ghc-unordered-containers" ,ghc-unordered-containers)
8065 ("ghc-vector" ,ghc-vector)
8066 ("ghc-attoparsec" ,ghc-attoparsec)
8067 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8068 ("ghc-blaze-html" ,ghc-blaze-html)
8069 ("ghc-blaze-markup" ,ghc-blaze-markup)
8070 ("ghc-silently" ,ghc-silently)
8071 ("ghc-fast-logger" ,ghc-fast-logger)
8072 ("ghc-scientific" ,ghc-scientific)
8073 ("ghc-tagged" ,ghc-tagged)
8074 ("ghc-void" ,ghc-void)))
8075 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8076 (home-page "https://www.yesodweb.com/book/persistent")
8077 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8078 (description "This Haskell package allows Haskell programs to access data
8079storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8080way.")
8081 (license license:expat)))
8082
8083(define-public ghc-persistent-sqlite
8084 (package
8085 (name "ghc-persistent-sqlite")
801fbd7e 8086 (version "2.9.3")
dddbc90c
RV
8087 (source
8088 (origin
8089 (method url-fetch)
8090 (uri (string-append "https://hackage.haskell.org/package/"
8091 "persistent-sqlite-" version "/"
8092 "persistent-sqlite-" version ".tar.gz"))
8093 (sha256
8094 (base32
801fbd7e 8095 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8096 (build-system haskell-build-system)
8097 (inputs `(("ghc-persistent" ,ghc-persistent)
8098 ("ghc-unliftio-core" ,ghc-unliftio-core)
8099 ("ghc-aeson" ,ghc-aeson)
8100 ("ghc-conduit" ,ghc-conduit)
8101 ("ghc-monad-logger" ,ghc-monad-logger)
8102 ("ghc-microlens-th" ,ghc-microlens-th)
8103 ("ghc-resourcet" ,ghc-resourcet)
8104 ("ghc-old-locale" ,ghc-old-locale)
8105 ("ghc-resource-pool" ,ghc-resource-pool)
8106 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8107 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8108 ("ghc-persistent-template" ,ghc-persistent-template)
8109 ("ghc-temporary" ,ghc-temporary)))
8110 (home-page
8111 "https://www.yesodweb.com/book/persistent")
8112 (synopsis "Backend for the persistent library using sqlite3")
8113 (description "This Haskell package includes a thin sqlite3 wrapper based
8114on the direct-sqlite package, as well as the entire C library, so there are no
8115system dependencies.")
8116 (license license:expat)))
8117
8118(define-public ghc-persistent-template
8119 (package
8120 (name "ghc-persistent-template")
bc78e0d9 8121 (version "2.6.0")
dddbc90c
RV
8122 (source
8123 (origin
8124 (method url-fetch)
8125 (uri (string-append "https://hackage.haskell.org/package/"
8126 "persistent-template-" version "/"
8127 "persistent-template-" version ".tar.gz"))
8128 (sha256
8129 (base32
bc78e0d9 8130 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8131 (build-system haskell-build-system)
dddbc90c
RV
8132 (inputs `(("ghc-persistent" ,ghc-persistent)
8133 ("ghc-monad-control" ,ghc-monad-control)
8134 ("ghc-aeson" ,ghc-aeson)
8135 ("ghc-aeson-compat" ,ghc-aeson-compat)
8136 ("ghc-monad-logger" ,ghc-monad-logger)
8137 ("ghc-unordered-containers" ,ghc-unordered-containers)
8138 ("ghc-tagged" ,ghc-tagged)
8139 ("ghc-path-pieces" ,ghc-path-pieces)
8140 ("ghc-http-api-data" ,ghc-http-api-data)))
8141 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8142 ("ghc-quickcheck" ,ghc-quickcheck)))
8143 (home-page "https://www.yesodweb.com/book/persistent")
8144 (synopsis "Type-safe, non-relational, multi-backend persistence")
8145 (description "This Haskell package provides interfaces and helper
8146functions for the ghc-persistent package.")
8147 (license license:expat)))
8148
8149(define-public ghc-polyparse
8150 (package
8151 (name "ghc-polyparse")
9822b9ca 8152 (version "1.12.1")
dddbc90c
RV
8153 (source
8154 (origin
8155 (method url-fetch)
8156 (uri (string-append
8157 "https://hackage.haskell.org/package/polyparse/polyparse-"
8158 version
8159 ".tar.gz"))
8160 (sha256
8161 (base32
9822b9ca 8162 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8163 (build-system haskell-build-system)
8164 (home-page
8165 "http://code.haskell.org/~malcolm/polyparse/")
8166 (synopsis
8167 "Alternative parser combinator libraries")
8168 (description
8169 "This package provides a variety of alternative parser combinator
8170libraries, including the original HuttonMeijer set. The Poly sets have
8171features like good error reporting, arbitrary token type, running state, lazy
8172parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8173standard Read class, for better deserialisation of Haskell values from
8174Strings.")
8175 (license license:lgpl2.1)))
8176
8177(define-public ghc-pqueue
8178 (package
8179 (name "ghc-pqueue")
142415b0 8180 (version "1.4.1.2")
dddbc90c
RV
8181 (source
8182 (origin
8183 (method url-fetch)
8184 (uri (string-append "https://hackage.haskell.org/package/"
8185 "pqueue/pqueue-" version ".tar.gz"))
8186 (sha256
8187 (base32
142415b0 8188 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8189 (build-system haskell-build-system)
8190 (native-inputs
8191 `(("ghc-quickcheck" ,ghc-quickcheck)))
8192 (home-page "https://hackage.haskell.org/package/pqueue")
8193 (synopsis "Reliable, persistent, fast priority queues")
8194 (description
8195 "This package provides a fast, reliable priority queue implementation
8196based on a binomial heap.")
8197 (license license:bsd-3)))
8198
8199(define-public ghc-prelude-extras
8200 (package
8201 (name "ghc-prelude-extras")
8202 (version "0.4.0.3")
8203 (source
8204 (origin
8205 (method url-fetch)
8206 (uri (string-append
8207 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8208 version
8209 ".tar.gz"))
8210 (sha256
8211 (base32
8212 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8213 (build-system haskell-build-system)
8214 (home-page "https://github.com/ekmett/prelude-extras")
8215 (synopsis "Higher order versions of Prelude classes")
8216 (description "This library provides higher order versions of
8217@code{Prelude} classes to ease programming with polymorphic recursion and
8218reduce @code{UndecidableInstances}.")
8219 (license license:bsd-3)))
8220
8221(define-public ghc-prettyclass
8222 (package
8223 (name "ghc-prettyclass")
8224 (version "1.0.0.0")
8225 (source
8226 (origin
8227 (method url-fetch)
8228 (uri (string-append "https://hackage.haskell.org/package/"
8229 "prettyclass/prettyclass-" version ".tar.gz"))
8230 (sha256
8231 (base32
8232 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8233 (build-system haskell-build-system)
8234 (home-page "http://hackage.haskell.org/package/prettyclass")
8235 (synopsis "Pretty printing class similar to Show")
8236 (description "This package provides a pretty printing class similar
8237to @code{Show}, based on the HughesPJ pretty printing library. It
8238provides the pretty printing class and instances for the Prelude
8239types.")
8240 (license license:bsd-3)))
8241
8242(define-public ghc-pretty-hex
8243 (package
8244 (name "ghc-pretty-hex")
8245 (version "1.0")
8246 (source
8247 (origin
8248 (method url-fetch)
8249 (uri (string-append "https://hackage.haskell.org/package/"
8250 "pretty-hex-" version "/"
8251 "pretty-hex-" version ".tar.gz"))
8252 (sha256
8253 (base32
8254 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8255 (build-system haskell-build-system)
8256 (home-page "https://github.com/GaloisInc/hexdump")
8257 (synopsis "Haskell library for hex dumps of ByteStrings")
8258 (description "This Haskell library generates pretty hex dumps of
8259ByteStrings in the style of other common *nix hex dump tools.")
8260 (license license:bsd-3)))
8261
8262(define-public ghc-pretty-show
8263 (package
8264 (name "ghc-pretty-show")
7683a084 8265 (version "1.9.5")
dddbc90c
RV
8266 (source
8267 (origin
8268 (method url-fetch)
8269 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8270 "pretty-show-" version ".tar.gz"))
8271 (sha256
8272 (base32
7683a084 8273 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8274 (build-system haskell-build-system)
8275 (inputs
8276 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8277 ("ghc-happy" ,ghc-happy)))
8278 (home-page "http://wiki.github.com/yav/pretty-show")
8279 (synopsis "Tools for working with derived `Show` instances")
8280 (description
8281 "This package provides a library and an executable for working with
8282derived @code{Show} instances. By using the library, derived @code{Show}
8283instances can be parsed into a generic data structure. The @code{ppsh} tool
8284uses the library to produce human-readable versions of @code{Show} instances,
8285which can be quite handy for debugging Haskell programs. We can also render
8286complex generic values into an interactive Html page, for easier
8287examination.")
8288 (license license:expat)))
8289
8290(define-public ghc-primitive
8291 (package
8292 (name "ghc-primitive")
8293 (version "0.6.4.0")
8294 (outputs '("out" "doc"))
8295 (source
8296 (origin
8297 (method url-fetch)
8298 (uri (string-append
8299 "https://hackage.haskell.org/package/primitive/primitive-"
8300 version
8301 ".tar.gz"))
8302 (sha256
8303 (base32
8304 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8305 (build-system haskell-build-system)
6cf0daa4
TS
8306 (arguments
8307 `(#:cabal-revision
8308 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8309 (home-page
8310 "https://github.com/haskell/primitive")
8311 (synopsis "Primitive memory-related operations")
8312 (description
8313 "This package provides various primitive memory-related operations.")
8314 (license license:bsd-3)))
8315
21f5b9a9
JS
8316(define-public ghc-process-extras
8317 (package
8318 (name "ghc-process-extras")
8319 (version "0.7.4")
8320 (source
8321 (origin
8322 (method url-fetch)
8323 (uri
8324 (string-append
8325 "https://hackage.haskell.org/package/process-extras/"
8326 "process-extras-" version ".tar.gz"))
8327 (sha256
8328 (base32
8329 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8330 (build-system haskell-build-system)
8331 (inputs
8332 `(("ghc-data-default" ,ghc-data-default)
8333 ("ghc-generic-deriving" ,ghc-generic-deriving)
8334 ("ghc-hunit" ,ghc-hunit)
8335 ("ghc-listlike" ,ghc-listlike)))
8336 (home-page "https://github.com/seereason/process-extras")
8337 (synopsis "Extra tools for managing processes")
f74b6983 8338 (description "This package extends
21f5b9a9
JS
8339@url{http://hackage.haskell.org/package/process}. It allows you to read
8340process input and output as ByteStrings or Text, or write your own
8341ProcessOutput instance. It also provides lazy process input and output,
8342and a ProcessMaker class for more flexibility in the process creation
8343API.")
8344 (license license:expat)))
8345
dddbc90c
RV
8346(define-public ghc-profunctors
8347 (package
8348 (name "ghc-profunctors")
899b5297 8349 (version "5.3")
dddbc90c
RV
8350 (source
8351 (origin
8352 (method url-fetch)
8353 (uri (string-append
8354 "https://hackage.haskell.org/package/profunctors/profunctors-"
8355 version
8356 ".tar.gz"))
8357 (sha256
8358 (base32
899b5297 8359 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8360 (build-system haskell-build-system)
dddbc90c
RV
8361 (inputs
8362 `(("ghc-base-orphans" ,ghc-base-orphans)
8363 ("ghc-bifunctors" ,ghc-bifunctors)
8364 ("ghc-comonad" ,ghc-comonad)
8365 ("ghc-contravariant" ,ghc-contravariant)
8366 ("ghc-distributive" ,ghc-distributive)
8367 ("ghc-semigroups" ,ghc-semigroups)
8368 ("ghc-tagged" ,ghc-tagged)))
8369 (home-page "https://github.com/ekmett/profunctors/")
8370 (synopsis "Profunctors for Haskell")
8371 (description "This library provides profunctors for Haskell.")
8372 (license license:bsd-3)))
8373
8374(define-public ghc-psqueues
8375 (package
8376 (name "ghc-psqueues")
5d133942 8377 (version "0.2.7.2")
dddbc90c
RV
8378 (source
8379 (origin
8380 (method url-fetch)
8381 (uri (string-append "https://hackage.haskell.org/package/"
8382 "psqueues-" version "/"
8383 "psqueues-" version ".tar.gz"))
8384 (sha256
8385 (base32
5d133942 8386 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8387 (build-system haskell-build-system)
8388 (inputs
8389 `(("ghc-hashable" ,ghc-hashable)))
8390 (native-inputs
8391 `(("ghc-hunit" ,ghc-hunit)
8392 ("ghc-quickcheck" ,ghc-quickcheck)
8393 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8394 ("ghc-tasty" ,ghc-tasty)
8395 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8396 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8397 (home-page "https://github.com/jaspervdj/psqueues")
8398 (synopsis "Pure priority search queues")
8399 (description "The psqueues package provides
8400@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8401three different flavors:
8402
8403@itemize
8404@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8405fast insertion, deletion and lookup. This implementation is based on Ralf
8406Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8407Implementation Technique for Priority Search Queues}.
8408
8409Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8410PSQueue} library, although it is considerably faster and provides a slightly
8411different API.
8412
8413@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8414key type to @code{Int} and uses a
8415@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8416with an additional min-heap property.
8417
8418@item @code{HashPSQ k p v} is a fairly straightforward extension
8419of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8420@code{IntPSQ}. If there are any hash collisions, it uses an
8421@code{OrdPSQ} to resolve those. The performance of this implementation
8422is comparable to that of @code{IntPSQ}, but it is more widely
8423applicable since the keys are not restricted to @code{Int},
8424but rather to any @code{Hashable} datatype.
8425@end itemize
8426
8427Each of the three implementations provides the same API, so they can
8428be used interchangeably.
8429
8430Typical applications of Priority Search Queues include:
8431
8432@itemize
8433@item Caches, and more specifically LRU Caches;
8434@item Schedulers;
8435@item Pathfinding algorithms, such as Dijkstra's and A*.
8436@end itemize")
8437 (license license:bsd-3)))
8438
8439(define-public ghc-random
8440 (package
8441 (name "ghc-random")
8442 (version "1.1")
8443 (outputs '("out" "doc"))
8444 (source
8445 (origin
8446 (method url-fetch)
8447 (uri (string-append
8448 "https://hackage.haskell.org/package/random/random-"
8449 version
8450 ".tar.gz"))
8451 (sha256
8452 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8453 (build-system haskell-build-system)
8454 (home-page "https://hackage.haskell.org/package/random")
8455 (synopsis "Random number library")
8456 (description "This package provides a basic random number generation
8457library, including the ability to split random number generators.")
8458 (license license:bsd-3)))
8459
8460(define-public ghc-raw-strings-qq
8461 (package
8462 (name "ghc-raw-strings-qq")
8463 (version "1.1")
8464 (source
8465 (origin
8466 (method url-fetch)
8467 (uri (string-append "https://hackage.haskell.org/package/"
8468 "raw-strings-qq/raw-strings-qq-"
8469 version ".tar.gz"))
8470 (sha256
8471 (base32
8472 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8473 (build-system haskell-build-system)
8474 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8475 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8476 (synopsis "Raw string literals for Haskell")
8477 (description
8478 "This package provides a quasiquoter for raw string literals, i.e. string
8479literals that don't recognise the standard escape sequences. Basically, they
8480make your code more readable by freeing you from the responsibility to escape
8481backslashes. They are useful when working with regular expressions,
8482DOS/Windows paths and markup languages (such as XML).")
8483 (license license:bsd-3)))
8484
8485(define-public ghc-readable
8486 (package
8487 (name "ghc-readable")
8488 (version "0.3.1")
8489 (source
8490 (origin
8491 (method url-fetch)
8492 (uri (string-append "https://hackage.haskell.org/package/"
8493 "readable/readable-" version ".tar.gz"))
8494 (sha256
8495 (base32
8496 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8497 (build-system haskell-build-system)
8498 (home-page "https://github.com/mightybyte/readable")
8499 (synopsis "Type class for reading from Text and ByteString")
8500 (description "This package provides a @code{Readable} type class for
8501reading data types from @code{ByteString} and @code{Text}. It also
8502includes efficient implementations for common data types.")
8503 (license license:bsd-3)))
8504
8505(define-public ghc-rebase
8506 (package
8507 (name "ghc-rebase")
8d2ae3fe 8508 (version "1.3.1.1")
dddbc90c
RV
8509 (source
8510 (origin
8511 (method url-fetch)
8512 (uri (string-append "https://hackage.haskell.org/package/"
8513 "rebase-" version "/"
8514 "rebase-" version ".tar.gz"))
8515 (sha256
8516 (base32
8d2ae3fe 8517 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8518 (build-system haskell-build-system)
8519 (inputs `(("ghc-hashable" ,ghc-hashable)
8520 ("ghc-vector" ,ghc-vector)
8521 ("ghc-unordered-containers" ,ghc-unordered-containers)
8522 ("ghc-scientific" ,ghc-scientific)
8523 ("ghc-uuid" ,ghc-uuid)
8524 ("ghc-dlist" ,ghc-dlist)
8525 ("ghc-void" ,ghc-void)
8526 ("ghc-bifunctors" ,ghc-bifunctors)
8527 ("ghc-profunctors" ,ghc-profunctors)
8528 ("ghc-contravariant" ,ghc-contravariant)
8529 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8530 ("ghc-semigroups" ,ghc-semigroups)
8531 ("ghc-either" ,ghc-either)
8532 ("ghc-fail" ,ghc-fail)
8533 ("ghc-base-prelude" ,ghc-base-prelude)))
8534 (home-page "https://github.com/nikita-volkov/rebase")
8535 (synopsis "Progressive alternative to the base package
8536for Haskell")
8537 (description "This Haskell package is intended for those who are
8538tired of keeping long lists of dependencies to the same essential libraries
8539in each package as well as the endless imports of the same APIs all over again.
8540
8541It also supports the modern tendencies in the language.
8542
8543To solve those problems this package does the following:
8544
8545@itemize
8546@item Reexport the original APIs under the @code{Rebase} namespace.
8547
8548@item Export all the possible non-conflicting symbols from the
8549@code{Rebase.Prelude} module.
8550
8551@item Give priority to the modern practices in the conflicting cases.
8552@end itemize
8553
8554The policy behind the package is only to reexport the non-ambiguous and
8555non-controversial APIs, which the community has obviously settled on.
8556The package is intended to rapidly evolve with the contribution from
8557the community, with the missing features being added with pull-requests.")
8558 (license license:expat)))
8559
8560(define-public ghc-reducers
8561 (package
8562 (name "ghc-reducers")
8563 (version "3.12.3")
8564 (source
8565 (origin
8566 (method url-fetch)
8567 (uri (string-append
8568 "https://hackage.haskell.org/package/reducers/reducers-"
8569 version
8570 ".tar.gz"))
8571 (sha256
8572 (base32
8573 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8574 (build-system haskell-build-system)
8575 (inputs
8576 `(("ghc-fingertree" ,ghc-fingertree)
8577 ("ghc-hashable" ,ghc-hashable)
8578 ("ghc-unordered-containers" ,ghc-unordered-containers)
8579 ("ghc-semigroupoids" ,ghc-semigroupoids)
8580 ("ghc-semigroups" ,ghc-semigroups)))
8581 (home-page "https://github.com/ekmett/reducers/")
8582 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8583 (description "This library provides various semigroups, specialized
8584containers and a general map/reduce framework for Haskell.")
8585 (license license:bsd-3)))
8586
8587(define-public ghc-refact
8588 (package
8589 (name "ghc-refact")
8590 (version "0.3.0.2")
8591 (source
8592 (origin
8593 (method url-fetch)
8594 (uri (string-append "https://hackage.haskell.org/package/"
8595 "refact/refact-"
8596 version ".tar.gz"))
8597 (sha256
8598 (base32
8599 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8600 (build-system haskell-build-system)
8601 (home-page "http://hackage.haskell.org/package/refact")
8602 (synopsis "Specify refactorings to perform with apply-refact")
8603 (description
8604 "This library provides a datatype which can be interpreted by
8605@code{apply-refact}. It exists as a separate library so that applications can
8606specify refactorings without depending on GHC.")
8607 (license license:bsd-3)))
8608
8609(define-public ghc-reflection
8610 (package
8611 (name "ghc-reflection")
d215f1cc 8612 (version "2.1.5")
dddbc90c
RV
8613 (source
8614 (origin
8615 (method url-fetch)
8616 (uri (string-append
8617 "https://hackage.haskell.org/package/reflection/reflection-"
8618 version
8619 ".tar.gz"))
8620 (sha256
8621 (base32
d215f1cc 8622 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8623 (build-system haskell-build-system)
8624 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8625 (native-inputs
8626 `(("ghc-hspec" ,ghc-hspec)
8627 ("ghc-quickcheck" ,ghc-quickcheck)
8628 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8629 (home-page "https://github.com/ekmett/reflection")
8630 (synopsis "Reify arbitrary terms into types that can be reflected back
8631into terms")
8632 (description "This package addresses the 'configuration problem' which is
8633propagating configurations that are available at run-time, allowing multiple
8634configurations to coexist without resorting to mutable global variables or
8635@code{System.IO.Unsafe.unsafePerformIO}.")
8636 (license license:bsd-3)))
8637
8638(define-public ghc-regex
8639 (package
8640 (name "ghc-regex")
b9a5e634 8641 (version "1.0.2.0")
dddbc90c
RV
8642 (source
8643 (origin
8644 (method url-fetch)
8645 (uri (string-append "https://hackage.haskell.org/package/regex/"
8646 "regex-" version ".tar.gz"))
8647 (sha256
8648 (base32
b9a5e634 8649 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8650 (build-system haskell-build-system)
8651 (arguments
8652 `(#:phases
8653 (modify-phases %standard-phases
8654 (add-after 'unpack 'relax-dependencies
8655 (lambda _
8656 (substitute* "regex.cabal"
8657 (("base-compat.*>=.*0.6.*")
8658 "base-compat >= 0.6\n")
8659 (("template-haskell.*>=.*2.7.*")
8660 "template-haskell >= 2.7\n"))
8661 #t)))))
8662 (inputs
8663 `(("ghc-base-compat" ,ghc-base-compat)
8664 ("ghc-hashable" ,ghc-hashable)
8665 ("ghc-regex-base" ,ghc-regex-base)
8666 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8667 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8668 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8669 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8670 ("ghc-unordered-containers" ,ghc-unordered-containers)
8671 ("ghc-utf8-string" ,ghc-utf8-string)))
8672 (home-page "http://regex.uk")
8673 (synopsis "Toolkit for regex-base")
8674 (description
8675 "This package provides a regular expression toolkit for @code{regex-base}
8676with compile-time checking of regular expression syntax, data types for
8677matches and captures, a text replacement toolkit, portable options, high-level
8678AWK-like tools for building text processing apps, regular expression macros
8679with parsers and test bench, comprehensive documentation, tutorials and
8680copious examples.")
8681 (license license:bsd-3)))
8682
8683(define-public ghc-regex-applicative
8684 (package
8685 (name "ghc-regex-applicative")
30f60e42 8686 (version "0.3.3.1")
dddbc90c
RV
8687 (source
8688 (origin
8689 (method url-fetch)
8690 (uri (string-append
8691 "https://hackage.haskell.org/package/regex-applicative/"
8692 "regex-applicative-" version ".tar.gz"))
8693 (sha256
8694 (base32
30f60e42 8695 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8696 (build-system haskell-build-system)
8697 (inputs
8698 `(("ghc-smallcheck" ,ghc-smallcheck)
8699 ("ghc-tasty" ,ghc-tasty)
8700 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8701 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8702 (home-page "https://github.com/feuerbach/regex-applicative")
8703 (synopsis "Regex-based parsing with applicative interface")
8704 (description
8705 "@code{regex-applicative} is a Haskell library for parsing using
8706regular expressions. Parsers can be built using Applicative interface.")
8707 (license license:expat)))
8708
8709(define-public ghc-regex-base
8710 (package
8711 (name "ghc-regex-base")
8712 (version "0.93.2")
8713 (source
8714 (origin
8715 (method url-fetch)
8716 (uri (string-append
8717 "https://hackage.haskell.org/package/regex-base/regex-base-"
8718 version
8719 ".tar.gz"))
8720 (sha256
8721 (base32
8722 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8723 (build-system haskell-build-system)
8724 (home-page
8725 "https://sourceforge.net/projects/lazy-regex")
8726 (synopsis "Replaces/Enhances Text.Regex")
8727 (description "@code{Text.Regex.Base} provides the interface API for
8728regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8729 (license license:bsd-3)))
8730
8731(define-public ghc-regex-compat
8732 (package
8733 (name "ghc-regex-compat")
8734 (version "0.95.1")
8735 (source
8736 (origin
8737 (method url-fetch)
8738 (uri (string-append
8739 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8740 version
8741 ".tar.gz"))
8742 (sha256
8743 (base32
8744 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8745 (build-system haskell-build-system)
8746 (inputs
8747 `(("ghc-regex-base" ,ghc-regex-base)
8748 ("ghc-regex-posix" ,ghc-regex-posix)))
8749 (home-page "https://sourceforge.net/projects/lazy-regex")
8750 (synopsis "Replaces/Enhances Text.Regex")
8751 (description "This library provides one module layer over
8752@code{regex-posix} to replace @code{Text.Regex}.")
8753 (license license:bsd-3)))
8754
8755(define-public ghc-regex-compat-tdfa
8756 (package
8757 (name "ghc-regex-compat-tdfa")
8758 (version "0.95.1.4")
8759 (source
8760 (origin
8761 (method url-fetch)
8762 (uri (string-append
8763 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8764 version ".tar.gz"))
8765 (sha256
8766 (base32
8767 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8768 (build-system haskell-build-system)
8769 (inputs
8770 `(("ghc-regex-base" ,ghc-regex-base)
8771 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8772 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8773 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8774 (description
8775 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8776@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8777This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8778this problem.")
8779 (license license:bsd-3)))
8780
8781(define-public ghc-regex-pcre-builtin
8782 (package
8783 (name "ghc-regex-pcre-builtin")
ee946143 8784 (version "0.94.5.8.8.35")
dddbc90c
RV
8785 (source (origin
8786 (method url-fetch)
8787 (uri (string-append "https://hackage.haskell.org/package/"
8788 "regex-pcre-builtin/regex-pcre-builtin-"
8789 version ".tar.gz"))
8790 (sha256
8791 (base32
ee946143 8792 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8793 (build-system haskell-build-system)
8794 (inputs
8795 `(("ghc-regex-base" ,ghc-regex-base)))
8796 (home-page "https://hackage.haskell.org/package/regex-pcre")
8797 (synopsis "Enhancement of the builtin Text.Regex library")
8798 (description
8799 "This package is an enhancement of the @code{Text.Regex} library,
8800providing the PCRE backend to accompany regex-base, with bundled code from
8801@url{https://www.pcre.org}.")
8802 (license license:bsd-3)))
8803
8804(define-public ghc-regex-posix
8805 (package
8806 (name "ghc-regex-posix")
8807 (version "0.95.2")
8808 (source
8809 (origin
8810 (method url-fetch)
8811 (uri (string-append
8812 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8813 version
8814 ".tar.gz"))
8815 (sha256
8816 (base32
8817 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8818 (build-system haskell-build-system)
8819 (inputs
8820 `(("ghc-regex-base" ,ghc-regex-base)))
8821 (home-page "https://sourceforge.net/projects/lazy-regex")
8822 (synopsis "POSIX regular expressions for Haskell")
8823 (description "This library provides the POSIX regex backend used by the
8824Haskell library @code{regex-base}.")
8825 (license license:bsd-3)))
8826
8827(define-public ghc-regex-tdfa
8828 (package
8829 (name "ghc-regex-tdfa")
ce684db0 8830 (version "1.2.3.2")
dddbc90c
RV
8831 (source
8832 (origin
8833 (method url-fetch)
8834 (uri (string-append
8835 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8836 version ".tar.gz"))
8837 (sha256
8838 (base32
ce684db0 8839 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8840 (build-system haskell-build-system)
8841 (inputs
8842 `(("ghc-regex-base" ,ghc-regex-base)))
8843 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8844 (synopsis "POSIX extended regular expressions in Haskell.")
8845 (description
8846 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8847extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8848inspired by libtre.")
8849 (license license:bsd-3)))
8850
8851(define-public ghc-regex-tdfa-text
8852 (package
8853 (name "ghc-regex-tdfa-text")
8854 (version "1.0.0.3")
8855 (source
8856 (origin
8857 (method url-fetch)
8858 (uri (string-append
8859 "https://hackage.haskell.org/package/regex-tdfa-text/"
8860 "regex-tdfa-text-" version ".tar.gz"))
8861 (sha256
8862 (base32
8863 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8864 (build-system haskell-build-system)
8865 (inputs
8866 `(("ghc-regex-base" ,ghc-regex-base)
8867 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8868 (home-page
8869 "http://hackage.haskell.org/package/regex-tdfa-text")
8870 (synopsis "Text interface for regex-tdfa")
8871 (description
8872 "This provides an extra text interface for regex-tdfa.")
8873 (license license:bsd-3)))
8874
8875(define-public ghc-rerebase
8876 (package
8877 (name "ghc-rerebase")
cdec7b8c 8878 (version "1.3.1.1")
dddbc90c
RV
8879 (source
8880 (origin
8881 (method url-fetch)
8882 (uri (string-append
8883 "https://hackage.haskell.org/package/rerebase/rerebase-"
8884 version ".tar.gz"))
8885 (sha256
8886 (base32
cdec7b8c 8887 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
8888 (build-system haskell-build-system)
8889 (inputs
8890 `(("ghc-rebase" ,ghc-rebase)))
8891 (home-page "https://github.com/nikita-volkov/rerebase")
8892 (synopsis "Reexports from ``base'' with many other standard libraries")
8893 (description "A rich drop-in replacement for @code{base}. For details and
8894documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8895the project's home page}.")
8896 (license license:expat)))
8897
8898(define-public ghc-resolv
8899 (package
8900 (name "ghc-resolv")
87309478 8901 (version "0.1.1.2")
dddbc90c
RV
8902 (source
8903 (origin
8904 (method url-fetch)
8905 (uri (string-append
8906 "https://hackage.haskell.org/package/resolv/resolv-"
8907 version ".tar.gz"))
8908 (sha256
8909 (base32
87309478 8910 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
8911 (build-system haskell-build-system)
8912 (arguments
87309478
TS
8913 `(#:phases
8914 (modify-phases %standard-phases
8915 (add-before 'configure 'update-constraints
8916 (lambda _
8917 (substitute* "resolv.cabal"
8918 (("tasty >= 1\\.1 && < 1\\.2")
8919 "tasty >= 1.1 && < 1.3"))
8920 #t)))))
dddbc90c
RV
8921 (inputs
8922 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
8923 (native-inputs
8924 `(("ghc-tasty" ,ghc-tasty)
8925 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
8926 (home-page "https://github.com/haskell/hackage-security")
8927 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8928 (description "This package implements an API for accessing the
8929@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8930resolver service via the standard @code{libresolv} system library (whose
8931API is often available directly via the standard @code{libc} C library) on
8932Unix systems.")
8933 (license license:gpl3)))
8934
8935(define-public ghc-resource-pool
8936 (package
8937 (name "ghc-resource-pool")
8938 (version "0.2.3.2")
8939 (source
8940 (origin
8941 (method url-fetch)
8942 (uri (string-append "https://hackage.haskell.org/package/"
8943 "resource-pool-" version "/"
8944 "resource-pool-" version ".tar.gz"))
8945 (sha256
8946 (base32
8947 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8948 (build-system haskell-build-system)
8949 (inputs `(("ghc-hashable" ,ghc-hashable)
8950 ("ghc-monad-control" ,ghc-monad-control)
8951 ("ghc-transformers-base" ,ghc-transformers-base)
8952 ("ghc-vector" ,ghc-vector)))
8953 (home-page "https://github.com/bos/pool")
8954 (synopsis "Striped resource pooling implementation in Haskell")
8955 (description "This Haskell package provides striped pooling abstraction
8956for managing flexibly-sized collections of resources such as database
8957connections.")
8958 (license license:bsd-3)))
8959
8960(define-public ghc-resourcet
8961 (package
8962 (name "ghc-resourcet")
9ac341ac 8963 (version "1.2.2")
dddbc90c
RV
8964 (source
8965 (origin
8966 (method url-fetch)
8967 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8968 "resourcet-" version ".tar.gz"))
8969 (sha256
8970 (base32
9ac341ac 8971 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8972 (build-system haskell-build-system)
8973 (inputs
8974 `(("ghc-transformers-base" ,ghc-transformers-base)
8975 ("ghc-monad-control" ,ghc-monad-control)
8976 ("ghc-transformers-compat" ,ghc-transformers-compat)
8977 ("ghc-mmorph" ,ghc-mmorph)
8978 ("ghc-exceptions" ,ghc-exceptions)
8979 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8980 (native-inputs
8981 `(("ghc-lifted-base" ,ghc-lifted-base)
8982 ("ghc-hspec" ,ghc-hspec)))
8983 (home-page "https://github.com/snoyberg/conduit")
8984 (synopsis "Deterministic allocation and freeing of scarce resources")
8985 (description "ResourceT is a monad transformer which creates a region of
8986code where you can safely allocate resources.")
8987 (license license:bsd-3)))
8988
b9debc37
TS
8989(define-public ghc-retry
8990 (package
8991 (name "ghc-retry")
8992 (version "0.8.1.0")
8993 (source
8994 (origin
8995 (method url-fetch)
8996 (uri (string-append "https://hackage.haskell.org/package/"
8997 "retry/retry-" version ".tar.gz"))
8998 (sha256
8999 (base32
9000 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9001 (build-system haskell-build-system)
9002 (inputs
9003 `(("ghc-exceptions" ,ghc-exceptions)
9004 ("ghc-random" ,ghc-random)))
9005 (native-inputs
9006 `(("ghc-hunit" ,ghc-hunit)
9007 ("ghc-tasty" ,ghc-tasty)
9008 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9009 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9010 ("ghc-hedgehog" ,ghc-hedgehog)))
9011 (home-page "http://github.com/Soostone/retry")
9012 (synopsis "Retry combinators for monadic actions that may fail")
9013 (description "This package exposes combinators that can wrap
9014arbitrary monadic actions. They run the action and potentially retry
9015running it with some configurable delay for a configurable number of
9016times. The purpose is to make it easier to work with IO and especially
9017network IO actions that often experience temporary failure and warrant
9018retrying of the original action. For example, a database query may time
9019out for a while, in which case we should hang back for a bit and retry
9020the query instead of simply raising an exception.")
9021 (license license:bsd-3)))
9022
dddbc90c
RV
9023(define-public ghc-rfc5051
9024 (package
9025 (name "ghc-rfc5051")
ec42ab7c 9026 (version "0.1.0.4")
dddbc90c
RV
9027 (source
9028 (origin
9029 (method url-fetch)
9030 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9031 "rfc5051-" version ".tar.gz"))
9032 (sha256
9033 (base32
ec42ab7c 9034 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9035 (build-system haskell-build-system)
9036 (home-page "https://hackage.haskell.org/package/rfc5051")
9037 (synopsis "Simple unicode collation as per RFC5051")
9038 (description
9039 "This library implements @code{unicode-casemap}, the simple, non
9040locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9041unicode collation can be done using @code{text-icu}, but that is a big
9042dependency that depends on a large C library, and @code{rfc5051} might be
9043better for some purposes.")
9044 (license license:bsd-3)))
9045
9046(define-public ghc-rio
9047 (package
9048 (name "ghc-rio")
8bda2fa7 9049 (version "0.1.12.0")
dddbc90c
RV
9050 (source
9051 (origin
9052 (method url-fetch)
9053 (uri (string-append
9054 "https://hackage.haskell.org/package/rio/rio-"
9055 version ".tar.gz"))
9056 (sha256
9057 (base32
8bda2fa7 9058 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9059 (build-system haskell-build-system)
9060 (inputs
9061 `(("ghc-exceptions" ,ghc-exceptions)
9062 ("ghc-hashable" ,ghc-hashable)
9063 ("ghc-microlens" ,ghc-microlens)
9064 ("ghc-primitive" ,ghc-primitive)
9065 ("ghc-typed-process" ,ghc-typed-process)
9066 ("ghc-unliftio" ,ghc-unliftio)
9067 ("ghc-unordered-containers" ,ghc-unordered-containers)
9068 ("ghc-vector" ,ghc-vector)))
9069 (native-inputs
9070 `(("ghc-hspec" ,ghc-hspec)
9071 ("hspec-discover" ,hspec-discover)))
9072 (home-page "https://github.com/commercialhaskell/rio#readme")
9073 (synopsis "A standard library for Haskell")
9074 (description "This package works as a prelude replacement for Haskell,
9075providing more functionality and types out of the box than the standard
9076prelude (such as common data types like @code{ByteString} and
9077@code{Text}), as well as removing common ``gotchas'', like partial
9078functions and lazy I/O. The guiding principle here is:
9079@itemize
9080@item If something is safe to use in general and has no expected naming
9081conflicts, expose it.
9082@item If something should not always be used, or has naming conflicts,
9083expose it from another module in the hierarchy.
9084@end itemize")
9085 (license license:expat)))
9086
9087(define-public ghc-safe
9088 (package
9089 (name "ghc-safe")
9090 (version "0.3.17")
9091 (source
9092 (origin
9093 (method url-fetch)
9094 (uri (string-append
9095 "https://hackage.haskell.org/package/safe/safe-"
9096 version
9097 ".tar.gz"))
9098 (sha256
9099 (base32
9100 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9101 (build-system haskell-build-system)
9102 (native-inputs
9103 `(("ghc-quickcheck" ,ghc-quickcheck)))
9104 (home-page "https://github.com/ndmitchell/safe#readme")
9105 (synopsis "Library of safe (exception free) functions")
9106 (description "This library provides wrappers around @code{Prelude} and
9107@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9108exceptions.")
9109 (license license:bsd-3)))
9110
9111(define-public ghc-safe-exceptions
9112 (package
9113 (name "ghc-safe-exceptions")
9114 (version "0.1.7.0")
9115 (source
9116 (origin
9117 (method url-fetch)
9118 (uri (string-append "https://hackage.haskell.org/package/"
9119 "safe-exceptions/safe-exceptions-"
9120 version ".tar.gz"))
9121 (sha256
9122 (base32
9123 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9124 (build-system haskell-build-system)
9125 (arguments
9126 '(#:cabal-revision
9127 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9128 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9129 (native-inputs
9130 `(("ghc-hspec" ,ghc-hspec)
9131 ("ghc-void" ,ghc-void)
9132 ("hspec-discover" ,hspec-discover)))
9133 (home-page "https://github.com/fpco/safe-exceptions")
9134 (synopsis "Safe, consistent, and easy exception handling")
9135 (description "Runtime exceptions - as exposed in @code{base} by the
9136@code{Control.Exception} module - have long been an intimidating part of the
9137Haskell ecosystem. This package is intended to overcome this. It provides a
9138safe and simple API on top of the existing exception handling machinery. The
9139API is equivalent to the underlying implementation in terms of power but
9140encourages best practices to minimize the chances of getting the exception
9141handling wrong.")
9142 (license license:expat)))
9143
9144(define-public ghc-safeio
9145 (package
9146 (name "ghc-safeio")
9147 (version "0.0.5.0")
9148 (source
9149 (origin
9150 (method url-fetch)
9151 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9152 "safeio-" version ".tar.gz"))
9153 (sha256
9154 (base32
9155 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9156 (build-system haskell-build-system)
9157 (inputs
9158 `(("ghc-conduit" ,ghc-conduit)
9159 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9160 ("ghc-exceptions" ,ghc-exceptions)
9161 ("ghc-resourcet" ,ghc-resourcet)))
9162 (native-inputs
9163 `(("ghc-hunit" ,ghc-hunit)
9164 ("ghc-test-framework" ,ghc-test-framework)
9165 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9166 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9167 (home-page "https://github.com/luispedro/safeio")
9168 (synopsis "Write output to disk atomically")
9169 (description
9170 "This package implements utilities to perform atomic output so as to
9171avoid the problem of partial intermediate files.")
9172 (license license:expat)))
9173
9174(define-public ghc-safesemaphore
9175 (package
9176 (name "ghc-safesemaphore")
9177 (version "0.10.1")
9178 (source
9179 (origin
9180 (method url-fetch)
9181 (uri (string-append "https://hackage.haskell.org/package/"
9182 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9183 (sha256
9184 (base32
9185 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9186 (build-system haskell-build-system)
9187 (native-inputs
9188 `(("ghc-hunit" ,ghc-hunit)))
9189 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9190 (synopsis "Exception safe semaphores")
9191 (description "This library provides exception safe semaphores that can be
9192used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9193are not exception safe and can be broken by @code{killThread}.")
9194 (license license:bsd-3)))
9195
9196(define-public ghc-sandi
9197 (package
9198 (name "ghc-sandi")
b867c2b0 9199 (version "0.5")
dddbc90c
RV
9200 (source
9201 (origin
9202 (method url-fetch)
9203 (uri (string-append
9204 "https://hackage.haskell.org/package/sandi/sandi-"
9205 version ".tar.gz"))
9206 (sha256
9207 (base32
b867c2b0 9208 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9209 (build-system haskell-build-system)
9210 (inputs
9211 `(("ghc-stringsearch" ,ghc-stringsearch)
9212 ("ghc-conduit" ,ghc-conduit)
9213 ("ghc-exceptions" ,ghc-exceptions)
9214 ("ghc-hunit" ,ghc-hunit)
9215 ("ghc-tasty" ,ghc-tasty)
9216 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9217 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9218 ("ghc-tasty-th" ,ghc-tasty-th)))
9219 (home-page "https://hackage.haskell.org/package/sandi")
9220 (synopsis "Data encoding library")
9221 (description "Reasonably fast data encoding library.")
9222 (license license:bsd-3)))
9223
9224(define-public ghc-scientific
9225 (package
9226 (name "ghc-scientific")
9227 (version "0.3.6.2")
9228 (source
9229 (origin
9230 (method url-fetch)
9231 (uri (string-append
9232 "https://hackage.haskell.org/package/scientific/scientific-"
9233 version
9234 ".tar.gz"))
9235 (sha256
9236 (base32
9237 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9238 (build-system haskell-build-system)
9239 (inputs
9240 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9241 ("ghc-hashable" ,ghc-hashable)
9242 ("ghc-primitive" ,ghc-primitive)))
9243 (native-inputs
9244 `(("ghc-tasty" ,ghc-tasty)
9245 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9246 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9247 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9248 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9249 ("ghc-smallcheck" ,ghc-smallcheck)
9250 ("ghc-quickcheck" ,ghc-quickcheck)))
9251 (home-page "https://github.com/basvandijk/scientific")
9252 (synopsis "Numbers represented using scientific notation")
9253 (description "This package provides @code{Data.Scientific}, which provides
9254the number type @code{Scientific}. Scientific numbers are arbitrary precision
9255and space efficient. They are represented using
9256@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9257notation}.")
9258 (license license:bsd-3)))
9259
9260(define-public ghc-scientific-bootstrap
9261 (package
9262 (inherit ghc-scientific)
9263 (name "ghc-scientific-bootstrap")
9264 (arguments `(#:tests? #f))
9265 (inputs
9266 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9267 ("ghc-hashable" ,ghc-hashable)
9268 ("ghc-primitive" ,ghc-primitive)))
9269 (native-inputs '())
799d8d3c 9270 (properties '((hidden? #t)))))
dddbc90c
RV
9271
9272(define-public ghc-sdl
9273 (package
9274 (name "ghc-sdl")
9275 (version "0.6.7.0")
9276 (source
9277 (origin
9278 (method url-fetch)
9279 (uri (string-append
9280 "https://hackage.haskell.org/package/SDL/SDL-"
9281 version
9282 ".tar.gz"))
9283 (sha256
9284 (base32
9285 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9286 (build-system haskell-build-system)
9287 (inputs
9288 `(("sdl" ,sdl)))
9289 (home-page "https://hackage.haskell.org/package/SDL")
9290 (synopsis "LibSDL for Haskell")
9291 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9292multimedia library designed to provide low level access to audio, keyboard,
9293mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9294by MPEG playback software, emulators, and many popular games, including the
9295award winning Linux port of \"Civilization: Call To Power.\"")
9296 (license license:bsd-3)))
9297
1874cdc1
RV
9298(define-public ghc-sdl2
9299 (package
9300 (name "ghc-sdl2")
145148ca 9301 (version "2.5.0.0")
1874cdc1
RV
9302 (source
9303 (origin
9304 (method url-fetch)
9305 (uri (string-append "https://hackage.haskell.org/package/"
9306 "sdl2/sdl2-" version ".tar.gz"))
9307 (sha256
9308 (base32
145148ca 9309 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
9310 (build-system haskell-build-system)
9311 (arguments '(#:tests? #f)) ; tests require graphical environment
9312 (inputs
9313 `(("ghc-exceptions" ,ghc-exceptions)
9314 ("ghc-linear" ,ghc-linear)
9315 ("ghc-statevar" ,ghc-statevar)
9316 ("ghc-vector" ,ghc-vector)
9317 ("sdl2" ,sdl2)))
9318 (native-inputs
9319 `(("ghc-weigh" ,ghc-weigh)
9320 ("pkg-config" ,pkg-config)))
9321 (home-page "http://hackage.haskell.org/package/sdl2")
9322 (synopsis "High- and low-level bindings to the SDL library")
9323 (description
9324 "This package contains bindings to the SDL 2 library, in both high- and
9325low-level forms. The @code{SDL} namespace contains high-level bindings, where
9326enumerations are split into sum types, and we perform automatic
9327error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9328translation of the C API into Haskell FFI calls. As such, this does not
9329contain sum types nor error checking. Thus this namespace is suitable for
9330building your own abstraction over SDL, but is not recommended for day-to-day
9331programming.")
9332 (license license:bsd-3)))
9333
9334(define-public ghc-sdl2-image
9335 (package
9336 (name "ghc-sdl2-image")
9337 (version "2.0.0")
9338 (source
9339 (origin
9340 (method url-fetch)
9341 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9342 "sdl2-image-" version ".tar.gz"))
9343 (sha256
9344 (base32
9345 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9346 (build-system haskell-build-system)
9347 (inputs
9348 `(("ghc-sdl2" ,ghc-sdl2)
9349 ("sdl2-image" ,sdl2-image)))
9350 (native-inputs
9351 `(("pkg-config" ,pkg-config)))
9352 (home-page "http://hackage.haskell.org/package/sdl2-image")
9353 (synopsis "Bindings to SDL2_image")
9354 (description "This package provides Haskell bindings to
9355@code{SDL2_image}.")
9356 (license license:expat)))
9357
9358(define-public ghc-sdl2-mixer
9359 (package
9360 (name "ghc-sdl2-mixer")
9361 (version "1.1.0")
9362 (source
9363 (origin
9364 (method url-fetch)
9365 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9366 "sdl2-mixer-" version ".tar.gz"))
9367 (sha256
9368 (base32
9369 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9370 (build-system haskell-build-system)
9371 (inputs
9372 `(("ghc-data-default-class" ,ghc-data-default-class)
9373 ("ghc-lifted-base" ,ghc-lifted-base)
9374 ("ghc-monad-control" ,ghc-monad-control)
9375 ("ghc-sdl2" ,ghc-sdl2)
9376 ("ghc-vector" ,ghc-vector)
9377 ("sdl2-mixer" ,sdl2-mixer)))
9378 (native-inputs
9379 `(("pkg-config" ,pkg-config)))
9380 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9381 (synopsis "Bindings to SDL2 mixer")
9382 (description "This package provides Haskell bindings to
9383@code{SDL2_mixer}.")
9384 (license license:bsd-3)))
9385
dddbc90c
RV
9386(define-public ghc-sdl-image
9387 (package
9388 (name "ghc-sdl-image")
9389 (version "0.6.2.0")
9390 (source
9391 (origin
9392 (method url-fetch)
9393 (uri (string-append
9394 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9395 version
9396 ".tar.gz"))
9397 (sha256
9398 (base32
9399 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9400 (build-system haskell-build-system)
9401 (arguments
9402 `(#:configure-flags
9403 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9404 (sdl-image-include (string-append sdl-image "/include/SDL")))
9405 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9406 (inputs
9407 `(("ghc-sdl" ,ghc-sdl)
9408 ("sdl-image" ,sdl-image)))
9409 (home-page "https://hackage.haskell.org/package/SDL-image")
9410 (synopsis "Haskell bindings to libSDL_image")
9411 (description "SDL_image is an image file loading library. It loads images
9412as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9413PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9414 (license license:bsd-3)))
9415
9416(define-public ghc-sdl-mixer
9417 (package
9418 (name "ghc-sdl-mixer")
9419 (version "0.6.3.0")
9420 (source
9421 (origin
9422 (method url-fetch)
9423 (uri (string-append
9424 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9425 version
9426 ".tar.gz"))
9427 (sha256
9428 (base32
9429 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9430 (build-system haskell-build-system)
9431 (arguments
9432 `(#:configure-flags
9433 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9434 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9435 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9436 (inputs
9437 `(("ghc-sdl" ,ghc-sdl)
9438 ("sdl-mixer" ,sdl-mixer)))
9439 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9440 (synopsis "Haskell bindings to libSDL_mixer")
9441 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9442supports any number of simultaneously playing channels of 16 bit stereo audio,
9443plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9444MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9445 (license license:bsd-3)))
9446
9447(define-public ghc-securemem
9448 (package
9449 (name "ghc-securemem")
9450 (version "0.1.10")
9451 (source
9452 (origin
9453 (method url-fetch)
9454 (uri (string-append "https://hackage.haskell.org/package/"
9455 "securemem-" version "/"
9456 "securemem-" version ".tar.gz"))
9457 (sha256
9458 (base32
9459 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9460 (build-system haskell-build-system)
9461 (inputs `(("ghc-byteable" ,ghc-byteable)
9462 ("ghc-memory" ,ghc-memory)))
9463 (home-page "https://github.com/vincenthz/hs-securemem")
9464 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9465Haskell")
9466 (description "SecureMem is similar to ByteString, except that it provides
9467a memory chunk that will be auto-scrubbed after it run out of scope.")
9468 (license license:bsd-3)))
9469
9470(define-public ghc-semigroupoids
9471 (package
9472 (name "ghc-semigroupoids")
a8aaadf2 9473 (version "5.3.3")
dddbc90c
RV
9474 (source
9475 (origin
9476 (method url-fetch)
9477 (uri (string-append
9478 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9479 version
9480 ".tar.gz"))
9481 (sha256
9482 (base32
a8aaadf2 9483 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9484 (build-system haskell-build-system)
dddbc90c
RV
9485 (inputs
9486 `(("ghc-base-orphans" ,ghc-base-orphans)
9487 ("ghc-transformers-compat" ,ghc-transformers-compat)
9488 ("ghc-bifunctors" ,ghc-bifunctors)
9489 ("ghc-comonad" ,ghc-comonad)
9490 ("ghc-contravariant" ,ghc-contravariant)
9491 ("ghc-distributive" ,ghc-distributive)
9492 ("ghc-hashable" ,ghc-hashable)
9493 ("ghc-semigroups" ,ghc-semigroups)
9494 ("ghc-tagged" ,ghc-tagged)
9495 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9496 (native-inputs
9497 `(("cabal-doctest" ,cabal-doctest)
9498 ("ghc-doctest" ,ghc-doctest)))
9499 (home-page "https://github.com/ekmett/semigroupoids")
9500 (synopsis "Semigroupoids operations for Haskell")
9501 (description "This library provides a wide array of (semi)groupoids and
9502operations for working with them. A @code{Semigroupoid} is a @code{Category}
9503without the requirement of identity arrows for every object in the category.
9504A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9505Finally, to work with these weaker structures it is beneficial to have
9506containers that can provide stronger guarantees about their contents, so
9507versions of @code{Traversable} and @code{Foldable} that can be folded with
9508just a @code{Semigroup} are added.")
9509 (license license:bsd-3)))
9510
9511(define-public ghc-semigroups
9512 (package
9513 (name "ghc-semigroups")
9514 (version "0.18.5")
9515 (source
9516 (origin
9517 (method url-fetch)
9518 (uri (string-append
9519 "https://hackage.haskell.org/package/semigroups/semigroups-"
9520 version
9521 ".tar.gz"))
9522 (sha256
9523 (base32
9524 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9525 (build-system haskell-build-system)
9526 (inputs
9527 `(("ghc-nats" ,ghc-nats)
9528 ("ghc-tagged" ,ghc-tagged)
9529 ("ghc-unordered-containers" ,ghc-unordered-containers)
9530 ("ghc-hashable" ,ghc-hashable)))
9531 (home-page "https://github.com/ekmett/semigroups/")
9532 (synopsis "Semigroup operations for Haskell")
9533 (description "This package provides semigroups for Haskell. In
9534mathematics, a semigroup is an algebraic structure consisting of a set
9535together with an associative binary operation. A semigroup generalizes a
9536monoid in that there might not exist an identity element. It
9537also (originally) generalized a group (a monoid with all inverses) to a type
9538where every element did not have to have an inverse, thus the name
9539semigroup.")
9540 (license license:bsd-3)))
9541
9542(define-public ghc-semigroups-bootstrap
9543 (package
9544 (inherit ghc-semigroups)
9545 (name "ghc-semigroups-bootstrap")
9546 (inputs
9547 `(("ghc-nats" ,ghc-nats-bootstrap)
9548 ("ghc-tagged" ,ghc-tagged)
9549 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9550 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9551 (properties '((hidden? #t)))))
dddbc90c
RV
9552
9553(define-public ghc-setenv
9554 (package
9555 (name "ghc-setenv")
9556 (version "0.1.1.3")
9557 (source
9558 (origin
9559 (method url-fetch)
9560 (uri (string-append
9561 "https://hackage.haskell.org/package/setenv/setenv-"
9562 version
9563 ".tar.gz"))
9564 (sha256
9565 (base32
9566 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9567 (build-system haskell-build-system)
9568 (home-page "https://hackage.haskell.org/package/setenv")
9569 (synopsis "Library for setting environment variables")
9570 (description "This package provides a Haskell library for setting
9571environment variables.")
9572 (license license:expat)))
9573
9574(define-public ghc-setlocale
9575 (package
9576 (name "ghc-setlocale")
9d7cfc9b 9577 (version "1.0.0.9")
dddbc90c
RV
9578 (source (origin
9579 (method url-fetch)
9580 (uri (string-append
9581 "https://hackage.haskell.org/package/setlocale-"
9582 version "/setlocale-" version ".tar.gz"))
9583 (sha256
9584 (base32
9d7cfc9b 9585 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9586 (build-system haskell-build-system)
9587 (home-page "https://hackage.haskell.org/package/setlocale")
9588 (synopsis "Haskell bindings to setlocale")
9589 (description "This package provides Haskell bindings to the
9590@code{setlocale} C function.")
9591 (license license:bsd-3)))
9592
9593(define-public ghc-shakespeare
9594 (package
9595 (name "ghc-shakespeare")
f680955f 9596 (version "2.0.22")
dddbc90c
RV
9597 (source
9598 (origin
9599 (method url-fetch)
9600 (uri (string-append "https://hackage.haskell.org/package/"
9601 "shakespeare-" version "/"
9602 "shakespeare-" version ".tar.gz"))
9603 (sha256
9604 (base32
f680955f 9605 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9606 (build-system haskell-build-system)
9607 (inputs `(("ghc-aeson" ,ghc-aeson)
9608 ("ghc-blaze-markup" ,ghc-blaze-markup)
9609 ("ghc-blaze-html" ,ghc-blaze-html)
9610 ("ghc-exceptions" ,ghc-exceptions)
9611 ("ghc-vector" ,ghc-vector)
9612 ("ghc-unordered-containers" ,ghc-unordered-containers)
9613 ("ghc-scientific" ,ghc-scientific)))
9614 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9615 ("ghc-hunit" ,ghc-hunit)
9616 ("hspec-discover" ,hspec-discover)))
9617 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9618 (synopsis "Family of type-safe template languages for Haskell")
9619 (description "This Haskell package provides a family of type-safe
9620templates with simple variable interpolation. Shakespeare templates can
9621be used inline with a quasi-quoter or in an external file and it
9622interpolates variables according to the type being inserted.")
9623 (license license:expat)))
9624
9625(define-public ghc-shelly
9626 (package
9627 (name "ghc-shelly")
9628 (version "1.8.1")
9629 (source
9630 (origin
9631 (method url-fetch)
9632 (uri (string-append
9633 "https://hackage.haskell.org/package/shelly/shelly-"
9634 version ".tar.gz"))
9635 (sha256
9636 (base32
9637 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9638 (build-system haskell-build-system)
9639 (inputs
9640 `(("ghc-unix-compat" ,ghc-unix-compat)
9641 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9642 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9643 ("ghc-monad-control" ,ghc-monad-control)
9644 ("ghc-lifted-base" ,ghc-lifted-base)
9645 ("ghc-lifted-async" ,ghc-lifted-async)
9646 ("ghc-exceptions" ,ghc-exceptions)
9647 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9648 ("ghc-async" ,ghc-async)
9649 ("ghc-transformers-base" ,ghc-transformers-base)
9650 ("ghc-hunit" ,ghc-hunit)
9651 ("ghc-hspec" ,ghc-hspec)
9652 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9653 (home-page "https://github.com/yesodweb/Shelly.hs")
9654 (synopsis "Shell-like (systems) programming in Haskell")
9655 (description
9656 "Shelly provides convenient systems programming in Haskell, similar in
9657spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9658 (license license:bsd-3)))
9659
9660(define-public ghc-silently
9661 (package
9662 (name "ghc-silently")
544bb369 9663 (version "1.2.5.1")
dddbc90c
RV
9664 (source
9665 (origin
9666 (method url-fetch)
9667 (uri (string-append
9668 "https://hackage.haskell.org/package/silently/silently-"
9669 version
9670 ".tar.gz"))
9671 (sha256
9672 (base32
544bb369 9673 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9674 (build-system haskell-build-system)
9675 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9676 ;; (inputs
9677 ;; `(("ghc-temporary" ,ghc-temporary)))
9678 (home-page "https://github.com/hspec/silently")
9679 (synopsis "Prevent writing to stdout")
9680 (description "This package provides functions to prevent or capture
9681writing to stdout and other handles.")
9682 (license license:bsd-3)))
9683
9684(define-public ghc-simple-reflect
9685 (package
9686 (name "ghc-simple-reflect")
9687 (version "0.3.3")
9688 (source
9689 (origin
9690 (method url-fetch)
9691 (uri (string-append
9692 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9693 version
9694 ".tar.gz"))
9695 (sha256
9696 (base32
9697 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9698 (build-system haskell-build-system)
9699 (home-page
9700 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9701 (synopsis
9702 "Simple reflection of expressions containing variables")
9703 (description
9704 "This package allows simple reflection of expressions containing
9705variables. Reflection here means that a Haskell expression is turned into a
9706string. The primary aim of this package is teaching and understanding; there
9707are no options for manipulating the reflected expressions beyond showing
9708them.")
9709 (license license:bsd-3)))
9710
9711(define-public ghc-simple-sendfile
9712 (package
9713 (name "ghc-simple-sendfile")
08f54390 9714 (version "0.2.30")
dddbc90c
RV
9715 (source
9716 (origin
9717 (method url-fetch)
9718 (uri (string-append "https://hackage.haskell.org/package/"
9719 "simple-sendfile-" version "/"
9720 "simple-sendfile-" version ".tar.gz"))
9721 (sha256
9722 (base32
08f54390 9723 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
9724 (build-system haskell-build-system)
9725 (inputs
9726 `(("ghc-conduit" ,ghc-conduit)
9727 ("ghc-conduit-extra" ,ghc-conduit-extra)
9728 ("ghc-network" ,ghc-network)
9729 ("ghc-resourcet" ,ghc-resourcet)))
9730 (native-inputs
9731 `(("ghc-hspec" ,ghc-hspec)
9732 ("hspec-discover" ,hspec-discover)))
9733 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9734 (synopsis "Cross platform library for the sendfile system call")
9735 (description "This library tries to call minimum system calls which
9736are the bottleneck of web servers.")
9737 (license license:bsd-3)))
9738
9739(define-public ghc-skylighting-core
9740 (package
9741 (name "ghc-skylighting-core")
1826c2a8 9742 (version "0.8.2.1")
dddbc90c
RV
9743 (source (origin
9744 (method url-fetch)
9745 (uri (string-append "https://hackage.haskell.org/package/"
9746 "skylighting-core/skylighting-core-"
9747 version ".tar.gz"))
9748 (sha256
9749 (base32
1826c2a8 9750 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9751 (build-system haskell-build-system)
9752 (inputs
9753 `(("ghc-aeson" ,ghc-aeson)
9754 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9755 ("ghc-attoparsec" ,ghc-attoparsec)
9756 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9757 ("ghc-blaze-html" ,ghc-blaze-html)
9758 ("ghc-case-insensitive" ,ghc-case-insensitive)
9759 ("ghc-colour" ,ghc-colour)
9760 ("ghc-hxt" ,ghc-hxt)
9761 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9762 ("ghc-safe" ,ghc-safe)
9763 ("ghc-utf8-string" ,ghc-utf8-string)))
9764 (native-inputs
9765 `(("ghc-diff" ,ghc-diff)
9766 ("ghc-hunit" ,ghc-hunit)
9767 ("ghc-pretty-show" ,ghc-pretty-show)
9768 ("ghc-quickcheck" ,ghc-quickcheck)
9769 ("ghc-tasty" ,ghc-tasty)
9770 ("ghc-tasty-golden" ,ghc-tasty-golden)
9771 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9772 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9773 (home-page "https://github.com/jgm/skylighting")
9774 (synopsis "Syntax highlighting library")
9775 (description "Skylighting is a syntax highlighting library with support
9776for over one hundred languages. It derives its tokenizers from XML syntax
9777definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9778supported by that framework can be added. An optional command-line program is
9779provided. Skylighting is intended to be the successor to highlighting-kate.")
9780 (license license:gpl2)))
9781
9782(define-public ghc-skylighting
9783 (package
9784 (inherit ghc-skylighting-core)
9785 (name "ghc-skylighting")
36c940cf 9786 (version "0.8.2.1")
dddbc90c
RV
9787 (source (origin
9788 (method url-fetch)
9789 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9790 version "/skylighting-" version ".tar.gz"))
9791 (sha256
9792 (base32
36c940cf 9793 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9794 (inputs
9795 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9796 ,@(package-inputs ghc-skylighting-core)))))
9797
9798(define-public ghc-smallcheck
9799 (package
9800 (name "ghc-smallcheck")
9801 (version "1.1.5")
9802 (source
9803 (origin
9804 (method url-fetch)
9805 (uri (string-append
9806 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9807 version
9808 ".tar.gz"))
9809 (sha256
9810 (base32
9811 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9812 (build-system haskell-build-system)
9813 (inputs
9814 `(("ghc-logict" ,ghc-logict)))
9815 (home-page
9816 "https://github.com/feuerbach/smallcheck")
9817 (synopsis "Property-based testing library")
9818 (description "SmallCheck is a testing library that allows to verify
9819properties for all test cases up to some depth. The test cases are generated
9820automatically by SmallCheck.")
9821 (license license:bsd-3)))
9822
9823(define-public ghc-socks
9824 (package
9825 (name "ghc-socks")
ab761e9d 9826 (version "0.6.1")
dddbc90c
RV
9827 (source (origin
9828 (method url-fetch)
9829 (uri (string-append "https://hackage.haskell.org/package/"
9830 "socks/socks-" version ".tar.gz"))
9831 (sha256
9832 (base32
ab761e9d 9833 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9834 (build-system haskell-build-system)
9835 (inputs
9836 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9837 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9838 ("ghc-network" ,ghc-network)))
9839 (home-page "https://github.com/vincenthz/hs-socks")
9840 (synopsis "SOCKS proxy (version 5) implementation")
9841 (description
9842 "This library provides a SOCKS proxy (version 5) implementation.")
9843 (license license:bsd-3)))
9844
081d85d6
TS
9845(define-public ghc-sop-core
9846 (package
9847 (name "ghc-sop-core")
9848 (version "0.4.0.0")
9849 (source
9850 (origin
9851 (method url-fetch)
9852 (uri (string-append "https://hackage.haskell.org/package/"
9853 "sop-core/sop-core-" version ".tar.gz"))
9854 (sha256
9855 (base32
9856 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9857 (build-system haskell-build-system)
9858 (home-page "http://hackage.haskell.org/package/sop-core")
9859 (synopsis "True Sums of Products")
9860 (description "This package provides an implementation of
9861@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9862is the main module of this library and contains more detailed
9863documentation. The main use case of this package is to serve as the
9864core of @url{https://hackage.haskell.org/package/generics-sop,
9865generics-sop}.")
9866 (license license:bsd-3)))
9867
dddbc90c
RV
9868(define-public ghc-split
9869 (package
9870 (name "ghc-split")
9871 (version "0.2.3.3")
9872 (outputs '("out" "doc"))
9873 (source
9874 (origin
9875 (method url-fetch)
9876 (uri (string-append
9877 "https://hackage.haskell.org/package/split/split-"
9878 version
9879 ".tar.gz"))
9880 (sha256
9881 (base32
9882 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9883 (build-system haskell-build-system)
9bbc21a7
TS
9884 (arguments
9885 `(#:cabal-revision
9886 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9887 (native-inputs
9888 `(("ghc-quickcheck" ,ghc-quickcheck)))
9889 (home-page "https://hackage.haskell.org/package/split")
9890 (synopsis "Combinator library for splitting lists")
9891 (description "This package provides a collection of Haskell functions for
9892splitting lists into parts, akin to the @code{split} function found in several
9893mainstream languages.")
9894 (license license:bsd-3)))
9895
7799d17f 9896(define-public ghc-splitmix
49367c92 9897 (package
7799d17f 9898 (name "ghc-splitmix")
49367c92
TS
9899 (version "0.0.3")
9900 (source
9901 (origin
9902 (method url-fetch)
9903 (uri (string-append "https://hackage.haskell.org/package/"
9904 "splitmix/splitmix-" version ".tar.gz"))
9905 (sha256
9906 (base32
9907 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9908 (build-system haskell-build-system)
49367c92
TS
9909 (inputs
9910 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9911 (native-inputs
9912 `(("ghc-hunit" ,ghc-hunit)
9913 ("ghc-async" ,ghc-async)
9914 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9915 ("ghc-tf-random" ,ghc-tf-random)
9916 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9917 (home-page "http://hackage.haskell.org/package/splitmix")
9918 (synopsis "Fast and splittable pseudorandom number generator")
9919 (description "This package provides a Pure Haskell implementation of the
9920SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9921pseudorandom number generator that is quite fast: 9 64-bit
9922arithmetic/logical operations per 64 bits generated. SplitMix is tested
9923with two standard statistical test suites (DieHarder and TestU01, this
9924implementation only using the former) and it appears to be adequate for
9925\"everyday\" use, such as Monte Carlo algorithms and randomized data
9926structures where speed is important. In particular, it @strong{should not
9927be used for cryptographic or security applications}, because generated
9928sequences of pseudorandom values are too predictable (the mixing functions
9929are easily inverted, and two successive outputs suffice to reconstruct the
9930internal state).")
9931 (license license:bsd-3)))
9932
7799d17f
TS
9933(define-public ghc-splitmix-bootstrap
9934 (package
9935 (inherit ghc-splitmix)
9936 (name "ghc-splitmix-bootstrap")
9937 (arguments `(#:tests? #f))
9938 (native-inputs '())
9939 (properties '((hidden? #t)))))
9940
dddbc90c
RV
9941(define-public ghc-statevar
9942 (package
9943 (name "ghc-statevar")
19419709 9944 (version "1.2")
dddbc90c
RV
9945 (source
9946 (origin
9947 (method url-fetch)
9948 (uri (string-append
9949 "https://hackage.haskell.org/package/StateVar/StateVar-"
9950 version
9951 ".tar.gz"))
9952 (sha256
9953 (base32
19419709 9954 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9955 (build-system haskell-build-system)
9956 (home-page "https://hackage.haskell.org/package/StateVar")
9957 (synopsis "State variables for Haskell")
9958 (description "This package provides state variables, which are references
9959in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9960 (license license:bsd-3)))
9961
9962(define-public ghc-statistics
9963 (package
9964 (name "ghc-statistics")
60e78e68 9965 (version "0.15.1.1")
dddbc90c
RV
9966 (source
9967 (origin
9968 (method url-fetch)
9969 (uri (string-append "https://hackage.haskell.org/package/"
9970 "statistics-" version "/"
9971 "statistics-" version ".tar.gz"))
9972 (sha256
9973 (base32
60e78e68 9974 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
9975 (build-system haskell-build-system)
9976 (arguments
60e78e68 9977 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
9978 #:tests? #f))
9979 (inputs
9980 `(("ghc-aeson" ,ghc-aeson)
60e78e68 9981 ("ghc-async" ,ghc-async)
dddbc90c 9982 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 9983 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
9984 ("ghc-math-functions" ,ghc-math-functions)
9985 ("ghc-monad-par" ,ghc-monad-par)
9986 ("ghc-mwc-random" ,ghc-mwc-random)
9987 ("ghc-primitive" ,ghc-primitive)
9988 ("ghc-vector" ,ghc-vector)
9989 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9990 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9991 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9992 (native-inputs
9993 `(("ghc-hunit" ,ghc-hunit)
9994 ("ghc-quickcheck" ,ghc-quickcheck)
9995 ("ghc-ieee754" ,ghc-ieee754)
9996 ("ghc-test-framework" ,ghc-test-framework)
9997 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9998 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9999 (home-page "https://github.com/bos/mwc-random")
10000 (synopsis "Haskell library of statistical types, data, and functions")
10001 (description "This library provides a number of common functions
10002and types useful in statistics. We focus on high performance, numerical
10003robustness, and use of good algorithms. Where possible, we provide references
10004to the statistical literature.
10005
10006The library's facilities can be divided into four broad categories:
10007
10008@itemize
10009@item Working with widely used discrete and continuous probability
10010distributions. (There are dozens of exotic distributions in use; we focus
10011on the most common.)
10012
10013@item Computing with sample data: quantile estimation, kernel density
10014estimation, histograms, bootstrap methods, significance testing,
10015and regression and autocorrelation analysis.
10016
10017@item Random variate generation under several different distributions.
10018
10019@item Common statistical tests for significant differences between samples.
10020@end itemize")
10021 (license license:bsd-2)))
10022
10023(define-public ghc-stm-chans
10024 (package
10025 (name "ghc-stm-chans")
10026 (version "3.0.0.4")
10027 (source
10028 (origin
10029 (method url-fetch)
10030 (uri (string-append "https://hackage.haskell.org/package/"
10031 "stm-chans-" version "/"
10032 "stm-chans-" version ".tar.gz"))
10033 (sha256
10034 (base32
10035 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10036 (build-system haskell-build-system)
10037 (home-page "https://hackage.haskell.org/package/stm-chans")
10038 (synopsis "Additional types of channels for ghc-stm")
10039 (description "This Haskell package offers a collection of channel types,
10040similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10041features.")
10042 (license license:bsd-3)))
10043
10044(define-public ghc-stm-conduit
10045 (package
10046 (name "ghc-stm-conduit")
cd518e95 10047 (version "4.0.1")
dddbc90c
RV
10048 (source
10049 (origin
10050 (method url-fetch)
10051 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10052 "stm-conduit-" version ".tar.gz"))
10053 (sha256
10054 (base32
cd518e95 10055 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10056 (build-system haskell-build-system)
10057 (inputs
10058 `(("ghc-stm-chans" ,ghc-stm-chans)
10059 ("ghc-cereal" ,ghc-cereal)
10060 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10061 ("ghc-conduit" ,ghc-conduit)
10062 ("ghc-conduit-extra" ,ghc-conduit-extra)
10063 ("ghc-exceptions" ,ghc-exceptions)
10064 ("ghc-resourcet" ,ghc-resourcet)
10065 ("ghc-async" ,ghc-async)
10066 ("ghc-monad-loops" ,ghc-monad-loops)
10067 ("ghc-unliftio" ,ghc-unliftio)))
10068 (native-inputs
10069 `(("ghc-doctest" ,ghc-doctest)
10070 ("ghc-quickcheck" ,ghc-quickcheck)
10071 ("ghc-hunit" ,ghc-hunit)
10072 ("ghc-test-framework" ,ghc-test-framework)
10073 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10074 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10075 (home-page "https://github.com/cgaebel/stm-conduit")
10076 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10077 (description
10078 "This package provides two simple conduit wrappers around STM channels: a
10079source and a sink.")
10080 (license license:bsd-3)))
10081
10082(define-public ghc-stmonadtrans
10083 (package
10084 (name "ghc-stmonadtrans")
10085 (version "0.4.3")
10086 (source
10087 (origin
10088 (method url-fetch)
10089 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10090 "/STMonadTrans-" version ".tar.gz"))
10091 (sha256
10092 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10093 (build-system haskell-build-system)
10094 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10095 (synopsis "Monad transformer version of the ST monad")
10096 (description
10097 "This package provides a monad transformer version of the @code{ST} monad
10098for strict state threads.")
10099 (license license:bsd-3)))
10100
10101(define-public ghc-storable-complex
10102 (package
10103 (name "ghc-storable-complex")
4a35e3c3 10104 (version "0.2.3.0")
dddbc90c
RV
10105 (source
10106 (origin
10107 (method url-fetch)
10108 (uri (string-append
10109 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10110 version ".tar.gz"))
10111 (sha256
4a35e3c3 10112 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10113 (build-system haskell-build-system)
4a35e3c3
TS
10114 (inputs
10115 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10116 (home-page "https://github.com/cartazio/storable-complex")
10117 (synopsis "Haskell Storable instance for Complex")
10118 (description "This package provides a Haskell library including a
10119Storable instance for Complex which is binary compatible with C99, C++
10120and Fortran complex data types.")
10121 (license license:bsd-3)))
10122
ad80074a
JS
10123(define-public ghc-storable-record
10124 (package
10125 (name "ghc-storable-record")
10126 (version "0.0.4")
10127 (source
10128 (origin
10129 (method url-fetch)
10130 (uri
10131 (string-append
10132 "https://hackage.haskell.org/package/storable-record/"
10133 "storable-record-" version ".tar.gz"))
10134 (sha256
10135 (base32
10136 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10137 (build-system haskell-build-system)
10138 (inputs
10139 `(("ghc-semigroups" ,ghc-semigroups)
10140 ("ghc-utility-ht" ,ghc-utility-ht)
10141 ("ghc-storablevector" ,ghc-storablevector)
10142 ("ghc-timeit" ,ghc-timeit)))
10143 (home-page "https://hackage.haskell.org/package/storable-record")
10144 (synopsis "Elegant definition of Storable instances for records")
10145 (description "With this package you can build a Storable instance of
10146a record type from Storable instances of its elements in an elegant way.
10147It does not do any magic, just a bit arithmetic to compute the right
10148offsets, that would be otherwise done manually or by a preprocessor like
10149C2HS. There is no guarantee that the generated memory layout is
10150compatible with that of a corresponding C struct. However, the module
10151generates the smallest layout that is possible with respect to the
10152alignment of the record elements.")
10153 (license license:bsd-3)))
10154
55f4c653
JS
10155(define-public ghc-storable-tuple
10156 (package
10157 (name "ghc-storable-tuple")
10158 (version "0.0.3.3")
10159 (source
10160 (origin
10161 (method url-fetch)
10162 (uri
10163 (string-append
10164 "https://hackage.haskell.org/package/storable-tuple/"
10165 "storable-tuple-" version ".tar.gz"))
10166 (sha256
10167 (base32
10168 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10169 (build-system haskell-build-system)
10170 (inputs
10171 `(("ghc-storable-record" ,ghc-storable-record)
10172 ("ghc-utility-ht" ,ghc-utility-ht)
10173 ("ghc-base-orphans" ,ghc-base-orphans)))
10174 (home-page "https://hackage.haskell.org/package/storable-tuple")
10175 (synopsis "Storable instance for pairs and triples")
10176 (description "This package provides a Storable instance for pairs
10177and triples which should be binary compatible with C99 and C++. The
10178only purpose of this package is to provide a standard location for this
10179instance so that other packages needing this instance can play nicely
10180together.")
10181 (license license:bsd-3)))
10182
bc06ca45
JS
10183(define-public ghc-storablevector
10184 (package
10185 (name "ghc-storablevector")
10186 (version "0.2.13")
10187 (source
10188 (origin
10189 (method url-fetch)
10190 (uri
10191 (string-append
10192 "https://hackage.haskell.org/package/storablevector/storablevector-"
10193 version ".tar.gz"))
10194 (sha256
10195 (base32
10196 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10197 (build-system haskell-build-system)
10198 (inputs
10199 `(("ghc-non-negative" ,ghc-non-negative)
10200 ("ghc-utility-ht" ,ghc-utility-ht)
10201 ("ghc-semigroups" ,ghc-semigroups)
10202 ("ghc-unsafe" ,ghc-unsafe)
10203 ("ghc-quickcheck" ,ghc-quickcheck)
10204 ("ghc-syb" ,ghc-syb)))
10205 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10206 (synopsis "Fast, packed, strict storable arrays with a list interface")
10207 (description "This library provides fast, packed, strict storable
10208arrays with a list interface, a chunky lazy list interface with variable
10209chunk size and an interface for write access via the ST monad. This is
10210much like bytestring and binary but can be used for every
10211@code{Foreign.Storable.Storable} type. See also
10212@url{http://hackage.haskell.org/package/vector}, a library with a
10213similar intention.
10214
10215This library does not do advanced fusion optimization, since especially
10216for lazy vectors this would either be incorrect or not applicable. See
10217@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10218a library that provides fusion with lazy lists.")
10219 (license license:bsd-3)))
10220
dddbc90c
RV
10221(define-public ghc-streaming-commons
10222 (package
10223 (name "ghc-streaming-commons")
10224 (version "0.2.1.1")
10225 (source
10226 (origin
10227 (method url-fetch)
10228 (uri (string-append "https://hackage.haskell.org/package/"
10229 "streaming-commons/streaming-commons-"
10230 version ".tar.gz"))
10231 (sha256
10232 (base32
10233 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10234 (build-system haskell-build-system)
10235 (inputs
10236 `(("ghc-async" ,ghc-async)
10237 ("ghc-blaze-builder" ,ghc-blaze-builder)
10238 ("ghc-network" ,ghc-network)
10239 ("ghc-random" ,ghc-random)
10240 ("ghc-zlib" ,ghc-zlib)))
10241 (native-inputs
10242 `(("ghc-quickcheck" ,ghc-quickcheck)
10243 ("ghc-hspec" ,ghc-hspec)
10244 ("hspec-discover" ,hspec-discover)))
10245 (home-page "https://hackage.haskell.org/package/streaming-commons")
10246 (synopsis "Conduit and pipes needed by some streaming data libraries")
10247 (description "This package provides low-dependency functionality commonly
10248needed by various Haskell streaming data libraries, such as @code{conduit} and
10249@code{pipe}s.")
10250 (license license:expat)))
10251
10252(define-public ghc-strict
10253 (package
10254 (name "ghc-strict")
10255 (version "0.3.2")
10256 (source
10257 (origin
10258 (method url-fetch)
10259 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10260 version ".tar.gz"))
10261 (sha256
10262 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10263 (build-system haskell-build-system)
10264 (home-page "https://hackage.haskell.org/package/strict")
10265 (synopsis "Strict data types and String IO")
10266 (description
10267 "This package provides strict versions of some standard Haskell data
10268types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10269IO operations.")
10270 (license license:bsd-3)))
10271
10272(define-public ghc-stringbuilder
10273 (package
10274 (name "ghc-stringbuilder")
10275 (version "0.5.1")
10276 (source
10277 (origin
10278 (method url-fetch)
10279 (uri (string-append
10280 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10281 version
10282 ".tar.gz"))
10283 (sha256
10284 (base32
10285 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10286 (build-system haskell-build-system)
10287 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10288 ; enabled
10289 (home-page "https://hackage.haskell.org/package/stringbuilder")
10290 (synopsis "Writer monad for multi-line string literals")
10291 (description "This package provides a writer monad for multi-line string
10292literals.")
10293 (license license:expat)))
10294
10295(define-public ghc-string-qq
10296 (package
10297 (name "ghc-string-qq")
4d6fddc3 10298 (version "0.0.4")
dddbc90c
RV
10299 (source
10300 (origin
10301 (method url-fetch)
10302 (uri (string-append
10303 "https://hackage.haskell.org/package/string-qq/string-qq-"
10304 version
10305 ".tar.gz"))
10306 (sha256
10307 (base32
4d6fddc3 10308 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10309 (build-system haskell-build-system)
4d6fddc3
TS
10310 (native-inputs
10311 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10312 (home-page "http://hackage.haskell.org/package/string-qq")
10313 (synopsis
10314 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10315 (description
10316 "This package provides a quasiquoter for non-interpolated strings, texts
10317and bytestrings.")
10318 (license license:public-domain)))
10319
10320(define-public ghc-stringsearch
10321 (package
10322 (name "ghc-stringsearch")
10323 (version "0.3.6.6")
10324 (source
10325 (origin
10326 (method url-fetch)
10327 (uri (string-append
10328 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10329 version
10330 ".tar.gz"))
10331 (sha256
10332 (base32
10333 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10334 (build-system haskell-build-system)
e2303abb
TS
10335 (arguments
10336 `(#:cabal-revision
10337 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10338 (home-page "https://bitbucket.org/dafis/stringsearch")
10339 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10340 (description "This package provides several functions to quickly search
10341for substrings in strict or lazy @code{ByteStrings}. It also provides
10342functions for breaking or splitting on substrings and replacing all
10343occurrences of a substring (the first in case of overlaps) with another.")
10344 (license license:bsd-3)))
10345
10346(define-public ghc-stylish-haskell
10347 (package
10348 (name "ghc-stylish-haskell")
10349 (version "0.9.2.1")
10350 (source
10351 (origin
10352 (method url-fetch)
10353 (uri (string-append
10354 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10355 version
10356 ".tar.gz"))
10357 (sha256
10358 (base32
10359 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10360 (build-system haskell-build-system)
a54dda09
TS
10361 (arguments
10362 `(#:phases
10363 (modify-phases %standard-phases
10364 (add-before 'configure 'update-constraints
10365 (lambda _
10366 (substitute* "stylish-haskell.cabal"
10367 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
10368 "haskell-src-exts >= 1.18 && < 1.22,"))
10369 #t)))))
dddbc90c
RV
10370 (inputs
10371 `(("ghc-aeson" ,ghc-aeson)
10372 ("ghc-file-embed" ,ghc-file-embed)
10373 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10374 ("ghc-semigroups" ,ghc-semigroups)
10375 ("ghc-syb" ,ghc-syb)
10376 ("ghc-yaml" ,ghc-yaml)
10377 ("ghc-strict" ,ghc-strict)
10378 ("ghc-optparse-applicative"
10379 ,ghc-optparse-applicative)))
10380 (native-inputs
10381 `(("ghc-hunit" ,ghc-hunit)
10382 ("ghc-test-framework" ,ghc-test-framework)
10383 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10384 (home-page "https://github.com/jaspervdj/stylish-haskell")
10385 (synopsis "Haskell code prettifier")
10386 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10387not to format all of the code in a file, to avoid \"getting in the way\".
10388However, this tool can e.g. clean up import statements and help doing various
10389tasks that get tedious very quickly. It can
10390@itemize
10391@item
10392Align and sort @code{import} statements
10393@item
10394Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10395pragmas
10396@item
10397Remove trailing whitespaces
10398@item
10399Align branches in @code{case} and fields in records
10400@item
10401Convert line endings (customisable)
10402@item
10403Replace tabs by four spaces (turned off by default)
10404@item
10405Replace some ASCII sequences by their Unicode equivalent (turned off by
10406default)
10407@end itemize")
10408 (license license:bsd-3)))
10409
10410(define-public ghc-syb
10411 (package
10412 (name "ghc-syb")
07d65eef 10413 (version "0.7.1")
dddbc90c
RV
10414 (outputs '("out" "doc"))
10415 (source
10416 (origin
10417 (method url-fetch)
10418 (uri (string-append
10419 "https://hackage.haskell.org/package/syb/syb-"
10420 version
10421 ".tar.gz"))
10422 (sha256
10423 (base32
07d65eef 10424 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10425 (build-system haskell-build-system)
10426 (inputs
10427 `(("ghc-hunit" ,ghc-hunit)))
10428 (home-page
10429 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10430 (synopsis "Scrap Your Boilerplate")
10431 (description "This package contains the generics system described in the
10432/Scrap Your Boilerplate/ papers (see
10433@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10434defines the @code{Data} class of types permitting folding and unfolding of
10435constructor applications, instances of this class for primitive types, and a
10436variety of traversals.")
10437 (license license:bsd-3)))
10438
10439(define-public ghc-system-fileio
10440 (package
10441 (name "ghc-system-fileio")
dcfb99d4 10442 (version "0.3.16.4")
dddbc90c
RV
10443 (source
10444 (origin
10445 (method url-fetch)
10446 (uri (string-append
10447 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10448 version ".tar.gz"))
10449 (sha256
10450 (base32
dcfb99d4 10451 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10452 (build-system haskell-build-system)
dcfb99d4
TS
10453 (arguments
10454 `(#:phases
10455 (modify-phases %standard-phases
10456 (add-before 'configure 'update-constraints
10457 (lambda _
10458 (substitute* "system-fileio.cabal"
10459 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10460 #t)))))
dddbc90c
RV
10461 (inputs
10462 `(("ghc-system-filepath" ,ghc-system-filepath)
10463 ("ghc-chell" ,ghc-chell)
10464 ("ghc-temporary" ,ghc-temporary)))
10465 (home-page "https://github.com/fpco/haskell-filesystem")
10466 (synopsis "Consistent file system interaction across GHC versions")
10467 (description
10468 "This is a small wrapper around the directory, unix, and Win32 packages,
10469for use with system-filepath. It provides a consistent API to the various
10470versions of these packages distributed with different versions of GHC.
10471In particular, this library supports working with POSIX files that have paths
10472which can't be decoded in the current locale encoding.")
10473 (license license:expat)))
10474
10475;; See ghc-system-filepath-bootstrap. In addition this package depends on
10476;; ghc-system-filepath.
10477(define ghc-system-fileio-bootstrap
10478 (package
10479 (name "ghc-system-fileio-bootstrap")
10480 (version "0.3.16.3")
10481 (source
10482 (origin
10483 (method url-fetch)
10484 (uri (string-append
10485 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10486 version ".tar.gz"))
10487 (sha256
10488 (base32
10489 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10490 (build-system haskell-build-system)
10491 (arguments
10492 `(#:tests? #f))
10493 (inputs
10494 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10495 ("ghc-temporary" ,ghc-temporary)))
10496 (home-page "https://github.com/fpco/haskell-filesystem")
10497 (synopsis "Consistent file system interaction across GHC versions")
10498 (description
10499 "This is a small wrapper around the directory, unix, and Win32 packages,
10500for use with system-filepath. It provides a consistent API to the various
10501versions of these packages distributed with different versions of GHC.
10502In particular, this library supports working with POSIX files that have paths
10503which can't be decoded in the current locale encoding.")
10504 (license license:expat)))
10505
10506
10507(define-public ghc-system-filepath
10508 (package
10509 (name "ghc-system-filepath")
10510 (version "0.4.14")
10511 (source
10512 (origin
10513 (method url-fetch)
10514 (uri (string-append
10515 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10516 version ".tar.gz"))
10517 (sha256
10518 (base32
10519 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10520 (build-system haskell-build-system)
10521 ;; FIXME: One of the tests fails:
10522 ;; [ FAIL ] tests.validity.posix
10523 ;; note: seed=7310214548328823169
10524 ;; *** Failed! Falsifiable (after 24 tests):
10525 ;; 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"
10526 (arguments `(#:tests? #f))
10527 (inputs
10528 `(("ghc-chell" ,ghc-chell)
10529 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10530 ("ghc-quickcheck" ,ghc-quickcheck)))
10531 (home-page "https://github.com/fpco/haskell-filesystem")
10532 (synopsis "High-level, byte-based file and directory path manipulations")
10533 (description
10534 "Provides a FilePath datatype and utility functions for operating on it.
10535Unlike the filepath package, this package does not simply reuse String,
10536increasing type safety.")
10537 (license license:expat)))
10538
10539;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10540;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10541;; which depends on ghc-chell and ghc-chell-quickcheck.
10542;; Therefore we bootstrap it with tests disabled.
10543(define ghc-system-filepath-bootstrap
10544 (package
10545 (name "ghc-system-filepath-bootstrap")
10546 (version "0.4.14")
10547 (source
10548 (origin
10549 (method url-fetch)
10550 (uri (string-append
10551 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10552 version ".tar.gz"))
10553 (sha256
10554 (base32
10555 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10556 (build-system haskell-build-system)
10557 (arguments
10558 `(#:tests? #f))
10559 (inputs
10560 `(("ghc-quickcheck" ,ghc-quickcheck)))
10561 (home-page "https://github.com/fpco/haskell-filesystem")
10562 (synopsis "High-level, byte-based file and directory path manipulations")
10563 (description
10564 "Provides a FilePath datatype and utility functions for operating on it.
10565Unlike the filepath package, this package does not simply reuse String,
10566increasing type safety.")
10567 (license license:expat)))
10568
10569
10570(define-public ghc-tagged
10571 (package
10572 (name "ghc-tagged")
f0f3756a 10573 (version "0.8.6")
dddbc90c
RV
10574 (source
10575 (origin
10576 (method url-fetch)
10577 (uri (string-append
10578 "https://hackage.haskell.org/package/tagged/tagged-"
10579 version
10580 ".tar.gz"))
10581 (sha256
10582 (base32
f0f3756a 10583 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10584 (build-system haskell-build-system)
10585 (arguments
10586 `(#:cabal-revision
f0f3756a 10587 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10588 (inputs
10589 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10590 (home-page "https://hackage.haskell.org/package/tagged")
10591 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10592 (description "This library provides phantom types for Haskell 98, to avoid
10593having to unsafely pass dummy arguments.")
10594 (license license:bsd-3)))
10595
10596(define-public ghc-tar
10597 (package
10598 (name "ghc-tar")
ec83929f 10599 (version "0.5.1.1")
dddbc90c
RV
10600 (source
10601 (origin
10602 (method url-fetch)
10603 (uri (string-append
10604 "https://hackage.haskell.org/package/tar/tar-"
10605 version ".tar.gz"))
10606 (sha256
10607 (base32
ec83929f 10608 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10609 (build-system haskell-build-system)
10610 ;; FIXME: 2/24 tests fail.
10611 (arguments `(#:tests? #f))
10612 (inputs
10613 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10614 ("ghc-quickcheck" ,ghc-quickcheck)
10615 ("ghc-tasty" ,ghc-tasty)
10616 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10617 (home-page "https://hackage.haskell.org/package/tar")
10618 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10619 (description
10620 "This library is for working with \\\"@.tar@\\\" archive files.
10621It can read and write a range of common variations of the tar archive format
10622including V7, POSIX USTAR and GNU formats. It provides support for packing and
10623unpacking portable archives. This makes it suitable for distribution but not
10624backup because details like file ownership and exact permissions are not
10625preserved. It also provides features for random access to archive content using
10626an index.")
10627 (license license:bsd-3)))
10628
10629(define-public ghc-temporary
10630 (package
10631 (name "ghc-temporary")
10632 (version "1.3")
10633 (source
10634 (origin
10635 (method url-fetch)
10636 (uri (string-append
10637 "https://hackage.haskell.org/package/temporary/temporary-"
10638 version
10639 ".tar.gz"))
10640 (sha256
10641 (base32
10642 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10643 (build-system haskell-build-system)
10644 (inputs
10645 `(("ghc-exceptions" ,ghc-exceptions)
10646 ("ghc-random" ,ghc-random)))
10647 (native-inputs
10648 `(("ghc-base-compat" ,ghc-base-compat)
10649 ("ghc-tasty" ,ghc-tasty)
10650 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10651 (home-page "https://www.github.com/batterseapower/temporary")
10652 (synopsis "Temporary file and directory support")
10653 (description "The functions for creating temporary files and directories
10654in the Haskelll base library are quite limited. This library just repackages
10655the Cabal implementations of its own temporary file and folder functions so
10656that you can use them without linking against Cabal or depending on it being
10657installed.")
10658 (license license:bsd-3)))
10659
10660(define-public ghc-temporary-rc
10661 (package
10662 (name "ghc-temporary-rc")
10663 (version "1.2.0.3")
10664 (source
10665 (origin
10666 (method url-fetch)
10667 (uri (string-append
10668 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10669 version
10670 ".tar.gz"))
10671 (sha256
10672 (base32
10673 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10674 (build-system haskell-build-system)
10675 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10676 (home-page
10677 "https://www.github.com/feuerbach/temporary")
10678 (synopsis
10679 "Portable temporary file and directory support")
10680 (description
10681 "The functions for creating temporary files and directories in the base
10682library are quite limited. The unixutils package contains some good ones, but
10683they aren't portable to Windows. This library just repackages the Cabal
10684implementations of its own temporary file and folder functions so that you can
10685use them without linking against Cabal or depending on it being installed.
10686This is a better maintained fork of the \"temporary\" package.")
10687 (license license:bsd-3)))
10688
10689(define-public ghc-terminal-size
10690 (package
10691 (name "ghc-terminal-size")
10692 (version "0.3.2.1")
10693 (source (origin
10694 (method url-fetch)
10695 (uri (string-append
10696 "https://hackage.haskell.org/package/terminal-size/"
10697 "terminal-size-" version ".tar.gz"))
10698 (sha256
10699 (base32
10700 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10701 (build-system haskell-build-system)
10702 (home-page "https://hackage.haskell.org/package/terminal-size")
10703 (synopsis "Get terminal window height and width")
10704 (description "Get terminal window height and width without ncurses
10705dependency.")
10706 (license license:bsd-3)))
10707
10708(define-public ghc-texmath
10709 (package
10710 (name "ghc-texmath")
7fec7e66 10711 (version "0.11.3")
dddbc90c
RV
10712 (source (origin
10713 (method url-fetch)
10714 (uri (string-append "https://hackage.haskell.org/package/"
10715 "texmath/texmath-" version ".tar.gz"))
10716 (sha256
10717 (base32
7fec7e66 10718 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10719 (build-system haskell-build-system)
10720 (inputs
10721 `(("ghc-syb" ,ghc-syb)
10722 ("ghc-network-uri" ,ghc-network-uri)
10723 ("ghc-split" ,ghc-split)
10724 ("ghc-temporary" ,ghc-temporary)
10725 ("ghc-utf8-string" ,ghc-utf8-string)
10726 ("ghc-xml" ,ghc-xml)
10727 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10728 (home-page "https://github.com/jgm/texmath")
10729 (synopsis "Conversion between formats used to represent mathematics")
10730 (description
10731 "The texmath library provides functions to read and write TeX math,
10732presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10733Office). Support is also included for converting math formats to pandoc's
10734native format (allowing conversion, via pandoc, to a variety of different
10735markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10736it can parse and apply LaTeX macros.")
10737 (license license:gpl2+)))
10738
10739(define-public ghc-text-binary
10740 (package
10741 (name "ghc-text-binary")
10742 (version "0.2.1.1")
10743 (source
10744 (origin
10745 (method url-fetch)
10746 (uri (string-append "https://hackage.haskell.org/package/"
10747 "text-binary/text-binary-"
10748 version ".tar.gz"))
10749 (sha256
10750 (base32
10751 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10752 (build-system haskell-build-system)
10753 (home-page "https://github.com/kawu/text-binary")
10754 (synopsis "Binary instances for text types")
10755 (description
10756 "This package provides a compatibility layer providing @code{Binary}
10757instances for strict and lazy text types for versions older than 1.2.1 of the
10758text package.")
10759 (license license:bsd-2)))
10760
bdc877c4
TS
10761(define-public ghc-text-metrics
10762 (package
10763 (name "ghc-text-metrics")
10764 (version "0.3.0")
10765 (source
10766 (origin
10767 (method url-fetch)
10768 (uri (string-append "https://hackage.haskell.org/package/"
10769 "text-metrics/text-metrics-" version ".tar.gz"))
10770 (sha256
10771 (base32
10772 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10773 (build-system haskell-build-system)
10774 (inputs
10775 `(("ghc-vector" ,ghc-vector)))
10776 (native-inputs
10777 `(("ghc-quickcheck" ,ghc-quickcheck)
10778 ("ghc-hspec" ,ghc-hspec)))
10779 (arguments
10780 `(#:cabal-revision
10781 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10782 (home-page "https://github.com/mrkkrp/text-metrics")
10783 (synopsis "Calculate various string metrics efficiently")
10784 (description "This library provides tools to calculate various
10785string metrics efficiently.")
10786 (license license:bsd-3)))
10787
dddbc90c
RV
10788(define-public ghc-tf-random
10789 (package
10790 (name "ghc-tf-random")
10791 (version "0.5")
10792 (outputs '("out" "doc"))
10793 (source
10794 (origin
10795 (method url-fetch)
10796 (uri (string-append
10797 "https://hackage.haskell.org/package/tf-random/tf-random-"
10798 version
10799 ".tar.gz"))
10800 (sha256
10801 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10802 (build-system haskell-build-system)
10803 (inputs
10804 `(("ghc-primitive" ,ghc-primitive)
10805 ("ghc-random" ,ghc-random)))
10806 (home-page "https://hackage.haskell.org/package/tf-random")
10807 (synopsis "High-quality splittable pseudorandom number generator")
10808 (description "This package contains an implementation of a high-quality
10809splittable pseudorandom number generator. The generator is based on a
10810cryptographic hash function built on top of the ThreeFish block cipher. See
10811the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10812Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10813 (license license:bsd-3)))
10814
10815(define-public ghc-th-abstraction
10816 (package
10817 (name "ghc-th-abstraction")
1188eabb 10818 (version "0.3.1.0")
dddbc90c
RV
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append "https://hackage.haskell.org/package/"
10823 "th-abstraction/th-abstraction-"
10824 version ".tar.gz"))
10825 (sha256
10826 (base32
1188eabb 10827 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10828 (build-system haskell-build-system)
10829 (home-page "https://github.com/glguy/th-abstraction")
10830 (synopsis "Nicer interface for reified information about data types")
10831 (description
10832 "This package normalizes variations in the interface for inspecting
10833datatype information via Template Haskell so that packages and support a
10834single, easier to use informational datatype while supporting many versions of
10835Template Haskell.")
10836 (license license:isc)))
10837
10838(define-public ghc-th-expand-syns
10839 (package
10840 (name "ghc-th-expand-syns")
8c766600 10841 (version "0.4.5.0")
dddbc90c
RV
10842 (source (origin
10843 (method url-fetch)
10844 (uri (string-append "https://hackage.haskell.org/package/"
10845 "th-expand-syns/th-expand-syns-"
10846 version ".tar.gz"))
10847 (sha256
10848 (base32
8c766600 10849 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10850 (build-system haskell-build-system)
10851 (inputs
10852 `(("ghc-syb" ,ghc-syb)))
10853 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10854 (synopsis "Expands type synonyms in Template Haskell ASTs")
10855 (description
10856 "This package enables users to expand type synonyms in Template Haskell
10857@dfn{abstract syntax trees} (ASTs).")
10858 (license license:bsd-3)))
10859
10860(define-public ghc-th-lift
10861 (package
10862 (name "ghc-th-lift")
bd76b20a 10863 (version "0.8.0.1")
dddbc90c
RV
10864 (source (origin
10865 (method url-fetch)
10866 (uri (string-append "https://hackage.haskell.org/package/"
10867 "th-lift/th-lift-" version ".tar.gz"))
10868 (sha256
10869 (base32
bd76b20a 10870 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10871 (build-system haskell-build-system)
10872 (inputs
10873 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10874 (home-page "https://github.com/mboes/th-lift")
10875 (synopsis "Derive Template Haskell's Lift class for datatypes")
10876 (description
10877 "This is a Haskell library to derive Template Haskell's Lift class for
10878datatypes.")
10879 (license license:bsd-3)))
10880
10881(define-public ghc-th-lift-instances
10882 (package
10883 (name "ghc-th-lift-instances")
d3db399e 10884 (version "0.1.14")
dddbc90c
RV
10885 (source
10886 (origin
10887 (method url-fetch)
10888 (uri (string-append "https://hackage.haskell.org/package/"
10889 "th-lift-instances/th-lift-instances-"
10890 version ".tar.gz"))
10891 (sha256
10892 (base32
d3db399e 10893 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10894 (build-system haskell-build-system)
10895 (inputs
10896 `(("ghc-th-lift" ,ghc-th-lift)
10897 ("ghc-vector" ,ghc-vector)
10898 ("ghc-quickcheck" ,ghc-quickcheck)))
10899 (home-page "https://github.com/bennofs/th-lift-instances/")
10900 (synopsis "Lift instances for template-haskell for common data types.")
10901 (description "Most data types in the Haskell platform do not have Lift
10902instances. This package provides orphan instances for @code{containers},
10903@code{text}, @code{bytestring} and @code{vector}.")
10904 (license license:bsd-3)))
10905
10906(define-public ghc-th-orphans
10907 (package
10908 (name "ghc-th-orphans")
882b23e2 10909 (version "0.13.9")
dddbc90c
RV
10910 (source (origin
10911 (method url-fetch)
10912 (uri (string-append "https://hackage.haskell.org/package/"
10913 "th-orphans/th-orphans-" version ".tar.gz"))
10914 (sha256
10915 (base32
882b23e2 10916 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10917 (build-system haskell-build-system)
10918 (inputs
10919 `(("ghc-th-lift" ,ghc-th-lift)
10920 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10921 ("ghc-th-reify-many" ,ghc-th-reify-many)
10922 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10923 (native-inputs
10924 `(("ghc-hspec" ,ghc-hspec)))
10925 (home-page "https://hackage.haskell.org/package/th-orphans")
10926 (synopsis "Orphan instances for TH datatypes")
10927 (description
10928 "This package provides orphan instances for Template Haskell datatypes. In particular,
10929instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10930and @code{Eq} instances. These instances used to live in the haskell-src-meta
10931package, and that's where the version number started.")
10932 (license license:bsd-3)))
10933
10934(define-public ghc-threads
10935 (package
10936 (name "ghc-threads")
10937 (version "0.5.1.6")
10938 (source
10939 (origin
10940 (method url-fetch)
10941 (uri (string-append "https://hackage.haskell.org/package/"
10942 "threads/threads-" version ".tar.gz"))
10943 (sha256
10944 (base32
10945 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10946 (build-system haskell-build-system)
10947 (native-inputs
10948 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10949 ("ghc-hunit" ,ghc-hunit)
10950 ("ghc-test-framework" ,ghc-test-framework)
10951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10952 (home-page "https://github.com/basvandijk/threads")
10953 (synopsis "Fork threads and wait for their result")
10954 (description "This package provides functions to fork threads and
10955wait for their result, whether it's an exception or a normal value.
10956Besides waiting for the termination of a single thread this package also
10957provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10958package is similar to the @code{threadmanager}, @code{async} and
10959@code{spawn} packages. The advantages of this package are:
10960
dddbc90c
RV
10961@itemize
10962@item Simpler API.
10963@item More efficient in both space and time.
10964@item No space-leak when forking a large number of threads.
10965@item Correct handling of asynchronous exceptions.
10966@item GHC specific functionality like @code{forkOn} and
10967@code{forkIOWithUnmask}.
10968@end itemize")
10969 (license license:bsd-3)))
10970
10971(define-public ghc-th-reify-many
10972 (package
10973 (name "ghc-th-reify-many")
32d4a6ae 10974 (version "0.1.9")
dddbc90c
RV
10975 (source (origin
10976 (method url-fetch)
10977 (uri (string-append "https://hackage.haskell.org/package/"
10978 "th-reify-many/th-reify-many-"
10979 version ".tar.gz"))
10980 (sha256
10981 (base32
32d4a6ae 10982 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10983 (build-system haskell-build-system)
10984 (inputs
10985 `(("ghc-safe" ,ghc-safe)
10986 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10987 (home-page "https://github.com/mgsloan/th-reify-many")
10988 (synopsis "Recurseively reify template haskell datatype info")
10989 (description
10990 "th-reify-many provides functions for recursively reifying top level
10991declarations. The main intended use case is for enumerating the names of
10992datatypes reachable from an initial datatype, and passing these names to some
10993function which generates instances.")
10994 (license license:bsd-3)))
10995
75cfc9a2
TS
10996(define-public ghc-time-compat
10997 (package
10998 (name "ghc-time-compat")
10999 (version "1.9.2.2")
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append "https://hackage.haskell.org/package/"
11004 "time-compat/time-compat-" version ".tar.gz"))
11005 (sha256
11006 (base32
11007 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11008 (build-system haskell-build-system)
11009 (inputs
11010 `(("ghc-base-orphans" ,ghc-base-orphans)))
11011 (native-inputs
11012 `(("ghc-hunit" ,ghc-hunit)
11013 ("ghc-base-compat" ,ghc-base-compat)
11014 ("ghc-quickcheck" ,ghc-quickcheck)
11015 ("ghc-tagged" ,ghc-tagged)
11016 ("ghc-tasty" ,ghc-tasty)
11017 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11019 (arguments
11020 `(#:cabal-revision
11021 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11022 (home-page "https://github.com/phadej/time-compat")
11023 (synopsis "Compatibility package for time")
11024 (description "This packages tries to compat as many @code{time}
11025features as possible.")
11026 (license license:bsd-3)))
11027
dddbc90c
RV
11028(define-public ghc-time-locale-compat
11029 (package
11030 (name "ghc-time-locale-compat")
11031 (version "0.1.1.5")
11032 (source
11033 (origin
11034 (method url-fetch)
11035 (uri (string-append "https://hackage.haskell.org/package/"
11036 "time-locale-compat/time-locale-compat-"
11037 version ".tar.gz"))
11038 (sha256
11039 (base32
11040 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11041 (build-system haskell-build-system)
11042 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11043 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11044 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11045 (description "This package contains a wrapped name module for
11046@code{TimeLocale}.")
11047 (license license:bsd-3)))
11048
c022a4d4
TS
11049(define-public ghc-time-manager
11050 (package
11051 (name "ghc-time-manager")
11052 (version "0.0.0")
11053 (source
11054 (origin
11055 (method url-fetch)
11056 (uri (string-append "https://hackage.haskell.org/package/"
11057 "time-manager/time-manager-" version ".tar.gz"))
11058 (sha256
11059 (base32
11060 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11061 (build-system haskell-build-system)
11062 (inputs
11063 `(("ghc-auto-update" ,ghc-auto-update)))
11064 (home-page "https://github.com/yesodweb/wai")
11065 (synopsis "Scalable timer")
11066 (description "This library contains scalable timer functions provided by a
11067timer manager.")
11068 (license license:expat)))
11069
7bbfa392
JS
11070(define-public ghc-timeit
11071 (package
11072 (name "ghc-timeit")
11073 (version "2.0")
11074 (source
11075 (origin
11076 (method url-fetch)
11077 (uri
11078 (string-append
11079 "https://hackage.haskell.org/package/timeit/timeit-"
11080 version ".tar.gz"))
11081 (sha256
11082 (base32
11083 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11084 (build-system haskell-build-system)
11085 (home-page "https://github.com/merijn/timeit")
11086 (synopsis "Time monadic computations with an IO base")
11087 (description "This package provides a simple wrapper to show the
11088used CPU time of monadic computation with an IO base.")
11089 (license license:bsd-3)))
11090
dddbc90c
RV
11091(define-public ghc-tldr
11092 (package
11093 (name "ghc-tldr")
871ceb31 11094 (version "0.4.0.2")
dddbc90c
RV
11095 (source
11096 (origin
11097 (method url-fetch)
11098 (uri (string-append
11099 "https://hackage.haskell.org/package/tldr/tldr-"
11100 version
11101 ".tar.gz"))
11102 (sha256
11103 (base32
871ceb31 11104 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11105 (build-system haskell-build-system)
11106 (inputs
11107 `(("ghc-cmark" ,ghc-cmark)
11108 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11109 ("ghc-typed-process" ,ghc-typed-process)
11110 ("ghc-semigroups" ,ghc-semigroups)))
11111 (native-inputs
11112 `(("ghc-tasty" ,ghc-tasty)
11113 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11114 (home-page "https://github.com/psibi/tldr-hs#readme")
11115 (synopsis "Haskell tldr client")
11116 (description "This package provides the @command{tldr} command and a
11117Haskell client library allowing users to update and view @code{tldr} pages
11118from a shell. The @code{tldr} pages are a community effort to simplify the
11119man pages with practical examples.")
11120 (license license:bsd-3)))
11121
11122(define-public ghc-transformers-base
11123 (package
11124 (name "ghc-transformers-base")
11125 (version "0.4.5.2")
11126 (source
11127 (origin
11128 (method url-fetch)
11129 (uri (string-append
11130 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11131 version
11132 ".tar.gz"))
11133 (sha256
11134 (base32
11135 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11136 (build-system haskell-build-system)
11137 (inputs
11138 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11139 (home-page
11140 "https://hackage.haskell.org/package/transformers-compat")
11141 (synopsis
11142 "Backported transformer library")
11143 (description
11144 "Backported versions of types that were added to transformers in
11145transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11146compatibility to run on old versions of the platform.")
11147 (license license:bsd-3)))
11148
11149(define-public ghc-transformers-compat
11150 (package
11151 (name "ghc-transformers-compat")
1c9c4d58 11152 (version "0.6.5")
dddbc90c
RV
11153 (source
11154 (origin
11155 (method url-fetch)
11156 (uri (string-append
11157 "https://hackage.haskell.org/package/transformers-compat"
11158 "/transformers-compat-" version ".tar.gz"))
11159 (sha256
11160 (base32
1c9c4d58 11161 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
11162 (build-system haskell-build-system)
11163 (home-page "https://github.com/ekmett/transformers-compat/")
11164 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11165 (description "This package includes backported versions of types that were
11166added to transformers in transformers 0.3 and 0.4 for users who need strict
11167transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11168but also need those types.")
11169 (license license:bsd-3)))
11170
11171(define-public ghc-tree-diff
11172 (package
11173 (name "ghc-tree-diff")
b4e26067 11174 (version "0.1")
dddbc90c
RV
11175 (source
11176 (origin
11177 (method url-fetch)
11178 (uri (string-append
11179 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11180 version
11181 ".tar.gz"))
11182 (sha256
11183 (base32
b4e26067 11184 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 11185 (build-system haskell-build-system)
dddbc90c
RV
11186 (inputs
11187 `(("ghc-aeson" ,ghc-aeson)
11188 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11189 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11190 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 11191 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 11192 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
11193 ("ghc-parsers" ,ghc-parsers)
11194 ("ghc-quickcheck" ,ghc-quickcheck)
11195 ("ghc-scientific" ,ghc-scientific)
11196 ("ghc-tagged" ,ghc-tagged)
11197 ("ghc-unordered-containers" ,ghc-unordered-containers)
11198 ("ghc-uuid-types" ,ghc-uuid-types)
11199 ("ghc-vector" ,ghc-vector)))
11200 (native-inputs
11201 `(("ghc-base-compat" ,ghc-base-compat)
11202 ("ghc-quickcheck" ,ghc-quickcheck)
11203 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11204 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11205 ("ghc-trifecta" ,ghc-trifecta)
11206 ("ghc-tasty" ,ghc-tasty)
11207 ("ghc-tasty-golden" ,ghc-tasty-golden)
11208 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11209 (home-page "https://github.com/phadej/tree-diff")
11210 (synopsis "Compute difference between (expression) trees")
11211 (description "This Haskell library provides a function for computing
11212the difference between (expression) trees. It also provides a way to
11213compute the difference between arbitrary abstract datatypes (ADTs) using
11214@code{Generics}-derivable helpers.")
11215 (license license:bsd-3)))
11216
11217(define-public ghc-trifecta
11218 (package
11219 (name "ghc-trifecta")
11220 (version "2")
11221 (source (origin
11222 (method url-fetch)
11223 (uri (string-append
11224 "https://hackage.haskell.org/package/trifecta/"
11225 "trifecta-" version ".tar.gz"))
11226 (sha256
11227 (base32
11228 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11229 (build-system haskell-build-system)
5ffe8cfd
TS
11230 (arguments
11231 `(#:tests? #f ; doctest suite fails to build on i686
11232 #:cabal-revision
11233 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
11234 (inputs
11235 `(("ghc-reducers" ,ghc-reducers)
11236 ("ghc-semigroups" ,ghc-semigroups)
11237 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11238 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11239 ("ghc-blaze-builder" ,ghc-blaze-builder)
11240 ("ghc-blaze-html" ,ghc-blaze-html)
11241 ("ghc-blaze-markup" ,ghc-blaze-markup)
11242 ("ghc-charset" ,ghc-charset)
11243 ("ghc-comonad" ,ghc-comonad)
11244 ("ghc-fingertree" ,ghc-fingertree)
11245 ("ghc-hashable" ,ghc-hashable)
11246 ("ghc-lens" ,ghc-lens)
11247 ("ghc-parsers" ,ghc-parsers)
11248 ("ghc-profunctors" ,ghc-profunctors)
11249 ("ghc-unordered-containers" ,ghc-unordered-containers)
11250 ("ghc-utf8-string" ,ghc-utf8-string)))
11251 (native-inputs
11252 `(("cabal-doctest" ,cabal-doctest)
11253 ("ghc-doctest" ,ghc-doctest)
11254 ("ghc-quickcheck" ,ghc-quickcheck)))
11255 (home-page "https://github.com/ekmett/trifecta/")
11256 (synopsis "Parser combinator library with convenient diagnostics")
11257 (description "Trifecta is a modern parser combinator library for Haskell,
11258with slicing and Clang-style colored diagnostics.")
11259 (license license:bsd-3)))
11260
11261(define-public ghc-tuple-th
11262 (package
11263 (name "ghc-tuple-th")
11264 (version "0.2.5")
11265 (source
11266 (origin
11267 (method url-fetch)
11268 (uri (string-append "https://hackage.haskell.org/package/"
11269 "tuple-th-" version "/"
11270 "tuple-th-" version ".tar.gz"))
11271 (sha256
11272 (base32
11273 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11274 (build-system haskell-build-system)
11275 (home-page "https://github.com/DanielSchuessler/tuple-th")
11276 (synopsis "Generate utility functions for tuples of statically known size
11277for Haskell")
11278 (description "This Haskell package contains Template Haskell functions for
11279generating functions similar to those in @code{Data.List} for tuples of
11280statically known size.")
11281 (license license:bsd-3)))
11282
11283(define-public ghc-typed-process
11284 (package
11285 (name "ghc-typed-process")
72fb84a5 11286 (version "0.2.6.0")
dddbc90c
RV
11287 (source
11288 (origin
11289 (method url-fetch)
11290 (uri (string-append "https://hackage.haskell.org/package/"
11291 "typed-process/typed-process-"
11292 version ".tar.gz"))
11293 (sha256
11294 (base32
72fb84a5 11295 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
11296 (build-system haskell-build-system)
11297 (inputs
72fb84a5
TS
11298 `(("ghc-async" ,ghc-async)
11299 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
11300 (native-inputs
11301 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11302 ("ghc-hspec" ,ghc-hspec)
11303 ("hspec-discover" ,hspec-discover)
11304 ("ghc-temporary" ,ghc-temporary)))
11305 (home-page "https://haskell-lang.org/library/typed-process")
11306 (synopsis "Run external processes with strong typing of streams")
11307 (description
11308 "This library provides the ability to launch and interact with external
11309processes. It wraps around the @code{process} library, and intends to improve
11310upon it.")
11311 (license license:expat)))
11312
d392f803
AG
11313(define-public ghc-unagi-chan
11314 (package
11315 (name "ghc-unagi-chan")
11316 (version "0.4.1.2")
11317 (source
11318 (origin
11319 (method url-fetch)
11320 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11321 "/unagi-chan-" version ".tar.gz"))
11322 (sha256
11323 (base32
11324 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11325 (build-system haskell-build-system)
11326 (inputs
11327 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11328 ("ghc-primitive" ,ghc-primitive)))
11329 (arguments
11330 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11331 #:cabal-revision
11332 ("1"
11333 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11334 (home-page "http://hackage.haskell.org/package/unagi-chan")
11335 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11336 (description
11337 "This library provides implementations of concurrent FIFO queues (for
11338both general boxed and primitive unboxed values) that are fast, perform well
11339under contention, and offer a Chan-like interface. The library may be of
11340limited usefulness outside of x86 architectures where the fetch-and-add
11341instruction is not available.")
11342 (license license:bsd-3)))
11343
dddbc90c
RV
11344(define-public ghc-unbounded-delays
11345 (package
11346 (name "ghc-unbounded-delays")
11347 (version "0.1.1.0")
11348 (source
11349 (origin
11350 (method url-fetch)
11351 (uri (string-append
11352 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11353 version
11354 ".tar.gz"))
11355 (sha256
11356 (base32
11357 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11358 (build-system haskell-build-system)
11359 (home-page "https://github.com/basvandijk/unbounded-delays")
11360 (synopsis "Unbounded thread delays and timeouts")
11361 (description "The @code{threadDelay} and @code{timeout} functions from the
11362Haskell base library use the bounded @code{Int} type for specifying the delay
11363or timeout period. This package provides alternative functions which use the
11364unbounded @code{Integer} type.")
11365 (license license:bsd-3)))
11366
11367(define-public ghc-unexceptionalio
11368 (package
11369 (name "ghc-unexceptionalio")
11370 (version "0.4.0")
11371 (source
11372 (origin
11373 (method url-fetch)
11374 (uri (string-append "https://hackage.haskell.org/package/"
11375 "unexceptionalio-" version "/" "unexceptionalio-"
11376 version ".tar.gz"))
11377 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11378 (build-system haskell-build-system)
11379 (home-page "https://github.com/singpolyma/unexceptionalio")
11380 (synopsis "IO without any non-error, synchronous exceptions")
11381 (description "When you've caught all the exceptions that can be
11382handled safely, this is what you're left with.")
11383 (license license:isc)))
11384
b69d4aa7
TS
11385(define-public ghc-unicode-transforms
11386 (package
11387 (name "ghc-unicode-transforms")
11388 (version "0.3.6")
11389 (source
11390 (origin
11391 (method url-fetch)
11392 (uri (string-append "https://hackage.haskell.org/package/"
11393 "unicode-transforms/unicode-transforms-"
11394 version ".tar.gz"))
11395 (sha256
11396 (base32
11397 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
11398 (build-system haskell-build-system)
11399 (inputs
11400 `(("ghc-bitarray" ,ghc-bitarray)))
11401 (native-inputs
11402 `(("ghc-quickcheck" ,ghc-quickcheck)
11403 ("ghc-getopt-generics" ,ghc-getopt-generics)
11404 ("ghc-split" ,ghc-split)))
11405 (home-page "https://github.com/composewell/unicode-transforms")
11406 (synopsis "Unicode normalization")
11407 (description "This library provides tools for fast Unicode 12.1.0
11408normalization in Haskell (normalization forms C, KC, D, and KD).")
11409 (license license:bsd-3)))
11410
dddbc90c
RV
11411(define-public ghc-union-find
11412 (package
11413 (name "ghc-union-find")
11414 (version "0.2")
11415 (source (origin
11416 (method url-fetch)
11417 (uri (string-append
11418 "https://hackage.haskell.org/package/union-find/union-find-"
11419 version ".tar.gz"))
11420 (sha256
11421 (base32
11422 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11423 (build-system haskell-build-system)
11424 (home-page "https://github.com/nominolo/union-find")
11425 (synopsis "Efficient union and equivalence testing of sets")
11426 (description
11427 "The Union/Find algorithm implements these operations in (effectively)
11428constant-time:
11429@enumerate
11430@item Check whether two elements are in the same equivalence class.
11431@item Create a union of two equivalence classes.
11432@item Look up the descriptor of the equivalence class.
11433@end enumerate\n")
11434 (license license:bsd-3)))
11435
11436(define-public ghc-uniplate
11437 (package
11438 (name "ghc-uniplate")
11439 (version "1.6.12")
11440 (source
11441 (origin
11442 (method url-fetch)
11443 (uri (string-append
11444 "https://hackage.haskell.org/package/uniplate/uniplate-"
11445 version
11446 ".tar.gz"))
11447 (sha256
11448 (base32
11449 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11450 (build-system haskell-build-system)
11451 (inputs
11452 `(("ghc-syb" ,ghc-syb)
11453 ("ghc-hashable" ,ghc-hashable)
11454 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11455 (home-page "http://community.haskell.org/~ndm/uniplate/")
11456 (synopsis "Simple, concise and fast generic operations")
11457 (description "Uniplate is a library for writing simple and concise generic
11458operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11459work, but is substantially simpler and faster.")
11460 (license license:bsd-3)))
11461
11462(define-public ghc-unix-compat
11463 (package
11464 (name "ghc-unix-compat")
bc82e9f5 11465 (version "0.5.2")
dddbc90c
RV
11466 (source
11467 (origin
11468 (method url-fetch)
11469 (uri (string-append
11470 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11471 version
11472 ".tar.gz"))
11473 (sha256
11474 (base32
bc82e9f5 11475 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11476 (build-system haskell-build-system)
11477 (home-page
11478 "https://github.com/jystic/unix-compat")
11479 (synopsis "Portable POSIX-compatibility layer")
11480 (description
11481 "This package provides portable implementations of parts of the unix
11482package. This package re-exports the unix package when available. When it
11483isn't available, portable implementations are used.")
11484 (license license:bsd-3)))
11485
11486(define-public ghc-unix-time
11487 (package
11488 (name "ghc-unix-time")
fad9cff2 11489 (version "0.4.7")
dddbc90c
RV
11490 (source
11491 (origin
11492 (method url-fetch)
11493 (uri (string-append
11494 "https://hackage.haskell.org/package/unix-time/unix-time-"
11495 version
11496 ".tar.gz"))
11497 (sha256
11498 (base32
fad9cff2 11499 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11500 (build-system haskell-build-system)
11501 (arguments
11502 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11503 ; is weird, that should be provided by GHC 7.10.2.
11504 (inputs
11505 `(("ghc-old-time" ,ghc-old-time)
11506 ("ghc-old-locale" ,ghc-old-locale)))
11507 (home-page "https://hackage.haskell.org/package/unix-time")
11508 (synopsis "Unix time parser/formatter and utilities")
11509 (description "This library provides fast parsing and formatting utilities
11510for Unix time in Haskell.")
11511 (license license:bsd-3)))
11512
11513(define-public ghc-unliftio
11514 (package
11515 (name "ghc-unliftio")
a4084db1 11516 (version "0.2.12")
dddbc90c
RV
11517 (source
11518 (origin
11519 (method url-fetch)
11520 (uri (string-append
11521 "https://hackage.haskell.org/package/unliftio/unliftio-"
11522 version
11523 ".tar.gz"))
11524 (sha256
11525 (base32
a4084db1 11526 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11527 (build-system haskell-build-system)
11528 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11529 (inputs
11530 `(("ghc-async" ,ghc-async)
11531 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11532 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11533 (home-page "https://github.com/fpco/unliftio")
11534 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11535IO (batteries included)")
11536 (description "This Haskell package provides the core @code{MonadUnliftIO}
11537typeclass, a number of common instances, and a collection of common functions
11538working with it.")
11539 (license license:expat)))
11540
11541(define-public ghc-unliftio-core
11542 (package
11543 (name "ghc-unliftio-core")
2ae42618 11544 (version "0.1.2.0")
dddbc90c
RV
11545 (source
11546 (origin
11547 (method url-fetch)
11548 (uri (string-append "https://hackage.haskell.org/package/"
11549 "unliftio-core-" version "/"
11550 "unliftio-core-" version ".tar.gz"))
11551 (sha256
11552 (base32
2ae42618 11553 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11554 (build-system haskell-build-system)
11555 (arguments
11556 `(#:cabal-revision
2ae42618 11557 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11558 (home-page
11559 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11560 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11561 (description "This Haskell package provides the core @code{MonadUnliftIO}
11562typeclass, instances for base and transformers, and basic utility
11563functions.")
11564 (license license:expat)))
11565
11566(define-public ghc-unordered-containers
11567 (package
11568 (name "ghc-unordered-containers")
ca01f8d3 11569 (version "0.2.10.0")
dddbc90c
RV
11570 (outputs '("out" "doc"))
11571 (source
11572 (origin
11573 (method url-fetch)
11574 (uri (string-append
11575 "https://hackage.haskell.org/package/unordered-containers"
11576 "/unordered-containers-" version ".tar.gz"))
11577 (sha256
11578 (base32
ca01f8d3 11579 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11580 (build-system haskell-build-system)
11581 (inputs
11582 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11583 ("ghc-hunit" ,ghc-hunit)
11584 ("ghc-quickcheck" ,ghc-quickcheck)
11585 ("ghc-test-framework" ,ghc-test-framework)
11586 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11587 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11588 ("ghc-hashable" ,ghc-hashable)))
11589 (home-page
11590 "https://github.com/tibbe/unordered-containers")
11591 (synopsis
11592 "Efficient hashing-based container types")
11593 (description
11594 "Efficient hashing-based container types. The containers have been
11595optimized for performance critical use, both in terms of large data quantities
11596and high speed.")
11597 (license license:bsd-3)))
11598
11599(define-public ghc-unordered-containers-bootstrap
11600 (package
11601 (inherit ghc-unordered-containers)
11602 (name "ghc-unordered-containers-bootstrap")
11603 (arguments `(#:tests? #f))
11604 (inputs
11605 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11606 (properties '((hidden? #t)))))
dddbc90c 11607
a52f4c57
JS
11608(define-public ghc-unsafe
11609 (package
11610 (name "ghc-unsafe")
11611 (version "0.0")
11612 (source
11613 (origin
11614 (method url-fetch)
11615 (uri
11616 (string-append
11617 "https://hackage.haskell.org/package/unsafe/unsafe-"
11618 version ".tar.gz"))
11619 (sha256
11620 (base32
11621 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11622 (build-system haskell-build-system)
11623 (home-page "https://hackage.haskell.org/package/unsafe")
11624 (synopsis "Unified interface to unsafe functions")
11625 (description "Safe Haskell introduced the notion of safe and unsafe
11626modules. In order to make as many as possible modules ``safe'', the
11627well-known unsafe functions were moved to distinguished modules. This
11628makes it hard to write packages that work with both old and new versions
11629of GHC. This package provides a single module System.Unsafe that
11630exports the unsafe functions from the base package. It provides them in
11631a style ready for qualification, that is, you should import them by
11632@code{import qualified System.Unsafe as Unsafe}.")
11633 (license license:bsd-3)))
11634
dddbc90c
RV
11635(define-public ghc-uri-bytestring
11636 (package
11637 (name "ghc-uri-bytestring")
d35ffd39 11638 (version "0.3.2.2")
dddbc90c
RV
11639 (source
11640 (origin
11641 (method url-fetch)
11642 (uri (string-append "https://hackage.haskell.org/package/"
11643 "uri-bytestring-" version "/"
11644 "uri-bytestring-" version ".tar.gz"))
11645 (sha256
11646 (base32
d35ffd39 11647 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11648 (build-system haskell-build-system)
11649 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11650 ("ghc-blaze-builder" ,ghc-blaze-builder)
11651 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11652 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11653 ("ghc-tasty" ,ghc-tasty)
11654 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11655 ("ghc-hedgehog" ,ghc-hedgehog)
11656 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11657 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11658 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11659 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11660 (home-page "https://github.com/Soostone/uri-bytestring")
11661 (synopsis "Haskell URI parsing as ByteStrings")
11662 (description "This Haskell package aims to be an RFC3986 compliant URI
11663parser that uses ByteStrings for parsing and representing the URI data.")
11664 (license license:bsd-3)))
11665
11666(define-public ghc-utf8-string
11667 (package
11668 (name "ghc-utf8-string")
11669 (version "1.0.1.1")
11670 (source
11671 (origin
11672 (method url-fetch)
11673 (uri (string-append
11674 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11675 version
11676 ".tar.gz"))
11677 (sha256
11678 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11679 (build-system haskell-build-system)
11680 (arguments
11681 `(#:cabal-revision
11682 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11683 (home-page "https://github.com/glguy/utf8-string/")
11684 (synopsis "Support for reading and writing UTF8 Strings")
11685 (description
11686 "A UTF8 layer for Strings. The utf8-string package provides operations
11687for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11688UTF8 without truncation.")
11689 (license license:bsd-3)))
11690
11691(define-public ghc-utility-ht
11692 (package
11693 (name "ghc-utility-ht")
11694 (version "0.0.14")
11695 (home-page "https://hackage.haskell.org/package/utility-ht")
11696 (source
11697 (origin
11698 (method url-fetch)
11699 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11700 (sha256
11701 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11702 (build-system haskell-build-system)
11703 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11704 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11705 (description "This package includes Hakell modules providing various
11706helper functions for Lists, Maybes, Tuples, Functions.")
11707 (license license:bsd-3)))
11708
11709(define-public ghc-uuid
11710 (package
11711 (name "ghc-uuid")
11712 (version "1.3.13")
11713 (source
11714 (origin
11715 (method url-fetch)
11716 (uri (string-append "https://hackage.haskell.org/package/"
11717 "uuid-" version "/"
11718 "uuid-" version ".tar.gz"))
11719 (sha256
11720 (base32
11721 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11722 (build-system haskell-build-system)
11723 (arguments
11724 `(#:cabal-revision
11725 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11726 #:phases
11727 (modify-phases %standard-phases
11728 (add-before 'configure 'strip-test-framework-constraints
11729 (lambda _
11730 (substitute* "uuid.cabal"
11731 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11732 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11733 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11734 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11735 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11736 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11737 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11738 ("ghc-entropy" ,ghc-entropy)
11739 ("ghc-network-info" ,ghc-network-info)
11740 ("ghc-random" ,ghc-random)
11741 ("ghc-uuid-types" ,ghc-uuid-types)))
11742 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11743 ("ghc-quickcheck" ,ghc-quickcheck)
11744 ("ghc-tasty" ,ghc-tasty)
11745 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11746 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11747 (home-page "https://github.com/hvr/uuid")
11748 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11749 (description "This Haskell library provides utilities creating, comparing,
11750parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11751 (license license:bsd-3)))
11752
11753(define-public ghc-uuid-types
11754 (package
11755 (name "ghc-uuid-types")
11756 (version "1.0.3")
11757 (source
11758 (origin
11759 (method url-fetch)
11760 (uri (string-append "https://hackage.haskell.org/package/"
11761 "uuid-types-" version "/"
11762 "uuid-types-" version ".tar.gz"))
11763 (sha256
11764 (base32
11765 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11766 (build-system haskell-build-system)
11767 (arguments
11768 `(#:phases
11769 (modify-phases %standard-phases
11770 (add-before 'configure 'strip-test-framework-constraints
11771 (lambda _
11772 (substitute* "uuid-types.cabal"
11773 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11774 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11775 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11776 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11777 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11778 (inputs `(("ghc-hashable" ,ghc-hashable)
11779 ("ghc-random" ,ghc-random)))
11780 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11781 ("ghc-quickcheck" ,ghc-quickcheck)
11782 ("ghc-tasty" ,ghc-tasty)
11783 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11784 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11785 (home-page "https://github.com/hvr/uuid")
11786 (synopsis "Haskell type definitions for UUIDs")
11787 (description "This Haskell library contains type definitions for
11788@dfn{Universally Unique Identifiers} or
11789@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11790functions.")
11791 (license license:bsd-3)))
11792
11793(define-public ghc-validation
11794 (package
11795 (name "ghc-validation")
08397fde 11796 (version "1.1")
dddbc90c
RV
11797 (source
11798 (origin
11799 (method url-fetch)
11800 (uri (string-append
11801 "mirror://hackage/package/validation/validation-"
11802 version
11803 ".tar.gz"))
11804 (sha256
11805 (base32
08397fde 11806 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
11807 (build-system haskell-build-system)
11808 (arguments
11809 `(#:cabal-revision
08397fde 11810 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
11811 (inputs
11812 `(("ghc-semigroups" ,ghc-semigroups)
11813 ("ghc-semigroupoids" ,ghc-semigroupoids)
11814 ("ghc-bifunctors" ,ghc-bifunctors)
11815 ("ghc-lens" ,ghc-lens)))
11816 (native-inputs
11817 `(("ghc-hedgehog" ,ghc-hedgehog)
11818 ("ghc-hunit" ,ghc-hunit)))
11819 (home-page "https://github.com/qfpl/validation")
11820 (synopsis
11821 "Data-type like Either but with an accumulating Applicative")
11822 (description
11823 "A data-type like Either but with differing properties and type-class
11824instances.
11825
11826Library support is provided for this different representation, including
11827@code{lens}-related functions for converting between each and abstracting over
11828their similarities.
11829
11830The @code{Validation} data type is isomorphic to @code{Either}, but has an
11831instance of @code{Applicative} that accumulates on the error side. That is to
11832say, if two (or more) errors are encountered, they are appended using a
11833@{Semigroup} operation.
11834
11835As a consequence of this @code{Applicative} instance, there is no
11836corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11837example of, \"An applicative functor that is not a monad.\"")
11838 (license license:bsd-3)))
11839
11840(define-public ghc-validity
11841 (package
11842 (name "ghc-validity")
3f1ba75d 11843 (version "0.9.0.2")
dddbc90c
RV
11844 (source
11845 (origin
11846 (method url-fetch)
11847 (uri (string-append
11848 "https://hackage.haskell.org/package/validity/validity-"
11849 version
11850 ".tar.gz"))
11851 (sha256
11852 (base32
3f1ba75d 11853 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11854 (build-system haskell-build-system)
11855 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11856 ("hspec-discover" ,hspec-discover)))
11857 (home-page
11858 "https://github.com/NorfairKing/validity")
11859 (synopsis "Validity typeclass")
11860 (description
11861 "Values of custom types usually have invariants imposed upon them. This
11862package provides the @code{Validity} type class, which makes these invariants
11863explicit by providing a function to check whether the invariants hold.")
11864 (license license:expat)))
11865
11866(define-public ghc-vault
11867 (package
11868 (name "ghc-vault")
b40a436e 11869 (version "0.3.1.3")
dddbc90c
RV
11870 (source
11871 (origin
11872 (method url-fetch)
11873 (uri (string-append
11874 "https://hackage.haskell.org/package/vault/vault-"
11875 version
11876 ".tar.gz"))
11877 (sha256
11878 (base32
b40a436e 11879 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
11880 (build-system haskell-build-system)
11881 (inputs
11882 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11883 ("ghc-hashable" ,ghc-hashable)
b40a436e 11884 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
11885 (home-page
11886 "https://github.com/HeinrichApfelmus/vault")
11887 (synopsis "Persistent store for arbitrary values")
11888 (description "This package provides vaults for Haskell. A vault is a
11889persistent store for values of arbitrary types. It's like having first-class
11890access to the storage space behind @code{IORefs}. The data structure is
11891analogous to a bank vault, where you can access different bank boxes with
11892different keys; hence the name. Also provided is a @code{locker} type,
11893representing a store for a single element.")
11894 (license license:bsd-3)))
11895
11896(define-public ghc-vector
11897 (package
11898 (name "ghc-vector")
3ad67f6b 11899 (version "0.12.0.3")
dddbc90c
RV
11900 (outputs '("out" "doc"))
11901 (source
11902 (origin
11903 (method url-fetch)
11904 (uri (string-append
11905 "https://hackage.haskell.org/package/vector/vector-"
11906 version
11907 ".tar.gz"))
11908 (sha256
11909 (base32
3ad67f6b 11910 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11911 (build-system haskell-build-system)
11912 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11913 ;; disabled for now.
11914 (arguments
3ad67f6b 11915 `(#:tests? #f))
dddbc90c
RV
11916 (inputs
11917 `(("ghc-primitive" ,ghc-primitive)
11918 ("ghc-random" ,ghc-random)
11919 ("ghc-quickcheck" ,ghc-quickcheck)
11920 ;; ("ghc-hunit" ,ghc-hunit)
11921 ;; ("ghc-test-framework" ,ghc-test-framework)
11922 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11923 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11924 ))
11925 (home-page "https://github.com/haskell/vector")
11926 (synopsis "Efficient Arrays")
11927 (description "This library provides an efficient implementation of
11928Int-indexed arrays (both mutable and immutable), with a powerful loop
11929optimisation framework.")
11930 (license license:bsd-3)))
11931
11932(define-public ghc-vector-algorithms
11933 (package
11934 (name "ghc-vector-algorithms")
e71f316f 11935 (version "0.8.0.1")
dddbc90c
RV
11936 (source
11937 (origin
11938 (method url-fetch)
11939 (uri (string-append "https://hackage.haskell.org/package/"
11940 "vector-algorithms-" version "/"
11941 "vector-algorithms-" version ".tar.gz"))
11942 (sha256
11943 (base32
e71f316f 11944 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11945 (build-system haskell-build-system)
11946 (inputs
11947 `(("ghc-vector" ,ghc-vector)))
11948 (native-inputs
11949 `(("ghc-quickcheck" ,ghc-quickcheck)))
11950 (home-page "https://github.com/bos/math-functions")
11951 (synopsis "Algorithms for vector arrays in Haskell")
11952 (description "This Haskell library algorithms for vector arrays.")
11953 (license license:bsd-3)))
11954
11955(define-public ghc-vector-binary-instances
11956 (package
11957 (name "ghc-vector-binary-instances")
ca0701ef 11958 (version "0.2.5.1")
dddbc90c
RV
11959 (source
11960 (origin
11961 (method url-fetch)
11962 (uri (string-append
11963 "https://hackage.haskell.org/package/"
11964 "vector-binary-instances/vector-binary-instances-"
11965 version ".tar.gz"))
11966 (sha256
11967 (base32
ca0701ef 11968 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11969 (build-system haskell-build-system)
dddbc90c
RV
11970 (inputs
11971 `(("ghc-vector" ,ghc-vector)))
11972 (native-inputs
11973 `(("ghc-tasty" ,ghc-tasty)
11974 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11975 (home-page "https://github.com/bos/vector-binary-instances")
11976 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11977 (description "This library provides instances of @code{Binary} for the
11978types defined in the @code{vector} package, making it easy to serialize
11979vectors to and from disk. We use the generic interface to vectors, so all
11980vector types are supported. Specific instances are provided for unboxed,
11981boxed and storable vectors.")
11982 (license license:bsd-3)))
11983
11984(define-public ghc-vector-builder
11985 (package
11986 (name "ghc-vector-builder")
1fc05441 11987 (version "0.3.8")
dddbc90c
RV
11988 (source
11989 (origin
11990 (method url-fetch)
11991 (uri (string-append "https://hackage.haskell.org/package/"
11992 "vector-builder-" version "/"
11993 "vector-builder-" version ".tar.gz"))
11994 (sha256
11995 (base32
1fc05441 11996 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
11997 (build-system haskell-build-system)
11998 (inputs `(("ghc-vector" ,ghc-vector)
11999 ("ghc-semigroups" ,ghc-semigroups)
12000 ("ghc-base-prelude" ,ghc-base-prelude)))
12001 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12002 ("ghc-tasty" ,ghc-tasty)
12003 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12004 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12005 ("ghc-hunit" ,ghc-hunit)
12006 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12007 ("ghc-rerebase" ,ghc-rerebase)))
12008 (home-page "https://github.com/nikita-volkov/vector-builder")
12009 (synopsis "Vector builder for Haskell")
12010 (description "This Haskell package provides an API for constructing vectors.
12011It provides the composable @code{Builder} abstraction, which has instances of the
12012@code{Monoid} and @code{Semigroup} classes.
12013
12014You would first use the @code{Builder} abstraction to specify the structure of
12015the vector; then you can execute the builder to actually produce the
12016vector. ")
12017 (license license:expat)))
12018
12019(define-public ghc-vector-th-unbox
12020 (package
12021 (name "ghc-vector-th-unbox")
63056e61 12022 (version "0.2.1.7")
dddbc90c
RV
12023 (source
12024 (origin
12025 (method url-fetch)
12026 (uri (string-append "https://hackage.haskell.org/package/"
12027 "vector-th-unbox-" version "/"
12028 "vector-th-unbox-" version ".tar.gz"))
12029 (sha256
12030 (base32
63056e61 12031 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12032 (build-system haskell-build-system)
12033 (inputs
12034 `(("ghc-vector" ,ghc-vector)
12035 ("ghc-data-default" ,ghc-data-default)))
12036 (home-page "https://github.com/liyang/vector-th-unbox")
12037 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12038 (description "This Haskell library provides a Template Haskell
12039deriver for unboxed vectors, given a pair of coercion functions to
12040and from some existing type with an Unbox instance.")
12041 (license license:bsd-3)))
12042
12043(define-public ghc-void
12044 (package
12045 (name "ghc-void")
51889121 12046 (version "0.7.3")
dddbc90c
RV
12047 (source
12048 (origin
12049 (method url-fetch)
12050 (uri (string-append
12051 "https://hackage.haskell.org/package/void/void-"
12052 version
12053 ".tar.gz"))
12054 (sha256
12055 (base32
51889121 12056 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12057 (build-system haskell-build-system)
12058 (inputs
12059 `(("ghc-semigroups" ,ghc-semigroups)
12060 ("ghc-hashable" ,ghc-hashable)))
12061 (home-page "https://github.com/ekmett/void")
12062 (synopsis
12063 "Logically uninhabited data type")
12064 (description
12065 "A Haskell 98 logically uninhabited data type, used to indicate that a
12066given term should not exist.")
12067 (license license:bsd-3)))
12068
12069(define-public ghc-wave
12070 (package
12071 (name "ghc-wave")
1631a0f7 12072 (version "0.2.0")
dddbc90c
RV
12073 (source (origin
12074 (method url-fetch)
12075 (uri (string-append
12076 "https://hackage.haskell.org/package/wave/wave-"
12077 version
12078 ".tar.gz"))
12079 (sha256
12080 (base32
1631a0f7 12081 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12082 (build-system haskell-build-system)
12083 (arguments
12084 '(#:phases
12085 (modify-phases %standard-phases
12086 (add-before 'configure 'update-constraints
12087 (lambda _
12088 (substitute* "wave.cabal"
12089 (("temporary.* < 1\\.3")
12090 "temporary >= 1.1 && < 1.4")))))))
12091 (inputs
12092 `(("ghc-cereal" ,ghc-cereal)
12093 ("ghc-data-default-class"
12094 ,ghc-data-default-class)
12095 ("ghc-quickcheck" ,ghc-quickcheck)
12096 ("ghc-temporary" ,ghc-temporary)))
12097 (native-inputs
12098 `(("hspec-discover" ,hspec-discover)
12099 ("ghc-hspec" ,ghc-hspec)))
12100 (home-page "https://github.com/mrkkrp/wave")
12101 (synopsis "Work with WAVE and RF64 files in Haskell")
12102 (description "This package allows you to work with WAVE and RF64
12103files in Haskell.")
12104 (license license:bsd-3)))
12105
12106(define-public ghc-wcwidth
12107 (package
12108 (name "ghc-wcwidth")
12109 (version "0.0.2")
12110 (source
12111 (origin
12112 (method url-fetch)
12113 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12114 version ".tar.gz"))
12115 (sha256
12116 (base32
12117 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12118 (build-system haskell-build-system)
12119 (inputs
12120 `(("ghc-setlocale" ,ghc-setlocale)
12121 ("ghc-utf8-string" ,ghc-utf8-string)
12122 ("ghc-attoparsec" ,ghc-attoparsec)))
12123 (home-page "https://github.com/solidsnack/wcwidth/")
12124 (synopsis "Haskell bindings to wcwidth")
12125 (description "This package provides Haskell bindings to your system's
12126native wcwidth and a command line tool to examine the widths assigned by it.
12127The command line tool can compile a width table to Haskell code that assigns
12128widths to the Char type.")
12129 (license license:bsd-3)))
12130
12131(define-public ghc-wcwidth-bootstrap
12132 (package
12133 (inherit ghc-wcwidth)
12134 (name "ghc-wcwidth-bootstrap")
12135 (inputs
12136 `(("ghc-setlocale" ,ghc-setlocale)
12137 ("ghc-utf8-string" ,ghc-utf8-string)
12138 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 12139 (properties '((hidden? #t)))))
dddbc90c
RV
12140
12141(define-public ghc-weigh
12142 (package
12143 (name "ghc-weigh")
b6d9777f 12144 (version "0.0.14")
dddbc90c
RV
12145 (source
12146 (origin
12147 (method url-fetch)
12148 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12149 "weigh-" version ".tar.gz"))
12150 (sha256
12151 (base32
b6d9777f 12152 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
12153 (build-system haskell-build-system)
12154 (inputs
12155 `(("ghc-split" ,ghc-split)
12156 ("ghc-temporary" ,ghc-temporary)))
12157 (home-page "https://github.com/fpco/weigh#readme")
12158 (synopsis "Measure allocations of a Haskell functions/values")
12159 (description "This package provides tools to measure the memory usage of a
12160Haskell value or function.")
12161 (license license:bsd-3)))
12162
12163(define-public ghc-wl-pprint
12164 (package
12165 (name "ghc-wl-pprint")
12166 (version "1.2.1")
12167 (source (origin
12168 (method url-fetch)
12169 (uri (string-append
12170 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12171 version ".tar.gz"))
12172 (sha256
12173 (base32
12174 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12175 (build-system haskell-build-system)
12176 (home-page "https://hackage.haskell.org/package/wl-pprint")
12177 (synopsis "Wadler/Leijen pretty printer")
12178 (description
12179 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12180Printer}. This version allows the library user to declare overlapping
12181instances of the @code{Pretty} class.")
12182 (license license:bsd-3)))
12183
12184(define-public ghc-wl-pprint-annotated
12185 (package
12186 (name "ghc-wl-pprint-annotated")
12187 (version "0.1.0.1")
12188 (source
12189 (origin
12190 (method url-fetch)
12191 (uri (string-append
12192 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12193 version
12194 ".tar.gz"))
12195 (sha256
12196 (base32
12197 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12198 (build-system haskell-build-system)
12199 (native-inputs
12200 `(("ghc-tasty" ,ghc-tasty)
12201 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12202 (home-page
12203 "https://github.com/minad/wl-pprint-annotated#readme")
12204 (synopsis
12205 "Wadler/Leijen pretty printer with annotation support")
12206 (description
12207 "Annotations are useful for coloring. This is a limited version of
12208@code{wl-pprint-extras} without support for point effects and without the free
12209monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12210Compared to @code{annotated-wl-pprint} this library provides a slightly
12211modernized interface.")
12212 (license license:bsd-3)))
12213
12214(define-public ghc-wl-pprint-text
12215 (package
12216 (name "ghc-wl-pprint-text")
12217 (version "1.2.0.0")
12218 (source
12219 (origin
12220 (method url-fetch)
12221 (uri (string-append
12222 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12223 version ".tar.gz"))
12224 (sha256
12225 (base32
12226 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12227 (build-system haskell-build-system)
12228 (inputs
12229 `(("ghc-base-compat" ,ghc-base-compat)))
12230 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12231 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12232 (description
12233 "A clone of wl-pprint for use with the text library.")
12234 (license license:bsd-3)))
12235
12236(define-public ghc-word8
12237 (package
12238 (name "ghc-word8")
12239 (version "0.1.3")
12240 (source
12241 (origin
12242 (method url-fetch)
12243 (uri (string-append
12244 "https://hackage.haskell.org/package/word8/word8-"
12245 version
12246 ".tar.gz"))
12247 (sha256
12248 (base32
12249 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12250 (build-system haskell-build-system)
12251 (native-inputs
12252 `(("ghc-hspec" ,ghc-hspec)
12253 ("hspec-discover" ,hspec-discover)))
12254 (home-page "https://hackage.haskell.org/package/word8")
12255 (synopsis "Word8 library for Haskell")
12256 (description "Word8 library to be used with @code{Data.ByteString}.")
12257 (license license:bsd-3)))
12258
12259(define-public ghc-x11
12260 (package
12261 (name "ghc-x11")
6c4581a3 12262 (version "1.9.1")
dddbc90c
RV
12263 (source
12264 (origin
12265 (method url-fetch)
12266 (uri (string-append "https://hackage.haskell.org/package/X11/"
12267 "X11-" version ".tar.gz"))
12268 (sha256
6c4581a3 12269 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
12270 (build-system haskell-build-system)
12271 (inputs
12272 `(("libx11" ,libx11)
12273 ("libxrandr" ,libxrandr)
12274 ("libxinerama" ,libxinerama)
12275 ("libxscrnsaver" ,libxscrnsaver)
12276 ("ghc-data-default" ,ghc-data-default)))
12277 (home-page "https://github.com/haskell-pkg-janitors/X11")
12278 (synopsis "Bindings to the X11 graphics library")
12279 (description
12280 "This package provides Haskell bindings to the X11 graphics library. The
12281bindings are a direct translation of the C bindings.")
12282 (license license:bsd-3)))
12283
12284(define-public ghc-x11-xft
12285 (package
12286 (name "ghc-x11-xft")
12287 (version "0.3.1")
12288 (source
12289 (origin
12290 (method url-fetch)
12291 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12292 "X11-xft-" version ".tar.gz"))
12293 (sha256
12294 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
12295 (inputs
12296 `(("ghc-x11" ,ghc-x11)
12297 ("ghc-utf8-string" ,ghc-utf8-string)
12298 ("libx11" ,libx11)
12299 ("libxft" ,libxft)
12300 ("xorgproto" ,xorgproto)))
12301 (native-inputs
12302 `(("pkg-config" ,pkg-config)))
12303 (build-system haskell-build-system)
12304 (home-page "https://hackage.haskell.org/package/X11-xft")
12305 (synopsis "Bindings to Xft")
12306 (description
12307 "Bindings to the Xft, X Free Type interface library, and some Xrender
12308parts.")
12309 (license license:lgpl2.1)))
12310
12311(define-public ghc-xdg-basedir
12312 (package
12313 (name "ghc-xdg-basedir")
12314 (version "0.2.2")
12315 (source
12316 (origin
12317 (method url-fetch)
12318 (uri (string-append
12319 "https://hackage.haskell.org/package/xdg-basedir/"
12320 "xdg-basedir-" version ".tar.gz"))
12321 (sha256
12322 (base32
12323 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12324 (build-system haskell-build-system)
12325 (home-page "http://github.com/willdonnelly/xdg-basedir")
12326 (synopsis "XDG Base Directory library for Haskell")
12327 (description "This package provides a library implementing the XDG Base Directory spec.")
12328 (license license:bsd-3)))
12329
12330(define-public ghc-xml
12331 (package
12332 (name "ghc-xml")
12333 (version "1.3.14")
12334 (source
12335 (origin
12336 (method url-fetch)
12337 (uri (string-append
12338 "https://hackage.haskell.org/package/xml/xml-"
12339 version
12340 ".tar.gz"))
12341 (sha256
12342 (base32
12343 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12344 (build-system haskell-build-system)
12345 (home-page "http://code.galois.com")
12346 (synopsis "Simple XML library for Haskell")
12347 (description "This package provides a simple XML library for Haskell.")
12348 (license license:bsd-3)))
12349
12350(define-public ghc-xml-conduit
12351 (package
12352 (name "ghc-xml-conduit")
12353 (version "1.8.0.1")
12354 (source
12355 (origin
12356 (method url-fetch)
12357 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12358 "xml-conduit-" version ".tar.gz"))
12359 (sha256
12360 (base32
12361 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12362 (build-system haskell-build-system)
12363 (inputs
12364 `(("ghc-conduit" ,ghc-conduit)
12365 ("ghc-conduit-extra" ,ghc-conduit-extra)
12366 ("ghc-doctest" ,ghc-doctest)
12367 ("ghc-resourcet" ,ghc-resourcet)
12368 ("ghc-xml-types" ,ghc-xml-types)
12369 ("ghc-attoparsec" ,ghc-attoparsec)
12370 ("ghc-data-default-class" ,ghc-data-default-class)
12371 ("ghc-blaze-markup" ,ghc-blaze-markup)
12372 ("ghc-blaze-html" ,ghc-blaze-html)
12373 ("ghc-monad-control" ,ghc-monad-control)
12374 ("ghc-hspec" ,ghc-hspec)
12375 ("ghc-hunit" ,ghc-hunit)))
12376 (home-page "https://github.com/snoyberg/xml")
12377 (synopsis "Utilities for dealing with XML with the conduit package")
12378 (description
12379 "This package provides pure-Haskell utilities for dealing with XML with
12380the @code{conduit} package.")
12381 (license license:expat)))
12382
12383(define-public ghc-xml-types
12384 (package
12385 (name "ghc-xml-types")
12386 (version "0.3.6")
12387 (source
12388 (origin
12389 (method url-fetch)
12390 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12391 "xml-types-" version ".tar.gz"))
12392 (sha256
12393 (base32
12394 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12395 (build-system haskell-build-system)
12396 (home-page "https://john-millikin.com/software/haskell-xml/")
12397 (synopsis "Basic types for representing XML")
12398 (description "This package provides basic types for representing XML
12399documents.")
12400 (license license:expat)))
12401
12402(define-public ghc-yaml
12403 (package
12404 (name "ghc-yaml")
b58e5b84 12405 (version "0.11.1.2")
dddbc90c
RV
12406 (source (origin
12407 (method url-fetch)
12408 (uri (string-append "https://hackage.haskell.org/package/"
12409 "yaml/yaml-" version ".tar.gz"))
12410 (sha256
12411 (base32
b58e5b84 12412 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12413 (build-system haskell-build-system)
dddbc90c
RV
12414 (inputs
12415 `(("ghc-conduit" ,ghc-conduit)
12416 ("ghc-resourcet" ,ghc-resourcet)
12417 ("ghc-aeson" ,ghc-aeson)
12418 ("ghc-unordered-containers" ,ghc-unordered-containers)
12419 ("ghc-vector" ,ghc-vector)
12420 ("ghc-attoparsec" ,ghc-attoparsec)
12421 ("ghc-scientific" ,ghc-scientific)
12422 ("ghc-semigroups" ,ghc-semigroups)
12423 ("ghc-temporary" ,ghc-temporary)
12424 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12425 ("ghc-base-compat" ,ghc-base-compat)
12426 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12427 (native-inputs
12428 `(("ghc-hspec" ,ghc-hspec)
12429 ("ghc-hunit" ,ghc-hunit)
12430 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12431 ("ghc-mockery" ,ghc-mockery)
12432 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12433 (home-page "https://github.com/snoyberg/yaml/")
12434 (synopsis "Parsing and rendering YAML documents")
12435 (description
12436 "This package provides a library to parse and render YAML documents.")
12437 (license license:bsd-3)))
12438
12439(define-public ghc-zip-archive
12440 (package
12441 (name "ghc-zip-archive")
93c1fdd3 12442 (version "0.4.1")
dddbc90c
RV
12443 (source
12444 (origin
12445 (method url-fetch)
12446 (uri (string-append
12447 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12448 version
12449 ".tar.gz"))
12450 (sha256
12451 (base32
93c1fdd3 12452 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12453 (build-system haskell-build-system)
93c1fdd3
TS
12454 (arguments
12455 `(#:phases
12456 (modify-phases %standard-phases
12457 (add-before 'check 'set-PATH-for-tests
12458 (lambda* (#:key inputs #:allow-other-keys)
12459 (let ((unzip (assoc-ref inputs "unzip"))
12460 (which (assoc-ref inputs "which"))
12461 (path (getenv "PATH")))
12462 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12463 #t))))))
dddbc90c
RV
12464 (inputs
12465 `(("ghc-digest" ,ghc-digest)
12466 ("ghc-temporary" ,ghc-temporary)
12467 ("ghc-zlib" ,ghc-zlib)))
12468 (native-inputs
12469 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12470 ("unzip" ,unzip)
12471 ("which" ,which)))
dddbc90c
RV
12472 (home-page "https://hackage.haskell.org/package/zip-archive")
12473 (synopsis "Zip archive library for Haskell")
12474 (description "The zip-archive library provides functions for creating,
12475modifying, and extracting files from zip archives in Haskell.")
12476 (license license:bsd-3)))
12477
12478(define-public ghc-zlib
12479 (package
12480 (name "ghc-zlib")
bf12089a 12481 (version "0.6.2.1")
dddbc90c
RV
12482 (outputs '("out" "doc"))
12483 (source
12484 (origin
12485 (method url-fetch)
12486 (uri (string-append
12487 "https://hackage.haskell.org/package/zlib/zlib-"
12488 version
12489 ".tar.gz"))
12490 (sha256
12491 (base32
bf12089a 12492 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12493 (build-system haskell-build-system)
12494 (arguments
12495 `(#:phases
12496 (modify-phases %standard-phases
12497 (add-before 'configure 'strip-test-framework-constraints
12498 (lambda _
12499 (substitute* "zlib.cabal"
12500 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12501 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12502 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12503 (inputs `(("zlib" ,zlib)))
12504 (native-inputs
12505 `(("ghc-quickcheck" ,ghc-quickcheck)
12506 ("ghc-tasty" ,ghc-tasty)
12507 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12508 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12509 (home-page "https://hackage.haskell.org/package/zlib")
12510 (synopsis
12511 "Compression and decompression in the gzip and zlib formats")
12512 (description
12513 "This package provides a pure interface for compressing and decompressing
12514streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12515library so it has high performance. It supports the @code{zlib}, @code{gzip}
12516and @code{raw} compression formats. It provides a convenient high level API
12517suitable for most tasks and for the few cases where more control is needed it
12518provides access to the full zlib feature set.")
bbf8bf31 12519 (license license:bsd-3)))
14e41996
RV
12520
12521(define-public ghc-zlib-bindings
12522 (package
12523 (name "ghc-zlib-bindings")
12524 (version "0.1.1.5")
12525 (source
12526 (origin
12527 (method url-fetch)
12528 (uri (string-append "https://hackage.haskell.org/package/"
12529 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12530 (sha256
12531 (base32
12532 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12533 (build-system haskell-build-system)
12534 (inputs
12535 `(("ghc-zlib" ,ghc-zlib)))
12536 (native-inputs
12537 `(("ghc-hspec" ,ghc-hspec)
12538 ("ghc-quickcheck" ,ghc-quickcheck)))
12539 (arguments
12540 `(#:cabal-revision
12541 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12542 (home-page "https://github.com/snapframework/zlib-bindings")
12543 (synopsis "Low-level bindings to the @code{zlib} package")
12544 (description "This package provides low-level bindings to the
12545@code{zlib} package.")
12546 (license license:bsd-3)))
8428e92c
TS
12547
12548(define-public ghc-zstd
12549 (package
12550 (name "ghc-zstd")
12551 (version "0.1.1.2")
12552 (source
12553 (origin
12554 (method url-fetch)
12555 (uri (string-append "https://hackage.haskell.org/package/"
12556 "zstd/zstd-" version ".tar.gz"))
12557 (sha256
12558 (base32
12559 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
12560 (build-system haskell-build-system)
12561 (native-inputs
12562 `(("ghc-quickcheck" ,ghc-quickcheck)
12563 ("ghc-test-framework" ,ghc-test-framework)
12564 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
12565 (home-page "https://github.com/luispedro/hs-zstd")
12566 (synopsis "Haskell bindings to the Zstandard compression algorithm")
12567 (description "This library provides Haskell bindings to the
12568Zstandard compression algorithm, a fast lossless compression algorithm
12569targeting real-time compression scenarios at zlib-level and better
12570compression ratios.")
12571 (license license:bsd-3)))