gnu: Add ghc-monoid-extras.
[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
f2ed1e6d
JS
307(define-public ghc-alsa-mixer
308 (package
309 (name "ghc-alsa-mixer")
310 (version "0.3.0")
311 (source
312 (origin
313 (method url-fetch)
314 (uri
315 (string-append
316 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
317 version ".tar.gz"))
318 (sha256
319 (base32
320 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
321 (build-system haskell-build-system)
322 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
323 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
324 (home-page "https://github.com/ttuegel/alsa-mixer")
325 (synopsis "Bindings to the ALSA simple mixer API")
326 (description
327 "This package provides bindings to the ALSA simple mixer API.")
328 (license license:bsd-3)))
329
dddbc90c
RV
330(define-public ghc-annotated-wl-pprint
331 (package
332 (name "ghc-annotated-wl-pprint")
333 (version "0.7.0")
334 (source
335 (origin
336 (method url-fetch)
337 (uri (string-append
338 "https://hackage.haskell.org/package/annotated-wl-pprint"
339 "/annotated-wl-pprint-" version
340 ".tar.gz"))
341 (sha256
342 (base32
343 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
344 (build-system haskell-build-system)
345 (home-page
346 "https://github.com/david-christiansen/annotated-wl-pprint")
347 (synopsis
348 "The Wadler/Leijen Pretty Printer, with annotation support")
349 (description "This is a modified version of wl-pprint, which was based on
350Wadler's paper \"A Prettier Printer\". This version allows the library user
351to annotate the text with semantic information, which can later be rendered in
352a variety of ways.")
353 (license license:bsd-3)))
354
355(define-public ghc-ansi-terminal
356 (package
357 (name "ghc-ansi-terminal")
f1b4a73f 358 (version "0.9.1")
dddbc90c
RV
359 (source
360 (origin
361 (method url-fetch)
362 (uri (string-append
363 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
364 version
365 ".tar.gz"))
366 (sha256
367 (base32
f1b4a73f 368 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
369 (build-system haskell-build-system)
370 (inputs
371 `(("ghc-colour" ,ghc-colour)))
372 (home-page "https://github.com/feuerbach/ansi-terminal")
373 (synopsis "ANSI terminal support for Haskell")
374 (description "This package provides ANSI terminal support for Haskell. It
375allows cursor movement, screen clearing, color output showing or hiding the
376cursor, and changing the title.")
377 (license license:bsd-3)))
378
379(define-public ghc-ansi-wl-pprint
380 (package
381 (name "ghc-ansi-wl-pprint")
c38746eb 382 (version "0.6.9")
7b01a977
RV
383 (source
384 (origin
385 (method url-fetch)
386 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 387 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
388 version ".tar.gz"))
389 (sha256
390 (base32
c38746eb 391 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
392 (build-system haskell-build-system)
393 (inputs
dddbc90c
RV
394 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
395 (home-page "https://github.com/ekmett/ansi-wl-pprint")
396 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
397 (description "This is a pretty printing library based on Wadler's paper
398\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
399colored output using the ansi-terminal package.")
400 (license license:bsd-3)))
401
402(define-public ghc-appar
403 (package
404 (name "ghc-appar")
1159d1a5 405 (version "0.1.8")
dddbc90c
RV
406 (source
407 (origin
408 (method url-fetch)
409 (uri (string-append
410 "https://hackage.haskell.org/package/appar/appar-"
411 version
412 ".tar.gz"))
413 (sha256
414 (base32
1159d1a5 415 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
416 (build-system haskell-build-system)
417 (home-page
418 "https://hackage.haskell.org/package/appar")
419 (synopsis "Simple applicative parser")
420 (description "This package provides a simple applicative parser in Parsec
421style.")
422 (license license:bsd-3)))
423
424(define-public ghc-async
425 (package
426 (name "ghc-async")
048ef066 427 (version "2.2.2")
dddbc90c
RV
428 (source
429 (origin
430 (method url-fetch)
431 (uri (string-append
432 "https://hackage.haskell.org/package/async/async-"
433 version
434 ".tar.gz"))
435 (sha256
436 (base32
048ef066 437 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
438 (build-system haskell-build-system)
439 (inputs
440 `(("ghc-hashable" ,ghc-hashable)
441 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
442 ("ghc-test-framework" ,ghc-test-framework)
443 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
444 (home-page "https://github.com/simonmar/async")
445 (synopsis "Library to run IO operations asynchronously")
446 (description "Async provides a library to run IO operations
447asynchronously, and wait for their results. It is a higher-level interface
448over threads in Haskell, in which @code{Async a} is a concurrent thread that
449will eventually deliver a value of type @code{a}.")
7b01a977
RV
450 (license license:bsd-3)))
451
9ad9ec2e
AG
452(define-public ghc-atomic-primops
453 (package
454 (name "ghc-atomic-primops")
af16c6b0 455 (version "0.8.3")
9ad9ec2e
AG
456 (source
457 (origin
458 (method url-fetch)
459 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
460 "/atomic-primops-" version ".tar.gz"))
461 (sha256
462 (base32
af16c6b0 463 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
464 (build-system haskell-build-system)
465 (inputs `(("ghc-primitive" ,ghc-primitive)))
466 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
467 (synopsis "Safe approach to CAS and other atomic ops")
468 (description
469 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
470use safely, because pointer equality is a highly unstable property in Haskell.
471This library provides a safer method based on the concept of @code{Ticket}s.")
472 (license license:bsd-3)))
473
dddbc90c 474(define-public ghc-atomic-write
79fcc5e5 475 (package
dddbc90c 476 (name "ghc-atomic-write")
c09d1e62 477 (version "0.2.0.6")
79fcc5e5
RV
478 (source
479 (origin
480 (method url-fetch)
dddbc90c
RV
481 (uri (string-append
482 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
483 version
484 ".tar.gz"))
79fcc5e5
RV
485 (sha256
486 (base32
c09d1e62 487 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
488 (build-system haskell-build-system)
489 (inputs
490 `(("ghc-temporary" ,ghc-temporary)
491 ("ghc-unix-compat" ,ghc-unix-compat)))
492 (native-inputs
493 `(("ghc-temporary" ,ghc-temporary)
494 ("ghc-unix-compat" ,ghc-unix-compat)
495 ("ghc-hspec" ,ghc-hspec)
496 ("hspec-discover" ,hspec-discover)))
497 (home-page "https://github.com/stackbuilders/atomic-write")
498 (synopsis "Atomically write to a file")
499 (description
500 "Atomically write to a file on POSIX-compliant systems while preserving
501permissions. @code{mv} is an atomic operation. This makes it simple to write
502to a file atomically just by using the @code{mv} operation. However, this
503will destroy the permissions on the original file. This library preserves
504permissions while atomically writing to a file.")
505 (license license:expat)))
506
507(define-public ghc-attoparsec
508 (package
509 (name "ghc-attoparsec")
511c3204 510 (version "0.13.2.3")
dddbc90c
RV
511 (source
512 (origin
513 (method url-fetch)
514 (uri (string-append
515 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
516 version
517 ".tar.gz"))
518 (sha256
519 (base32
511c3204 520 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 521 (build-system haskell-build-system)
79fcc5e5 522 (arguments
dddbc90c
RV
523 `(#:phases
524 (modify-phases %standard-phases
525 (add-after 'unpack 'patch-for-newer-quickcheck
526 (lambda _
527 (substitute* "attoparsec.cabal"
528 (("QuickCheck >= 2\\.7 && < 2\\.10")
529 "QuickCheck >= 2.7 && < 2.12"))
530 ;; This test fails because of the newer QuickCheck:
531 ;; <https://github.com/bos/attoparsec/issues/134>.
532 (substitute* "tests/QC/ByteString.hs"
533 ((", testProperty \"satisfyWith\" satisfyWith")
534 "")))))))
535 (inputs
536 `(("ghc-scientific" ,ghc-scientific)))
537 (native-inputs
538 `(("ghc-tasty" ,ghc-tasty)
539 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
540 ("ghc-quickcheck" ,ghc-quickcheck)
541 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
542 ("ghc-vector" ,ghc-vector)))
543 (home-page "https://github.com/bos/attoparsec")
544 (synopsis "Fast combinator parsing for bytestrings and text")
545 (description "This library provides a fast parser combinator library,
546aimed particularly at dealing efficiently with network protocols and
547complicated text/binary file formats.")
79fcc5e5
RV
548 (license license:bsd-3)))
549
dddbc90c 550(define-public ghc-attoparsec-bootstrap
6b34d01c 551 (package
dddbc90c
RV
552 (inherit ghc-attoparsec)
553 (name "ghc-attoparsec-bootstrap")
554 (arguments `(#:tests? #f))
555 (inputs
556 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
557 (native-inputs '())
799d8d3c 558 (properties '((hidden? #t)))))
dddbc90c
RV
559
560(define-public ghc-attoparsec-iso8601
561 (package
562 (name "ghc-attoparsec-iso8601")
97f267c8 563 (version "1.0.1.0")
6b34d01c
RV
564 (source
565 (origin
566 (method url-fetch)
567 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
568 "attoparsec-iso8601-" version "/"
569 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
570 (sha256
571 (base32
97f267c8 572 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 573 (build-system haskell-build-system)
dddbc90c
RV
574 (arguments
575 `(#:cabal-revision
97f267c8 576 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
577 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
578 ("ghc-base-compat" ,ghc-base-compat)))
579 (home-page "https://github.com/bos/aeson")
580 (synopsis "Parse ISO 8601 dates")
581 (description "Haskell library for parsing of ISO 8601 dates, originally
582from aeson.")
6b34d01c 583 (license license:bsd-3)))
b57e99f5 584
dddbc90c 585(define-public ghc-auto-update
b57e99f5 586 (package
dddbc90c 587 (name "ghc-auto-update")
11b1b6cd 588 (version "0.1.6")
dddbc90c
RV
589 (source
590 (origin
591 (method url-fetch)
592 (uri (string-append
593 "https://hackage.haskell.org/package/auto-update/auto-update-"
594 version
595 ".tar.gz"))
596 (sha256
597 (base32
11b1b6cd 598 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 599 (build-system haskell-build-system)
11b1b6cd
TS
600 (native-inputs
601 `(("ghc-hspec" ,ghc-hspec)
602 ("ghc-hunit" ,ghc-hunit)
603 ("ghc-retry" ,ghc-retry)
604 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
605 (home-page "https://github.com/yesodweb/wai")
606 (synopsis "Efficiently run periodic, on-demand actions")
607 (description "This library provides mechanisms to efficiently run
608periodic, on-demand actions in Haskell.")
609 (license license:expat)))
610
611(define-public ghc-aws
612 (package
613 (name "ghc-aws")
614 (version "0.20")
b57e99f5
RV
615 (source
616 (origin
617 (method url-fetch)
618 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
619 "aws-" version "/aws-" version ".tar.gz"))
620 (sha256 (base32
621 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
622 (build-system haskell-build-system)
623 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
624 (inputs
625 `(("ghc-aeson" ,ghc-aeson)
626 ("ghc-attoparsec" ,ghc-attoparsec)
627 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
628 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
629 ("ghc-blaze-builder" ,ghc-blaze-builder)
630 ("ghc-byteable" ,ghc-byteable)
631 ("ghc-case-insensitive" ,ghc-case-insensitive)
632 ("ghc-cereal" ,ghc-cereal)
633 ("ghc-conduit" ,ghc-conduit)
634 ("ghc-conduit-extra" ,ghc-conduit-extra)
635 ("ghc-cryptonite" ,ghc-cryptonite)
636 ("ghc-data-default" ,ghc-data-default)
637 ("ghc-http-conduit" ,ghc-http-conduit)
638 ("ghc-http-types" ,ghc-http-types)
639 ("ghc-lifted-base" ,ghc-lifted-base)
640 ("ghc-monad-control" ,ghc-monad-control)
641 ("ghc-network" ,ghc-network)
642 ("ghc-old-locale" ,ghc-old-locale)
643 ("ghc-safe" ,ghc-safe)
644 ("ghc-scientific" ,ghc-scientific)
645 ("ghc-tagged" ,ghc-tagged)
646 ("ghc-unordered-containers" ,ghc-unordered-containers)
647 ("ghc-utf8-string" ,ghc-utf8-string)
648 ("ghc-vector" ,ghc-vector)
649 ("ghc-xml-conduit" ,ghc-xml-conduit)))
650 (native-inputs
651 `(("ghc-quickcheck" ,ghc-quickcheck)
652 ("ghc-errors" ,ghc-errors)
653 ("ghc-http-client" ,ghc-http-client)
654 ("ghc-http-client-tls" ,ghc-http-client-tls)
655 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
656 ("ghc-tasty" ,ghc-tasty)
657 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
658 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
659 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
660 (home-page "https://github.com/aristidb/aws")
661 (synopsis "Amazon Web Services for Haskell")
662 (description "This package attempts to provide support for using
663Amazon Web Services like S3 (storage), SQS (queuing) and others to
664Haskell programmers. The ultimate goal is to support all Amazon
665Web Services.")
666 (license license:bsd-3)))
667
668(define-public ghc-base16-bytestring
669 (package
670 (name "ghc-base16-bytestring")
671 (version "0.1.1.6")
672 (source
673 (origin
674 (method url-fetch)
675 (uri (string-append
676 "https://hackage.haskell.org/package/base16-bytestring/"
677 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
678 (sha256
679 (base32
dddbc90c 680 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 681 (build-system haskell-build-system)
dddbc90c
RV
682 (home-page "https://github.com/bos/base16-bytestring")
683 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
684 (description
685 "This package provides a Haskell library for working with base16-encoded
686data quickly and efficiently, using the ByteString type.")
b57e99f5 687 (license license:bsd-3)))
bbf8bf31 688
dddbc90c 689(define-public ghc-base64-bytestring
bbf8bf31 690 (package
dddbc90c
RV
691 (name "ghc-base64-bytestring")
692 (version "1.0.0.2")
bbf8bf31
RV
693 (source
694 (origin
695 (method url-fetch)
dddbc90c
RV
696 (uri (string-append
697 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
698 version
699 ".tar.gz"))
700 (sha256
701 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
702 (build-system haskell-build-system)
703 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
704 (home-page "https://github.com/bos/base64-bytestring")
705 (synopsis "Base64 encoding and decoding for ByteStrings")
706 (description "This library provides fast base64 encoding and decoding for
707Haskell @code{ByteString}s.")
708 (license license:bsd-3)))
709
710(define-public ghc-base-compat
711 (package
712 (name "ghc-base-compat")
4daaa371 713 (version "0.10.5")
dddbc90c
RV
714 (source
715 (origin
716 (method url-fetch)
717 (uri (string-append
718 "https://hackage.haskell.org/package/base-compat/base-compat-"
719 version
720 ".tar.gz"))
bbf8bf31
RV
721 (sha256
722 (base32
4daaa371 723 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
724 (build-system haskell-build-system)
725 (native-inputs
dddbc90c
RV
726 `(("ghc-quickcheck" ,ghc-quickcheck)
727 ("ghc-hspec" ,ghc-hspec)
728 ("hspec-discover" ,hspec-discover)))
729 (home-page "https://hackage.haskell.org/package/base-compat")
730 (synopsis "Haskell compiler compatibility library")
731 (description "This library provides functions available in later versions
732of base to a wider range of compilers, without requiring the use of CPP
733pragmas in your code.")
734 (license license:bsd-3)))
735
f9d78c7f
TS
736(define-public ghc-base-compat-batteries
737 (package
738 (name "ghc-base-compat-batteries")
739 (version "0.10.5")
740 (source
741 (origin
742 (method url-fetch)
743 (uri (string-append "https://hackage.haskell.org/package/"
744 "base-compat-batteries/base-compat-batteries-"
745 version ".tar.gz"))
746 (sha256
747 (base32
748 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
749 (build-system haskell-build-system)
750 (inputs
751 `(("ghc-base-compat" ,ghc-base-compat)))
752 (native-inputs
753 `(("ghc-hspec" ,ghc-hspec)
754 ("ghc-quickcheck" ,ghc-quickcheck)
755 ("hspec-discover" ,hspec-discover)))
756 (arguments
757 `(#:cabal-revision
758 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
759 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
760 (synopsis "base-compat with extra batteries")
761 (description "This library provides functions available in later
762versions of @code{base} to a wider range of compilers, without requiring
763you to use CPP pragmas in your code. This package provides the same API
764as the @code{base-compat} library, but depends on compatibility
765packages (such as @code{semigroups}) to offer a wider support window
766than @code{base-compat}, which has no dependencies.")
767 (license license:expat)))
768
dddbc90c
RV
769(define-public ghc-basement
770 (package
771 (name "ghc-basement")
8b56c1fd 772 (version "0.0.11")
dddbc90c
RV
773 (source
774 (origin
775 (method url-fetch)
776 (uri (string-append "https://hackage.haskell.org/package/"
777 "basement/basement-" version ".tar.gz"))
778 (sha256
779 (base32
8b56c1fd 780 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
781 (build-system haskell-build-system)
782 (home-page "https://github.com/haskell-foundation/foundation")
783 (synopsis "Basic primitives for Foundation starter pack")
784 (description
785 "This package contains basic primitives for the Foundation set of
786packages.")
787 (license license:bsd-3)))
788
789(define-public ghc-base-orphans
790 (package
791 (name "ghc-base-orphans")
780477fb 792 (version "0.8.1")
dddbc90c
RV
793 (source
794 (origin
795 (method url-fetch)
796 (uri (string-append
797 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
798 version
799 ".tar.gz"))
800 (sha256
801 (base32
780477fb 802 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
803 (build-system haskell-build-system)
804 (native-inputs
805 `(("ghc-quickcheck" ,ghc-quickcheck)
806 ("ghc-hspec" ,ghc-hspec)
807 ("hspec-discover" ,hspec-discover)))
808 (home-page "https://hackage.haskell.org/package/base-orphans")
809 (synopsis "Orphan instances for backwards compatibility")
810 (description "This package defines orphan instances that mimic instances
811available in later versions of base to a wider (older) range of compilers.")
812 (license license:bsd-3)))
813
814(define-public ghc-base-prelude
815 (package
816 (name "ghc-base-prelude")
817 (version "1.3")
818 (source
819 (origin
820 (method url-fetch)
821 (uri (string-append "https://hackage.haskell.org/package/"
822 "base-prelude-" version "/"
823 "base-prelude-" version ".tar.gz"))
824 (sha256
825 (base32
826 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
827 (build-system haskell-build-system)
828 (home-page "https://github.com/nikita-volkov/base-prelude")
829 (synopsis "The most complete prelude formed solely from the Haskell's base
830package")
831 (description "This Haskell package aims to reexport all the non-conflicting
832and most general definitions from the \"base\" package.
833
834This includes APIs for applicatives, arrows, monoids, foldables, traversables,
835exceptions, generics, ST, MVars and STM.
836
837This package will never have any dependencies other than \"base\".
838
839Versioning policy:
840
841The versioning policy of this package deviates from PVP in the sense
842that its exports in part are transitively determined by the version of \"base\".
843Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
844the bounds of \"base\" as well.")
845 (license license:expat)))
846
847(define-public ghc-base-unicode-symbols
848 (package
849 (name "ghc-base-unicode-symbols")
850 (version "0.2.3")
851 (source
852 (origin
853 (method url-fetch)
854 (uri (string-append
855 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
856 version
857 ".tar.gz"))
858 (sha256
859 (base32
860 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
861 (build-system haskell-build-system)
862 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
863 (synopsis "Unicode alternatives for common functions and operators")
864 (description "This package defines new symbols for a number of functions,
865operators and types in the base package. All symbols are documented with
866their actual definition and information regarding their Unicode code point.
867They should be completely interchangeable with their definitions. For
868further Unicode goodness you can enable the @code{UnicodeSyntax}
869@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
870language extension}. This extension enables Unicode characters to be used to
871stand for certain ASCII character sequences, i.e. → instead of @code{->},
872∀ instead of @code{forall} and many others.")
873 (license license:bsd-3)))
874
875(define-public ghc-bifunctors
876 (package
877 (name "ghc-bifunctors")
0beaec66 878 (version "5.5.5")
dddbc90c
RV
879 (source
880 (origin
881 (method url-fetch)
882 (uri (string-append
883 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
884 version
885 ".tar.gz"))
886 (sha256
887 (base32
0beaec66 888 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
889 (build-system haskell-build-system)
890 (inputs
891 `(("ghc-base-orphans" ,ghc-base-orphans)
892 ("ghc-comonad" ,ghc-comonad)
893 ("ghc-th-abstraction" ,ghc-th-abstraction)
894 ("ghc-transformers-compat" ,ghc-transformers-compat)
895 ("ghc-tagged" ,ghc-tagged)
896 ("ghc-semigroups" ,ghc-semigroups)))
897 (native-inputs
898 `(("ghc-hspec" ,ghc-hspec)
899 ("hspec-discover" ,hspec-discover)
900 ("ghc-quickcheck" ,ghc-quickcheck)))
901 (home-page "https://github.com/ekmett/bifunctors/")
902 (synopsis "Bifunctors for Haskell")
903 (description "This package provides bifunctors for Haskell.")
904 (license license:bsd-3)))
905
906(define-public ghc-bindings-dsl
907 (package
908 (name "ghc-bindings-dsl")
909 (version "1.0.25")
910 (source
911 (origin
912 (method url-fetch)
913 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
914 "bindings-DSL-" version ".tar.gz"))
915 (sha256
916 (base32
917 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
918 (build-system haskell-build-system)
919 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
920 (synopsis "FFI domain specific language, on top of hsc2hs")
921 (description
922 "This is a set of macros to be used when writing Haskell FFI. They were
923designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
924extract from them all Haskell code needed to mimic such interfaces. All
925Haskell names used are automatically derived from C names, structures are
926mapped to Haskell instances of @code{Storable}, and there are also macros you
927can use with C code to help write bindings to inline functions or macro
928functions.")
929 (license license:bsd-3)))
930
64f42786
TS
931(define-public ghc-bitarray
932 (package
933 (name "ghc-bitarray")
934 (version "0.0.1.1")
935 (source
936 (origin
937 (method url-fetch)
938 (uri (string-append "https://hackage.haskell.org/package/"
939 "bitarray/bitarray-" version ".tar.gz"))
940 (sha256
941 (base32
942 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
943 (build-system haskell-build-system)
944 (arguments
945 `(#:cabal-revision
946 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
947 (home-page "https://hackage.haskell.org/package/bitarray")
948 (synopsis "Mutable and immutable bit arrays")
949 (description "The package provides mutable and immutable bit arrays.")
950 (license license:bsd-3)))
951
dddbc90c
RV
952(define-public ghc-blaze-builder
953 (package
954 (name "ghc-blaze-builder")
955 (version "0.4.1.0")
956 (source
957 (origin
958 (method url-fetch)
959 (uri (string-append
960 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
961 version
962 ".tar.gz"))
963 (sha256
964 (base32
965 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
966 (build-system haskell-build-system)
967 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
968 (inputs
969 `(("ghc-utf8-string" ,ghc-utf8-string)))
970 (home-page "https://github.com/lpsmith/blaze-builder")
971 (synopsis "Efficient buffered output")
972 (description "This library provides an implementation of the older
973@code{blaze-builder} interface in terms of the new builder that shipped with
974@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
975bridge to the new builder, so that code that uses the old interface can
976interoperate with code that uses the new implementation.")
977 (license license:bsd-3)))
978
979(define-public ghc-blaze-markup
980 (package
981 (name "ghc-blaze-markup")
7d30fcf3 982 (version "0.8.2.3")
dddbc90c
RV
983 (source
984 (origin
985 (method url-fetch)
986 (uri (string-append "https://hackage.haskell.org/package/"
987 "blaze-markup/blaze-markup-"
988 version ".tar.gz"))
989 (sha256
990 (base32
7d30fcf3 991 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
992 (build-system haskell-build-system)
993 (arguments
994 `(#:phases
995 (modify-phases %standard-phases
996 (add-before 'configure 'update-constraints
997 (lambda _
998 (substitute* "blaze-markup.cabal"
999 (("tasty >= 1\\.0 && < 1\\.1")
1000 "tasty >= 1.0 && < 1.2")))))))
1001 (inputs
1002 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1003 (native-inputs
1004 `(("ghc-hunit" ,ghc-hunit)
1005 ("ghc-quickcheck" ,ghc-quickcheck)
1006 ("ghc-tasty" ,ghc-tasty)
1007 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1008 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1009 (home-page "https://jaspervdj.be/blaze")
1010 (synopsis "Fast markup combinator library for Haskell")
1011 (description "This library provides core modules of a markup combinator
1012library for Haskell.")
1013 (license license:bsd-3)))
1014
1015(define-public ghc-bloomfilter
1016 (package
1017 (name "ghc-bloomfilter")
1018 (version "2.0.1.0")
1019 (source
1020 (origin
1021 (method url-fetch)
1022 (uri (string-append "https://hackage.haskell.org/package/"
1023 "bloomfilter/bloomfilter-" version ".tar.gz"))
1024 (sha256
1025 (base32
1026 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1027 (build-system haskell-build-system)
1028 (native-inputs
1029 `(("ghc-quickcheck" ,ghc-quickcheck)
1030 ("ghc-random" ,ghc-random)
1031 ("ghc-test-framework" ,ghc-test-framework)
1032 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1033 (home-page "https://github.com/bos/bloomfilter")
1034 (synopsis "Pure and impure Bloom filter implementations")
1035 (description "This package provides both mutable and immutable Bloom
1036filter data types, along with a family of hash functions and an easy-to-use
1037interface.")
1038 (license license:bsd-3)))
1039
1040(define-public ghc-boxes
1041 (package
1042 (name "ghc-boxes")
1043 (version "0.1.5")
1044 (source
1045 (origin
1046 (method url-fetch)
1047 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1048 version ".tar.gz"))
1049 (sha256
1050 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1051 (build-system haskell-build-system)
1052 (inputs
1053 `(("ghc-split" ,ghc-split)
1054 ("ghc-quickcheck" ,ghc-quickcheck)))
1055 (home-page "https://hackage.haskell.org/package/boxes")
1056 (synopsis "2D text pretty-printing library")
1057 (description
1058 "Boxes is a pretty-printing library for laying out text in two dimensions,
1059using a simple box model.")
1060 (license license:bsd-3)))
1061
1062(define-public ghc-byteable
1063 (package
1064 (name "ghc-byteable")
1065 (version "0.1.1")
1066 (source (origin
1067 (method url-fetch)
1068 (uri (string-append "https://hackage.haskell.org/package/"
1069 "byteable/byteable-" version ".tar.gz"))
1070 (sha256
1071 (base32
1072 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1073 (build-system haskell-build-system)
1074 (home-page "https://github.com/vincenthz/hs-byteable")
1075 (synopsis "Type class for sequence of bytes")
1076 (description
1077 "This package provides an abstract class to manipulate sequence of bytes.
1078The use case of this class is abstracting manipulation of types that are just
1079wrapping a bytestring with stronger and more meaniful name.")
1080 (license license:bsd-3)))
1081
1082(define-public ghc-byteorder
1083 (package
1084 (name "ghc-byteorder")
1085 (version "1.0.4")
1086 (source
1087 (origin
1088 (method url-fetch)
1089 (uri (string-append
1090 "https://hackage.haskell.org/package/byteorder/byteorder-"
1091 version
1092 ".tar.gz"))
1093 (sha256
1094 (base32
1095 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1096 (build-system haskell-build-system)
1097 (home-page
1098 "http://community.haskell.org/~aslatter/code/byteorder")
1099 (synopsis
1100 "Exposes the native endianness of the system")
1101 (description
1102 "This package is for working with the native byte-ordering of the
1103system.")
1104 (license license:bsd-3)))
1105
1106(define-public ghc-bytes
1107 (package
1108 (name "ghc-bytes")
1109 (version "0.15.5")
1110 (source
1111 (origin
1112 (method url-fetch)
1113 (uri
1114 (string-append "https://hackage.haskell.org/package/bytes-"
1115 version "/bytes-"
1116 version ".tar.gz"))
1117 (file-name (string-append name "-" version ".tar.gz"))
1118 (sha256
1119 (base32
1120 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1121 (build-system haskell-build-system)
1122 (inputs `(("ghc-cereal" ,ghc-cereal)
1123 ("cabal-doctest" ,cabal-doctest)
1124 ("ghc-doctest" ,ghc-doctest)
1125 ("ghc-scientific" ,ghc-scientific)
1126 ("ghc-transformers-compat" ,ghc-transformers-compat)
1127 ("ghc-unordered-containers" ,ghc-unordered-containers)
1128 ("ghc-void" ,ghc-void)
1129 ("ghc-vector" ,ghc-vector)))
1130 (synopsis "Serialization between @code{binary} and @code{cereal}")
1131 (description "This package provides a simple compatibility shim that lets
1132you work with both @code{binary} and @code{cereal} with one chunk of
1133serialization code.")
1134 (home-page "https://hackage.haskell.org/package/bytes")
1135 (license license:bsd-3)))
1136
1137(define-public ghc-bytestring-builder
1138 (package
1139 (name "ghc-bytestring-builder")
13ac8a7f 1140 (version "0.10.8.2.0")
dddbc90c
RV
1141 (source
1142 (origin
1143 (method url-fetch)
1144 (uri (string-append
1145 "https://hackage.haskell.org/package/bytestring-builder"
1146 "/bytestring-builder-" version ".tar.gz"))
1147 (sha256
1148 (base32
13ac8a7f 1149 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1150 (build-system haskell-build-system)
1151 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1152 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1153 (synopsis "The new bytestring builder, packaged outside of GHC")
1154 (description "This package provides the bytestring builder that is
1155debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1156Compatibility package for older packages.")
1157 (license license:bsd-3)))
1158
1159(define-public ghc-bytestring-handle
1160 (package
1161 (name "ghc-bytestring-handle")
1162 (version "0.1.0.6")
1163 (source
1164 (origin
1165 (method url-fetch)
1166 (uri (string-append
1167 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1168 version ".tar.gz"))
1169 (sha256
1170 (base32
1171 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1172 (build-system haskell-build-system)
1173 (arguments
853748c4
TS
1174 `(#:cabal-revision
1175 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1176 #:phases
dddbc90c
RV
1177 (modify-phases %standard-phases
1178 (add-before 'configure 'update-constraints
1179 (lambda _
1180 (substitute* "bytestring-handle.cabal"
1181 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1182 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1183 (inputs
1184 `(("ghc-hunit" ,ghc-hunit)
1185 ("ghc-quickcheck" ,ghc-quickcheck)
1186 ("ghc-test-framework" ,ghc-test-framework)
1187 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1188 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1189 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1190 (synopsis "ByteString-backed Handles")
1191 (description "ByteString-backed Handles") ; There is no description
1192 (license license:bsd-3)))
1193
1194(define-public ghc-bytestring-lexing
1195 (package
1196 (name "ghc-bytestring-lexing")
1197 (version "0.5.0.2")
1198 (source
1199 (origin
1200 (method url-fetch)
1201 (uri (string-append "https://hackage.haskell.org/package/"
1202 "bytestring-lexing/bytestring-lexing-"
1203 version ".tar.gz"))
1204 (sha256
1205 (base32
1206 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1207 (build-system haskell-build-system)
1208 (home-page "http://code.haskell.org/~wren/")
1209 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1210 (description
1211 "This package provides tools to parse and produce literals efficiently
1212from strict or lazy bytestrings.")
1213 (license license:bsd-2)))
1214
1215(define-public ghc-bzlib-conduit
1216 (package
1217 (name "ghc-bzlib-conduit")
5fba8d6d 1218 (version "0.3.0.2")
dddbc90c
RV
1219 (source
1220 (origin
1221 (method url-fetch)
1222 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1223 "bzlib-conduit-" version ".tar.gz"))
1224 (sha256
1225 (base32
5fba8d6d 1226 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1227 (build-system haskell-build-system)
1228 (inputs
1229 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1230 ("ghc-conduit" ,ghc-conduit)
1231 ("ghc-data-default-class" ,ghc-data-default-class)
1232 ("ghc-resourcet" ,ghc-resourcet)))
1233 (native-inputs
1234 `(("ghc-hspec" ,ghc-hspec)
1235 ("ghc-random" ,ghc-random)))
1236 (home-page "https://github.com/snoyberg/bzlib-conduit")
1237 (synopsis "Streaming compression/decompression via conduits")
1238 (description
1239 "This package provides Haskell bindings to bzlib and Conduit support for
1240streaming compression and decompression.")
1241 (license license:bsd-3)))
1242
1243(define-public ghc-c2hs
1244 (package
1245 (name "ghc-c2hs")
1246 (version "0.28.6")
1247 (source
1248 (origin
1249 (method url-fetch)
1250 (uri (string-append
1251 "https://hackage.haskell.org/package/c2hs/c2hs-"
1252 version
1253 ".tar.gz"))
1254 (sha256
1255 (base32
1256 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1257 (build-system haskell-build-system)
1258 (inputs
1259 `(("ghc-language-c" ,ghc-language-c)
1260 ("ghc-dlist" ,ghc-dlist)))
1261 (native-inputs
1262 `(("ghc-test-framework" ,ghc-test-framework)
1263 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1264 ("ghc-hunit" ,ghc-hunit)
1265 ("ghc-shelly" ,ghc-shelly)
1266 ("gcc" ,gcc)))
1267 (arguments
1268 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1269 ;; of glibc 2.28.
1270 #:tests? #f
1271
1272 #:phases
1273 (modify-phases %standard-phases
1274 (add-before 'check 'set-cc
1275 ;; add a cc executable in the path, needed for some tests to pass
1276 (lambda* (#:key inputs #:allow-other-keys)
1277 (let ((gcc (assoc-ref inputs "gcc"))
1278 (tmpbin (tmpnam))
1279 (curpath (getenv "PATH")))
1280 (mkdir-p tmpbin)
1281 (symlink (which "gcc") (string-append tmpbin "/cc"))
1282 (setenv "PATH" (string-append tmpbin ":" curpath)))
1283 #t))
1284 (add-after 'check 'remove-cc
1285 ;; clean the tmp dir made in 'set-cc
1286 (lambda _
1287 (let* ((cc-path (which "cc"))
1288 (cc-dir (dirname cc-path)))
1289 (delete-file-recursively cc-dir)
1290 #t))))))
1291 (home-page "https://github.com/haskell/c2hs")
1292 (synopsis "Create Haskell bindings to C libraries")
1293 (description "C->Haskell assists in the development of Haskell bindings to
1294C libraries. It extracts interface information from C header files and
1295generates Haskell code with foreign imports and marshaling. Unlike writing
1296foreign imports by hand (or using hsc2hs), this ensures that C functions are
1297imported with the correct Haskell types.")
1298 (license license:gpl2)))
1299
1300(define-public ghc-cairo
1301 (package
1302 (name "ghc-cairo")
1303 (version "0.13.5.0")
1304 (source
1305 (origin
1306 (method url-fetch)
1307 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1308 "cairo-" version ".tar.gz"))
1309 (sha256
1310 (base32
1311 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1312 (build-system haskell-build-system)
1313 (arguments
1314 `(#:modules ((guix build haskell-build-system)
1315 (guix build utils)
1316 (ice-9 match)
1317 (srfi srfi-26))
1318 #:phases
1319 (modify-phases %standard-phases
1320 ;; FIXME: This is a copy of the standard configure phase with a tiny
1321 ;; difference: this package needs the -package-db flag to be passed
1322 ;; to "runhaskell" in addition to the "configure" action, because it
1323 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1324 ;; this option the Setup.hs file cannot be evaluated. The
1325 ;; haskell-build-system should be changed to pass "-package-db" to
1326 ;; "runhaskell" in any case.
1327 (replace 'configure
1328 (lambda* (#:key outputs inputs tests? (configure-flags '())
1329 #:allow-other-keys)
1330 (let* ((out (assoc-ref outputs "out"))
1331 (name-version (strip-store-file-name out))
1332 (input-dirs (match inputs
1333 (((_ . dir) ...)
1334 dir)
1335 (_ '())))
1336 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1337 (params (append `(,(string-append "--prefix=" out))
1338 `(,(string-append "--libdir=" out "/lib"))
1339 `(,(string-append "--bindir=" out "/bin"))
1340 `(,(string-append
1341 "--docdir=" out
1342 "/share/doc/" name-version))
1343 '("--libsubdir=$compiler/$pkg-$version")
1344 '("--package-db=../package.conf.d")
1345 '("--global")
1346 `(,@(map
1347 (cut string-append "--extra-include-dirs=" <>)
1348 (search-path-as-list '("include") input-dirs)))
1349 `(,@(map
1350 (cut string-append "--extra-lib-dirs=" <>)
1351 (search-path-as-list '("lib") input-dirs)))
1352 (if tests?
1353 '("--enable-tests")
1354 '())
1355 configure-flags)))
1356 (unsetenv "GHC_PACKAGE_PATH")
1357 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1358 "Setup.hs" "configure" params)
1359 (setenv "GHC_PACKAGE_PATH" ghc-path)
1360 #t))))))
1361 (inputs
1362 `(("ghc-utf8-string" ,ghc-utf8-string)
1363 ("cairo" ,cairo)))
1364 (native-inputs
1365 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1366 ("pkg-config" ,pkg-config)))
1367 (home-page "http://projects.haskell.org/gtk2hs/")
1368 (synopsis "Haskell bindings to the Cairo vector graphics library")
1369 (description
1370 "Cairo is a library to render high quality vector graphics. There exist
1371various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1372documents, amongst others.")
1373 (license license:bsd-3)))
1374
1375(define-public ghc-call-stack
1376 (package
1377 (name "ghc-call-stack")
1378 (version "0.1.0")
1379 (source
1380 (origin
1381 (method url-fetch)
1382 (uri (string-append "https://hackage.haskell.org/package/"
1383 "call-stack/call-stack-"
1384 version ".tar.gz"))
1385 (sha256
1386 (base32
1387 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1388 (build-system haskell-build-system)
1389 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1390 (home-page "https://github.com/sol/call-stack#readme")
1391 (synopsis "Use GHC call-stacks in a backward compatible way")
1392 (description "This package provides a compatibility layer for using GHC
1393call stacks with different versions of the compiler.")
1394 (license license:expat)))
1395
1396;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1397;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1398(define-public ghc-call-stack-boot
1399 (hidden-package
1400 (package
1401 (inherit ghc-call-stack)
1402 (arguments '(#:tests? #f))
1403 (inputs '()))))
1404
1405(define-public ghc-case-insensitive
1406 (package
1407 (name "ghc-case-insensitive")
1408 (version "1.2.0.11")
1409 (outputs '("out" "doc"))
1410 (source
1411 (origin
1412 (method url-fetch)
1413 (uri (string-append
1414 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1415 version
1416 ".tar.gz"))
1417 (sha256
1418 (base32
1419 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1420 (build-system haskell-build-system)
1421 ;; these inputs are necessary to use this library
1422 (inputs
1423 `(("ghc-hashable" ,ghc-hashable)))
1424 (arguments
1425 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1426 (home-page
1427 "https://github.com/basvandijk/case-insensitive")
1428 (synopsis "Case insensitive string comparison")
1429 (description
1430 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1431constructor which can be parameterised by a string-like type like:
1432@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1433the resulting type will be insensitive to cases.")
1434 (license license:bsd-3)))
1435
1436(define-public ghc-cereal
1437 (package
1438 (name "ghc-cereal")
bd95427e 1439 (version "0.5.8.1")
dddbc90c
RV
1440 (source
1441 (origin
1442 (method url-fetch)
1443 (uri (string-append
1444 "https://hackage.haskell.org/package/cereal/cereal-"
1445 version
1446 ".tar.gz"))
1447 (sha256
1448 (base32
bd95427e 1449 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1450 (build-system haskell-build-system)
1451 (native-inputs
1452 `(("ghc-quickcheck" ,ghc-quickcheck)
1453 ("ghc-fail" ,ghc-fail)
1454 ("ghc-test-framework" ,ghc-test-framework)
1455 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1456 (home-page "https://hackage.haskell.org/package/cereal")
1457 (synopsis "Binary serialization library")
1458 (description "This package provides a binary serialization library,
1459similar to @code{binary}, that introduces an @code{isolate} primitive for
1460parser isolation, and labeled blocks for better error messages.")
1461 (license license:bsd-3)))
1462
1463(define-public ghc-cereal-conduit
1464 (package
1465 (name "ghc-cereal-conduit")
1466 (version "0.8.0")
1467 (source
1468 (origin
1469 (method url-fetch)
1470 (uri (string-append "https://hackage.haskell.org/package/"
1471 "cereal-conduit/cereal-conduit-"
1472 version ".tar.gz"))
1473 (sha256
1474 (base32
1475 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1476 (build-system haskell-build-system)
1477 (inputs
1478 `(("ghc-conduit" ,ghc-conduit)
1479 ("ghc-resourcet" ,ghc-resourcet)
1480 ("ghc-cereal" ,ghc-cereal)))
1481 (native-inputs
1482 `(("ghc-hunit" ,ghc-hunit)))
1483 (home-page "https://github.com/snoyberg/conduit")
1484 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1485 (description
1486 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1487@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1488 (license license:bsd-3)))
1489
1490(define-public ghc-cgi
1491 (package
1492 (name "ghc-cgi")
b6b2c218 1493 (version "3001.4.0.0")
dddbc90c
RV
1494 (source
1495 (origin
1496 (method url-fetch)
1497 (uri (string-append
1498 "https://hackage.haskell.org/package/cgi/cgi-"
1499 version
1500 ".tar.gz"))
1501 (sha256
1502 (base32
b6b2c218 1503 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1504 (build-system haskell-build-system)
dddbc90c
RV
1505 (inputs
1506 `(("ghc-exceptions" ,ghc-exceptions)
1507 ("ghc-multipart" ,ghc-multipart)
1508 ("ghc-network-uri" ,ghc-network-uri)
1509 ("ghc-network" ,ghc-network)))
1510 (native-inputs
1511 `(("ghc-doctest" ,ghc-doctest)
1512 ("ghc-quickcheck" ,ghc-quickcheck)))
1513 (home-page
1514 "https://github.com/cheecheeo/haskell-cgi")
1515 (synopsis "Library for writing CGI programs")
1516 (description
1517 "This is a Haskell library for writing CGI programs.")
1518 (license license:bsd-3)))
1519
1520(define-public ghc-charset
1521 (package
1522 (name "ghc-charset")
1523 (version "0.3.7.1")
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append
1528 "https://hackage.haskell.org/package/charset/charset-"
1529 version
1530 ".tar.gz"))
1531 (sha256
1532 (base32
1533 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1534 (build-system haskell-build-system)
35ee173c
TS
1535 (arguments
1536 `(#:cabal-revision
1537 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1538 (inputs
1539 `(("ghc-semigroups" ,ghc-semigroups)
1540 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1541 (home-page "https://github.com/ekmett/charset")
1542 (synopsis "Fast unicode character sets for Haskell")
1543 (description "This package provides fast unicode character sets for
1544Haskell, based on complemented PATRICIA tries.")
1545 (license license:bsd-3)))
1546
1547(define-public ghc-chart
1548 (package
1549 (name "ghc-chart")
6cd84b98 1550 (version "1.9.1")
dddbc90c
RV
1551 (source
1552 (origin
1553 (method url-fetch)
1554 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1555 "Chart-" version ".tar.gz"))
1556 (sha256
1557 (base32
6cd84b98 1558 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1559 (build-system haskell-build-system)
1560 (inputs
1561 `(("ghc-old-locale" ,ghc-old-locale)
1562 ("ghc-lens" ,ghc-lens)
1563 ("ghc-colour" ,ghc-colour)
1564 ("ghc-data-default-class" ,ghc-data-default-class)
1565 ("ghc-operational" ,ghc-operational)
1566 ("ghc-vector" ,ghc-vector)))
1567 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1568 (synopsis "Library for generating 2D charts and plots")
1569 (description
1570 "This package provides a library for generating 2D charts and plots, with
1571backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1572 (license license:bsd-3)))
1573
1574(define-public ghc-chart-cairo
1575 (package
1576 (name "ghc-chart-cairo")
5cf9264d 1577 (version "1.9.1")
dddbc90c
RV
1578 (source
1579 (origin
1580 (method url-fetch)
1581 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1582 "Chart-cairo-" version ".tar.gz"))
1583 (sha256
1584 (base32
5cf9264d 1585 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1586 (build-system haskell-build-system)
1587 (inputs
1588 `(("ghc-old-locale" ,ghc-old-locale)
1589 ("ghc-cairo" ,ghc-cairo)
1590 ("ghc-colour" ,ghc-colour)
1591 ("ghc-data-default-class" ,ghc-data-default-class)
1592 ("ghc-operational" ,ghc-operational)
1593 ("ghc-lens" ,ghc-lens)
1594 ("ghc-chart" ,ghc-chart)))
1595 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1596 (synopsis "Cairo backend for Charts")
1597 (description "This package provides a Cairo vector graphics rendering
1598backend for the Charts library.")
1599 (license license:bsd-3)))
1600
1601(define-public ghc-chasingbottoms
1602 (package
1603 (name "ghc-chasingbottoms")
1f67853e 1604 (version "1.3.1.7")
dddbc90c
RV
1605 (source
1606 (origin
1607 (method url-fetch)
1608 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1609 "ChasingBottoms-" version ".tar.gz"))
1610 (sha256
1611 (base32
1f67853e 1612 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1613 (build-system haskell-build-system)
1614 (inputs
1615 `(("ghc-quickcheck" ,ghc-quickcheck)
1616 ("ghc-random" ,ghc-random)
1617 ("ghc-syb" ,ghc-syb)))
1618 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1619 (synopsis "Testing of partial and infinite values in Haskell")
1620 (description
1621 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1622 ;; rendered properly.
1623 "This is a library for testing code involving bottoms or infinite values.
1624For the underlying theory and a larger example involving use of QuickCheck,
1625see the article
1626@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1627\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1628Partial and Infinite Values\"}.")
1629 (license license:expat)))
1630
1631(define-public ghc-cheapskate
1632 (package
1633 (name "ghc-cheapskate")
5e18bb9e 1634 (version "0.1.1.1")
dddbc90c
RV
1635 (source
1636 (origin
1637 (method url-fetch)
1638 (uri (string-append
1639 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1640 version
1641 ".tar.gz"))
1642 (sha256
1643 (base32
5e18bb9e 1644 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1645 (build-system haskell-build-system)
1646 (inputs
1647 `(("ghc-blaze-html" ,ghc-blaze-html)
1648 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1649 ("ghc-data-default" ,ghc-data-default)
1650 ("ghc-syb" ,ghc-syb)
1651 ("ghc-uniplate" ,ghc-uniplate)))
1652 (home-page "https://github.com/jgm/cheapskate")
1653 (synopsis "Experimental markdown processor")
1654 (description "Cheapskate is an experimental Markdown processor in pure
1655Haskell. It aims to process Markdown efficiently and in the most forgiving
1656possible way. It is designed to deal with any input, including garbage, with
1657linear performance. Output is sanitized by default for protection against
1658cross-site scripting (@dfn{XSS}) attacks.")
1659 (license license:bsd-3)))
1660
1661(define-public ghc-chell
1662 (package
1663 (name "ghc-chell")
acdd03be 1664 (version "0.5")
dddbc90c
RV
1665 (source
1666 (origin
1667 (method url-fetch)
1668 (uri (string-append
1669 "https://hackage.haskell.org/package/chell/chell-"
1670 version ".tar.gz"))
1671 (sha256
1672 (base32
acdd03be 1673 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1674 (build-system haskell-build-system)
acdd03be
TS
1675 (arguments
1676 `(#:cabal-revision
1677 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1678 (inputs
1679 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1680 ("ghc-patience" ,ghc-patience)
1681 ("ghc-random" ,ghc-random)
1682 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1683 (home-page "https://john-millikin.com/software/chell/")
1684 (synopsis "Simple and intuitive library for automated testing")
1685 (description
1686 "Chell is a simple and intuitive library for automated testing.
1687It natively supports assertion-based testing, and can use companion
1688libraries such as @code{chell-quickcheck} to support more complex
1689testing strategies.")
1690 (license license:expat)))
1691
1692(define-public ghc-chell-quickcheck
1693 (package
1694 (name "ghc-chell-quickcheck")
e0e21831 1695 (version "0.2.5.2")
dddbc90c
RV
1696 (source
1697 (origin
1698 (method url-fetch)
1699 (uri (string-append
1700 "https://hackage.haskell.org/package/chell-quickcheck/"
1701 "chell-quickcheck-" version ".tar.gz"))
1702 (sha256
1703 (base32
e0e21831 1704 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1705 (build-system haskell-build-system)
1706 (arguments
1707 `(#:phases
1708 (modify-phases %standard-phases
1709 (add-before 'configure 'update-constraints
1710 (lambda _
1711 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1712 (("QuickCheck >= 2\\.3 && < 2\\.13")
1713 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1714 (inputs
1715 `(("ghc-chell" ,ghc-chell)
1716 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1717 ("ghc-random" ,ghc-random)
1718 ("ghc-quickcheck" ,ghc-quickcheck)))
1719 (home-page "https://john-millikin.com/software/chell/")
1720 (synopsis "QuickCheck support for the Chell testing library")
1721 (description "More complex tests for @code{chell}.")
1722 (license license:expat)))
1723
1724(define ghc-chell-quickcheck-bootstrap
1725 (package
1726 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1727 (version "0.2.5.2")
dddbc90c
RV
1728 (source
1729 (origin
1730 (method url-fetch)
1731 (uri (string-append
1732 "https://hackage.haskell.org/package/chell-quickcheck/"
1733 "chell-quickcheck-" version ".tar.gz"))
1734 (sha256
1735 (base32
e0e21831 1736 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1737 (build-system haskell-build-system)
1738 (inputs
1739 `(("ghc-chell" ,ghc-chell)
1740 ("ghc-random" ,ghc-random)
1741 ("ghc-quickcheck" ,ghc-quickcheck)))
1742 (arguments
1743 `(#:tests? #f
1744 #:phases
1745 (modify-phases %standard-phases
1746 (add-before 'configure 'update-constraints
1747 (lambda _
1748 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1749 (("QuickCheck >= 2\\.3 && < 2\\.13")
1750 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1751 (home-page "https://john-millikin.com/software/chell/")
1752 (synopsis "QuickCheck support for the Chell testing library")
1753 (description "More complex tests for @code{chell}.")
1754 (license license:expat)))
1755
1756(define-public ghc-chunked-data
1757 (package
1758 (name "ghc-chunked-data")
1759 (version "0.3.1")
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append "https://hackage.haskell.org/package/"
1764 "chunked-data-" version "/"
1765 "chunked-data-" version ".tar.gz"))
1766 (sha256
1767 (base32
1768 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1769 (build-system haskell-build-system)
1770 (inputs `(("ghc-vector" ,ghc-vector)
1771 ("ghc-semigroups" ,ghc-semigroups)))
1772 (home-page "https://github.com/snoyberg/mono-traversable")
1773 (synopsis "Typeclasses for dealing with various chunked data
1774representations for Haskell")
1775 (description "This Haskell package was originally present in
1776classy-prelude.")
1777 (license license:expat)))
1778
1779(define-public ghc-clock
1780 (package
1781 (name "ghc-clock")
0841b6f2 1782 (version "0.8")
dddbc90c
RV
1783 (source
1784 (origin
1785 (method url-fetch)
1786 (uri (string-append
1787 "https://hackage.haskell.org/package/"
1788 "clock/"
1789 "clock-" version ".tar.gz"))
1790 (sha256
0841b6f2 1791 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1792 (build-system haskell-build-system)
1793 (inputs
1794 `(("ghc-tasty" ,ghc-tasty)
1795 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1796 (home-page "https://hackage.haskell.org/package/clock")
1797 (synopsis "High-resolution clock for Haskell")
1798 (description "A package for convenient access to high-resolution clock and
1799timer functions of different operating systems via a unified API.")
1800 (license license:bsd-3)))
1801
1802;; This package builds `clock` without tests, since the tests rely on tasty
1803;; and tasty-quickcheck, which in turn require clock to build.
1804(define-public ghc-clock-bootstrap
1805 (package
1806 (inherit ghc-clock)
1807 (name "ghc-clock-bootstrap")
1808 (arguments '(#:tests? #f))
1809 (inputs '())
1810 (properties '((hidden? #t)))))
1811
1812(define-public ghc-cmark
1813 (package
1814 (name "ghc-cmark")
6bdd36c0 1815 (version "0.6")
dddbc90c
RV
1816 (source (origin
1817 (method url-fetch)
6bdd36c0 1818 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1819 ;; See cbits/cmark_version.h.
1820 (uri (string-append "https://hackage.haskell.org/package/"
1821 "cmark/cmark-" version ".tar.gz"))
1822 (sha256
1823 (base32
6bdd36c0 1824 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1825 (build-system haskell-build-system)
1826 (native-inputs
1827 `(("ghc-hunit" ,ghc-hunit)))
1828 (home-page "https://github.com/jgm/commonmark-hs")
1829 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1830 (description
1831 "This package provides Haskell bindings for
1832@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1833CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1834sources, and does not require prior installation of the C library.")
1835 (license license:bsd-3)))
1836
1837(define-public ghc-cmark-gfm
1838 (package
1839 (name "ghc-cmark-gfm")
24fc8dae 1840 (version "0.2.0")
dddbc90c
RV
1841 (source
1842 (origin
1843 (method url-fetch)
1844 (uri (string-append "https://hackage.haskell.org/package/"
1845 "cmark-gfm/cmark-gfm-"
1846 version ".tar.gz"))
1847 (sha256
1848 (base32
24fc8dae 1849 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1850 (build-system haskell-build-system)
1851 (native-inputs
1852 `(("ghc-hunit" ,ghc-hunit)))
1853 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1854 (synopsis
1855 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1856 (description
1857 "This package provides Haskell bindings for libcmark-gfm, the reference
1858parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1859It includes sources for libcmark-gfm and does not require prior installation
1860of the C library.")
1861 (license license:bsd-3)))
1862
1863(define-public ghc-cmdargs
1864 (package
1865 (name "ghc-cmdargs")
1866 (version "0.10.20")
1867 (source
1868 (origin
1869 (method url-fetch)
1870 (uri (string-append
1871 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1872 version ".tar.gz"))
1873 (sha256
1874 (base32
1875 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1876 (build-system haskell-build-system)
1877 (home-page
1878 "http://community.haskell.org/~ndm/cmdargs/")
1879 (synopsis "Command line argument processing")
1880 (description
1881 "This library provides an easy way to define command line parsers.")
1882 (license license:bsd-3)))
1883
1884(define-public ghc-code-page
1885 (package
1886 (name "ghc-code-page")
f6bb6519 1887 (version "0.2")
dddbc90c
RV
1888 (source
1889 (origin
1890 (method url-fetch)
1891 (uri (string-append
1892 "https://hackage.haskell.org/package/code-page/code-page-"
1893 version ".tar.gz"))
1894 (sha256
1895 (base32
f6bb6519 1896 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1897 (build-system haskell-build-system)
1898 (home-page "https://github.com/RyanGlScott/code-page")
1899 (synopsis "Windows code page library for Haskell")
1900 (description "A cross-platform library with functions for adjusting
1901code pages on Windows. On all other operating systems, the library does
1902nothing.")
1903 (license license:bsd-3)))
1904
1905(define-public ghc-colour
1906(package
1907 (name "ghc-colour")
bc9d1af9 1908 (version "2.3.5")
dddbc90c
RV
1909 (source
1910 (origin
1911 (method url-fetch)
1912 (uri (string-append
1913 "https://hackage.haskell.org/package/colour/colour-"
1914 version ".tar.gz"))
1915 (sha256
1916 (base32
bc9d1af9 1917 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1918 (arguments
1919 ;; The tests for this package have the following dependency cycle:
1920 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1921 `(#:tests? #f))
1922 (build-system haskell-build-system)
1923 (home-page "https://www.haskell.org/haskellwiki/Colour")
1924 (synopsis "Model for human colour perception")
1925 (description
1926 "This package provides a data type for colours and transparency.
1927Colours can be blended and composed. Various colour spaces are
1928supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1929 (license license:expat)))
1930
1931(define-public ghc-comonad
1932 (package
1933 (name "ghc-comonad")
1a825512 1934 (version "5.0.5")
dddbc90c
RV
1935 (source
1936 (origin
1937 (method url-fetch)
1938 (uri (string-append
1939 "https://hackage.haskell.org/package/comonad/comonad-"
1940 version
1941 ".tar.gz"))
1942 (sha256
1943 (base32
1a825512 1944 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1945 (build-system haskell-build-system)
1946 (native-inputs
1947 `(("cabal-doctest" ,cabal-doctest)
1948 ("ghc-doctest" ,ghc-doctest)))
1949 (inputs
1950 `(("ghc-contravariant" ,ghc-contravariant)
1951 ("ghc-distributive" ,ghc-distributive)
1952 ("ghc-semigroups" ,ghc-semigroups)
1953 ("ghc-tagged" ,ghc-tagged)
1954 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1955 (home-page "https://github.com/ekmett/comonad/")
1956 (synopsis "Comonads for Haskell")
1957 (description "This library provides @code{Comonad}s for Haskell.")
1958 (license license:bsd-3)))
1959
1960(define-public ghc-concatenative
1961 (package
1962 (name "ghc-concatenative")
1963 (version "1.0.1")
1964 (source (origin
1965 (method url-fetch)
1966 (uri (string-append
1967 "https://hackage.haskell.org/package/concatenative/concatenative-"
1968 version ".tar.gz"))
1969 (sha256
1970 (base32
1971 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1972 (build-system haskell-build-system)
1973 (home-page
1974 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1975 (synopsis "Library for postfix control flow")
1976 (description
1977 "Concatenative gives Haskell Factor-style combinators and arrows for
1978postfix notation. For more information on stack based languages, see
1979@uref{https://concatenative.org}.")
1980 (license license:bsd-3)))
1981
1982(define-public ghc-concurrent-extra
1983 (package
1984 (name "ghc-concurrent-extra")
1985 (version "0.7.0.12")
1986 (source
1987 (origin
1988 (method url-fetch)
1989 (uri (string-append "https://hackage.haskell.org/package/"
1990 "concurrent-extra/concurrent-extra-"
1991 version ".tar.gz"))
1992 (sha256
1993 (base32
1994 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1995 (build-system haskell-build-system)
1996 (arguments
1997 ;; XXX: The ReadWriteLock 'stressTest' fails.
1998 `(#:tests? #f))
1999 (inputs
2000 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2001 (native-inputs
2002 `(("ghc-async" ,ghc-async)
2003 ("ghc-hunit" ,ghc-hunit)
2004 ("ghc-random" ,ghc-random)
2005 ("ghc-test-framework" ,ghc-test-framework)
2006 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2007 (home-page "https://github.com/basvandijk/concurrent-extra")
2008 (synopsis "Extra concurrency primitives")
2009 (description "This Haskell library offers (among other things) the
2010following selection of synchronisation primitives:
2011
2012@itemize
2013@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2014@item @code{Event}: Wake multiple threads by signalling an event.
2015@item @code{Lock}: Enforce exclusive access to a resource. Also known
2016as a binary semaphore or mutex. The package additionally provides an
2017alternative that works in the STM monad.
2018@item @code{RLock}: A lock which can be acquired multiple times by the
2019same thread. Also known as a reentrant mutex.
2020@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2021to protect shared resources which may be concurrently read, but only
2022sequentially written.
2023@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2024@end itemize
2025
2026Please consult the API documentation of the individual modules for more
2027detailed information.
2028
2029This package was inspired by the concurrency libraries of Java and
2030Python.")
2031 (license license:bsd-3)))
2032
2033(define-public ghc-concurrent-output
2034 (package
2035 (name "ghc-concurrent-output")
4fce0a4a 2036 (version "1.10.11")
dddbc90c
RV
2037 (source
2038 (origin
2039 (method url-fetch)
2040 (uri (string-append
2041 "mirror://hackage/package/concurrent-output/concurrent-output-"
2042 version
2043 ".tar.gz"))
2044 (sha256
2045 (base32
4fce0a4a 2046 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2047 (build-system haskell-build-system)
2048 (inputs
2049 `(("ghc-async" ,ghc-async)
2050 ("ghc-exceptions" ,ghc-exceptions)
2051 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2052 ("ghc-terminal-size" ,ghc-terminal-size)))
2053 (home-page
2054 "https://hackage.haskell.org/package/concurrent-output")
2055 (synopsis
2056 "Ungarble output from several threads or commands")
2057 (description
2058 "Lets multiple threads and external processes concurrently output to the
2059console, without it getting all garbled up.
2060
2061Built on top of that is a way of defining multiple output regions, which are
2062automatically laid out on the screen and can be individually updated by
2063concurrent threads. Can be used for progress displays etc.")
2064 (license license:bsd-2)))
2065
2066(define-public ghc-conduit
2067 (package
2068 (name "ghc-conduit")
1ac981d4 2069 (version "1.3.1.1")
dddbc90c
RV
2070 (source (origin
2071 (method url-fetch)
2072 (uri (string-append "https://hackage.haskell.org/package/"
2073 "conduit/conduit-" version ".tar.gz"))
2074 (sha256
2075 (base32
1ac981d4 2076 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2077 (build-system haskell-build-system)
2078 (inputs
2079 `(("ghc-exceptions" ,ghc-exceptions)
2080 ("ghc-lifted-base" ,ghc-lifted-base)
2081 ("ghc-mono-traversable" ,ghc-mono-traversable)
2082 ("ghc-mmorph" ,ghc-mmorph)
2083 ("ghc-resourcet" ,ghc-resourcet)
2084 ("ghc-silently" ,ghc-silently)
2085 ("ghc-transformers-base" ,ghc-transformers-base)
2086 ("ghc-unliftio" ,ghc-unliftio)
2087 ("ghc-unliftio-core" ,ghc-unliftio-core)
2088 ("ghc-vector" ,ghc-vector)
2089 ("ghc-void" ,ghc-void)))
2090 (native-inputs
2091 `(("ghc-quickcheck" ,ghc-quickcheck)
2092 ("ghc-hspec" ,ghc-hspec)
2093 ("ghc-safe" ,ghc-safe)
2094 ("ghc-split" ,ghc-split)))
2095 (home-page "https://github.com/snoyberg/conduit")
2096 (synopsis "Streaming data library ")
2097 (description
2098 "The conduit package is a solution to the streaming data problem,
2099allowing for production, transformation, and consumption of streams of data
2100in constant memory. It is an alternative to lazy I/O which guarantees
2101deterministic resource handling, and fits in the same general solution
2102space as enumerator/iteratee and pipes.")
2103 (license license:expat)))
2104
2105(define-public ghc-conduit-algorithms
2106 (package
2107 (name "ghc-conduit-algorithms")
503b74ae 2108 (version "0.0.11.0")
dddbc90c
RV
2109 (source
2110 (origin
2111 (method url-fetch)
2112 (uri (string-append "https://hackage.haskell.org/package/"
2113 "conduit-algorithms/conduit-algorithms-"
2114 version ".tar.gz"))
2115 (sha256
2116 (base32
503b74ae 2117 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2118 (build-system haskell-build-system)
2119 (inputs
2120 `(("ghc-async" ,ghc-async)
2121 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2122 ("ghc-conduit" ,ghc-conduit)
2123 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2124 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2125 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2126 ("ghc-exceptions" ,ghc-exceptions)
2127 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2128 ("ghc-monad-control" ,ghc-monad-control)
2129 ("ghc-pqueue" ,ghc-pqueue)
2130 ("ghc-resourcet" ,ghc-resourcet)
2131 ("ghc-stm-conduit" ,ghc-stm-conduit)
2132 ("ghc-streaming-commons" ,ghc-streaming-commons)
2133 ("ghc-unliftio-core" ,ghc-unliftio-core)
2134 ("ghc-vector" ,ghc-vector)))
2135 (native-inputs
2136 `(("ghc-hunit" ,ghc-hunit)
2137 ("ghc-test-framework" ,ghc-test-framework)
2138 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2139 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2140 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2141 (synopsis "Conduit-based algorithms")
2142 (description
2143 "This package provides algorithms on @code{Conduits}, including higher
2144level asynchronous processing and some other utilities.")
2145 (license license:expat)))
2146
2147(define-public ghc-conduit-combinators
2148 (package
2149 (name "ghc-conduit-combinators")
2150 (version "1.3.0")
2151 (source
2152 (origin
2153 (method url-fetch)
2154 (uri (string-append "https://hackage.haskell.org/package/"
2155 "conduit-combinators-" version "/"
2156 "conduit-combinators-" version ".tar.gz"))
2157 (sha256
2158 (base32
2159 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2160 (build-system haskell-build-system)
2161 (inputs `(("ghc-conduit" ,ghc-conduit)
2162 ("ghc-conduit-extra" ,ghc-conduit-extra)
2163 ("ghc-transformers-base" ,ghc-transformers-base)
2164 ("ghc-primitive" ,ghc-primitive)
2165 ("ghc-vector" ,ghc-vector)
2166 ("ghc-void" ,ghc-void)
2167 ("ghc-mwc-random" ,ghc-mwc-random)
2168 ("ghc-unix-compat" ,ghc-unix-compat)
2169 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2170 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2171 ("ghc-resourcet" ,ghc-resourcet)
2172 ("ghc-monad-control" ,ghc-monad-control)
2173 ("ghc-chunked-data" ,ghc-chunked-data)
2174 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2175 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2176 ("ghc-silently" ,ghc-silently)
2177 ("ghc-safe" ,ghc-safe)
2178 ("ghc-quickcheck" ,ghc-quickcheck)))
2179 (home-page "https://github.com/snoyberg/mono-traversable")
2180 (synopsis "Commonly used conduit functions, for both chunked and
2181unchunked data")
2182 (description "This Haskell package provides a replacement for Data.Conduit.List,
2183as well as a convenient Conduit module.")
2184 (license license:expat)))
2185
2186(define-public ghc-conduit-extra
2187 (package
2188 (name "ghc-conduit-extra")
151774d9 2189 (version "1.3.4")
dddbc90c
RV
2190 (source
2191 (origin
2192 (method url-fetch)
2193 (uri (string-append "https://hackage.haskell.org/package/"
2194 "conduit-extra/conduit-extra-"
2195 version ".tar.gz"))
2196 (sha256
2197 (base32
151774d9 2198 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2199 (build-system haskell-build-system)
2200 (inputs
2201 `(("ghc-conduit" ,ghc-conduit)
2202 ("ghc-exceptions" ,ghc-exceptions)
2203 ("ghc-monad-control" ,ghc-monad-control)
2204 ("ghc-transformers-base" ,ghc-transformers-base)
2205 ("ghc-typed-process" ,ghc-typed-process)
2206 ("ghc-async" ,ghc-async)
2207 ("ghc-attoparsec" ,ghc-attoparsec)
2208 ("ghc-blaze-builder" ,ghc-blaze-builder)
2209 ("ghc-network" ,ghc-network)
2210 ("ghc-primitive" ,ghc-primitive)
2211 ("ghc-resourcet" ,ghc-resourcet)
2212 ("ghc-streaming-commons" ,ghc-streaming-commons)
2213 ("ghc-hspec" ,ghc-hspec)
2214 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2215 ("ghc-quickcheck" ,ghc-quickcheck)))
2216 (native-inputs
2217 `(("hspec-discover" ,hspec-discover)))
2218 (home-page "https://github.com/snoyberg/conduit")
2219 (synopsis "Conduit adapters for common libraries")
2220 (description
2221 "The @code{conduit} package itself maintains relative small dependencies.
2222The purpose of this package is to collect commonly used utility functions
2223wrapping other library dependencies, without depending on heavier-weight
2224dependencies. The basic idea is that this package should only depend on
2225@code{haskell-platform} packages and @code{conduit}.")
2226 (license license:expat)))
2227
b59c3518
TS
2228(define-public ghc-conduit-zstd
2229 (package
2230 (name "ghc-conduit-zstd")
2231 (version "0.0.1.1")
2232 (source
2233 (origin
2234 (method url-fetch)
2235 (uri (string-append "https://hackage.haskell.org/package/"
2236 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2237 (sha256
2238 (base32
2239 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2240 (build-system haskell-build-system)
2241 (inputs
2242 `(("ghc-conduit" ,ghc-conduit)
2243 ("ghc-zstd" ,ghc-zstd)))
2244 (native-inputs
2245 `(("ghc-hunit" ,ghc-hunit)
2246 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2247 ("ghc-conduit-extra" ,ghc-conduit-extra)
2248 ("ghc-test-framework" ,ghc-test-framework)
2249 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2250 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2251 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2252 (synopsis "Conduit-based ZStd Compression")
2253 (description "Zstandard compression packaged as a conduit. This is
2254a very thin wrapper around the
2255@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2256interface}.")
2257 (license license:expat)))
2258
dddbc90c
RV
2259(define-public ghc-configurator
2260 (package
2261 (name "ghc-configurator")
2262 (version "0.3.0.0")
2263 (source
2264 (origin
2265 (method url-fetch)
2266 (uri (string-append "https://hackage.haskell.org/package/"
2267 "configurator/configurator-"
2268 version ".tar.gz"))
2269 (sha256
2270 (base32
2271 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2272 (build-system haskell-build-system)
2273 (inputs
2274 `(("ghc-attoparsec" ,ghc-attoparsec)
2275 ("ghc-hashable" ,ghc-hashable)
2276 ("ghc-unix-compat" ,ghc-unix-compat)
2277 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2278 (native-inputs
2279 `(("ghc-hunit" ,ghc-hunit)
2280 ("ghc-test-framework" ,ghc-test-framework)
2281 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2282 (home-page "http://github.com/bos/configurator")
2283 (synopsis "Configuration management")
2284 (description
2285 "This package provides a configuration management library for programs
2286and daemons. The features include:
2287
2288@enumerate
2289@item Automatic, dynamic reloading in response to modifications to
2290 configuration files.
2291@item A simple, but flexible, configuration language, supporting several of
2292 the most commonly needed types of data, along with interpolation of strings
2293 from the configuration or the system environment (e.g. @code{$(HOME)}).
2294@item Subscription-based notification of changes to configuration properties.
2295@item An @code{import} directive allows the configuration of a complex
2296 application to be split across several smaller files, or common configuration
2297 data to be shared across several applications.
2298@end enumerate\n")
2299 (license license:bsd-3)))
2300
2301(define-public ghc-connection
2302 (package
2303 (name "ghc-connection")
6ee0d258 2304 (version "0.3.1")
dddbc90c
RV
2305 (source (origin
2306 (method url-fetch)
2307 (uri (string-append "https://hackage.haskell.org/package/"
2308 "connection/connection-"
2309 version ".tar.gz"))
2310 (sha256
2311 (base32
6ee0d258 2312 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2313 (build-system haskell-build-system)
2314 (inputs
2315 `(("ghc-byteable" ,ghc-byteable)
2316 ("ghc-data-default-class" ,ghc-data-default-class)
2317 ("ghc-network" ,ghc-network)
2318 ("ghc-tls" ,ghc-tls)
2319 ("ghc-socks" ,ghc-socks)
2320 ("ghc-x509" ,ghc-x509)
2321 ("ghc-x509-store" ,ghc-x509-store)
2322 ("ghc-x509-system" ,ghc-x509-system)
2323 ("ghc-x509-validation" ,ghc-x509-validation)))
2324 (home-page "https://github.com/vincenthz/hs-connection")
2325 (synopsis "Simple and easy network connections API")
2326 (description
2327 "This package provides a simple network library for all your connection
2328needs. It provides a very simple API to create sockets to a destination with
2329the choice of SSL/TLS, and SOCKS.")
2330 (license license:bsd-3)))
2331
2332(define-public ghc-constraints
2333 (package
2334 (name "ghc-constraints")
2335 (version "0.10.1")
2336 (source
2337 (origin
2338 (method url-fetch)
2339 (uri (string-append
2340 "https://hackage.haskell.org/package/constraints/constraints-"
2341 version ".tar.gz"))
2342 (sha256
2343 (base32
2344 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2345 (build-system haskell-build-system)
2346 (inputs
2347 `(("ghc-hashable" ,ghc-hashable)
2348 ("ghc-semigroups" ,ghc-semigroups)
2349 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2350 (native-inputs
2351 `(("ghc-hspec" ,ghc-hspec)
2352 ("hspec-discover" ,hspec-discover)))
2353 (home-page "https://github.com/ekmett/constraints/")
2354 (synopsis "Constraint manipulation")
2355 (description
2356 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2357They stopped crashing the compiler in GHC 7.6. This package provides
2358a vocabulary for working with them.")
2359 (license license:bsd-3)))
2360
2361(define-public ghc-contravariant
2362 (package
2363 (name "ghc-contravariant")
e7b35ff0 2364 (version "1.5.2")
dddbc90c
RV
2365 (source
2366 (origin
2367 (method url-fetch)
2368 (uri (string-append
2369 "https://hackage.haskell.org/package/contravariant/contravariant-"
2370 version
2371 ".tar.gz"))
2372 (sha256
2373 (base32
e7b35ff0 2374 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2375 (build-system haskell-build-system)
2376 (inputs
2377 `(("ghc-void" ,ghc-void)
2378 ("ghc-transformers-compat" ,ghc-transformers-compat)
2379 ("ghc-statevar" ,ghc-statevar)
2380 ("ghc-semigroups" ,ghc-semigroups)))
2381 (home-page
2382 "https://github.com/ekmett/contravariant/")
2383 (synopsis "Contravariant functors")
2384 (description "Contravariant functors for Haskell.")
2385 (license license:bsd-3)))
2386
2387(define-public ghc-contravariant-extras
2388 (package
2389 (name "ghc-contravariant-extras")
2390 (version "0.3.4")
2391 (source
2392 (origin
2393 (method url-fetch)
2394 (uri (string-append "https://hackage.haskell.org/package/"
2395 "contravariant-extras-" version "/"
2396 "contravariant-extras-" version ".tar.gz"))
2397 (sha256
2398 (base32
2399 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2400 (build-system haskell-build-system)
f3aca086
TS
2401 (arguments
2402 `(#:cabal-revision
2403 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2404 (inputs
2405 `(("ghc-tuple-th" ,ghc-tuple-th)
2406 ("ghc-contravariant" ,ghc-contravariant)
2407 ("ghc-base-prelude" ,ghc-base-prelude)
2408 ("ghc-semigroups" ,ghc-semigroups)))
2409 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2410 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2411 (description "This Haskell package provides extras for the
2412@code{ghc-contravariant} package.")
2413 (license license:expat)))
2414
2415(define-public ghc-convertible
2416 (package
2417 (name "ghc-convertible")
2418 (version "1.1.1.0")
2419 (source
2420 (origin
2421 (method url-fetch)
2422 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2423 "convertible-" version ".tar.gz"))
2424 (sha256
2425 (base32
2426 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2427 (build-system haskell-build-system)
2428 (inputs
2429 `(("ghc-old-time" ,ghc-old-time)
2430 ("ghc-old-locale" ,ghc-old-locale)))
2431 (home-page "https://hackage.haskell.org/package/convertible")
2432 (synopsis "Typeclasses and instances for converting between types")
2433 (description
2434 "This package provides a typeclass with a single function that is
2435designed to help convert between different types: numeric values, dates and
2436times, and the like. The conversions perform bounds checking and return a
2437pure @code{Either} value. This means that you need not remember which specific
2438function performs the conversion you desire.")
2439 (license license:bsd-3)))
2440
2441(define-public ghc-data-accessor
2442 (package
2443 (name "ghc-data-accessor")
6dcca515 2444 (version "0.2.2.8")
dddbc90c
RV
2445 (source
2446 (origin
2447 (method url-fetch)
2448 (uri (string-append
2449 "mirror://hackage/package/data-accessor/data-accessor-"
2450 version ".tar.gz"))
2451 (sha256
6dcca515 2452 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2453 (build-system haskell-build-system)
2454 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2455 (synopsis
2456 "Haskell utilities for accessing and manipulating fields of records")
2457 (description "This package provides Haskell modules for accessing and
2458manipulating fields of records.")
2459 (license license:bsd-3)))
2460
2461(define-public ghc-data-accessor-transformers
2462 (package
2463 (name "ghc-data-accessor-transformers")
2464 (version "0.2.1.7")
2465 (source
2466 (origin
2467 (method url-fetch)
2468 (uri (string-append
2469 "mirror://hackage/package/data-accessor-transformers/"
2470 "data-accessor-transformers-" version ".tar.gz"))
2471 (sha256
2472 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2473 (build-system haskell-build-system)
2474 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2475 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2476 (synopsis "Use Accessor to access state in transformers State monad")
2477 (description "This package provides Haskell modules to allow use of
2478Accessor to access state in transformers State monad.")
2479 (license license:bsd-3)))
2480
2481(define-public ghc-data-default
2482 (package
2483 (name "ghc-data-default")
2484 (version "0.7.1.1")
2485 (source
2486 (origin
2487 (method url-fetch)
2488 (uri (string-append
2489 "https://hackage.haskell.org/package/data-default/data-default-"
2490 version
2491 ".tar.gz"))
2492 (sha256
2493 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2494 (build-system haskell-build-system)
2495 (inputs
2496 `(("ghc-data-default-class"
2497 ,ghc-data-default-class)
2498 ("ghc-data-default-instances-base"
2499 ,ghc-data-default-instances-base)
2500 ("ghc-data-default-instances-containers"
2501 ,ghc-data-default-instances-containers)
2502 ("ghc-data-default-instances-dlist"
2503 ,ghc-data-default-instances-dlist)
2504 ("ghc-data-default-instances-old-locale"
2505 ,ghc-data-default-instances-old-locale)))
2506 (home-page "https://hackage.haskell.org/package/data-default")
2507 (synopsis "Types with default values")
2508 (description
2509 "This package defines a class for types with a default value, and
2510provides instances for types from the base, containers, dlist and old-locale
2511packages.")
2512 (license license:bsd-3)))
2513
2514(define-public ghc-data-default-class
2515 (package
2516 (name "ghc-data-default-class")
2517 (version "0.1.2.0")
2518 (source
2519 (origin
2520 (method url-fetch)
2521 (uri (string-append
2522 "https://hackage.haskell.org/package/data-default-class/"
2523 "data-default-class-" version ".tar.gz"))
2524 (sha256
2525 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2526 (build-system haskell-build-system)
2527 (home-page "https://hackage.haskell.org/package/data-default-class")
2528 (synopsis "Types with default values")
2529 (description
2530 "This package defines a class for types with default values.")
2531 (license license:bsd-3)))
2532
2533(define-public ghc-data-default-instances-base
2534 (package
2535 (name "ghc-data-default-instances-base")
2536 (version "0.1.0.1")
2537 (source
2538 (origin
2539 (method url-fetch)
2540 (uri (string-append
2541 "https://hackage.haskell.org/package/"
2542 "data-default-instances-base/"
2543 "data-default-instances-base-" version ".tar.gz"))
2544 (sha256
2545 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
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-base")
2550 (synopsis "Default instances for types in base")
2551 (description
2552 "This package provides default instances for types from the base
2553package.")
2554 (license license:bsd-3)))
2555
2556(define-public ghc-data-default-instances-containers
2557 (package
2558 (name "ghc-data-default-instances-containers")
2559 (version "0.0.1")
2560 (source
2561 (origin
2562 (method url-fetch)
2563 (uri (string-append
2564 "https://hackage.haskell.org/package/"
2565 "data-default-instances-containers/"
2566 "data-default-instances-containers-" version ".tar.gz"))
2567 (sha256
2568 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2569 (build-system haskell-build-system)
2570 (inputs
2571 `(("ghc-data-default-class" ,ghc-data-default-class)))
2572 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2573 (synopsis "Default instances for types in containers")
2574 (description "Provides default instances for types from the containers
2575package.")
2576 (license license:bsd-3)))
2577
2578(define-public ghc-data-default-instances-dlist
2579 (package
2580 (name "ghc-data-default-instances-dlist")
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-dlist/"
2588 "data-default-instances-dlist-" version ".tar.gz"))
2589 (sha256
2590 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-data-default-class" ,ghc-data-default-class)
2594 ("ghc-dlist" ,ghc-dlist)))
2595 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2596 (synopsis "Default instances for types in dlist")
2597 (description "Provides default instances for types from the dlist
2598package.")
2599 (license license:bsd-3)))
2600
2601(define-public ghc-data-default-instances-old-locale
2602 (package
2603 (name "ghc-data-default-instances-old-locale")
2604 (version "0.0.1")
2605 (source
2606 (origin
2607 (method url-fetch)
2608 (uri (string-append
2609 "https://hackage.haskell.org/package/"
2610 "data-default-instances-old-locale/"
2611 "data-default-instances-old-locale-" version ".tar.gz"))
2612 (sha256
2613 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2614 (build-system haskell-build-system)
2615 (inputs
2616 `(("ghc-data-default-class" ,ghc-data-default-class)
2617 ("ghc-old-locale" ,ghc-old-locale)))
2618 (home-page
2619 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2620 (synopsis "Default instances for types in old-locale")
2621 (description "Provides Default instances for types from the old-locale
2622 package.")
2623 (license license:bsd-3)))
2624
2625(define-public ghc-data-hash
2626 (package
2627 (name "ghc-data-hash")
2628 (version "0.2.0.1")
2629 (source
2630 (origin
2631 (method url-fetch)
2632 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2633 "/data-hash-" version ".tar.gz"))
2634 (sha256
2635 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2636 (build-system haskell-build-system)
2637 (inputs
2638 `(("ghc-quickcheck" ,ghc-quickcheck)
2639 ("ghc-test-framework" ,ghc-test-framework)
2640 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2641 (home-page "https://hackage.haskell.org/package/data-hash")
2642 (synopsis "Combinators for building fast hashing functions")
2643 (description
2644 "This package provides combinators for building fast hashing functions.
2645It includes hashing functions for all basic Haskell98 types.")
2646 (license license:bsd-3)))
2647
2648(define-public ghc-data-ordlist
2649 (package
2650 (name "ghc-data-ordlist")
2651 (version "0.4.7.0")
2652 (source
2653 (origin
2654 (method url-fetch)
2655 (uri (string-append
2656 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2657 version ".tar.gz"))
2658 (sha256
2659 (base32
2660 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2661 (build-system haskell-build-system)
2662 (home-page "https://hackage.haskell.org/package/data-ordlist")
2663 (synopsis "Set and bag operations on ordered lists")
2664 (description
2665 "This module provides set and multiset operations on ordered lists.")
2666 (license license:bsd-3)))
2667
d05f32d6
JS
2668(define-public ghc-dbus
2669 (package
2670 (name "ghc-dbus")
2671 (version "1.2.7")
2672 (source
2673 (origin
2674 (method url-fetch)
2675 (uri
2676 (string-append
2677 "mirror://hackage/package/dbus/dbus-"
2678 version ".tar.gz"))
2679 (sha256
2680 (base32
2681 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2682 (build-system haskell-build-system)
2683 (inputs
2684 `(("ghc-cereal" ,ghc-cereal)
2685 ("ghc-conduit" ,ghc-conduit)
2686 ("ghc-exceptions" ,ghc-exceptions)
2687 ("ghc-lens" ,ghc-lens)
2688 ("ghc-network" ,ghc-network)
2689 ("ghc-random" ,ghc-random)
2690 ("ghc-split" ,ghc-split)
2691 ("ghc-th-lift" ,ghc-th-lift)
2692 ("ghc-vector" ,ghc-vector)
2693 ("ghc-xml-conduit" ,ghc-xml-conduit)
2694 ("ghc-xml-types" ,ghc-xml-types)))
2695 (native-inputs
2696 `(("ghc-extra" ,ghc-extra)
2697 ("ghc-quickcheck" ,ghc-quickcheck)
2698 ("ghc-resourcet" ,ghc-resourcet)
2699 ("ghc-tasty" ,ghc-tasty)
2700 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2701 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2702 ;; FIXME - Some tests try to talk to network.
2703 (arguments `(#:tests? #f))
2704 (home-page "https://github.com/rblaze/haskell-dbus")
2705 (synopsis "Client library for the D-Bus IPC system")
2706 (description
2707 "D-Bus is a simple, message-based protocol for inter-process
2708communication, which allows applications to interact with other parts
2709of the machine and the user's session using remote procedure
2710calls. D-Bus is a essential part of the modern Linux desktop, where
2711it replaces earlier protocols such as CORBA and DCOP. This library
2712is an implementation of the D-Bus protocol in Haskell. It can be used
2713to add D-Bus support to Haskell applications, without the awkward
2714interfaces common to foreign bindings.")
2715 (license license:asl2.0)))
2716
dddbc90c
RV
2717(define-public ghc-deepseq-generics
2718 (package
2719 (name "ghc-deepseq-generics")
2720 (version "0.2.0.0")
2721 (source (origin
2722 (method url-fetch)
2723 (uri (string-append "https://hackage.haskell.org/package/"
2724 "deepseq-generics/deepseq-generics-"
2725 version ".tar.gz"))
2726 (sha256
2727 (base32
2728 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2729 (build-system haskell-build-system)
2730 (arguments
2731 `(#:cabal-revision
490ceae4 2732 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2733 (native-inputs
2734 `(("ghc-hunit" ,ghc-hunit)
2735 ("ghc-test-framework" ,ghc-test-framework)
2736 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2737 (home-page "https://github.com/hvr/deepseq-generics")
2738 (synopsis "Generic RNF implementation")
2739 (description
2740 "This package provides a @code{GHC.Generics}-based
2741@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2742providing an @code{rnf} implementation.")
2743 (license license:bsd-3)))
2744
e924e17e
TS
2745(define-public ghc-dense-linear-algebra
2746 (package
2747 (name "ghc-dense-linear-algebra")
2748 (version "0.1.0.0")
2749 (source
2750 (origin
2751 (method url-fetch)
2752 (uri (string-append "https://hackage.haskell.org/package/"
2753 "dense-linear-algebra/dense-linear-algebra-"
2754 version ".tar.gz"))
2755 (sha256
2756 (base32
2757 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2758 (build-system haskell-build-system)
2759 (inputs
2760 `(("ghc-math-functions" ,ghc-math-functions)
2761 ("ghc-primitive" ,ghc-primitive)
2762 ("ghc-vector" ,ghc-vector)
2763 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2764 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2765 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2766 (native-inputs
2767 `(("ghc-hspec" ,ghc-hspec)
2768 ("ghc-quickcheck" ,ghc-quickcheck)))
2769 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2770 (synopsis "Simple and incomplete implementation of linear algebra")
2771 (description "This library is simply a collection of linear-algebra
2772related modules split from the statistics library.")
2773 (license license:bsd-2)))
2774
dddbc90c
RV
2775(define-public ghc-descriptive
2776 (package
2777 (name "ghc-descriptive")
2778 (version "0.9.5")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append
2783 "https://hackage.haskell.org/package/descriptive/descriptive-"
2784 version
2785 ".tar.gz"))
2786 (sha256
2787 (base32
2788 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2789 (build-system haskell-build-system)
2790 (inputs
2791 `(("ghc-aeson" ,ghc-aeson)
2792 ("ghc-bifunctors" ,ghc-bifunctors)
2793 ("ghc-scientific" ,ghc-scientific)
2794 ("ghc-vector" ,ghc-vector)))
2795 (native-inputs
2796 `(("ghc-hunit" ,ghc-hunit)
2797 ("ghc-hspec" ,ghc-hspec)))
2798 (home-page
2799 "https://github.com/chrisdone/descriptive")
2800 (synopsis
2801 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2802 (description
2803 "This package provides datatypes and functions for creating consumers
2804and parsers with useful semantics.")
2805 (license license:bsd-3)))
2806
4eb9a167
TS
2807(define-public ghc-dictionary-sharing
2808 (package
2809 (name "ghc-dictionary-sharing")
2810 (version "0.1.0.0")
2811 (source
2812 (origin
2813 (method url-fetch)
2814 (uri (string-append "https://hackage.haskell.org/package/"
2815 "dictionary-sharing/dictionary-sharing-"
2816 version ".tar.gz"))
2817 (sha256
2818 (base32
2819 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
2820 (build-system haskell-build-system)
2821 (arguments
2822 `(#:cabal-revision
2823 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
2824 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
2825 (synopsis "Sharing/memoization of class members")
2826 (description "This library provides tools for ensuring that class
2827members are shared.")
2828 (license license:bsd-3)))
2829
dddbc90c
RV
2830(define-public ghc-diff
2831 (package
2832 (name "ghc-diff")
2833 (version "0.3.4")
2834 (source (origin
2835 (method url-fetch)
2836 (uri (string-append "https://hackage.haskell.org/package/"
2837 "Diff/Diff-" version ".tar.gz"))
a531ff94 2838 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2839 (sha256
2840 (base32
2841 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2842 (build-system haskell-build-system)
2843 (native-inputs
2844 `(("ghc-quickcheck" ,ghc-quickcheck)
2845 ("ghc-test-framework" ,ghc-test-framework)
2846 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2847 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2848 (synopsis "O(ND) diff algorithm in Haskell")
2849 (description
2850 "This package provides an implementation of the standard diff algorithm,
2851and utilities for pretty printing.")
2852 (license license:bsd-3)))
2853
2854(define-public ghc-disk-free-space
2855 (package
2856 (name "ghc-disk-free-space")
2857 (version "0.1.0.1")
2858 (source
2859 (origin
2860 (method url-fetch)
2861 (uri (string-append "https://hackage.haskell.org/package/"
2862 "disk-free-space/disk-free-space-"
2863 version ".tar.gz"))
2864 (sha256
2865 (base32
2866 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2867 (build-system haskell-build-system)
2868 (home-page "https://github.com/redneb/disk-free-space")
2869 (synopsis "Retrieve information about disk space usage")
2870 (description "A cross-platform library for retrieving information about
2871disk space usage.")
2872 (license license:bsd-3)))
2873
2874(define-public ghc-distributive
2875 (package
2876 (name "ghc-distributive")
e4c92f28 2877 (version "0.6.1")
dddbc90c
RV
2878 (source
2879 (origin
2880 (method url-fetch)
2881 (uri (string-append
2882 "https://hackage.haskell.org/package/distributive/distributive-"
2883 version
2884 ".tar.gz"))
2885 (sha256
2886 (base32
e4c92f28 2887 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2888 (build-system haskell-build-system)
dddbc90c
RV
2889 (inputs
2890 `(("ghc-tagged" ,ghc-tagged)
2891 ("ghc-base-orphans" ,ghc-base-orphans)
2892 ("ghc-transformers-compat" ,ghc-transformers-compat)
2893 ("ghc-semigroups" ,ghc-semigroups)
2894 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2895 (native-inputs
2896 `(("cabal-doctest" ,cabal-doctest)
2897 ("ghc-doctest" ,ghc-doctest)
2898 ("ghc-hspec" ,ghc-hspec)
2899 ("hspec-discover" ,hspec-discover)))
2900 (home-page "https://github.com/ekmett/distributive/")
2901 (synopsis "Distributive functors for Haskell")
2902 (description "This package provides distributive functors for Haskell.
2903Dual to @code{Traversable}.")
2904 (license license:bsd-3)))
2905
2906(define-public ghc-dlist
2907 (package
2908 (name "ghc-dlist")
197ddf33 2909 (version "0.8.0.7")
dddbc90c
RV
2910 (source
2911 (origin
2912 (method url-fetch)
2913 (uri (string-append
2914 "https://hackage.haskell.org/package/dlist/dlist-"
2915 version
2916 ".tar.gz"))
2917 (sha256
197ddf33 2918 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2919 (build-system haskell-build-system)
2920 (inputs
2921 `(("ghc-quickcheck" ,ghc-quickcheck)))
2922 (home-page "https://github.com/spl/dlist")
2923 (synopsis "Difference lists")
2924 (description
2925 "Difference lists are a list-like type supporting O(1) append. This is
2926particularly useful for efficient logging and pretty printing (e.g. with the
2927Writer monad), where list append quickly becomes too expensive.")
2928 (license license:bsd-3)))
2929
2930(define-public ghc-doctemplates
2931 (package
2932 (name "ghc-doctemplates")
2933 (version "0.2.2.1")
2934 (source
2935 (origin
2936 (method url-fetch)
2937 (uri (string-append "https://hackage.haskell.org/package/"
2938 "doctemplates/doctemplates-"
2939 version ".tar.gz"))
2940 (sha256
2941 (base32
2942 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2943 (build-system haskell-build-system)
2944 (inputs
2945 `(("ghc-aeson" ,ghc-aeson)
2946 ("ghc-blaze-markup" ,ghc-blaze-markup)
2947 ("ghc-blaze-html" ,ghc-blaze-html)
2948 ("ghc-vector" ,ghc-vector)
2949 ("ghc-unordered-containers" ,ghc-unordered-containers)
2950 ("ghc-scientific" ,ghc-scientific)))
2951 (native-inputs
2952 `(("ghc-hspec" ,ghc-hspec)))
2953 (home-page "https://github.com/jgm/doctemplates#readme")
2954 (synopsis "Pandoc-style document templates")
2955 (description
2956 "This package provides a simple text templating system used by pandoc.")
2957 (license license:bsd-3)))
2958
2959(define-public ghc-doctest
2960 (package
2961 (name "ghc-doctest")
19c14a0f 2962 (version "0.16.2")
dddbc90c
RV
2963 (source
2964 (origin
2965 (method url-fetch)
2966 (uri (string-append
2967 "https://hackage.haskell.org/package/doctest/doctest-"
2968 version
2969 ".tar.gz"))
2970 (sha256
2971 (base32
19c14a0f 2972 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2973 (build-system haskell-build-system)
2974 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2975 (inputs
2976 `(("ghc-syb" ,ghc-syb)
2977 ("ghc-paths" ,ghc-paths)
2978 ("ghc-base-compat" ,ghc-base-compat)
2979 ("ghc-code-page" ,ghc-code-page)
2980 ("ghc-hunit" ,ghc-hunit)
2981 ("ghc-hspec" ,ghc-hspec)
2982 ("ghc-quickcheck" ,ghc-quickcheck)
2983 ("ghc-stringbuilder" ,ghc-stringbuilder)
2984 ("ghc-silently" ,ghc-silently)
2985 ("ghc-setenv" ,ghc-setenv)))
2986 (home-page
2987 "https://github.com/sol/doctest#readme")
2988 (synopsis "Test interactive Haskell examples")
2989 (description "The doctest program checks examples in source code comments.
2990It is modeled after doctest for Python, see
2991@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2992 (license license:expat)))
2993
2994(define-public ghc-double-conversion
2995 (package
2996 (name "ghc-double-conversion")
2997 (version "2.0.2.0")
2998 (source
2999 (origin
3000 (method url-fetch)
3001 (uri (string-append "https://hackage.haskell.org/package/"
3002 "double-conversion/double-conversion-"
3003 version ".tar.gz"))
3004 (sha256
3005 (base32
3006 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3007 (build-system haskell-build-system)
3008 (native-inputs
3009 `(("ghc-hunit" ,ghc-hunit)
3010 ("ghc-test-framework" ,ghc-test-framework)
3011 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3012 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3013 (home-page "https://github.com/bos/double-conversion")
3014 (synopsis "Fast conversion between double precision floating point and text")
3015 (description
3016 "This package provides a library that performs fast, accurate conversion
3017between double precision floating point and text.")
3018 (license license:bsd-3)))
3019
3020(define-public ghc-easy-file
3021 (package
3022 (name "ghc-easy-file")
3023 (version "0.2.2")
3024 (source
3025 (origin
3026 (method url-fetch)
3027 (uri (string-append
3028 "https://hackage.haskell.org/package/easy-file/easy-file-"
3029 version
3030 ".tar.gz"))
3031 (sha256
3032 (base32
3033 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3034 (build-system haskell-build-system)
3035 (home-page
3036 "https://github.com/kazu-yamamoto/easy-file")
3037 (synopsis "File handling library for Haskell")
3038 (description "This library provides file handling utilities for Haskell.")
3039 (license license:bsd-3)))
3040
3041(define-public ghc-easyplot
3042 (package
3043 (name "ghc-easyplot")
3044 (version "1.0")
3045 (source
3046 (origin
3047 (method url-fetch)
3048 (uri (string-append
3049 "https://hackage.haskell.org/package/easyplot/easyplot-"
3050 version ".tar.gz"))
3051 (sha256
3052 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3053 (build-system haskell-build-system)
3054 (propagated-inputs `(("gnuplot" ,gnuplot)))
3055 (arguments
3056 `(#:phases (modify-phases %standard-phases
3057 (add-after 'unpack 'fix-setup-suffix
3058 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3059 (home-page "https://hub.darcs.net/scravy/easyplot")
3060 (synopsis "Haskell plotting library based on gnuplot")
3061 (description "This package provides a plotting library for
3062Haskell, using gnuplot for rendering.")
3063 (license license:expat)))
3064
3065(define-public ghc-echo
3066 (package
3067 (name "ghc-echo")
3068 (version "0.1.3")
3069 (source
3070 (origin
3071 (method url-fetch)
3072 (uri (string-append
3073 "https://hackage.haskell.org/package/echo/echo-"
3074 version ".tar.gz"))
3075 (sha256
3076 (base32
3077 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3078 (build-system haskell-build-system)
3079 (arguments
3080 `(#:cabal-revision
3081 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3082 (home-page "https://github.com/RyanGlScott/echo")
3083 (synopsis "Echo terminal input portably")
3084 (description "The @code{base} library exposes the @code{hGetEcho} and
3085@code{hSetEcho} functions for querying and setting echo status, but
3086unfortunately, neither function works with MinTTY consoles on Windows.
3087This library provides an alternative interface which works with both
3088MinTTY and other consoles.")
3089 (license license:bsd-3)))
3090
3091(define-public ghc-edisonapi
3092 (package
3093 (name "ghc-edisonapi")
3094 (version "1.3.1")
3095 (source
3096 (origin
3097 (method url-fetch)
3098 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3099 "/EdisonAPI-" version ".tar.gz"))
3100 (sha256
3101 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3102 (build-system haskell-build-system)
3103 (home-page "http://rwd.rdockins.name/edison/home/")
3104 (synopsis "Library of efficient, purely-functional data structures (API)")
3105 (description
3106 "Edison is a library of purely functional data structures written by
3107Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3108value EDiSon (Efficient Data Structures). Edison provides several families of
3109abstractions, each with multiple implementations. The main abstractions
3110provided by Edison are: Sequences such as stacks, queues, and dequeues;
3111Collections such as sets, bags and heaps; and Associative Collections such as
3112finite maps and priority queues where the priority and element are distinct.")
3113 (license license:expat)))
3114
3115(define-public ghc-edisoncore
3116 (package
3117 (name "ghc-edisoncore")
3118 (version "1.3.2.1")
3119 (source
3120 (origin
3121 (method url-fetch)
3122 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3123 "/EdisonCore-" version ".tar.gz"))
3124 (sha256
3125 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3126 (build-system haskell-build-system)
3127 (inputs
3128 `(("ghc-quickcheck" ,ghc-quickcheck)
3129 ("ghc-edisonapi" ,ghc-edisonapi)))
3130 (home-page "http://rwd.rdockins.name/edison/home/")
3131 (synopsis "Library of efficient, purely-functional data structures")
3132 (description
3133 "This package provides the core Edison data structure implementations,
3134including multiple sequence, set, bag, and finite map concrete implementations
3135with various performance characteristics.")
3136 (license license:expat)))
3137
3138(define-public ghc-edit-distance
3139 (package
3140 (name "ghc-edit-distance")
3141 (version "0.2.2.1")
3142 (source
3143 (origin
3144 (method url-fetch)
3145 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3146 "/edit-distance-" version ".tar.gz"))
3147 (sha256
3148 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3149 (build-system haskell-build-system)
3150 (arguments
3151 `(#:phases
3152 (modify-phases %standard-phases
3153 (add-before 'configure 'update-constraints
3154 (lambda _
3155 (substitute* "edit-distance.cabal"
3156 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3157 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3158 (inputs
3159 `(("ghc-random" ,ghc-random)
3160 ("ghc-test-framework" ,ghc-test-framework)
3161 ("ghc-quickcheck" ,ghc-quickcheck)
3162 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3163 (home-page "https://github.com/phadej/edit-distance")
3164 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3165 (description
3166 "This package provides optimized functions to determine the edit
3167distances for fuzzy matching, including Levenshtein and restricted
3168Damerau-Levenshtein algorithms.")
3169 (license license:bsd-3)))
3170
3ebae41f
TS
3171(define-public ghc-edit-distance-vector
3172 (package
3173 (name "ghc-edit-distance-vector")
3174 (version "1.0.0.4")
3175 (source
3176 (origin
3177 (method url-fetch)
3178 (uri (string-append "https://hackage.haskell.org/package/"
3179 "edit-distance-vector/edit-distance-vector-"
3180 version ".tar.gz"))
3181 (sha256
3182 (base32
3183 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3184 (build-system haskell-build-system)
3185 (inputs
3186 `(("ghc-vector" ,ghc-vector)))
3187 (native-inputs
3188 `(("ghc-quickcheck" ,ghc-quickcheck)
3189 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3190 (home-page "https://github.com/thsutton/edit-distance-vector")
3191 (synopsis "Calculate edit distances and edit scripts between vectors")
3192 (description "This package provides implementation of the
3193Wagner-Fischer dynamic programming algorithm to find the optimal edit
3194script and cost between two sequences. The implementation in this
3195package is specialised to sequences represented with @code{Data.Vector}
3196but is otherwise agnostic to:
3197@itemize
3198@item The type of values in the vectors;
3199@item The type representing edit operations; and
3200@item The type representing the cost of operations.
3201@end itemize")
3202 (license license:bsd-3)) )
3203
dddbc90c
RV
3204(define-public ghc-either
3205 (package
3206 (name "ghc-either")
a3fd4dc7 3207 (version "5.0.1.1")
dddbc90c
RV
3208 (source
3209 (origin
3210 (method url-fetch)
3211 (uri (string-append "https://hackage.haskell.org/package/"
3212 "either-" version "/"
3213 "either-" version ".tar.gz"))
3214 (sha256
3215 (base32
a3fd4dc7 3216 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3217 (build-system haskell-build-system)
3218 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3219 ("ghc-exceptions" ,ghc-exceptions)
3220 ("ghc-free" ,ghc-free)
3221 ("ghc-monad-control" ,ghc-monad-control)
3222 ("ghc-manodrandom" ,ghc-monadrandom)
3223 ("ghc-mmorph" ,ghc-mmorph)
3224 ("ghc-profunctors" ,ghc-profunctors)
3225 ("ghc-semigroups" ,ghc-semigroups)
3226 ("ghc-semigroupoids" ,ghc-semigroupoids)
3227 ("ghc-transformers-base" ,ghc-transformers-base)))
3228 (native-inputs
3229 `(("ghc-quickcheck" ,ghc-quickcheck)
3230 ("ghc-test-framework" ,ghc-test-framework)
3231 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3232 (home-page "https://github.com/ekmett/either")
3233 (synopsis "Provides an either monad transformer for Haskell")
3234 (description "This Haskell package provides an either monad transformer.")
3235 (license license:bsd-3)))
3236
3237(define-public ghc-email-validate
3238 (package
3239 (name "ghc-email-validate")
a4fe1c64 3240 (version "2.3.2.12")
dddbc90c
RV
3241 (source
3242 (origin
3243 (method url-fetch)
3244 (uri (string-append
3245 "https://hackage.haskell.org/package/"
3246 "email-validate/email-validate-"
3247 version
3248 ".tar.gz"))
3249 (sha256
3250 (base32
a4fe1c64 3251 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3252 (build-system haskell-build-system)
3253 (inputs
3254 `(("ghc-attoparsec" ,ghc-attoparsec)
3255 ("ghc-hspec" ,ghc-hspec)
3256 ("ghc-quickcheck" ,ghc-quickcheck)
3257 ("ghc-doctest" ,ghc-doctest)))
3258 (home-page
3259 "https://github.com/Porges/email-validate-hs")
3260 (synopsis "Email address validator for Haskell")
3261 (description
3262 "This Haskell package provides a validator that can validate an email
3263address string against RFC 5322.")
3264 (license license:bsd-3)))
3265
3266(define-public ghc-enclosed-exceptions
3267 (package
3268 (name "ghc-enclosed-exceptions")
3269 (version "1.0.3")
3270 (source (origin
3271 (method url-fetch)
3272 (uri (string-append "https://hackage.haskell.org/package/"
3273 "enclosed-exceptions/enclosed-exceptions-"
3274 version ".tar.gz"))
3275 (sha256
3276 (base32
3277 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3278 (build-system haskell-build-system)
3279 ;; FIXME: one of the tests blocks forever:
3280 ;; "thread blocked indefinitely in an MVar operation"
3281 (arguments '(#:tests? #f))
3282 (inputs
3283 `(("ghc-lifted-base" ,ghc-lifted-base)
3284 ("ghc-monad-control" ,ghc-monad-control)
3285 ("ghc-async" ,ghc-async)
3286 ("ghc-transformers-base" ,ghc-transformers-base)))
3287 (native-inputs
3288 `(("ghc-hspec" ,ghc-hspec)
3289 ("ghc-quickcheck" ,ghc-quickcheck)))
3290 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3291 (synopsis "Catch all exceptions from within an enclosed computation")
3292 (description
3293 "This library implements a technique to catch all exceptions raised
3294within an enclosed computation, while remaining responsive to (external)
3295asynchronous exceptions.")
3296 (license license:expat)))
3297
3298(define-public ghc-equivalence
3299 (package
3300 (name "ghc-equivalence")
801cf5b1 3301 (version "0.3.5")
dddbc90c
RV
3302 (source
3303 (origin
3304 (method url-fetch)
3305 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3306 "/equivalence-" version ".tar.gz"))
3307 (sha256
801cf5b1 3308 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3309 (build-system haskell-build-system)
3310 (inputs
3311 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3312 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3313 ("ghc-fail" ,ghc-fail)
3314 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3315 (home-page "https://github.com/pa-ba/equivalence")
3316 (synopsis "Maintaining an equivalence relation implemented as union-find")
3317 (description
3318 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3319Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
332022(2), 1975) in order to maintain an equivalence relation. This
3321implementation is a port of the @code{union-find} package using the @code{ST}
3322monad transformer (instead of the IO monad).")
3323 (license license:bsd-3)))
3324
3325(define-public ghc-erf
3326 (package
3327 (name "ghc-erf")
3328 (version "2.0.0.0")
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append "https://hackage.haskell.org/package/"
3333 "erf-" version "/"
3334 "erf-" version ".tar.gz"))
3335 (sha256
3336 (base32
3337 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3338 (build-system haskell-build-system)
3339 (home-page "https://hackage.haskell.org/package/erf")
3340 (synopsis "The error function, erf, and related functions for Haskell")
3341 (description "This Haskell library provides a type class for the
3342error function, erf, and related functions. Instances for Float and
3343Double.")
3344 (license license:bsd-3)))
3345
3346(define-public ghc-errorcall-eq-instance
3347 (package
3348 (name "ghc-errorcall-eq-instance")
3349 (version "0.3.0")
3350 (source
3351 (origin
3352 (method url-fetch)
3353 (uri (string-append "https://hackage.haskell.org/package/"
3354 "errorcall-eq-instance/errorcall-eq-instance-"
3355 version ".tar.gz"))
3356 (sha256
3357 (base32
3358 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3359 (build-system haskell-build-system)
3360 (inputs
3361 `(("ghc-base-orphans" ,ghc-base-orphans)))
3362 (native-inputs
3363 `(("ghc-quickcheck" ,ghc-quickcheck)
3364 ("ghc-hspec" ,ghc-hspec)
3365 ("hspec-discover" ,hspec-discover)))
3366 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3367 (synopsis "Orphan Eq instance for ErrorCall")
3368 (description
3369 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3370This package provides an orphan instance.")
3371 (license license:expat)))
3372
3373(define-public ghc-errors
3374 (package
3375 (name "ghc-errors")
3376 (version "2.3.0")
3377 (source
3378 (origin
3379 (method url-fetch)
3380 (uri (string-append "https://hackage.haskell.org/package/"
3381 "errors-" version "/"
3382 "errors-" version ".tar.gz"))
3383 (sha256
3384 (base32
3385 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3386 (build-system haskell-build-system)
3387 (inputs
3388 `(("ghc-exceptions" ,ghc-exceptions)
3389 ("ghc-transformers-compat" ,ghc-transformers-compat)
3390 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3391 ("ghc-safe" ,ghc-safe)))
3392 (home-page "https://github.com/gabriel439/haskell-errors-library")
3393 (synopsis "Error handling library for Haskell")
3394 (description "This library encourages an error-handling style that
3395directly uses the type system, rather than out-of-band exceptions.")
3396 (license license:bsd-3)))
3397
3398(define-public ghc-esqueleto
2648b604
TS
3399 (package
3400 (name "ghc-esqueleto")
3401 (version "3.0.0")
3402 (source
3403 (origin
3404 (method url-fetch)
3405 (uri (string-append "https://hackage.haskell.org/package/"
3406 "esqueleto/esqueleto-" version ".tar.gz"))
3407 (sha256
3408 (base32
3409 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3410 (build-system haskell-build-system)
3411 (arguments
3412 `(#:haddock? #f ; Haddock reports an internal error.
3413 #:phases
3414 (modify-phases %standard-phases
3415 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3416 ;; SQLite backends. Since we only have Haskell packages for
3417 ;; SQLite, we remove the other two test suites. FIXME: Add the
3418 ;; other backends and run all three test suites.
3419 (add-before 'configure 'remove-non-sqlite-test-suites
3420 (lambda _
3421 (use-modules (ice-9 rdelim))
3422 (with-atomic-file-replacement "esqueleto.cabal"
3423 (lambda (in out)
3424 (let loop ((line (read-line in 'concat)) (deleting? #f))
3425 (cond
3426 ((eof-object? line) #t)
3427 ((string-every char-set:whitespace line)
3428 (unless deleting? (display line out))
3429 (loop (read-line in 'concat) #f))
3430 ((member line '("test-suite mysql\n"
3431 "test-suite postgresql\n"))
3432 (loop (read-line in 'concat) #t))
3433 (else
3434 (unless deleting? (display line out))
3435 (loop (read-line in 'concat) deleting?)))))))))))
3436 (inputs
3437 `(("ghc-blaze-html" ,ghc-blaze-html)
3438 ("ghc-conduit" ,ghc-conduit)
3439 ("ghc-monad-logger" ,ghc-monad-logger)
3440 ("ghc-persistent" ,ghc-persistent)
3441 ("ghc-resourcet" ,ghc-resourcet)
3442 ("ghc-tagged" ,ghc-tagged)
3443 ("ghc-unliftio" ,ghc-unliftio)
3444 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3445 (native-inputs
3446 `(("ghc-hspec" ,ghc-hspec)
3447 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3448 ("ghc-persistent-template" ,ghc-persistent-template)))
3449 (home-page "https://github.com/bitemyapp/esqueleto")
3450 (synopsis "Type-safe embedded domain specific language for SQL queries")
3451 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3452language (EDSL) for SQL queries that works with SQL backends as provided by
3453@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3454to learn new concepts, just new syntax, and it's fairly easy to predict the
3455generated SQL and optimize it for your backend.")
2648b604 3456 (license license:bsd-3)))
dddbc90c
RV
3457
3458(define-public ghc-exactprint
3459 (package
3460 (name "ghc-exactprint")
50614014 3461 (version "0.6.1")
dddbc90c
RV
3462 (source
3463 (origin
3464 (method url-fetch)
3465 (uri (string-append
3466 "https://hackage.haskell.org/package/"
3467 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3468 (sha256
3469 (base32
50614014 3470 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3471 (build-system haskell-build-system)
3472 (inputs
3473 `(("ghc-paths" ,ghc-paths)
3474 ("ghc-syb" ,ghc-syb)
3475 ("ghc-free" ,ghc-free)))
3476 (native-inputs
3477 `(("ghc-hunit" ,ghc-hunit)
3478 ("ghc-diff" ,ghc-diff)
3479 ("ghc-silently" ,ghc-silently)
3480 ("ghc-filemanip" ,ghc-filemanip)))
3481 (home-page
3482 "http://hackage.haskell.org/package/ghc-exactprint")
3483 (synopsis "ExactPrint for GHC")
3484 (description
3485 "Using the API Annotations available from GHC 7.10.2, this library
3486provides a means to round-trip any code that can be compiled by GHC, currently
3487excluding @file{.lhs} files.")
3488 (license license:bsd-3)))
3489
3490(define-public ghc-exceptions
3491 (package
3492 (name "ghc-exceptions")
46d3e65b 3493 (version "0.10.3")
dddbc90c
RV
3494 (source
3495 (origin
3496 (method url-fetch)
3497 (uri (string-append
3498 "https://hackage.haskell.org/package/exceptions/exceptions-"
3499 version
3500 ".tar.gz"))
3501 (sha256
3502 (base32
46d3e65b 3503 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3504 (build-system haskell-build-system)
3505 (native-inputs
3506 `(("ghc-quickcheck" ,ghc-quickcheck)
3507 ("ghc-test-framework" ,ghc-test-framework)
3508 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3509 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3510 (inputs
3511 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3512 (home-page "https://github.com/ekmett/exceptions/")
3513 (synopsis "Extensible optionally-pure exceptions")
3514 (description "This library provides extensible optionally-pure exceptions
3515for Haskell.")
3516 (license license:bsd-3)))
3517
3518(define-public ghc-executable-path
3519 (package
3520 (name "ghc-executable-path")
3521 (version "0.0.3.1")
3522 (source (origin
3523 (method url-fetch)
3524 (uri (string-append "https://hackage.haskell.org/package/"
3525 "executable-path/executable-path-"
3526 version ".tar.gz"))
3527 (sha256
3528 (base32
3529 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3530 (build-system haskell-build-system)
3531 (home-page "https://hackage.haskell.org/package/executable-path")
3532 (synopsis "Find out the full path of the executable")
3533 (description
3534 "The documentation of @code{System.Environment.getProgName} says that
3535\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3536instead, for maximum portability, we just return the leafname of the program
3537as invoked.\" This library tries to provide the missing path.")
3538 (license license:public-domain)))
3539
3540(define-public ghc-extensible-exceptions
3541 (package
3542 (name "ghc-extensible-exceptions")
3543 (version "0.1.1.4")
3544 (source
3545 (origin
3546 (method url-fetch)
3547 (uri (string-append "https://hackage.haskell.org/package/"
3548 "extensible-exceptions/extensible-exceptions-"
3549 version ".tar.gz"))
3550 (sha256
3551 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3552 (build-system haskell-build-system)
3553 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3554 (synopsis "Extensible exceptions for Haskell")
3555 (description
3556 "This package provides extensible exceptions for both new and old
3557versions of GHC (i.e., < 6.10).")
3558 (license license:bsd-3)))
3559
3560(define-public ghc-extra
3561 (package
3562 (name "ghc-extra")
10650c44 3563 (version "1.6.18")
dddbc90c
RV
3564 (source
3565 (origin
3566 (method url-fetch)
3567 (uri (string-append
3568 "https://hackage.haskell.org/package/extra/extra-"
3569 version
3570 ".tar.gz"))
3571 (sha256
3572 (base32
10650c44 3573 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3574 (build-system haskell-build-system)
3575 (inputs
3576 `(("ghc-clock" ,ghc-clock)
10650c44 3577 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3578 ("ghc-quickcheck" ,ghc-quickcheck)))
3579 (home-page "https://github.com/ndmitchell/extra")
3580 (synopsis "Extra Haskell functions")
3581 (description "This library provides extra functions for the standard
3582Haskell libraries. Most functions are simple additions, filling out missing
3583functionality. A few functions are available in later versions of GHC, but
3584this package makes them available back to GHC 7.2.")
3585 (license license:bsd-3)))
3586
3587(define-public ghc-fail
3588 (package
3589 (name "ghc-fail")
3590 (version "4.9.0.0")
3591 (source
3592 (origin
3593 (method url-fetch)
3594 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3595 version ".tar.gz"))
3596 (sha256
3597 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3598 (build-system haskell-build-system)
3599 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3600 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3601 (synopsis "Forward-compatible MonadFail class")
3602 (description
3603 "This package contains the @code{Control.Monad.Fail} module providing the
3604@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3605class that became available in
3606@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3607older @code{base} package versions. This package turns into an empty package
3608when used with GHC versions which already provide the
3609@code{Control.Monad.Fail} module.")
3610 (license license:bsd-3)))
3611
3612(define-public ghc-fast-logger
3613 (package
3614 (name "ghc-fast-logger")
d443a52a 3615 (version "2.4.17")
dddbc90c
RV
3616 (source
3617 (origin
3618 (method url-fetch)
3619 (uri (string-append
3620 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3621 version
3622 ".tar.gz"))
3623 (sha256
3624 (base32
d443a52a 3625 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3626 (build-system haskell-build-system)
3627 (inputs
3628 `(("ghc-auto-update" ,ghc-auto-update)
3629 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3630 ("ghc-unix-time" ,ghc-unix-time)
3631 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3632 (native-inputs
3633 `(("hspec-discover" ,hspec-discover)
3634 ("ghc-hspec" ,ghc-hspec)))
3635 (home-page "https://hackage.haskell.org/package/fast-logger")
3636 (synopsis "Fast logging system")
3637 (description "This library provides a fast logging system for Haskell.")
3638 (license license:bsd-3)))
3639
3640(define-public ghc-feed
3641 (package
3642 (name "ghc-feed")
a41c16dc 3643 (version "1.2.0.1")
dddbc90c
RV
3644 (source
3645 (origin
3646 (method url-fetch)
3647 (uri (string-append "https://hackage.haskell.org/package/"
3648 "feed/feed-" version ".tar.gz"))
3649 (sha256
3650 (base32
a41c16dc 3651 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3652 (build-system haskell-build-system)
dddbc90c
RV
3653 (inputs
3654 `(("ghc-base-compat" ,ghc-base-compat)
3655 ("ghc-old-locale" ,ghc-old-locale)
3656 ("ghc-old-time" ,ghc-old-time)
3657 ("ghc-safe" ,ghc-safe)
3658 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3659 ("ghc-utf8-string" ,ghc-utf8-string)
3660 ("ghc-xml-conduit" ,ghc-xml-conduit)
3661 ("ghc-xml-types" ,ghc-xml-types)))
3662 (native-inputs
3663 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3664 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3665 ("ghc-test-framework" ,ghc-test-framework)
3666 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3667 (home-page "https://github.com/bergmark/feed")
3668 (synopsis "Haskell package for handling various syndication formats")
3669 (description "This Haskell package includes tools for generating and
3670consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3671 (license license:bsd-3)))
3672
3673(define-public ghc-fgl
3674 (package
3675 (name "ghc-fgl")
17482b26 3676 (version "5.7.0.1")
dddbc90c
RV
3677 (outputs '("out" "doc"))
3678 (source
3679 (origin
3680 (method url-fetch)
3681 (uri (string-append
3682 "https://hackage.haskell.org/package/fgl/fgl-"
3683 version
3684 ".tar.gz"))
3685 (sha256
3686 (base32
17482b26 3687 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3688 (build-system haskell-build-system)
3689 (arguments
3690 `(#:phases
3691 (modify-phases %standard-phases
3692 (add-before 'configure 'update-constraints
3693 (lambda _
3694 (substitute* "fgl.cabal"
17482b26
TS
3695 (("QuickCheck >= 2\\.8 && < 2\\.13")
3696 "QuickCheck >= 2.8 && < 2.14")
3697 (("hspec >= 2\\.1 && < 2\\.7")
3698 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3699 (inputs
3700 `(("ghc-hspec" ,ghc-hspec)
3701 ("ghc-quickcheck" ,ghc-quickcheck)))
3702 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3703 (synopsis
3704 "Martin Erwig's Functional Graph Library")
3705 (description "The functional graph library, FGL, is a collection of type
3706and function definitions to address graph problems. The basis of the library
3707is an inductive definition of graphs in the style of algebraic data types that
3708encourages inductive, recursive definitions of graph algorithms.")
3709 (license license:bsd-3)))
3710
3711(define-public ghc-fgl-arbitrary
3712 (package
3713 (name "ghc-fgl-arbitrary")
3714 (version "0.2.0.3")
3715 (source
3716 (origin
3717 (method url-fetch)
3718 (uri (string-append
3719 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3720 version ".tar.gz"))
3721 (sha256
3722 (base32
3723 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3724 (build-system haskell-build-system)
3725 (arguments
3726 `(#:phases
3727 (modify-phases %standard-phases
3728 (add-before 'configure 'update-constraints
3729 (lambda _
3730 (substitute* "fgl-arbitrary.cabal"
3731 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3732 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3733 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3734 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3735 (inputs
3736 `(("ghc-fgl" ,ghc-fgl)
3737 ("ghc-quickcheck" ,ghc-quickcheck)
3738 ("ghc-hspec" ,ghc-hspec)))
3739 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3740 (synopsis "QuickCheck support for fgl")
3741 (description
3742 "Provides Arbitrary instances for fgl graphs to avoid adding a
3743QuickCheck dependency for fgl whilst still making the instances
3744available to others. Also available are non-fgl-specific functions
3745for generating graph-like data structures.")
3746 (license license:bsd-3)))
3747
3748(define-public ghc-file-embed
3749 (package
3750 (name "ghc-file-embed")
b5920d50 3751 (version "0.0.11")
dddbc90c
RV
3752 (source
3753 (origin
3754 (method url-fetch)
3755 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3756 "file-embed-" version ".tar.gz"))
3757 (sha256
3758 (base32
b5920d50 3759 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3760 (build-system haskell-build-system)
3761 (home-page "https://github.com/snoyberg/file-embed")
3762 (synopsis "Use Template Haskell to embed file contents directly")
3763 (description
3764 "This package allows you to use Template Haskell to read a file or all
3765the files in a directory, and turn them into @code{(path, bytestring)} pairs
3766embedded in your Haskell code.")
3767 (license license:bsd-3)))
3768
3769(define-public ghc-filemanip
3770 (package
3771 (name "ghc-filemanip")
3772 (version "0.3.6.3")
3773 (source (origin
3774 (method url-fetch)
3775 (uri (string-append "https://hackage.haskell.org/package/"
3776 "filemanip/filemanip-" version ".tar.gz"))
3777 (sha256
3778 (base32
3779 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3780 (build-system haskell-build-system)
3781 (inputs
3782 `(("ghc-unix-compat" ,ghc-unix-compat)))
3783 (home-page "https://github.com/bos/filemanip")
3784 (synopsis "File and directory manipulation for Haskell")
3785 (description
3786 "This package provides a Haskell library for working with files and
3787directories. It includes code for pattern matching, finding files, modifying
3788file contents, and more.")
3789 (license license:bsd-3)))
3790
3791(define-public ghc-findbin
3792 (package
3793 (name "ghc-findbin")
3794 (version "0.0.5")
3795 (source
3796 (origin
3797 (method url-fetch)
3798 (uri (string-append
3799 "https://hackage.haskell.org/package/FindBin/FindBin-"
3800 version ".tar.gz"))
3801 (sha256
3802 (base32
3803 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3804 (build-system haskell-build-system)
3805 (home-page "https://github.com/audreyt/findbin")
3806 (synopsis "Get the absolute path of the running program")
3807 (description
3808 "This module locates the full directory of the running program, to allow
3809the use of paths relative to it. FindBin supports invocation of Haskell
3810programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3811an executable.")
3812 (license license:bsd-3)))
3813
3814(define-public ghc-fingertree
3815 (package
3816 (name "ghc-fingertree")
aac14fdc 3817 (version "0.1.4.2")
dddbc90c
RV
3818 (source
3819 (origin
3820 (method url-fetch)
3821 (uri (string-append
3822 "https://hackage.haskell.org/package/fingertree/fingertree-"
3823 version ".tar.gz"))
3824 (sha256
3825 (base32
aac14fdc 3826 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3827 (build-system haskell-build-system)
3828 (native-inputs
3829 `(("ghc-hunit" ,ghc-hunit)
3830 ("ghc-quickcheck" ,ghc-quickcheck)
3831 ("ghc-test-framework" ,ghc-test-framework)
3832 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3833 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3834 (home-page "https://hackage.haskell.org/package/fingertree")
3835 (synopsis "Generic finger-tree structure")
3836 (description "This library provides finger trees, a general sequence
3837representation with arbitrary annotations, for use as a base for
3838implementations of various collection types. It includes examples, as
3839described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3840simple general-purpose data structure\".")
3841 (license license:bsd-3)))
3842
3843(define-public ghc-fixed
3844 (package
3845 (name "ghc-fixed")
099dda5b 3846 (version "0.3")
dddbc90c
RV
3847 (source
3848 (origin
3849 (method url-fetch)
3850 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3851 version ".tar.gz"))
3852 (sha256
3853 (base32
099dda5b 3854 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3855 (build-system haskell-build-system)
3856 (home-page "https://github.com/ekmett/fixed")
3857 (synopsis "Signed 15.16 precision fixed point arithmetic")
3858 (description
3859 "This package provides functions for signed 15.16 precision fixed point
3860arithmetic.")
3861 (license license:bsd-3)))
3862
f169f713
JS
3863(define-public ghc-fmlist
3864 (package
3865 (name "ghc-fmlist")
fe9b83a6 3866 (version "0.9.3")
f169f713
JS
3867 (source
3868 (origin
3869 (method url-fetch)
3870 (uri
3871 (string-append
3872 "https://hackage.haskell.org/package/fmlist/fmlist-"
3873 version ".tar.gz"))
3874 (sha256
3875 (base32
fe9b83a6 3876 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3877 (build-system haskell-build-system)
3878 (home-page "https://github.com/sjoerdvisscher/fmlist")
3879 (synopsis "FoldMap lists")
3880 (description "FoldMap lists are lists represented by their
3881@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3882append, just like DLists, but other operations might have favorable
3883performance characteristics as well. These wild claims are still
3884completely unverified though.")
3885 (license license:bsd-3)))
3886
dddbc90c
RV
3887(define-public ghc-foldl
3888 (package
3889 (name "ghc-foldl")
26c4104f 3890 (version "1.4.5")
dddbc90c
RV
3891 (source
3892 (origin
3893 (method url-fetch)
3894 (uri (string-append "https://hackage.haskell.org/package/"
3895 "foldl-" version "/"
3896 "foldl-" version ".tar.gz"))
3897 (sha256
3898 (base32
26c4104f 3899 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
3900 (build-system haskell-build-system)
3901 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3902 ("ghc-primitive" ,ghc-primitive)
3903 ("ghc-vector" ,ghc-vector)
3904 ("ghc-unordered-containers" ,ghc-unordered-containers)
3905 ("ghc-hashable" ,ghc-hashable)
3906 ("ghc-contravariant" ,ghc-contravariant)
3907 ("ghc-semigroups" ,ghc-semigroups)
3908 ("ghc-profunctors" ,ghc-profunctors)
3909 ("ghc-semigroupoids" ,ghc-semigroupoids)
3910 ("ghc-comonad" ,ghc-comonad)
3911 ("ghc-vector-builder" ,ghc-vector-builder)))
3912 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3913 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3914 (description "This Haskell library provides strict left folds that stream
3915in constant memory, and you can combine folds using @code{Applicative} style
3916to derive new folds. Derived folds still traverse the container just once
3917and are often as efficient as hand-written folds.")
3918 (license license:bsd-3)))
3919
3920(define-public ghc-foundation
3921 (package
3922 (name "ghc-foundation")
0a702df9 3923 (version "0.0.25")
dddbc90c
RV
3924 (source
3925 (origin
3926 (method url-fetch)
3927 (uri (string-append "https://hackage.haskell.org/package/"
3928 "foundation/foundation-" version ".tar.gz"))
3929 (sha256
3930 (base32
0a702df9 3931 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3932 (build-system haskell-build-system)
3933 (inputs `(("ghc-basement" ,ghc-basement)))
3934 (home-page "https://github.com/haskell-foundation/foundation")
3935 (synopsis "Alternative prelude with batteries and no dependencies")
3936 (description
3937 "This package provides a custom prelude with no dependencies apart from
3938the base package.
3939
3940Foundation has the following goals:
3941
3942@enumerate
3943@item provide a base like sets of modules that provide a consistent set of
3944 features and bugfixes across multiple versions of GHC (unlike base).
3945@item provide a better and more efficient prelude than base's prelude.
3946@item be self-sufficient: no external dependencies apart from base;
3947@item provide better data-types: packed unicode string by default, arrays;
3948@item Numerical classes that better represent mathematical things (no more
3949 all-in-one @code{Num});
3950@item I/O system with less lazy IO.
3951@end enumerate\n")
3952 (license license:bsd-3)))
3953
3954(define-public ghc-free
3955 (package
3956 (name "ghc-free")
4081565d 3957 (version "5.1.2")
dddbc90c
RV
3958 (source
3959 (origin
3960 (method url-fetch)
3961 (uri (string-append
3962 "https://hackage.haskell.org/package/free/free-"
3963 version
3964 ".tar.gz"))
3965 (sha256
3966 (base32
4081565d 3967 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
3968 (build-system haskell-build-system)
3969 (inputs
3970 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3971 ("ghc-profunctors" ,ghc-profunctors)
3972 ("ghc-exceptions" ,ghc-exceptions)
3973 ("ghc-bifunctors" ,ghc-bifunctors)
3974 ("ghc-comonad" ,ghc-comonad)
3975 ("ghc-distributive" ,ghc-distributive)
3976 ("ghc-semigroupoids" ,ghc-semigroupoids)
3977 ("ghc-semigroups" ,ghc-semigroups)
3978 ("ghc-transformers-base" ,ghc-transformers-base)
3979 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3980 (home-page "https://github.com/ekmett/free/")
3981 (synopsis "Unrestricted monads for Haskell")
3982 (description "This library provides free monads, which are useful for many
3983tree-like structures and domain specific languages. If @code{f} is a
3984@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3985whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3986is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3987f} makes no constraining assumptions beyond those given by @code{f} and the
3988definition of @code{Monad}.")
3989 (license license:bsd-3)))
3990
3991(define-public ghc-fsnotify
3992 (package
3993 (name "ghc-fsnotify")
3994 (version "0.3.0.1")
3995 (source (origin
3996 (method url-fetch)
3997 (uri (string-append
3998 "https://hackage.haskell.org/package/fsnotify/"
3999 "fsnotify-" version ".tar.gz"))
4000 (sha256
4001 (base32
4002 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4003 (build-system haskell-build-system)
4004 (inputs
4005 `(("ghc-async" ,ghc-async)
4006 ("ghc-unix-compat" ,ghc-unix-compat)
4007 ("ghc-hinotify" ,ghc-hinotify)
4008 ("ghc-tasty" ,ghc-tasty)
4009 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4010 ("ghc-random" ,ghc-random)
4011 ("ghc-shelly" ,ghc-shelly)
4012 ("ghc-temporary" ,ghc-temporary)))
4013 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4014 (synopsis "Cross platform library for file change notification.")
4015 (description "Cross platform library for file creation, modification, and
4016deletion notification. This library builds upon existing libraries for platform
4017specific Windows, Mac, and Linux file system event notification.")
4018 (license license:bsd-3)))
4019
4020(define-public ghc-generic-deriving
4021 (package
4022 (name "ghc-generic-deriving")
55c1e6be 4023 (version "1.12.4")
dddbc90c
RV
4024 (source
4025 (origin
4026 (method url-fetch)
4027 (uri (string-append
4028 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4029 version
4030 ".tar.gz"))
4031 (sha256
4032 (base32
55c1e6be 4033 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4034 (build-system haskell-build-system)
4035 (inputs
4036 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4037 (native-inputs
4038 `(("ghc-hspec" ,ghc-hspec)
4039 ("hspec-discover" ,hspec-discover)))
4040 (home-page "https://hackage.haskell.org/package/generic-deriving")
4041 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4042 (description "This package provides functionality for generalising the
4043deriving mechanism in Haskell to arbitrary classes.")
4044 (license license:bsd-3)))
4045
4046(define-public ghc-generics-sop
4047 (package
4048 (name "ghc-generics-sop")
3ed40e10 4049 (version "0.4.0.1")
dddbc90c
RV
4050 (source
4051 (origin
4052 (method url-fetch)
4053 (uri (string-append "https://hackage.haskell.org/package/"
4054 "generics-sop-" version "/"
4055 "generics-sop-" version ".tar.gz"))
4056 (sha256
4057 (base32
3ed40e10 4058 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4059 (build-system haskell-build-system)
3ed40e10
TS
4060 (inputs
4061 `(("ghc-sop-core" ,ghc-sop-core)
4062 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4063 (home-page "https://github.com/well-typed/generics-sop")
4064 (synopsis "Generic Programming using True Sums of Products for Haskell")
4065 (description "This Haskell package supports the definition of generic
4066functions. Datatypes are viewed in a uniform, structured way: the choice
4067between constructors is represented using an n-ary sum, and the arguments of
4068each constructor are represented using an n-ary product.")
4069 (license license:bsd-3)))
4070
4071(define-public ghc-geniplate-mirror
4072 (package
4073 (name "ghc-geniplate-mirror")
4074 (version "0.7.6")
4075 (source
4076 (origin
4077 (method url-fetch)
4078 (uri (string-append "https://hackage.haskell.org/package"
4079 "/geniplate-mirror"
4080 "/geniplate-mirror-" version ".tar.gz"))
4081 (sha256
4082 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4083 (build-system haskell-build-system)
74a7dd7f
TS
4084 (arguments
4085 `(#:cabal-revision
4086 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4087 (home-page "https://github.com/danr/geniplate")
4088 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4089 (description
4090 "Use Template Haskell to generate Uniplate-like functions. This is a
4091maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4092geniplate} package, written by Lennart Augustsson.")
4093 (license license:bsd-3)))
4094
4095(define-public ghc-genvalidity
4096 (package
4097 (name "ghc-genvalidity")
920f44a1 4098 (version "0.8.0.0")
dddbc90c
RV
4099 (source
4100 (origin
4101 (method url-fetch)
4102 (uri (string-append
4103 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4104 version
4105 ".tar.gz"))
4106 (sha256
4107 (base32
920f44a1 4108 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4109 (build-system haskell-build-system)
4110 (inputs
4111 `(("ghc-quickcheck" ,ghc-quickcheck)
4112 ("ghc-validity" ,ghc-validity)))
4113 (native-inputs
4114 `(("ghc-hspec" ,ghc-hspec)
4115 ("hspec-discover" ,hspec-discover)
4116 ("ghc-hspec-core" ,ghc-hspec-core)))
4117 (home-page
4118 "https://github.com/NorfairKing/validity")
4119 (synopsis
4120 "Testing utilities for the @code{validity} library")
4121 (description
4122 "This package provides testing utilities that are useful in conjunction
4123with the @code{Validity} typeclass.")
4124 (license license:expat)))
4125
4126(define-public ghc-genvalidity-property
4127 (package
4128 (name "ghc-genvalidity-property")
e4ede35b 4129 (version "0.4.0.0")
dddbc90c
RV
4130 (source
4131 (origin
4132 (method url-fetch)
4133 (uri (string-append
4134 "https://hackage.haskell.org/package/"
4135 "genvalidity-property/genvalidity-property-"
4136 version
4137 ".tar.gz"))
4138 (sha256
4139 (base32
e4ede35b 4140 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4141 (build-system haskell-build-system)
4142 (inputs
4143 `(("ghc-quickcheck" ,ghc-quickcheck)
4144 ("ghc-genvalidity" ,ghc-genvalidity)
4145 ("ghc-hspec" ,ghc-hspec)
4146 ("hspec-discover" ,hspec-discover)
4147 ("ghc-validity" ,ghc-validity)))
4148 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4149 (home-page
4150 "https://github.com/NorfairKing/validity")
4151 (synopsis
4152 "Standard properties for functions on @code{Validity} types")
4153 (description
4154 "This package supplements the @code{Validity} typeclass with standard
4155properties for functions operating on them.")
4156 (license license:expat)))
4157
e71fb573
TS
4158(define-public ghc-getopt-generics
4159 (package
4160 (name "ghc-getopt-generics")
4161 (version "0.13.0.4")
4162 (source
4163 (origin
4164 (method url-fetch)
4165 (uri (string-append "https://hackage.haskell.org/package/"
4166 "getopt-generics/getopt-generics-"
4167 version ".tar.gz"))
4168 (sha256
4169 (base32
4170 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4171 (build-system haskell-build-system)
4172 (inputs
4173 `(("ghc-base-compat" ,ghc-base-compat)
4174 ("ghc-base-orphans" ,ghc-base-orphans)
4175 ("ghc-generics-sop" ,ghc-generics-sop)
4176 ("ghc-tagged" ,ghc-tagged)))
4177 (native-inputs
4178 `(("ghc-quickcheck" ,ghc-quickcheck)
4179 ("ghc-hspec" ,ghc-hspec)
4180 ("ghc-safe" ,ghc-safe)
4181 ("ghc-silently" ,ghc-silently)
4182 ("hspec-discover" ,hspec-discover)))
4183 (home-page "https://github.com/soenkehahn/getopt-generics")
4184 (synopsis "Create command line interfaces with ease")
4185 (description "This library provides tools to create command line
4186interfaces with ease.")
4187 (license license:bsd-3)))
4188
dddbc90c
RV
4189(define-public ghc-gitrev
4190 (package
4191 (name "ghc-gitrev")
4192 (version "1.3.1")
4193 (source
4194 (origin
4195 (method url-fetch)
4196 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4197 version ".tar.gz"))
4198 (sha256
4199 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4200 (build-system haskell-build-system)
4201 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4202 (home-page "https://github.com/acfoltzer/gitrev")
4203 (synopsis "Compile git revision info into Haskell projects")
4204 (description
4205 "This package provides some handy Template Haskell splices for including
4206the current git hash and branch in the code of your project. This is useful
4207for including in panic messages, @command{--version} output, or diagnostic
4208info for more informative bug reports.")
4209 (license license:bsd-3)))
4210
4211(define-public ghc-glob
4212 (package
4213 (name "ghc-glob")
b900f486 4214 (version "0.10.0")
dddbc90c
RV
4215 (source
4216 (origin
4217 (method url-fetch)
4218 (uri (string-append "https://hackage.haskell.org/package/"
4219 "Glob-" version "/"
4220 "Glob-" version ".tar.gz"))
4221 (sha256
4222 (base32
b900f486 4223 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4224 (build-system haskell-build-system)
4225 (inputs
4226 `(("ghc-dlist" ,ghc-dlist)
4227 ("ghc-semigroups" ,ghc-semigroups)
4228 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4229 (native-inputs
4230 `(("ghc-hunit" ,ghc-hunit)
4231 ("ghc-quickcheck" ,ghc-quickcheck)
4232 ("ghc-test-framework" ,ghc-test-framework)
4233 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4234 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4235 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4236 (synopsis "Haskell library matching glob patterns against file paths")
4237 (description "This package provides a Haskell library for @dfn{globbing}:
4238matching patterns against file paths.")
4239 (license license:bsd-3)))
4240
4241(define-public ghc-gluraw
4242 (package
4243 (name "ghc-gluraw")
4244 (version "2.0.0.4")
4245 (source
4246 (origin
4247 (method url-fetch)
4248 (uri (string-append
4249 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4250 version
4251 ".tar.gz"))
4252 (sha256
4253 (base32
4254 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4255 (build-system haskell-build-system)
4256 (inputs
4257 `(("ghc-openglraw" ,ghc-openglraw)))
4258 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4259 (synopsis "Raw Haskell bindings GLU")
4260 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4261utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4262basis for a nicer interface.")
4263 (license license:bsd-3)))
4264
4265(define-public ghc-glut
4266 (package
4267 (name "ghc-glut")
8284bd09 4268 (version "2.7.0.15")
dddbc90c
RV
4269 (source
4270 (origin
4271 (method url-fetch)
4272 (uri (string-append
4273 "https://hackage.haskell.org/package/GLUT/GLUT-"
4274 version
4275 ".tar.gz"))
4276 (sha256
4277 (base32
8284bd09 4278 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4279 (build-system haskell-build-system)
4280 (inputs
4281 `(("ghc-statevar" ,ghc-statevar)
4282 ("ghc-opengl" ,ghc-opengl)
4283 ("ghc-openglraw" ,ghc-openglraw)
4284 ("freeglut" ,freeglut)))
4285 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4286 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4287 (description "This library provides Haskell bindings for the OpenGL
4288Utility Toolkit, a window system-independent toolkit for writing OpenGL
4289programs.")
4290 (license license:bsd-3)))
4291
4292(define-public ghc-gnuplot
4293 (package
4294 (name "ghc-gnuplot")
d34860c7 4295 (version "0.5.6")
dddbc90c
RV
4296 (source
4297 (origin
4298 (method url-fetch)
4299 (uri (string-append
4300 "mirror://hackage/package/gnuplot/gnuplot-"
4301 version ".tar.gz"))
4302 (sha256
d34860c7 4303 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4304 (build-system haskell-build-system)
4305 (inputs
4306 `(("ghc-temporary" ,ghc-temporary)
4307 ("ghc-utility-ht" ,ghc-utility-ht)
4308 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4309 ("ghc-data-accessor" ,ghc-data-accessor)
4310 ("ghc-semigroups" ,ghc-semigroups)
4311 ("gnuplot" ,gnuplot)))
4312 (arguments
4313 `(#:phases
4314 (modify-phases %standard-phases
4315 (add-before 'configure 'fix-path-to-gnuplot
4316 (lambda* (#:key inputs #:allow-other-keys)
4317 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4318 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4319 (("(gnuplotName = ).*$" all cmd)
4320 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4321 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4322 (synopsis "2D and 3D plots using gnuplot")
4323 (description "This package provides a Haskell module for creating 2D and
43243D plots using gnuplot.")
4325 (license license:bsd-3)))
4326
4327(define-public ghc-graphviz
4328 (package
4329 (name "ghc-graphviz")
c264bd42 4330 (version "2999.20.0.3")
dddbc90c
RV
4331 (source (origin
4332 (method url-fetch)
4333 (uri (string-append "https://hackage.haskell.org/package/"
4334 "graphviz/graphviz-" version ".tar.gz"))
4335 (sha256
4336 (base32
c264bd42 4337 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4338 (build-system haskell-build-system)
c264bd42
TS
4339 (arguments
4340 `(#:phases
4341 (modify-phases %standard-phases
4342 (add-before 'configure 'update-constraints
4343 (lambda _
4344 (substitute* "graphviz.cabal"
4345 (("QuickCheck >= 2\\.3 && < 2\\.13")
4346 "QuickCheck >= 2.3 && < 2.14")
4347 (("hspec >= 2\\.1 && < 2\\.7")
4348 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4349 (inputs
4350 `(("ghc-quickcheck" ,ghc-quickcheck)
4351 ("ghc-colour" ,ghc-colour)
4352 ("ghc-dlist" ,ghc-dlist)
4353 ("ghc-fgl" ,ghc-fgl)
4354 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4355 ("ghc-polyparse" ,ghc-polyparse)
4356 ("ghc-temporary" ,ghc-temporary)
4357 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4358 (native-inputs
4359 `(("ghc-hspec" ,ghc-hspec)
4360 ("graphviz" ,graphviz)
4361 ("hspec-discover" ,hspec-discover)))
4362 (home-page "https://hackage.haskell.org/package/graphviz")
4363 (synopsis "Bindings to Graphviz for graph visualisation")
4364 (description
4365 "This library provides bindings for the Dot language used by
4366the @uref{https://graphviz.org/, Graphviz} suite of programs for
4367visualising graphs, as well as functions to call those programs.
4368Main features of the graphviz library include:
4369
4370@enumerate
4371@item Almost complete coverage of all Graphviz attributes and syntax
4372@item Support for specifying clusters
4373@item The ability to use a custom node type
4374@item Functions for running a Graphviz layout tool with all specified output types
4375@item Generate and parse Dot code with two options: strict and liberal
4376@item Functions to convert FGL graphs and other graph-like data structures
4377@item Round-trip support for passing an FGL graph through Graphviz to augment node
4378and edge labels with positional information, etc.
4379@end enumerate\n")
4380 (license license:bsd-3)))
4381
f3e18645
TS
4382(define-public ghc-groups
4383 (package
4384 (name "ghc-groups")
4385 (version "0.4.1.0")
4386 (source
4387 (origin
4388 (method url-fetch)
4389 (uri (string-append "https://hackage.haskell.org/package/"
4390 "groups/groups-" version ".tar.gz"))
4391 (sha256
4392 (base32
4393 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4394 (build-system haskell-build-system)
4395 (home-page "https://hackage.haskell.org/package/groups")
4396 (synopsis "Haskell 98 groups")
4397 (description "This package provides Haskell 98 groups. A group is a
4398monoid with invertibility.")
4399 (license license:bsd-3)))
4400
dddbc90c
RV
4401(define-public ghc-gtk2hs-buildtools
4402 (package
4403 (name "ghc-gtk2hs-buildtools")
b79b43d4 4404 (version "0.13.5.4")
dddbc90c
RV
4405 (source
4406 (origin
4407 (method url-fetch)
4408 (uri (string-append "https://hackage.haskell.org/package/"
4409 "gtk2hs-buildtools/gtk2hs-buildtools-"
4410 version ".tar.gz"))
4411 (sha256
4412 (base32
b79b43d4 4413 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4414 (build-system haskell-build-system)
4415 (inputs
4416 `(("ghc-random" ,ghc-random)
4417 ("ghc-hashtables" ,ghc-hashtables)))
4418 (native-inputs
4419 `(("ghc-alex" ,ghc-alex)
4420 ("ghc-happy" ,ghc-happy)))
4421 (home-page "http://projects.haskell.org/gtk2hs/")
4422 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4423 (description
4424 "This package provides a set of helper programs necessary to build the
4425Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4426that is used to generate FFI declarations, a tool to build a type hierarchy
4427that mirrors the C type hierarchy of GObjects found in glib, and a generator
4428for signal declarations that are used to call back from C to Haskell. These
4429tools are not needed to actually run Gtk2Hs programs.")
4430 (license license:gpl2)))
4431
4432(define-public ghc-hackage-security
4433 (package
4434 (name "ghc-hackage-security")
4435 (version "0.5.3.0")
4436 (source
4437 (origin
4438 (method url-fetch)
4439 (uri (string-append "https://hackage.haskell.org/package/"
4440 "hackage-security/hackage-security-"
4441 version ".tar.gz"))
4442 (sha256
4443 (base32
4444 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4445 (build-system haskell-build-system)
4446 (arguments
034380f3
TS
4447 `(#:cabal-revision
4448 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4449 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4450 (inputs
4451 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4452 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4453 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4454 ("ghc-ed25519" ,ghc-ed25519)
4455 ("ghc-network" ,ghc-network)
4456 ("ghc-network-uri" ,ghc-network-uri)
4457 ("ghc-tar" ,ghc-tar)
4458 ("ghc-zlib" ,ghc-zlib)))
4459 (native-inputs
4460 `(("ghc-network-uri" ,ghc-network-uri)
4461 ("ghc-quickcheck" ,ghc-quickcheck)
4462 ("ghc-tar" ,ghc-tar)
4463 ("ghc-tasty" ,ghc-tasty)
4464 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4465 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4466 ("ghc-temporary" ,ghc-temporary)
4467 ("ghc-zlib" ,ghc-zlib)))
4468 (home-page "https://github.com/haskell/hackage-security")
4469 (synopsis "Hackage security library")
4470 (description "This Hackage security library provides both server and
4471client utilities for securing @uref{http://hackage.haskell.org/, the
4472Hackage package server}. It is based on
4473@uref{http://theupdateframework.com/, The Update Framework}, a set of
4474recommendations developed by security researchers at various universities
4475in the US as well as developers on the @uref{https://www.torproject.org/,
4476Tor project}.")
4477 (license license:bsd-3)))
4478
4479(define-public ghc-haddock
4480 (package
4481 (name "ghc-haddock")
4482 (version "2.19.0.1")
4483 (source
4484 (origin
4485 (method url-fetch)
4486 (uri (string-append
4487 "https://hackage.haskell.org/package/haddock/haddock-"
4488 version
4489 ".tar.gz"))
4490 (sha256
4491 (base32
4492 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4493 (build-system haskell-build-system)
4494 (arguments
4495 `(#:phases
4496 (modify-phases %standard-phases
4497 ;; There are four test suites that require the ghc-haddock-test
4498 ;; package, which no longer builds with GHC 8.4.3. This phase
4499 ;; removes these four test suites from the Cabal file, so that we
4500 ;; do not need ghc-haddock-test as an input.
4501 (add-before 'configure 'remove-haddock-test-test-suites
4502 (lambda _
4503 (use-modules (ice-9 rdelim))
4504 (with-atomic-file-replacement "haddock.cabal"
4505 (lambda (in out)
4506 (let loop ((line (read-line in 'concat)) (deleting? #f))
4507 (cond
4508 ((eof-object? line) #t)
4509 ((string-every char-set:whitespace line)
4510 (unless deleting? (display line out))
4511 (loop (read-line in 'concat) #f))
4512 ((member line '("test-suite html-test\n"
4513 "test-suite hypsrc-test\n"
4514 "test-suite latex-test\n"
4515 "test-suite hoogle-test\n"))
4516 (loop (read-line in 'concat) #t))
4517 (else
4518 (unless deleting? (display line out))
4519 (loop (read-line in 'concat) deleting?)))))))))))
4520 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4521 (native-inputs
4522 `(("ghc-hspec" ,ghc-hspec)))
4523 (home-page "https://www.haskell.org/haddock/")
4524 (synopsis
4525 "Documentation-generation tool for Haskell libraries")
4526 (description
4527 "Haddock is a documentation-generation tool for Haskell libraries.")
4528 (license license:bsd-3)))
4529
4530(define-public ghc-haddock-api
4531 (package
4532 (name "ghc-haddock-api")
4533 (version "2.19.0.1")
4534 (source
4535 (origin
4536 (method url-fetch)
4537 (uri (string-append
4538 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4539 version
4540 ".tar.gz"))
4541 (sha256
4542 (base32
4543 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4544 (build-system haskell-build-system)
4545 (arguments
4546 `(#:phases
4547 (modify-phases %standard-phases
4548 (add-before 'configure 'update-constraints
4549 (lambda _
4550 (substitute* "haddock-api.cabal"
4551 (("Cabal \\^>= 2\\.0\\.0")
4552 "Cabal ^>= 2.2.0")
4553 (("hspec \\^>= 2\\.4\\.4")
4554 "hspec >= 2.4.4 && < 2.6")))))))
4555 (inputs
4556 `(("ghc-paths" ,ghc-paths)
4557 ("ghc-haddock-library" ,ghc-haddock-library)))
4558 (native-inputs
4559 `(("ghc-quickcheck" ,ghc-quickcheck)
4560 ("ghc-hspec" ,ghc-hspec)
4561 ("hspec-discover" ,hspec-discover)))
4562 (home-page "https://www.haskell.org/haddock/")
4563 (synopsis "API for documentation-generation tool Haddock")
4564 (description "This package provides an API to Haddock, the
4565documentation-generation tool for Haskell libraries.")
4566 (license license:bsd-3)))
4567
4568(define-public ghc-haddock-library
4569 (package
4570 (name "ghc-haddock-library")
10707d57 4571 (version "1.7.0")
dddbc90c
RV
4572 (source
4573 (origin
4574 (method url-fetch)
4575 (uri (string-append
4576 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4577 version
4578 ".tar.gz"))
4579 (sha256
4580 (base32
10707d57 4581 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4582 (build-system haskell-build-system)
4583 (arguments
4584 `(#:phases
4585 (modify-phases %standard-phases
10707d57
TS
4586 ;; Since there is no revised Cabal file upstream, we have to
4587 ;; patch it manually.
dddbc90c
RV
4588 (add-before 'configure 'relax-test-suite-dependencies
4589 (lambda _
4590 (substitute* "haddock-library.cabal"
10707d57
TS
4591 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4592 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4593 #t)))))
4594 (native-inputs
4595 `(("ghc-base-compat" ,ghc-base-compat)
4596 ("ghc-hspec" ,ghc-hspec)
4597 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4598 ("ghc-quickcheck" ,ghc-quickcheck)
4599 ("ghc-tree-diff" ,ghc-tree-diff)
4600 ("hspec-discover" ,hspec-discover)))
4601 (home-page "https://www.haskell.org/haddock/")
4602 (synopsis "Library exposing some functionality of Haddock")
4603 (description
4604 "Haddock is a documentation-generation tool for Haskell libraries. These
4605modules expose some functionality of it without pulling in the GHC dependency.
4606Please note that the API is likely to change so specify upper bounds in your
4607project if you can't release often. For interacting with Haddock itself, see
4608the ‘haddock’ package.")
4609 (license license:bsd-3)))
4610
4611(define-public ghc-half
4612 (package
4613 (name "ghc-half")
4614 (version "0.3")
4615 (source
4616 (origin
4617 (method url-fetch)
4618 (uri (string-append
4619 "https://hackage.haskell.org/package/half/half-"
4620 version ".tar.gz"))
4621 (sha256
4622 (base32
4623 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4624 (build-system haskell-build-system)
4625 (native-inputs
4626 `(("ghc-hspec" ,ghc-hspec)
4627 ("ghc-quickcheck" ,ghc-quickcheck)))
4628 (home-page "https://github.com/ekmett/half")
4629 (synopsis "Half-precision floating-point computations")
4630 (description "This library provides a half-precision floating-point
4631computation library for Haskell.")
4632 (license license:bsd-3)))
4633
4634(define-public ghc-happy
4635 (package
4636 (name "ghc-happy")
90e7b0e4 4637 (version "1.19.12")
dddbc90c
RV
4638 (source
4639 (origin
4640 (method url-fetch)
4641 (uri (string-append
4642 "https://hackage.haskell.org/package/happy/happy-"
4643 version
4644 ".tar.gz"))
4645 (sha256
4646 (base32
90e7b0e4 4647 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4648 (build-system haskell-build-system)
4649 (arguments
4650 `(#:phases
4651 (modify-phases %standard-phases
4652 (add-after 'unpack 'skip-test-issue93
4653 (lambda _
4654 ;; Tests run out of memory on a system with 2GB of available RAM,
4655 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4656 (substitute* "tests/Makefile"
4657 ((" issue93.y ") " "))
4658 #t)))))
4659 (home-page "https://hackage.haskell.org/package/happy")
4660 (synopsis "Parser generator for Haskell")
4661 (description "Happy is a parser generator for Haskell. Given a grammar
4662specification in BNF, Happy generates Haskell code to parse the grammar.
4663Happy works in a similar way to the yacc tool for C.")
4664 (license license:bsd-3)))
4665
4666(define-public ghc-hashable
4667 (package
4668 (name "ghc-hashable")
4669 (version "1.2.7.0")
4670 (outputs '("out" "doc"))
4671 (source
4672 (origin
4673 (method url-fetch)
4674 (uri (string-append
4675 "https://hackage.haskell.org/package/hashable/hashable-"
4676 version
4677 ".tar.gz"))
4678 (sha256
4679 (base32
4680 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4681 (build-system haskell-build-system)
65a16a45
TS
4682 (arguments
4683 `(#:cabal-revision
4684 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4685 (inputs
4686 `(("ghc-random" ,ghc-random)))
4687 (native-inputs
4688 `(("ghc-test-framework" ,ghc-test-framework)
4689 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4690 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4691 ("ghc-hunit" ,ghc-hunit)
4692 ("ghc-quickcheck" ,ghc-quickcheck)))
4693 (home-page "https://github.com/tibbe/hashable")
4694 (synopsis "Class for types that can be converted to a hash value")
4695 (description
4696 "This package defines a class, @code{Hashable}, for types that can be
4697converted to a hash value. This class exists for the benefit of hashing-based
4698data structures. The package provides instances for basic types and a way to
4699combine hash values.")
4700 (license license:bsd-3)))
4701
4702(define-public ghc-hashable-bootstrap
4703 (package
4704 (inherit ghc-hashable)
4705 (name "ghc-hashable-bootstrap")
65a16a45
TS
4706 (arguments
4707 `(#:tests? #f
4708 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4709 (native-inputs '())
4710 (properties '((hidden? #t)))))
4711
4712(define-public ghc-hashable-time
4713 (package
4714 (name "ghc-hashable-time")
f5051e31 4715 (version "0.2.0.2")
dddbc90c
RV
4716 (source
4717 (origin
4718 (method url-fetch)
4719 (uri (string-append
4720 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4721 version
4722 ".tar.gz"))
4723 (sha256
4724 (base32
f5051e31 4725 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4726 (build-system haskell-build-system)
4727 (arguments
4728 `(#:cabal-revision
f5051e31 4729 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4730 (inputs `(("ghc-hashable" ,ghc-hashable)))
4731 (home-page "http://hackage.haskell.org/package/hashable-time")
4732 (synopsis "Hashable instances for Data.Time")
4733 (description
4734 "This package provides @code{Hashable} instances for types in
4735@code{Data.Time}.")
4736 (license license:bsd-3)))
4737
4738(define-public ghc-hashtables
4739 (package
4740 (name "ghc-hashtables")
19edf0d0 4741 (version "1.2.3.4")
dddbc90c
RV
4742 (source
4743 (origin
4744 (method url-fetch)
4745 (uri (string-append
4746 "https://hackage.haskell.org/package/hashtables/hashtables-"
4747 version ".tar.gz"))
4748 (sha256
19edf0d0 4749 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4750 (build-system haskell-build-system)
4751 (inputs
4752 `(("ghc-hashable" ,ghc-hashable)
4753 ("ghc-primitive" ,ghc-primitive)
4754 ("ghc-vector" ,ghc-vector)))
4755 (home-page "https://github.com/gregorycollins/hashtables")
4756 (synopsis "Haskell Mutable hash tables in the ST monad")
4757 (description "This package provides a Haskell library including a
4758couple of different implementations of mutable hash tables in the ST
4759monad, as well as a typeclass abstracting their common operations, and
4760a set of wrappers to use the hash tables in the IO monad.")
4761 (license license:bsd-3)))
4762
4763(define-public ghc-haskell-lexer
4764 (package
4765 (name "ghc-haskell-lexer")
4766 (version "1.0.2")
4767 (source
4768 (origin
4769 (method url-fetch)
4770 (uri (string-append
4771 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4772 version ".tar.gz"))
4773 (sha256
4774 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4775 (build-system haskell-build-system)
4776 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4777 (synopsis "Fully compliant Haskell 98 lexer")
4778 (description
4779 "This package provides a fully compliant Haskell 98 lexer.")
4780 (license license:bsd-3)))
4781
4782(define-public ghc-haskell-src
4783 (package
4784 (name "ghc-haskell-src")
4785 (version "1.0.3.0")
4786 (source
4787 (origin
4788 (method url-fetch)
4789 (uri (string-append
4790 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4791 version
4792 ".tar.gz"))
4793 (sha256
4794 (base32
4795 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4796 (build-system haskell-build-system)
4797 (inputs
4798 `(("ghc-happy" ,ghc-happy)
4799 ("ghc-syb" ,ghc-syb)))
4800 (home-page
4801 "https://hackage.haskell.org/package/haskell-src")
4802 (synopsis
4803 "Support for manipulating Haskell source code")
4804 (description
4805 "The @code{haskell-src} package provides support for manipulating Haskell
4806source code. The package provides a lexer, parser and pretty-printer, and a
4807definition of a Haskell abstract syntax tree (AST). Common uses of this
4808package are to parse or generate Haskell 98 code.")
4809 (license license:bsd-3)))
4810
4811(define-public ghc-haskell-src-exts
4812 (package
4813 (name "ghc-haskell-src-exts")
37a05591 4814 (version "1.21.1")
dddbc90c
RV
4815 (source
4816 (origin
4817 (method url-fetch)
4818 (uri (string-append
4819 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4820 version
4821 ".tar.gz"))
4822 (sha256
4823 (base32
37a05591 4824 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4825 (build-system haskell-build-system)
4826 (inputs
4827 `(("cpphs" ,cpphs)
4828 ("ghc-happy" ,ghc-happy)
4829 ("ghc-pretty-show" ,ghc-pretty-show)))
4830 (native-inputs
4831 `(("ghc-smallcheck" ,ghc-smallcheck)
4832 ("ghc-tasty" ,ghc-tasty)
4833 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4834 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4835 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4836 (synopsis "Library for manipulating Haskell source")
4837 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4838extension of the standard @code{haskell-src} package, and handles most
4839registered syntactic extensions to Haskell. All extensions implemented in GHC
4840are supported. Apart from these standard extensions, it also handles regular
4841patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4842 (license license:bsd-3)))
4843
4844(define-public ghc-haskell-src-exts-util
4845 (package
4846 (name "ghc-haskell-src-exts-util")
77355bdf 4847 (version "0.2.5")
dddbc90c
RV
4848 (source
4849 (origin
4850 (method url-fetch)
4851 (uri (string-append "https://hackage.haskell.org/package/"
4852 "haskell-src-exts-util/haskell-src-exts-util-"
4853 version ".tar.gz"))
4854 (sha256
4855 (base32
77355bdf 4856 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4857 (build-system haskell-build-system)
4858 (inputs
4859 `(("ghc-data-default" ,ghc-data-default)
4860 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4861 ("ghc-semigroups" ,ghc-semigroups)
4862 ("ghc-uniplate" ,ghc-uniplate)))
4863 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4864 (synopsis "Helper functions for working with haskell-src-exts trees")
4865 (description
4866 "This package provides helper functions for working with
4867@code{haskell-src-exts} trees.")
4868 (license license:bsd-3)))
4869
4870(define-public ghc-haskell-src-meta
4871 (package
4872 (name "ghc-haskell-src-meta")
e94b3c72 4873 (version "0.8.3")
dddbc90c
RV
4874 (source (origin
4875 (method url-fetch)
4876 (uri (string-append "https://hackage.haskell.org/package/"
4877 "haskell-src-meta/haskell-src-meta-"
4878 version ".tar.gz"))
4879 (sha256
4880 (base32
e94b3c72 4881 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4882 (build-system haskell-build-system)
4883 (inputs
4884 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4885 ("ghc-syb" ,ghc-syb)
4886 ("ghc-th-orphans" ,ghc-th-orphans)))
4887 (native-inputs
4888 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4889 ("ghc-tasty" ,ghc-tasty)
4890 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4891 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4892 (synopsis "Parse source to template-haskell abstract syntax")
4893 (description
4894 "This package provides tools to parse Haskell sources to the
4895template-haskell abstract syntax.")
4896 (license license:bsd-3)))
4897
4898(define-public ghc-hasktags
4899 (package
4900 (name "ghc-hasktags")
4901 (version "0.71.2")
4902 (source
4903 (origin
4904 (method url-fetch)
4905 (uri (string-append
4906 "https://hackage.haskell.org/package/hasktags/hasktags-"
4907 version
4908 ".tar.gz"))
4909 (sha256
4910 (base32
4911 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4912 (build-system haskell-build-system)
4913 (inputs
4914 `(("ghc-system-filepath" ,ghc-system-filepath)
4915 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4916 (native-inputs
4917 `(("ghc-json" ,ghc-json)
4918 ("ghc-utf8-string" ,ghc-utf8-string)
4919 ("ghc-microlens-platform" ,ghc-microlens-platform)
4920 ("ghc-hunit" ,ghc-hunit)))
4921 (home-page "http://github.com/MarcWeber/hasktags")
4922 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4923 (description
4924 "This package provides a means of generating tag files for Emacs and
4925Vim.")
4926 (license license:bsd-3)))
4927
4928(define-public ghc-hex
4929 (package
4930 (name "ghc-hex")
4931 (version "0.1.2")
4932 (source
4933 (origin
4934 (method url-fetch)
4935 (uri (string-append "https://hackage.haskell.org/package/"
4936 "hex-" version "/"
4937 "hex-" version ".tar.gz"))
4938 (sha256
4939 (base32
4940 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4941 (build-system haskell-build-system)
4942 (home-page "https://hackage.haskell.org/package/hex")
4943 (synopsis "Convert strings into hexadecimal and back")
4944 (description "This package provides conversion functions between
4945bytestrings and their hexademical representation.")
4946 (license license:bsd-3)))
4947
4948(define-public ghc-highlighting-kate
4949 (package
4950 (name "ghc-highlighting-kate")
4951 (version "0.6.4")
4952 (source (origin
4953 (method url-fetch)
4954 (uri (string-append "https://hackage.haskell.org/package/"
4955 "highlighting-kate/highlighting-kate-"
4956 version ".tar.gz"))
4957 (sha256
4958 (base32
4959 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4960 (build-system haskell-build-system)
4961 (inputs
4962 `(("ghc-diff" ,ghc-diff)
4963 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4964 (native-inputs
4965 `(("ghc-blaze-html" ,ghc-blaze-html)
4966 ("ghc-utf8-string" ,ghc-utf8-string)))
4967 (home-page "https://github.com/jgm/highlighting-kate")
4968 (synopsis "Syntax highlighting library")
4969 (description
4970 "Highlighting-kate is a syntax highlighting library with support for
4971nearly one hundred languages. The syntax parsers are automatically generated
4972from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4973supported by Kate can be added. An (optional) command-line program is
4974provided, along with a utility for generating new parsers from Kate XML syntax
4975descriptions.")
4976 (license license:gpl2+)))
4977
4978(define-public ghc-hindent
4979 (package
4980 (name "ghc-hindent")
f545f894 4981 (version "5.3.1")
dddbc90c
RV
4982 (source
4983 (origin
4984 (method url-fetch)
4985 (uri (string-append
4986 "https://hackage.haskell.org/package/hindent/hindent-"
4987 version
4988 ".tar.gz"))
4989 (sha256
4990 (base32
f545f894 4991 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
4992 (build-system haskell-build-system)
4993 (arguments
4994 `(#:modules ((guix build haskell-build-system)
4995 (guix build utils)
4996 (guix build emacs-utils))
4997 #:imported-modules (,@%haskell-build-system-modules
4998 (guix build emacs-utils))
4999 #:phases
5000 (modify-phases %standard-phases
5001 (add-after 'install 'emacs-install
5002 (lambda* (#:key inputs outputs #:allow-other-keys)
5003 (let* ((out (assoc-ref outputs "out"))
5004 (elisp-file "elisp/hindent.el")
5005 (dest (string-append out "/share/emacs/site-lisp"
5006 "/guix.d/hindent-" ,version))
5007 (emacs (string-append (assoc-ref inputs "emacs")
5008 "/bin/emacs")))
5009 (make-file-writable elisp-file)
5010 (emacs-substitute-variables elisp-file
5011 ("hindent-process-path"
5012 (string-append out "/bin/hindent")))
5013 (install-file elisp-file dest)
5014 (emacs-generate-autoloads "hindent" dest)))))))
5015 (inputs
5016 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5017 ("ghc-monad-loops" ,ghc-monad-loops)
5018 ("ghc-utf8-string" ,ghc-utf8-string)
5019 ("ghc-exceptions" ,ghc-exceptions)
5020 ("ghc-yaml" ,ghc-yaml)
5021 ("ghc-unix-compat" ,ghc-unix-compat)
5022 ("ghc-path" ,ghc-path)
5023 ("ghc-path-io" ,ghc-path-io)
5024 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5025 (native-inputs
5026 `(("ghc-hspec" ,ghc-hspec)
5027 ("ghc-diff" ,ghc-diff)
5028 ("emacs" ,emacs-minimal)))
5029 (home-page
5030 "https://github.com/commercialhaskell/hindent")
5031 (synopsis "Extensible Haskell pretty printer")
5032 (description
5033 "This package provides automatic formatting for Haskell files. Both a
5034library and an executable.")
5035 (license license:bsd-3)))
5036
5037(define-public ghc-hinotify
5038 (package
5039 (name "ghc-hinotify")
c2342abb 5040 (version "0.4")
dddbc90c
RV
5041 (source (origin
5042 (method url-fetch)
5043 (uri (string-append
5044 "https://hackage.haskell.org/package/hinotify/"
5045 "hinotify-" version ".tar.gz"))
5046 (sha256
5047 (base32
c2342abb 5048 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5049 (build-system haskell-build-system)
5050 (inputs
5051 `(("ghc-async" ,ghc-async)))
5052 (home-page "https://github.com/kolmodin/hinotify.git")
5053 (synopsis "Haskell binding to inotify")
5054 (description "This library provides a wrapper to the Linux kernel's inotify
5055feature, allowing applications to subscribe to notifications when a file is
5056accessed or modified.")
5057 (license license:bsd-3)))
5058
5059(define-public ghc-hmatrix
5060 (package
5061 (name "ghc-hmatrix")
65e29ed1 5062 (version "0.20.0.0")
dddbc90c
RV
5063 (source
5064 (origin
5065 (method url-fetch)
5066 (uri (string-append
5067 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5068 version ".tar.gz"))
5069 (sha256
65e29ed1 5070 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5071 (build-system haskell-build-system)
5072 (inputs
5073 `(("ghc-random" ,ghc-random)
5074 ("ghc-split" ,ghc-split)
5075 ("ghc-storable-complex" ,ghc-storable-complex)
5076 ("ghc-semigroups" ,ghc-semigroups)
5077 ("ghc-vector" ,ghc-vector)
5078 ;;("openblas" ,openblas)
5079 ("lapack" ,lapack)))
5080 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5081 ;; disables inclusion of the LAPACK functions.
5082 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5083 (home-page "https://github.com/albertoruiz/hmatrix")
5084 (synopsis "Haskell numeric linear algebra library")
5085 (description "The HMatrix package provices a Haskell library for
5086dealing with linear systems, matrix decompositions, and other
5087numerical computations based on BLAS and LAPACK.")
5088 (license license:bsd-3)))
5089
5090(define-public ghc-hmatrix-gsl
5091 (package
5092 (name "ghc-hmatrix-gsl")
5093 (version "0.19.0.1")
5094 (source
5095 (origin
5096 (method url-fetch)
5097 (uri (string-append
5098 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5099 version ".tar.gz"))
5100 (sha256
5101 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5102 (build-system haskell-build-system)
5103 (inputs
5104 `(("ghc-hmatrix" ,ghc-hmatrix)
5105 ("ghc-vector" ,ghc-vector)
5106 ("ghc-random" ,ghc-random)
5107 ("gsl" ,gsl)))
5108 (native-inputs `(("pkg-config" ,pkg-config)))
5109 (home-page "https://github.com/albertoruiz/hmatrix")
5110 (synopsis "Haskell GSL binding")
5111 (description "This Haskell library provides a purely functional
5112interface to selected numerical computations, internally implemented
5113using GSL.")
5114 (license license:gpl3+)))
5115
5116(define-public ghc-hmatrix-gsl-stats
5117 (package
5118 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5119 (version "0.4.1.8")
dddbc90c
RV
5120 (source
5121 (origin
5122 (method url-fetch)
5123 (uri
5124 (string-append
5125 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5126 version ".tar.gz"))
5127 (sha256
e9b359f5 5128 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5129 (build-system haskell-build-system)
5130 (inputs
5131 `(("ghc-vector" ,ghc-vector)
5132 ("ghc-storable-complex" ,ghc-storable-complex)
5133 ("ghc-hmatrix" ,ghc-hmatrix)
5134 ("gsl" ,gsl)))
5135 (native-inputs `(("pkg-config" ,pkg-config)))
5136 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5137 (synopsis "GSL Statistics interface for Haskell")
5138 (description "This Haskell library provides a purely functional
5139interface for statistics based on hmatrix and GSL.")
5140 (license license:bsd-3)))
5141
5142(define-public ghc-hmatrix-special
5143 (package
5144 (name "ghc-hmatrix-special")
5145 (version "0.19.0.0")
5146 (source
5147 (origin
5148 (method url-fetch)
5149 (uri
5150 (string-append
5151 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5152 version ".tar.gz"))
5153 (sha256
5154 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5155 (build-system haskell-build-system)
5156 (inputs
5157 `(("ghc-hmatrix" ,ghc-hmatrix)
5158 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5159 (home-page "https://github.com/albertoruiz/hmatrix")
5160 (synopsis "Haskell interface to GSL special functions")
5161 (description "This library provides an interface to GSL special
5162functions for Haskell.")
5163 (license license:gpl3+)))
5164
5165(define-public ghc-hostname
5166 (package
5167 (name "ghc-hostname")
5168 (version "1.0")
5169 (source
5170 (origin
5171 (method url-fetch)
5172 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5173 "hostname-" version ".tar.gz"))
5174 (sha256
5175 (base32
5176 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5177 (build-system haskell-build-system)
5178 (home-page "https://hackage.haskell.org/package/hostname")
5179 (synopsis "Hostname in Haskell")
5180 (description "Network.HostName is a simple package providing a means to
5181determine the hostname.")
5182 (license license:bsd-3)))
5183
5184(define-public ghc-hourglass
5185 (package
5186 (name "ghc-hourglass")
5187 (version "0.2.12")
5188 (source (origin
5189 (method url-fetch)
5190 (uri (string-append "https://hackage.haskell.org/package/"
5191 "hourglass/hourglass-" version ".tar.gz"))
5192 (sha256
5193 (base32
5194 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5195 (build-system haskell-build-system)
5196 (inputs
5197 `(("ghc-old-locale" ,ghc-old-locale)))
5198 (native-inputs
5199 `(("ghc-tasty" ,ghc-tasty)
5200 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5201 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5202 (home-page "https://github.com/vincenthz/hs-hourglass")
5203 (synopsis "Simple time-related library for Haskell")
5204 (description
5205 "This is a simple time library providing a simple but powerful and
5206performant API. The backbone of the library are the @code{Timeable} and
5207@code{Time} type classes. Each @code{Timeable} instances can be converted to
5208a type that has a @code{Time} instances, and thus are different
5209representations of current time.")
5210 (license license:bsd-3)))
5211
5212(define-public ghc-hpack
5213 (package
5214 (name "ghc-hpack")
06344a3a 5215 (version "0.31.2")
dddbc90c
RV
5216 (source
5217 (origin
5218 (method url-fetch)
5219 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5220 "hpack-" version ".tar.gz"))
06344a3a 5221 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5222 (sha256
5223 (base32
06344a3a 5224 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5225 (build-system haskell-build-system)
5226 (inputs
5227 `(("ghc-aeson" ,ghc-aeson)
5228 ("ghc-bifunctors" ,ghc-bifunctors)
5229 ("ghc-cryptonite" ,ghc-cryptonite)
5230 ("ghc-glob" ,ghc-glob)
5231 ("ghc-http-client" ,ghc-http-client)
5232 ("ghc-http-client-tls" ,ghc-http-client-tls)
5233 ("ghc-http-types" ,ghc-http-types)
06344a3a 5234 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5235 ("ghc-scientific" ,ghc-scientific)
5236 ("ghc-unordered-containers" ,ghc-unordered-containers)
5237 ("ghc-vector" ,ghc-vector)
5238 ("ghc-yaml" ,ghc-yaml)))
5239 (native-inputs
5240 `(("ghc-hspec" ,ghc-hspec)
5241 ("ghc-hunit" ,ghc-hunit)
5242 ("ghc-interpolate" ,ghc-interpolate)
5243 ("ghc-mockery" ,ghc-mockery)
5244 ("ghc-quickcheck" ,ghc-quickcheck)
5245 ("ghc-temporary" ,ghc-temporary)
5246 ("hspec-discover" ,hspec-discover)))
5247 (home-page "https://github.com/sol/hpack")
5248 (synopsis "Tools for an alternative Haskell package format")
5249 (description
5250 "Hpack is a format for Haskell packages. It is an alternative to the
5251Cabal package format and follows different design principles. Hpack packages
5252are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5253@code{stack} support @code{package.yaml} natively. For other build tools the
5254@code{hpack} executable can be used to generate a @code{.cabal} file from
5255@code{package.yaml}.")
5256 (license license:expat)))
5257
5258(define-public ghc-hs-bibutils
5259 (package
5260 (name "ghc-hs-bibutils")
ebcb4f23 5261 (version "6.7.0.0")
dddbc90c
RV
5262 (source
5263 (origin
5264 (method url-fetch)
5265 (uri (string-append
5266 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5267 version ".tar.gz"))
5268 (sha256
5269 (base32
ebcb4f23 5270 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5271 (build-system haskell-build-system)
5272 (inputs `(("ghc-syb" ,ghc-syb)))
5273 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5274 (synopsis "Haskell bindings to bibutils")
5275 (description
5276 "This package provides Haskell bindings to @code{bibutils}, a library
5277that interconverts between various bibliography formats using a common
5278MODS-format XML intermediate.")
5279 (license license:gpl2+)))
5280
5281(define-public ghc-hslogger
5282 (package
5283 (name "ghc-hslogger")
e5ccc5f7 5284 (version "1.2.12")
dddbc90c
RV
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append "https://hackage.haskell.org/package/"
5289 "hslogger-" version "/" "hslogger-"
5290 version ".tar.gz"))
5291 (sha256 (base32
e5ccc5f7 5292 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5293 (build-system haskell-build-system)
5294 (inputs
5295 `(("ghc-network" ,ghc-network)
5296 ("ghc-old-locale" ,ghc-old-locale)))
5297 (native-inputs
5298 `(("ghc-hunit" ,ghc-hunit)))
5299 (home-page "https://software.complete.org/hslogger")
5300 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5301 (description "Hslogger lets each log message have a priority and source be
5302associated with it. The programmer can then define global handlers that route
5303or filter messages based on the priority and source. It also has a syslog
5304handler built in.")
5305 (license license:bsd-3)))
5306
5307(define-public ghc-hslua
5308 (package
5309 (name "ghc-hslua")
cc784d7b 5310 (version "1.0.3.2")
dddbc90c
RV
5311 (source (origin
5312 (method url-fetch)
5313 (uri (string-append "https://hackage.haskell.org/package/"
5314 "hslua/hslua-" version ".tar.gz"))
5315 (sha256
5316 (base32
cc784d7b 5317 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5318 (build-system haskell-build-system)
5319 (arguments
5320 `(#:configure-flags '("-fsystem-lua")))
5321 (inputs
5322 `(("lua" ,lua)
5323 ("ghc-exceptions" ,ghc-exceptions)
5324 ("ghc-fail" ,ghc-fail)))
5325 (native-inputs
5326 `(("ghc-tasty" ,ghc-tasty)
5327 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5328 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5329 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5330 ("ghc-quickcheck" ,ghc-quickcheck)
5331 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5332 (home-page "https://hackage.haskell.org/package/hslua")
5333 (synopsis "Lua language interpreter embedding in Haskell")
5334 (description
5335 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5336described in @url{https://www.lua.org/}.")
5337 (license license:expat)))
5338
ff303e4e
TS
5339(define-public ghc-hslua-module-system
5340 (package
5341 (name "ghc-hslua-module-system")
5342 (version "0.2.1")
5343 (source
5344 (origin
5345 (method url-fetch)
5346 (uri (string-append "https://hackage.haskell.org/package/"
5347 "hslua-module-system/hslua-module-system-"
5348 version ".tar.gz"))
5349 (sha256
5350 (base32
5351 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5352 (build-system haskell-build-system)
5353 (inputs
5354 `(("ghc-exceptions" ,ghc-exceptions)
5355 ("ghc-hslua" ,ghc-hslua)
5356 ("ghc-temporary" ,ghc-temporary)))
5357 (native-inputs
5358 `(("ghc-tasty" ,ghc-tasty)
5359 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5360 (home-page "https://github.com/hslua/hslua-module-system")
5361 (synopsis "Lua module wrapper around Haskell's System module")
5362 (description "This library provides access to system information and
5363functionality to Lua scripts via Haskell's @code{System} module. Intended
5364usage for this package is to preload it by adding the loader function to
5365@code{package.preload}. Note that the Lua @code{package} library must have
5366already been loaded before the loader can be added.")
5367 (license license:expat)))
5368
dddbc90c
RV
5369(define-public ghc-hslua-module-text
5370 (package
5371 (name "ghc-hslua-module-text")
ecaf0b0c 5372 (version "0.2.1")
dddbc90c
RV
5373 (source
5374 (origin
5375 (method url-fetch)
5376 (uri (string-append "https://hackage.haskell.org/package/"
5377 "hslua-module-text/hslua-module-text-"
5378 version ".tar.gz"))
5379 (sha256
5380 (base32
ecaf0b0c 5381 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5382 (build-system haskell-build-system)
dddbc90c
RV
5383 (inputs
5384 `(("ghc-hslua" ,ghc-hslua)))
5385 (native-inputs
5386 `(("ghc-tasty" ,ghc-tasty)
5387 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5388 (home-page "https://github.com/hslua/hslua-module-text")
5389 (synopsis "Lua module for text")
5390 (description
5391 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5392for Haskell. The functions provided by this module are @code{upper},
5393@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5394 (license license:expat)))
5395
fac520bf
TS
5396(define-public ghc-hsyaml
5397 (package
5398 (name "ghc-hsyaml")
5399 (version "0.1.2.0")
5400 (source
5401 (origin
5402 (method url-fetch)
5403 (uri (string-append "https://hackage.haskell.org/package/"
5404 "HsYAML/HsYAML-" version ".tar.gz"))
5405 (sha256
5406 (base32
5407 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5408 (build-system haskell-build-system)
5409 (arguments
5410 `(#:cabal-revision
5411 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5412 (home-page "https://github.com/haskell-hvr/HsYAML")
5413 (synopsis "Pure Haskell YAML 1.2 parser")
5414 (description "This library provides a
5415@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5416for Haskell. Its features include:
5417
5418@itemize
5419@item Pure Haskell implementation with small dependency footprint and
5420emphasis on strict compliance with the YAML 1.2 specification.
5421
5422@item Direct decoding to native Haskell types via (aeson-inspired)
5423typeclass-based API (see @code{Data.YAML}).
5424
5425@item Support for constructing custom YAML node graph
5426representation (including support for cyclic YAML data structures).
5427
5428@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5429@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5430typing rules as defined in the YAML 1.2 specification (including support
5431for user-defined custom schemas).
5432
5433@item Event-based API resembling LibYAML's Event-based API (see
5434@code{Data.YAML.Event}).
5435
5436@item Low-level API access to lexical token-based scanner (see
5437@code{Data.YAML.Token}).
5438@end itemize")
5439 (license license:gpl2+)))
5440
dddbc90c
RV
5441(define-public ghc-http-api-data
5442 (package
5443 (name "ghc-http-api-data")
a57236eb 5444 (version "0.4.1")
dddbc90c
RV
5445 (source
5446 (origin
5447 (method url-fetch)
5448 (uri (string-append "https://hackage.haskell.org/package/"
5449 "http-api-data-" version "/"
5450 "http-api-data-" version ".tar.gz"))
5451 (sha256
5452 (base32
a57236eb 5453 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5454 (build-system haskell-build-system)
dddbc90c
RV
5455 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5456 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5457 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5458 ("ghc-hashable" ,ghc-hashable)
5459 ("ghc-http-types" ,ghc-http-types)
a57236eb 5460 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5461 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5462 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5463 (native-inputs
5464 `(("cabal-doctest" ,cabal-doctest)
5465 ("ghc-nats" ,ghc-nats)
5466 ("ghc-hunit" ,ghc-hunit)
5467 ("ghc-hspec" ,ghc-hspec)
5468 ("ghc-quickcheck" ,ghc-quickcheck)
5469 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5470 ("ghc-doctest" ,ghc-doctest)
5471 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5472 (home-page "https://github.com/fizruk/http-api-data")
5473 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5474query parameters")
5475 (description "This Haskell package defines typeclasses used for converting
5476Haskell data types to and from HTTP API data.")
5477 (license license:bsd-3)))
5478
5479(define-public ghc-ieee754
5480 (package
5481 (name "ghc-ieee754")
5482 (version "0.8.0")
5483 (source (origin
5484 (method url-fetch)
5485 (uri (string-append
5486 "https://hackage.haskell.org/package/ieee754/"
5487 "ieee754-" version ".tar.gz"))
5488 (sha256
5489 (base32
5490 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5491 (build-system haskell-build-system)
5492 (home-page "https://github.com/patperry/hs-ieee754")
5493 (synopsis "Utilities for dealing with IEEE floating point numbers")
5494 (description "Utilities for dealing with IEEE floating point numbers,
5495ported from the Tango math library; approximate and exact equality comparisons
5496for general types.")
5497 (license license:bsd-3)))
5498
5499(define-public ghc-ifelse
5500 (package
5501 (name "ghc-ifelse")
5502 (version "0.85")
5503 (source
5504 (origin
5505 (method url-fetch)
5506 (uri (string-append "https://hackage.haskell.org/package/"
5507 "IfElse/IfElse-" version ".tar.gz"))
5508 (sha256
5509 (base32
5510 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5511 (build-system haskell-build-system)
5512 (home-page "http://hackage.haskell.org/package/IfElse")
5513 (synopsis "Monadic control flow with anaphoric variants")
5514 (description "This library provides functions for control flow inside of
5515monads with anaphoric variants on @code{if} and @code{when} and a C-like
5516@code{switch} function.")
5517 (license license:bsd-3)))
5518
5519(define-public ghc-indents
5520 (package
5521 (name "ghc-indents")
d66473fb 5522 (version "0.5.0.1")
dddbc90c
RV
5523 (source (origin
5524 (method url-fetch)
5525 (uri (string-append
5526 "https://hackage.haskell.org/package/indents/indents-"
5527 version ".tar.gz"))
5528 (sha256
5529 (base32
d66473fb 5530 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5531 (build-system haskell-build-system)
5532 ;; This package needs an older version of tasty.
5533 (arguments '(#:tests? #f))
5534 (inputs
5535 `(("ghc-concatenative" ,ghc-concatenative)))
5536 (native-inputs
5537 `(("ghc-tasty" ,ghc-tasty)
5538 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5539 (home-page "http://patch-tag.com/r/salazar/indents")
5540 (synopsis "Indentation sensitive parser-combinators for parsec")
5541 (description
5542 "This library provides functions for use in parsing indentation sensitive
5543contexts. It parses blocks of lines all indented to the same level as well as
5544lines continued at an indented level below.")
5545 (license license:bsd-3)))
5546
1f656b17
TS
5547(define-public ghc-infer-license
5548 (package
5549 (name "ghc-infer-license")
5550 (version "0.2.0")
5551 (source
5552 (origin
5553 (method url-fetch)
5554 (uri (string-append "https://hackage.haskell.org/package/"
5555 "infer-license/infer-license-" version ".tar.gz"))
5556 (sha256
5557 (base32
5558 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5559 (build-system haskell-build-system)
5560 (inputs
5561 `(("ghc-text-metrics" ,ghc-text-metrics)))
5562 (native-inputs
5563 `(("ghc-hspec" ,ghc-hspec)
5564 ("hspec-discover" ,hspec-discover)))
5565 (home-page "http://hackage.haskell.org/package/infer-license")
5566 (synopsis "Infer software license from a given license file")
5567 (description "This library provides tools to infer a software
5568license from a given license file.")
5569 (license license:expat)))
5570
dddbc90c
RV
5571(define-public ghc-inline-c
5572 (package
5573 (name "ghc-inline-c")
55ec98f2 5574 (version "0.7.0.1")
dddbc90c
RV
5575 (source
5576 (origin
5577 (method url-fetch)
5578 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5579 "inline-c-" version ".tar.gz"))
5580 (sha256
5581 (base32
55ec98f2 5582 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5583 (build-system haskell-build-system)
5584 (inputs
5585 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5586 ("ghc-cryptohash" ,ghc-cryptohash)
5587 ("ghc-hashable" ,ghc-hashable)
5588 ("ghc-parsers" ,ghc-parsers)
5589 ("ghc-unordered-containers" ,ghc-unordered-containers)
5590 ("ghc-vector" ,ghc-vector)))
5591 (native-inputs
5592 `(("ghc-quickcheck" ,ghc-quickcheck)
5593 ("ghc-hspec" ,ghc-hspec)
5594 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5595 ("ghc-regex-posix" ,ghc-regex-posix)))
5596 (home-page "http://hackage.haskell.org/package/inline-c")
5597 (synopsis "Write Haskell source files including C code inline")
5598 (description
5599 "inline-c lets you seamlessly call C libraries and embed high-performance
5600inline C code in Haskell modules. Haskell and C can be freely intermixed in
5601the same source file, and data passed to and from code in either language with
5602minimal overhead. No FFI required.")
5603 (license license:expat)))
5604
5605(define-public ghc-inline-c-cpp
5606 (package
5607 (name "ghc-inline-c-cpp")
cae58e56 5608 (version "0.3.0.3")
dddbc90c
RV
5609 (source
5610 (origin
5611 (method url-fetch)
5612 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5613 "inline-c-cpp-" version ".tar.gz"))
5614 (sha256
5615 (base32
cae58e56 5616 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5617 (build-system haskell-build-system)
5618 (inputs
5619 `(("ghc-inline-c" ,ghc-inline-c)
5620 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5621 (native-inputs
5622 `(("ghc-hspec" ,ghc-hspec)))
5623 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5624 (synopsis "Lets you embed C++ code into Haskell")
5625 (description
5626 "This package provides utilities to inline C++ code into Haskell using
5627@code{inline-c}.")
5628 (license license:expat)))
5629
5630(define-public ghc-integer-logarithms
5631 (package
5632 (name "ghc-integer-logarithms")
86a704db 5633 (version "1.0.3")
dddbc90c
RV
5634 (source
5635 (origin
5636 (method url-fetch)
5637 (uri (string-append "https://hackage.haskell.org/package/"
5638 "integer-logarithms/integer-logarithms-"
5639 version ".tar.gz"))
5640 (sha256
5641 (base32
86a704db 5642 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5643 (build-system haskell-build-system)
5644 (arguments
5645 `(#:phases
5646 (modify-phases %standard-phases
5647 (add-before 'configure 'update-constraints
5648 (lambda _
5649 (substitute* "integer-logarithms.cabal"
5650 (("tasty >= 0\\.10 && < 1\\.1")
5651 "tasty >= 0.10 && < 1.2")))))))
5652 (native-inputs
5653 `(("ghc-quickcheck" ,ghc-quickcheck)
5654 ("ghc-smallcheck" ,ghc-smallcheck)
5655 ("ghc-tasty" ,ghc-tasty)
5656 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5657 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5658 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5659 (home-page "https://github.com/Bodigrim/integer-logarithms")
5660 (synopsis "Integer logarithms")
5661 (description
5662 "This package provides the following modules:
5663@code{Math.NumberTheory.Logarithms} and
5664@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5665@code{GHC.Integer.Logarithms.Compat} and
5666@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5667in migrated modules.")
5668 (license license:expat)))
5669
5670(define-public ghc-integer-logarithms-bootstrap
5671 (package
5672 (inherit ghc-integer-logarithms)
5673 (name "ghc-integer-logarithms-bootstrap")
5674 (arguments `(#:tests? #f))
5675 (native-inputs '())
799d8d3c 5676 (properties '((hidden? #t)))))
dddbc90c
RV
5677
5678(define-public ghc-interpolate
5679 (package
5680 (name "ghc-interpolate")
5681 (version "0.2.0")
5682 (source
5683 (origin
5684 (method url-fetch)
5685 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5686 "interpolate-" version ".tar.gz"))
5687 (sha256
5688 (base32
5689 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5690 (build-system haskell-build-system)
5691 (inputs
5692 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5693 (native-inputs
5694 `(("ghc-base-compat" ,ghc-base-compat)
5695 ("ghc-hspec" ,ghc-hspec)
5696 ("ghc-quickcheck" ,ghc-quickcheck)
5697 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5698 ("hspec-discover" ,hspec-discover)))
5699 (home-page "https://github.com/sol/interpolate")
5700 (synopsis "String interpolation library")
5701 (description "This package provides a string interpolation library for
5702Haskell.")
5703 (license license:expat)))
5704
5705(define-public ghc-intervalmap
5706 (package
5707 (name "ghc-intervalmap")
e4946e32 5708 (version "0.6.1.1")
dddbc90c
RV
5709 (source
5710 (origin
5711 (method url-fetch)
5712 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5713 "IntervalMap-" version ".tar.gz"))
5714 (sha256
5715 (base32
e4946e32 5716 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5717 (build-system haskell-build-system)
5718 (native-inputs
5719 `(("ghc-quickcheck" ,ghc-quickcheck)))
5720 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5721 (synopsis "Containers for intervals, with efficient search")
5722 (description
5723 "This package provides ordered containers of intervals, with efficient
5724search for all keys containing a point or overlapping an interval. See the
5725example code on the home page for a quick introduction.")
5726 (license license:bsd-3)))
5727
5728(define-public ghc-invariant
5729 (package
5730 (name "ghc-invariant")
d3a0e0b4 5731 (version "0.5.3")
dddbc90c
RV
5732 (source
5733 (origin
5734 (method url-fetch)
5735 (uri (string-append
5736 "https://hackage.haskell.org/package/invariant/invariant-"
5737 version ".tar.gz"))
5738 (sha256
5739 (base32
d3a0e0b4 5740 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5741 (build-system haskell-build-system)
5742 (inputs
5743 `(("ghc-bifunctors" ,ghc-bifunctors)
5744 ("ghc-comonad" ,ghc-comonad)
5745 ("ghc-contravariant" ,ghc-contravariant)
5746 ("ghc-profunctors" ,ghc-profunctors)
5747 ("ghc-semigroups" ,ghc-semigroups)
5748 ("ghc-statevar" ,ghc-statevar)
5749 ("ghc-tagged" ,ghc-tagged)
5750 ("ghc-th-abstraction" ,ghc-th-abstraction)
5751 ("ghc-transformers-compat" ,ghc-transformers-compat)
5752 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5753 (native-inputs
5754 `(("ghc-hspec" ,ghc-hspec)
5755 ("ghc-quickcheck" ,ghc-quickcheck)
5756 ("hspec-discover" ,hspec-discover)))
5757 (home-page "https://github.com/nfrisby/invariant-functors")
5758 (synopsis "Haskell98 invariant functors")
5759 (description "Haskell98 invariant functors (also known as exponential
5760functors). For more information, see Edward Kmett's article
5761@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5762 (license license:bsd-2)))
5763
5764(define-public ghc-io-streams
5765 (package
5766 (name "ghc-io-streams")
59e98d75 5767 (version "1.5.1.0")
dddbc90c
RV
5768 (source
5769 (origin
5770 (method url-fetch)
5771 (uri (string-append "https://hackage.haskell.org/package/"
5772 "io-streams/io-streams-" version ".tar.gz"))
5773 (sha256
5774 (base32
59e98d75 5775 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5776 (build-system haskell-build-system)
5777 (inputs
5778 `(("ghc-attoparsec" ,ghc-attoparsec)
5779 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5780 ("ghc-network" ,ghc-network)
5781 ("ghc-primitive" ,ghc-primitive)
5782 ("ghc-vector" ,ghc-vector)
5783 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5784 (native-inputs
5785 `(("ghc-hunit" ,ghc-hunit)
5786 ("ghc-quickcheck" ,ghc-quickcheck)
5787 ("ghc-test-framework" ,ghc-test-framework)
5788 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5789 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5790 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5791 (home-page "http://hackage.haskell.org/package/io-streams")
5792 (synopsis "Simple and composable stream I/O")
5793 (description "This library contains simple and easy-to-use
5794primitives for I/O using streams.")
5795 (license license:bsd-3)))
5796
5797(define-public ghc-io-streams-haproxy
5798 (package
5799 (name "ghc-io-streams-haproxy")
1a4fbc36 5800 (version "1.0.1.0")
dddbc90c
RV
5801 (source
5802 (origin
5803 (method url-fetch)
5804 (uri (string-append "https://hackage.haskell.org/package/"
5805 "io-streams-haproxy/io-streams-haproxy-"
5806 version ".tar.gz"))
5807 (sha256
5808 (base32
1a4fbc36 5809 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5810 (build-system haskell-build-system)
5811 (inputs
5812 `(("ghc-attoparsec" ,ghc-attoparsec)
5813 ("ghc-io-streams" ,ghc-io-streams)
5814 ("ghc-network" ,ghc-network)))
5815 (native-inputs
5816 `(("ghc-hunit" ,ghc-hunit)
5817 ("ghc-test-framework" ,ghc-test-framework)
5818 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5819 (home-page "http://snapframework.com/")
5820 (synopsis "HAProxy protocol 1.5 support for io-streams")
5821 (description "HAProxy protocol version 1.5 support
5822(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5823for applications using io-streams. The proxy protocol allows information
5824about a networked peer (like remote address and port) to be propagated
5825through a forwarding proxy that is configured to speak this protocol.")
5826 (license license:bsd-3)))
5827
5828(define-public ghc-iproute
5829 (package
5830 (name "ghc-iproute")
ec25d536 5831 (version "1.7.7")
dddbc90c
RV
5832 (source
5833 (origin
5834 (method url-fetch)
5835 (uri (string-append
5836 "https://hackage.haskell.org/package/iproute/iproute-"
5837 version
5838 ".tar.gz"))
5839 (sha256
5840 (base32
ec25d536 5841 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5842 (build-system haskell-build-system)
5843 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5844 ; exported by ghc-byteorder. Doctest issue.
5845 (inputs
5846 `(("ghc-appar" ,ghc-appar)
5847 ("ghc-byteorder" ,ghc-byteorder)
5848 ("ghc-network" ,ghc-network)
5849 ("ghc-safe" ,ghc-safe)))
5850 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5851 (synopsis "IP routing table")
5852 (description "IP Routing Table is a tree of IP ranges to search one of
5853them on the longest match base. It is a kind of TRIE with one way branching
5854removed. Both IPv4 and IPv6 are supported.")
5855 (license license:bsd-3)))
5856
4828e54e
TS
5857(define-public ghc-ipynb
5858 (package
5859 (name "ghc-ipynb")
5860 (version "0.1")
5861 (source
5862 (origin
5863 (method url-fetch)
5864 (uri (string-append "https://hackage.haskell.org/package/"
5865 "ipynb/ipynb-" version ".tar.gz"))
5866 (sha256
5867 (base32
5868 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
5869 (build-system haskell-build-system)
5870 (inputs
5871 `(("ghc-unordered-containers" ,ghc-unordered-containers)
5872 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5873 ("ghc-aeson" ,ghc-aeson)
5874 ("ghc-semigroups" ,ghc-semigroups)))
5875 (native-inputs
5876 `(("ghc-tasty" ,ghc-tasty)
5877 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5878 ("ghc-aeson-diff" ,ghc-aeson-diff)
5879 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
5880 ("ghc-microlens" ,ghc-microlens)
5881 ("ghc-vector" ,ghc-vector)))
5882 (home-page "https://hackage.haskell.org/package/ipynb")
5883 (synopsis "Data structure for working with Jupyter notebooks")
5884 (description "This library defines a data structure for representing
5885Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
5886instances for conversion to and from JSON .ipynb files.")
5887 (license license:bsd-3)))
5888
dddbc90c
RV
5889(define-public ghc-iwlib
5890 (package
5891 (name "ghc-iwlib")
5892 (version "0.1.0")
5893 (source
5894 (origin
5895 (method url-fetch)
5896 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5897 version ".tar.gz"))
5898 (sha256
5899 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5900 (build-system haskell-build-system)
5901 (inputs
5902 `(("wireless-tools" ,wireless-tools)))
5903 (home-page "https://github.com/jaor/iwlib")
5904 (synopsis "Haskell binding to the iw wireless networking library")
5905 (description
5906 "IWlib is a thin Haskell binding to the iw C library. It provides
5907information about the current wireless network connections, and adapters on
5908supported systems.")
5909 (license license:bsd-3)))
5910
5911(define-public ghc-json
5912 (package
5913 (name "ghc-json")
0ad3d574 5914 (version "0.9.3")
dddbc90c
RV
5915 (source
5916 (origin
5917 (method url-fetch)
5918 (uri (string-append "https://hackage.haskell.org/package/json/"
5919 "json-" version ".tar.gz"))
5920 (sha256
5921 (base32
0ad3d574 5922 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5923 (build-system haskell-build-system)
5924 (inputs
5925 `(("ghc-syb" ,ghc-syb)))
5926 (home-page "https://hackage.haskell.org/package/json")
5927 (synopsis "Serializes Haskell data to and from JSON")
5928 (description "This package provides a parser and pretty printer for
5929converting between Haskell values and JSON.
5930JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5931 (license license:bsd-3)))
5932
5933(define-public ghc-juicypixels
5934 (package
5935 (name "ghc-juicypixels")
b50b6004 5936 (version "3.3.4")
dddbc90c
RV
5937 (source (origin
5938 (method url-fetch)
5939 (uri (string-append "https://hackage.haskell.org/package/"
5940 "JuicyPixels/JuicyPixels-"
5941 version ".tar.gz"))
5942 (sha256
5943 (base32
b50b6004 5944 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5945 (build-system haskell-build-system)
5946 (inputs
5947 `(("ghc-zlib" ,ghc-zlib)
5948 ("ghc-vector" ,ghc-vector)
5949 ("ghc-primitive" ,ghc-primitive)
5950 ("ghc-mmap" ,ghc-mmap)))
5951 (home-page "https://github.com/Twinside/Juicy.Pixels")
5952 (synopsis "Picture loading and serialization library")
5953 (description
5954 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5955TIFF and GIF formats.")
5956 (license license:bsd-3)))
5957
5958(define-public ghc-kan-extensions
5959 (package
5960 (name "ghc-kan-extensions")
5961 (version "5.2")
5962 (source
5963 (origin
5964 (method url-fetch)
5965 (uri (string-append
5966 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5967 version
5968 ".tar.gz"))
5969 (sha256
5970 (base32
5971 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5972 (build-system haskell-build-system)
5973 (inputs
5974 `(("ghc-adjunctions" ,ghc-adjunctions)
5975 ("ghc-comonad" ,ghc-comonad)
5976 ("ghc-contravariant" ,ghc-contravariant)
5977 ("ghc-distributive" ,ghc-distributive)
5978 ("ghc-free" ,ghc-free)
5979 ("ghc-invariant" ,ghc-invariant)
5980 ("ghc-semigroupoids" ,ghc-semigroupoids)
5981 ("ghc-tagged" ,ghc-tagged)
5982 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5983 (home-page "https://github.com/ekmett/kan-extensions/")
5984 (synopsis "Kan extensions library")
5985 (description "This library provides Kan extensions, Kan lifts, various
5986forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5987 (license license:bsd-3)))
5988
5989(define-public ghc-language-c
5990 (package
5991 (name "ghc-language-c")
4e1cf651 5992 (version "0.8.3")
dddbc90c
RV
5993 (source
5994 (origin
5995 (method url-fetch)
5996 (uri (string-append "https://hackage.haskell.org/package/"
5997 "language-c/language-c-" version ".tar.gz"))
5998 (sha256
5999 (base32
4e1cf651 6000 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6001 (build-system haskell-build-system)
6002 (inputs `(("ghc-syb" ,ghc-syb)))
6003 (native-inputs
6004 `(("ghc-happy" ,ghc-happy)
6005 ("ghc-alex" ,ghc-alex)))
6006 (home-page "https://visq.github.io/language-c/")
6007 (synopsis "Analysis and generation of C code")
6008 (description
6009 "Language C is a Haskell library for the analysis and generation of C code.
6010It features a complete, well-tested parser and pretty printer for all of C99
6011and a large set of GNU extensions.")
6012 (license license:bsd-3)))
6013
6014(define-public ghc-language-glsl
6015 (package
6016 (name "ghc-language-glsl")
6017 (version "0.3.0")
6018 (source
6019 (origin
6020 (method url-fetch)
6021 (uri (string-append "https://hackage.haskell.org/package/"
6022 "language-glsl/language-glsl-" version ".tar.gz"))
6023 (sha256
6024 (base32
6025 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6026 (build-system haskell-build-system)
6027 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6028 (arguments
6029 `(#:tests? #f
6030 #:cabal-revision
6031 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6032 (home-page "http://hackage.haskell.org/package/language-glsl")
6033 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6034 (description "This package is a Haskell library for the
6035representation, parsing, and pretty-printing of GLSL 1.50 code.")
6036 (license license:bsd-3)))
6037
6038(define-public ghc-language-haskell-extract
6039 (package
6040 (name "ghc-language-haskell-extract")
6041 (version "0.2.4")
6042 (source
6043 (origin
6044 (method url-fetch)
6045 (uri (string-append "https://hackage.haskell.org/package/"
6046 "language-haskell-extract-" version "/"
6047 "language-haskell-extract-" version ".tar.gz"))
6048 (sha256
6049 (base32
6050 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6051 (build-system haskell-build-system)
6052 (inputs
6053 `(("ghc-regex-posix" ,ghc-regex-posix)))
6054 (home-page "https://github.com/finnsson/template-helper")
6055 (synopsis "Haskell module to automatically extract functions from
6056the local code")
6057 (description "This package contains helper functions on top of
6058Template Haskell.
6059
6060For example, @code{functionExtractor} extracts all functions after a
6061regexp-pattern, which can be useful if you wish to extract all functions
6062beginning with @code{test} (for a test framework) or all functions beginning
6063with @code{wc} (for a web service).")
6064 (license license:bsd-3)))
6065
6066(define-public ghc-lens
6067 (package
6068 (name "ghc-lens")
262e6323 6069 (version "4.17.1")
dddbc90c
RV
6070 (source
6071 (origin
6072 (method url-fetch)
6073 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6074 version ".tar.gz"))
6075 (sha256
6076 (base32
262e6323 6077 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6078 (build-system haskell-build-system)
dddbc90c
RV
6079 (inputs
6080 `(("ghc-base-orphans" ,ghc-base-orphans)
6081 ("ghc-bifunctors" ,ghc-bifunctors)
6082 ("ghc-distributive" ,ghc-distributive)
6083 ("ghc-exceptions" ,ghc-exceptions)
6084 ("ghc-free" ,ghc-free)
6085 ("ghc-kan-extensions" ,ghc-kan-extensions)
6086 ("ghc-parallel" ,ghc-parallel)
6087 ("ghc-reflection" ,ghc-reflection)
6088 ("ghc-semigroupoids" ,ghc-semigroupoids)
6089 ("ghc-vector" ,ghc-vector)
6090 ("ghc-call-stack" ,ghc-call-stack)
6091 ("ghc-comonad" ,ghc-comonad)
6092 ("ghc-contravariant" ,ghc-contravariant)
6093 ("ghc-hashable" ,ghc-hashable)
6094 ("ghc-profunctors" ,ghc-profunctors)
6095 ("ghc-semigroups" ,ghc-semigroups)
6096 ("ghc-tagged" ,ghc-tagged)
6097 ("ghc-transformers-compat" ,ghc-transformers-compat)
6098 ("ghc-unordered-containers" ,ghc-unordered-containers)
6099 ("ghc-void" ,ghc-void)
6100 ("ghc-generic-deriving" ,ghc-generic-deriving)
6101 ("ghc-nats" ,ghc-nats)
6102 ("ghc-simple-reflect" ,ghc-simple-reflect)
6103 ("hlint" ,hlint)))
6104 (native-inputs
6105 `(("cabal-doctest" ,cabal-doctest)
6106 ("ghc-doctest" ,ghc-doctest)
6107 ("ghc-hunit" ,ghc-hunit)
6108 ("ghc-test-framework" ,ghc-test-framework)
6109 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6110 ("ghc-test-framework-th" ,ghc-test-framework-th)
6111 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6112 ("ghc-quickcheck" ,ghc-quickcheck)))
6113 (home-page "https://github.com/ekmett/lens/")
6114 (synopsis "Lenses, Folds and Traversals")
6115 (description "This library provides @code{Control.Lens}. The combinators
6116in @code{Control.Lens} provide a highly generic toolbox for composing families
6117of getters, folds, isomorphisms, traversals, setters and lenses and their
6118indexed variants.")
6119 (license license:bsd-3)))
6120
6121(define-public ghc-libffi
6122 (package
6123 (name "ghc-libffi")
6124 (version "0.1")
6125 (source
6126 (origin
6127 (method url-fetch)
6128 (uri (string-append "https://hackage.haskell.org/package/"
6129 "libffi/libffi-" version ".tar.gz"))
6130 (sha256
6131 (base32
6132 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6133 (build-system haskell-build-system)
6134 (native-inputs `(("pkg-config" ,pkg-config)))
6135 (inputs `(("libffi" ,libffi)))
6136 (home-page "http://hackage.haskell.org/package/libffi")
6137 (synopsis "Haskell binding to libffi")
6138 (description
6139 "A binding to libffi, allowing C functions of types only known at runtime
6140to be called from Haskell.")
6141 (license license:bsd-3)))
6142
6143(define-public ghc-libmpd
6144 (package
6145 (name "ghc-libmpd")
bbf9845f 6146 (version "0.9.0.10")
dddbc90c
RV
6147 (source
6148 (origin
6149 (method url-fetch)
6150 (uri (string-append
6151 "mirror://hackage/package/libmpd/libmpd-"
6152 version
6153 ".tar.gz"))
6154 (sha256
6155 (base32
bbf9845f 6156 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6157 (build-system haskell-build-system)
6158 ;; Tests fail on i686.
6159 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6160 (arguments `(#:tests? #f))
6161 (inputs
6162 `(("ghc-attoparsec" ,ghc-attoparsec)
6163 ("ghc-old-locale" ,ghc-old-locale)
6164 ("ghc-data-default-class" ,ghc-data-default-class)
6165 ("ghc-network" ,ghc-network)
bbf9845f 6166 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6167 ("ghc-utf8-string" ,ghc-utf8-string)))
6168 (native-inputs
6169 `(("ghc-quickcheck" ,ghc-quickcheck)
6170 ("ghc-hspec" ,ghc-hspec)
6171 ("hspec-discover" ,hspec-discover)))
6172 (home-page "https://github.com/vimus/libmpd-haskell")
6173 (synopsis "Haskell client library for the Music Player Daemon")
6174 (description "This package provides a pure Haskell client library for the
6175Music Player Daemon.")
6176 (license license:expat)))
6177
e34df1c3
TS
6178(define-public ghc-lib-parser
6179 (package
6180 (name "ghc-lib-parser")
6181 (version "8.8.0.20190424")
6182 (source
6183 (origin
6184 (method url-fetch)
6185 (uri (string-append "https://hackage.haskell.org/package/"
6186 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6187 (sha256
6188 (base32
6189 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6190 (build-system haskell-build-system)
6191 (native-inputs
6192 `(("ghc-alex" ,ghc-alex)
6193 ("ghc-happy" ,ghc-happy)))
6194 (home-page "https://github.com/digital-asset/ghc-lib")
6195 (synopsis "The GHC API, decoupled from GHC versions")
6196 (description "This library implements the GHC API. It is like the
6197compiler-provided @code{ghc} package, but it can be loaded on many
6198compiler versions.")
6199 (license license:bsd-3)))
6200
dddbc90c
RV
6201(define-public ghc-libxml
6202 (package
6203 (name "ghc-libxml")
6204 (version "0.1.1")
6205 (source
6206 (origin
6207 (method url-fetch)
6208 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6209 "libxml-" version ".tar.gz"))
6210 (sha256
6211 (base32
6212 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6213 (build-system haskell-build-system)
6214 (inputs
6215 `(("libxml2" ,libxml2)))
6216 (arguments
6217 `(#:configure-flags
6218 `(,(string-append "--extra-include-dirs="
6219 (assoc-ref %build-inputs "libxml2")
6220 "/include/libxml2"))))
6221 (home-page "https://hackage.haskell.org/package/libxml")
6222 (synopsis "Haskell bindings to libxml2")
6223 (description
6224 "This library provides minimal Haskell binding to libxml2.")
6225 (license license:bsd-3)))
6226
0c2d6fc2
TS
6227(define-public ghc-libyaml
6228 (package
6229 (name "ghc-libyaml")
6230 (version "0.1.1.0")
6231 (source
6232 (origin
6233 (method url-fetch)
6234 (uri (string-append "https://hackage.haskell.org/package/"
6235 "libyaml/libyaml-" version ".tar.gz"))
6236 (sha256
6237 (base32
6238 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6239 (modules '((guix build utils)))
6240 (snippet
6241 ;; Delete bundled LibYAML.
6242 '(begin
6243 (delete-file-recursively "libyaml_src")
6244 #t))))
6245 (build-system haskell-build-system)
6246 (arguments
6247 `(#:configure-flags `("--flags=system-libyaml")))
6248 (inputs
6249 `(("ghc-conduit" ,ghc-conduit)
6250 ("ghc-resourcet" ,ghc-resourcet)
6251 ("libyaml" ,libyaml-2.1)))
6252 (home-page "https://github.com/snoyberg/yaml#readme")
6253 (synopsis "Low-level, streaming YAML interface.")
6254 (description "This package provides a Haskell wrapper over the
6255LibYAML C library.")
6256 (license license:bsd-3)))
6257
dddbc90c
RV
6258(define-public ghc-lifted-async
6259 (package
6260 (name "ghc-lifted-async")
b5b6d7ea 6261 (version "0.10.0.4")
dddbc90c
RV
6262 (source
6263 (origin
6264 (method url-fetch)
6265 (uri (string-append
6266 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6267 version ".tar.gz"))
6268 (sha256
6269 (base32
b5b6d7ea 6270 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6271 (build-system haskell-build-system)
6272 (inputs
6273 `(("ghc-async" ,ghc-async)
6274 ("ghc-lifted-base" ,ghc-lifted-base)
6275 ("ghc-transformers-base" ,ghc-transformers-base)
6276 ("ghc-monad-control" ,ghc-monad-control)
6277 ("ghc-constraints" ,ghc-constraints)
6278 ("ghc-hunit" ,ghc-hunit)
6279 ("ghc-tasty" ,ghc-tasty)
6280 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6281 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6282 ("ghc-tasty-th" ,ghc-tasty-th)))
6283 (home-page "https://github.com/maoe/lifted-async")
6284 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6285 (description
6286 "This package provides IO operations from @code{async} package lifted to any
6287instance of @code{MonadBase} or @code{MonadBaseControl}.")
6288 (license license:bsd-3)))
6289
6290(define-public ghc-lifted-base
6291 (package
6292 (name "ghc-lifted-base")
6293 (version "0.2.3.12")
6294 (source
6295 (origin
6296 (method url-fetch)
6297 (uri (string-append
6298 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6299 version
6300 ".tar.gz"))
6301 (sha256
6302 (base32
6303 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6304 (build-system haskell-build-system)
6305 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6306 (inputs
6307 `(("ghc-transformers-base" ,ghc-transformers-base)
6308 ("ghc-monad-control" ,ghc-monad-control)
6309 ("ghc-transformers-compat" ,ghc-transformers-compat)
6310 ("ghc-hunit" ,ghc-hunit)))
6311 (home-page "https://github.com/basvandijk/lifted-base")
6312 (synopsis "Lifted IO operations from the base library")
6313 (description "Lifted-base exports IO operations from the @code{base}
6314library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6315Note that not all modules from @code{base} are converted yet. The package
6316includes a copy of the @code{monad-peel} test suite written by Anders
6317Kaseorg.")
6318 (license license:bsd-3)))
6319
6320(define-public ghc-linear
6321 (package
6322 (name "ghc-linear")
86526f37 6323 (version "1.20.9")
dddbc90c
RV
6324 (source
6325 (origin
6326 (method url-fetch)
6327 (uri (string-append "https://hackage.haskell.org/package/linear/"
6328 "linear-" version ".tar.gz"))
6329 (sha256
6330 (base32
86526f37 6331 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6332 (build-system haskell-build-system)
6333 (inputs
6334 `(("ghc-adjunctions" ,ghc-adjunctions)
6335 ("ghc-base-orphans" ,ghc-base-orphans)
6336 ("ghc-bytes" ,ghc-bytes)
6337 ("ghc-cereal" ,ghc-cereal)
6338 ("ghc-distributive" ,ghc-distributive)
6339 ("ghc-hashable" ,ghc-hashable)
6340 ("ghc-lens" ,ghc-lens)
6341 ("ghc-reflection" ,ghc-reflection)
6342 ("ghc-semigroups" ,ghc-semigroups)
6343 ("ghc-semigroupoids" ,ghc-semigroupoids)
6344 ("ghc-tagged" ,ghc-tagged)
6345 ("ghc-transformers-compat" ,ghc-transformers-compat)
6346 ("ghc-unordered-containers" ,ghc-unordered-containers)
6347 ("ghc-vector" ,ghc-vector)
6348 ("ghc-void" ,ghc-void)))
6349 (native-inputs
6350 `(("cabal-doctest" ,cabal-doctest)
6351 ("ghc-doctest" ,ghc-doctest)
6352 ("ghc-simple-reflect" ,ghc-simple-reflect)
6353 ("ghc-test-framework" ,ghc-test-framework)
6354 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6355 ("ghc-hunit" ,ghc-hunit)))
6356 (home-page "http://github.com/ekmett/linear/")
6357 (synopsis "Linear algebra library for Haskell")
6358 (description
6359 "This package provides types and combinators for linear algebra on free
6360vector spaces.")
6361 (license license:bsd-3)))
1307e4c7
JS
6362
6363(define-public ghc-listlike
6364 (package
6365 (name "ghc-listlike")
6366 (version "4.6.2")
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri
6371 (string-append
6372 "https://hackage.haskell.org/package/ListLike/ListLike-"
6373 version ".tar.gz"))
6374 (sha256
6375 (base32
6376 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6377 (build-system haskell-build-system)
6378 (inputs
6379 `(("ghc-vector" ,ghc-vector)
6380 ("ghc-dlist" ,ghc-dlist)
6381 ("ghc-fmlist" ,ghc-fmlist)
6382 ("ghc-hunit" ,ghc-hunit)
6383 ("ghc-quickcheck" ,ghc-quickcheck)
6384 ("ghc-random" ,ghc-random)
6385 ("ghc-utf8-string" ,ghc-utf8-string)))
6386 (home-page "https://github.com/JohnLato/listlike")
6387 (synopsis "Generic support for list-like structures")
6388 (description "The ListLike module provides a common interface to the
6389various Haskell types that are list-like. Predefined interfaces include
6390standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6391Custom types can easily be made ListLike instances as well.
6392
6393ListLike also provides for String-like types, such as String and
6394ByteString, for types that support input and output, and for types that
6395can handle infinite lists.")
6396 (license license:bsd-3)))
dddbc90c
RV
6397
6398(define-public ghc-logging-facade
6399 (package
6400 (name "ghc-logging-facade")
6401 (version "0.3.0")
6402 (source (origin
6403 (method url-fetch)
6404 (uri (string-append "https://hackage.haskell.org/package/"
6405 "logging-facade/logging-facade-"
6406 version ".tar.gz"))
6407 (sha256
6408 (base32
6409 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6410 (build-system haskell-build-system)
6411 (native-inputs
6412 `(("ghc-hspec" ,ghc-hspec)
6413 ("hspec-discover" ,hspec-discover)))
6414 (home-page "https://hackage.haskell.org/package/logging-facade")
6415 (synopsis "Simple logging abstraction that allows multiple back-ends")
6416 (description
6417 "This package provides a simple logging abstraction that allows multiple
6418back-ends.")
6419 (license license:expat)))
6420
6421(define-public ghc-logict
6422 (package
6423 (name "ghc-logict")
79d9326f 6424 (version "0.7.0.2")
dddbc90c
RV
6425 (source
6426 (origin
6427 (method url-fetch)
6428 (uri (string-append
6429 "https://hackage.haskell.org/package/logict/logict-"
6430 version
6431 ".tar.gz"))
6432 (sha256
6433 (base32
79d9326f 6434 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6435 (build-system haskell-build-system)
79d9326f
TS
6436 (native-inputs
6437 `(("ghc-tasty" ,ghc-tasty)
6438 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6439 (home-page "http://code.haskell.org/~dolio/")
6440 (synopsis "Backtracking logic-programming monad")
6441 (description "This library provides a continuation-based, backtracking,
6442logic programming monad. An adaptation of the two-continuation implementation
6443found in the paper \"Backtracking, Interleaving, and Terminating Monad
6444Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6445online}.")
6446 (license license:bsd-3)))
6447
6448(define-public ghc-lzma
6449 (package
6450 (name "ghc-lzma")
6451 (version "0.0.0.3")
6452 (source
6453 (origin
6454 (method url-fetch)
6455 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6456 "lzma-" version ".tar.gz"))
6457 (sha256
6458 (base32
6459 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6460 (build-system haskell-build-system)
6461 (arguments
6462 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6463 #:cabal-revision
6464 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6465 (native-inputs
6466 `(("ghc-hunit" ,ghc-hunit)
6467 ("ghc-quickcheck" ,ghc-quickcheck)
6468 ("ghc-tasty" ,ghc-tasty)
6469 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6470 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6471 (home-page "https://github.com/hvr/lzma")
6472 (synopsis "LZMA/XZ compression and decompression")
6473 (description
6474 "This package provides a pure interface for compressing and
6475decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6476monadic incremental interface is provided as well.")
6477 (license license:bsd-3)))
6478
6479(define-public ghc-lzma-conduit
6480 (package
6481 (name "ghc-lzma-conduit")
6482 (version "1.2.1")
6483 (source
6484 (origin
6485 (method url-fetch)
6486 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6487 "lzma-conduit-" version ".tar.gz"))
6488 (sha256
6489 (base32
6490 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6491 (build-system haskell-build-system)
6492 (inputs
6493 `(("ghc-conduit" ,ghc-conduit)
6494 ("ghc-lzma" ,ghc-lzma)
6495 ("ghc-resourcet" ,ghc-resourcet)))
6496 (native-inputs
6497 `(("ghc-base-compat" ,ghc-base-compat)
6498 ("ghc-test-framework" ,ghc-test-framework)
6499 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6500 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6501 ("ghc-hunit" ,ghc-hunit)
6502 ("ghc-quickcheck" ,ghc-quickcheck)))
6503 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6504 (synopsis "Conduit interface for lzma/xz compression")
6505 (description
6506 "This package provides a @code{Conduit} interface for the LZMA
6507compression algorithm used in the @code{.xz} file format.")
6508 (license license:bsd-3)))
6509
e405912c
KM
6510(define-public ghc-magic
6511 (package
6512 (name "ghc-magic")
6513 (version "1.1")
6514 (source
6515 (origin
6516 (method url-fetch)
6517 (uri (string-append
6518 "https://hackage.haskell.org/package/magic/magic-"
6519 version ".tar.gz"))
6520 (sha256
6521 (base32
6522 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6523 (build-system haskell-build-system)
6524 (home-page "http://hackage.haskell.org/package/magic")
6525 (synopsis "Interface to C file/magic library")
6526 (description
6527 "This package provides a full-featured binding to the C libmagic library.
6528With it, you can determine the type of a file by examining its contents rather
6529than its name.")
6530 (license license:bsd-3)))
6531
dddbc90c
RV
6532(define-public ghc-markdown-unlit
6533 (package
6534 (name "ghc-markdown-unlit")
6535 (version "0.5.0")
6536 (source (origin
6537 (method url-fetch)
6538 (uri (string-append
6539 "mirror://hackage/package/markdown-unlit/"
6540 "markdown-unlit-" version ".tar.gz"))
6541 (sha256
6542 (base32
6543 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6544 (build-system haskell-build-system)
6545 (inputs
6546 `(("ghc-base-compat" ,ghc-base-compat)
6547 ("ghc-hspec" ,ghc-hspec)
6548 ("ghc-quickcheck" ,ghc-quickcheck)
6549 ("ghc-silently" ,ghc-silently)
6550 ("ghc-stringbuilder" ,ghc-stringbuilder)
6551 ("ghc-temporary" ,ghc-temporary)
6552 ("hspec-discover" ,hspec-discover)))
6553 (home-page "https://github.com/sol/markdown-unlit#readme")
6554 (synopsis "Literate Haskell support for Markdown")
6555 (description "This package allows you to have a README.md that at the
6556same time is a literate Haskell program.")
6557 (license license:expat)))
6558
6559(define-public ghc-math-functions
6560 (package
6561 (name "ghc-math-functions")
b45de2bf 6562 (version "0.3.3.0")
dddbc90c
RV
6563 (source
6564 (origin
6565 (method url-fetch)
6566 (uri (string-append "https://hackage.haskell.org/package/"
6567 "math-functions-" version "/"
6568 "math-functions-" version ".tar.gz"))
6569 (sha256
6570 (base32
b45de2bf 6571 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6572 (build-system haskell-build-system)
6573 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6574 (inputs
b45de2bf
TS
6575 `(("ghc-data-default-class" ,ghc-data-default-class)
6576 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6577 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6578 (native-inputs
6579 `(("ghc-hunit" ,ghc-hunit)
6580 ("ghc-quickcheck" ,ghc-quickcheck)
6581 ("ghc-erf" ,ghc-erf)
6582 ("ghc-test-framework" ,ghc-test-framework)
6583 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6584 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6585 (home-page "https://github.com/bos/math-functions")
6586 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6587 (description "This Haskell library provides implementations of
6588special mathematical functions and Chebyshev polynomials. These
6589functions are often useful in statistical and numerical computing.")
6590 (license license:bsd-3)))
6591
6592(define-public ghc-megaparsec
6593 (package
6594 (name "ghc-megaparsec")
03b0c92e 6595 (version "7.0.5")
dddbc90c
RV
6596 (source
6597 (origin
6598 (method url-fetch)
6599 (uri (string-append "https://hackage.haskell.org/package/"
6600 "megaparsec/megaparsec-"
6601 version ".tar.gz"))
6602 (sha256
6603 (base32
03b0c92e 6604 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6605 (build-system haskell-build-system)
dddbc90c
RV
6606 (inputs
6607 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6608 ("ghc-parser-combinators" ,ghc-parser-combinators)
6609 ("ghc-scientific" ,ghc-scientific)))
6610 (native-inputs
6611 `(("ghc-quickcheck" ,ghc-quickcheck)
6612 ("ghc-hspec" ,ghc-hspec)
6613 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6614 ("hspec-discover" ,hspec-discover)))
6615 (home-page "https://github.com/mrkkrp/megaparsec")
6616 (synopsis "Monadic parser combinators")
6617 (description
6618 "This is an industrial-strength monadic parser combinator library.
6619Megaparsec is a feature-rich package that strikes a nice balance between
6620speed, flexibility, and quality of parse errors.")
6621 (license license:bsd-2)))
6622
6623(define-public ghc-memory
6624 (package
6625 (name "ghc-memory")
d2c7d336 6626 (version "0.14.18")
dddbc90c
RV
6627 (source (origin
6628 (method url-fetch)
6629 (uri (string-append "https://hackage.haskell.org/package/"
6630 "memory/memory-" version ".tar.gz"))
6631 (sha256
6632 (base32
d2c7d336 6633 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6634 (build-system haskell-build-system)
6635 (inputs
6636 `(("ghc-basement" ,ghc-basement)
6637 ("ghc-foundation" ,ghc-foundation)))
6638 (native-inputs
6639 `(("ghc-tasty" ,ghc-tasty)
6640 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6641 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6642 (home-page "https://github.com/vincenthz/hs-memory")
6643 (synopsis "Memory abstractions for Haskell")
6644 (description
6645 "This package provides memory abstractions, such as chunk of memory,
6646polymorphic byte array management and manipulation functions. It contains a
6647polymorphic byte array abstraction and functions similar to strict ByteString,
6648different type of byte array abstraction, raw memory IO operations (memory
6649set, memory copy, ..) and more")
6650 (license license:bsd-3)))
6651
6652(define-public ghc-memotrie
6653 (package
6654 (name "ghc-memotrie")
6655 (version "0.6.9")
6656 (source
6657 (origin
6658 (method url-fetch)
6659 (uri (string-append
6660 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6661 version
6662 ".tar.gz"))
6663 (sha256
6664 (base32
6665 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6666 (build-system haskell-build-system)
6667 (inputs
6668 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6669 (home-page "https://github.com/conal/MemoTrie")
6670 (synopsis "Trie-based memo functions")
6671 (description "This package provides a functional library for creating
6672efficient memo functions using tries.")
6673 (license license:bsd-3)))
6674
6675(define-public ghc-microlens
6676 (package
6677 (name "ghc-microlens")
82478c58 6678 (version "0.4.10")
dddbc90c
RV
6679 (source
6680 (origin
6681 (method url-fetch)
6682 (uri (string-append "https://hackage.haskell.org/package/"
6683 "microlens-" version "/"
6684 "microlens-" version ".tar.gz"))
6685 (sha256
6686 (base32
82478c58 6687 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6688 (build-system haskell-build-system)
6689 (home-page
6690 "https://github.com/aelve/microlens")
6691 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6692 (description "This Haskell package provides a lens library, just like
6693@code{ghc-lens}, but smaller. It provides essential lenses and
6694traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6695nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6696combinators (like @code{failing} and @code{singular}), but everything else is
6697stripped. As the result, this package has no dependencies.")
6698 (license license:bsd-3)))
6699
1cd3333e
TS
6700(define-public ghc-microlens-aeson
6701 (package
6702 (name "ghc-microlens-aeson")
6703 (version "2.3.0.4")
6704 (source
6705 (origin
6706 (method url-fetch)
6707 (uri (string-append "https://hackage.haskell.org/package/"
6708 "microlens-aeson/microlens-aeson-"
6709 version ".tar.gz"))
b4a00fec 6710 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
6711 (sha256
6712 (base32
6713 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
6714 (build-system haskell-build-system)
6715 (inputs
6716 `(("ghc-aeson" ,ghc-aeson)
6717 ("ghc-attoparsec" ,ghc-attoparsec)
6718 ("ghc-hashable" ,ghc-hashable)
6719 ("ghc-microlens" ,ghc-microlens)
6720 ("ghc-scientific" ,ghc-scientific)
6721 ("ghc-unordered-containers" ,ghc-unordered-containers)
6722 ("ghc-vector" ,ghc-vector)))
6723 (native-inputs
6724 `(("ghc-tasty" ,ghc-tasty)
6725 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6726 (home-page "https://github.com/fosskers/microlens-aeson")
6727 (synopsis "Law-abiding lenses for Aeson, using microlens")
6728 (description "This library provides law-abiding lenses for Aeson, using
6729microlens.")
6730 (license license:expat)))
6731
dddbc90c
RV
6732(define-public ghc-microlens-ghc
6733 (package
6734 (name "ghc-microlens-ghc")
027beb55 6735 (version "0.4.10")
dddbc90c
RV
6736 (source
6737 (origin
6738 (method url-fetch)
6739 (uri (string-append
6740 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6741 version
6742 ".tar.gz"))
6743 (sha256
6744 (base32
027beb55 6745 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6746 (build-system haskell-build-system)
6747 (inputs `(("ghc-microlens" ,ghc-microlens)))
6748 (home-page "https://github.com/monadfix/microlens")
6749 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6750 (description "This library provides everything that @code{microlens}
6751provides plus instances to make @code{each}, @code{at}, and @code{ix}
6752usable with arrays, @code{ByteString}, and containers. This package is
6753a part of the @uref{http://hackage.haskell.org/package/microlens,
6754microlens} family; see the readme
6755@uref{https://github.com/aelve/microlens#readme, on Github}.")
6756 (license license:bsd-3)))
6757
6758(define-public ghc-microlens-mtl
6759 (package
6760 (name "ghc-microlens-mtl")
6761 (version "0.1.11.1")
6762 (source
6763 (origin
6764 (method url-fetch)
6765 (uri (string-append
6766 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6767 version
6768 ".tar.gz"))
6769 (sha256
6770 (base32
6771 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6772 (build-system haskell-build-system)
6773 (inputs
6774 `(("ghc-microlens" ,ghc-microlens)
6775 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6776 (home-page "https://github.com/monadfix/microlens")
6777 (synopsis
6778 "@code{microlens} support for Reader/Writer/State from mtl")
6779 (description
6780 "This package contains functions (like @code{view} or @code{+=}) which
6781work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6782mtl package. This package is a part of the
6783@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6784readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6785 (license license:bsd-3)))
6786
6787(define-public ghc-microlens-platform
6788 (package
6789 (name "ghc-microlens-platform")
85decc1f 6790 (version "0.3.11")
dddbc90c
RV
6791 (source
6792 (origin
6793 (method url-fetch)
6794 (uri (string-append
6795 "https://hackage.haskell.org/package/"
6796 "microlens-platform/microlens-platform-" version ".tar.gz"))
6797 (sha256
6798 (base32
85decc1f 6799 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6800 (build-system haskell-build-system)
6801 (inputs
6802 `(("ghc-hashable" ,ghc-hashable)
6803 ("ghc-microlens" ,ghc-microlens)
6804 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6805 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6806 ("ghc-microlens-th" ,ghc-microlens-th)
6807 ("ghc-unordered-containers" ,ghc-unordered-containers)
6808 ("ghc-vector" ,ghc-vector)))
6809 (home-page "https://github.com/monadfix/microlens")
6810 (synopsis "Feature-complete microlens")
6811 (description
6812 "This package exports a module which is the recommended starting point
6813for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6814you aren't trying to keep your dependencies minimal. By importing
6815@code{Lens.Micro.Platform} you get all functions and instances from
6816@uref{http://hackage.haskell.org/package/microlens, microlens},
6817@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6818@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6819@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6820well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6821minor and major versions of @code{microlens-platform} are incremented whenever
6822the minor and major versions of any other @code{microlens} package are
6823incremented, so you can depend on the exact version of
6824@code{microlens-platform} without specifying the version of @code{microlens}
6825you need. This package is a part of the
6826@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6827readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6828 (license license:bsd-3)))
6829
6830(define-public ghc-microlens-th
6831 (package
6832 (name "ghc-microlens-th")
7ae52867 6833 (version "0.4.2.3")
dddbc90c
RV
6834 (source
6835 (origin
6836 (method url-fetch)
6837 (uri (string-append "https://hackage.haskell.org/package/"
6838 "microlens-th-" version "/"
6839 "microlens-th-" version ".tar.gz"))
6840 (sha256
6841 (base32
7ae52867 6842 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6843 (build-system haskell-build-system)
7ae52867
TS
6844 (arguments
6845 `(#:cabal-revision
6846 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6847 (inputs `(("ghc-microlens" ,ghc-microlens)
6848 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6849 (home-page
6850 "https://github.com/aelve/microlens")
6851 (synopsis "Automatic generation of record lenses for
6852@code{ghc-microlens}")
6853 (description "This Haskell package lets you automatically generate lenses
6854for data types; code was extracted from the lens package, and therefore
6855generated lenses are fully compatible with ones generated by lens (and can be
6856used both from lens and microlens).")
6857 (license license:bsd-3)))
6858
6859(define-public ghc-missingh
6860 (package
6861 (name "ghc-missingh")
641207cb 6862 (version "1.4.1.0")
dddbc90c
RV
6863 (source
6864 (origin
6865 (method url-fetch)
6866 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6867 "MissingH-" version ".tar.gz"))
6868 (sha256
6869 (base32
641207cb 6870 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6871 (build-system haskell-build-system)
6872 ;; Tests require the unmaintained testpack package, which depends on the
6873 ;; outdated QuickCheck version 2.7, which can no longer be built with
6874 ;; recent versions of GHC and Haskell libraries.
6875 (arguments '(#:tests? #f))
6876 (inputs
6877 `(("ghc-network" ,ghc-network)
6878 ("ghc-hunit" ,ghc-hunit)
6879 ("ghc-regex-compat" ,ghc-regex-compat)
6880 ("ghc-hslogger" ,ghc-hslogger)
6881 ("ghc-random" ,ghc-random)
6882 ("ghc-old-time" ,ghc-old-time)
6883 ("ghc-old-locale" ,ghc-old-locale)))
6884 (native-inputs
6885 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6886 ("ghc-quickcheck" ,ghc-quickcheck)
6887 ("ghc-hunit" ,ghc-hunit)))
6888 (home-page "http://software.complete.org/missingh")
6889 (synopsis "Large utility library")
6890 (description
6891 "MissingH is a library of all sorts of utility functions for Haskell
6892programmers. It is written in pure Haskell and thus should be extremely
6893portable and easy to use.")
6894 (license license:bsd-3)))
6895
6896(define-public ghc-mmap
6897 (package
6898 (name "ghc-mmap")
6899 (version "0.5.9")
6900 (source (origin
6901 (method url-fetch)
6902 (uri (string-append "https://hackage.haskell.org/package/"
6903 "mmap/mmap-" version ".tar.gz"))
6904 (sha256
6905 (base32
6906 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6907 (build-system haskell-build-system)
6908 (home-page "https://hackage.haskell.org/package/mmap")
6909 (synopsis "Memory mapped files for Haskell")
6910 (description
6911 "This library provides a wrapper to @code{mmap}, allowing files or
6912devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6913@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6914do on-demand loading.")
6915 (license license:bsd-3)))
6916
6917(define-public ghc-mmorph
6918 (package
6919 (name "ghc-mmorph")
e0389704 6920 (version "1.1.3")
dddbc90c
RV
6921 (source
6922 (origin
6923 (method url-fetch)
6924 (uri (string-append
6925 "https://hackage.haskell.org/package/mmorph/mmorph-"
6926 version
6927 ".tar.gz"))
6928 (sha256
6929 (base32
e0389704 6930 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6931 (build-system haskell-build-system)
6932 (inputs
6933 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6934 (home-page "https://hackage.haskell.org/package/mmorph")
6935 (synopsis "Monad morphisms")
6936 (description
6937 "This library provides monad morphism utilities, most commonly used for
6938manipulating monad transformer stacks.")
6939 (license license:bsd-3)))
6940
6941(define-public ghc-mockery
6942 (package
6943 (name "ghc-mockery")
6944 (version "0.3.5")
6945 (source (origin
6946 (method url-fetch)
6947 (uri (string-append "https://hackage.haskell.org/package/"
6948 "mockery/mockery-" version ".tar.gz"))
6949 (sha256
6950 (base32
6951 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6952 (build-system haskell-build-system)
6953 (inputs
6954 `(("ghc-temporary" ,ghc-temporary)
6955 ("ghc-logging-facade" ,ghc-logging-facade)
6956 ("ghc-base-compat" ,ghc-base-compat)))
6957 (native-inputs
6958 `(("ghc-hspec" ,ghc-hspec)
6959 ("hspec-discover" ,hspec-discover)))
6960 (home-page "https://hackage.haskell.org/package/mockery")
6961 (synopsis "Support functions for automated testing")
6962 (description
6963 "The mockery package provides support functions for automated testing.")
6964 (license license:expat)))
6965
6966(define-public ghc-monad-control
6967 (package
6968 (name "ghc-monad-control")
6969 (version "1.0.2.3")
6970 (source
6971 (origin
6972 (method url-fetch)
6973 (uri (string-append
6974 "https://hackage.haskell.org/package/monad-control"
6975 "/monad-control-" version ".tar.gz"))
6976 (sha256
6977 (base32
6978 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6979 (build-system haskell-build-system)
6980 (inputs
6981 `(("ghc-transformers-base" ,ghc-transformers-base)
6982 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6983 (home-page "https://github.com/basvandijk/monad-control")
6984 (synopsis "Monad transformers to lift control operations like exception
6985catching")
6986 (description "This package defines the type class @code{MonadBaseControl},
6987a subset of @code{MonadBase} into which generic control operations such as
6988@code{catch} can be lifted from @code{IO} or any other base monad.")
6989 (license license:bsd-3)))
6990
6991(define-public ghc-monad-logger
6992 (package
6993 (name "ghc-monad-logger")
26980aae 6994 (version "0.3.30")
dddbc90c
RV
6995 (source
6996 (origin
6997 (method url-fetch)
6998 (uri (string-append "https://hackage.haskell.org/package/"
6999 "monad-logger-" version "/"
7000 "monad-logger-" version ".tar.gz"))
7001 (sha256
7002 (base32
26980aae 7003 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7004 (build-system haskell-build-system)
7005 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7006 ("ghc-stm-chans" ,ghc-stm-chans)
7007 ("ghc-lifted-base" ,ghc-lifted-base)
7008 ("ghc-resourcet" ,ghc-resourcet)
7009 ("ghc-conduit" ,ghc-conduit)
7010 ("ghc-conduit-extra" ,ghc-conduit-extra)
7011 ("ghc-fast-logger" ,ghc-fast-logger)
7012 ("ghc-transformers-base" ,ghc-transformers-base)
7013 ("ghc-monad-control" ,ghc-monad-control)
7014 ("ghc-monad-loops" ,ghc-monad-loops)
7015 ("ghc-blaze-builder" ,ghc-blaze-builder)
7016 ("ghc-exceptions" ,ghc-exceptions)))
7017 (home-page "https://github.com/kazu-yamamoto/logger")
7018 (synopsis "Provides a class of monads which can log messages for Haskell")
7019 (description "This Haskell package uses a monad transformer approach
7020for logging.
7021
7022This package provides Template Haskell functions for determining source
7023code locations of messages.")
7024 (license license:expat)))
7025
7026(define-public ghc-monad-loops
7027 (package
7028 (name "ghc-monad-loops")
7029 (version "0.4.3")
7030 (source
7031 (origin
7032 (method url-fetch)
7033 (uri (string-append "https://hackage.haskell.org/package/"
7034 "monad-loops-" version "/"
7035 "monad-loops-" version ".tar.gz"))
7036 (sha256
7037 (base32
7038 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7039 (build-system haskell-build-system)
7040 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7041 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7042 (home-page "https://github.com/mokus0/monad-loops")
7043 (synopsis "Monadic loops for Haskell")
7044 (description "This Haskell package provides some useful control
7045operators for looping.")
7046 (license license:public-domain)))
7047
7048(define-public ghc-monad-par
7049 (package
7050 (name "ghc-monad-par")
7051 (version "0.3.4.8")
7052 (source
7053 (origin
7054 (method url-fetch)
7055 (uri (string-append "https://hackage.haskell.org/package/"
7056 "monad-par-" version "/"
7057 "monad-par-" version ".tar.gz"))
faac56f3 7058 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7059 (sha256
7060 (base32
7061 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7062 (build-system haskell-build-system)
7063 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7064 ("ghc-abstract-deque" ,ghc-abstract-deque)
7065 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7066 ("ghc-mwc-random" ,ghc-mwc-random)
7067 ("ghc-parallel" ,ghc-parallel)))
7068 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7069 ("ghc-hunit" ,ghc-hunit)
7070 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7071 ("ghc-test-framework-quickcheck2"
7072 ,ghc-test-framework-quickcheck2)
7073 ("ghc-test-framework" ,ghc-test-framework)
7074 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7075 (home-page "https://github.com/simonmar/monad-par")
7076 (synopsis "Haskell library for parallel programming based on a monad")
7077 (description "The @code{Par} monad offers an API for parallel
7078programming. The library works for parallelising both pure and @code{IO}
7079computations, although only the pure version is deterministic. The default
7080implementation provides a work-stealing scheduler and supports forking tasks
7081that are much lighter weight than IO-threads.")
7082 (license license:bsd-3)))
7083
7084(define-public ghc-monad-par-extras
7085 (package
7086 (name "ghc-monad-par-extras")
7087 (version "0.3.3")
7088 (source
7089 (origin
7090 (method url-fetch)
7091 (uri (string-append "https://hackage.haskell.org/package/"
7092 "monad-par-extras-" version "/"
7093 "monad-par-extras-" version ".tar.gz"))
7094 (sha256
7095 (base32
7096 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7097 (build-system haskell-build-system)
7098 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7099 ("ghc-cereal" ,ghc-cereal)
7100 ("ghc-random" ,ghc-random)))
7101 (home-page "https://github.com/simonmar/monad-par")
7102 (synopsis "Combinators and extra features for Par monads for Haskell")
7103 (description "This Haskell package provides additional data structures,
7104and other added capabilities layered on top of the @code{Par} monad.")
7105 (license license:bsd-3)))
7106
dddbc90c
RV
7107(define-public ghc-monadrandom
7108 (package
7109 (name "ghc-monadrandom")
7110 (version "0.5.1.1")
7111 (source
7112 (origin
7113 (method url-fetch)
7114 (uri (string-append "https://hackage.haskell.org/package/"
7115 "MonadRandom-" version "/"
7116 "MonadRandom-" version ".tar.gz"))
7117 (sha256
7118 (base32
7119 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7120 (build-system haskell-build-system)
7121 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7122 ("ghc-primitive" ,ghc-primitive)
7123 ("ghc-fail" ,ghc-fail)
7124 ("ghc-random" ,ghc-random)))
7125 (home-page "https://github.com/byorgey/MonadRandom")
7126 (synopsis "Random-number generation monad for Haskell")
7127 (description "This Haskell package provides support for computations
7128which consume random values.")
7129 (license license:bsd-3)))
7130
7131(define-public ghc-monads-tf
7132 (package
7133 (name "ghc-monads-tf")
7134 (version "0.1.0.3")
7135 (source
7136 (origin
7137 (method url-fetch)
7138 (uri (string-append
7139 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7140 version ".tar.gz"))
7141 (sha256
7142 (base32
7143 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7144 (build-system haskell-build-system)
7145 (home-page "https://hackage.haskell.org/package/monads-tf")
7146 (synopsis "Monad classes, using type families")
7147 (description
7148 "Monad classes using type families, with instances for various monad transformers,
7149inspired by the paper 'Functional Programming with Overloading and Higher-Order
7150Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7151the @code{mtl-tf} package.")
7152 (license license:bsd-3)))
7153
7154(define-public ghc-mono-traversable
7155 (package
7156 (name "ghc-mono-traversable")
23bb445b 7157 (version "1.0.13.0")
dddbc90c
RV
7158 (source
7159 (origin
7160 (method url-fetch)
7161 (uri (string-append "https://hackage.haskell.org/package/"
7162 "mono-traversable-" version "/"
7163 "mono-traversable-" version ".tar.gz"))
7164 (sha256
7165 (base32
23bb445b 7166 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7167 (build-system haskell-build-system)
7168 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7169 ("ghc-hashable" ,ghc-hashable)
7170 ("ghc-vector" ,ghc-vector)
7171 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7172 ("ghc-split" ,ghc-split)))
7173 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7174 ("ghc-hunit" ,ghc-hunit)
7175 ("ghc-quickcheck" ,ghc-quickcheck)
7176 ("ghc-semigroups" ,ghc-semigroups)
7177 ("ghc-foldl" ,ghc-foldl)))
7178 (home-page "https://github.com/snoyberg/mono-traversable")
7179 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7180containers")
7181 (description "This Haskell package provides Monomorphic variants of the
7182Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7183basic typeclasses, you understand mono-traversable. In addition to what
7184you are used to, it adds on an IsSequence typeclass and has code for marking
7185data structures as non-empty.")
7186 (license license:expat)))
7187
471e77cf
TS
7188(define-public ghc-monoid-extras
7189 (package
7190 (name "ghc-monoid-extras")
7191 (version "0.5.1")
7192 (source
7193 (origin
7194 (method url-fetch)
7195 (uri (string-append "https://hackage.haskell.org/package/"
7196 "monoid-extras/monoid-extras-" version ".tar.gz"))
7197 (sha256
7198 (base32
7199 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7200 (build-system haskell-build-system)
7201 (inputs
7202 `(("ghc-groups" ,ghc-groups)
7203 ("ghc-semigroups" ,ghc-semigroups)
7204 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7205 (arguments
7206 `(#:cabal-revision
7207 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7208 (home-page "https://hackage.haskell.org/package/monoid-extras")
7209 (synopsis "Various extra monoid-related definitions and utilities")
7210 (description "This package provides various extra monoid-related
7211definitions and utilities, such as monoid actions, monoid coproducts,
7212semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7213\"cut\" monoids.")
7214 (license license:bsd-3)))
7215
dddbc90c
RV
7216(define-public ghc-murmur-hash
7217 (package
7218 (name "ghc-murmur-hash")
7219 (version "0.1.0.9")
7220 (source
7221 (origin
7222 (method url-fetch)
7223 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7224 "/murmur-hash-" version ".tar.gz"))
7225 (sha256
7226 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7227 (build-system haskell-build-system)
7228 (home-page "https://github.com/nominolo/murmur-hash")
7229 (synopsis "MurmurHash2 implementation for Haskell")
7230 (description
7231 "This package provides an implementation of MurmurHash2, a good, fast,
7232general-purpose, non-cryptographic hashing function. See
7233@url{https://sites.google.com/site/murmurhash/} for details. This
7234implementation is pure Haskell, so it might be a bit slower than a C FFI
7235binding.")
7236 (license license:bsd-3)))
7237
7238(define-public ghc-mwc-random
7239 (package
7240 (name "ghc-mwc-random")
33268e2c 7241 (version "0.14.0.0")
dddbc90c
RV
7242 (source
7243 (origin
7244 (method url-fetch)
7245 (uri (string-append "https://hackage.haskell.org/package/"
7246 "mwc-random-" version "/"
7247 "mwc-random-" version ".tar.gz"))
7248 (sha256
7249 (base32
33268e2c 7250 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7251 (build-system haskell-build-system)
7252 (inputs
7253 `(("ghc-primitive" ,ghc-primitive)
7254 ("ghc-vector" ,ghc-vector)
7255 ("ghc-math-functions" ,ghc-math-functions)))
7256 (arguments
7257 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7258 (native-inputs
7259 `(("ghc-hunit" ,ghc-hunit)
7260 ("ghc-quickcheck" ,ghc-quickcheck)
7261 ("ghc-test-framework" ,ghc-test-framework)
7262 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7263 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7264 (home-page "https://github.com/bos/mwc-random")
7265 (synopsis "Random number generation library for Haskell")
7266 (description "This Haskell package contains code for generating
7267high quality random numbers that follow either a uniform or normal
7268distribution. The generated numbers are suitable for use in
7269statistical applications.
7270
7271The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7272multiply-with-carry generator, which has a period of 2^{8222} and
7273fares well in tests of randomness. It is also extremely fast,
7274between 2 and 3 times faster than the Mersenne Twister.")
7275 (license license:bsd-3)))
7276
7277(define-public ghc-nats
7278 (package
7279 (name "ghc-nats")
7280 (version "1.1.2")
7281 (source
7282 (origin
7283 (method url-fetch)
7284 (uri (string-append
7285 "https://hackage.haskell.org/package/nats/nats-"
7286 version
7287 ".tar.gz"))
7288 (sha256
7289 (base32
7290 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7291 (build-system haskell-build-system)
7292 (arguments `(#:haddock? #f))
7293 (inputs
7294 `(("ghc-hashable" ,ghc-hashable)))
7295 (home-page "https://hackage.haskell.org/package/nats")
7296 (synopsis "Natural numbers")
7297 (description "This library provides the natural numbers for Haskell.")
7298 (license license:bsd-3)))
7299
7300(define-public ghc-nats-bootstrap
7301 (package
7302 (inherit ghc-nats)
7303 (name "ghc-nats-bootstrap")
7304 (inputs
7305 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7306 (properties '((hidden? #t)))))
7307
52915062
EF
7308(define-public ghc-ncurses
7309 (package
7310 (name "ghc-ncurses")
7311 (version "0.2.16")
7312 (source
7313 (origin
7314 (method url-fetch)
7315 (uri (string-append
7316 "https://hackage.haskell.org/package/ncurses/ncurses-"
7317 version ".tar.gz"))
7318 (sha256
7319 (base32
7320 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7321 (build-system haskell-build-system)
7322 (arguments
7323 '(#:phases
7324 (modify-phases %standard-phases
7325 (add-before 'build 'fix-includes
7326 (lambda _
7327 (substitute* '("cbits/hsncurses-shim.h"
7328 "lib/UI/NCurses.chs"
7329 "lib/UI/NCurses/Enums.chs"
7330 "lib/UI/NCurses/Panel.chs")
7331 (("<ncursesw/") "<"))
7332 #t)))
7333 #:cabal-revision
7334 ("1"
7335 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7336 (inputs `(("ncurses" ,ncurses)))
7337 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7338 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7339 (synopsis "Modernised bindings to GNU ncurses")
7340 (description "GNU ncurses is a library for creating command-line application
7341with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7342ncurses.")
7343 (license license:gpl3)))
7344
dddbc90c
RV
7345(define-public ghc-network
7346 (package
7347 (name "ghc-network")
d4473202 7348 (version "2.8.0.1")
dddbc90c
RV
7349 (outputs '("out" "doc"))
7350 (source
7351 (origin
7352 (method url-fetch)
7353 (uri (string-append
7354 "https://hackage.haskell.org/package/network/network-"
7355 version
7356 ".tar.gz"))
7357 (sha256
7358 (base32
d4473202 7359 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7360 (build-system haskell-build-system)
7361 ;; The regression tests depend on an unpublished module.
7362 (arguments `(#:tests? #f))
7363 (native-inputs
7364 `(("ghc-hunit" ,ghc-hunit)
7365 ("ghc-doctest" ,ghc-doctest)
7366 ("ghc-test-framework" ,ghc-test-framework)
7367 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7368 (home-page "https://github.com/haskell/network")
7369 (synopsis "Low-level networking interface")
7370 (description
7371 "This package provides a low-level networking interface.")
7372 (license license:bsd-3)))
4780db2c 7373
30eebbe6
TS
7374(define-public ghc-network-bsd
7375 (package
7376 (name "ghc-network-bsd")
7377 (version "2.8.0.0")
7378 (source
7379 (origin
7380 (method url-fetch)
7381 (uri (string-append "https://hackage.haskell.org/package/"
7382 "network-bsd/network-bsd-" version ".tar.gz"))
7383 (sha256
7384 (base32
7385 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7386 (build-system haskell-build-system)
7387 (inputs
7388 `(("ghc-network" ,ghc-network)))
7389 (home-page "https://github.com/haskell/network-bsd")
7390 (synopsis "POSIX network database (<netdb.h>) API")
7391 (description "This package provides Haskell bindings to the the POSIX
7392network database (<netdb.h>) API.")
7393 (license license:bsd-3)))
7394
096781a1
TS
7395(define-public ghc-network-byte-order
7396 (package
7397 (name "ghc-network-byte-order")
7398 (version "0.1.1.1")
7399 (source
7400 (origin
7401 (method url-fetch)
7402 (uri (string-append "https://hackage.haskell.org/package/"
7403 "network-byte-order/network-byte-order-"
7404 version ".tar.gz"))
7405 (sha256
7406 (base32
7407 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7408 (build-system haskell-build-system)
7409 (native-inputs
7410 `(("ghc-doctest" ,ghc-doctest)))
7411 (home-page "http://hackage.haskell.org/package/network-byte-order")
7412 (synopsis "Network byte order utilities")
7413 (description "This library provides peek and poke functions for network
7414byte order.")
7415 (license license:bsd-3)))
7416
dddbc90c
RV
7417(define-public ghc-network-info
7418 (package
7419 (name "ghc-network-info")
7420 (version "0.2.0.10")
7421 (source
7422 (origin
7423 (method url-fetch)
7424 (uri (string-append "https://hackage.haskell.org/package/"
7425 "network-info-" version "/"
7426 "network-info-" version ".tar.gz"))
7427 (sha256
7428 (base32
7429 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7430 (build-system haskell-build-system)
7431 (home-page "https://github.com/jystic/network-info")
7432 (synopsis "Access the local computer's basic network configuration")
7433 (description "This Haskell library provides simple read-only access to the
7434local computer's networking configuration. It is currently capable of
7435getting a list of all the network interfaces and their respective
7436IPv4, IPv6 and MAC addresses.")
7437 (license license:bsd-3)))
7438
7439(define-public ghc-network-uri
7440 (package
7441 (name "ghc-network-uri")
7442 (version "2.6.1.0")
7443 (outputs '("out" "doc"))
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append
7448 "https://hackage.haskell.org/package/network-uri/network-uri-"
7449 version
7450 ".tar.gz"))
7451 (sha256
7452 (base32
7453 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7454 (build-system haskell-build-system)
7455 (arguments
7456 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7457 (inputs
7458 `(("ghc-network" ,ghc-network)))
7459 (native-inputs
7460 `(("ghc-hunit" ,ghc-hunit)))
7461 (home-page
7462 "https://github.com/haskell/network-uri")
7463 (synopsis "Library for URI manipulation")
7464 (description "This package provides an URI manipulation interface. In
7465@code{network-2.6} the @code{Network.URI} module was split off from the
7466@code{network} package into this package.")
7467 (license license:bsd-3)))
7468
7469(define-public ghc-newtype-generics
7470 (package
7471 (name "ghc-newtype-generics")
c07e16dd 7472 (version "0.5.4")
dddbc90c
RV
7473 (source
7474 (origin
7475 (method url-fetch)
7476 (uri (string-append "https://hackage.haskell.org/package/"
7477 "newtype-generics/newtype-generics-"
7478 version ".tar.gz"))
7479 (sha256
7480 (base32
c07e16dd 7481 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7482 (build-system haskell-build-system)
7483 (native-inputs
7484 `(("ghc-hspec" ,ghc-hspec)
7485 ("hspec-discover" ,hspec-discover)))
7486 (home-page "http://github.com/sjakobi/newtype-generics")
7487 (synopsis "Typeclass and set of functions for working with newtypes")
7488 (description "The @code{Newtype} typeclass represents the packing and
7489unpacking of a newtype, and allows you to operate under that newtype with
7490functions such as @code{ala}. Generics support was added in version 0.4,
7491making this package a full replacement for the original newtype package,
7492and an alternative to newtype-th.")
7493 (license license:bsd-3)))
7494
6b652f5a
JS
7495(define-public ghc-non-negative
7496 (package
7497 (name "ghc-non-negative")
7498 (version "0.1.2")
7499 (source
7500 (origin
7501 (method url-fetch)
7502 (uri
7503 (string-append
7504 "https://hackage.haskell.org/package/non-negative/non-negative-"
7505 version ".tar.gz"))
7506 (sha256
7507 (base32
7508 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7509 (build-system haskell-build-system)
7510 (inputs
7511 `(("ghc-semigroups" ,ghc-semigroups)
7512 ("ghc-utility-ht" ,ghc-utility-ht)
7513 ("ghc-quickcheck" ,ghc-quickcheck)))
7514 (home-page "https://hackage.haskell.org/package/non-negative")
7515 (synopsis "Non-negative numbers class")
7516 (description "This library provides a class for non-negative numbers,
7517a wrapper which can turn any ordered numeric type into a member of that
7518class, and a lazy number type for non-negative numbers (a generalization
7519of Peano numbers).")
7520 (license license:gpl3+)))
7521
dddbc90c
RV
7522(define-public ghc-objectname
7523 (package
7524 (name "ghc-objectname")
7525 (version "1.1.0.1")
7526 (source
7527 (origin
7528 (method url-fetch)
7529 (uri (string-append
7530 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7531 version
7532 ".tar.gz"))
7533 (sha256
7534 (base32
7535 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7536 (build-system haskell-build-system)
7537 (home-page "https://hackage.haskell.org/package/ObjectName")
7538 (synopsis "Helper library for Haskell OpenGL")
7539 (description "This tiny package contains the class ObjectName, which
7540corresponds to the general notion of explicitly handled identifiers for API
7541objects, e.g. a texture object name in OpenGL or a buffer object name in
7542OpenAL.")
7543 (license license:bsd-3)))
7544
7545(define-public ghc-old-locale
7546 (package
7547 (name "ghc-old-locale")
7548 (version "1.0.0.7")
7549 (source
7550 (origin
7551 (method url-fetch)
7552 (uri (string-append
7553 "https://hackage.haskell.org/package/old-locale/old-locale-"
7554 version
7555 ".tar.gz"))
7556 (sha256
7557 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7558 (build-system haskell-build-system)
7559 (arguments
7560 `(#:cabal-revision
7561 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7562 (home-page "https://hackage.haskell.org/package/old-locale")
7563 (synopsis "Adapt to locale conventions")
7564 (description
7565 "This package provides the ability to adapt to locale conventions such as
7566date and time formats.")
7567 (license license:bsd-3)))
7568
7569(define-public ghc-old-time
7570 (package
7571 (name "ghc-old-time")
7572 (version "1.1.0.3")
7573 (source
7574 (origin
7575 (method url-fetch)
7576 (uri (string-append
7577 "https://hackage.haskell.org/package/old-time/old-time-"
7578 version
7579 ".tar.gz"))
7580 (sha256
7581 (base32
7582 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7583 (build-system haskell-build-system)
7584 (arguments
7585 `(#:cabal-revision
7586 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7587 (inputs
7588 `(("ghc-old-locale" ,ghc-old-locale)))
7589 (home-page "https://hackage.haskell.org/package/old-time")
7590 (synopsis "Time compatibility library for Haskell")
7591 (description "Old-time is a package for backwards compatibility with the
7592old @code{time} library. For new projects, the newer
7593@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7594 (license license:bsd-3)))
7595
7596(define-public ghc-opengl
7597 (package
7598 (name "ghc-opengl")
79a06910 7599 (version "3.0.3.0")
dddbc90c
RV
7600 (source
7601 (origin
7602 (method url-fetch)
7603 (uri (string-append
7604 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7605 version
7606 ".tar.gz"))
7607 (sha256
7608 (base32
79a06910 7609 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7610 (build-system haskell-build-system)
79a06910
TS
7611 (arguments
7612 `(#:cabal-revision
7613 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7614 (inputs
7615 `(("ghc-objectname" ,ghc-objectname)
7616 ("ghc-gluraw" ,ghc-gluraw)
7617 ("ghc-statevar" ,ghc-statevar)
7618 ("ghc-openglraw" ,ghc-openglraw)))
7619 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7620 (synopsis "Haskell bindings for the OpenGL graphics system")
7621 (description "This package provides Haskell bindings for the OpenGL
7622graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7623version 1.3).")
7624 (license license:bsd-3)))
7625
7626(define-public ghc-openglraw
7627 (package
7628 (name "ghc-openglraw")
15ebc815 7629 (version "3.3.3.0")
dddbc90c
RV
7630 (source
7631 (origin
7632 (method url-fetch)
7633 (uri (string-append
7634 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7635 version
7636 ".tar.gz"))
7637 (sha256
7638 (base32
15ebc815 7639 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7640 (build-system haskell-build-system)
7641 (inputs
7642 `(("ghc-half" ,ghc-half)
7643 ("ghc-fixed" ,ghc-fixed)
7644 ("glu" ,glu)))
7645 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7646 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7647 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7648graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7649of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7650offers access to all necessary functions, tokens and types plus a general
7651facility for loading extension entries. The module hierarchy closely mirrors
7652the naming structure of the OpenGL extensions, making it easy to find the
7653right module to import. All API entries are loaded dynamically, so no special
7654C header files are needed for building this package. If an API entry is not
7655found at runtime, a userError is thrown.")
7656 (license license:bsd-3)))
7657
7658(define-public ghc-operational
7659 (package
7660 (name "ghc-operational")
7661 (version "0.2.3.5")
7662 (source
7663 (origin
7664 (method url-fetch)
7665 (uri (string-append "https://hackage.haskell.org/package/operational/"
7666 "operational-" version ".tar.gz"))
7667 (sha256
7668 (base32
7669 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7670 (build-system haskell-build-system)
7671 (inputs
7672 `(("ghc-random" ,ghc-random)))
7673 (home-page "http://wiki.haskell.org/Operational")
7674 (synopsis "Implementation of difficult monads made easy with operational semantics")
7675 (description
7676 "This library makes it easy to implement monads with tricky control
7677flow. This is useful for: writing web applications in a sequential style,
7678programming games with a uniform interface for human and AI players and easy
7679replay capababilities, implementing fast parser monads, designing monadic
7680DSLs, etc.")
7681 (license license:bsd-3)))
7682
7683(define-public ghc-options
7684 (package
7685 (name "ghc-options")
7686 (version "1.2.1.1")
7687 (source
7688 (origin
7689 (method url-fetch)
7690 (uri (string-append
7691 "https://hackage.haskell.org/package/options/options-"
7692 version ".tar.gz"))
7693 (sha256
7694 (base32
7695 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7696 (build-system haskell-build-system)
24cf2a8b
TS
7697 (arguments
7698 `(#:phases
7699 (modify-phases %standard-phases
7700 (add-before 'configure 'update-constraints
7701 (lambda _
7702 (substitute* "options.cabal"
7703 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
7704 #t)))))
dddbc90c
RV
7705 (inputs
7706 `(("ghc-monads-tf" ,ghc-monads-tf)
7707 ("ghc-chell" ,ghc-chell)
7708 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7709 (home-page "https://john-millikin.com/software/haskell-options/")
7710 (synopsis "Powerful and easy-to-use command-line option parser")
7711 (description
7712 "The @code{options} package lets library and application developers
7713easily work with command-line options.")
7714 (license license:expat)))
7715
7716;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7717(define ghc-options-bootstrap
7718 (package
7719 (name "ghc-options-bootstrap")
7720 (version "1.2.1.1")
7721 (source
7722 (origin
7723 (method url-fetch)
7724 (uri (string-append
7725 "https://hackage.haskell.org/package/options/options-"
7726 version ".tar.gz"))
7727 (sha256
7728 (base32
7729 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7730 (build-system haskell-build-system)
7731 (arguments
7732 `(#:tests? #f))
7733 (inputs
7734 `(("ghc-monads-tf" ,ghc-monads-tf)))
7735 (home-page "https://john-millikin.com/software/haskell-options/")
7736 (synopsis "Powerful and easy-to-use command-line option parser")
7737 (description
7738 "The @code{options} package lets library and application developers
7739easily work with command-line options.")
7740 (license license:expat)))
7741
7742
7743(define-public ghc-optparse-applicative
7744 (package
7745 (name "ghc-optparse-applicative")
74bf6965 7746 (version "0.14.3.0")
dddbc90c
RV
7747 (source
7748 (origin
7749 (method url-fetch)
7750 (uri (string-append
7751 "https://hackage.haskell.org/package/optparse-applicative"
7752 "/optparse-applicative-" version ".tar.gz"))
7753 (sha256
7754 (base32
74bf6965 7755 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7756 (build-system haskell-build-system)
74bf6965
TS
7757 (arguments
7758 `(#:cabal-revision
7759 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7760 (inputs
7761 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7762 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7763 (native-inputs
7764 `(("ghc-quickcheck" ,ghc-quickcheck)))
7765 (home-page "https://github.com/pcapriotti/optparse-applicative")
7766 (synopsis "Utilities and combinators for parsing command line options")
7767 (description "This package provides utilities and combinators for parsing
7768command line options in Haskell.")
7769 (license license:bsd-3)))
7770
7771(define-public ghc-pandoc
7772 (package
7773 (name "ghc-pandoc")
d9b1567a 7774 (version "2.7.3")
dddbc90c
RV
7775 (source
7776 (origin
7777 (method url-fetch)
7778 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7779 version ".tar.gz"))
d9b1567a
TS
7780 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
7781 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
7782 (sha256
7783 (base32
d9b1567a 7784 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 7785 (build-system haskell-build-system)
dddbc90c
RV
7786 (inputs
7787 `(("ghc-aeson" ,ghc-aeson)
7788 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7789 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7790 ("ghc-blaze-html" ,ghc-blaze-html)
7791 ("ghc-blaze-markup" ,ghc-blaze-markup)
7792 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7793 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
7794 ("ghc-diff" ,ghc-diff)
7795 ("ghc-doctemplates" ,ghc-doctemplates)
7796 ("ghc-executable-path" ,ghc-executable-path)
7797 ("ghc-glob" ,ghc-glob)
7798 ("ghc-haddock-library" ,ghc-haddock-library)
7799 ("ghc-hslua" ,ghc-hslua)
d9b1567a 7800 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 7801 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 7802 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
7803 ("ghc-http" ,ghc-http)
7804 ("ghc-http-client" ,ghc-http-client)
7805 ("ghc-http-client-tls" ,ghc-http-client-tls)
7806 ("ghc-http-types" ,ghc-http-types)
d9b1567a 7807 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
7808 ("ghc-juicypixels" ,ghc-juicypixels)
7809 ("ghc-network" ,ghc-network)
7810 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
7811 ("ghc-pandoc-types" ,ghc-pandoc-types)
7812 ("ghc-random" ,ghc-random)
7813 ("ghc-scientific" ,ghc-scientific)
7814 ("ghc-sha" ,ghc-sha)
7815 ("ghc-skylighting" ,ghc-skylighting)
7816 ("ghc-split" ,ghc-split)
7817 ("ghc-syb" ,ghc-syb)
7818 ("ghc-tagsoup" ,ghc-tagsoup)
7819 ("ghc-temporary" ,ghc-temporary)
7820 ("ghc-texmath" ,ghc-texmath)
d9b1567a 7821 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
7822 ("ghc-unordered-containers" ,ghc-unordered-containers)
7823 ("ghc-vector" ,ghc-vector)
7824 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
7825 ("ghc-zip-archive" ,ghc-zip-archive)
7826 ("ghc-zlib" ,ghc-zlib)))
7827 (native-inputs
7828 `(("ghc-tasty" ,ghc-tasty)
7829 ("ghc-tasty-golden" ,ghc-tasty-golden)
7830 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 7831 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
7832 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7833 ("ghc-quickcheck" ,ghc-quickcheck)
7834 ("ghc-hunit" ,ghc-hunit)))
7835 (home-page "https://pandoc.org")
7836 (synopsis "Conversion between markup formats")
7837 (description
7838 "Pandoc is a Haskell library for converting from one markup format to
7839another, and a command-line tool that uses this library. It can read and
7840write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7841LaTeX, DocBook, and many more.
7842
7843Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7844definition lists, tables, and other features. A compatibility mode is
7845provided for those who need a drop-in replacement for Markdown.pl.")
7846 (license license:gpl2+)))
7847
7848(define-public ghc-pandoc-citeproc
7849 (package
7850 (name "ghc-pandoc-citeproc")
2da02d09 7851 (version "0.16.2")
dddbc90c
RV
7852 (source
7853 (origin
7854 (method url-fetch)
7855 (uri (string-append "https://hackage.haskell.org/package/"
7856 "pandoc-citeproc/pandoc-citeproc-"
7857 version ".tar.gz"))
7858 (sha256
7859 (base32
2da02d09 7860 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
7861 (build-system haskell-build-system)
7862 (arguments
7863 `(#:phases
7864 (modify-phases %standard-phases
7865 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7866 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7867 (add-before 'configure 'patch-tests
7868 (lambda _
7869 (substitute* "tests/test-pandoc-citeproc.hs"
7870 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7871 "let allTests = citeprocTests"))))
7872 ;; Tests need to be run after installation.
7873 (delete 'check)
7874 (add-after 'install 'post-install-check
7875 (assoc-ref %standard-phases 'check)))))
7876 (inputs
7877 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7878 ("ghc-pandoc" ,ghc-pandoc)
7879 ("ghc-tagsoup" ,ghc-tagsoup)
7880 ("ghc-aeson" ,ghc-aeson)
7881 ("ghc-vector" ,ghc-vector)
7882 ("ghc-xml-conduit" ,ghc-xml-conduit)
7883 ("ghc-unordered-containers" ,ghc-unordered-containers)
7884 ("ghc-data-default" ,ghc-data-default)
7885 ("ghc-setenv" ,ghc-setenv)
7886 ("ghc-split" ,ghc-split)
7887 ("ghc-yaml" ,ghc-yaml)
7888 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7889 ("ghc-rfc5051" ,ghc-rfc5051)
7890 ("ghc-syb" ,ghc-syb)
7891 ("ghc-old-locale" ,ghc-old-locale)
7892 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7893 ("ghc-attoparsec" ,ghc-attoparsec)
7894 ("ghc-temporary" ,ghc-temporary)))
7895 (home-page "https://github.com/jgm/pandoc-citeproc")
7896 (synopsis "Library for using pandoc with citeproc")
7897 (description
7898 "The @code{pandoc-citeproc} library exports functions for using the
7899citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7900rendering bibliographic reference citations into a variety of styles using a
7901macro language called @dfn{Citation Style Language} (CSL). This package also
7902contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7903and also has a mode for converting bibliographic databases a YAML format
7904suitable for inclusion in pandoc YAML metadata.")
7905 (license license:bsd-3)))
7906
7907(define-public ghc-pandoc-types
7908 (package
7909 (name "ghc-pandoc-types")
0eaa88c8 7910 (version "1.17.6.1")
dddbc90c
RV
7911 (source (origin
7912 (method url-fetch)
7913 (uri (string-append "https://hackage.haskell.org/package/"
7914 "pandoc-types/pandoc-types-"
7915 version ".tar.gz"))
7916 (sha256
7917 (base32
0eaa88c8 7918 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7919 (build-system haskell-build-system)
7920 (inputs
7921 `(("ghc-syb" ,ghc-syb)
7922 ("ghc-aeson" ,ghc-aeson)
7923 ("ghc-string-qq" ,ghc-string-qq)))
7924 (native-inputs
7925 `(("ghc-quickcheck" ,ghc-quickcheck)
7926 ("ghc-test-framework" ,ghc-test-framework)
7927 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7928 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7929 ("ghc-hunit" ,ghc-hunit)))
7930 (home-page "http://johnmacfarlane.net/pandoc")
7931 (synopsis "Types for representing a structured document")
7932 (description
7933 "This module defines the @code{Pandoc} data structure, which is used by
7934pandoc to represent structured documents. It also provides functions for
7935building up, manipulating and serialising @code{Pandoc} structures.")
7936 (license license:bsd-3)))
7937
7938(define-public ghc-parallel
7939 (package
7940 (name "ghc-parallel")
7941 (version "3.2.2.0")
7942 (outputs '("out" "doc"))
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append
7947 "https://hackage.haskell.org/package/parallel/parallel-"
7948 version
7949 ".tar.gz"))
7950 (sha256
7951 (base32
7952 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7953 (build-system haskell-build-system)
7954 (home-page "https://hackage.haskell.org/package/parallel")
7955 (synopsis "Parallel programming library")
7956 (description
7957 "This package provides a library for parallel programming.")
7958 (license license:bsd-3)))
7959
7960(define-public ghc-parsec-numbers
7961 (package
7962 (name "ghc-parsec-numbers")
7963 (version "0.1.0")
7964 (source
7965 (origin
7966 (method url-fetch)
7967 (uri (string-append "https://hackage.haskell.org/package/"
7968 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7969 (sha256
7970 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7971 (build-system haskell-build-system)
7972 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7973 (synopsis "Utilities for parsing numbers from strings")
7974 (description
7975 "This package provides the number parsers without the need to use a large
7976(and unportable) token parser.")
7977 (license license:bsd-3)))
7978
7979(define-public ghc-parser-combinators
7980 (package
7981 (name "ghc-parser-combinators")
2f173160 7982 (version "1.1.0")
dddbc90c
RV
7983 (source
7984 (origin
7985 (method url-fetch)
7986 (uri (string-append "https://hackage.haskell.org/package/"
7987 "parser-combinators/parser-combinators-"
7988 version ".tar.gz"))
7989 (sha256
7990 (base32
2f173160 7991 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7992 (build-system haskell-build-system)
7993 (home-page "https://github.com/mrkkrp/parser-combinators")
7994 (synopsis "Commonly useful parser combinators")
7995 (description
7996 "This is a lightweight package providing commonly useful parser
7997combinators.")
7998 (license license:bsd-3)))
7999
8000(define-public ghc-parsers
8001 (package
8002 (name "ghc-parsers")
6818f970 8003 (version "0.12.10")
dddbc90c
RV
8004 (source
8005 (origin
8006 (method url-fetch)
8007 (uri (string-append
8008 "https://hackage.haskell.org/package/parsers/parsers-"
8009 version
8010 ".tar.gz"))
8011 (sha256
8012 (base32
6818f970 8013 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8014 (build-system haskell-build-system)
8015 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8016 ; -package attoparsec-0.13.0.1"
8017 (inputs
8018 `(("ghc-base-orphans" ,ghc-base-orphans)
8019 ("ghc-attoparsec" ,ghc-attoparsec)
8020 ("ghc-scientific" ,ghc-scientific)
8021 ("ghc-charset" ,ghc-charset)
8022 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8023 (home-page "https://github.com/ekmett/parsers/")
8024 (synopsis "Parsing combinators")
8025 (description "This library provides convenient combinators for working
8026with and building parsing combinator libraries. Given a few simple instances,
8027you get access to a large number of canned definitions. Instances exist for
8028the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8029@code{Text.Read}.")
8030 (license license:bsd-3)))
8031
8032(define-public ghc-path
8033 (package
8034 (name "ghc-path")
8035 (version "0.6.1")
8036 (source
8037 (origin
8038 (method url-fetch)
8039 (uri (string-append
8040 "https://hackage.haskell.org/package/path/path-"
8041 version
8042 ".tar.gz"))
8043 (sha256
8044 (base32
8045 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8046 (build-system haskell-build-system)
8047 (arguments
8048 ;; TODO: There are some Windows-related tests and modules that need to be
8049 ;; danced around.
8050 `(#:tests? #f
8051 #:cabal-revision
8052 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8053 (inputs
8054 `(("ghc-aeson" ,ghc-aeson)
8055 ("ghc-exceptions" ,ghc-exceptions)
8056 ("ghc-hashable" ,ghc-hashable)))
8057 (native-inputs
8058 `(("ghc-hspec" ,ghc-hspec)
8059 ("ghc-quickcheck" ,ghc-quickcheck)
8060 ("ghc-genvalidity" ,ghc-genvalidity)
8061 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8062 ("ghc-hspec" ,ghc-hspec)
8063 ("ghc-validity" ,ghc-validity)))
8064 (home-page
8065 "http://hackage.haskell.org/package/path")
8066 (synopsis "Support for well-typed paths")
8067 (description "This package introduces a type for paths upholding useful
8068invariants.")
8069 (license license:bsd-3)))
8070
8071(define-public ghc-path-io
8072 (package
8073 (name "ghc-path-io")
a06613ea 8074 (version "1.4.2")
dddbc90c
RV
8075 (source
8076 (origin
8077 (method url-fetch)
8078 (uri (string-append
8079 "https://hackage.haskell.org/package/path-io/path-io-"
8080 version
8081 ".tar.gz"))
8082 (sha256
8083 (base32
a06613ea 8084 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8085 (build-system haskell-build-system)
8086 (inputs
8087 `(("ghc-dlist" ,ghc-dlist)
8088 ("ghc-exceptions" ,ghc-exceptions)
8089 ("ghc-path" ,ghc-path)
8090 ("ghc-transformers-base" ,ghc-transformers-base)
8091 ("ghc-unix-compat" ,ghc-unix-compat)
8092 ("ghc-temporary" ,ghc-temporary)))
8093 (native-inputs
8094 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8095 (home-page
8096 "https://github.com/mrkkrp/path-io")
8097 (synopsis "Functions for manipulating well-typed paths")
8098 (description "This package provides an interface to the @code{directory}
8099package for users of @code{path}. It also implements some missing stuff like
8100recursive scanning and copying of directories, working with temporary
8101files/directories, and more.")
8102 (license license:bsd-3)))
8103
8104(define-public ghc-paths
8105 (package
8106 (name "ghc-paths")
9a8adeb1 8107 (version "0.1.0.12")
dddbc90c
RV
8108 (outputs '("out" "doc"))
8109 (source
8110 (origin
8111 (method url-fetch)
8112 (uri (string-append
8113 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8114 version
8115 ".tar.gz"))
8116 (sha256
8117 (base32
9a8adeb1 8118 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8119 (build-system haskell-build-system)
8120 (home-page "https://github.com/simonmar/ghc-paths")
8121 (synopsis
8122 "Knowledge of GHC's installation directories")
8123 (description
8124 "Knowledge of GHC's installation directories.")
8125 (license license:bsd-3)))
8126
8127(define-public ghc-patience
8128 (package
8129 (name "ghc-patience")
484476f3 8130 (version "0.3")
dddbc90c
RV
8131 (source
8132 (origin
8133 (method url-fetch)
8134 (uri (string-append
8135 "https://hackage.haskell.org/package/patience/patience-"
8136 version ".tar.gz"))
8137 (sha256
8138 (base32
484476f3 8139 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8140 (build-system haskell-build-system)
8141 (home-page "https://hackage.haskell.org/package/patience")
8142 (synopsis "Patience diff and longest increasing subsequence")
8143 (description
8144 "This library implements the 'patience diff' algorithm, as well as the
8145patience algorithm for the longest increasing subsequence problem.
8146Patience diff computes the difference between two lists, for example the lines
8147of two versions of a source file. It provides a good balance between
8148performance, nice output for humans, and simplicity of implementation.")
8149 (license license:bsd-3)))
8150
8151(define-public ghc-pcre-light
8152 (package
8153 (name "ghc-pcre-light")
8154 (version "0.4.0.4")
8155 (source
8156 (origin
8157 (method url-fetch)
8158 (uri (string-append
8159 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8160 version
8161 ".tar.gz"))
8162 (sha256
8163 (base32
8164 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8165 (build-system haskell-build-system)
8166 (inputs
8167 `(("pcre" ,pcre)))
8168 (native-inputs
8169 `(("pkg-config" ,pkg-config)))
8170 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8171 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8172 (description "This package provides a small, efficient, and portable regex
8173library for Perl 5 compatible regular expressions. The PCRE library is a set
8174of functions that implement regular expression pattern matching using the same
8175syntax and semantics as Perl 5.")
8176 (license license:bsd-3)))
8177
8178(define-public ghc-persistent
8179 (package
8180 (name "ghc-persistent")
18a38da5 8181 (version "2.9.2")
dddbc90c
RV
8182 (source
8183 (origin
8184 (method url-fetch)
8185 (uri (string-append "https://hackage.haskell.org/package/"
8186 "persistent-" version "/"
8187 "persistent-" version ".tar.gz"))
8188 (sha256
8189 (base32
18a38da5 8190 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8191 (build-system haskell-build-system)
8192 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8193 ("ghc-conduit" ,ghc-conduit)
8194 ("ghc-resourcet" ,ghc-resourcet)
8195 ("ghc-exceptions" ,ghc-exceptions)
8196 ("ghc-monad-control" ,ghc-monad-control)
8197 ("ghc-lifted-base" ,ghc-lifted-base)
8198 ("ghc-resource-pool" ,ghc-resource-pool)
8199 ("ghc-path-pieces" ,ghc-path-pieces)
8200 ("ghc-http-api-data" ,ghc-http-api-data)
8201 ("ghc-aeson" ,ghc-aeson)
8202 ("ghc-monad-logger" ,ghc-monad-logger)
8203 ("ghc-transformers-base" ,ghc-transformers-base)
8204 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8205 ("ghc-unordered-containers" ,ghc-unordered-containers)
8206 ("ghc-vector" ,ghc-vector)
8207 ("ghc-attoparsec" ,ghc-attoparsec)
8208 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8209 ("ghc-blaze-html" ,ghc-blaze-html)
8210 ("ghc-blaze-markup" ,ghc-blaze-markup)
8211 ("ghc-silently" ,ghc-silently)
8212 ("ghc-fast-logger" ,ghc-fast-logger)
8213 ("ghc-scientific" ,ghc-scientific)
8214 ("ghc-tagged" ,ghc-tagged)
8215 ("ghc-void" ,ghc-void)))
8216 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8217 (home-page "https://www.yesodweb.com/book/persistent")
8218 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8219 (description "This Haskell package allows Haskell programs to access data
8220storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8221way.")
8222 (license license:expat)))
8223
8224(define-public ghc-persistent-sqlite
8225 (package
8226 (name "ghc-persistent-sqlite")
801fbd7e 8227 (version "2.9.3")
dddbc90c
RV
8228 (source
8229 (origin
8230 (method url-fetch)
8231 (uri (string-append "https://hackage.haskell.org/package/"
8232 "persistent-sqlite-" version "/"
8233 "persistent-sqlite-" version ".tar.gz"))
8234 (sha256
8235 (base32
801fbd7e 8236 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8237 (build-system haskell-build-system)
8238 (inputs `(("ghc-persistent" ,ghc-persistent)
8239 ("ghc-unliftio-core" ,ghc-unliftio-core)
8240 ("ghc-aeson" ,ghc-aeson)
8241 ("ghc-conduit" ,ghc-conduit)
8242 ("ghc-monad-logger" ,ghc-monad-logger)
8243 ("ghc-microlens-th" ,ghc-microlens-th)
8244 ("ghc-resourcet" ,ghc-resourcet)
8245 ("ghc-old-locale" ,ghc-old-locale)
8246 ("ghc-resource-pool" ,ghc-resource-pool)
8247 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8248 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8249 ("ghc-persistent-template" ,ghc-persistent-template)
8250 ("ghc-temporary" ,ghc-temporary)))
8251 (home-page
8252 "https://www.yesodweb.com/book/persistent")
8253 (synopsis "Backend for the persistent library using sqlite3")
8254 (description "This Haskell package includes a thin sqlite3 wrapper based
8255on the direct-sqlite package, as well as the entire C library, so there are no
8256system dependencies.")
8257 (license license:expat)))
8258
8259(define-public ghc-persistent-template
8260 (package
8261 (name "ghc-persistent-template")
bc78e0d9 8262 (version "2.6.0")
dddbc90c
RV
8263 (source
8264 (origin
8265 (method url-fetch)
8266 (uri (string-append "https://hackage.haskell.org/package/"
8267 "persistent-template-" version "/"
8268 "persistent-template-" version ".tar.gz"))
8269 (sha256
8270 (base32
bc78e0d9 8271 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8272 (build-system haskell-build-system)
dddbc90c
RV
8273 (inputs `(("ghc-persistent" ,ghc-persistent)
8274 ("ghc-monad-control" ,ghc-monad-control)
8275 ("ghc-aeson" ,ghc-aeson)
8276 ("ghc-aeson-compat" ,ghc-aeson-compat)
8277 ("ghc-monad-logger" ,ghc-monad-logger)
8278 ("ghc-unordered-containers" ,ghc-unordered-containers)
8279 ("ghc-tagged" ,ghc-tagged)
8280 ("ghc-path-pieces" ,ghc-path-pieces)
8281 ("ghc-http-api-data" ,ghc-http-api-data)))
8282 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8283 ("ghc-quickcheck" ,ghc-quickcheck)))
8284 (home-page "https://www.yesodweb.com/book/persistent")
8285 (synopsis "Type-safe, non-relational, multi-backend persistence")
8286 (description "This Haskell package provides interfaces and helper
8287functions for the ghc-persistent package.")
8288 (license license:expat)))
8289
8290(define-public ghc-polyparse
8291 (package
8292 (name "ghc-polyparse")
9822b9ca 8293 (version "1.12.1")
dddbc90c
RV
8294 (source
8295 (origin
8296 (method url-fetch)
8297 (uri (string-append
8298 "https://hackage.haskell.org/package/polyparse/polyparse-"
8299 version
8300 ".tar.gz"))
8301 (sha256
8302 (base32
9822b9ca 8303 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8304 (build-system haskell-build-system)
8305 (home-page
8306 "http://code.haskell.org/~malcolm/polyparse/")
8307 (synopsis
8308 "Alternative parser combinator libraries")
8309 (description
8310 "This package provides a variety of alternative parser combinator
8311libraries, including the original HuttonMeijer set. The Poly sets have
8312features like good error reporting, arbitrary token type, running state, lazy
8313parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8314standard Read class, for better deserialisation of Haskell values from
8315Strings.")
8316 (license license:lgpl2.1)))
8317
8318(define-public ghc-pqueue
8319 (package
8320 (name "ghc-pqueue")
142415b0 8321 (version "1.4.1.2")
dddbc90c
RV
8322 (source
8323 (origin
8324 (method url-fetch)
8325 (uri (string-append "https://hackage.haskell.org/package/"
8326 "pqueue/pqueue-" version ".tar.gz"))
8327 (sha256
8328 (base32
142415b0 8329 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8330 (build-system haskell-build-system)
8331 (native-inputs
8332 `(("ghc-quickcheck" ,ghc-quickcheck)))
8333 (home-page "https://hackage.haskell.org/package/pqueue")
8334 (synopsis "Reliable, persistent, fast priority queues")
8335 (description
8336 "This package provides a fast, reliable priority queue implementation
8337based on a binomial heap.")
8338 (license license:bsd-3)))
8339
8340(define-public ghc-prelude-extras
8341 (package
8342 (name "ghc-prelude-extras")
8343 (version "0.4.0.3")
8344 (source
8345 (origin
8346 (method url-fetch)
8347 (uri (string-append
8348 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8349 version
8350 ".tar.gz"))
8351 (sha256
8352 (base32
8353 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8354 (build-system haskell-build-system)
8355 (home-page "https://github.com/ekmett/prelude-extras")
8356 (synopsis "Higher order versions of Prelude classes")
8357 (description "This library provides higher order versions of
8358@code{Prelude} classes to ease programming with polymorphic recursion and
8359reduce @code{UndecidableInstances}.")
8360 (license license:bsd-3)))
8361
8362(define-public ghc-prettyclass
8363 (package
8364 (name "ghc-prettyclass")
8365 (version "1.0.0.0")
8366 (source
8367 (origin
8368 (method url-fetch)
8369 (uri (string-append "https://hackage.haskell.org/package/"
8370 "prettyclass/prettyclass-" version ".tar.gz"))
8371 (sha256
8372 (base32
8373 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8374 (build-system haskell-build-system)
8375 (home-page "http://hackage.haskell.org/package/prettyclass")
8376 (synopsis "Pretty printing class similar to Show")
8377 (description "This package provides a pretty printing class similar
8378to @code{Show}, based on the HughesPJ pretty printing library. It
8379provides the pretty printing class and instances for the Prelude
8380types.")
8381 (license license:bsd-3)))
8382
8383(define-public ghc-pretty-hex
8384 (package
8385 (name "ghc-pretty-hex")
8386 (version "1.0")
8387 (source
8388 (origin
8389 (method url-fetch)
8390 (uri (string-append "https://hackage.haskell.org/package/"
8391 "pretty-hex-" version "/"
8392 "pretty-hex-" version ".tar.gz"))
8393 (sha256
8394 (base32
8395 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8396 (build-system haskell-build-system)
8397 (home-page "https://github.com/GaloisInc/hexdump")
8398 (synopsis "Haskell library for hex dumps of ByteStrings")
8399 (description "This Haskell library generates pretty hex dumps of
8400ByteStrings in the style of other common *nix hex dump tools.")
8401 (license license:bsd-3)))
8402
8403(define-public ghc-pretty-show
8404 (package
8405 (name "ghc-pretty-show")
7683a084 8406 (version "1.9.5")
dddbc90c
RV
8407 (source
8408 (origin
8409 (method url-fetch)
8410 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8411 "pretty-show-" version ".tar.gz"))
8412 (sha256
8413 (base32
7683a084 8414 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8415 (build-system haskell-build-system)
8416 (inputs
8417 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8418 ("ghc-happy" ,ghc-happy)))
8419 (home-page "http://wiki.github.com/yav/pretty-show")
8420 (synopsis "Tools for working with derived `Show` instances")
8421 (description
8422 "This package provides a library and an executable for working with
8423derived @code{Show} instances. By using the library, derived @code{Show}
8424instances can be parsed into a generic data structure. The @code{ppsh} tool
8425uses the library to produce human-readable versions of @code{Show} instances,
8426which can be quite handy for debugging Haskell programs. We can also render
8427complex generic values into an interactive Html page, for easier
8428examination.")
8429 (license license:expat)))
8430
8431(define-public ghc-primitive
8432 (package
8433 (name "ghc-primitive")
8434 (version "0.6.4.0")
8435 (outputs '("out" "doc"))
8436 (source
8437 (origin
8438 (method url-fetch)
8439 (uri (string-append
8440 "https://hackage.haskell.org/package/primitive/primitive-"
8441 version
8442 ".tar.gz"))
8443 (sha256
8444 (base32
8445 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8446 (build-system haskell-build-system)
6cf0daa4
TS
8447 (arguments
8448 `(#:cabal-revision
8449 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8450 (home-page
8451 "https://github.com/haskell/primitive")
8452 (synopsis "Primitive memory-related operations")
8453 (description
8454 "This package provides various primitive memory-related operations.")
8455 (license license:bsd-3)))
8456
21f5b9a9
JS
8457(define-public ghc-process-extras
8458 (package
8459 (name "ghc-process-extras")
8460 (version "0.7.4")
8461 (source
8462 (origin
8463 (method url-fetch)
8464 (uri
8465 (string-append
8466 "https://hackage.haskell.org/package/process-extras/"
8467 "process-extras-" version ".tar.gz"))
8468 (sha256
8469 (base32
8470 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8471 (build-system haskell-build-system)
8472 (inputs
8473 `(("ghc-data-default" ,ghc-data-default)
8474 ("ghc-generic-deriving" ,ghc-generic-deriving)
8475 ("ghc-hunit" ,ghc-hunit)
8476 ("ghc-listlike" ,ghc-listlike)))
8477 (home-page "https://github.com/seereason/process-extras")
8478 (synopsis "Extra tools for managing processes")
f74b6983 8479 (description "This package extends
21f5b9a9
JS
8480@url{http://hackage.haskell.org/package/process}. It allows you to read
8481process input and output as ByteStrings or Text, or write your own
8482ProcessOutput instance. It also provides lazy process input and output,
8483and a ProcessMaker class for more flexibility in the process creation
8484API.")
8485 (license license:expat)))
8486
dddbc90c
RV
8487(define-public ghc-profunctors
8488 (package
8489 (name "ghc-profunctors")
899b5297 8490 (version "5.3")
dddbc90c
RV
8491 (source
8492 (origin
8493 (method url-fetch)
8494 (uri (string-append
8495 "https://hackage.haskell.org/package/profunctors/profunctors-"
8496 version
8497 ".tar.gz"))
8498 (sha256
8499 (base32
899b5297 8500 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8501 (build-system haskell-build-system)
dddbc90c
RV
8502 (inputs
8503 `(("ghc-base-orphans" ,ghc-base-orphans)
8504 ("ghc-bifunctors" ,ghc-bifunctors)
8505 ("ghc-comonad" ,ghc-comonad)
8506 ("ghc-contravariant" ,ghc-contravariant)
8507 ("ghc-distributive" ,ghc-distributive)
8508 ("ghc-semigroups" ,ghc-semigroups)
8509 ("ghc-tagged" ,ghc-tagged)))
8510 (home-page "https://github.com/ekmett/profunctors/")
8511 (synopsis "Profunctors for Haskell")
8512 (description "This library provides profunctors for Haskell.")
8513 (license license:bsd-3)))
8514
8515(define-public ghc-psqueues
8516 (package
8517 (name "ghc-psqueues")
5d133942 8518 (version "0.2.7.2")
dddbc90c
RV
8519 (source
8520 (origin
8521 (method url-fetch)
8522 (uri (string-append "https://hackage.haskell.org/package/"
8523 "psqueues-" version "/"
8524 "psqueues-" version ".tar.gz"))
8525 (sha256
8526 (base32
5d133942 8527 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8528 (build-system haskell-build-system)
8529 (inputs
8530 `(("ghc-hashable" ,ghc-hashable)))
8531 (native-inputs
8532 `(("ghc-hunit" ,ghc-hunit)
8533 ("ghc-quickcheck" ,ghc-quickcheck)
8534 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8535 ("ghc-tasty" ,ghc-tasty)
8536 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8537 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8538 (home-page "https://github.com/jaspervdj/psqueues")
8539 (synopsis "Pure priority search queues")
8540 (description "The psqueues package provides
8541@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8542three different flavors:
8543
8544@itemize
8545@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8546fast insertion, deletion and lookup. This implementation is based on Ralf
8547Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8548Implementation Technique for Priority Search Queues}.
8549
8550Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8551PSQueue} library, although it is considerably faster and provides a slightly
8552different API.
8553
8554@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8555key type to @code{Int} and uses a
8556@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8557with an additional min-heap property.
8558
8559@item @code{HashPSQ k p v} is a fairly straightforward extension
8560of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8561@code{IntPSQ}. If there are any hash collisions, it uses an
8562@code{OrdPSQ} to resolve those. The performance of this implementation
8563is comparable to that of @code{IntPSQ}, but it is more widely
8564applicable since the keys are not restricted to @code{Int},
8565but rather to any @code{Hashable} datatype.
8566@end itemize
8567
8568Each of the three implementations provides the same API, so they can
8569be used interchangeably.
8570
8571Typical applications of Priority Search Queues include:
8572
8573@itemize
8574@item Caches, and more specifically LRU Caches;
8575@item Schedulers;
8576@item Pathfinding algorithms, such as Dijkstra's and A*.
8577@end itemize")
8578 (license license:bsd-3)))
8579
8580(define-public ghc-random
8581 (package
8582 (name "ghc-random")
8583 (version "1.1")
8584 (outputs '("out" "doc"))
8585 (source
8586 (origin
8587 (method url-fetch)
8588 (uri (string-append
8589 "https://hackage.haskell.org/package/random/random-"
8590 version
8591 ".tar.gz"))
8592 (sha256
8593 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8594 (build-system haskell-build-system)
8595 (home-page "https://hackage.haskell.org/package/random")
8596 (synopsis "Random number library")
8597 (description "This package provides a basic random number generation
8598library, including the ability to split random number generators.")
8599 (license license:bsd-3)))
8600
8601(define-public ghc-raw-strings-qq
8602 (package
8603 (name "ghc-raw-strings-qq")
8604 (version "1.1")
8605 (source
8606 (origin
8607 (method url-fetch)
8608 (uri (string-append "https://hackage.haskell.org/package/"
8609 "raw-strings-qq/raw-strings-qq-"
8610 version ".tar.gz"))
8611 (sha256
8612 (base32
8613 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8614 (build-system haskell-build-system)
8615 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8616 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8617 (synopsis "Raw string literals for Haskell")
8618 (description
8619 "This package provides a quasiquoter for raw string literals, i.e. string
8620literals that don't recognise the standard escape sequences. Basically, they
8621make your code more readable by freeing you from the responsibility to escape
8622backslashes. They are useful when working with regular expressions,
8623DOS/Windows paths and markup languages (such as XML).")
8624 (license license:bsd-3)))
8625
8626(define-public ghc-readable
8627 (package
8628 (name "ghc-readable")
8629 (version "0.3.1")
8630 (source
8631 (origin
8632 (method url-fetch)
8633 (uri (string-append "https://hackage.haskell.org/package/"
8634 "readable/readable-" version ".tar.gz"))
8635 (sha256
8636 (base32
8637 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8638 (build-system haskell-build-system)
8639 (home-page "https://github.com/mightybyte/readable")
8640 (synopsis "Type class for reading from Text and ByteString")
8641 (description "This package provides a @code{Readable} type class for
8642reading data types from @code{ByteString} and @code{Text}. It also
8643includes efficient implementations for common data types.")
8644 (license license:bsd-3)))
8645
8646(define-public ghc-rebase
8647 (package
8648 (name "ghc-rebase")
8d2ae3fe 8649 (version "1.3.1.1")
dddbc90c
RV
8650 (source
8651 (origin
8652 (method url-fetch)
8653 (uri (string-append "https://hackage.haskell.org/package/"
8654 "rebase-" version "/"
8655 "rebase-" version ".tar.gz"))
8656 (sha256
8657 (base32
8d2ae3fe 8658 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8659 (build-system haskell-build-system)
8660 (inputs `(("ghc-hashable" ,ghc-hashable)
8661 ("ghc-vector" ,ghc-vector)
8662 ("ghc-unordered-containers" ,ghc-unordered-containers)
8663 ("ghc-scientific" ,ghc-scientific)
8664 ("ghc-uuid" ,ghc-uuid)
8665 ("ghc-dlist" ,ghc-dlist)
8666 ("ghc-void" ,ghc-void)
8667 ("ghc-bifunctors" ,ghc-bifunctors)
8668 ("ghc-profunctors" ,ghc-profunctors)
8669 ("ghc-contravariant" ,ghc-contravariant)
8670 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8671 ("ghc-semigroups" ,ghc-semigroups)
8672 ("ghc-either" ,ghc-either)
8673 ("ghc-fail" ,ghc-fail)
8674 ("ghc-base-prelude" ,ghc-base-prelude)))
8675 (home-page "https://github.com/nikita-volkov/rebase")
8676 (synopsis "Progressive alternative to the base package
8677for Haskell")
8678 (description "This Haskell package is intended for those who are
8679tired of keeping long lists of dependencies to the same essential libraries
8680in each package as well as the endless imports of the same APIs all over again.
8681
8682It also supports the modern tendencies in the language.
8683
8684To solve those problems this package does the following:
8685
8686@itemize
8687@item Reexport the original APIs under the @code{Rebase} namespace.
8688
8689@item Export all the possible non-conflicting symbols from the
8690@code{Rebase.Prelude} module.
8691
8692@item Give priority to the modern practices in the conflicting cases.
8693@end itemize
8694
8695The policy behind the package is only to reexport the non-ambiguous and
8696non-controversial APIs, which the community has obviously settled on.
8697The package is intended to rapidly evolve with the contribution from
8698the community, with the missing features being added with pull-requests.")
8699 (license license:expat)))
8700
8701(define-public ghc-reducers
8702 (package
8703 (name "ghc-reducers")
8704 (version "3.12.3")
8705 (source
8706 (origin
8707 (method url-fetch)
8708 (uri (string-append
8709 "https://hackage.haskell.org/package/reducers/reducers-"
8710 version
8711 ".tar.gz"))
8712 (sha256
8713 (base32
8714 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8715 (build-system haskell-build-system)
8716 (inputs
8717 `(("ghc-fingertree" ,ghc-fingertree)
8718 ("ghc-hashable" ,ghc-hashable)
8719 ("ghc-unordered-containers" ,ghc-unordered-containers)
8720 ("ghc-semigroupoids" ,ghc-semigroupoids)
8721 ("ghc-semigroups" ,ghc-semigroups)))
8722 (home-page "https://github.com/ekmett/reducers/")
8723 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8724 (description "This library provides various semigroups, specialized
8725containers and a general map/reduce framework for Haskell.")
8726 (license license:bsd-3)))
8727
8728(define-public ghc-refact
8729 (package
8730 (name "ghc-refact")
8731 (version "0.3.0.2")
8732 (source
8733 (origin
8734 (method url-fetch)
8735 (uri (string-append "https://hackage.haskell.org/package/"
8736 "refact/refact-"
8737 version ".tar.gz"))
8738 (sha256
8739 (base32
8740 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8741 (build-system haskell-build-system)
8742 (home-page "http://hackage.haskell.org/package/refact")
8743 (synopsis "Specify refactorings to perform with apply-refact")
8744 (description
8745 "This library provides a datatype which can be interpreted by
8746@code{apply-refact}. It exists as a separate library so that applications can
8747specify refactorings without depending on GHC.")
8748 (license license:bsd-3)))
8749
8750(define-public ghc-reflection
8751 (package
8752 (name "ghc-reflection")
d215f1cc 8753 (version "2.1.5")
dddbc90c
RV
8754 (source
8755 (origin
8756 (method url-fetch)
8757 (uri (string-append
8758 "https://hackage.haskell.org/package/reflection/reflection-"
8759 version
8760 ".tar.gz"))
8761 (sha256
8762 (base32
d215f1cc 8763 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8764 (build-system haskell-build-system)
8765 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8766 (native-inputs
8767 `(("ghc-hspec" ,ghc-hspec)
8768 ("ghc-quickcheck" ,ghc-quickcheck)
8769 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8770 (home-page "https://github.com/ekmett/reflection")
8771 (synopsis "Reify arbitrary terms into types that can be reflected back
8772into terms")
8773 (description "This package addresses the 'configuration problem' which is
8774propagating configurations that are available at run-time, allowing multiple
8775configurations to coexist without resorting to mutable global variables or
8776@code{System.IO.Unsafe.unsafePerformIO}.")
8777 (license license:bsd-3)))
8778
8779(define-public ghc-regex
8780 (package
8781 (name "ghc-regex")
b9a5e634 8782 (version "1.0.2.0")
dddbc90c
RV
8783 (source
8784 (origin
8785 (method url-fetch)
8786 (uri (string-append "https://hackage.haskell.org/package/regex/"
8787 "regex-" version ".tar.gz"))
8788 (sha256
8789 (base32
b9a5e634 8790 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8791 (build-system haskell-build-system)
8792 (arguments
8793 `(#:phases
8794 (modify-phases %standard-phases
8795 (add-after 'unpack 'relax-dependencies
8796 (lambda _
8797 (substitute* "regex.cabal"
8798 (("base-compat.*>=.*0.6.*")
8799 "base-compat >= 0.6\n")
8800 (("template-haskell.*>=.*2.7.*")
8801 "template-haskell >= 2.7\n"))
8802 #t)))))
8803 (inputs
8804 `(("ghc-base-compat" ,ghc-base-compat)
8805 ("ghc-hashable" ,ghc-hashable)
8806 ("ghc-regex-base" ,ghc-regex-base)
8807 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8808 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8809 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8810 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8811 ("ghc-unordered-containers" ,ghc-unordered-containers)
8812 ("ghc-utf8-string" ,ghc-utf8-string)))
8813 (home-page "http://regex.uk")
8814 (synopsis "Toolkit for regex-base")
8815 (description
8816 "This package provides a regular expression toolkit for @code{regex-base}
8817with compile-time checking of regular expression syntax, data types for
8818matches and captures, a text replacement toolkit, portable options, high-level
8819AWK-like tools for building text processing apps, regular expression macros
8820with parsers and test bench, comprehensive documentation, tutorials and
8821copious examples.")
8822 (license license:bsd-3)))
8823
8824(define-public ghc-regex-applicative
8825 (package
8826 (name "ghc-regex-applicative")
30f60e42 8827 (version "0.3.3.1")
dddbc90c
RV
8828 (source
8829 (origin
8830 (method url-fetch)
8831 (uri (string-append
8832 "https://hackage.haskell.org/package/regex-applicative/"
8833 "regex-applicative-" version ".tar.gz"))
8834 (sha256
8835 (base32
30f60e42 8836 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8837 (build-system haskell-build-system)
8838 (inputs
8839 `(("ghc-smallcheck" ,ghc-smallcheck)
8840 ("ghc-tasty" ,ghc-tasty)
8841 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8842 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8843 (home-page "https://github.com/feuerbach/regex-applicative")
8844 (synopsis "Regex-based parsing with applicative interface")
8845 (description
8846 "@code{regex-applicative} is a Haskell library for parsing using
8847regular expressions. Parsers can be built using Applicative interface.")
8848 (license license:expat)))
8849
8850(define-public ghc-regex-base
8851 (package
8852 (name "ghc-regex-base")
8853 (version "0.93.2")
8854 (source
8855 (origin
8856 (method url-fetch)
8857 (uri (string-append
8858 "https://hackage.haskell.org/package/regex-base/regex-base-"
8859 version
8860 ".tar.gz"))
8861 (sha256
8862 (base32
8863 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8864 (build-system haskell-build-system)
8865 (home-page
8866 "https://sourceforge.net/projects/lazy-regex")
8867 (synopsis "Replaces/Enhances Text.Regex")
8868 (description "@code{Text.Regex.Base} provides the interface API for
8869regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8870 (license license:bsd-3)))
8871
8872(define-public ghc-regex-compat
8873 (package
8874 (name "ghc-regex-compat")
8875 (version "0.95.1")
8876 (source
8877 (origin
8878 (method url-fetch)
8879 (uri (string-append
8880 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8881 version
8882 ".tar.gz"))
8883 (sha256
8884 (base32
8885 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8886 (build-system haskell-build-system)
8887 (inputs
8888 `(("ghc-regex-base" ,ghc-regex-base)
8889 ("ghc-regex-posix" ,ghc-regex-posix)))
8890 (home-page "https://sourceforge.net/projects/lazy-regex")
8891 (synopsis "Replaces/Enhances Text.Regex")
8892 (description "This library provides one module layer over
8893@code{regex-posix} to replace @code{Text.Regex}.")
8894 (license license:bsd-3)))
8895
8896(define-public ghc-regex-compat-tdfa
8897 (package
8898 (name "ghc-regex-compat-tdfa")
8899 (version "0.95.1.4")
8900 (source
8901 (origin
8902 (method url-fetch)
8903 (uri (string-append
8904 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8905 version ".tar.gz"))
8906 (sha256
8907 (base32
8908 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8909 (build-system haskell-build-system)
8910 (inputs
8911 `(("ghc-regex-base" ,ghc-regex-base)
8912 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8913 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8914 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8915 (description
8916 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8917@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8918This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8919this problem.")
8920 (license license:bsd-3)))
8921
8922(define-public ghc-regex-pcre-builtin
8923 (package
8924 (name "ghc-regex-pcre-builtin")
ee946143 8925 (version "0.94.5.8.8.35")
dddbc90c
RV
8926 (source (origin
8927 (method url-fetch)
8928 (uri (string-append "https://hackage.haskell.org/package/"
8929 "regex-pcre-builtin/regex-pcre-builtin-"
8930 version ".tar.gz"))
8931 (sha256
8932 (base32
ee946143 8933 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8934 (build-system haskell-build-system)
8935 (inputs
8936 `(("ghc-regex-base" ,ghc-regex-base)))
8937 (home-page "https://hackage.haskell.org/package/regex-pcre")
8938 (synopsis "Enhancement of the builtin Text.Regex library")
8939 (description
8940 "This package is an enhancement of the @code{Text.Regex} library,
8941providing the PCRE backend to accompany regex-base, with bundled code from
8942@url{https://www.pcre.org}.")
8943 (license license:bsd-3)))
8944
8945(define-public ghc-regex-posix
8946 (package
8947 (name "ghc-regex-posix")
8948 (version "0.95.2")
8949 (source
8950 (origin
8951 (method url-fetch)
8952 (uri (string-append
8953 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8954 version
8955 ".tar.gz"))
8956 (sha256
8957 (base32
8958 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8959 (build-system haskell-build-system)
8960 (inputs
8961 `(("ghc-regex-base" ,ghc-regex-base)))
8962 (home-page "https://sourceforge.net/projects/lazy-regex")
8963 (synopsis "POSIX regular expressions for Haskell")
8964 (description "This library provides the POSIX regex backend used by the
8965Haskell library @code{regex-base}.")
8966 (license license:bsd-3)))
8967
8968(define-public ghc-regex-tdfa
8969 (package
8970 (name "ghc-regex-tdfa")
ce684db0 8971 (version "1.2.3.2")
dddbc90c
RV
8972 (source
8973 (origin
8974 (method url-fetch)
8975 (uri (string-append
8976 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8977 version ".tar.gz"))
8978 (sha256
8979 (base32
ce684db0 8980 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8981 (build-system haskell-build-system)
8982 (inputs
8983 `(("ghc-regex-base" ,ghc-regex-base)))
8984 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8985 (synopsis "POSIX extended regular expressions in Haskell.")
8986 (description
8987 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8988extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8989inspired by libtre.")
8990 (license license:bsd-3)))
8991
8992(define-public ghc-regex-tdfa-text
8993 (package
8994 (name "ghc-regex-tdfa-text")
8995 (version "1.0.0.3")
8996 (source
8997 (origin
8998 (method url-fetch)
8999 (uri (string-append
9000 "https://hackage.haskell.org/package/regex-tdfa-text/"
9001 "regex-tdfa-text-" version ".tar.gz"))
9002 (sha256
9003 (base32
9004 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9005 (build-system haskell-build-system)
9006 (inputs
9007 `(("ghc-regex-base" ,ghc-regex-base)
9008 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9009 (home-page
9010 "http://hackage.haskell.org/package/regex-tdfa-text")
9011 (synopsis "Text interface for regex-tdfa")
9012 (description
9013 "This provides an extra text interface for regex-tdfa.")
9014 (license license:bsd-3)))
9015
9016(define-public ghc-rerebase
9017 (package
9018 (name "ghc-rerebase")
cdec7b8c 9019 (version "1.3.1.1")
dddbc90c
RV
9020 (source
9021 (origin
9022 (method url-fetch)
9023 (uri (string-append
9024 "https://hackage.haskell.org/package/rerebase/rerebase-"
9025 version ".tar.gz"))
9026 (sha256
9027 (base32
cdec7b8c 9028 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9029 (build-system haskell-build-system)
9030 (inputs
9031 `(("ghc-rebase" ,ghc-rebase)))
9032 (home-page "https://github.com/nikita-volkov/rerebase")
9033 (synopsis "Reexports from ``base'' with many other standard libraries")
9034 (description "A rich drop-in replacement for @code{base}. For details and
9035documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9036the project's home page}.")
9037 (license license:expat)))
9038
9039(define-public ghc-resolv
9040 (package
9041 (name "ghc-resolv")
87309478 9042 (version "0.1.1.2")
dddbc90c
RV
9043 (source
9044 (origin
9045 (method url-fetch)
9046 (uri (string-append
9047 "https://hackage.haskell.org/package/resolv/resolv-"
9048 version ".tar.gz"))
9049 (sha256
9050 (base32
87309478 9051 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9052 (build-system haskell-build-system)
9053 (arguments
87309478
TS
9054 `(#:phases
9055 (modify-phases %standard-phases
9056 (add-before 'configure 'update-constraints
9057 (lambda _
9058 (substitute* "resolv.cabal"
9059 (("tasty >= 1\\.1 && < 1\\.2")
9060 "tasty >= 1.1 && < 1.3"))
9061 #t)))))
dddbc90c
RV
9062 (inputs
9063 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9064 (native-inputs
9065 `(("ghc-tasty" ,ghc-tasty)
9066 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9067 (home-page "https://github.com/haskell/hackage-security")
9068 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9069 (description "This package implements an API for accessing the
9070@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9071resolver service via the standard @code{libresolv} system library (whose
9072API is often available directly via the standard @code{libc} C library) on
9073Unix systems.")
9074 (license license:gpl3)))
9075
9076(define-public ghc-resource-pool
9077 (package
9078 (name "ghc-resource-pool")
9079 (version "0.2.3.2")
9080 (source
9081 (origin
9082 (method url-fetch)
9083 (uri (string-append "https://hackage.haskell.org/package/"
9084 "resource-pool-" version "/"
9085 "resource-pool-" version ".tar.gz"))
9086 (sha256
9087 (base32
9088 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9089 (build-system haskell-build-system)
9090 (inputs `(("ghc-hashable" ,ghc-hashable)
9091 ("ghc-monad-control" ,ghc-monad-control)
9092 ("ghc-transformers-base" ,ghc-transformers-base)
9093 ("ghc-vector" ,ghc-vector)))
9094 (home-page "https://github.com/bos/pool")
9095 (synopsis "Striped resource pooling implementation in Haskell")
9096 (description "This Haskell package provides striped pooling abstraction
9097for managing flexibly-sized collections of resources such as database
9098connections.")
9099 (license license:bsd-3)))
9100
9101(define-public ghc-resourcet
9102 (package
9103 (name "ghc-resourcet")
9ac341ac 9104 (version "1.2.2")
dddbc90c
RV
9105 (source
9106 (origin
9107 (method url-fetch)
9108 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9109 "resourcet-" version ".tar.gz"))
9110 (sha256
9111 (base32
9ac341ac 9112 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9113 (build-system haskell-build-system)
9114 (inputs
9115 `(("ghc-transformers-base" ,ghc-transformers-base)
9116 ("ghc-monad-control" ,ghc-monad-control)
9117 ("ghc-transformers-compat" ,ghc-transformers-compat)
9118 ("ghc-mmorph" ,ghc-mmorph)
9119 ("ghc-exceptions" ,ghc-exceptions)
9120 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9121 (native-inputs
9122 `(("ghc-lifted-base" ,ghc-lifted-base)
9123 ("ghc-hspec" ,ghc-hspec)))
9124 (home-page "https://github.com/snoyberg/conduit")
9125 (synopsis "Deterministic allocation and freeing of scarce resources")
9126 (description "ResourceT is a monad transformer which creates a region of
9127code where you can safely allocate resources.")
9128 (license license:bsd-3)))
9129
b9debc37
TS
9130(define-public ghc-retry
9131 (package
9132 (name "ghc-retry")
9133 (version "0.8.1.0")
9134 (source
9135 (origin
9136 (method url-fetch)
9137 (uri (string-append "https://hackage.haskell.org/package/"
9138 "retry/retry-" version ".tar.gz"))
9139 (sha256
9140 (base32
9141 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9142 (build-system haskell-build-system)
9143 (inputs
9144 `(("ghc-exceptions" ,ghc-exceptions)
9145 ("ghc-random" ,ghc-random)))
9146 (native-inputs
9147 `(("ghc-hunit" ,ghc-hunit)
9148 ("ghc-tasty" ,ghc-tasty)
9149 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9150 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9151 ("ghc-hedgehog" ,ghc-hedgehog)))
9152 (home-page "http://github.com/Soostone/retry")
9153 (synopsis "Retry combinators for monadic actions that may fail")
9154 (description "This package exposes combinators that can wrap
9155arbitrary monadic actions. They run the action and potentially retry
9156running it with some configurable delay for a configurable number of
9157times. The purpose is to make it easier to work with IO and especially
9158network IO actions that often experience temporary failure and warrant
9159retrying of the original action. For example, a database query may time
9160out for a while, in which case we should hang back for a bit and retry
9161the query instead of simply raising an exception.")
9162 (license license:bsd-3)))
9163
dddbc90c
RV
9164(define-public ghc-rfc5051
9165 (package
9166 (name "ghc-rfc5051")
ec42ab7c 9167 (version "0.1.0.4")
dddbc90c
RV
9168 (source
9169 (origin
9170 (method url-fetch)
9171 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9172 "rfc5051-" version ".tar.gz"))
9173 (sha256
9174 (base32
ec42ab7c 9175 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9176 (build-system haskell-build-system)
9177 (home-page "https://hackage.haskell.org/package/rfc5051")
9178 (synopsis "Simple unicode collation as per RFC5051")
9179 (description
9180 "This library implements @code{unicode-casemap}, the simple, non
9181locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9182unicode collation can be done using @code{text-icu}, but that is a big
9183dependency that depends on a large C library, and @code{rfc5051} might be
9184better for some purposes.")
9185 (license license:bsd-3)))
9186
9187(define-public ghc-rio
9188 (package
9189 (name "ghc-rio")
8bda2fa7 9190 (version "0.1.12.0")
dddbc90c
RV
9191 (source
9192 (origin
9193 (method url-fetch)
9194 (uri (string-append
9195 "https://hackage.haskell.org/package/rio/rio-"
9196 version ".tar.gz"))
9197 (sha256
9198 (base32
8bda2fa7 9199 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9200 (build-system haskell-build-system)
9201 (inputs
9202 `(("ghc-exceptions" ,ghc-exceptions)
9203 ("ghc-hashable" ,ghc-hashable)
9204 ("ghc-microlens" ,ghc-microlens)
9205 ("ghc-primitive" ,ghc-primitive)
9206 ("ghc-typed-process" ,ghc-typed-process)
9207 ("ghc-unliftio" ,ghc-unliftio)
9208 ("ghc-unordered-containers" ,ghc-unordered-containers)
9209 ("ghc-vector" ,ghc-vector)))
9210 (native-inputs
9211 `(("ghc-hspec" ,ghc-hspec)
9212 ("hspec-discover" ,hspec-discover)))
9213 (home-page "https://github.com/commercialhaskell/rio#readme")
9214 (synopsis "A standard library for Haskell")
9215 (description "This package works as a prelude replacement for Haskell,
9216providing more functionality and types out of the box than the standard
9217prelude (such as common data types like @code{ByteString} and
9218@code{Text}), as well as removing common ``gotchas'', like partial
9219functions and lazy I/O. The guiding principle here is:
9220@itemize
9221@item If something is safe to use in general and has no expected naming
9222conflicts, expose it.
9223@item If something should not always be used, or has naming conflicts,
9224expose it from another module in the hierarchy.
9225@end itemize")
9226 (license license:expat)))
9227
9228(define-public ghc-safe
9229 (package
9230 (name "ghc-safe")
9231 (version "0.3.17")
9232 (source
9233 (origin
9234 (method url-fetch)
9235 (uri (string-append
9236 "https://hackage.haskell.org/package/safe/safe-"
9237 version
9238 ".tar.gz"))
9239 (sha256
9240 (base32
9241 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9242 (build-system haskell-build-system)
9243 (native-inputs
9244 `(("ghc-quickcheck" ,ghc-quickcheck)))
9245 (home-page "https://github.com/ndmitchell/safe#readme")
9246 (synopsis "Library of safe (exception free) functions")
9247 (description "This library provides wrappers around @code{Prelude} and
9248@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9249exceptions.")
9250 (license license:bsd-3)))
9251
9252(define-public ghc-safe-exceptions
9253 (package
9254 (name "ghc-safe-exceptions")
9255 (version "0.1.7.0")
9256 (source
9257 (origin
9258 (method url-fetch)
9259 (uri (string-append "https://hackage.haskell.org/package/"
9260 "safe-exceptions/safe-exceptions-"
9261 version ".tar.gz"))
9262 (sha256
9263 (base32
9264 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9265 (build-system haskell-build-system)
9266 (arguments
9267 '(#:cabal-revision
9268 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9269 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9270 (native-inputs
9271 `(("ghc-hspec" ,ghc-hspec)
9272 ("ghc-void" ,ghc-void)
9273 ("hspec-discover" ,hspec-discover)))
9274 (home-page "https://github.com/fpco/safe-exceptions")
9275 (synopsis "Safe, consistent, and easy exception handling")
9276 (description "Runtime exceptions - as exposed in @code{base} by the
9277@code{Control.Exception} module - have long been an intimidating part of the
9278Haskell ecosystem. This package is intended to overcome this. It provides a
9279safe and simple API on top of the existing exception handling machinery. The
9280API is equivalent to the underlying implementation in terms of power but
9281encourages best practices to minimize the chances of getting the exception
9282handling wrong.")
9283 (license license:expat)))
9284
9285(define-public ghc-safeio
9286 (package
9287 (name "ghc-safeio")
9288 (version "0.0.5.0")
9289 (source
9290 (origin
9291 (method url-fetch)
9292 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9293 "safeio-" version ".tar.gz"))
9294 (sha256
9295 (base32
9296 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9297 (build-system haskell-build-system)
9298 (inputs
9299 `(("ghc-conduit" ,ghc-conduit)
9300 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9301 ("ghc-exceptions" ,ghc-exceptions)
9302 ("ghc-resourcet" ,ghc-resourcet)))
9303 (native-inputs
9304 `(("ghc-hunit" ,ghc-hunit)
9305 ("ghc-test-framework" ,ghc-test-framework)
9306 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9307 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9308 (home-page "https://github.com/luispedro/safeio")
9309 (synopsis "Write output to disk atomically")
9310 (description
9311 "This package implements utilities to perform atomic output so as to
9312avoid the problem of partial intermediate files.")
9313 (license license:expat)))
9314
9315(define-public ghc-safesemaphore
9316 (package
9317 (name "ghc-safesemaphore")
9318 (version "0.10.1")
9319 (source
9320 (origin
9321 (method url-fetch)
9322 (uri (string-append "https://hackage.haskell.org/package/"
9323 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9324 (sha256
9325 (base32
9326 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9327 (build-system haskell-build-system)
9328 (native-inputs
9329 `(("ghc-hunit" ,ghc-hunit)))
9330 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9331 (synopsis "Exception safe semaphores")
9332 (description "This library provides exception safe semaphores that can be
9333used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9334are not exception safe and can be broken by @code{killThread}.")
9335 (license license:bsd-3)))
9336
9337(define-public ghc-sandi
9338 (package
9339 (name "ghc-sandi")
b867c2b0 9340 (version "0.5")
dddbc90c
RV
9341 (source
9342 (origin
9343 (method url-fetch)
9344 (uri (string-append
9345 "https://hackage.haskell.org/package/sandi/sandi-"
9346 version ".tar.gz"))
9347 (sha256
9348 (base32
b867c2b0 9349 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9350 (build-system haskell-build-system)
9351 (inputs
9352 `(("ghc-stringsearch" ,ghc-stringsearch)
9353 ("ghc-conduit" ,ghc-conduit)
9354 ("ghc-exceptions" ,ghc-exceptions)
9355 ("ghc-hunit" ,ghc-hunit)
9356 ("ghc-tasty" ,ghc-tasty)
9357 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9358 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9359 ("ghc-tasty-th" ,ghc-tasty-th)))
9360 (home-page "https://hackage.haskell.org/package/sandi")
9361 (synopsis "Data encoding library")
9362 (description "Reasonably fast data encoding library.")
9363 (license license:bsd-3)))
9364
9365(define-public ghc-scientific
9366 (package
9367 (name "ghc-scientific")
9368 (version "0.3.6.2")
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append
9373 "https://hackage.haskell.org/package/scientific/scientific-"
9374 version
9375 ".tar.gz"))
9376 (sha256
9377 (base32
9378 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9379 (build-system haskell-build-system)
9380 (inputs
9381 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9382 ("ghc-hashable" ,ghc-hashable)
9383 ("ghc-primitive" ,ghc-primitive)))
9384 (native-inputs
9385 `(("ghc-tasty" ,ghc-tasty)
9386 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9387 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9388 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9389 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9390 ("ghc-smallcheck" ,ghc-smallcheck)
9391 ("ghc-quickcheck" ,ghc-quickcheck)))
9392 (home-page "https://github.com/basvandijk/scientific")
9393 (synopsis "Numbers represented using scientific notation")
9394 (description "This package provides @code{Data.Scientific}, which provides
9395the number type @code{Scientific}. Scientific numbers are arbitrary precision
9396and space efficient. They are represented using
9397@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9398notation}.")
9399 (license license:bsd-3)))
9400
9401(define-public ghc-scientific-bootstrap
9402 (package
9403 (inherit ghc-scientific)
9404 (name "ghc-scientific-bootstrap")
9405 (arguments `(#:tests? #f))
9406 (inputs
9407 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9408 ("ghc-hashable" ,ghc-hashable)
9409 ("ghc-primitive" ,ghc-primitive)))
9410 (native-inputs '())
799d8d3c 9411 (properties '((hidden? #t)))))
dddbc90c
RV
9412
9413(define-public ghc-sdl
9414 (package
9415 (name "ghc-sdl")
9416 (version "0.6.7.0")
9417 (source
9418 (origin
9419 (method url-fetch)
9420 (uri (string-append
9421 "https://hackage.haskell.org/package/SDL/SDL-"
9422 version
9423 ".tar.gz"))
9424 (sha256
9425 (base32
9426 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9427 (build-system haskell-build-system)
9428 (inputs
9429 `(("sdl" ,sdl)))
9430 (home-page "https://hackage.haskell.org/package/SDL")
9431 (synopsis "LibSDL for Haskell")
9432 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9433multimedia library designed to provide low level access to audio, keyboard,
9434mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9435by MPEG playback software, emulators, and many popular games, including the
9436award winning Linux port of \"Civilization: Call To Power.\"")
9437 (license license:bsd-3)))
9438
1874cdc1
RV
9439(define-public ghc-sdl2
9440 (package
9441 (name "ghc-sdl2")
145148ca 9442 (version "2.5.0.0")
1874cdc1
RV
9443 (source
9444 (origin
9445 (method url-fetch)
9446 (uri (string-append "https://hackage.haskell.org/package/"
9447 "sdl2/sdl2-" version ".tar.gz"))
9448 (sha256
9449 (base32
145148ca 9450 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
9451 (build-system haskell-build-system)
9452 (arguments '(#:tests? #f)) ; tests require graphical environment
9453 (inputs
9454 `(("ghc-exceptions" ,ghc-exceptions)
9455 ("ghc-linear" ,ghc-linear)
9456 ("ghc-statevar" ,ghc-statevar)
9457 ("ghc-vector" ,ghc-vector)
9458 ("sdl2" ,sdl2)))
9459 (native-inputs
9460 `(("ghc-weigh" ,ghc-weigh)
9461 ("pkg-config" ,pkg-config)))
9462 (home-page "http://hackage.haskell.org/package/sdl2")
9463 (synopsis "High- and low-level bindings to the SDL library")
9464 (description
9465 "This package contains bindings to the SDL 2 library, in both high- and
9466low-level forms. The @code{SDL} namespace contains high-level bindings, where
9467enumerations are split into sum types, and we perform automatic
9468error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9469translation of the C API into Haskell FFI calls. As such, this does not
9470contain sum types nor error checking. Thus this namespace is suitable for
9471building your own abstraction over SDL, but is not recommended for day-to-day
9472programming.")
9473 (license license:bsd-3)))
9474
9475(define-public ghc-sdl2-image
9476 (package
9477 (name "ghc-sdl2-image")
9478 (version "2.0.0")
9479 (source
9480 (origin
9481 (method url-fetch)
9482 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9483 "sdl2-image-" version ".tar.gz"))
9484 (sha256
9485 (base32
9486 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9487 (build-system haskell-build-system)
9488 (inputs
9489 `(("ghc-sdl2" ,ghc-sdl2)
9490 ("sdl2-image" ,sdl2-image)))
9491 (native-inputs
9492 `(("pkg-config" ,pkg-config)))
9493 (home-page "http://hackage.haskell.org/package/sdl2-image")
9494 (synopsis "Bindings to SDL2_image")
9495 (description "This package provides Haskell bindings to
9496@code{SDL2_image}.")
9497 (license license:expat)))
9498
9499(define-public ghc-sdl2-mixer
9500 (package
9501 (name "ghc-sdl2-mixer")
9502 (version "1.1.0")
9503 (source
9504 (origin
9505 (method url-fetch)
9506 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9507 "sdl2-mixer-" version ".tar.gz"))
9508 (sha256
9509 (base32
9510 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9511 (build-system haskell-build-system)
9512 (inputs
9513 `(("ghc-data-default-class" ,ghc-data-default-class)
9514 ("ghc-lifted-base" ,ghc-lifted-base)
9515 ("ghc-monad-control" ,ghc-monad-control)
9516 ("ghc-sdl2" ,ghc-sdl2)
9517 ("ghc-vector" ,ghc-vector)
9518 ("sdl2-mixer" ,sdl2-mixer)))
9519 (native-inputs
9520 `(("pkg-config" ,pkg-config)))
9521 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9522 (synopsis "Bindings to SDL2 mixer")
9523 (description "This package provides Haskell bindings to
9524@code{SDL2_mixer}.")
9525 (license license:bsd-3)))
9526
dddbc90c
RV
9527(define-public ghc-sdl-image
9528 (package
9529 (name "ghc-sdl-image")
9530 (version "0.6.2.0")
9531 (source
9532 (origin
9533 (method url-fetch)
9534 (uri (string-append
9535 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9536 version
9537 ".tar.gz"))
9538 (sha256
9539 (base32
9540 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9541 (build-system haskell-build-system)
9542 (arguments
9543 `(#:configure-flags
9544 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9545 (sdl-image-include (string-append sdl-image "/include/SDL")))
9546 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9547 (inputs
9548 `(("ghc-sdl" ,ghc-sdl)
9549 ("sdl-image" ,sdl-image)))
9550 (home-page "https://hackage.haskell.org/package/SDL-image")
9551 (synopsis "Haskell bindings to libSDL_image")
9552 (description "SDL_image is an image file loading library. It loads images
9553as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9554PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9555 (license license:bsd-3)))
9556
9557(define-public ghc-sdl-mixer
9558 (package
9559 (name "ghc-sdl-mixer")
9560 (version "0.6.3.0")
9561 (source
9562 (origin
9563 (method url-fetch)
9564 (uri (string-append
9565 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9566 version
9567 ".tar.gz"))
9568 (sha256
9569 (base32
9570 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9571 (build-system haskell-build-system)
9572 (arguments
9573 `(#:configure-flags
9574 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9575 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9576 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9577 (inputs
9578 `(("ghc-sdl" ,ghc-sdl)
9579 ("sdl-mixer" ,sdl-mixer)))
9580 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9581 (synopsis "Haskell bindings to libSDL_mixer")
9582 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9583supports any number of simultaneously playing channels of 16 bit stereo audio,
9584plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9585MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9586 (license license:bsd-3)))
9587
9588(define-public ghc-securemem
9589 (package
9590 (name "ghc-securemem")
9591 (version "0.1.10")
9592 (source
9593 (origin
9594 (method url-fetch)
9595 (uri (string-append "https://hackage.haskell.org/package/"
9596 "securemem-" version "/"
9597 "securemem-" version ".tar.gz"))
9598 (sha256
9599 (base32
9600 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9601 (build-system haskell-build-system)
9602 (inputs `(("ghc-byteable" ,ghc-byteable)
9603 ("ghc-memory" ,ghc-memory)))
9604 (home-page "https://github.com/vincenthz/hs-securemem")
9605 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9606Haskell")
9607 (description "SecureMem is similar to ByteString, except that it provides
9608a memory chunk that will be auto-scrubbed after it run out of scope.")
9609 (license license:bsd-3)))
9610
9611(define-public ghc-semigroupoids
9612 (package
9613 (name "ghc-semigroupoids")
a8aaadf2 9614 (version "5.3.3")
dddbc90c
RV
9615 (source
9616 (origin
9617 (method url-fetch)
9618 (uri (string-append
9619 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9620 version
9621 ".tar.gz"))
9622 (sha256
9623 (base32
a8aaadf2 9624 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9625 (build-system haskell-build-system)
dddbc90c
RV
9626 (inputs
9627 `(("ghc-base-orphans" ,ghc-base-orphans)
9628 ("ghc-transformers-compat" ,ghc-transformers-compat)
9629 ("ghc-bifunctors" ,ghc-bifunctors)
9630 ("ghc-comonad" ,ghc-comonad)
9631 ("ghc-contravariant" ,ghc-contravariant)
9632 ("ghc-distributive" ,ghc-distributive)
9633 ("ghc-hashable" ,ghc-hashable)
9634 ("ghc-semigroups" ,ghc-semigroups)
9635 ("ghc-tagged" ,ghc-tagged)
9636 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9637 (native-inputs
9638 `(("cabal-doctest" ,cabal-doctest)
9639 ("ghc-doctest" ,ghc-doctest)))
9640 (home-page "https://github.com/ekmett/semigroupoids")
9641 (synopsis "Semigroupoids operations for Haskell")
9642 (description "This library provides a wide array of (semi)groupoids and
9643operations for working with them. A @code{Semigroupoid} is a @code{Category}
9644without the requirement of identity arrows for every object in the category.
9645A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9646Finally, to work with these weaker structures it is beneficial to have
9647containers that can provide stronger guarantees about their contents, so
9648versions of @code{Traversable} and @code{Foldable} that can be folded with
9649just a @code{Semigroup} are added.")
9650 (license license:bsd-3)))
9651
9652(define-public ghc-semigroups
9653 (package
9654 (name "ghc-semigroups")
9655 (version "0.18.5")
9656 (source
9657 (origin
9658 (method url-fetch)
9659 (uri (string-append
9660 "https://hackage.haskell.org/package/semigroups/semigroups-"
9661 version
9662 ".tar.gz"))
9663 (sha256
9664 (base32
9665 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9666 (build-system haskell-build-system)
9667 (inputs
9668 `(("ghc-nats" ,ghc-nats)
9669 ("ghc-tagged" ,ghc-tagged)
9670 ("ghc-unordered-containers" ,ghc-unordered-containers)
9671 ("ghc-hashable" ,ghc-hashable)))
9672 (home-page "https://github.com/ekmett/semigroups/")
9673 (synopsis "Semigroup operations for Haskell")
9674 (description "This package provides semigroups for Haskell. In
9675mathematics, a semigroup is an algebraic structure consisting of a set
9676together with an associative binary operation. A semigroup generalizes a
9677monoid in that there might not exist an identity element. It
9678also (originally) generalized a group (a monoid with all inverses) to a type
9679where every element did not have to have an inverse, thus the name
9680semigroup.")
9681 (license license:bsd-3)))
9682
9683(define-public ghc-semigroups-bootstrap
9684 (package
9685 (inherit ghc-semigroups)
9686 (name "ghc-semigroups-bootstrap")
9687 (inputs
9688 `(("ghc-nats" ,ghc-nats-bootstrap)
9689 ("ghc-tagged" ,ghc-tagged)
9690 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9691 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9692 (properties '((hidden? #t)))))
dddbc90c
RV
9693
9694(define-public ghc-setenv
9695 (package
9696 (name "ghc-setenv")
9697 (version "0.1.1.3")
9698 (source
9699 (origin
9700 (method url-fetch)
9701 (uri (string-append
9702 "https://hackage.haskell.org/package/setenv/setenv-"
9703 version
9704 ".tar.gz"))
9705 (sha256
9706 (base32
9707 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9708 (build-system haskell-build-system)
9709 (home-page "https://hackage.haskell.org/package/setenv")
9710 (synopsis "Library for setting environment variables")
9711 (description "This package provides a Haskell library for setting
9712environment variables.")
9713 (license license:expat)))
9714
9715(define-public ghc-setlocale
9716 (package
9717 (name "ghc-setlocale")
9d7cfc9b 9718 (version "1.0.0.9")
dddbc90c
RV
9719 (source (origin
9720 (method url-fetch)
9721 (uri (string-append
9722 "https://hackage.haskell.org/package/setlocale-"
9723 version "/setlocale-" version ".tar.gz"))
9724 (sha256
9725 (base32
9d7cfc9b 9726 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9727 (build-system haskell-build-system)
9728 (home-page "https://hackage.haskell.org/package/setlocale")
9729 (synopsis "Haskell bindings to setlocale")
9730 (description "This package provides Haskell bindings to the
9731@code{setlocale} C function.")
9732 (license license:bsd-3)))
9733
9734(define-public ghc-shakespeare
9735 (package
9736 (name "ghc-shakespeare")
f680955f 9737 (version "2.0.22")
dddbc90c
RV
9738 (source
9739 (origin
9740 (method url-fetch)
9741 (uri (string-append "https://hackage.haskell.org/package/"
9742 "shakespeare-" version "/"
9743 "shakespeare-" version ".tar.gz"))
9744 (sha256
9745 (base32
f680955f 9746 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9747 (build-system haskell-build-system)
9748 (inputs `(("ghc-aeson" ,ghc-aeson)
9749 ("ghc-blaze-markup" ,ghc-blaze-markup)
9750 ("ghc-blaze-html" ,ghc-blaze-html)
9751 ("ghc-exceptions" ,ghc-exceptions)
9752 ("ghc-vector" ,ghc-vector)
9753 ("ghc-unordered-containers" ,ghc-unordered-containers)
9754 ("ghc-scientific" ,ghc-scientific)))
9755 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9756 ("ghc-hunit" ,ghc-hunit)
9757 ("hspec-discover" ,hspec-discover)))
9758 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9759 (synopsis "Family of type-safe template languages for Haskell")
9760 (description "This Haskell package provides a family of type-safe
9761templates with simple variable interpolation. Shakespeare templates can
9762be used inline with a quasi-quoter or in an external file and it
9763interpolates variables according to the type being inserted.")
9764 (license license:expat)))
9765
9766(define-public ghc-shelly
9767 (package
9768 (name "ghc-shelly")
9769 (version "1.8.1")
9770 (source
9771 (origin
9772 (method url-fetch)
9773 (uri (string-append
9774 "https://hackage.haskell.org/package/shelly/shelly-"
9775 version ".tar.gz"))
9776 (sha256
9777 (base32
9778 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9779 (build-system haskell-build-system)
9780 (inputs
9781 `(("ghc-unix-compat" ,ghc-unix-compat)
9782 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9783 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9784 ("ghc-monad-control" ,ghc-monad-control)
9785 ("ghc-lifted-base" ,ghc-lifted-base)
9786 ("ghc-lifted-async" ,ghc-lifted-async)
9787 ("ghc-exceptions" ,ghc-exceptions)
9788 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9789 ("ghc-async" ,ghc-async)
9790 ("ghc-transformers-base" ,ghc-transformers-base)
9791 ("ghc-hunit" ,ghc-hunit)
9792 ("ghc-hspec" ,ghc-hspec)
9793 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9794 (home-page "https://github.com/yesodweb/Shelly.hs")
9795 (synopsis "Shell-like (systems) programming in Haskell")
9796 (description
9797 "Shelly provides convenient systems programming in Haskell, similar in
9798spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9799 (license license:bsd-3)))
9800
9801(define-public ghc-silently
9802 (package
9803 (name "ghc-silently")
544bb369 9804 (version "1.2.5.1")
dddbc90c
RV
9805 (source
9806 (origin
9807 (method url-fetch)
9808 (uri (string-append
9809 "https://hackage.haskell.org/package/silently/silently-"
9810 version
9811 ".tar.gz"))
9812 (sha256
9813 (base32
544bb369 9814 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9815 (build-system haskell-build-system)
9816 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9817 ;; (inputs
9818 ;; `(("ghc-temporary" ,ghc-temporary)))
9819 (home-page "https://github.com/hspec/silently")
9820 (synopsis "Prevent writing to stdout")
9821 (description "This package provides functions to prevent or capture
9822writing to stdout and other handles.")
9823 (license license:bsd-3)))
9824
9825(define-public ghc-simple-reflect
9826 (package
9827 (name "ghc-simple-reflect")
9828 (version "0.3.3")
9829 (source
9830 (origin
9831 (method url-fetch)
9832 (uri (string-append
9833 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9834 version
9835 ".tar.gz"))
9836 (sha256
9837 (base32
9838 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9839 (build-system haskell-build-system)
9840 (home-page
9841 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9842 (synopsis
9843 "Simple reflection of expressions containing variables")
9844 (description
9845 "This package allows simple reflection of expressions containing
9846variables. Reflection here means that a Haskell expression is turned into a
9847string. The primary aim of this package is teaching and understanding; there
9848are no options for manipulating the reflected expressions beyond showing
9849them.")
9850 (license license:bsd-3)))
9851
9852(define-public ghc-simple-sendfile
9853 (package
9854 (name "ghc-simple-sendfile")
08f54390 9855 (version "0.2.30")
dddbc90c
RV
9856 (source
9857 (origin
9858 (method url-fetch)
9859 (uri (string-append "https://hackage.haskell.org/package/"
9860 "simple-sendfile-" version "/"
9861 "simple-sendfile-" version ".tar.gz"))
9862 (sha256
9863 (base32
08f54390 9864 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
9865 (build-system haskell-build-system)
9866 (inputs
9867 `(("ghc-conduit" ,ghc-conduit)
9868 ("ghc-conduit-extra" ,ghc-conduit-extra)
9869 ("ghc-network" ,ghc-network)
9870 ("ghc-resourcet" ,ghc-resourcet)))
9871 (native-inputs
9872 `(("ghc-hspec" ,ghc-hspec)
9873 ("hspec-discover" ,hspec-discover)))
9874 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9875 (synopsis "Cross platform library for the sendfile system call")
9876 (description "This library tries to call minimum system calls which
9877are the bottleneck of web servers.")
9878 (license license:bsd-3)))
9879
06966c05
TS
9880(define-public ghc-size-based
9881 (package
9882 (name "ghc-size-based")
9883 (version "0.1.2.0")
9884 (source
9885 (origin
9886 (method url-fetch)
9887 (uri (string-append "https://hackage.haskell.org/package/"
9888 "size-based/size-based-" version ".tar.gz"))
9889 (sha256
9890 (base32
9891 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
9892 (build-system haskell-build-system)
9893 (inputs
9894 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
9895 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
9896 ("ghc-semigroups" ,ghc-semigroups)))
9897 (arguments
9898 `(#:cabal-revision
9899 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
9900 (home-page "https://hackage.haskell.org/package/size-based")
9901 (synopsis "Sized functors for size-based enumerations")
9902 (description "This library provides a framework for size-based
9903enumerations.")
9904 (license license:bsd-3)))
9905
dddbc90c
RV
9906(define-public ghc-skylighting-core
9907 (package
9908 (name "ghc-skylighting-core")
1826c2a8 9909 (version "0.8.2.1")
dddbc90c
RV
9910 (source (origin
9911 (method url-fetch)
9912 (uri (string-append "https://hackage.haskell.org/package/"
9913 "skylighting-core/skylighting-core-"
9914 version ".tar.gz"))
9915 (sha256
9916 (base32
1826c2a8 9917 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9918 (build-system haskell-build-system)
9919 (inputs
9920 `(("ghc-aeson" ,ghc-aeson)
9921 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9922 ("ghc-attoparsec" ,ghc-attoparsec)
9923 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9924 ("ghc-blaze-html" ,ghc-blaze-html)
9925 ("ghc-case-insensitive" ,ghc-case-insensitive)
9926 ("ghc-colour" ,ghc-colour)
9927 ("ghc-hxt" ,ghc-hxt)
9928 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9929 ("ghc-safe" ,ghc-safe)
9930 ("ghc-utf8-string" ,ghc-utf8-string)))
9931 (native-inputs
9932 `(("ghc-diff" ,ghc-diff)
9933 ("ghc-hunit" ,ghc-hunit)
9934 ("ghc-pretty-show" ,ghc-pretty-show)
9935 ("ghc-quickcheck" ,ghc-quickcheck)
9936 ("ghc-tasty" ,ghc-tasty)
9937 ("ghc-tasty-golden" ,ghc-tasty-golden)
9938 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9939 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9940 (home-page "https://github.com/jgm/skylighting")
9941 (synopsis "Syntax highlighting library")
9942 (description "Skylighting is a syntax highlighting library with support
9943for over one hundred languages. It derives its tokenizers from XML syntax
9944definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9945supported by that framework can be added. An optional command-line program is
9946provided. Skylighting is intended to be the successor to highlighting-kate.")
9947 (license license:gpl2)))
9948
9949(define-public ghc-skylighting
9950 (package
9951 (inherit ghc-skylighting-core)
9952 (name "ghc-skylighting")
36c940cf 9953 (version "0.8.2.1")
dddbc90c
RV
9954 (source (origin
9955 (method url-fetch)
9956 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9957 version "/skylighting-" version ".tar.gz"))
9958 (sha256
9959 (base32
36c940cf 9960 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9961 (inputs
9962 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9963 ,@(package-inputs ghc-skylighting-core)))))
9964
9965(define-public ghc-smallcheck
9966 (package
9967 (name "ghc-smallcheck")
9968 (version "1.1.5")
9969 (source
9970 (origin
9971 (method url-fetch)
9972 (uri (string-append
9973 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9974 version
9975 ".tar.gz"))
9976 (sha256
9977 (base32
9978 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9979 (build-system haskell-build-system)
9980 (inputs
9981 `(("ghc-logict" ,ghc-logict)))
9982 (home-page
9983 "https://github.com/feuerbach/smallcheck")
9984 (synopsis "Property-based testing library")
9985 (description "SmallCheck is a testing library that allows to verify
9986properties for all test cases up to some depth. The test cases are generated
9987automatically by SmallCheck.")
9988 (license license:bsd-3)))
9989
9990(define-public ghc-socks
9991 (package
9992 (name "ghc-socks")
ab761e9d 9993 (version "0.6.1")
dddbc90c
RV
9994 (source (origin
9995 (method url-fetch)
9996 (uri (string-append "https://hackage.haskell.org/package/"
9997 "socks/socks-" version ".tar.gz"))
9998 (sha256
9999 (base32
ab761e9d 10000 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10001 (build-system haskell-build-system)
10002 (inputs
10003 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10004 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10005 ("ghc-network" ,ghc-network)))
10006 (home-page "https://github.com/vincenthz/hs-socks")
10007 (synopsis "SOCKS proxy (version 5) implementation")
10008 (description
10009 "This library provides a SOCKS proxy (version 5) implementation.")
10010 (license license:bsd-3)))
10011
081d85d6
TS
10012(define-public ghc-sop-core
10013 (package
10014 (name "ghc-sop-core")
10015 (version "0.4.0.0")
10016 (source
10017 (origin
10018 (method url-fetch)
10019 (uri (string-append "https://hackage.haskell.org/package/"
10020 "sop-core/sop-core-" version ".tar.gz"))
10021 (sha256
10022 (base32
10023 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10024 (build-system haskell-build-system)
10025 (home-page "http://hackage.haskell.org/package/sop-core")
10026 (synopsis "True Sums of Products")
10027 (description "This package provides an implementation of
10028@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10029is the main module of this library and contains more detailed
10030documentation. The main use case of this package is to serve as the
10031core of @url{https://hackage.haskell.org/package/generics-sop,
10032generics-sop}.")
10033 (license license:bsd-3)))
10034
dddbc90c
RV
10035(define-public ghc-split
10036 (package
10037 (name "ghc-split")
10038 (version "0.2.3.3")
10039 (outputs '("out" "doc"))
10040 (source
10041 (origin
10042 (method url-fetch)
10043 (uri (string-append
10044 "https://hackage.haskell.org/package/split/split-"
10045 version
10046 ".tar.gz"))
10047 (sha256
10048 (base32
10049 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10050 (build-system haskell-build-system)
9bbc21a7
TS
10051 (arguments
10052 `(#:cabal-revision
10053 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10054 (native-inputs
10055 `(("ghc-quickcheck" ,ghc-quickcheck)))
10056 (home-page "https://hackage.haskell.org/package/split")
10057 (synopsis "Combinator library for splitting lists")
10058 (description "This package provides a collection of Haskell functions for
10059splitting lists into parts, akin to the @code{split} function found in several
10060mainstream languages.")
10061 (license license:bsd-3)))
10062
7799d17f 10063(define-public ghc-splitmix
49367c92 10064 (package
7799d17f 10065 (name "ghc-splitmix")
49367c92
TS
10066 (version "0.0.3")
10067 (source
10068 (origin
10069 (method url-fetch)
10070 (uri (string-append "https://hackage.haskell.org/package/"
10071 "splitmix/splitmix-" version ".tar.gz"))
10072 (sha256
10073 (base32
10074 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10075 (build-system haskell-build-system)
49367c92
TS
10076 (inputs
10077 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10078 (native-inputs
10079 `(("ghc-hunit" ,ghc-hunit)
10080 ("ghc-async" ,ghc-async)
10081 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10082 ("ghc-tf-random" ,ghc-tf-random)
10083 ("ghc-vector" ,ghc-vector)))
49367c92
TS
10084 (home-page "http://hackage.haskell.org/package/splitmix")
10085 (synopsis "Fast and splittable pseudorandom number generator")
10086 (description "This package provides a Pure Haskell implementation of the
10087SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10088pseudorandom number generator that is quite fast: 9 64-bit
10089arithmetic/logical operations per 64 bits generated. SplitMix is tested
10090with two standard statistical test suites (DieHarder and TestU01, this
10091implementation only using the former) and it appears to be adequate for
10092\"everyday\" use, such as Monte Carlo algorithms and randomized data
10093structures where speed is important. In particular, it @strong{should not
10094be used for cryptographic or security applications}, because generated
10095sequences of pseudorandom values are too predictable (the mixing functions
10096are easily inverted, and two successive outputs suffice to reconstruct the
10097internal state).")
10098 (license license:bsd-3)))
10099
7799d17f
TS
10100(define-public ghc-splitmix-bootstrap
10101 (package
10102 (inherit ghc-splitmix)
10103 (name "ghc-splitmix-bootstrap")
10104 (arguments `(#:tests? #f))
10105 (native-inputs '())
10106 (properties '((hidden? #t)))))
10107
dddbc90c
RV
10108(define-public ghc-statevar
10109 (package
10110 (name "ghc-statevar")
19419709 10111 (version "1.2")
dddbc90c
RV
10112 (source
10113 (origin
10114 (method url-fetch)
10115 (uri (string-append
10116 "https://hackage.haskell.org/package/StateVar/StateVar-"
10117 version
10118 ".tar.gz"))
10119 (sha256
10120 (base32
19419709 10121 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10122 (build-system haskell-build-system)
10123 (home-page "https://hackage.haskell.org/package/StateVar")
10124 (synopsis "State variables for Haskell")
10125 (description "This package provides state variables, which are references
10126in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10127 (license license:bsd-3)))
10128
10129(define-public ghc-statistics
10130 (package
10131 (name "ghc-statistics")
60e78e68 10132 (version "0.15.1.1")
dddbc90c
RV
10133 (source
10134 (origin
10135 (method url-fetch)
10136 (uri (string-append "https://hackage.haskell.org/package/"
10137 "statistics-" version "/"
10138 "statistics-" version ".tar.gz"))
10139 (sha256
10140 (base32
60e78e68 10141 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10142 (build-system haskell-build-system)
10143 (arguments
60e78e68 10144 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10145 #:tests? #f))
10146 (inputs
10147 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10148 ("ghc-async" ,ghc-async)
dddbc90c 10149 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10150 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10151 ("ghc-math-functions" ,ghc-math-functions)
10152 ("ghc-monad-par" ,ghc-monad-par)
10153 ("ghc-mwc-random" ,ghc-mwc-random)
10154 ("ghc-primitive" ,ghc-primitive)
10155 ("ghc-vector" ,ghc-vector)
10156 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10157 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10158 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10159 (native-inputs
10160 `(("ghc-hunit" ,ghc-hunit)
10161 ("ghc-quickcheck" ,ghc-quickcheck)
10162 ("ghc-ieee754" ,ghc-ieee754)
10163 ("ghc-test-framework" ,ghc-test-framework)
10164 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10165 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10166 (home-page "https://github.com/bos/mwc-random")
10167 (synopsis "Haskell library of statistical types, data, and functions")
10168 (description "This library provides a number of common functions
10169and types useful in statistics. We focus on high performance, numerical
10170robustness, and use of good algorithms. Where possible, we provide references
10171to the statistical literature.
10172
10173The library's facilities can be divided into four broad categories:
10174
10175@itemize
10176@item Working with widely used discrete and continuous probability
10177distributions. (There are dozens of exotic distributions in use; we focus
10178on the most common.)
10179
10180@item Computing with sample data: quantile estimation, kernel density
10181estimation, histograms, bootstrap methods, significance testing,
10182and regression and autocorrelation analysis.
10183
10184@item Random variate generation under several different distributions.
10185
10186@item Common statistical tests for significant differences between samples.
10187@end itemize")
10188 (license license:bsd-2)))
10189
10190(define-public ghc-stm-chans
10191 (package
10192 (name "ghc-stm-chans")
10193 (version "3.0.0.4")
10194 (source
10195 (origin
10196 (method url-fetch)
10197 (uri (string-append "https://hackage.haskell.org/package/"
10198 "stm-chans-" version "/"
10199 "stm-chans-" version ".tar.gz"))
10200 (sha256
10201 (base32
10202 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10203 (build-system haskell-build-system)
10204 (home-page "https://hackage.haskell.org/package/stm-chans")
10205 (synopsis "Additional types of channels for ghc-stm")
10206 (description "This Haskell package offers a collection of channel types,
10207similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10208features.")
10209 (license license:bsd-3)))
10210
10211(define-public ghc-stm-conduit
10212 (package
10213 (name "ghc-stm-conduit")
cd518e95 10214 (version "4.0.1")
dddbc90c
RV
10215 (source
10216 (origin
10217 (method url-fetch)
10218 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10219 "stm-conduit-" version ".tar.gz"))
10220 (sha256
10221 (base32
cd518e95 10222 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10223 (build-system haskell-build-system)
10224 (inputs
10225 `(("ghc-stm-chans" ,ghc-stm-chans)
10226 ("ghc-cereal" ,ghc-cereal)
10227 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10228 ("ghc-conduit" ,ghc-conduit)
10229 ("ghc-conduit-extra" ,ghc-conduit-extra)
10230 ("ghc-exceptions" ,ghc-exceptions)
10231 ("ghc-resourcet" ,ghc-resourcet)
10232 ("ghc-async" ,ghc-async)
10233 ("ghc-monad-loops" ,ghc-monad-loops)
10234 ("ghc-unliftio" ,ghc-unliftio)))
10235 (native-inputs
10236 `(("ghc-doctest" ,ghc-doctest)
10237 ("ghc-quickcheck" ,ghc-quickcheck)
10238 ("ghc-hunit" ,ghc-hunit)
10239 ("ghc-test-framework" ,ghc-test-framework)
10240 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10241 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10242 (home-page "https://github.com/cgaebel/stm-conduit")
10243 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10244 (description
10245 "This package provides two simple conduit wrappers around STM channels: a
10246source and a sink.")
10247 (license license:bsd-3)))
10248
10249(define-public ghc-stmonadtrans
10250 (package
10251 (name "ghc-stmonadtrans")
10252 (version "0.4.3")
10253 (source
10254 (origin
10255 (method url-fetch)
10256 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10257 "/STMonadTrans-" version ".tar.gz"))
10258 (sha256
10259 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10260 (build-system haskell-build-system)
10261 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10262 (synopsis "Monad transformer version of the ST monad")
10263 (description
10264 "This package provides a monad transformer version of the @code{ST} monad
10265for strict state threads.")
10266 (license license:bsd-3)))
10267
10268(define-public ghc-storable-complex
10269 (package
10270 (name "ghc-storable-complex")
4a35e3c3 10271 (version "0.2.3.0")
dddbc90c
RV
10272 (source
10273 (origin
10274 (method url-fetch)
10275 (uri (string-append
10276 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10277 version ".tar.gz"))
10278 (sha256
4a35e3c3 10279 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10280 (build-system haskell-build-system)
4a35e3c3
TS
10281 (inputs
10282 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10283 (home-page "https://github.com/cartazio/storable-complex")
10284 (synopsis "Haskell Storable instance for Complex")
10285 (description "This package provides a Haskell library including a
10286Storable instance for Complex which is binary compatible with C99, C++
10287and Fortran complex data types.")
10288 (license license:bsd-3)))
10289
ad80074a
JS
10290(define-public ghc-storable-record
10291 (package
10292 (name "ghc-storable-record")
10293 (version "0.0.4")
10294 (source
10295 (origin
10296 (method url-fetch)
10297 (uri
10298 (string-append
10299 "https://hackage.haskell.org/package/storable-record/"
10300 "storable-record-" version ".tar.gz"))
10301 (sha256
10302 (base32
10303 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10304 (build-system haskell-build-system)
10305 (inputs
10306 `(("ghc-semigroups" ,ghc-semigroups)
10307 ("ghc-utility-ht" ,ghc-utility-ht)
10308 ("ghc-storablevector" ,ghc-storablevector)
10309 ("ghc-timeit" ,ghc-timeit)))
10310 (home-page "https://hackage.haskell.org/package/storable-record")
10311 (synopsis "Elegant definition of Storable instances for records")
10312 (description "With this package you can build a Storable instance of
10313a record type from Storable instances of its elements in an elegant way.
10314It does not do any magic, just a bit arithmetic to compute the right
10315offsets, that would be otherwise done manually or by a preprocessor like
10316C2HS. There is no guarantee that the generated memory layout is
10317compatible with that of a corresponding C struct. However, the module
10318generates the smallest layout that is possible with respect to the
10319alignment of the record elements.")
10320 (license license:bsd-3)))
10321
55f4c653
JS
10322(define-public ghc-storable-tuple
10323 (package
10324 (name "ghc-storable-tuple")
10325 (version "0.0.3.3")
10326 (source
10327 (origin
10328 (method url-fetch)
10329 (uri
10330 (string-append
10331 "https://hackage.haskell.org/package/storable-tuple/"
10332 "storable-tuple-" version ".tar.gz"))
10333 (sha256
10334 (base32
10335 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10336 (build-system haskell-build-system)
10337 (inputs
10338 `(("ghc-storable-record" ,ghc-storable-record)
10339 ("ghc-utility-ht" ,ghc-utility-ht)
10340 ("ghc-base-orphans" ,ghc-base-orphans)))
10341 (home-page "https://hackage.haskell.org/package/storable-tuple")
10342 (synopsis "Storable instance for pairs and triples")
10343 (description "This package provides a Storable instance for pairs
10344and triples which should be binary compatible with C99 and C++. The
10345only purpose of this package is to provide a standard location for this
10346instance so that other packages needing this instance can play nicely
10347together.")
10348 (license license:bsd-3)))
10349
bc06ca45
JS
10350(define-public ghc-storablevector
10351 (package
10352 (name "ghc-storablevector")
10353 (version "0.2.13")
10354 (source
10355 (origin
10356 (method url-fetch)
10357 (uri
10358 (string-append
10359 "https://hackage.haskell.org/package/storablevector/storablevector-"
10360 version ".tar.gz"))
10361 (sha256
10362 (base32
10363 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10364 (build-system haskell-build-system)
10365 (inputs
10366 `(("ghc-non-negative" ,ghc-non-negative)
10367 ("ghc-utility-ht" ,ghc-utility-ht)
10368 ("ghc-semigroups" ,ghc-semigroups)
10369 ("ghc-unsafe" ,ghc-unsafe)
10370 ("ghc-quickcheck" ,ghc-quickcheck)
10371 ("ghc-syb" ,ghc-syb)))
10372 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10373 (synopsis "Fast, packed, strict storable arrays with a list interface")
10374 (description "This library provides fast, packed, strict storable
10375arrays with a list interface, a chunky lazy list interface with variable
10376chunk size and an interface for write access via the ST monad. This is
10377much like bytestring and binary but can be used for every
10378@code{Foreign.Storable.Storable} type. See also
10379@url{http://hackage.haskell.org/package/vector}, a library with a
10380similar intention.
10381
10382This library does not do advanced fusion optimization, since especially
10383for lazy vectors this would either be incorrect or not applicable. See
10384@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10385a library that provides fusion with lazy lists.")
10386 (license license:bsd-3)))
10387
dddbc90c
RV
10388(define-public ghc-streaming-commons
10389 (package
10390 (name "ghc-streaming-commons")
10391 (version "0.2.1.1")
10392 (source
10393 (origin
10394 (method url-fetch)
10395 (uri (string-append "https://hackage.haskell.org/package/"
10396 "streaming-commons/streaming-commons-"
10397 version ".tar.gz"))
10398 (sha256
10399 (base32
10400 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10401 (build-system haskell-build-system)
10402 (inputs
10403 `(("ghc-async" ,ghc-async)
10404 ("ghc-blaze-builder" ,ghc-blaze-builder)
10405 ("ghc-network" ,ghc-network)
10406 ("ghc-random" ,ghc-random)
10407 ("ghc-zlib" ,ghc-zlib)))
10408 (native-inputs
10409 `(("ghc-quickcheck" ,ghc-quickcheck)
10410 ("ghc-hspec" ,ghc-hspec)
10411 ("hspec-discover" ,hspec-discover)))
10412 (home-page "https://hackage.haskell.org/package/streaming-commons")
10413 (synopsis "Conduit and pipes needed by some streaming data libraries")
10414 (description "This package provides low-dependency functionality commonly
10415needed by various Haskell streaming data libraries, such as @code{conduit} and
10416@code{pipe}s.")
10417 (license license:expat)))
10418
10419(define-public ghc-strict
10420 (package
10421 (name "ghc-strict")
10422 (version "0.3.2")
10423 (source
10424 (origin
10425 (method url-fetch)
10426 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10427 version ".tar.gz"))
10428 (sha256
10429 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10430 (build-system haskell-build-system)
10431 (home-page "https://hackage.haskell.org/package/strict")
10432 (synopsis "Strict data types and String IO")
10433 (description
10434 "This package provides strict versions of some standard Haskell data
10435types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10436IO operations.")
10437 (license license:bsd-3)))
10438
10439(define-public ghc-stringbuilder
10440 (package
10441 (name "ghc-stringbuilder")
10442 (version "0.5.1")
10443 (source
10444 (origin
10445 (method url-fetch)
10446 (uri (string-append
10447 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10448 version
10449 ".tar.gz"))
10450 (sha256
10451 (base32
10452 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10453 (build-system haskell-build-system)
10454 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10455 ; enabled
10456 (home-page "https://hackage.haskell.org/package/stringbuilder")
10457 (synopsis "Writer monad for multi-line string literals")
10458 (description "This package provides a writer monad for multi-line string
10459literals.")
10460 (license license:expat)))
10461
10462(define-public ghc-string-qq
10463 (package
10464 (name "ghc-string-qq")
4d6fddc3 10465 (version "0.0.4")
dddbc90c
RV
10466 (source
10467 (origin
10468 (method url-fetch)
10469 (uri (string-append
10470 "https://hackage.haskell.org/package/string-qq/string-qq-"
10471 version
10472 ".tar.gz"))
10473 (sha256
10474 (base32
4d6fddc3 10475 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10476 (build-system haskell-build-system)
4d6fddc3
TS
10477 (native-inputs
10478 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10479 (home-page "http://hackage.haskell.org/package/string-qq")
10480 (synopsis
10481 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10482 (description
10483 "This package provides a quasiquoter for non-interpolated strings, texts
10484and bytestrings.")
10485 (license license:public-domain)))
10486
10487(define-public ghc-stringsearch
10488 (package
10489 (name "ghc-stringsearch")
10490 (version "0.3.6.6")
10491 (source
10492 (origin
10493 (method url-fetch)
10494 (uri (string-append
10495 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10496 version
10497 ".tar.gz"))
10498 (sha256
10499 (base32
10500 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10501 (build-system haskell-build-system)
e2303abb
TS
10502 (arguments
10503 `(#:cabal-revision
10504 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10505 (home-page "https://bitbucket.org/dafis/stringsearch")
10506 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10507 (description "This package provides several functions to quickly search
10508for substrings in strict or lazy @code{ByteStrings}. It also provides
10509functions for breaking or splitting on substrings and replacing all
10510occurrences of a substring (the first in case of overlaps) with another.")
10511 (license license:bsd-3)))
10512
10513(define-public ghc-stylish-haskell
10514 (package
10515 (name "ghc-stylish-haskell")
10516 (version "0.9.2.1")
10517 (source
10518 (origin
10519 (method url-fetch)
10520 (uri (string-append
10521 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10522 version
10523 ".tar.gz"))
10524 (sha256
10525 (base32
10526 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10527 (build-system haskell-build-system)
a54dda09
TS
10528 (arguments
10529 `(#:phases
10530 (modify-phases %standard-phases
10531 (add-before 'configure 'update-constraints
10532 (lambda _
10533 (substitute* "stylish-haskell.cabal"
10534 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
10535 "haskell-src-exts >= 1.18 && < 1.22,"))
10536 #t)))))
dddbc90c
RV
10537 (inputs
10538 `(("ghc-aeson" ,ghc-aeson)
10539 ("ghc-file-embed" ,ghc-file-embed)
10540 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10541 ("ghc-semigroups" ,ghc-semigroups)
10542 ("ghc-syb" ,ghc-syb)
10543 ("ghc-yaml" ,ghc-yaml)
10544 ("ghc-strict" ,ghc-strict)
10545 ("ghc-optparse-applicative"
10546 ,ghc-optparse-applicative)))
10547 (native-inputs
10548 `(("ghc-hunit" ,ghc-hunit)
10549 ("ghc-test-framework" ,ghc-test-framework)
10550 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10551 (home-page "https://github.com/jaspervdj/stylish-haskell")
10552 (synopsis "Haskell code prettifier")
10553 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10554not to format all of the code in a file, to avoid \"getting in the way\".
10555However, this tool can e.g. clean up import statements and help doing various
10556tasks that get tedious very quickly. It can
10557@itemize
10558@item
10559Align and sort @code{import} statements
10560@item
10561Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10562pragmas
10563@item
10564Remove trailing whitespaces
10565@item
10566Align branches in @code{case} and fields in records
10567@item
10568Convert line endings (customisable)
10569@item
10570Replace tabs by four spaces (turned off by default)
10571@item
10572Replace some ASCII sequences by their Unicode equivalent (turned off by
10573default)
10574@end itemize")
10575 (license license:bsd-3)))
10576
10577(define-public ghc-syb
10578 (package
10579 (name "ghc-syb")
07d65eef 10580 (version "0.7.1")
dddbc90c
RV
10581 (outputs '("out" "doc"))
10582 (source
10583 (origin
10584 (method url-fetch)
10585 (uri (string-append
10586 "https://hackage.haskell.org/package/syb/syb-"
10587 version
10588 ".tar.gz"))
10589 (sha256
10590 (base32
07d65eef 10591 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10592 (build-system haskell-build-system)
10593 (inputs
10594 `(("ghc-hunit" ,ghc-hunit)))
10595 (home-page
10596 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10597 (synopsis "Scrap Your Boilerplate")
10598 (description "This package contains the generics system described in the
10599/Scrap Your Boilerplate/ papers (see
10600@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10601defines the @code{Data} class of types permitting folding and unfolding of
10602constructor applications, instances of this class for primitive types, and a
10603variety of traversals.")
10604 (license license:bsd-3)))
10605
10606(define-public ghc-system-fileio
10607 (package
10608 (name "ghc-system-fileio")
dcfb99d4 10609 (version "0.3.16.4")
dddbc90c
RV
10610 (source
10611 (origin
10612 (method url-fetch)
10613 (uri (string-append
10614 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10615 version ".tar.gz"))
10616 (sha256
10617 (base32
dcfb99d4 10618 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10619 (build-system haskell-build-system)
dcfb99d4
TS
10620 (arguments
10621 `(#:phases
10622 (modify-phases %standard-phases
10623 (add-before 'configure 'update-constraints
10624 (lambda _
10625 (substitute* "system-fileio.cabal"
10626 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10627 #t)))))
dddbc90c
RV
10628 (inputs
10629 `(("ghc-system-filepath" ,ghc-system-filepath)
10630 ("ghc-chell" ,ghc-chell)
10631 ("ghc-temporary" ,ghc-temporary)))
10632 (home-page "https://github.com/fpco/haskell-filesystem")
10633 (synopsis "Consistent file system interaction across GHC versions")
10634 (description
10635 "This is a small wrapper around the directory, unix, and Win32 packages,
10636for use with system-filepath. It provides a consistent API to the various
10637versions of these packages distributed with different versions of GHC.
10638In particular, this library supports working with POSIX files that have paths
10639which can't be decoded in the current locale encoding.")
10640 (license license:expat)))
10641
10642;; See ghc-system-filepath-bootstrap. In addition this package depends on
10643;; ghc-system-filepath.
10644(define ghc-system-fileio-bootstrap
10645 (package
10646 (name "ghc-system-fileio-bootstrap")
10647 (version "0.3.16.3")
10648 (source
10649 (origin
10650 (method url-fetch)
10651 (uri (string-append
10652 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10653 version ".tar.gz"))
10654 (sha256
10655 (base32
10656 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10657 (build-system haskell-build-system)
10658 (arguments
10659 `(#:tests? #f))
10660 (inputs
10661 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10662 ("ghc-temporary" ,ghc-temporary)))
10663 (home-page "https://github.com/fpco/haskell-filesystem")
10664 (synopsis "Consistent file system interaction across GHC versions")
10665 (description
10666 "This is a small wrapper around the directory, unix, and Win32 packages,
10667for use with system-filepath. It provides a consistent API to the various
10668versions of these packages distributed with different versions of GHC.
10669In particular, this library supports working with POSIX files that have paths
10670which can't be decoded in the current locale encoding.")
10671 (license license:expat)))
10672
10673
10674(define-public ghc-system-filepath
10675 (package
10676 (name "ghc-system-filepath")
10677 (version "0.4.14")
10678 (source
10679 (origin
10680 (method url-fetch)
10681 (uri (string-append
10682 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10683 version ".tar.gz"))
10684 (sha256
10685 (base32
10686 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10687 (build-system haskell-build-system)
10688 ;; FIXME: One of the tests fails:
10689 ;; [ FAIL ] tests.validity.posix
10690 ;; note: seed=7310214548328823169
10691 ;; *** Failed! Falsifiable (after 24 tests):
10692 ;; 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"
10693 (arguments `(#:tests? #f))
10694 (inputs
10695 `(("ghc-chell" ,ghc-chell)
10696 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10697 ("ghc-quickcheck" ,ghc-quickcheck)))
10698 (home-page "https://github.com/fpco/haskell-filesystem")
10699 (synopsis "High-level, byte-based file and directory path manipulations")
10700 (description
10701 "Provides a FilePath datatype and utility functions for operating on it.
10702Unlike the filepath package, this package does not simply reuse String,
10703increasing type safety.")
10704 (license license:expat)))
10705
10706;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10707;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10708;; which depends on ghc-chell and ghc-chell-quickcheck.
10709;; Therefore we bootstrap it with tests disabled.
10710(define ghc-system-filepath-bootstrap
10711 (package
10712 (name "ghc-system-filepath-bootstrap")
10713 (version "0.4.14")
10714 (source
10715 (origin
10716 (method url-fetch)
10717 (uri (string-append
10718 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10719 version ".tar.gz"))
10720 (sha256
10721 (base32
10722 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10723 (build-system haskell-build-system)
10724 (arguments
10725 `(#:tests? #f))
10726 (inputs
10727 `(("ghc-quickcheck" ,ghc-quickcheck)))
10728 (home-page "https://github.com/fpco/haskell-filesystem")
10729 (synopsis "High-level, byte-based file and directory path manipulations")
10730 (description
10731 "Provides a FilePath datatype and utility functions for operating on it.
10732Unlike the filepath package, this package does not simply reuse String,
10733increasing type safety.")
10734 (license license:expat)))
10735
10736
10737(define-public ghc-tagged
10738 (package
10739 (name "ghc-tagged")
f0f3756a 10740 (version "0.8.6")
dddbc90c
RV
10741 (source
10742 (origin
10743 (method url-fetch)
10744 (uri (string-append
10745 "https://hackage.haskell.org/package/tagged/tagged-"
10746 version
10747 ".tar.gz"))
10748 (sha256
10749 (base32
f0f3756a 10750 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10751 (build-system haskell-build-system)
10752 (arguments
10753 `(#:cabal-revision
f0f3756a 10754 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10755 (inputs
10756 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10757 (home-page "https://hackage.haskell.org/package/tagged")
10758 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10759 (description "This library provides phantom types for Haskell 98, to avoid
10760having to unsafely pass dummy arguments.")
10761 (license license:bsd-3)))
10762
10763(define-public ghc-tar
10764 (package
10765 (name "ghc-tar")
ec83929f 10766 (version "0.5.1.1")
dddbc90c
RV
10767 (source
10768 (origin
10769 (method url-fetch)
10770 (uri (string-append
10771 "https://hackage.haskell.org/package/tar/tar-"
10772 version ".tar.gz"))
10773 (sha256
10774 (base32
ec83929f 10775 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10776 (build-system haskell-build-system)
10777 ;; FIXME: 2/24 tests fail.
10778 (arguments `(#:tests? #f))
10779 (inputs
10780 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10781 ("ghc-quickcheck" ,ghc-quickcheck)
10782 ("ghc-tasty" ,ghc-tasty)
10783 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10784 (home-page "https://hackage.haskell.org/package/tar")
10785 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10786 (description
10787 "This library is for working with \\\"@.tar@\\\" archive files.
10788It can read and write a range of common variations of the tar archive format
10789including V7, POSIX USTAR and GNU formats. It provides support for packing and
10790unpacking portable archives. This makes it suitable for distribution but not
10791backup because details like file ownership and exact permissions are not
10792preserved. It also provides features for random access to archive content using
10793an index.")
10794 (license license:bsd-3)))
10795
f8d17902
TS
10796(define-public ghc-tar-conduit
10797 (package
10798 (name "ghc-tar-conduit")
10799 (version "0.3.2")
10800 (source
10801 (origin
10802 (method url-fetch)
10803 (uri (string-append "https://hackage.haskell.org/package/"
10804 "tar-conduit/tar-conduit-" version ".tar.gz"))
10805 (sha256
10806 (base32
10807 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
10808 (build-system haskell-build-system)
10809 (inputs
10810 `(("ghc-conduit" ,ghc-conduit)
10811 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10812 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
10813 (native-inputs
10814 `(("ghc-quickcheck" ,ghc-quickcheck)
10815 ("ghc-conduit-extra" ,ghc-conduit-extra)
10816 ("ghc-hspec" ,ghc-hspec)
10817 ("ghc-hspec" ,ghc-hspec)
10818 ("ghc-weigh" ,ghc-weigh)))
10819 (home-page "https://github.com/snoyberg/tar-conduit#readme")
10820 (synopsis "Extract and create tar files using conduit for streaming")
10821 (description "This library provides a conduit-based, streaming
10822interface for extracting and creating tar files.")
10823 (license license:expat)))
10824
dddbc90c
RV
10825(define-public ghc-temporary
10826 (package
10827 (name "ghc-temporary")
10828 (version "1.3")
10829 (source
10830 (origin
10831 (method url-fetch)
10832 (uri (string-append
10833 "https://hackage.haskell.org/package/temporary/temporary-"
10834 version
10835 ".tar.gz"))
10836 (sha256
10837 (base32
10838 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10839 (build-system haskell-build-system)
10840 (inputs
10841 `(("ghc-exceptions" ,ghc-exceptions)
10842 ("ghc-random" ,ghc-random)))
10843 (native-inputs
10844 `(("ghc-base-compat" ,ghc-base-compat)
10845 ("ghc-tasty" ,ghc-tasty)
10846 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10847 (home-page "https://www.github.com/batterseapower/temporary")
10848 (synopsis "Temporary file and directory support")
10849 (description "The functions for creating temporary files and directories
10850in the Haskelll base library are quite limited. This library just repackages
10851the Cabal implementations of its own temporary file and folder functions so
10852that you can use them without linking against Cabal or depending on it being
10853installed.")
10854 (license license:bsd-3)))
10855
10856(define-public ghc-temporary-rc
10857 (package
10858 (name "ghc-temporary-rc")
10859 (version "1.2.0.3")
10860 (source
10861 (origin
10862 (method url-fetch)
10863 (uri (string-append
10864 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10865 version
10866 ".tar.gz"))
10867 (sha256
10868 (base32
10869 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10870 (build-system haskell-build-system)
10871 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10872 (home-page
10873 "https://www.github.com/feuerbach/temporary")
10874 (synopsis
10875 "Portable temporary file and directory support")
10876 (description
10877 "The functions for creating temporary files and directories in the base
10878library are quite limited. The unixutils package contains some good ones, but
10879they aren't portable to Windows. This library just repackages the Cabal
10880implementations of its own temporary file and folder functions so that you can
10881use them without linking against Cabal or depending on it being installed.
10882This is a better maintained fork of the \"temporary\" package.")
10883 (license license:bsd-3)))
10884
10885(define-public ghc-terminal-size
10886 (package
10887 (name "ghc-terminal-size")
10888 (version "0.3.2.1")
10889 (source (origin
10890 (method url-fetch)
10891 (uri (string-append
10892 "https://hackage.haskell.org/package/terminal-size/"
10893 "terminal-size-" version ".tar.gz"))
10894 (sha256
10895 (base32
10896 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10897 (build-system haskell-build-system)
10898 (home-page "https://hackage.haskell.org/package/terminal-size")
10899 (synopsis "Get terminal window height and width")
10900 (description "Get terminal window height and width without ncurses
10901dependency.")
10902 (license license:bsd-3)))
10903
10904(define-public ghc-texmath
10905 (package
10906 (name "ghc-texmath")
7fec7e66 10907 (version "0.11.3")
dddbc90c
RV
10908 (source (origin
10909 (method url-fetch)
10910 (uri (string-append "https://hackage.haskell.org/package/"
10911 "texmath/texmath-" version ".tar.gz"))
10912 (sha256
10913 (base32
7fec7e66 10914 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10915 (build-system haskell-build-system)
10916 (inputs
10917 `(("ghc-syb" ,ghc-syb)
10918 ("ghc-network-uri" ,ghc-network-uri)
10919 ("ghc-split" ,ghc-split)
10920 ("ghc-temporary" ,ghc-temporary)
10921 ("ghc-utf8-string" ,ghc-utf8-string)
10922 ("ghc-xml" ,ghc-xml)
10923 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10924 (home-page "https://github.com/jgm/texmath")
10925 (synopsis "Conversion between formats used to represent mathematics")
10926 (description
10927 "The texmath library provides functions to read and write TeX math,
10928presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10929Office). Support is also included for converting math formats to pandoc's
10930native format (allowing conversion, via pandoc, to a variety of different
10931markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10932it can parse and apply LaTeX macros.")
10933 (license license:gpl2+)))
10934
10935(define-public ghc-text-binary
10936 (package
10937 (name "ghc-text-binary")
10938 (version "0.2.1.1")
10939 (source
10940 (origin
10941 (method url-fetch)
10942 (uri (string-append "https://hackage.haskell.org/package/"
10943 "text-binary/text-binary-"
10944 version ".tar.gz"))
10945 (sha256
10946 (base32
10947 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10948 (build-system haskell-build-system)
10949 (home-page "https://github.com/kawu/text-binary")
10950 (synopsis "Binary instances for text types")
10951 (description
10952 "This package provides a compatibility layer providing @code{Binary}
10953instances for strict and lazy text types for versions older than 1.2.1 of the
10954text package.")
10955 (license license:bsd-2)))
10956
bdc877c4
TS
10957(define-public ghc-text-metrics
10958 (package
10959 (name "ghc-text-metrics")
10960 (version "0.3.0")
10961 (source
10962 (origin
10963 (method url-fetch)
10964 (uri (string-append "https://hackage.haskell.org/package/"
10965 "text-metrics/text-metrics-" version ".tar.gz"))
10966 (sha256
10967 (base32
10968 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10969 (build-system haskell-build-system)
10970 (inputs
10971 `(("ghc-vector" ,ghc-vector)))
10972 (native-inputs
10973 `(("ghc-quickcheck" ,ghc-quickcheck)
10974 ("ghc-hspec" ,ghc-hspec)))
10975 (arguments
10976 `(#:cabal-revision
10977 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10978 (home-page "https://github.com/mrkkrp/text-metrics")
10979 (synopsis "Calculate various string metrics efficiently")
10980 (description "This library provides tools to calculate various
10981string metrics efficiently.")
10982 (license license:bsd-3)))
10983
dddbc90c
RV
10984(define-public ghc-tf-random
10985 (package
10986 (name "ghc-tf-random")
10987 (version "0.5")
10988 (outputs '("out" "doc"))
10989 (source
10990 (origin
10991 (method url-fetch)
10992 (uri (string-append
10993 "https://hackage.haskell.org/package/tf-random/tf-random-"
10994 version
10995 ".tar.gz"))
10996 (sha256
10997 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10998 (build-system haskell-build-system)
10999 (inputs
11000 `(("ghc-primitive" ,ghc-primitive)
11001 ("ghc-random" ,ghc-random)))
11002 (home-page "https://hackage.haskell.org/package/tf-random")
11003 (synopsis "High-quality splittable pseudorandom number generator")
11004 (description "This package contains an implementation of a high-quality
11005splittable pseudorandom number generator. The generator is based on a
11006cryptographic hash function built on top of the ThreeFish block cipher. See
11007the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11008Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11009 (license license:bsd-3)))
11010
11011(define-public ghc-th-abstraction
11012 (package
11013 (name "ghc-th-abstraction")
1188eabb 11014 (version "0.3.1.0")
dddbc90c
RV
11015 (source
11016 (origin
11017 (method url-fetch)
11018 (uri (string-append "https://hackage.haskell.org/package/"
11019 "th-abstraction/th-abstraction-"
11020 version ".tar.gz"))
11021 (sha256
11022 (base32
1188eabb 11023 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11024 (build-system haskell-build-system)
11025 (home-page "https://github.com/glguy/th-abstraction")
11026 (synopsis "Nicer interface for reified information about data types")
11027 (description
11028 "This package normalizes variations in the interface for inspecting
11029datatype information via Template Haskell so that packages and support a
11030single, easier to use informational datatype while supporting many versions of
11031Template Haskell.")
11032 (license license:isc)))
11033
11034(define-public ghc-th-expand-syns
11035 (package
11036 (name "ghc-th-expand-syns")
8c766600 11037 (version "0.4.5.0")
dddbc90c
RV
11038 (source (origin
11039 (method url-fetch)
11040 (uri (string-append "https://hackage.haskell.org/package/"
11041 "th-expand-syns/th-expand-syns-"
11042 version ".tar.gz"))
11043 (sha256
11044 (base32
8c766600 11045 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11046 (build-system haskell-build-system)
11047 (inputs
11048 `(("ghc-syb" ,ghc-syb)))
11049 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11050 (synopsis "Expands type synonyms in Template Haskell ASTs")
11051 (description
11052 "This package enables users to expand type synonyms in Template Haskell
11053@dfn{abstract syntax trees} (ASTs).")
11054 (license license:bsd-3)))
11055
11056(define-public ghc-th-lift
11057 (package
11058 (name "ghc-th-lift")
bd76b20a 11059 (version "0.8.0.1")
dddbc90c
RV
11060 (source (origin
11061 (method url-fetch)
11062 (uri (string-append "https://hackage.haskell.org/package/"
11063 "th-lift/th-lift-" version ".tar.gz"))
11064 (sha256
11065 (base32
bd76b20a 11066 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11067 (build-system haskell-build-system)
11068 (inputs
11069 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11070 (home-page "https://github.com/mboes/th-lift")
11071 (synopsis "Derive Template Haskell's Lift class for datatypes")
11072 (description
11073 "This is a Haskell library to derive Template Haskell's Lift class for
11074datatypes.")
11075 (license license:bsd-3)))
11076
11077(define-public ghc-th-lift-instances
11078 (package
11079 (name "ghc-th-lift-instances")
d3db399e 11080 (version "0.1.14")
dddbc90c
RV
11081 (source
11082 (origin
11083 (method url-fetch)
11084 (uri (string-append "https://hackage.haskell.org/package/"
11085 "th-lift-instances/th-lift-instances-"
11086 version ".tar.gz"))
11087 (sha256
11088 (base32
d3db399e 11089 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11090 (build-system haskell-build-system)
11091 (inputs
11092 `(("ghc-th-lift" ,ghc-th-lift)
11093 ("ghc-vector" ,ghc-vector)
11094 ("ghc-quickcheck" ,ghc-quickcheck)))
11095 (home-page "https://github.com/bennofs/th-lift-instances/")
11096 (synopsis "Lift instances for template-haskell for common data types.")
11097 (description "Most data types in the Haskell platform do not have Lift
11098instances. This package provides orphan instances for @code{containers},
11099@code{text}, @code{bytestring} and @code{vector}.")
11100 (license license:bsd-3)))
11101
11102(define-public ghc-th-orphans
11103 (package
11104 (name "ghc-th-orphans")
882b23e2 11105 (version "0.13.9")
dddbc90c
RV
11106 (source (origin
11107 (method url-fetch)
11108 (uri (string-append "https://hackage.haskell.org/package/"
11109 "th-orphans/th-orphans-" version ".tar.gz"))
11110 (sha256
11111 (base32
882b23e2 11112 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11113 (build-system haskell-build-system)
11114 (inputs
11115 `(("ghc-th-lift" ,ghc-th-lift)
11116 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11117 ("ghc-th-reify-many" ,ghc-th-reify-many)
11118 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11119 (native-inputs
11120 `(("ghc-hspec" ,ghc-hspec)))
11121 (home-page "https://hackage.haskell.org/package/th-orphans")
11122 (synopsis "Orphan instances for TH datatypes")
11123 (description
11124 "This package provides orphan instances for Template Haskell datatypes. In particular,
11125instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11126and @code{Eq} instances. These instances used to live in the haskell-src-meta
11127package, and that's where the version number started.")
11128 (license license:bsd-3)))
11129
11130(define-public ghc-threads
11131 (package
11132 (name "ghc-threads")
11133 (version "0.5.1.6")
11134 (source
11135 (origin
11136 (method url-fetch)
11137 (uri (string-append "https://hackage.haskell.org/package/"
11138 "threads/threads-" version ".tar.gz"))
11139 (sha256
11140 (base32
11141 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11142 (build-system haskell-build-system)
11143 (native-inputs
11144 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11145 ("ghc-hunit" ,ghc-hunit)
11146 ("ghc-test-framework" ,ghc-test-framework)
11147 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11148 (home-page "https://github.com/basvandijk/threads")
11149 (synopsis "Fork threads and wait for their result")
11150 (description "This package provides functions to fork threads and
11151wait for their result, whether it's an exception or a normal value.
11152Besides waiting for the termination of a single thread this package also
11153provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11154package is similar to the @code{threadmanager}, @code{async} and
11155@code{spawn} packages. The advantages of this package are:
11156
dddbc90c
RV
11157@itemize
11158@item Simpler API.
11159@item More efficient in both space and time.
11160@item No space-leak when forking a large number of threads.
11161@item Correct handling of asynchronous exceptions.
11162@item GHC specific functionality like @code{forkOn} and
11163@code{forkIOWithUnmask}.
11164@end itemize")
11165 (license license:bsd-3)))
11166
11167(define-public ghc-th-reify-many
11168 (package
11169 (name "ghc-th-reify-many")
32d4a6ae 11170 (version "0.1.9")
dddbc90c
RV
11171 (source (origin
11172 (method url-fetch)
11173 (uri (string-append "https://hackage.haskell.org/package/"
11174 "th-reify-many/th-reify-many-"
11175 version ".tar.gz"))
11176 (sha256
11177 (base32
32d4a6ae 11178 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11179 (build-system haskell-build-system)
11180 (inputs
11181 `(("ghc-safe" ,ghc-safe)
11182 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11183 (home-page "https://github.com/mgsloan/th-reify-many")
11184 (synopsis "Recurseively reify template haskell datatype info")
11185 (description
11186 "th-reify-many provides functions for recursively reifying top level
11187declarations. The main intended use case is for enumerating the names of
11188datatypes reachable from an initial datatype, and passing these names to some
11189function which generates instances.")
11190 (license license:bsd-3)))
11191
75cfc9a2
TS
11192(define-public ghc-time-compat
11193 (package
11194 (name "ghc-time-compat")
11195 (version "1.9.2.2")
11196 (source
11197 (origin
11198 (method url-fetch)
11199 (uri (string-append "https://hackage.haskell.org/package/"
11200 "time-compat/time-compat-" version ".tar.gz"))
11201 (sha256
11202 (base32
11203 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11204 (build-system haskell-build-system)
11205 (inputs
11206 `(("ghc-base-orphans" ,ghc-base-orphans)))
11207 (native-inputs
11208 `(("ghc-hunit" ,ghc-hunit)
11209 ("ghc-base-compat" ,ghc-base-compat)
11210 ("ghc-quickcheck" ,ghc-quickcheck)
11211 ("ghc-tagged" ,ghc-tagged)
11212 ("ghc-tasty" ,ghc-tasty)
11213 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11214 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11215 (arguments
11216 `(#:cabal-revision
11217 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11218 (home-page "https://github.com/phadej/time-compat")
11219 (synopsis "Compatibility package for time")
11220 (description "This packages tries to compat as many @code{time}
11221features as possible.")
11222 (license license:bsd-3)))
11223
dddbc90c
RV
11224(define-public ghc-time-locale-compat
11225 (package
11226 (name "ghc-time-locale-compat")
11227 (version "0.1.1.5")
11228 (source
11229 (origin
11230 (method url-fetch)
11231 (uri (string-append "https://hackage.haskell.org/package/"
11232 "time-locale-compat/time-locale-compat-"
11233 version ".tar.gz"))
11234 (sha256
11235 (base32
11236 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11237 (build-system haskell-build-system)
11238 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11239 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11240 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11241 (description "This package contains a wrapped name module for
11242@code{TimeLocale}.")
11243 (license license:bsd-3)))
11244
c022a4d4
TS
11245(define-public ghc-time-manager
11246 (package
11247 (name "ghc-time-manager")
11248 (version "0.0.0")
11249 (source
11250 (origin
11251 (method url-fetch)
11252 (uri (string-append "https://hackage.haskell.org/package/"
11253 "time-manager/time-manager-" version ".tar.gz"))
11254 (sha256
11255 (base32
11256 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11257 (build-system haskell-build-system)
11258 (inputs
11259 `(("ghc-auto-update" ,ghc-auto-update)))
11260 (home-page "https://github.com/yesodweb/wai")
11261 (synopsis "Scalable timer")
11262 (description "This library contains scalable timer functions provided by a
11263timer manager.")
11264 (license license:expat)))
11265
7bbfa392
JS
11266(define-public ghc-timeit
11267 (package
11268 (name "ghc-timeit")
11269 (version "2.0")
11270 (source
11271 (origin
11272 (method url-fetch)
11273 (uri
11274 (string-append
11275 "https://hackage.haskell.org/package/timeit/timeit-"
11276 version ".tar.gz"))
11277 (sha256
11278 (base32
11279 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11280 (build-system haskell-build-system)
11281 (home-page "https://github.com/merijn/timeit")
11282 (synopsis "Time monadic computations with an IO base")
11283 (description "This package provides a simple wrapper to show the
11284used CPU time of monadic computation with an IO base.")
11285 (license license:bsd-3)))
11286
2ed8bd2d
JS
11287(define-public ghc-timezone-series
11288 (package
11289 (name "ghc-timezone-series")
11290 (version "0.1.9")
11291 (source
11292 (origin
11293 (method url-fetch)
11294 (uri
11295 (string-append
11296 "mirror://hackage/package/timezone-series/timezone-series-"
11297 version ".tar.gz"))
11298 (sha256
11299 (base32
11300 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11301 (build-system haskell-build-system)
11302 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11303 (synopsis "Enhanced timezone handling for Time")
11304 (description
11305 "This package endows @code{Data.Time}, from the time package, with several
11306data types and functions for enhanced processing of timezones. For one way to
11307create timezone series, see the ghc-timezone-olson package.")
11308 (license license:bsd-3)))
11309
ff0f5786
JS
11310(define-public ghc-timezone-olson
11311 (package
11312 (name "ghc-timezone-olson")
11313 (version "0.1.9")
11314 (source
11315 (origin
11316 (method url-fetch)
11317 (uri
11318 (string-append
11319 "mirror://hackage/package/timezone-olson/timezone-olson-"
11320 version ".tar.gz"))
11321 (sha256
11322 (base32
11323 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11324 (build-system haskell-build-system)
11325 (inputs
11326 `(("ghc-timezone-series" ,ghc-timezone-series)
11327 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11328 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11329 (synopsis "Parser and renderer for binary Olson timezone files")
11330 (description
11331 "A parser and renderer for binary Olson timezone files whose format
11332is specified by the tzfile(5) man page on Unix-like systems. For more
11333information about this format, see
11334@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11335are provided for converting the parsed data into @code{TimeZoneSeries}
11336objects from the timezone-series package.")
11337 (license license:bsd-3)))
11338
dddbc90c
RV
11339(define-public ghc-tldr
11340 (package
11341 (name "ghc-tldr")
871ceb31 11342 (version "0.4.0.2")
dddbc90c
RV
11343 (source
11344 (origin
11345 (method url-fetch)
11346 (uri (string-append
11347 "https://hackage.haskell.org/package/tldr/tldr-"
11348 version
11349 ".tar.gz"))
11350 (sha256
11351 (base32
871ceb31 11352 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11353 (build-system haskell-build-system)
11354 (inputs
11355 `(("ghc-cmark" ,ghc-cmark)
11356 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11357 ("ghc-typed-process" ,ghc-typed-process)
11358 ("ghc-semigroups" ,ghc-semigroups)))
11359 (native-inputs
11360 `(("ghc-tasty" ,ghc-tasty)
11361 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11362 (home-page "https://github.com/psibi/tldr-hs#readme")
11363 (synopsis "Haskell tldr client")
11364 (description "This package provides the @command{tldr} command and a
11365Haskell client library allowing users to update and view @code{tldr} pages
11366from a shell. The @code{tldr} pages are a community effort to simplify the
11367man pages with practical examples.")
11368 (license license:bsd-3)))
11369
11370(define-public ghc-transformers-base
11371 (package
11372 (name "ghc-transformers-base")
11373 (version "0.4.5.2")
11374 (source
11375 (origin
11376 (method url-fetch)
11377 (uri (string-append
11378 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11379 version
11380 ".tar.gz"))
11381 (sha256
11382 (base32
11383 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11384 (build-system haskell-build-system)
11385 (inputs
11386 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11387 (home-page
11388 "https://hackage.haskell.org/package/transformers-compat")
11389 (synopsis
11390 "Backported transformer library")
11391 (description
11392 "Backported versions of types that were added to transformers in
11393transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11394compatibility to run on old versions of the platform.")
11395 (license license:bsd-3)))
11396
11397(define-public ghc-transformers-compat
11398 (package
11399 (name "ghc-transformers-compat")
1c9c4d58 11400 (version "0.6.5")
dddbc90c
RV
11401 (source
11402 (origin
11403 (method url-fetch)
11404 (uri (string-append
11405 "https://hackage.haskell.org/package/transformers-compat"
11406 "/transformers-compat-" version ".tar.gz"))
11407 (sha256
11408 (base32
1c9c4d58 11409 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
11410 (build-system haskell-build-system)
11411 (home-page "https://github.com/ekmett/transformers-compat/")
11412 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11413 (description "This package includes backported versions of types that were
11414added to transformers in transformers 0.3 and 0.4 for users who need strict
11415transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11416but also need those types.")
11417 (license license:bsd-3)))
11418
11419(define-public ghc-tree-diff
11420 (package
11421 (name "ghc-tree-diff")
b4e26067 11422 (version "0.1")
dddbc90c
RV
11423 (source
11424 (origin
11425 (method url-fetch)
11426 (uri (string-append
11427 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11428 version
11429 ".tar.gz"))
11430 (sha256
11431 (base32
b4e26067 11432 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 11433 (build-system haskell-build-system)
dddbc90c
RV
11434 (inputs
11435 `(("ghc-aeson" ,ghc-aeson)
11436 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11437 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11438 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 11439 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 11440 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
11441 ("ghc-parsers" ,ghc-parsers)
11442 ("ghc-quickcheck" ,ghc-quickcheck)
11443 ("ghc-scientific" ,ghc-scientific)
11444 ("ghc-tagged" ,ghc-tagged)
11445 ("ghc-unordered-containers" ,ghc-unordered-containers)
11446 ("ghc-uuid-types" ,ghc-uuid-types)
11447 ("ghc-vector" ,ghc-vector)))
11448 (native-inputs
11449 `(("ghc-base-compat" ,ghc-base-compat)
11450 ("ghc-quickcheck" ,ghc-quickcheck)
11451 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11452 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11453 ("ghc-trifecta" ,ghc-trifecta)
11454 ("ghc-tasty" ,ghc-tasty)
11455 ("ghc-tasty-golden" ,ghc-tasty-golden)
11456 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11457 (home-page "https://github.com/phadej/tree-diff")
11458 (synopsis "Compute difference between (expression) trees")
11459 (description "This Haskell library provides a function for computing
11460the difference between (expression) trees. It also provides a way to
11461compute the difference between arbitrary abstract datatypes (ADTs) using
11462@code{Generics}-derivable helpers.")
11463 (license license:bsd-3)))
11464
11465(define-public ghc-trifecta
11466 (package
11467 (name "ghc-trifecta")
11468 (version "2")
11469 (source (origin
11470 (method url-fetch)
11471 (uri (string-append
11472 "https://hackage.haskell.org/package/trifecta/"
11473 "trifecta-" version ".tar.gz"))
11474 (sha256
11475 (base32
11476 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11477 (build-system haskell-build-system)
5ffe8cfd
TS
11478 (arguments
11479 `(#:tests? #f ; doctest suite fails to build on i686
11480 #:cabal-revision
11481 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
11482 (inputs
11483 `(("ghc-reducers" ,ghc-reducers)
11484 ("ghc-semigroups" ,ghc-semigroups)
11485 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11486 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11487 ("ghc-blaze-builder" ,ghc-blaze-builder)
11488 ("ghc-blaze-html" ,ghc-blaze-html)
11489 ("ghc-blaze-markup" ,ghc-blaze-markup)
11490 ("ghc-charset" ,ghc-charset)
11491 ("ghc-comonad" ,ghc-comonad)
11492 ("ghc-fingertree" ,ghc-fingertree)
11493 ("ghc-hashable" ,ghc-hashable)
11494 ("ghc-lens" ,ghc-lens)
11495 ("ghc-parsers" ,ghc-parsers)
11496 ("ghc-profunctors" ,ghc-profunctors)
11497 ("ghc-unordered-containers" ,ghc-unordered-containers)
11498 ("ghc-utf8-string" ,ghc-utf8-string)))
11499 (native-inputs
11500 `(("cabal-doctest" ,cabal-doctest)
11501 ("ghc-doctest" ,ghc-doctest)
11502 ("ghc-quickcheck" ,ghc-quickcheck)))
11503 (home-page "https://github.com/ekmett/trifecta/")
11504 (synopsis "Parser combinator library with convenient diagnostics")
11505 (description "Trifecta is a modern parser combinator library for Haskell,
11506with slicing and Clang-style colored diagnostics.")
11507 (license license:bsd-3)))
11508
11509(define-public ghc-tuple-th
11510 (package
11511 (name "ghc-tuple-th")
11512 (version "0.2.5")
11513 (source
11514 (origin
11515 (method url-fetch)
11516 (uri (string-append "https://hackage.haskell.org/package/"
11517 "tuple-th-" version "/"
11518 "tuple-th-" version ".tar.gz"))
11519 (sha256
11520 (base32
11521 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11522 (build-system haskell-build-system)
11523 (home-page "https://github.com/DanielSchuessler/tuple-th")
11524 (synopsis "Generate utility functions for tuples of statically known size
11525for Haskell")
11526 (description "This Haskell package contains Template Haskell functions for
11527generating functions similar to those in @code{Data.List} for tuples of
11528statically known size.")
11529 (license license:bsd-3)))
11530
11531(define-public ghc-typed-process
11532 (package
11533 (name "ghc-typed-process")
72fb84a5 11534 (version "0.2.6.0")
dddbc90c
RV
11535 (source
11536 (origin
11537 (method url-fetch)
11538 (uri (string-append "https://hackage.haskell.org/package/"
11539 "typed-process/typed-process-"
11540 version ".tar.gz"))
11541 (sha256
11542 (base32
72fb84a5 11543 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
11544 (build-system haskell-build-system)
11545 (inputs
72fb84a5
TS
11546 `(("ghc-async" ,ghc-async)
11547 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
11548 (native-inputs
11549 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11550 ("ghc-hspec" ,ghc-hspec)
11551 ("hspec-discover" ,hspec-discover)
11552 ("ghc-temporary" ,ghc-temporary)))
11553 (home-page "https://haskell-lang.org/library/typed-process")
11554 (synopsis "Run external processes with strong typing of streams")
11555 (description
11556 "This library provides the ability to launch and interact with external
11557processes. It wraps around the @code{process} library, and intends to improve
11558upon it.")
11559 (license license:expat)))
11560
d392f803
AG
11561(define-public ghc-unagi-chan
11562 (package
11563 (name "ghc-unagi-chan")
11564 (version "0.4.1.2")
11565 (source
11566 (origin
11567 (method url-fetch)
11568 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11569 "/unagi-chan-" version ".tar.gz"))
11570 (sha256
11571 (base32
11572 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11573 (build-system haskell-build-system)
11574 (inputs
11575 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11576 ("ghc-primitive" ,ghc-primitive)))
11577 (arguments
11578 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11579 #:cabal-revision
11580 ("1"
11581 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11582 (home-page "http://hackage.haskell.org/package/unagi-chan")
11583 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11584 (description
11585 "This library provides implementations of concurrent FIFO queues (for
11586both general boxed and primitive unboxed values) that are fast, perform well
11587under contention, and offer a Chan-like interface. The library may be of
11588limited usefulness outside of x86 architectures where the fetch-and-add
11589instruction is not available.")
11590 (license license:bsd-3)))
11591
dddbc90c
RV
11592(define-public ghc-unbounded-delays
11593 (package
11594 (name "ghc-unbounded-delays")
11595 (version "0.1.1.0")
11596 (source
11597 (origin
11598 (method url-fetch)
11599 (uri (string-append
11600 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11601 version
11602 ".tar.gz"))
11603 (sha256
11604 (base32
11605 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11606 (build-system haskell-build-system)
11607 (home-page "https://github.com/basvandijk/unbounded-delays")
11608 (synopsis "Unbounded thread delays and timeouts")
11609 (description "The @code{threadDelay} and @code{timeout} functions from the
11610Haskell base library use the bounded @code{Int} type for specifying the delay
11611or timeout period. This package provides alternative functions which use the
11612unbounded @code{Integer} type.")
11613 (license license:bsd-3)))
11614
11615(define-public ghc-unexceptionalio
11616 (package
11617 (name "ghc-unexceptionalio")
11618 (version "0.4.0")
11619 (source
11620 (origin
11621 (method url-fetch)
11622 (uri (string-append "https://hackage.haskell.org/package/"
11623 "unexceptionalio-" version "/" "unexceptionalio-"
11624 version ".tar.gz"))
11625 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11626 (build-system haskell-build-system)
11627 (home-page "https://github.com/singpolyma/unexceptionalio")
11628 (synopsis "IO without any non-error, synchronous exceptions")
11629 (description "When you've caught all the exceptions that can be
11630handled safely, this is what you're left with.")
11631 (license license:isc)))
11632
b69d4aa7
TS
11633(define-public ghc-unicode-transforms
11634 (package
11635 (name "ghc-unicode-transforms")
11636 (version "0.3.6")
11637 (source
11638 (origin
11639 (method url-fetch)
11640 (uri (string-append "https://hackage.haskell.org/package/"
11641 "unicode-transforms/unicode-transforms-"
11642 version ".tar.gz"))
11643 (sha256
11644 (base32
11645 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
11646 (build-system haskell-build-system)
11647 (inputs
11648 `(("ghc-bitarray" ,ghc-bitarray)))
11649 (native-inputs
11650 `(("ghc-quickcheck" ,ghc-quickcheck)
11651 ("ghc-getopt-generics" ,ghc-getopt-generics)
11652 ("ghc-split" ,ghc-split)))
11653 (home-page "https://github.com/composewell/unicode-transforms")
11654 (synopsis "Unicode normalization")
11655 (description "This library provides tools for fast Unicode 12.1.0
11656normalization in Haskell (normalization forms C, KC, D, and KD).")
11657 (license license:bsd-3)))
11658
dddbc90c
RV
11659(define-public ghc-union-find
11660 (package
11661 (name "ghc-union-find")
11662 (version "0.2")
11663 (source (origin
11664 (method url-fetch)
11665 (uri (string-append
11666 "https://hackage.haskell.org/package/union-find/union-find-"
11667 version ".tar.gz"))
11668 (sha256
11669 (base32
11670 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11671 (build-system haskell-build-system)
11672 (home-page "https://github.com/nominolo/union-find")
11673 (synopsis "Efficient union and equivalence testing of sets")
11674 (description
11675 "The Union/Find algorithm implements these operations in (effectively)
11676constant-time:
11677@enumerate
11678@item Check whether two elements are in the same equivalence class.
11679@item Create a union of two equivalence classes.
11680@item Look up the descriptor of the equivalence class.
11681@end enumerate\n")
11682 (license license:bsd-3)))
11683
11684(define-public ghc-uniplate
11685 (package
11686 (name "ghc-uniplate")
11687 (version "1.6.12")
11688 (source
11689 (origin
11690 (method url-fetch)
11691 (uri (string-append
11692 "https://hackage.haskell.org/package/uniplate/uniplate-"
11693 version
11694 ".tar.gz"))
11695 (sha256
11696 (base32
11697 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11698 (build-system haskell-build-system)
11699 (inputs
11700 `(("ghc-syb" ,ghc-syb)
11701 ("ghc-hashable" ,ghc-hashable)
11702 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11703 (home-page "http://community.haskell.org/~ndm/uniplate/")
11704 (synopsis "Simple, concise and fast generic operations")
11705 (description "Uniplate is a library for writing simple and concise generic
11706operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11707work, but is substantially simpler and faster.")
11708 (license license:bsd-3)))
11709
11710(define-public ghc-unix-compat
11711 (package
11712 (name "ghc-unix-compat")
bc82e9f5 11713 (version "0.5.2")
dddbc90c
RV
11714 (source
11715 (origin
11716 (method url-fetch)
11717 (uri (string-append
11718 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11719 version
11720 ".tar.gz"))
11721 (sha256
11722 (base32
bc82e9f5 11723 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11724 (build-system haskell-build-system)
11725 (home-page
11726 "https://github.com/jystic/unix-compat")
11727 (synopsis "Portable POSIX-compatibility layer")
11728 (description
11729 "This package provides portable implementations of parts of the unix
11730package. This package re-exports the unix package when available. When it
11731isn't available, portable implementations are used.")
11732 (license license:bsd-3)))
11733
11734(define-public ghc-unix-time
11735 (package
11736 (name "ghc-unix-time")
fad9cff2 11737 (version "0.4.7")
dddbc90c
RV
11738 (source
11739 (origin
11740 (method url-fetch)
11741 (uri (string-append
11742 "https://hackage.haskell.org/package/unix-time/unix-time-"
11743 version
11744 ".tar.gz"))
11745 (sha256
11746 (base32
fad9cff2 11747 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11748 (build-system haskell-build-system)
11749 (arguments
11750 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11751 ; is weird, that should be provided by GHC 7.10.2.
11752 (inputs
11753 `(("ghc-old-time" ,ghc-old-time)
11754 ("ghc-old-locale" ,ghc-old-locale)))
11755 (home-page "https://hackage.haskell.org/package/unix-time")
11756 (synopsis "Unix time parser/formatter and utilities")
11757 (description "This library provides fast parsing and formatting utilities
11758for Unix time in Haskell.")
11759 (license license:bsd-3)))
11760
11761(define-public ghc-unliftio
11762 (package
11763 (name "ghc-unliftio")
a4084db1 11764 (version "0.2.12")
dddbc90c
RV
11765 (source
11766 (origin
11767 (method url-fetch)
11768 (uri (string-append
11769 "https://hackage.haskell.org/package/unliftio/unliftio-"
11770 version
11771 ".tar.gz"))
11772 (sha256
11773 (base32
a4084db1 11774 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11775 (build-system haskell-build-system)
11776 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11777 (inputs
11778 `(("ghc-async" ,ghc-async)
11779 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11780 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11781 (home-page "https://github.com/fpco/unliftio")
11782 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11783IO (batteries included)")
11784 (description "This Haskell package provides the core @code{MonadUnliftIO}
11785typeclass, a number of common instances, and a collection of common functions
11786working with it.")
11787 (license license:expat)))
11788
11789(define-public ghc-unliftio-core
11790 (package
11791 (name "ghc-unliftio-core")
2ae42618 11792 (version "0.1.2.0")
dddbc90c
RV
11793 (source
11794 (origin
11795 (method url-fetch)
11796 (uri (string-append "https://hackage.haskell.org/package/"
11797 "unliftio-core-" version "/"
11798 "unliftio-core-" version ".tar.gz"))
11799 (sha256
11800 (base32
2ae42618 11801 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11802 (build-system haskell-build-system)
11803 (arguments
11804 `(#:cabal-revision
2ae42618 11805 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11806 (home-page
11807 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11808 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11809 (description "This Haskell package provides the core @code{MonadUnliftIO}
11810typeclass, instances for base and transformers, and basic utility
11811functions.")
11812 (license license:expat)))
11813
11814(define-public ghc-unordered-containers
11815 (package
11816 (name "ghc-unordered-containers")
ca01f8d3 11817 (version "0.2.10.0")
dddbc90c
RV
11818 (outputs '("out" "doc"))
11819 (source
11820 (origin
11821 (method url-fetch)
11822 (uri (string-append
11823 "https://hackage.haskell.org/package/unordered-containers"
11824 "/unordered-containers-" version ".tar.gz"))
11825 (sha256
11826 (base32
ca01f8d3 11827 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11828 (build-system haskell-build-system)
11829 (inputs
11830 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11831 ("ghc-hunit" ,ghc-hunit)
11832 ("ghc-quickcheck" ,ghc-quickcheck)
11833 ("ghc-test-framework" ,ghc-test-framework)
11834 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11835 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11836 ("ghc-hashable" ,ghc-hashable)))
11837 (home-page
11838 "https://github.com/tibbe/unordered-containers")
11839 (synopsis
11840 "Efficient hashing-based container types")
11841 (description
11842 "Efficient hashing-based container types. The containers have been
11843optimized for performance critical use, both in terms of large data quantities
11844and high speed.")
11845 (license license:bsd-3)))
11846
11847(define-public ghc-unordered-containers-bootstrap
11848 (package
11849 (inherit ghc-unordered-containers)
11850 (name "ghc-unordered-containers-bootstrap")
11851 (arguments `(#:tests? #f))
11852 (inputs
11853 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11854 (properties '((hidden? #t)))))
dddbc90c 11855
a52f4c57
JS
11856(define-public ghc-unsafe
11857 (package
11858 (name "ghc-unsafe")
11859 (version "0.0")
11860 (source
11861 (origin
11862 (method url-fetch)
11863 (uri
11864 (string-append
11865 "https://hackage.haskell.org/package/unsafe/unsafe-"
11866 version ".tar.gz"))
11867 (sha256
11868 (base32
11869 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11870 (build-system haskell-build-system)
11871 (home-page "https://hackage.haskell.org/package/unsafe")
11872 (synopsis "Unified interface to unsafe functions")
11873 (description "Safe Haskell introduced the notion of safe and unsafe
11874modules. In order to make as many as possible modules ``safe'', the
11875well-known unsafe functions were moved to distinguished modules. This
11876makes it hard to write packages that work with both old and new versions
11877of GHC. This package provides a single module System.Unsafe that
11878exports the unsafe functions from the base package. It provides them in
11879a style ready for qualification, that is, you should import them by
11880@code{import qualified System.Unsafe as Unsafe}.")
11881 (license license:bsd-3)))
11882
dddbc90c
RV
11883(define-public ghc-uri-bytestring
11884 (package
11885 (name "ghc-uri-bytestring")
d35ffd39 11886 (version "0.3.2.2")
dddbc90c
RV
11887 (source
11888 (origin
11889 (method url-fetch)
11890 (uri (string-append "https://hackage.haskell.org/package/"
11891 "uri-bytestring-" version "/"
11892 "uri-bytestring-" version ".tar.gz"))
11893 (sha256
11894 (base32
d35ffd39 11895 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11896 (build-system haskell-build-system)
11897 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11898 ("ghc-blaze-builder" ,ghc-blaze-builder)
11899 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11900 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11901 ("ghc-tasty" ,ghc-tasty)
11902 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11903 ("ghc-hedgehog" ,ghc-hedgehog)
11904 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11905 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11906 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11907 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11908 (home-page "https://github.com/Soostone/uri-bytestring")
11909 (synopsis "Haskell URI parsing as ByteStrings")
11910 (description "This Haskell package aims to be an RFC3986 compliant URI
11911parser that uses ByteStrings for parsing and representing the URI data.")
11912 (license license:bsd-3)))
11913
11914(define-public ghc-utf8-string
11915 (package
11916 (name "ghc-utf8-string")
11917 (version "1.0.1.1")
11918 (source
11919 (origin
11920 (method url-fetch)
11921 (uri (string-append
11922 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11923 version
11924 ".tar.gz"))
11925 (sha256
11926 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11927 (build-system haskell-build-system)
11928 (arguments
11929 `(#:cabal-revision
11930 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11931 (home-page "https://github.com/glguy/utf8-string/")
11932 (synopsis "Support for reading and writing UTF8 Strings")
11933 (description
11934 "A UTF8 layer for Strings. The utf8-string package provides operations
11935for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11936UTF8 without truncation.")
11937 (license license:bsd-3)))
11938
11939(define-public ghc-utility-ht
11940 (package
11941 (name "ghc-utility-ht")
11942 (version "0.0.14")
11943 (home-page "https://hackage.haskell.org/package/utility-ht")
11944 (source
11945 (origin
11946 (method url-fetch)
11947 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11948 (sha256
11949 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11950 (build-system haskell-build-system)
11951 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11952 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11953 (description "This package includes Hakell modules providing various
11954helper functions for Lists, Maybes, Tuples, Functions.")
11955 (license license:bsd-3)))
11956
11957(define-public ghc-uuid
11958 (package
11959 (name "ghc-uuid")
11960 (version "1.3.13")
11961 (source
11962 (origin
11963 (method url-fetch)
11964 (uri (string-append "https://hackage.haskell.org/package/"
11965 "uuid-" version "/"
11966 "uuid-" version ".tar.gz"))
11967 (sha256
11968 (base32
11969 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11970 (build-system haskell-build-system)
11971 (arguments
11972 `(#:cabal-revision
11973 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11974 #:phases
11975 (modify-phases %standard-phases
11976 (add-before 'configure 'strip-test-framework-constraints
11977 (lambda _
11978 (substitute* "uuid.cabal"
11979 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11980 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11981 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11982 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11983 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11984 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11985 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11986 ("ghc-entropy" ,ghc-entropy)
11987 ("ghc-network-info" ,ghc-network-info)
11988 ("ghc-random" ,ghc-random)
11989 ("ghc-uuid-types" ,ghc-uuid-types)))
11990 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11991 ("ghc-quickcheck" ,ghc-quickcheck)
11992 ("ghc-tasty" ,ghc-tasty)
11993 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11994 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11995 (home-page "https://github.com/hvr/uuid")
11996 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11997 (description "This Haskell library provides utilities creating, comparing,
11998parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11999 (license license:bsd-3)))
12000
12001(define-public ghc-uuid-types
12002 (package
12003 (name "ghc-uuid-types")
12004 (version "1.0.3")
12005 (source
12006 (origin
12007 (method url-fetch)
12008 (uri (string-append "https://hackage.haskell.org/package/"
12009 "uuid-types-" version "/"
12010 "uuid-types-" version ".tar.gz"))
12011 (sha256
12012 (base32
12013 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12014 (build-system haskell-build-system)
12015 (arguments
12016 `(#:phases
12017 (modify-phases %standard-phases
12018 (add-before 'configure 'strip-test-framework-constraints
12019 (lambda _
12020 (substitute* "uuid-types.cabal"
12021 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12022 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12023 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12024 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12025 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12026 (inputs `(("ghc-hashable" ,ghc-hashable)
12027 ("ghc-random" ,ghc-random)))
12028 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12029 ("ghc-quickcheck" ,ghc-quickcheck)
12030 ("ghc-tasty" ,ghc-tasty)
12031 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12032 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12033 (home-page "https://github.com/hvr/uuid")
12034 (synopsis "Haskell type definitions for UUIDs")
12035 (description "This Haskell library contains type definitions for
12036@dfn{Universally Unique Identifiers} or
12037@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12038functions.")
12039 (license license:bsd-3)))
12040
12041(define-public ghc-validation
12042 (package
12043 (name "ghc-validation")
08397fde 12044 (version "1.1")
dddbc90c
RV
12045 (source
12046 (origin
12047 (method url-fetch)
12048 (uri (string-append
12049 "mirror://hackage/package/validation/validation-"
12050 version
12051 ".tar.gz"))
12052 (sha256
12053 (base32
08397fde 12054 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12055 (build-system haskell-build-system)
12056 (arguments
12057 `(#:cabal-revision
08397fde 12058 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12059 (inputs
12060 `(("ghc-semigroups" ,ghc-semigroups)
12061 ("ghc-semigroupoids" ,ghc-semigroupoids)
12062 ("ghc-bifunctors" ,ghc-bifunctors)
12063 ("ghc-lens" ,ghc-lens)))
12064 (native-inputs
12065 `(("ghc-hedgehog" ,ghc-hedgehog)
12066 ("ghc-hunit" ,ghc-hunit)))
12067 (home-page "https://github.com/qfpl/validation")
12068 (synopsis
12069 "Data-type like Either but with an accumulating Applicative")
12070 (description
12071 "A data-type like Either but with differing properties and type-class
12072instances.
12073
12074Library support is provided for this different representation, including
12075@code{lens}-related functions for converting between each and abstracting over
12076their similarities.
12077
12078The @code{Validation} data type is isomorphic to @code{Either}, but has an
12079instance of @code{Applicative} that accumulates on the error side. That is to
12080say, if two (or more) errors are encountered, they are appended using a
12081@{Semigroup} operation.
12082
12083As a consequence of this @code{Applicative} instance, there is no
12084corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12085example of, \"An applicative functor that is not a monad.\"")
12086 (license license:bsd-3)))
12087
12088(define-public ghc-validity
12089 (package
12090 (name "ghc-validity")
3f1ba75d 12091 (version "0.9.0.2")
dddbc90c
RV
12092 (source
12093 (origin
12094 (method url-fetch)
12095 (uri (string-append
12096 "https://hackage.haskell.org/package/validity/validity-"
12097 version
12098 ".tar.gz"))
12099 (sha256
12100 (base32
3f1ba75d 12101 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12102 (build-system haskell-build-system)
12103 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12104 ("hspec-discover" ,hspec-discover)))
12105 (home-page
12106 "https://github.com/NorfairKing/validity")
12107 (synopsis "Validity typeclass")
12108 (description
12109 "Values of custom types usually have invariants imposed upon them. This
12110package provides the @code{Validity} type class, which makes these invariants
12111explicit by providing a function to check whether the invariants hold.")
12112 (license license:expat)))
12113
12114(define-public ghc-vault
12115 (package
12116 (name "ghc-vault")
b40a436e 12117 (version "0.3.1.3")
dddbc90c
RV
12118 (source
12119 (origin
12120 (method url-fetch)
12121 (uri (string-append
12122 "https://hackage.haskell.org/package/vault/vault-"
12123 version
12124 ".tar.gz"))
12125 (sha256
12126 (base32
b40a436e 12127 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12128 (build-system haskell-build-system)
12129 (inputs
12130 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12131 ("ghc-hashable" ,ghc-hashable)
b40a436e 12132 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12133 (home-page
12134 "https://github.com/HeinrichApfelmus/vault")
12135 (synopsis "Persistent store for arbitrary values")
12136 (description "This package provides vaults for Haskell. A vault is a
12137persistent store for values of arbitrary types. It's like having first-class
12138access to the storage space behind @code{IORefs}. The data structure is
12139analogous to a bank vault, where you can access different bank boxes with
12140different keys; hence the name. Also provided is a @code{locker} type,
12141representing a store for a single element.")
12142 (license license:bsd-3)))
12143
12144(define-public ghc-vector
12145 (package
12146 (name "ghc-vector")
3ad67f6b 12147 (version "0.12.0.3")
dddbc90c
RV
12148 (outputs '("out" "doc"))
12149 (source
12150 (origin
12151 (method url-fetch)
12152 (uri (string-append
12153 "https://hackage.haskell.org/package/vector/vector-"
12154 version
12155 ".tar.gz"))
12156 (sha256
12157 (base32
3ad67f6b 12158 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12159 (build-system haskell-build-system)
12160 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12161 ;; disabled for now.
12162 (arguments
3ad67f6b 12163 `(#:tests? #f))
dddbc90c
RV
12164 (inputs
12165 `(("ghc-primitive" ,ghc-primitive)
12166 ("ghc-random" ,ghc-random)
12167 ("ghc-quickcheck" ,ghc-quickcheck)
12168 ;; ("ghc-hunit" ,ghc-hunit)
12169 ;; ("ghc-test-framework" ,ghc-test-framework)
12170 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12171 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12172 ))
12173 (home-page "https://github.com/haskell/vector")
12174 (synopsis "Efficient Arrays")
12175 (description "This library provides an efficient implementation of
12176Int-indexed arrays (both mutable and immutable), with a powerful loop
12177optimisation framework.")
12178 (license license:bsd-3)))
12179
12180(define-public ghc-vector-algorithms
12181 (package
12182 (name "ghc-vector-algorithms")
e71f316f 12183 (version "0.8.0.1")
dddbc90c
RV
12184 (source
12185 (origin
12186 (method url-fetch)
12187 (uri (string-append "https://hackage.haskell.org/package/"
12188 "vector-algorithms-" version "/"
12189 "vector-algorithms-" version ".tar.gz"))
12190 (sha256
12191 (base32
e71f316f 12192 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12193 (build-system haskell-build-system)
12194 (inputs
12195 `(("ghc-vector" ,ghc-vector)))
12196 (native-inputs
12197 `(("ghc-quickcheck" ,ghc-quickcheck)))
12198 (home-page "https://github.com/bos/math-functions")
12199 (synopsis "Algorithms for vector arrays in Haskell")
12200 (description "This Haskell library algorithms for vector arrays.")
12201 (license license:bsd-3)))
12202
12203(define-public ghc-vector-binary-instances
12204 (package
12205 (name "ghc-vector-binary-instances")
ca0701ef 12206 (version "0.2.5.1")
dddbc90c
RV
12207 (source
12208 (origin
12209 (method url-fetch)
12210 (uri (string-append
12211 "https://hackage.haskell.org/package/"
12212 "vector-binary-instances/vector-binary-instances-"
12213 version ".tar.gz"))
12214 (sha256
12215 (base32
ca0701ef 12216 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12217 (build-system haskell-build-system)
dddbc90c
RV
12218 (inputs
12219 `(("ghc-vector" ,ghc-vector)))
12220 (native-inputs
12221 `(("ghc-tasty" ,ghc-tasty)
12222 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12223 (home-page "https://github.com/bos/vector-binary-instances")
12224 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12225 (description "This library provides instances of @code{Binary} for the
12226types defined in the @code{vector} package, making it easy to serialize
12227vectors to and from disk. We use the generic interface to vectors, so all
12228vector types are supported. Specific instances are provided for unboxed,
12229boxed and storable vectors.")
12230 (license license:bsd-3)))
12231
12232(define-public ghc-vector-builder
12233 (package
12234 (name "ghc-vector-builder")
1fc05441 12235 (version "0.3.8")
dddbc90c
RV
12236 (source
12237 (origin
12238 (method url-fetch)
12239 (uri (string-append "https://hackage.haskell.org/package/"
12240 "vector-builder-" version "/"
12241 "vector-builder-" version ".tar.gz"))
12242 (sha256
12243 (base32
1fc05441 12244 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12245 (build-system haskell-build-system)
12246 (inputs `(("ghc-vector" ,ghc-vector)
12247 ("ghc-semigroups" ,ghc-semigroups)
12248 ("ghc-base-prelude" ,ghc-base-prelude)))
12249 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12250 ("ghc-tasty" ,ghc-tasty)
12251 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12252 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12253 ("ghc-hunit" ,ghc-hunit)
12254 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12255 ("ghc-rerebase" ,ghc-rerebase)))
12256 (home-page "https://github.com/nikita-volkov/vector-builder")
12257 (synopsis "Vector builder for Haskell")
12258 (description "This Haskell package provides an API for constructing vectors.
12259It provides the composable @code{Builder} abstraction, which has instances of the
12260@code{Monoid} and @code{Semigroup} classes.
12261
12262You would first use the @code{Builder} abstraction to specify the structure of
12263the vector; then you can execute the builder to actually produce the
12264vector. ")
12265 (license license:expat)))
12266
12267(define-public ghc-vector-th-unbox
12268 (package
12269 (name "ghc-vector-th-unbox")
63056e61 12270 (version "0.2.1.7")
dddbc90c
RV
12271 (source
12272 (origin
12273 (method url-fetch)
12274 (uri (string-append "https://hackage.haskell.org/package/"
12275 "vector-th-unbox-" version "/"
12276 "vector-th-unbox-" version ".tar.gz"))
12277 (sha256
12278 (base32
63056e61 12279 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12280 (build-system haskell-build-system)
12281 (inputs
12282 `(("ghc-vector" ,ghc-vector)
12283 ("ghc-data-default" ,ghc-data-default)))
12284 (home-page "https://github.com/liyang/vector-th-unbox")
12285 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12286 (description "This Haskell library provides a Template Haskell
12287deriver for unboxed vectors, given a pair of coercion functions to
12288and from some existing type with an Unbox instance.")
12289 (license license:bsd-3)))
12290
12291(define-public ghc-void
12292 (package
12293 (name "ghc-void")
51889121 12294 (version "0.7.3")
dddbc90c
RV
12295 (source
12296 (origin
12297 (method url-fetch)
12298 (uri (string-append
12299 "https://hackage.haskell.org/package/void/void-"
12300 version
12301 ".tar.gz"))
12302 (sha256
12303 (base32
51889121 12304 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12305 (build-system haskell-build-system)
12306 (inputs
12307 `(("ghc-semigroups" ,ghc-semigroups)
12308 ("ghc-hashable" ,ghc-hashable)))
12309 (home-page "https://github.com/ekmett/void")
12310 (synopsis
12311 "Logically uninhabited data type")
12312 (description
12313 "A Haskell 98 logically uninhabited data type, used to indicate that a
12314given term should not exist.")
12315 (license license:bsd-3)))
12316
12317(define-public ghc-wave
12318 (package
12319 (name "ghc-wave")
1631a0f7 12320 (version "0.2.0")
dddbc90c
RV
12321 (source (origin
12322 (method url-fetch)
12323 (uri (string-append
12324 "https://hackage.haskell.org/package/wave/wave-"
12325 version
12326 ".tar.gz"))
12327 (sha256
12328 (base32
1631a0f7 12329 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12330 (build-system haskell-build-system)
12331 (arguments
12332 '(#:phases
12333 (modify-phases %standard-phases
12334 (add-before 'configure 'update-constraints
12335 (lambda _
12336 (substitute* "wave.cabal"
12337 (("temporary.* < 1\\.3")
12338 "temporary >= 1.1 && < 1.4")))))))
12339 (inputs
12340 `(("ghc-cereal" ,ghc-cereal)
12341 ("ghc-data-default-class"
12342 ,ghc-data-default-class)
12343 ("ghc-quickcheck" ,ghc-quickcheck)
12344 ("ghc-temporary" ,ghc-temporary)))
12345 (native-inputs
12346 `(("hspec-discover" ,hspec-discover)
12347 ("ghc-hspec" ,ghc-hspec)))
12348 (home-page "https://github.com/mrkkrp/wave")
12349 (synopsis "Work with WAVE and RF64 files in Haskell")
12350 (description "This package allows you to work with WAVE and RF64
12351files in Haskell.")
12352 (license license:bsd-3)))
12353
12354(define-public ghc-wcwidth
12355 (package
12356 (name "ghc-wcwidth")
12357 (version "0.0.2")
12358 (source
12359 (origin
12360 (method url-fetch)
12361 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12362 version ".tar.gz"))
12363 (sha256
12364 (base32
12365 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12366 (build-system haskell-build-system)
12367 (inputs
12368 `(("ghc-setlocale" ,ghc-setlocale)
12369 ("ghc-utf8-string" ,ghc-utf8-string)
12370 ("ghc-attoparsec" ,ghc-attoparsec)))
12371 (home-page "https://github.com/solidsnack/wcwidth/")
12372 (synopsis "Haskell bindings to wcwidth")
12373 (description "This package provides Haskell bindings to your system's
12374native wcwidth and a command line tool to examine the widths assigned by it.
12375The command line tool can compile a width table to Haskell code that assigns
12376widths to the Char type.")
12377 (license license:bsd-3)))
12378
12379(define-public ghc-wcwidth-bootstrap
12380 (package
12381 (inherit ghc-wcwidth)
12382 (name "ghc-wcwidth-bootstrap")
12383 (inputs
12384 `(("ghc-setlocale" ,ghc-setlocale)
12385 ("ghc-utf8-string" ,ghc-utf8-string)
12386 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 12387 (properties '((hidden? #t)))))
dddbc90c
RV
12388
12389(define-public ghc-weigh
12390 (package
12391 (name "ghc-weigh")
b6d9777f 12392 (version "0.0.14")
dddbc90c
RV
12393 (source
12394 (origin
12395 (method url-fetch)
12396 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12397 "weigh-" version ".tar.gz"))
12398 (sha256
12399 (base32
b6d9777f 12400 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
12401 (build-system haskell-build-system)
12402 (inputs
12403 `(("ghc-split" ,ghc-split)
12404 ("ghc-temporary" ,ghc-temporary)))
12405 (home-page "https://github.com/fpco/weigh#readme")
12406 (synopsis "Measure allocations of a Haskell functions/values")
12407 (description "This package provides tools to measure the memory usage of a
12408Haskell value or function.")
12409 (license license:bsd-3)))
12410
12411(define-public ghc-wl-pprint
12412 (package
12413 (name "ghc-wl-pprint")
12414 (version "1.2.1")
12415 (source (origin
12416 (method url-fetch)
12417 (uri (string-append
12418 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12419 version ".tar.gz"))
12420 (sha256
12421 (base32
12422 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12423 (build-system haskell-build-system)
12424 (home-page "https://hackage.haskell.org/package/wl-pprint")
12425 (synopsis "Wadler/Leijen pretty printer")
12426 (description
12427 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12428Printer}. This version allows the library user to declare overlapping
12429instances of the @code{Pretty} class.")
12430 (license license:bsd-3)))
12431
12432(define-public ghc-wl-pprint-annotated
12433 (package
12434 (name "ghc-wl-pprint-annotated")
12435 (version "0.1.0.1")
12436 (source
12437 (origin
12438 (method url-fetch)
12439 (uri (string-append
12440 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12441 version
12442 ".tar.gz"))
12443 (sha256
12444 (base32
12445 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12446 (build-system haskell-build-system)
12447 (native-inputs
12448 `(("ghc-tasty" ,ghc-tasty)
12449 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12450 (home-page
12451 "https://github.com/minad/wl-pprint-annotated#readme")
12452 (synopsis
12453 "Wadler/Leijen pretty printer with annotation support")
12454 (description
12455 "Annotations are useful for coloring. This is a limited version of
12456@code{wl-pprint-extras} without support for point effects and without the free
12457monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12458Compared to @code{annotated-wl-pprint} this library provides a slightly
12459modernized interface.")
12460 (license license:bsd-3)))
12461
12462(define-public ghc-wl-pprint-text
12463 (package
12464 (name "ghc-wl-pprint-text")
12465 (version "1.2.0.0")
12466 (source
12467 (origin
12468 (method url-fetch)
12469 (uri (string-append
12470 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12471 version ".tar.gz"))
12472 (sha256
12473 (base32
12474 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12475 (build-system haskell-build-system)
12476 (inputs
12477 `(("ghc-base-compat" ,ghc-base-compat)))
12478 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12479 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12480 (description
12481 "A clone of wl-pprint for use with the text library.")
12482 (license license:bsd-3)))
12483
12484(define-public ghc-word8
12485 (package
12486 (name "ghc-word8")
12487 (version "0.1.3")
12488 (source
12489 (origin
12490 (method url-fetch)
12491 (uri (string-append
12492 "https://hackage.haskell.org/package/word8/word8-"
12493 version
12494 ".tar.gz"))
12495 (sha256
12496 (base32
12497 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12498 (build-system haskell-build-system)
12499 (native-inputs
12500 `(("ghc-hspec" ,ghc-hspec)
12501 ("hspec-discover" ,hspec-discover)))
12502 (home-page "https://hackage.haskell.org/package/word8")
12503 (synopsis "Word8 library for Haskell")
12504 (description "Word8 library to be used with @code{Data.ByteString}.")
12505 (license license:bsd-3)))
12506
12507(define-public ghc-x11
12508 (package
12509 (name "ghc-x11")
6c4581a3 12510 (version "1.9.1")
dddbc90c
RV
12511 (source
12512 (origin
12513 (method url-fetch)
12514 (uri (string-append "https://hackage.haskell.org/package/X11/"
12515 "X11-" version ".tar.gz"))
12516 (sha256
6c4581a3 12517 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
12518 (build-system haskell-build-system)
12519 (inputs
12520 `(("libx11" ,libx11)
12521 ("libxrandr" ,libxrandr)
12522 ("libxinerama" ,libxinerama)
12523 ("libxscrnsaver" ,libxscrnsaver)
12524 ("ghc-data-default" ,ghc-data-default)))
12525 (home-page "https://github.com/haskell-pkg-janitors/X11")
12526 (synopsis "Bindings to the X11 graphics library")
12527 (description
12528 "This package provides Haskell bindings to the X11 graphics library. The
12529bindings are a direct translation of the C bindings.")
12530 (license license:bsd-3)))
12531
12532(define-public ghc-x11-xft
12533 (package
12534 (name "ghc-x11-xft")
12535 (version "0.3.1")
12536 (source
12537 (origin
12538 (method url-fetch)
12539 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12540 "X11-xft-" version ".tar.gz"))
12541 (sha256
12542 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
12543 (inputs
12544 `(("ghc-x11" ,ghc-x11)
12545 ("ghc-utf8-string" ,ghc-utf8-string)
12546 ("libx11" ,libx11)
12547 ("libxft" ,libxft)
12548 ("xorgproto" ,xorgproto)))
12549 (native-inputs
12550 `(("pkg-config" ,pkg-config)))
12551 (build-system haskell-build-system)
12552 (home-page "https://hackage.haskell.org/package/X11-xft")
12553 (synopsis "Bindings to Xft")
12554 (description
12555 "Bindings to the Xft, X Free Type interface library, and some Xrender
12556parts.")
12557 (license license:lgpl2.1)))
12558
12559(define-public ghc-xdg-basedir
12560 (package
12561 (name "ghc-xdg-basedir")
12562 (version "0.2.2")
12563 (source
12564 (origin
12565 (method url-fetch)
12566 (uri (string-append
12567 "https://hackage.haskell.org/package/xdg-basedir/"
12568 "xdg-basedir-" version ".tar.gz"))
12569 (sha256
12570 (base32
12571 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12572 (build-system haskell-build-system)
12573 (home-page "http://github.com/willdonnelly/xdg-basedir")
12574 (synopsis "XDG Base Directory library for Haskell")
12575 (description "This package provides a library implementing the XDG Base Directory spec.")
12576 (license license:bsd-3)))
12577
12578(define-public ghc-xml
12579 (package
12580 (name "ghc-xml")
12581 (version "1.3.14")
12582 (source
12583 (origin
12584 (method url-fetch)
12585 (uri (string-append
12586 "https://hackage.haskell.org/package/xml/xml-"
12587 version
12588 ".tar.gz"))
12589 (sha256
12590 (base32
12591 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12592 (build-system haskell-build-system)
12593 (home-page "http://code.galois.com")
12594 (synopsis "Simple XML library for Haskell")
12595 (description "This package provides a simple XML library for Haskell.")
12596 (license license:bsd-3)))
12597
12598(define-public ghc-xml-conduit
12599 (package
12600 (name "ghc-xml-conduit")
12601 (version "1.8.0.1")
12602 (source
12603 (origin
12604 (method url-fetch)
12605 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12606 "xml-conduit-" version ".tar.gz"))
12607 (sha256
12608 (base32
12609 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12610 (build-system haskell-build-system)
12611 (inputs
12612 `(("ghc-conduit" ,ghc-conduit)
12613 ("ghc-conduit-extra" ,ghc-conduit-extra)
12614 ("ghc-doctest" ,ghc-doctest)
12615 ("ghc-resourcet" ,ghc-resourcet)
12616 ("ghc-xml-types" ,ghc-xml-types)
12617 ("ghc-attoparsec" ,ghc-attoparsec)
12618 ("ghc-data-default-class" ,ghc-data-default-class)
12619 ("ghc-blaze-markup" ,ghc-blaze-markup)
12620 ("ghc-blaze-html" ,ghc-blaze-html)
12621 ("ghc-monad-control" ,ghc-monad-control)
12622 ("ghc-hspec" ,ghc-hspec)
12623 ("ghc-hunit" ,ghc-hunit)))
12624 (home-page "https://github.com/snoyberg/xml")
12625 (synopsis "Utilities for dealing with XML with the conduit package")
12626 (description
12627 "This package provides pure-Haskell utilities for dealing with XML with
12628the @code{conduit} package.")
12629 (license license:expat)))
12630
12631(define-public ghc-xml-types
12632 (package
12633 (name "ghc-xml-types")
12634 (version "0.3.6")
12635 (source
12636 (origin
12637 (method url-fetch)
12638 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12639 "xml-types-" version ".tar.gz"))
12640 (sha256
12641 (base32
12642 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12643 (build-system haskell-build-system)
12644 (home-page "https://john-millikin.com/software/haskell-xml/")
12645 (synopsis "Basic types for representing XML")
12646 (description "This package provides basic types for representing XML
12647documents.")
12648 (license license:expat)))
12649
12650(define-public ghc-yaml
12651 (package
12652 (name "ghc-yaml")
b58e5b84 12653 (version "0.11.1.2")
dddbc90c
RV
12654 (source (origin
12655 (method url-fetch)
12656 (uri (string-append "https://hackage.haskell.org/package/"
12657 "yaml/yaml-" version ".tar.gz"))
12658 (sha256
12659 (base32
b58e5b84 12660 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12661 (build-system haskell-build-system)
dddbc90c
RV
12662 (inputs
12663 `(("ghc-conduit" ,ghc-conduit)
12664 ("ghc-resourcet" ,ghc-resourcet)
12665 ("ghc-aeson" ,ghc-aeson)
12666 ("ghc-unordered-containers" ,ghc-unordered-containers)
12667 ("ghc-vector" ,ghc-vector)
12668 ("ghc-attoparsec" ,ghc-attoparsec)
12669 ("ghc-scientific" ,ghc-scientific)
12670 ("ghc-semigroups" ,ghc-semigroups)
12671 ("ghc-temporary" ,ghc-temporary)
12672 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12673 ("ghc-base-compat" ,ghc-base-compat)
12674 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12675 (native-inputs
12676 `(("ghc-hspec" ,ghc-hspec)
12677 ("ghc-hunit" ,ghc-hunit)
12678 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12679 ("ghc-mockery" ,ghc-mockery)
12680 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12681 (home-page "https://github.com/snoyberg/yaml/")
12682 (synopsis "Parsing and rendering YAML documents")
12683 (description
12684 "This package provides a library to parse and render YAML documents.")
12685 (license license:bsd-3)))
12686
12687(define-public ghc-zip-archive
12688 (package
12689 (name "ghc-zip-archive")
93c1fdd3 12690 (version "0.4.1")
dddbc90c
RV
12691 (source
12692 (origin
12693 (method url-fetch)
12694 (uri (string-append
12695 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12696 version
12697 ".tar.gz"))
12698 (sha256
12699 (base32
93c1fdd3 12700 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12701 (build-system haskell-build-system)
93c1fdd3
TS
12702 (arguments
12703 `(#:phases
12704 (modify-phases %standard-phases
12705 (add-before 'check 'set-PATH-for-tests
12706 (lambda* (#:key inputs #:allow-other-keys)
12707 (let ((unzip (assoc-ref inputs "unzip"))
12708 (which (assoc-ref inputs "which"))
12709 (path (getenv "PATH")))
12710 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12711 #t))))))
dddbc90c
RV
12712 (inputs
12713 `(("ghc-digest" ,ghc-digest)
12714 ("ghc-temporary" ,ghc-temporary)
12715 ("ghc-zlib" ,ghc-zlib)))
12716 (native-inputs
12717 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12718 ("unzip" ,unzip)
12719 ("which" ,which)))
dddbc90c
RV
12720 (home-page "https://hackage.haskell.org/package/zip-archive")
12721 (synopsis "Zip archive library for Haskell")
12722 (description "The zip-archive library provides functions for creating,
12723modifying, and extracting files from zip archives in Haskell.")
12724 (license license:bsd-3)))
12725
12726(define-public ghc-zlib
12727 (package
12728 (name "ghc-zlib")
bf12089a 12729 (version "0.6.2.1")
dddbc90c
RV
12730 (outputs '("out" "doc"))
12731 (source
12732 (origin
12733 (method url-fetch)
12734 (uri (string-append
12735 "https://hackage.haskell.org/package/zlib/zlib-"
12736 version
12737 ".tar.gz"))
12738 (sha256
12739 (base32
bf12089a 12740 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12741 (build-system haskell-build-system)
12742 (arguments
12743 `(#:phases
12744 (modify-phases %standard-phases
12745 (add-before 'configure 'strip-test-framework-constraints
12746 (lambda _
12747 (substitute* "zlib.cabal"
12748 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12749 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12750 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12751 (inputs `(("zlib" ,zlib)))
12752 (native-inputs
12753 `(("ghc-quickcheck" ,ghc-quickcheck)
12754 ("ghc-tasty" ,ghc-tasty)
12755 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12756 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12757 (home-page "https://hackage.haskell.org/package/zlib")
12758 (synopsis
12759 "Compression and decompression in the gzip and zlib formats")
12760 (description
12761 "This package provides a pure interface for compressing and decompressing
12762streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12763library so it has high performance. It supports the @code{zlib}, @code{gzip}
12764and @code{raw} compression formats. It provides a convenient high level API
12765suitable for most tasks and for the few cases where more control is needed it
12766provides access to the full zlib feature set.")
bbf8bf31 12767 (license license:bsd-3)))
14e41996
RV
12768
12769(define-public ghc-zlib-bindings
12770 (package
12771 (name "ghc-zlib-bindings")
12772 (version "0.1.1.5")
12773 (source
12774 (origin
12775 (method url-fetch)
12776 (uri (string-append "https://hackage.haskell.org/package/"
12777 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12778 (sha256
12779 (base32
12780 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12781 (build-system haskell-build-system)
12782 (inputs
12783 `(("ghc-zlib" ,ghc-zlib)))
12784 (native-inputs
12785 `(("ghc-hspec" ,ghc-hspec)
12786 ("ghc-quickcheck" ,ghc-quickcheck)))
12787 (arguments
12788 `(#:cabal-revision
12789 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12790 (home-page "https://github.com/snapframework/zlib-bindings")
12791 (synopsis "Low-level bindings to the @code{zlib} package")
12792 (description "This package provides low-level bindings to the
12793@code{zlib} package.")
12794 (license license:bsd-3)))
8428e92c
TS
12795
12796(define-public ghc-zstd
12797 (package
12798 (name "ghc-zstd")
12799 (version "0.1.1.2")
12800 (source
12801 (origin
12802 (method url-fetch)
12803 (uri (string-append "https://hackage.haskell.org/package/"
12804 "zstd/zstd-" version ".tar.gz"))
12805 (sha256
12806 (base32
12807 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
12808 (build-system haskell-build-system)
12809 (native-inputs
12810 `(("ghc-quickcheck" ,ghc-quickcheck)
12811 ("ghc-test-framework" ,ghc-test-framework)
12812 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
12813 (home-page "https://github.com/luispedro/hs-zstd")
12814 (synopsis "Haskell bindings to the Zstandard compression algorithm")
12815 (description "This library provides Haskell bindings to the
12816Zstandard compression algorithm, a fast lossless compression algorithm
12817targeting real-time compression scenarios at zlib-level and better
12818compression ratios.")
12819 (license license:bsd-3)))