gnu: Add ghc-mtl-compat.
[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>
4639fa32 25;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
84436be0 26;;; Copyright © 2020 JoJo <jo@jo.zone>
ba7cbae3 27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
fbe32d46 28;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
6b34d01c
RV
29;;;
30;;; This file is part of GNU Guix.
31;;;
32;;; GNU Guix is free software; you can redistribute it and/or modify it
33;;; under the terms of the GNU General Public License as published by
34;;; the Free Software Foundation; either version 3 of the License, or (at
35;;; your option) any later version.
36;;;
37;;; GNU Guix is distributed in the hope that it will be useful, but
38;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40;;; GNU General Public License for more details.
41;;;
42;;; You should have received a copy of the GNU General Public License
43;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45(define-module (gnu packages haskell-xyz)
46 #:use-module (gnu packages)
dddbc90c
RV
47 #:use-module (gnu packages base)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages emacs)
50 #:use-module (gnu packages gcc)
51 #:use-module (gnu packages gl)
52 #:use-module (gnu packages graphviz)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages haskell-apps)
efb96749 55 #:use-module (gnu packages haskell-check)
dddbc90c
RV
56 #:use-module (gnu packages haskell-crypto)
57 #:use-module (gnu packages haskell-web)
58 #:use-module (gnu packages libffi)
59 #:use-module (gnu packages linux)
e3ee8023 60 #:use-module (gnu packages llvm)
dddbc90c
RV
61 #:use-module (gnu packages lua)
62 #:use-module (gnu packages maths)
49e29df5 63 #:use-module (gnu packages ncurses)
dddbc90c
RV
64 #:use-module (gnu packages pcre)
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages sdl)
0c2d6fc2 67 #:use-module (gnu packages web)
dddbc90c
RV
68 #:use-module (gnu packages xml)
69 #:use-module (gnu packages xorg)
6b34d01c
RV
70 #:use-module (guix build-system haskell)
71 #:use-module (guix download)
dddbc90c 72 #:use-module (guix git-download)
4780db2c 73 #:use-module (guix utils)
6b34d01c
RV
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages))
76
dddbc90c 77(define-public ghc-abstract-deque
efb96749 78 (package
dddbc90c
RV
79 (name "ghc-abstract-deque")
80 (version "0.3")
efb96749
RV
81 (source
82 (origin
83 (method url-fetch)
84 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
85 "abstract-deque-" version "/"
86 "abstract-deque-" version ".tar.gz"))
efb96749
RV
87 (sha256
88 (base32
dddbc90c 89 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 90 (build-system haskell-build-system)
dddbc90c
RV
91 (inputs `(("ghc-random" ,ghc-random)))
92 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
93 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
94 (description "This Haskell package provides an abstract interface to
95highly-parameterizable queues/deques.
96
97Background: There exists a feature space for queues that extends between:
efb96749
RV
98
99@itemize
dddbc90c
RV
100@item Simple, single-ended, non-concurrent, bounded queues
101
102@item Double-ended, thread-safe, growable queues with important points
103in between (such as the queues used for work stealing).
efb96749
RV
104@end itemize
105
dddbc90c
RV
106This package includes an interface for Deques that allows the programmer
107to use a single API for all of the above, while using the type system to
108select an efficient implementation given the requirements (using type families).
efb96749 109
dddbc90c
RV
110This package also includes a simple reference implementation based on
111@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
112 (license license:bsd-3)))
113
dddbc90c 114(define-public ghc-abstract-par
658dbc7f 115 (package
dddbc90c
RV
116 (name "ghc-abstract-par")
117 (version "0.3.3")
658dbc7f
RV
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
122 "abstract-par-" version "/"
123 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
124 (sha256
125 (base32
dddbc90c
RV
126 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
127 (build-system haskell-build-system)
128 (home-page "https://github.com/simonmar/monad-par")
129 (synopsis "Abstract parallelization interface for Haskell")
130 (description "This Haskell package is an abstract interface
131only. It provides a number of type clasess, but not an
132implementation. The type classes separate different levels
133of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
134module for more details.")
135 (license license:bsd-3)))
136
d8b88d74
TS
137(define-public ghc-active
138 (package
139 (name "ghc-active")
140 (version "0.2.0.14")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "https://hackage.haskell.org/package/"
145 "active/active-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
149 (build-system haskell-build-system)
150 (inputs
151 `(("ghc-vector" ,ghc-vector)
152 ("ghc-semigroups" ,ghc-semigroups)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-lens" ,ghc-lens)
155 ("ghc-linear" ,ghc-linear)))
156 (native-inputs
157 `(("ghc-quickcheck" ,ghc-quickcheck)))
158 (home-page "https://hackage.haskell.org/package/active")
159 (synopsis "Abstractions for animation")
160 (description "This package defines an @code{Active} abstraction for
161time-varying values with finite start and end times. It is used for
162describing animations within the
163@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
164diagrams framework}.")
165 (license license:bsd-3)))
166
dddbc90c
RV
167(define-public ghc-adjunctions
168 (package
169 (name "ghc-adjunctions")
170 (version "4.4")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
176 version
177 ".tar.gz"))
178 (sha256
179 (base32
180 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 181 (build-system haskell-build-system)
a78262be
TS
182 (arguments
183 `(#:cabal-revision
184 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 185 (inputs
dddbc90c
RV
186 `(("ghc-profunctors" ,ghc-profunctors)
187 ("ghc-comonad" ,ghc-comonad)
188 ("ghc-contravariant" ,ghc-contravariant)
189 ("ghc-distributive" ,ghc-distributive)
190 ("ghc-free" ,ghc-free)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroupoids" ,ghc-semigroupoids)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-transformers-compat" ,ghc-transformers-compat)
195 ("ghc-void" ,ghc-void)))
658dbc7f 196 (native-inputs
dddbc90c
RV
197 `(("ghc-generic-deriving" ,ghc-generic-deriving)
198 ("ghc-hspec" ,ghc-hspec)
199 ("hspec-discover" ,hspec-discover)))
200 (home-page "https://github.com/ekmett/adjunctions/")
201 (synopsis "Adjunctions and representable functors")
202 (description "This library provides adjunctions and representable functors
203for Haskell.")
204 (license license:bsd-3)))
205
206(define-public ghc-aeson-compat
207 (package
208 (name "ghc-aeson-compat")
0bafb755 209 (version "0.3.9")
dddbc90c
RV
210 (source
211 (origin
212 (method url-fetch)
213 (uri (string-append "https://hackage.haskell.org/package/"
214 "aeson-compat-" version "/"
215 "aeson-compat-" version ".tar.gz"))
216 (sha256
217 (base32
0bafb755 218 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
219 (build-system haskell-build-system)
220 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
221 (inputs `(("ghc-base-compat" ,ghc-base-compat)
222 ("ghc-aeson" ,ghc-aeson)
223 ("ghc-attoparsec" ,ghc-attoparsec)
224 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
225 ("ghc-exceptions" ,ghc-exceptions)
226 ("ghc-hashable" ,ghc-hashable)
227 ("ghc-scientific" ,ghc-scientific)
228 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
229 ("ghc-unordered-containers" ,ghc-unordered-containers)
230 ("ghc-vector" ,ghc-vector)
231 ("ghc-tagged" ,ghc-tagged)
232 ("ghc-semigroups" ,ghc-semigroups)
233 ("ghc-nats" ,ghc-nats)))
234 (home-page "https://github.com/phadej/aeson-compat")
235 (synopsis "Compatibility layer for ghc-aeson")
236 (description "This Haskell package provides compatibility layer for
237ghc-aeson.")
238 (license license:bsd-3)))
239
cbc6f861
TS
240(define-public ghc-aeson-diff
241 (package
242 (name "ghc-aeson-diff")
243 (version "1.1.0.7")
244 (source
245 (origin
246 (method url-fetch)
247 (uri (string-append "https://hackage.haskell.org/package/"
248 "aeson-diff/aeson-diff-" version ".tar.gz"))
249 (sha256
250 (base32
251 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-aeson" ,ghc-aeson)
255 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
256 ("ghc-hashable" ,ghc-hashable)
257 ("ghc-scientific" ,ghc-scientific)
258 ("ghc-unordered-containers" ,ghc-unordered-containers)
259 ("ghc-vector" ,ghc-vector)
260 ("ghc-semigroups" ,ghc-semigroups)
261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
262 (native-inputs
263 `(("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
265 ("ghc-glob" ,ghc-glob)
266 ("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-quickcheck" ,ghc-quickcheck)
269 ("ghc-doctest" ,ghc-doctest)
270 ("hlint" ,hlint)))
271 (home-page "https://github.com/thsutton/aeson-diff")
272 (synopsis "Extract and apply patches to JSON documents")
273 (description "This is a small library for working with changes to JSON
274documents. It includes a library and two command-line executables in the
275style of the @command{diff} and @command{patch} commands available on many
276systems.")
277 (license license:bsd-3)))
278
dddbc90c
RV
279(define-public ghc-alex
280 (package
281 (name "ghc-alex")
282 (version "3.2.4")
283 (source
284 (origin
285 (method url-fetch)
286 (uri (string-append
287 "https://hackage.haskell.org/package/alex/alex-"
288 version
289 ".tar.gz"))
290 (sha256
291 (base32
292 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
293 (build-system haskell-build-system)
658dbc7f 294 (arguments
dddbc90c
RV
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-before 'check 'set-check-variables
298 (lambda _
299 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
300 (getenv "PATH")))
301 (setenv "alex_datadir" (string-append (getcwd) "/data"))
302 #t)))))
303 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
304 (native-inputs
305 `(("which" ,which)))
306 (home-page "https://www.haskell.org/alex/")
307 (synopsis
308 "Tool for generating lexical analysers in Haskell")
309 (description
310 "Alex is a tool for generating lexical analysers in Haskell. It takes a
311description of tokens based on regular expressions and generates a Haskell
312module containing code for scanning text efficiently. It is similar to the
313tool lex or flex for C/C++.")
658dbc7f
RV
314 (license license:bsd-3)))
315
dddbc90c 316(define-public ghc-alsa-core
7b01a977 317 (package
dddbc90c
RV
318 (name "ghc-alsa-core")
319 (version "0.5.0.1")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://hackage/package/alsa-core/alsa-core-"
325 version
326 ".tar.gz"))
327 (sha256
328 (base32
329 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
330 (build-system haskell-build-system)
331 (inputs
332 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
333 ("alsa-lib" ,alsa-lib)))
334 (native-inputs
335 `(("pkg-config" ,pkg-config)))
336 (home-page "http://www.haskell.org/haskellwiki/ALSA")
337 (synopsis "Binding to the ALSA Library API (Exceptions)")
338 (description "This package provides access to ALSA infrastructure, that is
339needed by both alsa-seq and alsa-pcm.")
340 (license license:bsd-3)))
341
f2ed1e6d
JS
342(define-public ghc-alsa-mixer
343 (package
344 (name "ghc-alsa-mixer")
345 (version "0.3.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri
350 (string-append
351 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
352 version ".tar.gz"))
353 (sha256
354 (base32
355 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
356 (build-system haskell-build-system)
357 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
358 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
359 (home-page "https://github.com/ttuegel/alsa-mixer")
360 (synopsis "Bindings to the ALSA simple mixer API")
361 (description
362 "This package provides bindings to the ALSA simple mixer API.")
363 (license license:bsd-3)))
364
dddbc90c
RV
365(define-public ghc-annotated-wl-pprint
366 (package
367 (name "ghc-annotated-wl-pprint")
368 (version "0.7.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://hackage.haskell.org/package/annotated-wl-pprint"
374 "/annotated-wl-pprint-" version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
379 (build-system haskell-build-system)
380 (home-page
381 "https://github.com/david-christiansen/annotated-wl-pprint")
382 (synopsis
383 "The Wadler/Leijen Pretty Printer, with annotation support")
384 (description "This is a modified version of wl-pprint, which was based on
385Wadler's paper \"A Prettier Printer\". This version allows the library user
386to annotate the text with semantic information, which can later be rendered in
387a variety of ways.")
388 (license license:bsd-3)))
389
390(define-public ghc-ansi-terminal
391 (package
392 (name "ghc-ansi-terminal")
f1b4a73f 393 (version "0.9.1")
dddbc90c
RV
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append
398 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
399 version
400 ".tar.gz"))
401 (sha256
402 (base32
f1b4a73f 403 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
404 (build-system haskell-build-system)
405 (inputs
406 `(("ghc-colour" ,ghc-colour)))
407 (home-page "https://github.com/feuerbach/ansi-terminal")
408 (synopsis "ANSI terminal support for Haskell")
409 (description "This package provides ANSI terminal support for Haskell. It
410allows cursor movement, screen clearing, color output showing or hiding the
411cursor, and changing the title.")
412 (license license:bsd-3)))
413
414(define-public ghc-ansi-wl-pprint
415 (package
416 (name "ghc-ansi-wl-pprint")
c38746eb 417 (version "0.6.9")
7b01a977
RV
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 422 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
423 version ".tar.gz"))
424 (sha256
425 (base32
c38746eb 426 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
427 (build-system haskell-build-system)
428 (inputs
dddbc90c
RV
429 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
430 (home-page "https://github.com/ekmett/ansi-wl-pprint")
431 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
432 (description "This is a pretty printing library based on Wadler's paper
433\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
434colored output using the ansi-terminal package.")
435 (license license:bsd-3)))
436
437(define-public ghc-appar
438 (package
439 (name "ghc-appar")
1159d1a5 440 (version "0.1.8")
dddbc90c
RV
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/appar/appar-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
1159d1a5 450 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
451 (build-system haskell-build-system)
452 (home-page
453 "https://hackage.haskell.org/package/appar")
454 (synopsis "Simple applicative parser")
455 (description "This package provides a simple applicative parser in Parsec
456style.")
457 (license license:bsd-3)))
458
459(define-public ghc-async
460 (package
461 (name "ghc-async")
048ef066 462 (version "2.2.2")
dddbc90c
RV
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/async/async-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
048ef066 472 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-hashable" ,ghc-hashable)
476 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
477 ("ghc-test-framework" ,ghc-test-framework)
478 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
479 (home-page "https://github.com/simonmar/async")
480 (synopsis "Library to run IO operations asynchronously")
481 (description "Async provides a library to run IO operations
482asynchronously, and wait for their results. It is a higher-level interface
483over threads in Haskell, in which @code{Async a} is a concurrent thread that
484will eventually deliver a value of type @code{a}.")
7b01a977
RV
485 (license license:bsd-3)))
486
9ad9ec2e
AG
487(define-public ghc-atomic-primops
488 (package
489 (name "ghc-atomic-primops")
af16c6b0 490 (version "0.8.3")
9ad9ec2e
AG
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
495 "/atomic-primops-" version ".tar.gz"))
496 (sha256
497 (base32
af16c6b0 498 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
499 (build-system haskell-build-system)
500 (inputs `(("ghc-primitive" ,ghc-primitive)))
501 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
502 (synopsis "Safe approach to CAS and other atomic ops")
503 (description
504 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
505use safely, because pointer equality is a highly unstable property in Haskell.
506This library provides a safer method based on the concept of @code{Ticket}s.")
507 (license license:bsd-3)))
508
dddbc90c 509(define-public ghc-atomic-write
79fcc5e5 510 (package
dddbc90c 511 (name "ghc-atomic-write")
c09d1e62 512 (version "0.2.0.6")
79fcc5e5
RV
513 (source
514 (origin
515 (method url-fetch)
dddbc90c
RV
516 (uri (string-append
517 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
518 version
519 ".tar.gz"))
79fcc5e5
RV
520 (sha256
521 (base32
c09d1e62 522 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
523 (build-system haskell-build-system)
524 (inputs
525 `(("ghc-temporary" ,ghc-temporary)
526 ("ghc-unix-compat" ,ghc-unix-compat)))
527 (native-inputs
528 `(("ghc-temporary" ,ghc-temporary)
529 ("ghc-unix-compat" ,ghc-unix-compat)
530 ("ghc-hspec" ,ghc-hspec)
531 ("hspec-discover" ,hspec-discover)))
532 (home-page "https://github.com/stackbuilders/atomic-write")
533 (synopsis "Atomically write to a file")
534 (description
535 "Atomically write to a file on POSIX-compliant systems while preserving
536permissions. @code{mv} is an atomic operation. This makes it simple to write
537to a file atomically just by using the @code{mv} operation. However, this
538will destroy the permissions on the original file. This library preserves
539permissions while atomically writing to a file.")
540 (license license:expat)))
541
542(define-public ghc-attoparsec
543 (package
544 (name "ghc-attoparsec")
511c3204 545 (version "0.13.2.3")
dddbc90c
RV
546 (source
547 (origin
548 (method url-fetch)
549 (uri (string-append
550 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
551 version
552 ".tar.gz"))
553 (sha256
554 (base32
511c3204 555 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 556 (build-system haskell-build-system)
79fcc5e5 557 (arguments
dddbc90c
RV
558 `(#:phases
559 (modify-phases %standard-phases
560 (add-after 'unpack 'patch-for-newer-quickcheck
561 (lambda _
562 (substitute* "attoparsec.cabal"
563 (("QuickCheck >= 2\\.7 && < 2\\.10")
564 "QuickCheck >= 2.7 && < 2.12"))
565 ;; This test fails because of the newer QuickCheck:
566 ;; <https://github.com/bos/attoparsec/issues/134>.
567 (substitute* "tests/QC/ByteString.hs"
568 ((", testProperty \"satisfyWith\" satisfyWith")
569 "")))))))
570 (inputs
571 `(("ghc-scientific" ,ghc-scientific)))
572 (native-inputs
573 `(("ghc-tasty" ,ghc-tasty)
574 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
575 ("ghc-quickcheck" ,ghc-quickcheck)
576 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
577 ("ghc-vector" ,ghc-vector)))
578 (home-page "https://github.com/bos/attoparsec")
579 (synopsis "Fast combinator parsing for bytestrings and text")
580 (description "This library provides a fast parser combinator library,
581aimed particularly at dealing efficiently with network protocols and
582complicated text/binary file formats.")
79fcc5e5
RV
583 (license license:bsd-3)))
584
dddbc90c 585(define-public ghc-attoparsec-bootstrap
6b34d01c 586 (package
dddbc90c
RV
587 (inherit ghc-attoparsec)
588 (name "ghc-attoparsec-bootstrap")
589 (arguments `(#:tests? #f))
590 (inputs
591 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
592 (native-inputs '())
799d8d3c 593 (properties '((hidden? #t)))))
dddbc90c
RV
594
595(define-public ghc-attoparsec-iso8601
596 (package
597 (name "ghc-attoparsec-iso8601")
97f267c8 598 (version "1.0.1.0")
6b34d01c
RV
599 (source
600 (origin
601 (method url-fetch)
602 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
603 "attoparsec-iso8601-" version "/"
604 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
605 (sha256
606 (base32
97f267c8 607 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 608 (build-system haskell-build-system)
dddbc90c
RV
609 (arguments
610 `(#:cabal-revision
97f267c8 611 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
612 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
613 ("ghc-base-compat" ,ghc-base-compat)))
614 (home-page "https://github.com/bos/aeson")
615 (synopsis "Parse ISO 8601 dates")
616 (description "Haskell library for parsing of ISO 8601 dates, originally
617from aeson.")
6b34d01c 618 (license license:bsd-3)))
b57e99f5 619
dddbc90c 620(define-public ghc-auto-update
b57e99f5 621 (package
dddbc90c 622 (name "ghc-auto-update")
11b1b6cd 623 (version "0.1.6")
dddbc90c
RV
624 (source
625 (origin
626 (method url-fetch)
627 (uri (string-append
628 "https://hackage.haskell.org/package/auto-update/auto-update-"
629 version
630 ".tar.gz"))
631 (sha256
632 (base32
11b1b6cd 633 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 634 (build-system haskell-build-system)
11b1b6cd
TS
635 (native-inputs
636 `(("ghc-hspec" ,ghc-hspec)
637 ("ghc-hunit" ,ghc-hunit)
638 ("ghc-retry" ,ghc-retry)
639 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
640 (home-page "https://github.com/yesodweb/wai")
641 (synopsis "Efficiently run periodic, on-demand actions")
642 (description "This library provides mechanisms to efficiently run
643periodic, on-demand actions in Haskell.")
644 (license license:expat)))
645
646(define-public ghc-aws
647 (package
648 (name "ghc-aws")
649 (version "0.20")
b57e99f5
RV
650 (source
651 (origin
652 (method url-fetch)
653 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
654 "aws-" version "/aws-" version ".tar.gz"))
655 (sha256 (base32
656 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
657 (build-system haskell-build-system)
658 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
659 (inputs
660 `(("ghc-aeson" ,ghc-aeson)
661 ("ghc-attoparsec" ,ghc-attoparsec)
662 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
663 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
664 ("ghc-blaze-builder" ,ghc-blaze-builder)
665 ("ghc-byteable" ,ghc-byteable)
666 ("ghc-case-insensitive" ,ghc-case-insensitive)
667 ("ghc-cereal" ,ghc-cereal)
668 ("ghc-conduit" ,ghc-conduit)
669 ("ghc-conduit-extra" ,ghc-conduit-extra)
670 ("ghc-cryptonite" ,ghc-cryptonite)
671 ("ghc-data-default" ,ghc-data-default)
672 ("ghc-http-conduit" ,ghc-http-conduit)
673 ("ghc-http-types" ,ghc-http-types)
674 ("ghc-lifted-base" ,ghc-lifted-base)
675 ("ghc-monad-control" ,ghc-monad-control)
676 ("ghc-network" ,ghc-network)
677 ("ghc-old-locale" ,ghc-old-locale)
678 ("ghc-safe" ,ghc-safe)
679 ("ghc-scientific" ,ghc-scientific)
680 ("ghc-tagged" ,ghc-tagged)
681 ("ghc-unordered-containers" ,ghc-unordered-containers)
682 ("ghc-utf8-string" ,ghc-utf8-string)
683 ("ghc-vector" ,ghc-vector)
684 ("ghc-xml-conduit" ,ghc-xml-conduit)))
685 (native-inputs
686 `(("ghc-quickcheck" ,ghc-quickcheck)
687 ("ghc-errors" ,ghc-errors)
688 ("ghc-http-client" ,ghc-http-client)
689 ("ghc-http-client-tls" ,ghc-http-client-tls)
690 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
691 ("ghc-tasty" ,ghc-tasty)
692 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
693 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
694 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
695 (home-page "https://github.com/aristidb/aws")
696 (synopsis "Amazon Web Services for Haskell")
697 (description "This package attempts to provide support for using
698Amazon Web Services like S3 (storage), SQS (queuing) and others to
699Haskell programmers. The ultimate goal is to support all Amazon
700Web Services.")
701 (license license:bsd-3)))
702
703(define-public ghc-base16-bytestring
704 (package
705 (name "ghc-base16-bytestring")
706 (version "0.1.1.6")
707 (source
708 (origin
709 (method url-fetch)
710 (uri (string-append
711 "https://hackage.haskell.org/package/base16-bytestring/"
712 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
713 (sha256
714 (base32
dddbc90c 715 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 716 (build-system haskell-build-system)
dddbc90c
RV
717 (home-page "https://github.com/bos/base16-bytestring")
718 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
719 (description
720 "This package provides a Haskell library for working with base16-encoded
721data quickly and efficiently, using the ByteString type.")
b57e99f5 722 (license license:bsd-3)))
bbf8bf31 723
dddbc90c 724(define-public ghc-base64-bytestring
bbf8bf31 725 (package
dddbc90c
RV
726 (name "ghc-base64-bytestring")
727 (version "1.0.0.2")
bbf8bf31
RV
728 (source
729 (origin
730 (method url-fetch)
dddbc90c
RV
731 (uri (string-append
732 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
733 version
734 ".tar.gz"))
735 (sha256
736 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
737 (build-system haskell-build-system)
738 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
739 (home-page "https://github.com/bos/base64-bytestring")
740 (synopsis "Base64 encoding and decoding for ByteStrings")
741 (description "This library provides fast base64 encoding and decoding for
742Haskell @code{ByteString}s.")
743 (license license:bsd-3)))
744
745(define-public ghc-base-compat
746 (package
747 (name "ghc-base-compat")
4daaa371 748 (version "0.10.5")
dddbc90c
RV
749 (source
750 (origin
751 (method url-fetch)
752 (uri (string-append
753 "https://hackage.haskell.org/package/base-compat/base-compat-"
754 version
755 ".tar.gz"))
bbf8bf31
RV
756 (sha256
757 (base32
4daaa371 758 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
759 (build-system haskell-build-system)
760 (native-inputs
dddbc90c
RV
761 `(("ghc-quickcheck" ,ghc-quickcheck)
762 ("ghc-hspec" ,ghc-hspec)
763 ("hspec-discover" ,hspec-discover)))
764 (home-page "https://hackage.haskell.org/package/base-compat")
765 (synopsis "Haskell compiler compatibility library")
766 (description "This library provides functions available in later versions
767of base to a wider range of compilers, without requiring the use of CPP
768pragmas in your code.")
769 (license license:bsd-3)))
770
f9d78c7f
TS
771(define-public ghc-base-compat-batteries
772 (package
773 (name "ghc-base-compat-batteries")
774 (version "0.10.5")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (string-append "https://hackage.haskell.org/package/"
779 "base-compat-batteries/base-compat-batteries-"
780 version ".tar.gz"))
781 (sha256
782 (base32
783 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
784 (build-system haskell-build-system)
785 (inputs
786 `(("ghc-base-compat" ,ghc-base-compat)))
787 (native-inputs
788 `(("ghc-hspec" ,ghc-hspec)
789 ("ghc-quickcheck" ,ghc-quickcheck)
790 ("hspec-discover" ,hspec-discover)))
791 (arguments
792 `(#:cabal-revision
793 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 794 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
795 (synopsis "base-compat with extra batteries")
796 (description "This library provides functions available in later
797versions of @code{base} to a wider range of compilers, without requiring
798you to use CPP pragmas in your code. This package provides the same API
799as the @code{base-compat} library, but depends on compatibility
800packages (such as @code{semigroups}) to offer a wider support window
801than @code{base-compat}, which has no dependencies.")
802 (license license:expat)))
803
dddbc90c
RV
804(define-public ghc-basement
805 (package
806 (name "ghc-basement")
8b56c1fd 807 (version "0.0.11")
dddbc90c
RV
808 (source
809 (origin
810 (method url-fetch)
811 (uri (string-append "https://hackage.haskell.org/package/"
812 "basement/basement-" version ".tar.gz"))
813 (sha256
814 (base32
8b56c1fd 815 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
816 (build-system haskell-build-system)
817 (home-page "https://github.com/haskell-foundation/foundation")
818 (synopsis "Basic primitives for Foundation starter pack")
819 (description
820 "This package contains basic primitives for the Foundation set of
821packages.")
822 (license license:bsd-3)))
823
824(define-public ghc-base-orphans
825 (package
826 (name "ghc-base-orphans")
780477fb 827 (version "0.8.1")
dddbc90c
RV
828 (source
829 (origin
830 (method url-fetch)
831 (uri (string-append
832 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
833 version
834 ".tar.gz"))
835 (sha256
836 (base32
780477fb 837 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
838 (build-system haskell-build-system)
839 (native-inputs
840 `(("ghc-quickcheck" ,ghc-quickcheck)
841 ("ghc-hspec" ,ghc-hspec)
842 ("hspec-discover" ,hspec-discover)))
843 (home-page "https://hackage.haskell.org/package/base-orphans")
844 (synopsis "Orphan instances for backwards compatibility")
845 (description "This package defines orphan instances that mimic instances
846available in later versions of base to a wider (older) range of compilers.")
847 (license license:bsd-3)))
848
849(define-public ghc-base-prelude
850 (package
851 (name "ghc-base-prelude")
852 (version "1.3")
853 (source
854 (origin
855 (method url-fetch)
856 (uri (string-append "https://hackage.haskell.org/package/"
857 "base-prelude-" version "/"
858 "base-prelude-" version ".tar.gz"))
859 (sha256
860 (base32
861 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
862 (build-system haskell-build-system)
863 (home-page "https://github.com/nikita-volkov/base-prelude")
864 (synopsis "The most complete prelude formed solely from the Haskell's base
865package")
866 (description "This Haskell package aims to reexport all the non-conflicting
867and most general definitions from the \"base\" package.
868
869This includes APIs for applicatives, arrows, monoids, foldables, traversables,
870exceptions, generics, ST, MVars and STM.
871
872This package will never have any dependencies other than \"base\".
873
874Versioning policy:
875
876The versioning policy of this package deviates from PVP in the sense
877that its exports in part are transitively determined by the version of \"base\".
878Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
879the bounds of \"base\" as well.")
880 (license license:expat)))
881
882(define-public ghc-base-unicode-symbols
883 (package
884 (name "ghc-base-unicode-symbols")
885 (version "0.2.3")
886 (source
887 (origin
888 (method url-fetch)
889 (uri (string-append
890 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
891 version
892 ".tar.gz"))
893 (sha256
894 (base32
895 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
896 (build-system haskell-build-system)
897 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
898 (synopsis "Unicode alternatives for common functions and operators")
899 (description "This package defines new symbols for a number of functions,
900operators and types in the base package. All symbols are documented with
901their actual definition and information regarding their Unicode code point.
902They should be completely interchangeable with their definitions. For
903further Unicode goodness you can enable the @code{UnicodeSyntax}
904@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
905language extension}. This extension enables Unicode characters to be used to
906stand for certain ASCII character sequences, i.e. → instead of @code{->},
907∀ instead of @code{forall} and many others.")
908 (license license:bsd-3)))
909
ec8491b0
ASM
910(define-public ghc-basic-prelude
911 (package
912 (name "ghc-basic-prelude")
913 (version "0.7.0")
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
918 "https://hackage.haskell.org/package/basic-prelude/"
919 "basic-prelude-" version ".tar.gz"))
920 (sha256
921 (base32
922 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-hashable" ,ghc-hashable)
926 ("ghc-unordered-containers"
927 ,ghc-unordered-containers)
928 ("ghc-vector" ,ghc-vector)))
929 (home-page "https://github.com/snoyberg/basic-prelude#readme")
930 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
931 (description
932 "The premise of basic-prelude is that there are a lot of very commonly
933desired features missing from the standard Prelude, such as commonly used
934operators (<$> and >=>, for instance) and imports for common datatypes
935(e.g., ByteString and Vector). At the same time, there are lots of other
936components which are more debatable, such as providing polymorphic versions
937of common functions.
938
939So basic-prelude is intended to give a common foundation for a number of
940alternate preludes. The package provides two modules: CorePrelude provides
941the common ground for other preludes to build on top of, while BasicPrelude
942exports CorePrelude together with commonly used list functions to provide a
943drop-in replacement for the standard Prelude.
944
945Users wishing to have an improved Prelude can use BasicPrelude. Developers
946wishing to create a new prelude should use CorePrelude.")
947 (license license:expat)))
948
dddbc90c
RV
949(define-public ghc-bifunctors
950 (package
951 (name "ghc-bifunctors")
0beaec66 952 (version "5.5.5")
dddbc90c
RV
953 (source
954 (origin
955 (method url-fetch)
956 (uri (string-append
957 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
958 version
959 ".tar.gz"))
960 (sha256
961 (base32
0beaec66 962 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
963 (build-system haskell-build-system)
964 (inputs
965 `(("ghc-base-orphans" ,ghc-base-orphans)
966 ("ghc-comonad" ,ghc-comonad)
967 ("ghc-th-abstraction" ,ghc-th-abstraction)
968 ("ghc-transformers-compat" ,ghc-transformers-compat)
969 ("ghc-tagged" ,ghc-tagged)
970 ("ghc-semigroups" ,ghc-semigroups)))
971 (native-inputs
972 `(("ghc-hspec" ,ghc-hspec)
973 ("hspec-discover" ,hspec-discover)
974 ("ghc-quickcheck" ,ghc-quickcheck)))
975 (home-page "https://github.com/ekmett/bifunctors/")
976 (synopsis "Bifunctors for Haskell")
977 (description "This package provides bifunctors for Haskell.")
978 (license license:bsd-3)))
979
980(define-public ghc-bindings-dsl
981 (package
982 (name "ghc-bindings-dsl")
983 (version "1.0.25")
984 (source
985 (origin
986 (method url-fetch)
987 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
988 "bindings-DSL-" version ".tar.gz"))
989 (sha256
990 (base32
991 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
992 (build-system haskell-build-system)
993 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
994 (synopsis "FFI domain specific language, on top of hsc2hs")
995 (description
996 "This is a set of macros to be used when writing Haskell FFI. They were
997designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
998extract from them all Haskell code needed to mimic such interfaces. All
999Haskell names used are automatically derived from C names, structures are
1000mapped to Haskell instances of @code{Storable}, and there are also macros you
1001can use with C code to help write bindings to inline functions or macro
1002functions.")
1003 (license license:bsd-3)))
1004
64f42786
TS
1005(define-public ghc-bitarray
1006 (package
1007 (name "ghc-bitarray")
1008 (version "0.0.1.1")
1009 (source
1010 (origin
1011 (method url-fetch)
1012 (uri (string-append "https://hackage.haskell.org/package/"
1013 "bitarray/bitarray-" version ".tar.gz"))
1014 (sha256
1015 (base32
1016 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1017 (build-system haskell-build-system)
1018 (arguments
1019 `(#:cabal-revision
1020 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1021 (home-page "https://hackage.haskell.org/package/bitarray")
1022 (synopsis "Mutable and immutable bit arrays")
1023 (description "The package provides mutable and immutable bit arrays.")
1024 (license license:bsd-3)))
1025
dddbc90c
RV
1026(define-public ghc-blaze-builder
1027 (package
1028 (name "ghc-blaze-builder")
1029 (version "0.4.1.0")
1030 (source
1031 (origin
1032 (method url-fetch)
1033 (uri (string-append
1034 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1035 version
1036 ".tar.gz"))
1037 (sha256
1038 (base32
1039 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1040 (build-system haskell-build-system)
1041 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1042 (inputs
1043 `(("ghc-utf8-string" ,ghc-utf8-string)))
1044 (home-page "https://github.com/lpsmith/blaze-builder")
1045 (synopsis "Efficient buffered output")
1046 (description "This library provides an implementation of the older
1047@code{blaze-builder} interface in terms of the new builder that shipped with
1048@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1049bridge to the new builder, so that code that uses the old interface can
1050interoperate with code that uses the new implementation.")
1051 (license license:bsd-3)))
1052
1053(define-public ghc-blaze-markup
1054 (package
1055 (name "ghc-blaze-markup")
7d30fcf3 1056 (version "0.8.2.3")
dddbc90c
RV
1057 (source
1058 (origin
1059 (method url-fetch)
1060 (uri (string-append "https://hackage.haskell.org/package/"
1061 "blaze-markup/blaze-markup-"
1062 version ".tar.gz"))
1063 (sha256
1064 (base32
7d30fcf3 1065 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1066 (build-system haskell-build-system)
1067 (arguments
1068 `(#:phases
1069 (modify-phases %standard-phases
1070 (add-before 'configure 'update-constraints
1071 (lambda _
1072 (substitute* "blaze-markup.cabal"
1073 (("tasty >= 1\\.0 && < 1\\.1")
1074 "tasty >= 1.0 && < 1.2")))))))
1075 (inputs
1076 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1077 (native-inputs
1078 `(("ghc-hunit" ,ghc-hunit)
1079 ("ghc-quickcheck" ,ghc-quickcheck)
1080 ("ghc-tasty" ,ghc-tasty)
1081 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1082 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1083 (home-page "https://jaspervdj.be/blaze")
1084 (synopsis "Fast markup combinator library for Haskell")
1085 (description "This library provides core modules of a markup combinator
1086library for Haskell.")
1087 (license license:bsd-3)))
1088
1089(define-public ghc-bloomfilter
1090 (package
1091 (name "ghc-bloomfilter")
1092 (version "2.0.1.0")
1093 (source
1094 (origin
1095 (method url-fetch)
1096 (uri (string-append "https://hackage.haskell.org/package/"
1097 "bloomfilter/bloomfilter-" version ".tar.gz"))
1098 (sha256
1099 (base32
1100 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1101 (build-system haskell-build-system)
1102 (native-inputs
1103 `(("ghc-quickcheck" ,ghc-quickcheck)
1104 ("ghc-random" ,ghc-random)
1105 ("ghc-test-framework" ,ghc-test-framework)
1106 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1107 (home-page "https://github.com/bos/bloomfilter")
1108 (synopsis "Pure and impure Bloom filter implementations")
1109 (description "This package provides both mutable and immutable Bloom
1110filter data types, along with a family of hash functions and an easy-to-use
1111interface.")
1112 (license license:bsd-3)))
1113
1114(define-public ghc-boxes
1115 (package
1116 (name "ghc-boxes")
1117 (version "0.1.5")
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1122 version ".tar.gz"))
1123 (sha256
1124 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1125 (build-system haskell-build-system)
1126 (inputs
1127 `(("ghc-split" ,ghc-split)
1128 ("ghc-quickcheck" ,ghc-quickcheck)))
1129 (home-page "https://hackage.haskell.org/package/boxes")
1130 (synopsis "2D text pretty-printing library")
1131 (description
1132 "Boxes is a pretty-printing library for laying out text in two dimensions,
1133using a simple box model.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-byteable
1137 (package
1138 (name "ghc-byteable")
1139 (version "0.1.1")
1140 (source (origin
1141 (method url-fetch)
1142 (uri (string-append "https://hackage.haskell.org/package/"
1143 "byteable/byteable-" version ".tar.gz"))
1144 (sha256
1145 (base32
1146 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1147 (build-system haskell-build-system)
1148 (home-page "https://github.com/vincenthz/hs-byteable")
1149 (synopsis "Type class for sequence of bytes")
1150 (description
1151 "This package provides an abstract class to manipulate sequence of bytes.
1152The use case of this class is abstracting manipulation of types that are just
1153wrapping a bytestring with stronger and more meaniful name.")
1154 (license license:bsd-3)))
1155
1156(define-public ghc-byteorder
1157 (package
1158 (name "ghc-byteorder")
1159 (version "1.0.4")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append
1164 "https://hackage.haskell.org/package/byteorder/byteorder-"
1165 version
1166 ".tar.gz"))
1167 (sha256
1168 (base32
1169 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1170 (build-system haskell-build-system)
1171 (home-page
1172 "http://community.haskell.org/~aslatter/code/byteorder")
1173 (synopsis
1174 "Exposes the native endianness of the system")
1175 (description
1176 "This package is for working with the native byte-ordering of the
1177system.")
1178 (license license:bsd-3)))
1179
1180(define-public ghc-bytes
1181 (package
1182 (name "ghc-bytes")
1183 (version "0.15.5")
1184 (source
1185 (origin
1186 (method url-fetch)
1187 (uri
1188 (string-append "https://hackage.haskell.org/package/bytes-"
1189 version "/bytes-"
1190 version ".tar.gz"))
1191 (file-name (string-append name "-" version ".tar.gz"))
1192 (sha256
1193 (base32
1194 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1195 (build-system haskell-build-system)
1196 (inputs `(("ghc-cereal" ,ghc-cereal)
1197 ("cabal-doctest" ,cabal-doctest)
1198 ("ghc-doctest" ,ghc-doctest)
1199 ("ghc-scientific" ,ghc-scientific)
1200 ("ghc-transformers-compat" ,ghc-transformers-compat)
1201 ("ghc-unordered-containers" ,ghc-unordered-containers)
1202 ("ghc-void" ,ghc-void)
1203 ("ghc-vector" ,ghc-vector)))
1204 (synopsis "Serialization between @code{binary} and @code{cereal}")
1205 (description "This package provides a simple compatibility shim that lets
1206you work with both @code{binary} and @code{cereal} with one chunk of
1207serialization code.")
1208 (home-page "https://hackage.haskell.org/package/bytes")
1209 (license license:bsd-3)))
1210
1211(define-public ghc-bytestring-builder
1212 (package
1213 (name "ghc-bytestring-builder")
13ac8a7f 1214 (version "0.10.8.2.0")
dddbc90c
RV
1215 (source
1216 (origin
1217 (method url-fetch)
1218 (uri (string-append
1219 "https://hackage.haskell.org/package/bytestring-builder"
1220 "/bytestring-builder-" version ".tar.gz"))
1221 (sha256
1222 (base32
13ac8a7f 1223 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1224 (build-system haskell-build-system)
1225 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1226 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1227 (synopsis "The new bytestring builder, packaged outside of GHC")
1228 (description "This package provides the bytestring builder that is
1229debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1230Compatibility package for older packages.")
1231 (license license:bsd-3)))
1232
1233(define-public ghc-bytestring-handle
1234 (package
1235 (name "ghc-bytestring-handle")
1236 (version "0.1.0.6")
1237 (source
1238 (origin
1239 (method url-fetch)
1240 (uri (string-append
1241 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1242 version ".tar.gz"))
1243 (sha256
1244 (base32
1245 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1246 (build-system haskell-build-system)
1247 (arguments
853748c4
TS
1248 `(#:cabal-revision
1249 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1250 #:phases
dddbc90c
RV
1251 (modify-phases %standard-phases
1252 (add-before 'configure 'update-constraints
1253 (lambda _
1254 (substitute* "bytestring-handle.cabal"
1255 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1256 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1257 (inputs
1258 `(("ghc-hunit" ,ghc-hunit)
1259 ("ghc-quickcheck" ,ghc-quickcheck)
1260 ("ghc-test-framework" ,ghc-test-framework)
1261 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1262 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1263 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1264 (synopsis "ByteString-backed Handles")
1265 (description "ByteString-backed Handles") ; There is no description
1266 (license license:bsd-3)))
1267
1268(define-public ghc-bytestring-lexing
1269 (package
1270 (name "ghc-bytestring-lexing")
1271 (version "0.5.0.2")
1272 (source
1273 (origin
1274 (method url-fetch)
1275 (uri (string-append "https://hackage.haskell.org/package/"
1276 "bytestring-lexing/bytestring-lexing-"
1277 version ".tar.gz"))
1278 (sha256
1279 (base32
1280 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1281 (build-system haskell-build-system)
1282 (home-page "http://code.haskell.org/~wren/")
1283 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1284 (description
1285 "This package provides tools to parse and produce literals efficiently
1286from strict or lazy bytestrings.")
1287 (license license:bsd-2)))
1288
1289(define-public ghc-bzlib-conduit
1290 (package
1291 (name "ghc-bzlib-conduit")
5fba8d6d 1292 (version "0.3.0.2")
dddbc90c
RV
1293 (source
1294 (origin
1295 (method url-fetch)
1296 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1297 "bzlib-conduit-" version ".tar.gz"))
1298 (sha256
1299 (base32
5fba8d6d 1300 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1301 (build-system haskell-build-system)
1302 (inputs
1303 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1304 ("ghc-conduit" ,ghc-conduit)
1305 ("ghc-data-default-class" ,ghc-data-default-class)
1306 ("ghc-resourcet" ,ghc-resourcet)))
1307 (native-inputs
1308 `(("ghc-hspec" ,ghc-hspec)
1309 ("ghc-random" ,ghc-random)))
1310 (home-page "https://github.com/snoyberg/bzlib-conduit")
1311 (synopsis "Streaming compression/decompression via conduits")
1312 (description
1313 "This package provides Haskell bindings to bzlib and Conduit support for
1314streaming compression and decompression.")
1315 (license license:bsd-3)))
1316
1317(define-public ghc-c2hs
1318 (package
1319 (name "ghc-c2hs")
1320 (version "0.28.6")
1321 (source
1322 (origin
1323 (method url-fetch)
1324 (uri (string-append
1325 "https://hackage.haskell.org/package/c2hs/c2hs-"
1326 version
1327 ".tar.gz"))
1328 (sha256
1329 (base32
1330 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1331 (build-system haskell-build-system)
1332 (inputs
1333 `(("ghc-language-c" ,ghc-language-c)
1334 ("ghc-dlist" ,ghc-dlist)))
1335 (native-inputs
1336 `(("ghc-test-framework" ,ghc-test-framework)
1337 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1338 ("ghc-hunit" ,ghc-hunit)
1339 ("ghc-shelly" ,ghc-shelly)
1340 ("gcc" ,gcc)))
1341 (arguments
1342 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1343 ;; of glibc 2.28.
1344 #:tests? #f
1345
1346 #:phases
1347 (modify-phases %standard-phases
1348 (add-before 'check 'set-cc
1349 ;; add a cc executable in the path, needed for some tests to pass
1350 (lambda* (#:key inputs #:allow-other-keys)
1351 (let ((gcc (assoc-ref inputs "gcc"))
1352 (tmpbin (tmpnam))
1353 (curpath (getenv "PATH")))
1354 (mkdir-p tmpbin)
1355 (symlink (which "gcc") (string-append tmpbin "/cc"))
1356 (setenv "PATH" (string-append tmpbin ":" curpath)))
1357 #t))
1358 (add-after 'check 'remove-cc
1359 ;; clean the tmp dir made in 'set-cc
1360 (lambda _
1361 (let* ((cc-path (which "cc"))
1362 (cc-dir (dirname cc-path)))
1363 (delete-file-recursively cc-dir)
1364 #t))))))
1365 (home-page "https://github.com/haskell/c2hs")
1366 (synopsis "Create Haskell bindings to C libraries")
1367 (description "C->Haskell assists in the development of Haskell bindings to
1368C libraries. It extracts interface information from C header files and
1369generates Haskell code with foreign imports and marshaling. Unlike writing
1370foreign imports by hand (or using hsc2hs), this ensures that C functions are
1371imported with the correct Haskell types.")
1372 (license license:gpl2)))
1373
1374(define-public ghc-cairo
1375 (package
1376 (name "ghc-cairo")
1377 (version "0.13.5.0")
1378 (source
1379 (origin
1380 (method url-fetch)
1381 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1382 "cairo-" version ".tar.gz"))
1383 (sha256
1384 (base32
1385 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1386 (build-system haskell-build-system)
1387 (arguments
1388 `(#:modules ((guix build haskell-build-system)
1389 (guix build utils)
1390 (ice-9 match)
1391 (srfi srfi-26))
1392 #:phases
1393 (modify-phases %standard-phases
1394 ;; FIXME: This is a copy of the standard configure phase with a tiny
1395 ;; difference: this package needs the -package-db flag to be passed
1396 ;; to "runhaskell" in addition to the "configure" action, because it
1397 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1398 ;; this option the Setup.hs file cannot be evaluated. The
1399 ;; haskell-build-system should be changed to pass "-package-db" to
1400 ;; "runhaskell" in any case.
1401 (replace 'configure
1402 (lambda* (#:key outputs inputs tests? (configure-flags '())
1403 #:allow-other-keys)
1404 (let* ((out (assoc-ref outputs "out"))
1405 (name-version (strip-store-file-name out))
1406 (input-dirs (match inputs
1407 (((_ . dir) ...)
1408 dir)
1409 (_ '())))
1410 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1411 (params (append `(,(string-append "--prefix=" out))
1412 `(,(string-append "--libdir=" out "/lib"))
1413 `(,(string-append "--bindir=" out "/bin"))
1414 `(,(string-append
1415 "--docdir=" out
1416 "/share/doc/" name-version))
1417 '("--libsubdir=$compiler/$pkg-$version")
1418 '("--package-db=../package.conf.d")
1419 '("--global")
1420 `(,@(map
1421 (cut string-append "--extra-include-dirs=" <>)
1422 (search-path-as-list '("include") input-dirs)))
1423 `(,@(map
1424 (cut string-append "--extra-lib-dirs=" <>)
1425 (search-path-as-list '("lib") input-dirs)))
1426 (if tests?
1427 '("--enable-tests")
1428 '())
1429 configure-flags)))
1430 (unsetenv "GHC_PACKAGE_PATH")
1431 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1432 "Setup.hs" "configure" params)
1433 (setenv "GHC_PACKAGE_PATH" ghc-path)
1434 #t))))))
1435 (inputs
1436 `(("ghc-utf8-string" ,ghc-utf8-string)
1437 ("cairo" ,cairo)))
1438 (native-inputs
1439 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1440 ("pkg-config" ,pkg-config)))
1441 (home-page "http://projects.haskell.org/gtk2hs/")
1442 (synopsis "Haskell bindings to the Cairo vector graphics library")
1443 (description
1444 "Cairo is a library to render high quality vector graphics. There exist
1445various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1446documents, amongst others.")
1447 (license license:bsd-3)))
1448
1449(define-public ghc-call-stack
1450 (package
1451 (name "ghc-call-stack")
1452 (version "0.1.0")
1453 (source
1454 (origin
1455 (method url-fetch)
1456 (uri (string-append "https://hackage.haskell.org/package/"
1457 "call-stack/call-stack-"
1458 version ".tar.gz"))
1459 (sha256
1460 (base32
1461 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1462 (build-system haskell-build-system)
1463 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1464 (home-page "https://github.com/sol/call-stack#readme")
1465 (synopsis "Use GHC call-stacks in a backward compatible way")
1466 (description "This package provides a compatibility layer for using GHC
1467call stacks with different versions of the compiler.")
1468 (license license:expat)))
1469
1470;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1471;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1472(define-public ghc-call-stack-boot
1473 (hidden-package
1474 (package
1475 (inherit ghc-call-stack)
1476 (arguments '(#:tests? #f))
1477 (inputs '()))))
1478
1479(define-public ghc-case-insensitive
1480 (package
1481 (name "ghc-case-insensitive")
1482 (version "1.2.0.11")
1483 (outputs '("out" "doc"))
1484 (source
1485 (origin
1486 (method url-fetch)
1487 (uri (string-append
1488 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1489 version
1490 ".tar.gz"))
1491 (sha256
1492 (base32
1493 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1494 (build-system haskell-build-system)
1495 ;; these inputs are necessary to use this library
1496 (inputs
1497 `(("ghc-hashable" ,ghc-hashable)))
1498 (arguments
1499 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1500 (home-page
1501 "https://github.com/basvandijk/case-insensitive")
1502 (synopsis "Case insensitive string comparison")
1503 (description
1504 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1505constructor which can be parameterised by a string-like type like:
1506@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1507the resulting type will be insensitive to cases.")
1508 (license license:bsd-3)))
1509
1510(define-public ghc-cereal
1511 (package
1512 (name "ghc-cereal")
bd95427e 1513 (version "0.5.8.1")
dddbc90c
RV
1514 (source
1515 (origin
1516 (method url-fetch)
1517 (uri (string-append
1518 "https://hackage.haskell.org/package/cereal/cereal-"
1519 version
1520 ".tar.gz"))
1521 (sha256
1522 (base32
bd95427e 1523 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1524 (build-system haskell-build-system)
1525 (native-inputs
1526 `(("ghc-quickcheck" ,ghc-quickcheck)
1527 ("ghc-fail" ,ghc-fail)
1528 ("ghc-test-framework" ,ghc-test-framework)
1529 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1530 (home-page "https://hackage.haskell.org/package/cereal")
1531 (synopsis "Binary serialization library")
1532 (description "This package provides a binary serialization library,
1533similar to @code{binary}, that introduces an @code{isolate} primitive for
1534parser isolation, and labeled blocks for better error messages.")
1535 (license license:bsd-3)))
1536
1537(define-public ghc-cereal-conduit
1538 (package
1539 (name "ghc-cereal-conduit")
1540 (version "0.8.0")
1541 (source
1542 (origin
1543 (method url-fetch)
1544 (uri (string-append "https://hackage.haskell.org/package/"
1545 "cereal-conduit/cereal-conduit-"
1546 version ".tar.gz"))
1547 (sha256
1548 (base32
1549 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1550 (build-system haskell-build-system)
1551 (inputs
1552 `(("ghc-conduit" ,ghc-conduit)
1553 ("ghc-resourcet" ,ghc-resourcet)
1554 ("ghc-cereal" ,ghc-cereal)))
1555 (native-inputs
1556 `(("ghc-hunit" ,ghc-hunit)))
1557 (home-page "https://github.com/snoyberg/conduit")
1558 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1559 (description
1560 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1561@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1562 (license license:bsd-3)))
1563
1564(define-public ghc-cgi
1565 (package
1566 (name "ghc-cgi")
b6b2c218 1567 (version "3001.4.0.0")
dddbc90c
RV
1568 (source
1569 (origin
1570 (method url-fetch)
1571 (uri (string-append
1572 "https://hackage.haskell.org/package/cgi/cgi-"
1573 version
1574 ".tar.gz"))
1575 (sha256
1576 (base32
b6b2c218 1577 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1578 (build-system haskell-build-system)
dddbc90c
RV
1579 (inputs
1580 `(("ghc-exceptions" ,ghc-exceptions)
1581 ("ghc-multipart" ,ghc-multipart)
1582 ("ghc-network-uri" ,ghc-network-uri)
1583 ("ghc-network" ,ghc-network)))
1584 (native-inputs
1585 `(("ghc-doctest" ,ghc-doctest)
1586 ("ghc-quickcheck" ,ghc-quickcheck)))
1587 (home-page
1588 "https://github.com/cheecheeo/haskell-cgi")
1589 (synopsis "Library for writing CGI programs")
1590 (description
1591 "This is a Haskell library for writing CGI programs.")
1592 (license license:bsd-3)))
1593
1594(define-public ghc-charset
1595 (package
1596 (name "ghc-charset")
1597 (version "0.3.7.1")
1598 (source
1599 (origin
1600 (method url-fetch)
1601 (uri (string-append
1602 "https://hackage.haskell.org/package/charset/charset-"
1603 version
1604 ".tar.gz"))
1605 (sha256
1606 (base32
1607 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1608 (build-system haskell-build-system)
35ee173c
TS
1609 (arguments
1610 `(#:cabal-revision
1611 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1612 (inputs
1613 `(("ghc-semigroups" ,ghc-semigroups)
1614 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1615 (home-page "https://github.com/ekmett/charset")
1616 (synopsis "Fast unicode character sets for Haskell")
1617 (description "This package provides fast unicode character sets for
1618Haskell, based on complemented PATRICIA tries.")
1619 (license license:bsd-3)))
1620
1621(define-public ghc-chart
1622 (package
1623 (name "ghc-chart")
6cd84b98 1624 (version "1.9.1")
dddbc90c
RV
1625 (source
1626 (origin
1627 (method url-fetch)
1628 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1629 "Chart-" version ".tar.gz"))
1630 (sha256
1631 (base32
6cd84b98 1632 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1633 (build-system haskell-build-system)
1634 (inputs
1635 `(("ghc-old-locale" ,ghc-old-locale)
1636 ("ghc-lens" ,ghc-lens)
1637 ("ghc-colour" ,ghc-colour)
1638 ("ghc-data-default-class" ,ghc-data-default-class)
1639 ("ghc-operational" ,ghc-operational)
1640 ("ghc-vector" ,ghc-vector)))
1641 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1642 (synopsis "Library for generating 2D charts and plots")
1643 (description
1644 "This package provides a library for generating 2D charts and plots, with
1645backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1646 (license license:bsd-3)))
1647
1648(define-public ghc-chart-cairo
1649 (package
1650 (name "ghc-chart-cairo")
5cf9264d 1651 (version "1.9.1")
dddbc90c
RV
1652 (source
1653 (origin
1654 (method url-fetch)
1655 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1656 "Chart-cairo-" version ".tar.gz"))
1657 (sha256
1658 (base32
5cf9264d 1659 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1660 (build-system haskell-build-system)
1661 (inputs
1662 `(("ghc-old-locale" ,ghc-old-locale)
1663 ("ghc-cairo" ,ghc-cairo)
1664 ("ghc-colour" ,ghc-colour)
1665 ("ghc-data-default-class" ,ghc-data-default-class)
1666 ("ghc-operational" ,ghc-operational)
1667 ("ghc-lens" ,ghc-lens)
1668 ("ghc-chart" ,ghc-chart)))
1669 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1670 (synopsis "Cairo backend for Charts")
1671 (description "This package provides a Cairo vector graphics rendering
1672backend for the Charts library.")
1673 (license license:bsd-3)))
1674
1675(define-public ghc-chasingbottoms
1676 (package
1677 (name "ghc-chasingbottoms")
1f67853e 1678 (version "1.3.1.7")
dddbc90c
RV
1679 (source
1680 (origin
1681 (method url-fetch)
1682 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1683 "ChasingBottoms-" version ".tar.gz"))
1684 (sha256
1685 (base32
1f67853e 1686 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1687 (build-system haskell-build-system)
1688 (inputs
1689 `(("ghc-quickcheck" ,ghc-quickcheck)
1690 ("ghc-random" ,ghc-random)
1691 ("ghc-syb" ,ghc-syb)))
1692 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1693 (synopsis "Testing of partial and infinite values in Haskell")
1694 (description
1695 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1696 ;; rendered properly.
1697 "This is a library for testing code involving bottoms or infinite values.
1698For the underlying theory and a larger example involving use of QuickCheck,
1699see the article
1700@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1701\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1702Partial and Infinite Values\"}.")
1703 (license license:expat)))
1704
1705(define-public ghc-cheapskate
1706 (package
1707 (name "ghc-cheapskate")
5e18bb9e 1708 (version "0.1.1.1")
dddbc90c
RV
1709 (source
1710 (origin
1711 (method url-fetch)
1712 (uri (string-append
1713 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1714 version
1715 ".tar.gz"))
1716 (sha256
1717 (base32
5e18bb9e 1718 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1719 (build-system haskell-build-system)
1720 (inputs
1721 `(("ghc-blaze-html" ,ghc-blaze-html)
1722 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1723 ("ghc-data-default" ,ghc-data-default)
1724 ("ghc-syb" ,ghc-syb)
1725 ("ghc-uniplate" ,ghc-uniplate)))
1726 (home-page "https://github.com/jgm/cheapskate")
1727 (synopsis "Experimental markdown processor")
1728 (description "Cheapskate is an experimental Markdown processor in pure
1729Haskell. It aims to process Markdown efficiently and in the most forgiving
1730possible way. It is designed to deal with any input, including garbage, with
1731linear performance. Output is sanitized by default for protection against
1732cross-site scripting (@dfn{XSS}) attacks.")
1733 (license license:bsd-3)))
1734
1735(define-public ghc-chell
1736 (package
1737 (name "ghc-chell")
acdd03be 1738 (version "0.5")
dddbc90c
RV
1739 (source
1740 (origin
1741 (method url-fetch)
1742 (uri (string-append
1743 "https://hackage.haskell.org/package/chell/chell-"
1744 version ".tar.gz"))
1745 (sha256
1746 (base32
acdd03be 1747 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1748 (build-system haskell-build-system)
acdd03be
TS
1749 (arguments
1750 `(#:cabal-revision
1751 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1752 (inputs
1753 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1754 ("ghc-patience" ,ghc-patience)
1755 ("ghc-random" ,ghc-random)
1756 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1757 (home-page "https://john-millikin.com/software/chell/")
1758 (synopsis "Simple and intuitive library for automated testing")
1759 (description
1760 "Chell is a simple and intuitive library for automated testing.
1761It natively supports assertion-based testing, and can use companion
1762libraries such as @code{chell-quickcheck} to support more complex
1763testing strategies.")
1764 (license license:expat)))
1765
1766(define-public ghc-chell-quickcheck
1767 (package
1768 (name "ghc-chell-quickcheck")
e0e21831 1769 (version "0.2.5.2")
dddbc90c
RV
1770 (source
1771 (origin
1772 (method url-fetch)
1773 (uri (string-append
1774 "https://hackage.haskell.org/package/chell-quickcheck/"
1775 "chell-quickcheck-" version ".tar.gz"))
1776 (sha256
1777 (base32
e0e21831 1778 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1779 (build-system haskell-build-system)
1780 (arguments
1781 `(#:phases
1782 (modify-phases %standard-phases
1783 (add-before 'configure 'update-constraints
1784 (lambda _
1785 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1786 (("QuickCheck >= 2\\.3 && < 2\\.13")
1787 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1788 (inputs
1789 `(("ghc-chell" ,ghc-chell)
1790 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1791 ("ghc-random" ,ghc-random)
1792 ("ghc-quickcheck" ,ghc-quickcheck)))
1793 (home-page "https://john-millikin.com/software/chell/")
1794 (synopsis "QuickCheck support for the Chell testing library")
1795 (description "More complex tests for @code{chell}.")
1796 (license license:expat)))
1797
1798(define ghc-chell-quickcheck-bootstrap
1799 (package
1800 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1801 (version "0.2.5.2")
dddbc90c
RV
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://hackage.haskell.org/package/chell-quickcheck/"
1807 "chell-quickcheck-" version ".tar.gz"))
1808 (sha256
1809 (base32
e0e21831 1810 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1811 (build-system haskell-build-system)
1812 (inputs
1813 `(("ghc-chell" ,ghc-chell)
1814 ("ghc-random" ,ghc-random)
1815 ("ghc-quickcheck" ,ghc-quickcheck)))
1816 (arguments
1817 `(#:tests? #f
1818 #:phases
1819 (modify-phases %standard-phases
1820 (add-before 'configure 'update-constraints
1821 (lambda _
1822 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1823 (("QuickCheck >= 2\\.3 && < 2\\.13")
1824 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1825 (home-page "https://john-millikin.com/software/chell/")
1826 (synopsis "QuickCheck support for the Chell testing library")
1827 (description "More complex tests for @code{chell}.")
1828 (license license:expat)))
1829
1830(define-public ghc-chunked-data
1831 (package
1832 (name "ghc-chunked-data")
1833 (version "0.3.1")
1834 (source
1835 (origin
1836 (method url-fetch)
1837 (uri (string-append "https://hackage.haskell.org/package/"
1838 "chunked-data-" version "/"
1839 "chunked-data-" version ".tar.gz"))
1840 (sha256
1841 (base32
1842 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1843 (build-system haskell-build-system)
1844 (inputs `(("ghc-vector" ,ghc-vector)
1845 ("ghc-semigroups" ,ghc-semigroups)))
1846 (home-page "https://github.com/snoyberg/mono-traversable")
1847 (synopsis "Typeclasses for dealing with various chunked data
1848representations for Haskell")
1849 (description "This Haskell package was originally present in
1850classy-prelude.")
1851 (license license:expat)))
1852
1853(define-public ghc-clock
1854 (package
1855 (name "ghc-clock")
0841b6f2 1856 (version "0.8")
dddbc90c
RV
1857 (source
1858 (origin
1859 (method url-fetch)
1860 (uri (string-append
1861 "https://hackage.haskell.org/package/"
1862 "clock/"
1863 "clock-" version ".tar.gz"))
1864 (sha256
0841b6f2 1865 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1866 (build-system haskell-build-system)
1867 (inputs
1868 `(("ghc-tasty" ,ghc-tasty)
1869 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1870 (home-page "https://hackage.haskell.org/package/clock")
1871 (synopsis "High-resolution clock for Haskell")
1872 (description "A package for convenient access to high-resolution clock and
1873timer functions of different operating systems via a unified API.")
1874 (license license:bsd-3)))
1875
1876;; This package builds `clock` without tests, since the tests rely on tasty
1877;; and tasty-quickcheck, which in turn require clock to build.
1878(define-public ghc-clock-bootstrap
1879 (package
1880 (inherit ghc-clock)
1881 (name "ghc-clock-bootstrap")
1882 (arguments '(#:tests? #f))
1883 (inputs '())
1884 (properties '((hidden? #t)))))
1885
1886(define-public ghc-cmark
1887 (package
1888 (name "ghc-cmark")
6bdd36c0 1889 (version "0.6")
dddbc90c
RV
1890 (source (origin
1891 (method url-fetch)
6bdd36c0 1892 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1893 ;; See cbits/cmark_version.h.
1894 (uri (string-append "https://hackage.haskell.org/package/"
1895 "cmark/cmark-" version ".tar.gz"))
1896 (sha256
1897 (base32
6bdd36c0 1898 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1899 (build-system haskell-build-system)
1900 (native-inputs
1901 `(("ghc-hunit" ,ghc-hunit)))
1902 (home-page "https://github.com/jgm/commonmark-hs")
1903 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1904 (description
1905 "This package provides Haskell bindings for
1906@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1907CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1908sources, and does not require prior installation of the C library.")
1909 (license license:bsd-3)))
1910
1911(define-public ghc-cmark-gfm
1912 (package
1913 (name "ghc-cmark-gfm")
24fc8dae 1914 (version "0.2.0")
dddbc90c
RV
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append "https://hackage.haskell.org/package/"
1919 "cmark-gfm/cmark-gfm-"
1920 version ".tar.gz"))
1921 (sha256
1922 (base32
24fc8dae 1923 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1924 (build-system haskell-build-system)
1925 (native-inputs
1926 `(("ghc-hunit" ,ghc-hunit)))
1927 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1928 (synopsis
1929 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1930 (description
1931 "This package provides Haskell bindings for libcmark-gfm, the reference
1932parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1933It includes sources for libcmark-gfm and does not require prior installation
1934of the C library.")
1935 (license license:bsd-3)))
1936
1937(define-public ghc-cmdargs
1938 (package
1939 (name "ghc-cmdargs")
1940 (version "0.10.20")
1941 (source
1942 (origin
1943 (method url-fetch)
1944 (uri (string-append
1945 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1946 version ".tar.gz"))
1947 (sha256
1948 (base32
1949 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1950 (build-system haskell-build-system)
1951 (home-page
1952 "http://community.haskell.org/~ndm/cmdargs/")
1953 (synopsis "Command line argument processing")
1954 (description
1955 "This library provides an easy way to define command line parsers.")
1956 (license license:bsd-3)))
1957
1958(define-public ghc-code-page
1959 (package
1960 (name "ghc-code-page")
f6bb6519 1961 (version "0.2")
dddbc90c
RV
1962 (source
1963 (origin
1964 (method url-fetch)
1965 (uri (string-append
1966 "https://hackage.haskell.org/package/code-page/code-page-"
1967 version ".tar.gz"))
1968 (sha256
1969 (base32
f6bb6519 1970 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1971 (build-system haskell-build-system)
1972 (home-page "https://github.com/RyanGlScott/code-page")
1973 (synopsis "Windows code page library for Haskell")
1974 (description "A cross-platform library with functions for adjusting
1975code pages on Windows. On all other operating systems, the library does
1976nothing.")
1977 (license license:bsd-3)))
1978
1979(define-public ghc-colour
1980(package
1981 (name "ghc-colour")
bc9d1af9 1982 (version "2.3.5")
dddbc90c
RV
1983 (source
1984 (origin
1985 (method url-fetch)
1986 (uri (string-append
1987 "https://hackage.haskell.org/package/colour/colour-"
1988 version ".tar.gz"))
1989 (sha256
1990 (base32
bc9d1af9 1991 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1992 (arguments
1993 ;; The tests for this package have the following dependency cycle:
1994 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1995 `(#:tests? #f))
1996 (build-system haskell-build-system)
1997 (home-page "https://www.haskell.org/haskellwiki/Colour")
1998 (synopsis "Model for human colour perception")
1999 (description
2000 "This package provides a data type for colours and transparency.
2001Colours can be blended and composed. Various colour spaces are
2002supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2003 (license license:expat)))
2004
2005(define-public ghc-comonad
2006 (package
2007 (name "ghc-comonad")
1a825512 2008 (version "5.0.5")
dddbc90c
RV
2009 (source
2010 (origin
2011 (method url-fetch)
2012 (uri (string-append
2013 "https://hackage.haskell.org/package/comonad/comonad-"
2014 version
2015 ".tar.gz"))
2016 (sha256
2017 (base32
1a825512 2018 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2019 (build-system haskell-build-system)
2020 (native-inputs
2021 `(("cabal-doctest" ,cabal-doctest)
2022 ("ghc-doctest" ,ghc-doctest)))
2023 (inputs
2024 `(("ghc-contravariant" ,ghc-contravariant)
2025 ("ghc-distributive" ,ghc-distributive)
2026 ("ghc-semigroups" ,ghc-semigroups)
2027 ("ghc-tagged" ,ghc-tagged)
2028 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2029 (home-page "https://github.com/ekmett/comonad/")
2030 (synopsis "Comonads for Haskell")
2031 (description "This library provides @code{Comonad}s for Haskell.")
2032 (license license:bsd-3)))
2033
2034(define-public ghc-concatenative
2035 (package
2036 (name "ghc-concatenative")
2037 (version "1.0.1")
2038 (source (origin
2039 (method url-fetch)
2040 (uri (string-append
2041 "https://hackage.haskell.org/package/concatenative/concatenative-"
2042 version ".tar.gz"))
2043 (sha256
2044 (base32
2045 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2046 (build-system haskell-build-system)
2047 (home-page
2048 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2049 (synopsis "Library for postfix control flow")
2050 (description
2051 "Concatenative gives Haskell Factor-style combinators and arrows for
2052postfix notation. For more information on stack based languages, see
2053@uref{https://concatenative.org}.")
2054 (license license:bsd-3)))
2055
2056(define-public ghc-concurrent-extra
2057 (package
2058 (name "ghc-concurrent-extra")
2059 (version "0.7.0.12")
2060 (source
2061 (origin
2062 (method url-fetch)
2063 (uri (string-append "https://hackage.haskell.org/package/"
2064 "concurrent-extra/concurrent-extra-"
2065 version ".tar.gz"))
2066 (sha256
2067 (base32
2068 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2069 (build-system haskell-build-system)
2070 (arguments
2071 ;; XXX: The ReadWriteLock 'stressTest' fails.
2072 `(#:tests? #f))
2073 (inputs
2074 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2075 (native-inputs
2076 `(("ghc-async" ,ghc-async)
2077 ("ghc-hunit" ,ghc-hunit)
2078 ("ghc-random" ,ghc-random)
2079 ("ghc-test-framework" ,ghc-test-framework)
2080 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2081 (home-page "https://github.com/basvandijk/concurrent-extra")
2082 (synopsis "Extra concurrency primitives")
2083 (description "This Haskell library offers (among other things) the
2084following selection of synchronisation primitives:
2085
2086@itemize
2087@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2088@item @code{Event}: Wake multiple threads by signalling an event.
2089@item @code{Lock}: Enforce exclusive access to a resource. Also known
2090as a binary semaphore or mutex. The package additionally provides an
2091alternative that works in the STM monad.
2092@item @code{RLock}: A lock which can be acquired multiple times by the
2093same thread. Also known as a reentrant mutex.
2094@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2095to protect shared resources which may be concurrently read, but only
2096sequentially written.
2097@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2098@end itemize
2099
2100Please consult the API documentation of the individual modules for more
2101detailed information.
2102
2103This package was inspired by the concurrency libraries of Java and
2104Python.")
2105 (license license:bsd-3)))
2106
2107(define-public ghc-concurrent-output
2108 (package
2109 (name "ghc-concurrent-output")
4fce0a4a 2110 (version "1.10.11")
dddbc90c
RV
2111 (source
2112 (origin
2113 (method url-fetch)
2114 (uri (string-append
2115 "mirror://hackage/package/concurrent-output/concurrent-output-"
2116 version
2117 ".tar.gz"))
2118 (sha256
2119 (base32
4fce0a4a 2120 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2121 (build-system haskell-build-system)
2122 (inputs
2123 `(("ghc-async" ,ghc-async)
2124 ("ghc-exceptions" ,ghc-exceptions)
2125 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2126 ("ghc-terminal-size" ,ghc-terminal-size)))
2127 (home-page
2128 "https://hackage.haskell.org/package/concurrent-output")
2129 (synopsis
2130 "Ungarble output from several threads or commands")
2131 (description
2132 "Lets multiple threads and external processes concurrently output to the
2133console, without it getting all garbled up.
2134
2135Built on top of that is a way of defining multiple output regions, which are
2136automatically laid out on the screen and can be individually updated by
2137concurrent threads. Can be used for progress displays etc.")
2138 (license license:bsd-2)))
2139
2140(define-public ghc-conduit
2141 (package
2142 (name "ghc-conduit")
1ac981d4 2143 (version "1.3.1.1")
dddbc90c
RV
2144 (source (origin
2145 (method url-fetch)
2146 (uri (string-append "https://hackage.haskell.org/package/"
2147 "conduit/conduit-" version ".tar.gz"))
2148 (sha256
2149 (base32
1ac981d4 2150 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2151 (build-system haskell-build-system)
2152 (inputs
2153 `(("ghc-exceptions" ,ghc-exceptions)
2154 ("ghc-lifted-base" ,ghc-lifted-base)
2155 ("ghc-mono-traversable" ,ghc-mono-traversable)
2156 ("ghc-mmorph" ,ghc-mmorph)
2157 ("ghc-resourcet" ,ghc-resourcet)
2158 ("ghc-silently" ,ghc-silently)
2159 ("ghc-transformers-base" ,ghc-transformers-base)
2160 ("ghc-unliftio" ,ghc-unliftio)
2161 ("ghc-unliftio-core" ,ghc-unliftio-core)
2162 ("ghc-vector" ,ghc-vector)
2163 ("ghc-void" ,ghc-void)))
2164 (native-inputs
2165 `(("ghc-quickcheck" ,ghc-quickcheck)
2166 ("ghc-hspec" ,ghc-hspec)
2167 ("ghc-safe" ,ghc-safe)
2168 ("ghc-split" ,ghc-split)))
2169 (home-page "https://github.com/snoyberg/conduit")
2170 (synopsis "Streaming data library ")
2171 (description
2172 "The conduit package is a solution to the streaming data problem,
2173allowing for production, transformation, and consumption of streams of data
2174in constant memory. It is an alternative to lazy I/O which guarantees
2175deterministic resource handling, and fits in the same general solution
2176space as enumerator/iteratee and pipes.")
2177 (license license:expat)))
2178
2179(define-public ghc-conduit-algorithms
2180 (package
2181 (name "ghc-conduit-algorithms")
503b74ae 2182 (version "0.0.11.0")
dddbc90c
RV
2183 (source
2184 (origin
2185 (method url-fetch)
2186 (uri (string-append "https://hackage.haskell.org/package/"
2187 "conduit-algorithms/conduit-algorithms-"
2188 version ".tar.gz"))
2189 (sha256
2190 (base32
503b74ae 2191 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2192 (build-system haskell-build-system)
2193 (inputs
2194 `(("ghc-async" ,ghc-async)
2195 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2196 ("ghc-conduit" ,ghc-conduit)
2197 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2198 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2199 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2200 ("ghc-exceptions" ,ghc-exceptions)
2201 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2202 ("ghc-monad-control" ,ghc-monad-control)
2203 ("ghc-pqueue" ,ghc-pqueue)
2204 ("ghc-resourcet" ,ghc-resourcet)
2205 ("ghc-stm-conduit" ,ghc-stm-conduit)
2206 ("ghc-streaming-commons" ,ghc-streaming-commons)
2207 ("ghc-unliftio-core" ,ghc-unliftio-core)
2208 ("ghc-vector" ,ghc-vector)))
2209 (native-inputs
2210 `(("ghc-hunit" ,ghc-hunit)
2211 ("ghc-test-framework" ,ghc-test-framework)
2212 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2213 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2214 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2215 (synopsis "Conduit-based algorithms")
2216 (description
2217 "This package provides algorithms on @code{Conduits}, including higher
2218level asynchronous processing and some other utilities.")
2219 (license license:expat)))
2220
2221(define-public ghc-conduit-combinators
2222 (package
2223 (name "ghc-conduit-combinators")
2224 (version "1.3.0")
2225 (source
2226 (origin
2227 (method url-fetch)
2228 (uri (string-append "https://hackage.haskell.org/package/"
2229 "conduit-combinators-" version "/"
2230 "conduit-combinators-" version ".tar.gz"))
2231 (sha256
2232 (base32
2233 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2234 (build-system haskell-build-system)
2235 (inputs `(("ghc-conduit" ,ghc-conduit)
2236 ("ghc-conduit-extra" ,ghc-conduit-extra)
2237 ("ghc-transformers-base" ,ghc-transformers-base)
2238 ("ghc-primitive" ,ghc-primitive)
2239 ("ghc-vector" ,ghc-vector)
2240 ("ghc-void" ,ghc-void)
2241 ("ghc-mwc-random" ,ghc-mwc-random)
2242 ("ghc-unix-compat" ,ghc-unix-compat)
2243 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2244 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2245 ("ghc-resourcet" ,ghc-resourcet)
2246 ("ghc-monad-control" ,ghc-monad-control)
2247 ("ghc-chunked-data" ,ghc-chunked-data)
2248 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2249 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2250 ("ghc-silently" ,ghc-silently)
2251 ("ghc-safe" ,ghc-safe)
2252 ("ghc-quickcheck" ,ghc-quickcheck)))
2253 (home-page "https://github.com/snoyberg/mono-traversable")
2254 (synopsis "Commonly used conduit functions, for both chunked and
2255unchunked data")
2256 (description "This Haskell package provides a replacement for Data.Conduit.List,
2257as well as a convenient Conduit module.")
2258 (license license:expat)))
2259
2260(define-public ghc-conduit-extra
2261 (package
2262 (name "ghc-conduit-extra")
151774d9 2263 (version "1.3.4")
dddbc90c
RV
2264 (source
2265 (origin
2266 (method url-fetch)
2267 (uri (string-append "https://hackage.haskell.org/package/"
2268 "conduit-extra/conduit-extra-"
2269 version ".tar.gz"))
2270 (sha256
2271 (base32
151774d9 2272 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2273 (build-system haskell-build-system)
2274 (inputs
2275 `(("ghc-conduit" ,ghc-conduit)
2276 ("ghc-exceptions" ,ghc-exceptions)
2277 ("ghc-monad-control" ,ghc-monad-control)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-typed-process" ,ghc-typed-process)
2280 ("ghc-async" ,ghc-async)
2281 ("ghc-attoparsec" ,ghc-attoparsec)
2282 ("ghc-blaze-builder" ,ghc-blaze-builder)
2283 ("ghc-network" ,ghc-network)
2284 ("ghc-primitive" ,ghc-primitive)
2285 ("ghc-resourcet" ,ghc-resourcet)
2286 ("ghc-streaming-commons" ,ghc-streaming-commons)
2287 ("ghc-hspec" ,ghc-hspec)
2288 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2289 ("ghc-quickcheck" ,ghc-quickcheck)))
2290 (native-inputs
2291 `(("hspec-discover" ,hspec-discover)))
2292 (home-page "https://github.com/snoyberg/conduit")
2293 (synopsis "Conduit adapters for common libraries")
2294 (description
2295 "The @code{conduit} package itself maintains relative small dependencies.
2296The purpose of this package is to collect commonly used utility functions
2297wrapping other library dependencies, without depending on heavier-weight
2298dependencies. The basic idea is that this package should only depend on
2299@code{haskell-platform} packages and @code{conduit}.")
2300 (license license:expat)))
2301
b59c3518
TS
2302(define-public ghc-conduit-zstd
2303 (package
2304 (name "ghc-conduit-zstd")
2305 (version "0.0.1.1")
2306 (source
2307 (origin
2308 (method url-fetch)
2309 (uri (string-append "https://hackage.haskell.org/package/"
2310 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2311 (sha256
2312 (base32
2313 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2314 (build-system haskell-build-system)
2315 (inputs
2316 `(("ghc-conduit" ,ghc-conduit)
2317 ("ghc-zstd" ,ghc-zstd)))
2318 (native-inputs
2319 `(("ghc-hunit" ,ghc-hunit)
2320 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2321 ("ghc-conduit-extra" ,ghc-conduit-extra)
2322 ("ghc-test-framework" ,ghc-test-framework)
2323 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2324 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2325 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2326 (synopsis "Conduit-based ZStd Compression")
2327 (description "Zstandard compression packaged as a conduit. This is
2328a very thin wrapper around the
2329@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2330interface}.")
2331 (license license:expat)))
2332
dddbc90c
RV
2333(define-public ghc-configurator
2334 (package
2335 (name "ghc-configurator")
2336 (version "0.3.0.0")
2337 (source
2338 (origin
2339 (method url-fetch)
2340 (uri (string-append "https://hackage.haskell.org/package/"
2341 "configurator/configurator-"
2342 version ".tar.gz"))
2343 (sha256
2344 (base32
2345 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2346 (build-system haskell-build-system)
2347 (inputs
2348 `(("ghc-attoparsec" ,ghc-attoparsec)
2349 ("ghc-hashable" ,ghc-hashable)
2350 ("ghc-unix-compat" ,ghc-unix-compat)
2351 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2352 (native-inputs
2353 `(("ghc-hunit" ,ghc-hunit)
2354 ("ghc-test-framework" ,ghc-test-framework)
2355 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2356 (home-page "http://github.com/bos/configurator")
2357 (synopsis "Configuration management")
2358 (description
2359 "This package provides a configuration management library for programs
2360and daemons. The features include:
2361
2362@enumerate
2363@item Automatic, dynamic reloading in response to modifications to
2364 configuration files.
2365@item A simple, but flexible, configuration language, supporting several of
2366 the most commonly needed types of data, along with interpolation of strings
2367 from the configuration or the system environment (e.g. @code{$(HOME)}).
2368@item Subscription-based notification of changes to configuration properties.
2369@item An @code{import} directive allows the configuration of a complex
2370 application to be split across several smaller files, or common configuration
2371 data to be shared across several applications.
2372@end enumerate\n")
2373 (license license:bsd-3)))
2374
2375(define-public ghc-connection
2376 (package
2377 (name "ghc-connection")
6ee0d258 2378 (version "0.3.1")
dddbc90c
RV
2379 (source (origin
2380 (method url-fetch)
2381 (uri (string-append "https://hackage.haskell.org/package/"
2382 "connection/connection-"
2383 version ".tar.gz"))
2384 (sha256
2385 (base32
6ee0d258 2386 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2387 (build-system haskell-build-system)
2388 (inputs
2389 `(("ghc-byteable" ,ghc-byteable)
2390 ("ghc-data-default-class" ,ghc-data-default-class)
2391 ("ghc-network" ,ghc-network)
2392 ("ghc-tls" ,ghc-tls)
2393 ("ghc-socks" ,ghc-socks)
2394 ("ghc-x509" ,ghc-x509)
2395 ("ghc-x509-store" ,ghc-x509-store)
2396 ("ghc-x509-system" ,ghc-x509-system)
2397 ("ghc-x509-validation" ,ghc-x509-validation)))
2398 (home-page "https://github.com/vincenthz/hs-connection")
2399 (synopsis "Simple and easy network connections API")
2400 (description
2401 "This package provides a simple network library for all your connection
2402needs. It provides a very simple API to create sockets to a destination with
2403the choice of SSL/TLS, and SOCKS.")
2404 (license license:bsd-3)))
2405
2406(define-public ghc-constraints
2407 (package
2408 (name "ghc-constraints")
2409 (version "0.10.1")
2410 (source
2411 (origin
2412 (method url-fetch)
2413 (uri (string-append
2414 "https://hackage.haskell.org/package/constraints/constraints-"
2415 version ".tar.gz"))
2416 (sha256
2417 (base32
2418 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2419 (build-system haskell-build-system)
2420 (inputs
2421 `(("ghc-hashable" ,ghc-hashable)
2422 ("ghc-semigroups" ,ghc-semigroups)
2423 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2424 (native-inputs
2425 `(("ghc-hspec" ,ghc-hspec)
2426 ("hspec-discover" ,hspec-discover)))
2427 (home-page "https://github.com/ekmett/constraints/")
2428 (synopsis "Constraint manipulation")
2429 (description
2430 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2431They stopped crashing the compiler in GHC 7.6. This package provides
2432a vocabulary for working with them.")
2433 (license license:bsd-3)))
2434
2435(define-public ghc-contravariant
2436 (package
2437 (name "ghc-contravariant")
e7b35ff0 2438 (version "1.5.2")
dddbc90c
RV
2439 (source
2440 (origin
2441 (method url-fetch)
2442 (uri (string-append
2443 "https://hackage.haskell.org/package/contravariant/contravariant-"
2444 version
2445 ".tar.gz"))
2446 (sha256
2447 (base32
e7b35ff0 2448 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2449 (build-system haskell-build-system)
2450 (inputs
2451 `(("ghc-void" ,ghc-void)
2452 ("ghc-transformers-compat" ,ghc-transformers-compat)
2453 ("ghc-statevar" ,ghc-statevar)
2454 ("ghc-semigroups" ,ghc-semigroups)))
2455 (home-page
2456 "https://github.com/ekmett/contravariant/")
2457 (synopsis "Contravariant functors")
2458 (description "Contravariant functors for Haskell.")
2459 (license license:bsd-3)))
2460
2461(define-public ghc-contravariant-extras
2462 (package
2463 (name "ghc-contravariant-extras")
2464 (version "0.3.4")
2465 (source
2466 (origin
2467 (method url-fetch)
2468 (uri (string-append "https://hackage.haskell.org/package/"
2469 "contravariant-extras-" version "/"
2470 "contravariant-extras-" version ".tar.gz"))
2471 (sha256
2472 (base32
2473 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2474 (build-system haskell-build-system)
f3aca086
TS
2475 (arguments
2476 `(#:cabal-revision
2477 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2478 (inputs
2479 `(("ghc-tuple-th" ,ghc-tuple-th)
2480 ("ghc-contravariant" ,ghc-contravariant)
2481 ("ghc-base-prelude" ,ghc-base-prelude)
2482 ("ghc-semigroups" ,ghc-semigroups)))
2483 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2484 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2485 (description "This Haskell package provides extras for the
2486@code{ghc-contravariant} package.")
2487 (license license:expat)))
2488
2489(define-public ghc-convertible
2490 (package
2491 (name "ghc-convertible")
2492 (version "1.1.1.0")
2493 (source
2494 (origin
2495 (method url-fetch)
2496 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2497 "convertible-" version ".tar.gz"))
2498 (sha256
2499 (base32
2500 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2501 (build-system haskell-build-system)
2502 (inputs
2503 `(("ghc-old-time" ,ghc-old-time)
2504 ("ghc-old-locale" ,ghc-old-locale)))
2505 (home-page "https://hackage.haskell.org/package/convertible")
2506 (synopsis "Typeclasses and instances for converting between types")
2507 (description
2508 "This package provides a typeclass with a single function that is
2509designed to help convert between different types: numeric values, dates and
2510times, and the like. The conversions perform bounds checking and return a
2511pure @code{Either} value. This means that you need not remember which specific
2512function performs the conversion you desire.")
2513 (license license:bsd-3)))
2514
2515(define-public ghc-data-accessor
2516 (package
2517 (name "ghc-data-accessor")
6dcca515 2518 (version "0.2.2.8")
dddbc90c
RV
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append
2523 "mirror://hackage/package/data-accessor/data-accessor-"
2524 version ".tar.gz"))
2525 (sha256
6dcca515 2526 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2527 (build-system haskell-build-system)
2528 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2529 (synopsis
2530 "Haskell utilities for accessing and manipulating fields of records")
2531 (description "This package provides Haskell modules for accessing and
2532manipulating fields of records.")
2533 (license license:bsd-3)))
2534
2535(define-public ghc-data-accessor-transformers
2536 (package
2537 (name "ghc-data-accessor-transformers")
2538 (version "0.2.1.7")
2539 (source
2540 (origin
2541 (method url-fetch)
2542 (uri (string-append
2543 "mirror://hackage/package/data-accessor-transformers/"
2544 "data-accessor-transformers-" version ".tar.gz"))
2545 (sha256
2546 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2547 (build-system haskell-build-system)
2548 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2549 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2550 (synopsis "Use Accessor to access state in transformers State monad")
2551 (description "This package provides Haskell modules to allow use of
2552Accessor to access state in transformers State monad.")
2553 (license license:bsd-3)))
2554
2555(define-public ghc-data-default
2556 (package
2557 (name "ghc-data-default")
2558 (version "0.7.1.1")
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/data-default/data-default-"
2564 version
2565 ".tar.gz"))
2566 (sha256
2567 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-data-default-class"
2571 ,ghc-data-default-class)
2572 ("ghc-data-default-instances-base"
2573 ,ghc-data-default-instances-base)
2574 ("ghc-data-default-instances-containers"
2575 ,ghc-data-default-instances-containers)
2576 ("ghc-data-default-instances-dlist"
2577 ,ghc-data-default-instances-dlist)
2578 ("ghc-data-default-instances-old-locale"
2579 ,ghc-data-default-instances-old-locale)))
2580 (home-page "https://hackage.haskell.org/package/data-default")
2581 (synopsis "Types with default values")
2582 (description
2583 "This package defines a class for types with a default value, and
2584provides instances for types from the base, containers, dlist and old-locale
2585packages.")
2586 (license license:bsd-3)))
2587
2588(define-public ghc-data-default-class
2589 (package
2590 (name "ghc-data-default-class")
2591 (version "0.1.2.0")
2592 (source
2593 (origin
2594 (method url-fetch)
2595 (uri (string-append
2596 "https://hackage.haskell.org/package/data-default-class/"
2597 "data-default-class-" version ".tar.gz"))
2598 (sha256
2599 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2600 (build-system haskell-build-system)
2601 (home-page "https://hackage.haskell.org/package/data-default-class")
2602 (synopsis "Types with default values")
2603 (description
2604 "This package defines a class for types with default values.")
2605 (license license:bsd-3)))
2606
2607(define-public ghc-data-default-instances-base
2608 (package
2609 (name "ghc-data-default-instances-base")
2610 (version "0.1.0.1")
2611 (source
2612 (origin
2613 (method url-fetch)
2614 (uri (string-append
2615 "https://hackage.haskell.org/package/"
2616 "data-default-instances-base/"
2617 "data-default-instances-base-" version ".tar.gz"))
2618 (sha256
2619 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-data-default-class" ,ghc-data-default-class)))
2623 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2624 (synopsis "Default instances for types in base")
2625 (description
2626 "This package provides default instances for types from the base
2627package.")
2628 (license license:bsd-3)))
2629
2630(define-public ghc-data-default-instances-containers
2631 (package
2632 (name "ghc-data-default-instances-containers")
2633 (version "0.0.1")
2634 (source
2635 (origin
2636 (method url-fetch)
2637 (uri (string-append
2638 "https://hackage.haskell.org/package/"
2639 "data-default-instances-containers/"
2640 "data-default-instances-containers-" version ".tar.gz"))
2641 (sha256
2642 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2643 (build-system haskell-build-system)
2644 (inputs
2645 `(("ghc-data-default-class" ,ghc-data-default-class)))
2646 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2647 (synopsis "Default instances for types in containers")
2648 (description "Provides default instances for types from the containers
2649package.")
2650 (license license:bsd-3)))
2651
2652(define-public ghc-data-default-instances-dlist
2653 (package
2654 (name "ghc-data-default-instances-dlist")
2655 (version "0.0.1")
2656 (source
2657 (origin
2658 (method url-fetch)
2659 (uri (string-append
2660 "https://hackage.haskell.org/package/"
2661 "data-default-instances-dlist/"
2662 "data-default-instances-dlist-" version ".tar.gz"))
2663 (sha256
2664 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2665 (build-system haskell-build-system)
2666 (inputs
2667 `(("ghc-data-default-class" ,ghc-data-default-class)
2668 ("ghc-dlist" ,ghc-dlist)))
2669 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2670 (synopsis "Default instances for types in dlist")
2671 (description "Provides default instances for types from the dlist
2672package.")
2673 (license license:bsd-3)))
2674
2675(define-public ghc-data-default-instances-old-locale
2676 (package
2677 (name "ghc-data-default-instances-old-locale")
2678 (version "0.0.1")
2679 (source
2680 (origin
2681 (method url-fetch)
2682 (uri (string-append
2683 "https://hackage.haskell.org/package/"
2684 "data-default-instances-old-locale/"
2685 "data-default-instances-old-locale-" version ".tar.gz"))
2686 (sha256
2687 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2688 (build-system haskell-build-system)
2689 (inputs
2690 `(("ghc-data-default-class" ,ghc-data-default-class)
2691 ("ghc-old-locale" ,ghc-old-locale)))
2692 (home-page
2693 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2694 (synopsis "Default instances for types in old-locale")
2695 (description "Provides Default instances for types from the old-locale
2696 package.")
2697 (license license:bsd-3)))
2698
2699(define-public ghc-data-hash
2700 (package
2701 (name "ghc-data-hash")
2702 (version "0.2.0.1")
2703 (source
2704 (origin
2705 (method url-fetch)
2706 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2707 "/data-hash-" version ".tar.gz"))
2708 (sha256
2709 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2710 (build-system haskell-build-system)
2711 (inputs
2712 `(("ghc-quickcheck" ,ghc-quickcheck)
2713 ("ghc-test-framework" ,ghc-test-framework)
2714 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2715 (home-page "https://hackage.haskell.org/package/data-hash")
2716 (synopsis "Combinators for building fast hashing functions")
2717 (description
2718 "This package provides combinators for building fast hashing functions.
2719It includes hashing functions for all basic Haskell98 types.")
2720 (license license:bsd-3)))
2721
2722(define-public ghc-data-ordlist
2723 (package
2724 (name "ghc-data-ordlist")
2725 (version "0.4.7.0")
2726 (source
2727 (origin
2728 (method url-fetch)
2729 (uri (string-append
2730 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2731 version ".tar.gz"))
2732 (sha256
2733 (base32
2734 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2735 (build-system haskell-build-system)
2736 (home-page "https://hackage.haskell.org/package/data-ordlist")
2737 (synopsis "Set and bag operations on ordered lists")
2738 (description
2739 "This module provides set and multiset operations on ordered lists.")
2740 (license license:bsd-3)))
2741
d05f32d6
JS
2742(define-public ghc-dbus
2743 (package
2744 (name "ghc-dbus")
2745 (version "1.2.7")
2746 (source
2747 (origin
2748 (method url-fetch)
2749 (uri
2750 (string-append
2751 "mirror://hackage/package/dbus/dbus-"
2752 version ".tar.gz"))
2753 (sha256
2754 (base32
2755 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2756 (build-system haskell-build-system)
2757 (inputs
2758 `(("ghc-cereal" ,ghc-cereal)
2759 ("ghc-conduit" ,ghc-conduit)
2760 ("ghc-exceptions" ,ghc-exceptions)
2761 ("ghc-lens" ,ghc-lens)
2762 ("ghc-network" ,ghc-network)
2763 ("ghc-random" ,ghc-random)
2764 ("ghc-split" ,ghc-split)
2765 ("ghc-th-lift" ,ghc-th-lift)
2766 ("ghc-vector" ,ghc-vector)
2767 ("ghc-xml-conduit" ,ghc-xml-conduit)
2768 ("ghc-xml-types" ,ghc-xml-types)))
2769 (native-inputs
2770 `(("ghc-extra" ,ghc-extra)
2771 ("ghc-quickcheck" ,ghc-quickcheck)
2772 ("ghc-resourcet" ,ghc-resourcet)
2773 ("ghc-tasty" ,ghc-tasty)
2774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2776 ;; FIXME - Some tests try to talk to network.
2777 (arguments `(#:tests? #f))
2778 (home-page "https://github.com/rblaze/haskell-dbus")
2779 (synopsis "Client library for the D-Bus IPC system")
2780 (description
2781 "D-Bus is a simple, message-based protocol for inter-process
2782communication, which allows applications to interact with other parts
2783of the machine and the user's session using remote procedure
2784calls. D-Bus is a essential part of the modern Linux desktop, where
2785it replaces earlier protocols such as CORBA and DCOP. This library
2786is an implementation of the D-Bus protocol in Haskell. It can be used
2787to add D-Bus support to Haskell applications, without the awkward
2788interfaces common to foreign bindings.")
2789 (license license:asl2.0)))
2790
dddbc90c
RV
2791(define-public ghc-deepseq-generics
2792 (package
2793 (name "ghc-deepseq-generics")
2794 (version "0.2.0.0")
2795 (source (origin
2796 (method url-fetch)
2797 (uri (string-append "https://hackage.haskell.org/package/"
2798 "deepseq-generics/deepseq-generics-"
2799 version ".tar.gz"))
2800 (sha256
2801 (base32
2802 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2803 (build-system haskell-build-system)
2804 (arguments
2805 `(#:cabal-revision
490ceae4 2806 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2807 (native-inputs
2808 `(("ghc-hunit" ,ghc-hunit)
2809 ("ghc-test-framework" ,ghc-test-framework)
2810 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2811 (home-page "https://github.com/hvr/deepseq-generics")
2812 (synopsis "Generic RNF implementation")
2813 (description
2814 "This package provides a @code{GHC.Generics}-based
2815@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2816providing an @code{rnf} implementation.")
2817 (license license:bsd-3)))
2818
e924e17e
TS
2819(define-public ghc-dense-linear-algebra
2820 (package
2821 (name "ghc-dense-linear-algebra")
2822 (version "0.1.0.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append "https://hackage.haskell.org/package/"
2827 "dense-linear-algebra/dense-linear-algebra-"
2828 version ".tar.gz"))
2829 (sha256
2830 (base32
2831 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2832 (build-system haskell-build-system)
2833 (inputs
2834 `(("ghc-math-functions" ,ghc-math-functions)
2835 ("ghc-primitive" ,ghc-primitive)
2836 ("ghc-vector" ,ghc-vector)
2837 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2838 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2839 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2840 (native-inputs
2841 `(("ghc-hspec" ,ghc-hspec)
2842 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2843 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2844 (synopsis "Simple and incomplete implementation of linear algebra")
2845 (description "This library is simply a collection of linear-algebra
2846related modules split from the statistics library.")
2847 (license license:bsd-2)))
2848
dddbc90c
RV
2849(define-public ghc-descriptive
2850 (package
2851 (name "ghc-descriptive")
2852 (version "0.9.5")
2853 (source
2854 (origin
2855 (method url-fetch)
2856 (uri (string-append
2857 "https://hackage.haskell.org/package/descriptive/descriptive-"
2858 version
2859 ".tar.gz"))
2860 (sha256
2861 (base32
2862 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2863 (build-system haskell-build-system)
2864 (inputs
2865 `(("ghc-aeson" ,ghc-aeson)
2866 ("ghc-bifunctors" ,ghc-bifunctors)
2867 ("ghc-scientific" ,ghc-scientific)
2868 ("ghc-vector" ,ghc-vector)))
2869 (native-inputs
2870 `(("ghc-hunit" ,ghc-hunit)
2871 ("ghc-hspec" ,ghc-hspec)))
2872 (home-page
2873 "https://github.com/chrisdone/descriptive")
2874 (synopsis
2875 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2876 (description
2877 "This package provides datatypes and functions for creating consumers
2878and parsers with useful semantics.")
2879 (license license:bsd-3)))
2880
1859c94a
TS
2881(define-public ghc-diagrams-core
2882 (package
2883 (name "ghc-diagrams-core")
2884 (version "1.4.2")
2885 (source
2886 (origin
2887 (method url-fetch)
2888 (uri (string-append "https://hackage.haskell.org/package/"
2889 "diagrams-core/diagrams-core-" version ".tar.gz"))
2890 (sha256
2891 (base32
2892 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2893 (build-system haskell-build-system)
2894 (inputs
2895 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2896 ("ghc-semigroups" ,ghc-semigroups)
2897 ("ghc-monoid-extras" ,ghc-monoid-extras)
2898 ("ghc-dual-tree" ,ghc-dual-tree)
2899 ("ghc-lens" ,ghc-lens)
2900 ("ghc-linear" ,ghc-linear)
2901 ("ghc-adjunctions" ,ghc-adjunctions)
2902 ("ghc-distributive" ,ghc-distributive)
2903 ("ghc-profunctors" ,ghc-profunctors)))
2904 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2905 (synopsis "Core libraries for diagrams embedded domain-specific language")
2906 (description "This package provides the core modules underlying
2907diagrams, an embedded domain-specific language for compositional,
2908declarative drawing.")
2909 (license license:bsd-3)))
2910
f9f1a630
TS
2911(define-public ghc-diagrams-lib
2912 (package
2913 (name "ghc-diagrams-lib")
2914 (version "1.4.2.3")
2915 (source
2916 (origin
2917 (method url-fetch)
2918 (uri (string-append "https://hackage.haskell.org/package/"
2919 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2920 (sha256
2921 (base32
2922 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2923 (build-system haskell-build-system)
2924 (inputs
2925 `(("ghc-semigroups" ,ghc-semigroups)
2926 ("ghc-monoid-extras" ,ghc-monoid-extras)
2927 ("ghc-dual-tree" ,ghc-dual-tree)
2928 ("ghc-diagrams-core" ,ghc-diagrams-core)
2929 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2930 ("ghc-active" ,ghc-active)
2931 ("ghc-colour" ,ghc-colour)
2932 ("ghc-data-default-class" ,ghc-data-default-class)
2933 ("ghc-fingertree" ,ghc-fingertree)
2934 ("ghc-intervals" ,ghc-intervals)
2935 ("ghc-lens" ,ghc-lens)
2936 ("ghc-tagged" ,ghc-tagged)
2937 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2938 ("ghc-juicypixels" ,ghc-juicypixels)
2939 ("ghc-hashable" ,ghc-hashable)
2940 ("ghc-linear" ,ghc-linear)
2941 ("ghc-adjunctions" ,ghc-adjunctions)
2942 ("ghc-distributive" ,ghc-distributive)
2943 ("ghc-fsnotify" ,ghc-fsnotify)
2944 ("ghc-unordered-containers" ,ghc-unordered-containers)
2945 ("ghc-profunctors" ,ghc-profunctors)
2946 ("ghc-exceptions" ,ghc-exceptions)
2947 ("ghc-cereal" ,ghc-cereal)))
2948 (native-inputs
2949 `(("ghc-tasty" ,ghc-tasty)
2950 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2951 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2952 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2953 (arguments
2954 `(#:cabal-revision
2955 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2956 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2957 (synopsis "Embedded domain-specific language for declarative graphics")
2958 (description "Diagrams is a flexible, extensible embedded
2959domain-specific language (EDSL) for creating graphics of many types.
2960Graphics can be created in arbitrary vector spaces and rendered with
2961multiple backends. This package provides a standard library of
2962primitives and operations for creating diagrams.")
2963 (license license:bsd-3)))
2964
fd33ffa0
TS
2965(define-public ghc-diagrams-solve
2966 (package
2967 (name "ghc-diagrams-solve")
2968 (version "0.1.1")
2969 (source
2970 (origin
2971 (method url-fetch)
2972 (uri (string-append "https://hackage.haskell.org/package/"
2973 "diagrams-solve/diagrams-solve-"
2974 version ".tar.gz"))
2975 (sha256
2976 (base32
2977 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2978 (build-system haskell-build-system)
2979 (native-inputs
2980 `(("ghc-tasty" ,ghc-tasty)
2981 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2982 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2983 (arguments
2984 `(#:cabal-revision
2985 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2986 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2987 (synopsis "Pure Haskell solver routines used by diagrams")
2988 (description "This library provides Pure Haskell solver routines for
2989use by the
2990@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2991diagrams framework}. It currently includes routines for finding real
2992roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2993and cyclic tridiagonal linear systems.")
2994 (license license:bsd-3)))
2995
74be1cb7
TS
2996(define-public ghc-diagrams-svg
2997 (package
2998 (name "ghc-diagrams-svg")
2999 (version "1.4.2")
3000 (source
3001 (origin
3002 (method url-fetch)
3003 (uri (string-append "https://hackage.haskell.org/package/"
3004 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3005 (sha256
3006 (base32
3007 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3008 (build-system haskell-build-system)
3009 (inputs
3010 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3011 ("ghc-colour" ,ghc-colour)
3012 ("ghc-diagrams-core" ,ghc-diagrams-core)
3013 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3014 ("ghc-monoid-extras" ,ghc-monoid-extras)
3015 ("ghc-svg-builder" ,ghc-svg-builder)
3016 ("ghc-juicypixels" ,ghc-juicypixels)
3017 ("ghc-split" ,ghc-split)
3018 ("ghc-lens" ,ghc-lens)
3019 ("ghc-hashable" ,ghc-hashable)
3020 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3021 ("ghc-semigroups" ,ghc-semigroups)))
3022 (arguments
3023 `(#:cabal-revision
3024 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3025 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3026 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3027 (description "This package provides a modular backend for rendering
3028diagrams created with the diagrams embedded domain-specific
3029language (EDSL) to Scalable Vector Graphics (SVG) files.")
3030 (license license:bsd-3)))
3031
4eb9a167
TS
3032(define-public ghc-dictionary-sharing
3033 (package
3034 (name "ghc-dictionary-sharing")
3035 (version "0.1.0.0")
3036 (source
3037 (origin
3038 (method url-fetch)
3039 (uri (string-append "https://hackage.haskell.org/package/"
3040 "dictionary-sharing/dictionary-sharing-"
3041 version ".tar.gz"))
3042 (sha256
3043 (base32
3044 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3045 (build-system haskell-build-system)
3046 (arguments
3047 `(#:cabal-revision
3048 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3049 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3050 (synopsis "Sharing/memoization of class members")
3051 (description "This library provides tools for ensuring that class
3052members are shared.")
3053 (license license:bsd-3)))
3054
dddbc90c
RV
3055(define-public ghc-diff
3056 (package
3057 (name "ghc-diff")
3058 (version "0.3.4")
3059 (source (origin
3060 (method url-fetch)
3061 (uri (string-append "https://hackage.haskell.org/package/"
3062 "Diff/Diff-" version ".tar.gz"))
a531ff94 3063 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3064 (sha256
3065 (base32
3066 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3067 (build-system haskell-build-system)
3068 (native-inputs
3069 `(("ghc-quickcheck" ,ghc-quickcheck)
3070 ("ghc-test-framework" ,ghc-test-framework)
3071 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3072 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3073 (synopsis "O(ND) diff algorithm in Haskell")
3074 (description
3075 "This package provides an implementation of the standard diff algorithm,
3076and utilities for pretty printing.")
3077 (license license:bsd-3)))
3078
3079(define-public ghc-disk-free-space
3080 (package
3081 (name "ghc-disk-free-space")
3082 (version "0.1.0.1")
3083 (source
3084 (origin
3085 (method url-fetch)
3086 (uri (string-append "https://hackage.haskell.org/package/"
3087 "disk-free-space/disk-free-space-"
3088 version ".tar.gz"))
3089 (sha256
3090 (base32
3091 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3092 (build-system haskell-build-system)
3093 (home-page "https://github.com/redneb/disk-free-space")
3094 (synopsis "Retrieve information about disk space usage")
3095 (description "A cross-platform library for retrieving information about
3096disk space usage.")
3097 (license license:bsd-3)))
3098
3099(define-public ghc-distributive
3100 (package
3101 (name "ghc-distributive")
e4c92f28 3102 (version "0.6.1")
dddbc90c
RV
3103 (source
3104 (origin
3105 (method url-fetch)
3106 (uri (string-append
3107 "https://hackage.haskell.org/package/distributive/distributive-"
3108 version
3109 ".tar.gz"))
3110 (sha256
3111 (base32
e4c92f28 3112 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3113 (build-system haskell-build-system)
dddbc90c
RV
3114 (inputs
3115 `(("ghc-tagged" ,ghc-tagged)
3116 ("ghc-base-orphans" ,ghc-base-orphans)
3117 ("ghc-transformers-compat" ,ghc-transformers-compat)
3118 ("ghc-semigroups" ,ghc-semigroups)
3119 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3120 (native-inputs
3121 `(("cabal-doctest" ,cabal-doctest)
3122 ("ghc-doctest" ,ghc-doctest)
3123 ("ghc-hspec" ,ghc-hspec)
3124 ("hspec-discover" ,hspec-discover)))
3125 (home-page "https://github.com/ekmett/distributive/")
3126 (synopsis "Distributive functors for Haskell")
3127 (description "This package provides distributive functors for Haskell.
3128Dual to @code{Traversable}.")
3129 (license license:bsd-3)))
3130
3131(define-public ghc-dlist
3132 (package
3133 (name "ghc-dlist")
197ddf33 3134 (version "0.8.0.7")
dddbc90c
RV
3135 (source
3136 (origin
3137 (method url-fetch)
3138 (uri (string-append
3139 "https://hackage.haskell.org/package/dlist/dlist-"
3140 version
3141 ".tar.gz"))
3142 (sha256
197ddf33 3143 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3144 (build-system haskell-build-system)
3145 (inputs
3146 `(("ghc-quickcheck" ,ghc-quickcheck)))
3147 (home-page "https://github.com/spl/dlist")
3148 (synopsis "Difference lists")
3149 (description
3150 "Difference lists are a list-like type supporting O(1) append. This is
3151particularly useful for efficient logging and pretty printing (e.g. with the
3152Writer monad), where list append quickly becomes too expensive.")
3153 (license license:bsd-3)))
3154
3155(define-public ghc-doctemplates
3156 (package
3157 (name "ghc-doctemplates")
3158 (version "0.2.2.1")
3159 (source
3160 (origin
3161 (method url-fetch)
3162 (uri (string-append "https://hackage.haskell.org/package/"
3163 "doctemplates/doctemplates-"
3164 version ".tar.gz"))
3165 (sha256
3166 (base32
3167 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3168 (build-system haskell-build-system)
3169 (inputs
3170 `(("ghc-aeson" ,ghc-aeson)
3171 ("ghc-blaze-markup" ,ghc-blaze-markup)
3172 ("ghc-blaze-html" ,ghc-blaze-html)
3173 ("ghc-vector" ,ghc-vector)
3174 ("ghc-unordered-containers" ,ghc-unordered-containers)
3175 ("ghc-scientific" ,ghc-scientific)))
3176 (native-inputs
3177 `(("ghc-hspec" ,ghc-hspec)))
3178 (home-page "https://github.com/jgm/doctemplates#readme")
3179 (synopsis "Pandoc-style document templates")
3180 (description
3181 "This package provides a simple text templating system used by pandoc.")
3182 (license license:bsd-3)))
3183
3184(define-public ghc-doctest
3185 (package
3186 (name "ghc-doctest")
19c14a0f 3187 (version "0.16.2")
dddbc90c
RV
3188 (source
3189 (origin
3190 (method url-fetch)
3191 (uri (string-append
3192 "https://hackage.haskell.org/package/doctest/doctest-"
3193 version
3194 ".tar.gz"))
3195 (sha256
3196 (base32
19c14a0f 3197 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3198 (build-system haskell-build-system)
3199 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3200 (inputs
3201 `(("ghc-syb" ,ghc-syb)
3202 ("ghc-paths" ,ghc-paths)
3203 ("ghc-base-compat" ,ghc-base-compat)
3204 ("ghc-code-page" ,ghc-code-page)
3205 ("ghc-hunit" ,ghc-hunit)
3206 ("ghc-hspec" ,ghc-hspec)
3207 ("ghc-quickcheck" ,ghc-quickcheck)
3208 ("ghc-stringbuilder" ,ghc-stringbuilder)
3209 ("ghc-silently" ,ghc-silently)
3210 ("ghc-setenv" ,ghc-setenv)))
3211 (home-page
3212 "https://github.com/sol/doctest#readme")
3213 (synopsis "Test interactive Haskell examples")
3214 (description "The doctest program checks examples in source code comments.
3215It is modeled after doctest for Python, see
3216@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3217 (license license:expat)))
3218
3219(define-public ghc-double-conversion
3220 (package
3221 (name "ghc-double-conversion")
3222 (version "2.0.2.0")
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append "https://hackage.haskell.org/package/"
3227 "double-conversion/double-conversion-"
3228 version ".tar.gz"))
3229 (sha256
3230 (base32
3231 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3232 (build-system haskell-build-system)
3233 (native-inputs
3234 `(("ghc-hunit" ,ghc-hunit)
3235 ("ghc-test-framework" ,ghc-test-framework)
3236 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3237 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3238 (home-page "https://github.com/bos/double-conversion")
3239 (synopsis "Fast conversion between double precision floating point and text")
3240 (description
3241 "This package provides a library that performs fast, accurate conversion
3242between double precision floating point and text.")
3243 (license license:bsd-3)))
3244
577a78b7
TS
3245(define-public ghc-dual-tree
3246 (package
3247 (name "ghc-dual-tree")
3248 (version "0.2.2.1")
3249 (source
3250 (origin
3251 (method url-fetch)
3252 (uri (string-append "https://hackage.haskell.org/package/"
3253 "dual-tree/dual-tree-" version ".tar.gz"))
3254 (sha256
3255 (base32
3256 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3257 (build-system haskell-build-system)
3258 (inputs
3259 `(("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-newtype-generics" ,ghc-newtype-generics)
3261 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3262 (native-inputs
3263 `(("ghc-quickcheck" ,ghc-quickcheck)
3264 ("ghc-testing-feat" ,ghc-testing-feat)))
3265 (home-page "https://hackage.haskell.org/package/dual-tree")
3266 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3267 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3268cached) and downwards-traveling (i.e. accumulating) monoidal
3269annotations. This is used as the core data structure underlying the
3270@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3271diagrams framework}, but potentially has other applications as well.")
3272 (license license:bsd-3)))
3273
dddbc90c
RV
3274(define-public ghc-easy-file
3275 (package
3276 (name "ghc-easy-file")
3277 (version "0.2.2")
3278 (source
3279 (origin
3280 (method url-fetch)
3281 (uri (string-append
3282 "https://hackage.haskell.org/package/easy-file/easy-file-"
3283 version
3284 ".tar.gz"))
3285 (sha256
3286 (base32
3287 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3288 (build-system haskell-build-system)
3289 (home-page
3290 "https://github.com/kazu-yamamoto/easy-file")
3291 (synopsis "File handling library for Haskell")
3292 (description "This library provides file handling utilities for Haskell.")
3293 (license license:bsd-3)))
3294
3295(define-public ghc-easyplot
3296 (package
3297 (name "ghc-easyplot")
3298 (version "1.0")
3299 (source
3300 (origin
3301 (method url-fetch)
3302 (uri (string-append
3303 "https://hackage.haskell.org/package/easyplot/easyplot-"
3304 version ".tar.gz"))
3305 (sha256
3306 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3307 (build-system haskell-build-system)
3308 (propagated-inputs `(("gnuplot" ,gnuplot)))
3309 (arguments
3310 `(#:phases (modify-phases %standard-phases
3311 (add-after 'unpack 'fix-setup-suffix
3312 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3313 (home-page "https://hub.darcs.net/scravy/easyplot")
3314 (synopsis "Haskell plotting library based on gnuplot")
3315 (description "This package provides a plotting library for
3316Haskell, using gnuplot for rendering.")
3317 (license license:expat)))
3318
3319(define-public ghc-echo
3320 (package
3321 (name "ghc-echo")
3322 (version "0.1.3")
3323 (source
3324 (origin
3325 (method url-fetch)
3326 (uri (string-append
3327 "https://hackage.haskell.org/package/echo/echo-"
3328 version ".tar.gz"))
3329 (sha256
3330 (base32
3331 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3332 (build-system haskell-build-system)
3333 (arguments
3334 `(#:cabal-revision
3335 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3336 (home-page "https://github.com/RyanGlScott/echo")
3337 (synopsis "Echo terminal input portably")
3338 (description "The @code{base} library exposes the @code{hGetEcho} and
3339@code{hSetEcho} functions for querying and setting echo status, but
3340unfortunately, neither function works with MinTTY consoles on Windows.
3341This library provides an alternative interface which works with both
3342MinTTY and other consoles.")
3343 (license license:bsd-3)))
3344
3345(define-public ghc-edisonapi
3346 (package
3347 (name "ghc-edisonapi")
3348 (version "1.3.1")
3349 (source
3350 (origin
3351 (method url-fetch)
3352 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3353 "/EdisonAPI-" version ".tar.gz"))
3354 (sha256
3355 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3356 (build-system haskell-build-system)
3357 (home-page "http://rwd.rdockins.name/edison/home/")
3358 (synopsis "Library of efficient, purely-functional data structures (API)")
3359 (description
3360 "Edison is a library of purely functional data structures written by
3361Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3362value EDiSon (Efficient Data Structures). Edison provides several families of
3363abstractions, each with multiple implementations. The main abstractions
3364provided by Edison are: Sequences such as stacks, queues, and dequeues;
3365Collections such as sets, bags and heaps; and Associative Collections such as
3366finite maps and priority queues where the priority and element are distinct.")
3367 (license license:expat)))
3368
3369(define-public ghc-edisoncore
3370 (package
3371 (name "ghc-edisoncore")
3372 (version "1.3.2.1")
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3377 "/EdisonCore-" version ".tar.gz"))
3378 (sha256
3379 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3380 (build-system haskell-build-system)
3381 (inputs
3382 `(("ghc-quickcheck" ,ghc-quickcheck)
3383 ("ghc-edisonapi" ,ghc-edisonapi)))
3384 (home-page "http://rwd.rdockins.name/edison/home/")
3385 (synopsis "Library of efficient, purely-functional data structures")
3386 (description
3387 "This package provides the core Edison data structure implementations,
3388including multiple sequence, set, bag, and finite map concrete implementations
3389with various performance characteristics.")
3390 (license license:expat)))
3391
3392(define-public ghc-edit-distance
3393 (package
3394 (name "ghc-edit-distance")
3395 (version "0.2.2.1")
3396 (source
3397 (origin
3398 (method url-fetch)
3399 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3400 "/edit-distance-" version ".tar.gz"))
3401 (sha256
3402 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3403 (build-system haskell-build-system)
3404 (arguments
3405 `(#:phases
3406 (modify-phases %standard-phases
3407 (add-before 'configure 'update-constraints
3408 (lambda _
3409 (substitute* "edit-distance.cabal"
3410 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3411 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3412 (inputs
3413 `(("ghc-random" ,ghc-random)
3414 ("ghc-test-framework" ,ghc-test-framework)
3415 ("ghc-quickcheck" ,ghc-quickcheck)
3416 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3417 (home-page "https://github.com/phadej/edit-distance")
3418 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3419 (description
3420 "This package provides optimized functions to determine the edit
3421distances for fuzzy matching, including Levenshtein and restricted
3422Damerau-Levenshtein algorithms.")
3423 (license license:bsd-3)))
3424
3ebae41f
TS
3425(define-public ghc-edit-distance-vector
3426 (package
3427 (name "ghc-edit-distance-vector")
3428 (version "1.0.0.4")
3429 (source
3430 (origin
3431 (method url-fetch)
3432 (uri (string-append "https://hackage.haskell.org/package/"
3433 "edit-distance-vector/edit-distance-vector-"
3434 version ".tar.gz"))
3435 (sha256
3436 (base32
3437 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3438 (build-system haskell-build-system)
3439 (inputs
3440 `(("ghc-vector" ,ghc-vector)))
3441 (native-inputs
3442 `(("ghc-quickcheck" ,ghc-quickcheck)
3443 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3444 (home-page "https://github.com/thsutton/edit-distance-vector")
3445 (synopsis "Calculate edit distances and edit scripts between vectors")
3446 (description "This package provides implementation of the
3447Wagner-Fischer dynamic programming algorithm to find the optimal edit
3448script and cost between two sequences. The implementation in this
3449package is specialised to sequences represented with @code{Data.Vector}
3450but is otherwise agnostic to:
3451@itemize
3452@item The type of values in the vectors;
3453@item The type representing edit operations; and
3454@item The type representing the cost of operations.
3455@end itemize")
3456 (license license:bsd-3)) )
3457
dddbc90c
RV
3458(define-public ghc-either
3459 (package
3460 (name "ghc-either")
a3fd4dc7 3461 (version "5.0.1.1")
dddbc90c
RV
3462 (source
3463 (origin
3464 (method url-fetch)
3465 (uri (string-append "https://hackage.haskell.org/package/"
3466 "either-" version "/"
3467 "either-" version ".tar.gz"))
3468 (sha256
3469 (base32
a3fd4dc7 3470 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3471 (build-system haskell-build-system)
3472 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3473 ("ghc-exceptions" ,ghc-exceptions)
3474 ("ghc-free" ,ghc-free)
3475 ("ghc-monad-control" ,ghc-monad-control)
3476 ("ghc-manodrandom" ,ghc-monadrandom)
3477 ("ghc-mmorph" ,ghc-mmorph)
3478 ("ghc-profunctors" ,ghc-profunctors)
3479 ("ghc-semigroups" ,ghc-semigroups)
3480 ("ghc-semigroupoids" ,ghc-semigroupoids)
3481 ("ghc-transformers-base" ,ghc-transformers-base)))
3482 (native-inputs
3483 `(("ghc-quickcheck" ,ghc-quickcheck)
3484 ("ghc-test-framework" ,ghc-test-framework)
3485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3486 (home-page "https://github.com/ekmett/either")
3487 (synopsis "Provides an either monad transformer for Haskell")
3488 (description "This Haskell package provides an either monad transformer.")
3489 (license license:bsd-3)))
3490
3491(define-public ghc-email-validate
3492 (package
3493 (name "ghc-email-validate")
a4fe1c64 3494 (version "2.3.2.12")
dddbc90c
RV
3495 (source
3496 (origin
3497 (method url-fetch)
3498 (uri (string-append
3499 "https://hackage.haskell.org/package/"
3500 "email-validate/email-validate-"
3501 version
3502 ".tar.gz"))
3503 (sha256
3504 (base32
a4fe1c64 3505 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3506 (build-system haskell-build-system)
3507 (inputs
3508 `(("ghc-attoparsec" ,ghc-attoparsec)
3509 ("ghc-hspec" ,ghc-hspec)
3510 ("ghc-quickcheck" ,ghc-quickcheck)
3511 ("ghc-doctest" ,ghc-doctest)))
3512 (home-page
3513 "https://github.com/Porges/email-validate-hs")
3514 (synopsis "Email address validator for Haskell")
3515 (description
3516 "This Haskell package provides a validator that can validate an email
3517address string against RFC 5322.")
3518 (license license:bsd-3)))
3519
3520(define-public ghc-enclosed-exceptions
3521 (package
3522 (name "ghc-enclosed-exceptions")
3523 (version "1.0.3")
3524 (source (origin
3525 (method url-fetch)
3526 (uri (string-append "https://hackage.haskell.org/package/"
3527 "enclosed-exceptions/enclosed-exceptions-"
3528 version ".tar.gz"))
3529 (sha256
3530 (base32
3531 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3532 (build-system haskell-build-system)
3533 ;; FIXME: one of the tests blocks forever:
3534 ;; "thread blocked indefinitely in an MVar operation"
3535 (arguments '(#:tests? #f))
3536 (inputs
3537 `(("ghc-lifted-base" ,ghc-lifted-base)
3538 ("ghc-monad-control" ,ghc-monad-control)
3539 ("ghc-async" ,ghc-async)
3540 ("ghc-transformers-base" ,ghc-transformers-base)))
3541 (native-inputs
3542 `(("ghc-hspec" ,ghc-hspec)
3543 ("ghc-quickcheck" ,ghc-quickcheck)))
3544 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3545 (synopsis "Catch all exceptions from within an enclosed computation")
3546 (description
3547 "This library implements a technique to catch all exceptions raised
3548within an enclosed computation, while remaining responsive to (external)
3549asynchronous exceptions.")
3550 (license license:expat)))
3551
3552(define-public ghc-equivalence
3553 (package
3554 (name "ghc-equivalence")
801cf5b1 3555 (version "0.3.5")
dddbc90c
RV
3556 (source
3557 (origin
3558 (method url-fetch)
3559 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3560 "/equivalence-" version ".tar.gz"))
3561 (sha256
801cf5b1 3562 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3563 (build-system haskell-build-system)
3564 (inputs
3565 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3566 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3567 ("ghc-fail" ,ghc-fail)
3568 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3569 (home-page "https://github.com/pa-ba/equivalence")
3570 (synopsis "Maintaining an equivalence relation implemented as union-find")
3571 (description
3572 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3573Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
357422(2), 1975) in order to maintain an equivalence relation. This
3575implementation is a port of the @code{union-find} package using the @code{ST}
3576monad transformer (instead of the IO monad).")
3577 (license license:bsd-3)))
3578
3579(define-public ghc-erf
3580 (package
3581 (name "ghc-erf")
3582 (version "2.0.0.0")
3583 (source
3584 (origin
3585 (method url-fetch)
3586 (uri (string-append "https://hackage.haskell.org/package/"
3587 "erf-" version "/"
3588 "erf-" version ".tar.gz"))
3589 (sha256
3590 (base32
3591 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3592 (build-system haskell-build-system)
3593 (home-page "https://hackage.haskell.org/package/erf")
3594 (synopsis "The error function, erf, and related functions for Haskell")
3595 (description "This Haskell library provides a type class for the
3596error function, erf, and related functions. Instances for Float and
3597Double.")
3598 (license license:bsd-3)))
3599
3600(define-public ghc-errorcall-eq-instance
3601 (package
3602 (name "ghc-errorcall-eq-instance")
3603 (version "0.3.0")
3604 (source
3605 (origin
3606 (method url-fetch)
3607 (uri (string-append "https://hackage.haskell.org/package/"
3608 "errorcall-eq-instance/errorcall-eq-instance-"
3609 version ".tar.gz"))
3610 (sha256
3611 (base32
3612 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3613 (build-system haskell-build-system)
3614 (inputs
3615 `(("ghc-base-orphans" ,ghc-base-orphans)))
3616 (native-inputs
3617 `(("ghc-quickcheck" ,ghc-quickcheck)
3618 ("ghc-hspec" ,ghc-hspec)
3619 ("hspec-discover" ,hspec-discover)))
3ef91e15 3620 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3621 (synopsis "Orphan Eq instance for ErrorCall")
3622 (description
3623 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3624This package provides an orphan instance.")
3625 (license license:expat)))
3626
3627(define-public ghc-errors
3628 (package
3629 (name "ghc-errors")
3630 (version "2.3.0")
3631 (source
3632 (origin
3633 (method url-fetch)
3634 (uri (string-append "https://hackage.haskell.org/package/"
3635 "errors-" version "/"
3636 "errors-" version ".tar.gz"))
3637 (sha256
3638 (base32
3639 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3640 (build-system haskell-build-system)
3641 (inputs
3642 `(("ghc-exceptions" ,ghc-exceptions)
3643 ("ghc-transformers-compat" ,ghc-transformers-compat)
3644 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3645 ("ghc-safe" ,ghc-safe)))
3646 (home-page "https://github.com/gabriel439/haskell-errors-library")
3647 (synopsis "Error handling library for Haskell")
3648 (description "This library encourages an error-handling style that
3649directly uses the type system, rather than out-of-band exceptions.")
3650 (license license:bsd-3)))
3651
3652(define-public ghc-esqueleto
2648b604
TS
3653 (package
3654 (name "ghc-esqueleto")
2f6ad77b 3655 (version "3.3.1.1")
2648b604
TS
3656 (source
3657 (origin
3658 (method url-fetch)
3659 (uri (string-append "https://hackage.haskell.org/package/"
3660 "esqueleto/esqueleto-" version ".tar.gz"))
3661 (sha256
3662 (base32
2f6ad77b 3663 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3664 (build-system haskell-build-system)
3665 (arguments
3666 `(#:haddock? #f ; Haddock reports an internal error.
3667 #:phases
3668 (modify-phases %standard-phases
3669 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3670 ;; SQLite backends. Since we only have Haskell packages for
3671 ;; SQLite, we remove the other two test suites. FIXME: Add the
3672 ;; other backends and run all three test suites.
3673 (add-before 'configure 'remove-non-sqlite-test-suites
3674 (lambda _
3675 (use-modules (ice-9 rdelim))
3676 (with-atomic-file-replacement "esqueleto.cabal"
3677 (lambda (in out)
3678 (let loop ((line (read-line in 'concat)) (deleting? #f))
3679 (cond
3680 ((eof-object? line) #t)
3681 ((string-every char-set:whitespace line)
3682 (unless deleting? (display line out))
3683 (loop (read-line in 'concat) #f))
3684 ((member line '("test-suite mysql\n"
3685 "test-suite postgresql\n"))
3686 (loop (read-line in 'concat) #t))
3687 (else
3688 (unless deleting? (display line out))
3689 (loop (read-line in 'concat) deleting?)))))))))))
3690 (inputs
3691 `(("ghc-blaze-html" ,ghc-blaze-html)
3692 ("ghc-conduit" ,ghc-conduit)
3693 ("ghc-monad-logger" ,ghc-monad-logger)
3694 ("ghc-persistent" ,ghc-persistent)
3695 ("ghc-resourcet" ,ghc-resourcet)
3696 ("ghc-tagged" ,ghc-tagged)
3697 ("ghc-unliftio" ,ghc-unliftio)
3698 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3699 (native-inputs
3700 `(("ghc-hspec" ,ghc-hspec)
3701 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3702 ("ghc-persistent-template" ,ghc-persistent-template)))
3703 (home-page "https://github.com/bitemyapp/esqueleto")
3704 (synopsis "Type-safe embedded domain specific language for SQL queries")
3705 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3706language (EDSL) for SQL queries that works with SQL backends as provided by
3707@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3708to learn new concepts, just new syntax, and it's fairly easy to predict the
3709generated SQL and optimize it for your backend.")
2648b604 3710 (license license:bsd-3)))
dddbc90c
RV
3711
3712(define-public ghc-exactprint
3713 (package
3714 (name "ghc-exactprint")
50614014 3715 (version "0.6.1")
dddbc90c
RV
3716 (source
3717 (origin
3718 (method url-fetch)
3719 (uri (string-append
3720 "https://hackage.haskell.org/package/"
3721 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3722 (sha256
3723 (base32
50614014 3724 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3725 (build-system haskell-build-system)
3726 (inputs
3727 `(("ghc-paths" ,ghc-paths)
3728 ("ghc-syb" ,ghc-syb)
3729 ("ghc-free" ,ghc-free)))
3730 (native-inputs
3731 `(("ghc-hunit" ,ghc-hunit)
3732 ("ghc-diff" ,ghc-diff)
3733 ("ghc-silently" ,ghc-silently)
3734 ("ghc-filemanip" ,ghc-filemanip)))
3735 (home-page
3ef91e15 3736 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3737 (synopsis "ExactPrint for GHC")
3738 (description
3739 "Using the API Annotations available from GHC 7.10.2, this library
3740provides a means to round-trip any code that can be compiled by GHC, currently
3741excluding @file{.lhs} files.")
3742 (license license:bsd-3)))
3743
3744(define-public ghc-exceptions
3745 (package
3746 (name "ghc-exceptions")
46d3e65b 3747 (version "0.10.3")
dddbc90c
RV
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append
3752 "https://hackage.haskell.org/package/exceptions/exceptions-"
3753 version
3754 ".tar.gz"))
3755 (sha256
3756 (base32
46d3e65b 3757 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3758 (build-system haskell-build-system)
3759 (native-inputs
3760 `(("ghc-quickcheck" ,ghc-quickcheck)
3761 ("ghc-test-framework" ,ghc-test-framework)
3762 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3763 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3764 (inputs
3765 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3766 (home-page "https://github.com/ekmett/exceptions/")
3767 (synopsis "Extensible optionally-pure exceptions")
3768 (description "This library provides extensible optionally-pure exceptions
3769for Haskell.")
3770 (license license:bsd-3)))
3771
3772(define-public ghc-executable-path
3773 (package
3774 (name "ghc-executable-path")
3775 (version "0.0.3.1")
3776 (source (origin
3777 (method url-fetch)
3778 (uri (string-append "https://hackage.haskell.org/package/"
3779 "executable-path/executable-path-"
3780 version ".tar.gz"))
3781 (sha256
3782 (base32
3783 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3784 (build-system haskell-build-system)
3785 (home-page "https://hackage.haskell.org/package/executable-path")
3786 (synopsis "Find out the full path of the executable")
3787 (description
3788 "The documentation of @code{System.Environment.getProgName} says that
3789\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3790instead, for maximum portability, we just return the leafname of the program
3791as invoked.\" This library tries to provide the missing path.")
3792 (license license:public-domain)))
3793
3794(define-public ghc-extensible-exceptions
3795 (package
3796 (name "ghc-extensible-exceptions")
3797 (version "0.1.1.4")
3798 (source
3799 (origin
3800 (method url-fetch)
3801 (uri (string-append "https://hackage.haskell.org/package/"
3802 "extensible-exceptions/extensible-exceptions-"
3803 version ".tar.gz"))
3804 (sha256
3805 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3806 (build-system haskell-build-system)
3807 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3808 (synopsis "Extensible exceptions for Haskell")
3809 (description
3810 "This package provides extensible exceptions for both new and old
3811versions of GHC (i.e., < 6.10).")
3812 (license license:bsd-3)))
3813
3814(define-public ghc-extra
3815 (package
3816 (name "ghc-extra")
0cec5c4e 3817 (version "1.6.21")
dddbc90c
RV
3818 (source
3819 (origin
3820 (method url-fetch)
3821 (uri (string-append
3822 "https://hackage.haskell.org/package/extra/extra-"
3823 version
3824 ".tar.gz"))
3825 (sha256
3826 (base32
0cec5c4e 3827 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3828 (build-system haskell-build-system)
3829 (inputs
3830 `(("ghc-clock" ,ghc-clock)
10650c44 3831 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3832 ("ghc-quickcheck" ,ghc-quickcheck)
3833 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3834 (home-page "https://github.com/ndmitchell/extra")
3835 (synopsis "Extra Haskell functions")
3836 (description "This library provides extra functions for the standard
3837Haskell libraries. Most functions are simple additions, filling out missing
3838functionality. A few functions are available in later versions of GHC, but
3839this package makes them available back to GHC 7.2.")
3840 (license license:bsd-3)))
3841
3842(define-public ghc-fail
3843 (package
3844 (name "ghc-fail")
3845 (version "4.9.0.0")
3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3850 version ".tar.gz"))
3851 (sha256
3852 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3853 (build-system haskell-build-system)
3854 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3855 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3856 (synopsis "Forward-compatible MonadFail class")
3857 (description
3858 "This package contains the @code{Control.Monad.Fail} module providing the
3859@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3860class that became available in
3861@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3862older @code{base} package versions. This package turns into an empty package
3863when used with GHC versions which already provide the
3864@code{Control.Monad.Fail} module.")
3865 (license license:bsd-3)))
3866
3867(define-public ghc-fast-logger
3868 (package
3869 (name "ghc-fast-logger")
d443a52a 3870 (version "2.4.17")
dddbc90c
RV
3871 (source
3872 (origin
3873 (method url-fetch)
3874 (uri (string-append
3875 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3876 version
3877 ".tar.gz"))
3878 (sha256
3879 (base32
d443a52a 3880 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3881 (build-system haskell-build-system)
3882 (inputs
3883 `(("ghc-auto-update" ,ghc-auto-update)
3884 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3885 ("ghc-unix-time" ,ghc-unix-time)
3886 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3887 (native-inputs
3888 `(("hspec-discover" ,hspec-discover)
3889 ("ghc-hspec" ,ghc-hspec)))
3890 (home-page "https://hackage.haskell.org/package/fast-logger")
3891 (synopsis "Fast logging system")
3892 (description "This library provides a fast logging system for Haskell.")
3893 (license license:bsd-3)))
3894
3895(define-public ghc-feed
3896 (package
3897 (name "ghc-feed")
a41c16dc 3898 (version "1.2.0.1")
dddbc90c
RV
3899 (source
3900 (origin
3901 (method url-fetch)
3902 (uri (string-append "https://hackage.haskell.org/package/"
3903 "feed/feed-" version ".tar.gz"))
3904 (sha256
3905 (base32
a41c16dc 3906 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3907 (build-system haskell-build-system)
dddbc90c
RV
3908 (inputs
3909 `(("ghc-base-compat" ,ghc-base-compat)
3910 ("ghc-old-locale" ,ghc-old-locale)
3911 ("ghc-old-time" ,ghc-old-time)
3912 ("ghc-safe" ,ghc-safe)
3913 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3914 ("ghc-utf8-string" ,ghc-utf8-string)
3915 ("ghc-xml-conduit" ,ghc-xml-conduit)
3916 ("ghc-xml-types" ,ghc-xml-types)))
3917 (native-inputs
3918 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3919 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3922 (home-page "https://github.com/bergmark/feed")
3923 (synopsis "Haskell package for handling various syndication formats")
3924 (description "This Haskell package includes tools for generating and
3925consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3926 (license license:bsd-3)))
3927
3928(define-public ghc-fgl
3929 (package
3930 (name "ghc-fgl")
17482b26 3931 (version "5.7.0.1")
dddbc90c
RV
3932 (outputs '("out" "doc"))
3933 (source
3934 (origin
3935 (method url-fetch)
3936 (uri (string-append
3937 "https://hackage.haskell.org/package/fgl/fgl-"
3938 version
3939 ".tar.gz"))
3940 (sha256
3941 (base32
17482b26 3942 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3943 (build-system haskell-build-system)
3944 (arguments
3945 `(#:phases
3946 (modify-phases %standard-phases
3947 (add-before 'configure 'update-constraints
3948 (lambda _
3949 (substitute* "fgl.cabal"
17482b26
TS
3950 (("QuickCheck >= 2\\.8 && < 2\\.13")
3951 "QuickCheck >= 2.8 && < 2.14")
3952 (("hspec >= 2\\.1 && < 2\\.7")
3953 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3954 (inputs
3955 `(("ghc-hspec" ,ghc-hspec)
3956 ("ghc-quickcheck" ,ghc-quickcheck)))
3957 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3958 (synopsis
3959 "Martin Erwig's Functional Graph Library")
3960 (description "The functional graph library, FGL, is a collection of type
3961and function definitions to address graph problems. The basis of the library
3962is an inductive definition of graphs in the style of algebraic data types that
3963encourages inductive, recursive definitions of graph algorithms.")
3964 (license license:bsd-3)))
3965
3966(define-public ghc-fgl-arbitrary
3967 (package
3968 (name "ghc-fgl-arbitrary")
3969 (version "0.2.0.3")
3970 (source
3971 (origin
3972 (method url-fetch)
3973 (uri (string-append
3974 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3975 version ".tar.gz"))
3976 (sha256
3977 (base32
3978 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3979 (build-system haskell-build-system)
3980 (arguments
3981 `(#:phases
3982 (modify-phases %standard-phases
3983 (add-before 'configure 'update-constraints
3984 (lambda _
3985 (substitute* "fgl-arbitrary.cabal"
3986 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3987 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3988 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3989 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3990 (inputs
3991 `(("ghc-fgl" ,ghc-fgl)
3992 ("ghc-quickcheck" ,ghc-quickcheck)
3993 ("ghc-hspec" ,ghc-hspec)))
3994 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3995 (synopsis "QuickCheck support for fgl")
3996 (description
3997 "Provides Arbitrary instances for fgl graphs to avoid adding a
3998QuickCheck dependency for fgl whilst still making the instances
3999available to others. Also available are non-fgl-specific functions
4000for generating graph-like data structures.")
4001 (license license:bsd-3)))
4002
4003(define-public ghc-file-embed
4004 (package
4005 (name "ghc-file-embed")
b5920d50 4006 (version "0.0.11")
dddbc90c
RV
4007 (source
4008 (origin
4009 (method url-fetch)
4010 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4011 "file-embed-" version ".tar.gz"))
4012 (sha256
4013 (base32
b5920d50 4014 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4015 (build-system haskell-build-system)
4016 (home-page "https://github.com/snoyberg/file-embed")
4017 (synopsis "Use Template Haskell to embed file contents directly")
4018 (description
4019 "This package allows you to use Template Haskell to read a file or all
4020the files in a directory, and turn them into @code{(path, bytestring)} pairs
4021embedded in your Haskell code.")
4022 (license license:bsd-3)))
4023
4024(define-public ghc-filemanip
4025 (package
4026 (name "ghc-filemanip")
4027 (version "0.3.6.3")
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "https://hackage.haskell.org/package/"
4031 "filemanip/filemanip-" version ".tar.gz"))
4032 (sha256
4033 (base32
4034 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4035 (build-system haskell-build-system)
4036 (inputs
4037 `(("ghc-unix-compat" ,ghc-unix-compat)))
4038 (home-page "https://github.com/bos/filemanip")
4039 (synopsis "File and directory manipulation for Haskell")
4040 (description
4041 "This package provides a Haskell library for working with files and
4042directories. It includes code for pattern matching, finding files, modifying
4043file contents, and more.")
4044 (license license:bsd-3)))
4045
bb62932a
KM
4046(define-public ghc-filepath-bytestring
4047 (package
4048 (name "ghc-filepath-bytestring")
4049 (version "1.4.2.1.1")
4050 (source
4051 (origin
4052 (method url-fetch)
4053 (uri (string-append
4054 "https://hackage.haskell.org/package/filepath-bytestring/"
4055 "filepath-bytestring-" version ".tar.gz"))
4056 (sha256
4057 (base32
4058 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4059 (build-system haskell-build-system)
4060 (native-inputs
4061 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4062 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4063 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4064 (description "This package provides a drop-in replacement for the standard
4065@code{filepath} library, operating on @code{RawFilePath} values rather than
4066@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4067 (license license:bsd-3)))
4068
dddbc90c
RV
4069(define-public ghc-findbin
4070 (package
4071 (name "ghc-findbin")
4072 (version "0.0.5")
4073 (source
4074 (origin
4075 (method url-fetch)
4076 (uri (string-append
4077 "https://hackage.haskell.org/package/FindBin/FindBin-"
4078 version ".tar.gz"))
4079 (sha256
4080 (base32
4081 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4082 (build-system haskell-build-system)
4083 (home-page "https://github.com/audreyt/findbin")
4084 (synopsis "Get the absolute path of the running program")
4085 (description
4086 "This module locates the full directory of the running program, to allow
4087the use of paths relative to it. FindBin supports invocation of Haskell
4088programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4089an executable.")
4090 (license license:bsd-3)))
4091
4092(define-public ghc-fingertree
4093 (package
4094 (name "ghc-fingertree")
aac14fdc 4095 (version "0.1.4.2")
dddbc90c
RV
4096 (source
4097 (origin
4098 (method url-fetch)
4099 (uri (string-append
4100 "https://hackage.haskell.org/package/fingertree/fingertree-"
4101 version ".tar.gz"))
4102 (sha256
4103 (base32
aac14fdc 4104 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4105 (build-system haskell-build-system)
4106 (native-inputs
4107 `(("ghc-hunit" ,ghc-hunit)
4108 ("ghc-quickcheck" ,ghc-quickcheck)
4109 ("ghc-test-framework" ,ghc-test-framework)
4110 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4111 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4112 (home-page "https://hackage.haskell.org/package/fingertree")
4113 (synopsis "Generic finger-tree structure")
4114 (description "This library provides finger trees, a general sequence
4115representation with arbitrary annotations, for use as a base for
4116implementations of various collection types. It includes examples, as
4117described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4118simple general-purpose data structure\".")
4119 (license license:bsd-3)))
4120
4121(define-public ghc-fixed
4122 (package
4123 (name "ghc-fixed")
099dda5b 4124 (version "0.3")
dddbc90c
RV
4125 (source
4126 (origin
4127 (method url-fetch)
4128 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4129 version ".tar.gz"))
4130 (sha256
4131 (base32
099dda5b 4132 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4133 (build-system haskell-build-system)
4134 (home-page "https://github.com/ekmett/fixed")
4135 (synopsis "Signed 15.16 precision fixed point arithmetic")
4136 (description
4137 "This package provides functions for signed 15.16 precision fixed point
4138arithmetic.")
4139 (license license:bsd-3)))
4140
f169f713
JS
4141(define-public ghc-fmlist
4142 (package
4143 (name "ghc-fmlist")
fe9b83a6 4144 (version "0.9.3")
f169f713
JS
4145 (source
4146 (origin
4147 (method url-fetch)
4148 (uri
4149 (string-append
4150 "https://hackage.haskell.org/package/fmlist/fmlist-"
4151 version ".tar.gz"))
4152 (sha256
4153 (base32
fe9b83a6 4154 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4155 (build-system haskell-build-system)
4156 (home-page "https://github.com/sjoerdvisscher/fmlist")
4157 (synopsis "FoldMap lists")
4158 (description "FoldMap lists are lists represented by their
4159@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4160append, just like DLists, but other operations might have favorable
4161performance characteristics as well. These wild claims are still
4162completely unverified though.")
4163 (license license:bsd-3)))
4164
dddbc90c
RV
4165(define-public ghc-foldl
4166 (package
4167 (name "ghc-foldl")
26c4104f 4168 (version "1.4.5")
dddbc90c
RV
4169 (source
4170 (origin
4171 (method url-fetch)
4172 (uri (string-append "https://hackage.haskell.org/package/"
4173 "foldl-" version "/"
4174 "foldl-" version ".tar.gz"))
4175 (sha256
4176 (base32
26c4104f 4177 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4178 (build-system haskell-build-system)
4179 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4180 ("ghc-primitive" ,ghc-primitive)
4181 ("ghc-vector" ,ghc-vector)
4182 ("ghc-unordered-containers" ,ghc-unordered-containers)
4183 ("ghc-hashable" ,ghc-hashable)
4184 ("ghc-contravariant" ,ghc-contravariant)
4185 ("ghc-semigroups" ,ghc-semigroups)
4186 ("ghc-profunctors" ,ghc-profunctors)
4187 ("ghc-semigroupoids" ,ghc-semigroupoids)
4188 ("ghc-comonad" ,ghc-comonad)
4189 ("ghc-vector-builder" ,ghc-vector-builder)))
4190 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4191 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4192 (description "This Haskell library provides strict left folds that stream
4193in constant memory, and you can combine folds using @code{Applicative} style
4194to derive new folds. Derived folds still traverse the container just once
4195and are often as efficient as hand-written folds.")
4196 (license license:bsd-3)))
4197
4198(define-public ghc-foundation
4199 (package
4200 (name "ghc-foundation")
0a702df9 4201 (version "0.0.25")
dddbc90c
RV
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append "https://hackage.haskell.org/package/"
4206 "foundation/foundation-" version ".tar.gz"))
4207 (sha256
4208 (base32
0a702df9 4209 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4210 (build-system haskell-build-system)
59cd7518
TS
4211 (arguments
4212 `(#:phases
4213 (modify-phases %standard-phases
4214 ;; This test is broken. For details, see
4215 ;; https://github.com/haskell-foundation/foundation/issues/530
4216 (add-after 'unpack 'patch-tests
4217 (lambda _
4218 (substitute* "tests/Test/Foundation/Number.hs"
4219 ((", testDividible proxy") ""))
4220 #t)))))
dddbc90c
RV
4221 (inputs `(("ghc-basement" ,ghc-basement)))
4222 (home-page "https://github.com/haskell-foundation/foundation")
4223 (synopsis "Alternative prelude with batteries and no dependencies")
4224 (description
4225 "This package provides a custom prelude with no dependencies apart from
4226the base package.
4227
4228Foundation has the following goals:
4229
4230@enumerate
4231@item provide a base like sets of modules that provide a consistent set of
4232 features and bugfixes across multiple versions of GHC (unlike base).
4233@item provide a better and more efficient prelude than base's prelude.
4234@item be self-sufficient: no external dependencies apart from base;
4235@item provide better data-types: packed unicode string by default, arrays;
4236@item Numerical classes that better represent mathematical things (no more
4237 all-in-one @code{Num});
4238@item I/O system with less lazy IO.
4239@end enumerate\n")
4240 (license license:bsd-3)))
4241
4242(define-public ghc-free
4243 (package
4244 (name "ghc-free")
4081565d 4245 (version "5.1.2")
dddbc90c
RV
4246 (source
4247 (origin
4248 (method url-fetch)
4249 (uri (string-append
4250 "https://hackage.haskell.org/package/free/free-"
4251 version
4252 ".tar.gz"))
4253 (sha256
4254 (base32
4081565d 4255 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4256 (build-system haskell-build-system)
4257 (inputs
4258 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4259 ("ghc-profunctors" ,ghc-profunctors)
4260 ("ghc-exceptions" ,ghc-exceptions)
4261 ("ghc-bifunctors" ,ghc-bifunctors)
4262 ("ghc-comonad" ,ghc-comonad)
4263 ("ghc-distributive" ,ghc-distributive)
4264 ("ghc-semigroupoids" ,ghc-semigroupoids)
4265 ("ghc-semigroups" ,ghc-semigroups)
4266 ("ghc-transformers-base" ,ghc-transformers-base)
4267 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4268 (home-page "https://github.com/ekmett/free/")
4269 (synopsis "Unrestricted monads for Haskell")
4270 (description "This library provides free monads, which are useful for many
4271tree-like structures and domain specific languages. If @code{f} is a
4272@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4273whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4274is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4275f} makes no constraining assumptions beyond those given by @code{f} and the
4276definition of @code{Monad}.")
4277 (license license:bsd-3)))
4278
4279(define-public ghc-fsnotify
4280 (package
4281 (name "ghc-fsnotify")
4282 (version "0.3.0.1")
4283 (source (origin
4284 (method url-fetch)
4285 (uri (string-append
4286 "https://hackage.haskell.org/package/fsnotify/"
4287 "fsnotify-" version ".tar.gz"))
4288 (sha256
4289 (base32
4290 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4291 (build-system haskell-build-system)
4292 (inputs
4293 `(("ghc-async" ,ghc-async)
4294 ("ghc-unix-compat" ,ghc-unix-compat)
4295 ("ghc-hinotify" ,ghc-hinotify)
4296 ("ghc-tasty" ,ghc-tasty)
4297 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4298 ("ghc-random" ,ghc-random)
4299 ("ghc-shelly" ,ghc-shelly)
4300 ("ghc-temporary" ,ghc-temporary)))
4301 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4302 (synopsis "Cross platform library for file change notification.")
4303 (description "Cross platform library for file creation, modification, and
4304deletion notification. This library builds upon existing libraries for platform
4305specific Windows, Mac, and Linux file system event notification.")
4306 (license license:bsd-3)))
4307
4308(define-public ghc-generic-deriving
4309 (package
4310 (name "ghc-generic-deriving")
55c1e6be 4311 (version "1.12.4")
dddbc90c
RV
4312 (source
4313 (origin
4314 (method url-fetch)
4315 (uri (string-append
4316 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4317 version
4318 ".tar.gz"))
4319 (sha256
4320 (base32
55c1e6be 4321 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4322 (build-system haskell-build-system)
4323 (inputs
4324 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4325 (native-inputs
4326 `(("ghc-hspec" ,ghc-hspec)
4327 ("hspec-discover" ,hspec-discover)))
4328 (home-page "https://hackage.haskell.org/package/generic-deriving")
4329 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4330 (description "This package provides functionality for generalising the
4331deriving mechanism in Haskell to arbitrary classes.")
4332 (license license:bsd-3)))
4333
4334(define-public ghc-generics-sop
4335 (package
4336 (name "ghc-generics-sop")
3ed40e10 4337 (version "0.4.0.1")
dddbc90c
RV
4338 (source
4339 (origin
4340 (method url-fetch)
4341 (uri (string-append "https://hackage.haskell.org/package/"
4342 "generics-sop-" version "/"
4343 "generics-sop-" version ".tar.gz"))
4344 (sha256
4345 (base32
3ed40e10 4346 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4347 (build-system haskell-build-system)
3ed40e10
TS
4348 (inputs
4349 `(("ghc-sop-core" ,ghc-sop-core)
4350 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4351 (home-page "https://github.com/well-typed/generics-sop")
4352 (synopsis "Generic Programming using True Sums of Products for Haskell")
4353 (description "This Haskell package supports the definition of generic
4354functions. Datatypes are viewed in a uniform, structured way: the choice
4355between constructors is represented using an n-ary sum, and the arguments of
4356each constructor are represented using an n-ary product.")
4357 (license license:bsd-3)))
4358
4359(define-public ghc-geniplate-mirror
4360 (package
4361 (name "ghc-geniplate-mirror")
4362 (version "0.7.6")
4363 (source
4364 (origin
4365 (method url-fetch)
4366 (uri (string-append "https://hackage.haskell.org/package"
4367 "/geniplate-mirror"
4368 "/geniplate-mirror-" version ".tar.gz"))
4369 (sha256
4370 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4371 (build-system haskell-build-system)
74a7dd7f
TS
4372 (arguments
4373 `(#:cabal-revision
4374 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4375 (home-page "https://github.com/danr/geniplate")
4376 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4377 (description
4378 "Use Template Haskell to generate Uniplate-like functions. This is a
4379maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4380geniplate} package, written by Lennart Augustsson.")
4381 (license license:bsd-3)))
4382
4383(define-public ghc-genvalidity
4384 (package
4385 (name "ghc-genvalidity")
920f44a1 4386 (version "0.8.0.0")
dddbc90c
RV
4387 (source
4388 (origin
4389 (method url-fetch)
4390 (uri (string-append
4391 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4392 version
4393 ".tar.gz"))
4394 (sha256
4395 (base32
920f44a1 4396 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4397 (build-system haskell-build-system)
4398 (inputs
4399 `(("ghc-quickcheck" ,ghc-quickcheck)
4400 ("ghc-validity" ,ghc-validity)))
4401 (native-inputs
4402 `(("ghc-hspec" ,ghc-hspec)
4403 ("hspec-discover" ,hspec-discover)
4404 ("ghc-hspec-core" ,ghc-hspec-core)))
4405 (home-page
4406 "https://github.com/NorfairKing/validity")
4407 (synopsis
4408 "Testing utilities for the @code{validity} library")
4409 (description
4410 "This package provides testing utilities that are useful in conjunction
4411with the @code{Validity} typeclass.")
4412 (license license:expat)))
4413
4414(define-public ghc-genvalidity-property
4415 (package
4416 (name "ghc-genvalidity-property")
e4ede35b 4417 (version "0.4.0.0")
dddbc90c
RV
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri (string-append
4422 "https://hackage.haskell.org/package/"
4423 "genvalidity-property/genvalidity-property-"
4424 version
4425 ".tar.gz"))
4426 (sha256
4427 (base32
e4ede35b 4428 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4429 (build-system haskell-build-system)
4430 (inputs
4431 `(("ghc-quickcheck" ,ghc-quickcheck)
4432 ("ghc-genvalidity" ,ghc-genvalidity)
4433 ("ghc-hspec" ,ghc-hspec)
4434 ("hspec-discover" ,hspec-discover)
4435 ("ghc-validity" ,ghc-validity)))
4436 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4437 (home-page
4438 "https://github.com/NorfairKing/validity")
4439 (synopsis
4440 "Standard properties for functions on @code{Validity} types")
4441 (description
4442 "This package supplements the @code{Validity} typeclass with standard
4443properties for functions operating on them.")
4444 (license license:expat)))
4445
e71fb573
TS
4446(define-public ghc-getopt-generics
4447 (package
4448 (name "ghc-getopt-generics")
4449 (version "0.13.0.4")
4450 (source
4451 (origin
4452 (method url-fetch)
4453 (uri (string-append "https://hackage.haskell.org/package/"
4454 "getopt-generics/getopt-generics-"
4455 version ".tar.gz"))
4456 (sha256
4457 (base32
4458 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4459 (build-system haskell-build-system)
4460 (inputs
4461 `(("ghc-base-compat" ,ghc-base-compat)
4462 ("ghc-base-orphans" ,ghc-base-orphans)
4463 ("ghc-generics-sop" ,ghc-generics-sop)
4464 ("ghc-tagged" ,ghc-tagged)))
4465 (native-inputs
4466 `(("ghc-quickcheck" ,ghc-quickcheck)
4467 ("ghc-hspec" ,ghc-hspec)
4468 ("ghc-safe" ,ghc-safe)
4469 ("ghc-silently" ,ghc-silently)
4470 ("hspec-discover" ,hspec-discover)))
4471 (home-page "https://github.com/soenkehahn/getopt-generics")
4472 (synopsis "Create command line interfaces with ease")
4473 (description "This library provides tools to create command line
4474interfaces with ease.")
4475 (license license:bsd-3)))
4476
dddbc90c
RV
4477(define-public ghc-gitrev
4478 (package
4479 (name "ghc-gitrev")
4480 (version "1.3.1")
4481 (source
4482 (origin
4483 (method url-fetch)
4484 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4485 version ".tar.gz"))
4486 (sha256
4487 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4488 (build-system haskell-build-system)
4489 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4490 (home-page "https://github.com/acfoltzer/gitrev")
4491 (synopsis "Compile git revision info into Haskell projects")
4492 (description
4493 "This package provides some handy Template Haskell splices for including
4494the current git hash and branch in the code of your project. This is useful
4495for including in panic messages, @command{--version} output, or diagnostic
4496info for more informative bug reports.")
4497 (license license:bsd-3)))
4498
4499(define-public ghc-glob
4500 (package
4501 (name "ghc-glob")
b900f486 4502 (version "0.10.0")
dddbc90c
RV
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append "https://hackage.haskell.org/package/"
4507 "Glob-" version "/"
4508 "Glob-" version ".tar.gz"))
4509 (sha256
4510 (base32
b900f486 4511 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4512 (build-system haskell-build-system)
4513 (inputs
4514 `(("ghc-dlist" ,ghc-dlist)
4515 ("ghc-semigroups" ,ghc-semigroups)
4516 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4517 (native-inputs
4518 `(("ghc-hunit" ,ghc-hunit)
4519 ("ghc-quickcheck" ,ghc-quickcheck)
4520 ("ghc-test-framework" ,ghc-test-framework)
4521 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4522 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4523 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4524 (synopsis "Haskell library matching glob patterns against file paths")
4525 (description "This package provides a Haskell library for @dfn{globbing}:
4526matching patterns against file paths.")
4527 (license license:bsd-3)))
4528
4529(define-public ghc-gluraw
4530 (package
4531 (name "ghc-gluraw")
4532 (version "2.0.0.4")
4533 (source
4534 (origin
4535 (method url-fetch)
4536 (uri (string-append
4537 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4538 version
4539 ".tar.gz"))
4540 (sha256
4541 (base32
4542 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4543 (build-system haskell-build-system)
4544 (inputs
4545 `(("ghc-openglraw" ,ghc-openglraw)))
4546 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4547 (synopsis "Raw Haskell bindings GLU")
4548 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4549utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4550basis for a nicer interface.")
4551 (license license:bsd-3)))
4552
4553(define-public ghc-glut
4554 (package
4555 (name "ghc-glut")
8284bd09 4556 (version "2.7.0.15")
dddbc90c
RV
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append
4561 "https://hackage.haskell.org/package/GLUT/GLUT-"
4562 version
4563 ".tar.gz"))
4564 (sha256
4565 (base32
8284bd09 4566 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4567 (build-system haskell-build-system)
4568 (inputs
4569 `(("ghc-statevar" ,ghc-statevar)
4570 ("ghc-opengl" ,ghc-opengl)
4571 ("ghc-openglraw" ,ghc-openglraw)
4572 ("freeglut" ,freeglut)))
4573 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4574 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4575 (description "This library provides Haskell bindings for the OpenGL
4576Utility Toolkit, a window system-independent toolkit for writing OpenGL
4577programs.")
4578 (license license:bsd-3)))
4579
4580(define-public ghc-gnuplot
4581 (package
4582 (name "ghc-gnuplot")
d34860c7 4583 (version "0.5.6")
dddbc90c
RV
4584 (source
4585 (origin
4586 (method url-fetch)
4587 (uri (string-append
4588 "mirror://hackage/package/gnuplot/gnuplot-"
4589 version ".tar.gz"))
4590 (sha256
d34860c7 4591 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4592 (build-system haskell-build-system)
4593 (inputs
4594 `(("ghc-temporary" ,ghc-temporary)
4595 ("ghc-utility-ht" ,ghc-utility-ht)
4596 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4597 ("ghc-data-accessor" ,ghc-data-accessor)
4598 ("ghc-semigroups" ,ghc-semigroups)
4599 ("gnuplot" ,gnuplot)))
4600 (arguments
4601 `(#:phases
4602 (modify-phases %standard-phases
4603 (add-before 'configure 'fix-path-to-gnuplot
4604 (lambda* (#:key inputs #:allow-other-keys)
4605 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4606 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4607 (("(gnuplotName = ).*$" all cmd)
4608 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4609 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4610 (synopsis "2D and 3D plots using gnuplot")
4611 (description "This package provides a Haskell module for creating 2D and
46123D plots using gnuplot.")
4613 (license license:bsd-3)))
4614
4615(define-public ghc-graphviz
4616 (package
4617 (name "ghc-graphviz")
c264bd42 4618 (version "2999.20.0.3")
dddbc90c
RV
4619 (source (origin
4620 (method url-fetch)
4621 (uri (string-append "https://hackage.haskell.org/package/"
4622 "graphviz/graphviz-" version ".tar.gz"))
4623 (sha256
4624 (base32
c264bd42 4625 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4626 (build-system haskell-build-system)
c264bd42
TS
4627 (arguments
4628 `(#:phases
4629 (modify-phases %standard-phases
4630 (add-before 'configure 'update-constraints
4631 (lambda _
4632 (substitute* "graphviz.cabal"
4633 (("QuickCheck >= 2\\.3 && < 2\\.13")
4634 "QuickCheck >= 2.3 && < 2.14")
4635 (("hspec >= 2\\.1 && < 2\\.7")
4636 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4637 (inputs
4638 `(("ghc-quickcheck" ,ghc-quickcheck)
4639 ("ghc-colour" ,ghc-colour)
4640 ("ghc-dlist" ,ghc-dlist)
4641 ("ghc-fgl" ,ghc-fgl)
4642 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4643 ("ghc-polyparse" ,ghc-polyparse)
4644 ("ghc-temporary" ,ghc-temporary)
4645 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4646 (native-inputs
4647 `(("ghc-hspec" ,ghc-hspec)
4648 ("graphviz" ,graphviz)
4649 ("hspec-discover" ,hspec-discover)))
4650 (home-page "https://hackage.haskell.org/package/graphviz")
4651 (synopsis "Bindings to Graphviz for graph visualisation")
4652 (description
4653 "This library provides bindings for the Dot language used by
4654the @uref{https://graphviz.org/, Graphviz} suite of programs for
4655visualising graphs, as well as functions to call those programs.
4656Main features of the graphviz library include:
4657
4658@enumerate
4659@item Almost complete coverage of all Graphviz attributes and syntax
4660@item Support for specifying clusters
4661@item The ability to use a custom node type
4662@item Functions for running a Graphviz layout tool with all specified output types
4663@item Generate and parse Dot code with two options: strict and liberal
4664@item Functions to convert FGL graphs and other graph-like data structures
4665@item Round-trip support for passing an FGL graph through Graphviz to augment node
4666and edge labels with positional information, etc.
4667@end enumerate\n")
4668 (license license:bsd-3)))
4669
f3e18645
TS
4670(define-public ghc-groups
4671 (package
4672 (name "ghc-groups")
4673 (version "0.4.1.0")
4674 (source
4675 (origin
4676 (method url-fetch)
4677 (uri (string-append "https://hackage.haskell.org/package/"
4678 "groups/groups-" version ".tar.gz"))
4679 (sha256
4680 (base32
4681 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4682 (build-system haskell-build-system)
4683 (home-page "https://hackage.haskell.org/package/groups")
4684 (synopsis "Haskell 98 groups")
4685 (description "This package provides Haskell 98 groups. A group is a
4686monoid with invertibility.")
4687 (license license:bsd-3)))
4688
dddbc90c
RV
4689(define-public ghc-gtk2hs-buildtools
4690 (package
4691 (name "ghc-gtk2hs-buildtools")
b79b43d4 4692 (version "0.13.5.4")
dddbc90c
RV
4693 (source
4694 (origin
4695 (method url-fetch)
4696 (uri (string-append "https://hackage.haskell.org/package/"
4697 "gtk2hs-buildtools/gtk2hs-buildtools-"
4698 version ".tar.gz"))
4699 (sha256
4700 (base32
b79b43d4 4701 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4702 (build-system haskell-build-system)
4703 (inputs
4704 `(("ghc-random" ,ghc-random)
4705 ("ghc-hashtables" ,ghc-hashtables)))
4706 (native-inputs
4707 `(("ghc-alex" ,ghc-alex)
4708 ("ghc-happy" ,ghc-happy)))
4709 (home-page "http://projects.haskell.org/gtk2hs/")
4710 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4711 (description
4712 "This package provides a set of helper programs necessary to build the
4713Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4714that is used to generate FFI declarations, a tool to build a type hierarchy
4715that mirrors the C type hierarchy of GObjects found in glib, and a generator
4716for signal declarations that are used to call back from C to Haskell. These
4717tools are not needed to actually run Gtk2Hs programs.")
4718 (license license:gpl2)))
4719
4720(define-public ghc-hackage-security
4721 (package
4722 (name "ghc-hackage-security")
4723 (version "0.5.3.0")
4724 (source
4725 (origin
4726 (method url-fetch)
4727 (uri (string-append "https://hackage.haskell.org/package/"
4728 "hackage-security/hackage-security-"
4729 version ".tar.gz"))
4730 (sha256
4731 (base32
4732 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4733 (build-system haskell-build-system)
4734 (arguments
034380f3
TS
4735 `(#:cabal-revision
4736 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4737 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4738 (inputs
4739 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4740 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4741 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4742 ("ghc-ed25519" ,ghc-ed25519)
4743 ("ghc-network" ,ghc-network)
4744 ("ghc-network-uri" ,ghc-network-uri)
4745 ("ghc-tar" ,ghc-tar)
4746 ("ghc-zlib" ,ghc-zlib)))
4747 (native-inputs
4748 `(("ghc-network-uri" ,ghc-network-uri)
4749 ("ghc-quickcheck" ,ghc-quickcheck)
4750 ("ghc-tar" ,ghc-tar)
4751 ("ghc-tasty" ,ghc-tasty)
4752 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4753 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4754 ("ghc-temporary" ,ghc-temporary)
4755 ("ghc-zlib" ,ghc-zlib)))
4756 (home-page "https://github.com/haskell/hackage-security")
4757 (synopsis "Hackage security library")
4758 (description "This Hackage security library provides both server and
4759client utilities for securing @uref{http://hackage.haskell.org/, the
4760Hackage package server}. It is based on
4761@uref{http://theupdateframework.com/, The Update Framework}, a set of
4762recommendations developed by security researchers at various universities
4763in the US as well as developers on the @uref{https://www.torproject.org/,
4764Tor project}.")
4765 (license license:bsd-3)))
4766
4767(define-public ghc-haddock
4768 (package
4769 (name "ghc-haddock")
b0d34d23 4770 (version "2.22.0")
dddbc90c
RV
4771 (source
4772 (origin
4773 (method url-fetch)
4774 (uri (string-append
4775 "https://hackage.haskell.org/package/haddock/haddock-"
4776 version
4777 ".tar.gz"))
4778 (sha256
4779 (base32
b0d34d23 4780 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4781 (build-system haskell-build-system)
4782 (arguments
4783 `(#:phases
4784 (modify-phases %standard-phases
b0d34d23
TS
4785 ;; The release tarball for 2.22.0 is missing the test data for
4786 ;; the Hoogle test, causing it to fail. This is fixed in the
4787 ;; next release, but for now we disable it.
4788 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4789 (lambda _
4790 (use-modules (ice-9 rdelim))
4791 (with-atomic-file-replacement "haddock.cabal"
4792 (lambda (in out)
4793 (let loop ((line (read-line in 'concat)) (deleting? #f))
4794 (cond
4795 ((eof-object? line) #t)
4796 ((string-every char-set:whitespace line)
4797 (unless deleting? (display line out))
4798 (loop (read-line in 'concat) #f))
b0d34d23 4799 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4800 (loop (read-line in 'concat) #t))
4801 (else
4802 (unless deleting? (display line out))
b0d34d23
TS
4803 (loop (read-line in 'concat) deleting?))))))))
4804 (add-before 'check 'add-haddock-to-path
4805 (lambda _
4806 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4807 ":" (getenv "PATH")))
4808 #t)))))
dddbc90c
RV
4809 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4810 (native-inputs
b0d34d23
TS
4811 `(("ghc-haddock-test" ,ghc-haddock-test)
4812 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
4813 (home-page "https://www.haskell.org/haddock/")
4814 (synopsis
4815 "Documentation-generation tool for Haskell libraries")
4816 (description
4817 "Haddock is a documentation-generation tool for Haskell libraries.")
4818 (license license:bsd-3)))
4819
4820(define-public ghc-haddock-api
4821 (package
4822 (name "ghc-haddock-api")
1b84d8ef 4823 (version "2.22.0")
dddbc90c
RV
4824 (source
4825 (origin
4826 (method url-fetch)
4827 (uri (string-append
4828 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4829 version
4830 ".tar.gz"))
1b84d8ef 4831 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
4832 (sha256
4833 (base32
1b84d8ef 4834 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
4835 (build-system haskell-build-system)
4836 (arguments
4837 `(#:phases
4838 (modify-phases %standard-phases
4839 (add-before 'configure 'update-constraints
4840 (lambda _
4841 (substitute* "haddock-api.cabal"
1b84d8ef
TS
4842 (("QuickCheck \\^>= 2\\.11")
4843 "QuickCheck ^>= 2.13")
4844 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4845 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
4846 (inputs
4847 `(("ghc-paths" ,ghc-paths)
4848 ("ghc-haddock-library" ,ghc-haddock-library)))
4849 (native-inputs
4850 `(("ghc-quickcheck" ,ghc-quickcheck)
4851 ("ghc-hspec" ,ghc-hspec)
4852 ("hspec-discover" ,hspec-discover)))
4853 (home-page "https://www.haskell.org/haddock/")
4854 (synopsis "API for documentation-generation tool Haddock")
4855 (description "This package provides an API to Haddock, the
4856documentation-generation tool for Haskell libraries.")
4857 (license license:bsd-3)))
4858
4859(define-public ghc-haddock-library
4860 (package
4861 (name "ghc-haddock-library")
10707d57 4862 (version "1.7.0")
dddbc90c
RV
4863 (source
4864 (origin
4865 (method url-fetch)
4866 (uri (string-append
4867 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4868 version
4869 ".tar.gz"))
4870 (sha256
4871 (base32
10707d57 4872 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4873 (build-system haskell-build-system)
4874 (arguments
4875 `(#:phases
4876 (modify-phases %standard-phases
10707d57
TS
4877 ;; Since there is no revised Cabal file upstream, we have to
4878 ;; patch it manually.
dddbc90c
RV
4879 (add-before 'configure 'relax-test-suite-dependencies
4880 (lambda _
4881 (substitute* "haddock-library.cabal"
10707d57
TS
4882 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4883 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4884 #t)))))
4885 (native-inputs
4886 `(("ghc-base-compat" ,ghc-base-compat)
4887 ("ghc-hspec" ,ghc-hspec)
4888 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4889 ("ghc-quickcheck" ,ghc-quickcheck)
4890 ("ghc-tree-diff" ,ghc-tree-diff)
4891 ("hspec-discover" ,hspec-discover)))
4892 (home-page "https://www.haskell.org/haddock/")
4893 (synopsis "Library exposing some functionality of Haddock")
4894 (description
4895 "Haddock is a documentation-generation tool for Haskell libraries. These
4896modules expose some functionality of it without pulling in the GHC dependency.
4897Please note that the API is likely to change so specify upper bounds in your
4898project if you can't release often. For interacting with Haddock itself, see
4899the ‘haddock’ package.")
4900 (license license:bsd-3)))
4901
b0d34d23
TS
4902;; This package is needed for testing 'ghc-haddock'. It is no longer
4903;; published to Hackage, but it is maintained in the Haddock Git
4904;; repository.
4905(define ghc-haddock-test
4906 (package
4907 (name "ghc-haddock-test")
4908 (version "2.22.0")
4909 (source
4910 (origin
4911 (method git-fetch)
4912 (uri (git-reference
4913 (url "https://github.com/haskell/haddock.git")
4914 (commit (string-append "haddock-" version "-release"))))
4915 (file-name (git-file-name name version))
4916 (sha256
4917 (base32
4918 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4919 (build-system haskell-build-system)
4920 (arguments
4921 `(#:phases
4922 (modify-phases %standard-phases
4923 (add-after 'unpack 'change-directory
4924 (lambda _
4925 (chdir "haddock-test"))))))
4926 (inputs
4927 `(("ghc-syb" ,ghc-syb)
4928 ("ghc-xml" ,ghc-xml)))
4929 (home-page "http://www.haskell.org/haddock/")
4930 (synopsis "Test utilities for Haddock")
4931 (description "This package provides test utilities for Haddock.")
4932 (license license:bsd-3)
4933 (properties '((hidden? #t)))))
4934
dddbc90c
RV
4935(define-public ghc-half
4936 (package
4937 (name "ghc-half")
4938 (version "0.3")
4939 (source
4940 (origin
4941 (method url-fetch)
4942 (uri (string-append
4943 "https://hackage.haskell.org/package/half/half-"
4944 version ".tar.gz"))
4945 (sha256
4946 (base32
4947 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4948 (build-system haskell-build-system)
4949 (native-inputs
4950 `(("ghc-hspec" ,ghc-hspec)
4951 ("ghc-quickcheck" ,ghc-quickcheck)))
4952 (home-page "https://github.com/ekmett/half")
4953 (synopsis "Half-precision floating-point computations")
4954 (description "This library provides a half-precision floating-point
4955computation library for Haskell.")
4956 (license license:bsd-3)))
4957
4958(define-public ghc-happy
4959 (package
4960 (name "ghc-happy")
90e7b0e4 4961 (version "1.19.12")
dddbc90c
RV
4962 (source
4963 (origin
4964 (method url-fetch)
4965 (uri (string-append
4966 "https://hackage.haskell.org/package/happy/happy-"
4967 version
4968 ".tar.gz"))
4969 (sha256
4970 (base32
90e7b0e4 4971 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4972 (build-system haskell-build-system)
4973 (arguments
4974 `(#:phases
4975 (modify-phases %standard-phases
4976 (add-after 'unpack 'skip-test-issue93
4977 (lambda _
4978 ;; Tests run out of memory on a system with 2GB of available RAM,
4979 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4980 (substitute* "tests/Makefile"
4981 ((" issue93.y ") " "))
4982 #t)))))
4983 (home-page "https://hackage.haskell.org/package/happy")
4984 (synopsis "Parser generator for Haskell")
4985 (description "Happy is a parser generator for Haskell. Given a grammar
4986specification in BNF, Happy generates Haskell code to parse the grammar.
4987Happy works in a similar way to the yacc tool for C.")
4988 (license license:bsd-3)))
4989
4990(define-public ghc-hashable
4991 (package
4992 (name "ghc-hashable")
4993 (version "1.2.7.0")
4994 (outputs '("out" "doc"))
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append
4999 "https://hackage.haskell.org/package/hashable/hashable-"
5000 version
5001 ".tar.gz"))
5002 (sha256
5003 (base32
5004 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5005 (build-system haskell-build-system)
65a16a45
TS
5006 (arguments
5007 `(#:cabal-revision
5008 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5009 (inputs
5010 `(("ghc-random" ,ghc-random)))
5011 (native-inputs
5012 `(("ghc-test-framework" ,ghc-test-framework)
5013 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5014 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5015 ("ghc-hunit" ,ghc-hunit)
5016 ("ghc-quickcheck" ,ghc-quickcheck)))
5017 (home-page "https://github.com/tibbe/hashable")
5018 (synopsis "Class for types that can be converted to a hash value")
5019 (description
5020 "This package defines a class, @code{Hashable}, for types that can be
5021converted to a hash value. This class exists for the benefit of hashing-based
5022data structures. The package provides instances for basic types and a way to
5023combine hash values.")
5024 (license license:bsd-3)))
5025
5026(define-public ghc-hashable-bootstrap
5027 (package
5028 (inherit ghc-hashable)
5029 (name "ghc-hashable-bootstrap")
65a16a45
TS
5030 (arguments
5031 `(#:tests? #f
5032 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5033 (native-inputs '())
5034 (properties '((hidden? #t)))))
5035
5036(define-public ghc-hashable-time
5037 (package
5038 (name "ghc-hashable-time")
f5051e31 5039 (version "0.2.0.2")
dddbc90c
RV
5040 (source
5041 (origin
5042 (method url-fetch)
5043 (uri (string-append
5044 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5045 version
5046 ".tar.gz"))
5047 (sha256
5048 (base32
f5051e31 5049 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5050 (build-system haskell-build-system)
5051 (arguments
5052 `(#:cabal-revision
f5051e31 5053 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5054 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5055 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5056 (synopsis "Hashable instances for Data.Time")
5057 (description
5058 "This package provides @code{Hashable} instances for types in
5059@code{Data.Time}.")
5060 (license license:bsd-3)))
5061
5062(define-public ghc-hashtables
5063 (package
5064 (name "ghc-hashtables")
19edf0d0 5065 (version "1.2.3.4")
dddbc90c
RV
5066 (source
5067 (origin
5068 (method url-fetch)
5069 (uri (string-append
5070 "https://hackage.haskell.org/package/hashtables/hashtables-"
5071 version ".tar.gz"))
5072 (sha256
19edf0d0 5073 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5074 (build-system haskell-build-system)
5075 (inputs
5076 `(("ghc-hashable" ,ghc-hashable)
5077 ("ghc-primitive" ,ghc-primitive)
5078 ("ghc-vector" ,ghc-vector)))
5079 (home-page "https://github.com/gregorycollins/hashtables")
5080 (synopsis "Haskell Mutable hash tables in the ST monad")
5081 (description "This package provides a Haskell library including a
5082couple of different implementations of mutable hash tables in the ST
5083monad, as well as a typeclass abstracting their common operations, and
5084a set of wrappers to use the hash tables in the IO monad.")
5085 (license license:bsd-3)))
5086
5087(define-public ghc-haskell-lexer
5088 (package
5089 (name "ghc-haskell-lexer")
5090 (version "1.0.2")
5091 (source
5092 (origin
5093 (method url-fetch)
5094 (uri (string-append
5095 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5096 version ".tar.gz"))
5097 (sha256
5098 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5099 (build-system haskell-build-system)
3ef91e15 5100 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5101 (synopsis "Fully compliant Haskell 98 lexer")
5102 (description
5103 "This package provides a fully compliant Haskell 98 lexer.")
5104 (license license:bsd-3)))
5105
5106(define-public ghc-haskell-src
5107 (package
5108 (name "ghc-haskell-src")
5109 (version "1.0.3.0")
5110 (source
5111 (origin
5112 (method url-fetch)
5113 (uri (string-append
5114 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5115 version
5116 ".tar.gz"))
5117 (sha256
5118 (base32
5119 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5120 (build-system haskell-build-system)
5121 (inputs
5122 `(("ghc-happy" ,ghc-happy)
5123 ("ghc-syb" ,ghc-syb)))
5124 (home-page
5125 "https://hackage.haskell.org/package/haskell-src")
5126 (synopsis
5127 "Support for manipulating Haskell source code")
5128 (description
5129 "The @code{haskell-src} package provides support for manipulating Haskell
5130source code. The package provides a lexer, parser and pretty-printer, and a
5131definition of a Haskell abstract syntax tree (AST). Common uses of this
5132package are to parse or generate Haskell 98 code.")
5133 (license license:bsd-3)))
5134
5135(define-public ghc-haskell-src-exts
5136 (package
5137 (name "ghc-haskell-src-exts")
37a05591 5138 (version "1.21.1")
dddbc90c
RV
5139 (source
5140 (origin
5141 (method url-fetch)
5142 (uri (string-append
5143 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5144 version
5145 ".tar.gz"))
5146 (sha256
5147 (base32
37a05591 5148 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5149 (build-system haskell-build-system)
5150 (inputs
5151 `(("cpphs" ,cpphs)
5152 ("ghc-happy" ,ghc-happy)
5153 ("ghc-pretty-show" ,ghc-pretty-show)))
5154 (native-inputs
5155 `(("ghc-smallcheck" ,ghc-smallcheck)
5156 ("ghc-tasty" ,ghc-tasty)
5157 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5158 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5159 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5160 (synopsis "Library for manipulating Haskell source")
5161 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5162extension of the standard @code{haskell-src} package, and handles most
5163registered syntactic extensions to Haskell. All extensions implemented in GHC
5164are supported. Apart from these standard extensions, it also handles regular
5165patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5166 (license license:bsd-3)))
5167
5168(define-public ghc-haskell-src-exts-util
5169 (package
5170 (name "ghc-haskell-src-exts-util")
77355bdf 5171 (version "0.2.5")
dddbc90c
RV
5172 (source
5173 (origin
5174 (method url-fetch)
5175 (uri (string-append "https://hackage.haskell.org/package/"
5176 "haskell-src-exts-util/haskell-src-exts-util-"
5177 version ".tar.gz"))
5178 (sha256
5179 (base32
77355bdf 5180 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5181 (build-system haskell-build-system)
5182 (inputs
5183 `(("ghc-data-default" ,ghc-data-default)
5184 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5185 ("ghc-semigroups" ,ghc-semigroups)
5186 ("ghc-uniplate" ,ghc-uniplate)))
5187 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5188 (synopsis "Helper functions for working with haskell-src-exts trees")
5189 (description
5190 "This package provides helper functions for working with
5191@code{haskell-src-exts} trees.")
5192 (license license:bsd-3)))
5193
5194(define-public ghc-haskell-src-meta
5195 (package
5196 (name "ghc-haskell-src-meta")
e94b3c72 5197 (version "0.8.3")
dddbc90c
RV
5198 (source (origin
5199 (method url-fetch)
5200 (uri (string-append "https://hackage.haskell.org/package/"
5201 "haskell-src-meta/haskell-src-meta-"
5202 version ".tar.gz"))
5203 (sha256
5204 (base32
e94b3c72 5205 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5206 (build-system haskell-build-system)
5207 (inputs
5208 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5209 ("ghc-syb" ,ghc-syb)
5210 ("ghc-th-orphans" ,ghc-th-orphans)))
5211 (native-inputs
5212 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5213 ("ghc-tasty" ,ghc-tasty)
5214 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5215 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5216 (synopsis "Parse source to template-haskell abstract syntax")
5217 (description
5218 "This package provides tools to parse Haskell sources to the
5219template-haskell abstract syntax.")
5220 (license license:bsd-3)))
5221
5222(define-public ghc-hasktags
5223 (package
5224 (name "ghc-hasktags")
5225 (version "0.71.2")
5226 (source
5227 (origin
5228 (method url-fetch)
5229 (uri (string-append
5230 "https://hackage.haskell.org/package/hasktags/hasktags-"
5231 version
5232 ".tar.gz"))
5233 (sha256
5234 (base32
5235 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5236 (build-system haskell-build-system)
5237 (inputs
5238 `(("ghc-system-filepath" ,ghc-system-filepath)
5239 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5240 (native-inputs
5241 `(("ghc-json" ,ghc-json)
5242 ("ghc-utf8-string" ,ghc-utf8-string)
5243 ("ghc-microlens-platform" ,ghc-microlens-platform)
5244 ("ghc-hunit" ,ghc-hunit)))
5245 (home-page "http://github.com/MarcWeber/hasktags")
5246 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5247 (description
5248 "This package provides a means of generating tag files for Emacs and
5249Vim.")
5250 (license license:bsd-3)))
5251
5252(define-public ghc-hex
5253 (package
5254 (name "ghc-hex")
5255 (version "0.1.2")
5256 (source
5257 (origin
5258 (method url-fetch)
5259 (uri (string-append "https://hackage.haskell.org/package/"
5260 "hex-" version "/"
5261 "hex-" version ".tar.gz"))
5262 (sha256
5263 (base32
5264 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5265 (build-system haskell-build-system)
5266 (home-page "https://hackage.haskell.org/package/hex")
5267 (synopsis "Convert strings into hexadecimal and back")
5268 (description "This package provides conversion functions between
5269bytestrings and their hexademical representation.")
5270 (license license:bsd-3)))
5271
5272(define-public ghc-highlighting-kate
5273 (package
5274 (name "ghc-highlighting-kate")
5275 (version "0.6.4")
5276 (source (origin
5277 (method url-fetch)
5278 (uri (string-append "https://hackage.haskell.org/package/"
5279 "highlighting-kate/highlighting-kate-"
5280 version ".tar.gz"))
5281 (sha256
5282 (base32
5283 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5284 (build-system haskell-build-system)
5285 (inputs
5286 `(("ghc-diff" ,ghc-diff)
5287 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5288 (native-inputs
5289 `(("ghc-blaze-html" ,ghc-blaze-html)
5290 ("ghc-utf8-string" ,ghc-utf8-string)))
5291 (home-page "https://github.com/jgm/highlighting-kate")
5292 (synopsis "Syntax highlighting library")
5293 (description
5294 "Highlighting-kate is a syntax highlighting library with support for
5295nearly one hundred languages. The syntax parsers are automatically generated
5296from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5297supported by Kate can be added. An (optional) command-line program is
5298provided, along with a utility for generating new parsers from Kate XML syntax
5299descriptions.")
5300 (license license:gpl2+)))
5301
5302(define-public ghc-hindent
5303 (package
5304 (name "ghc-hindent")
f545f894 5305 (version "5.3.1")
dddbc90c
RV
5306 (source
5307 (origin
5308 (method url-fetch)
5309 (uri (string-append
5310 "https://hackage.haskell.org/package/hindent/hindent-"
5311 version
5312 ".tar.gz"))
5313 (sha256
5314 (base32
f545f894 5315 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5316 (build-system haskell-build-system)
5317 (arguments
5318 `(#:modules ((guix build haskell-build-system)
5319 (guix build utils)
5320 (guix build emacs-utils))
5321 #:imported-modules (,@%haskell-build-system-modules
5322 (guix build emacs-utils))
5323 #:phases
5324 (modify-phases %standard-phases
5325 (add-after 'install 'emacs-install
5326 (lambda* (#:key inputs outputs #:allow-other-keys)
5327 (let* ((out (assoc-ref outputs "out"))
5328 (elisp-file "elisp/hindent.el")
d53e87cf 5329 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5330 (emacs (string-append (assoc-ref inputs "emacs")
5331 "/bin/emacs")))
5332 (make-file-writable elisp-file)
5333 (emacs-substitute-variables elisp-file
5334 ("hindent-process-path"
5335 (string-append out "/bin/hindent")))
5336 (install-file elisp-file dest)
5337 (emacs-generate-autoloads "hindent" dest)))))))
5338 (inputs
5339 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5340 ("ghc-monad-loops" ,ghc-monad-loops)
5341 ("ghc-utf8-string" ,ghc-utf8-string)
5342 ("ghc-exceptions" ,ghc-exceptions)
5343 ("ghc-yaml" ,ghc-yaml)
5344 ("ghc-unix-compat" ,ghc-unix-compat)
5345 ("ghc-path" ,ghc-path)
5346 ("ghc-path-io" ,ghc-path-io)
5347 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5348 (native-inputs
5349 `(("ghc-hspec" ,ghc-hspec)
5350 ("ghc-diff" ,ghc-diff)
5351 ("emacs" ,emacs-minimal)))
5352 (home-page
5353 "https://github.com/commercialhaskell/hindent")
5354 (synopsis "Extensible Haskell pretty printer")
5355 (description
5356 "This package provides automatic formatting for Haskell files. Both a
5357library and an executable.")
5358 (license license:bsd-3)))
5359
5360(define-public ghc-hinotify
5361 (package
5362 (name "ghc-hinotify")
c2342abb 5363 (version "0.4")
dddbc90c
RV
5364 (source (origin
5365 (method url-fetch)
5366 (uri (string-append
5367 "https://hackage.haskell.org/package/hinotify/"
5368 "hinotify-" version ".tar.gz"))
5369 (sha256
5370 (base32
c2342abb 5371 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5372 (build-system haskell-build-system)
5373 (inputs
5374 `(("ghc-async" ,ghc-async)))
5375 (home-page "https://github.com/kolmodin/hinotify.git")
5376 (synopsis "Haskell binding to inotify")
5377 (description "This library provides a wrapper to the Linux kernel's inotify
5378feature, allowing applications to subscribe to notifications when a file is
5379accessed or modified.")
5380 (license license:bsd-3)))
5381
5382(define-public ghc-hmatrix
5383 (package
5384 (name "ghc-hmatrix")
65e29ed1 5385 (version "0.20.0.0")
dddbc90c
RV
5386 (source
5387 (origin
5388 (method url-fetch)
5389 (uri (string-append
5390 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5391 version ".tar.gz"))
5392 (sha256
65e29ed1 5393 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5394 (build-system haskell-build-system)
5395 (inputs
5396 `(("ghc-random" ,ghc-random)
5397 ("ghc-split" ,ghc-split)
5398 ("ghc-storable-complex" ,ghc-storable-complex)
5399 ("ghc-semigroups" ,ghc-semigroups)
5400 ("ghc-vector" ,ghc-vector)
5401 ;;("openblas" ,openblas)
5402 ("lapack" ,lapack)))
5403 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5404 ;; disables inclusion of the LAPACK functions.
5405 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5406 (home-page "https://github.com/albertoruiz/hmatrix")
5407 (synopsis "Haskell numeric linear algebra library")
5408 (description "The HMatrix package provices a Haskell library for
5409dealing with linear systems, matrix decompositions, and other
5410numerical computations based on BLAS and LAPACK.")
5411 (license license:bsd-3)))
5412
5413(define-public ghc-hmatrix-gsl
5414 (package
5415 (name "ghc-hmatrix-gsl")
5416 (version "0.19.0.1")
5417 (source
5418 (origin
5419 (method url-fetch)
5420 (uri (string-append
5421 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5422 version ".tar.gz"))
5423 (sha256
5424 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5425 (build-system haskell-build-system)
5426 (inputs
5427 `(("ghc-hmatrix" ,ghc-hmatrix)
5428 ("ghc-vector" ,ghc-vector)
5429 ("ghc-random" ,ghc-random)
5430 ("gsl" ,gsl)))
5431 (native-inputs `(("pkg-config" ,pkg-config)))
5432 (home-page "https://github.com/albertoruiz/hmatrix")
5433 (synopsis "Haskell GSL binding")
5434 (description "This Haskell library provides a purely functional
5435interface to selected numerical computations, internally implemented
5436using GSL.")
5437 (license license:gpl3+)))
5438
5439(define-public ghc-hmatrix-gsl-stats
5440 (package
5441 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5442 (version "0.4.1.8")
dddbc90c
RV
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri
5447 (string-append
5448 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5449 version ".tar.gz"))
5450 (sha256
e9b359f5 5451 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5452 (build-system haskell-build-system)
5453 (inputs
5454 `(("ghc-vector" ,ghc-vector)
5455 ("ghc-storable-complex" ,ghc-storable-complex)
5456 ("ghc-hmatrix" ,ghc-hmatrix)
5457 ("gsl" ,gsl)))
5458 (native-inputs `(("pkg-config" ,pkg-config)))
5459 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5460 (synopsis "GSL Statistics interface for Haskell")
5461 (description "This Haskell library provides a purely functional
5462interface for statistics based on hmatrix and GSL.")
5463 (license license:bsd-3)))
5464
5465(define-public ghc-hmatrix-special
5466 (package
5467 (name "ghc-hmatrix-special")
5468 (version "0.19.0.0")
5469 (source
5470 (origin
5471 (method url-fetch)
5472 (uri
5473 (string-append
5474 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5475 version ".tar.gz"))
5476 (sha256
5477 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-hmatrix" ,ghc-hmatrix)
5481 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5482 (home-page "https://github.com/albertoruiz/hmatrix")
5483 (synopsis "Haskell interface to GSL special functions")
5484 (description "This library provides an interface to GSL special
5485functions for Haskell.")
5486 (license license:gpl3+)))
5487
5488(define-public ghc-hostname
5489 (package
5490 (name "ghc-hostname")
5491 (version "1.0")
5492 (source
5493 (origin
5494 (method url-fetch)
5495 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5496 "hostname-" version ".tar.gz"))
5497 (sha256
5498 (base32
5499 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5500 (build-system haskell-build-system)
5501 (home-page "https://hackage.haskell.org/package/hostname")
5502 (synopsis "Hostname in Haskell")
5503 (description "Network.HostName is a simple package providing a means to
5504determine the hostname.")
5505 (license license:bsd-3)))
5506
5507(define-public ghc-hourglass
5508 (package
5509 (name "ghc-hourglass")
5510 (version "0.2.12")
5511 (source (origin
5512 (method url-fetch)
5513 (uri (string-append "https://hackage.haskell.org/package/"
5514 "hourglass/hourglass-" version ".tar.gz"))
5515 (sha256
5516 (base32
5517 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5518 (build-system haskell-build-system)
5519 (inputs
5520 `(("ghc-old-locale" ,ghc-old-locale)))
5521 (native-inputs
5522 `(("ghc-tasty" ,ghc-tasty)
5523 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5524 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5525 (home-page "https://github.com/vincenthz/hs-hourglass")
5526 (synopsis "Simple time-related library for Haskell")
5527 (description
5528 "This is a simple time library providing a simple but powerful and
5529performant API. The backbone of the library are the @code{Timeable} and
5530@code{Time} type classes. Each @code{Timeable} instances can be converted to
5531a type that has a @code{Time} instances, and thus are different
5532representations of current time.")
5533 (license license:bsd-3)))
5534
5535(define-public ghc-hpack
5536 (package
5537 (name "ghc-hpack")
06344a3a 5538 (version "0.31.2")
dddbc90c
RV
5539 (source
5540 (origin
5541 (method url-fetch)
5542 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5543 "hpack-" version ".tar.gz"))
06344a3a 5544 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5545 (sha256
5546 (base32
06344a3a 5547 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5548 (build-system haskell-build-system)
5549 (inputs
5550 `(("ghc-aeson" ,ghc-aeson)
5551 ("ghc-bifunctors" ,ghc-bifunctors)
5552 ("ghc-cryptonite" ,ghc-cryptonite)
5553 ("ghc-glob" ,ghc-glob)
5554 ("ghc-http-client" ,ghc-http-client)
5555 ("ghc-http-client-tls" ,ghc-http-client-tls)
5556 ("ghc-http-types" ,ghc-http-types)
06344a3a 5557 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5558 ("ghc-scientific" ,ghc-scientific)
5559 ("ghc-unordered-containers" ,ghc-unordered-containers)
5560 ("ghc-vector" ,ghc-vector)
5561 ("ghc-yaml" ,ghc-yaml)))
5562 (native-inputs
5563 `(("ghc-hspec" ,ghc-hspec)
5564 ("ghc-hunit" ,ghc-hunit)
5565 ("ghc-interpolate" ,ghc-interpolate)
5566 ("ghc-mockery" ,ghc-mockery)
5567 ("ghc-quickcheck" ,ghc-quickcheck)
5568 ("ghc-temporary" ,ghc-temporary)
5569 ("hspec-discover" ,hspec-discover)))
5570 (home-page "https://github.com/sol/hpack")
5571 (synopsis "Tools for an alternative Haskell package format")
5572 (description
5573 "Hpack is a format for Haskell packages. It is an alternative to the
5574Cabal package format and follows different design principles. Hpack packages
5575are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5576@code{stack} support @code{package.yaml} natively. For other build tools the
5577@code{hpack} executable can be used to generate a @code{.cabal} file from
5578@code{package.yaml}.")
5579 (license license:expat)))
5580
5581(define-public ghc-hs-bibutils
5582 (package
5583 (name "ghc-hs-bibutils")
ebcb4f23 5584 (version "6.7.0.0")
dddbc90c
RV
5585 (source
5586 (origin
5587 (method url-fetch)
5588 (uri (string-append
5589 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5590 version ".tar.gz"))
5591 (sha256
5592 (base32
ebcb4f23 5593 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5594 (build-system haskell-build-system)
5595 (inputs `(("ghc-syb" ,ghc-syb)))
5596 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5597 (synopsis "Haskell bindings to bibutils")
5598 (description
5599 "This package provides Haskell bindings to @code{bibutils}, a library
5600that interconverts between various bibliography formats using a common
5601MODS-format XML intermediate.")
5602 (license license:gpl2+)))
5603
5604(define-public ghc-hslogger
5605 (package
5606 (name "ghc-hslogger")
e5ccc5f7 5607 (version "1.2.12")
dddbc90c
RV
5608 (source
5609 (origin
5610 (method url-fetch)
5611 (uri (string-append "https://hackage.haskell.org/package/"
5612 "hslogger-" version "/" "hslogger-"
5613 version ".tar.gz"))
5614 (sha256 (base32
e5ccc5f7 5615 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5616 (build-system haskell-build-system)
5617 (inputs
5618 `(("ghc-network" ,ghc-network)
5619 ("ghc-old-locale" ,ghc-old-locale)))
5620 (native-inputs
5621 `(("ghc-hunit" ,ghc-hunit)))
5622 (home-page "https://software.complete.org/hslogger")
5623 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5624 (description "Hslogger lets each log message have a priority and source be
5625associated with it. The programmer can then define global handlers that route
5626or filter messages based on the priority and source. It also has a syslog
5627handler built in.")
5628 (license license:bsd-3)))
5629
5630(define-public ghc-hslua
5631 (package
5632 (name "ghc-hslua")
cc784d7b 5633 (version "1.0.3.2")
dddbc90c
RV
5634 (source (origin
5635 (method url-fetch)
5636 (uri (string-append "https://hackage.haskell.org/package/"
5637 "hslua/hslua-" version ".tar.gz"))
5638 (sha256
5639 (base32
cc784d7b 5640 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5641 (build-system haskell-build-system)
5642 (arguments
5643 `(#:configure-flags '("-fsystem-lua")))
5644 (inputs
5645 `(("lua" ,lua)
5646 ("ghc-exceptions" ,ghc-exceptions)
5647 ("ghc-fail" ,ghc-fail)))
5648 (native-inputs
5649 `(("ghc-tasty" ,ghc-tasty)
5650 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5651 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5652 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5653 ("ghc-quickcheck" ,ghc-quickcheck)
5654 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5655 (home-page "https://hackage.haskell.org/package/hslua")
5656 (synopsis "Lua language interpreter embedding in Haskell")
5657 (description
5658 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5659described in @url{https://www.lua.org/}.")
5660 (license license:expat)))
5661
ff303e4e
TS
5662(define-public ghc-hslua-module-system
5663 (package
5664 (name "ghc-hslua-module-system")
5665 (version "0.2.1")
5666 (source
5667 (origin
5668 (method url-fetch)
5669 (uri (string-append "https://hackage.haskell.org/package/"
5670 "hslua-module-system/hslua-module-system-"
5671 version ".tar.gz"))
5672 (sha256
5673 (base32
5674 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5675 (build-system haskell-build-system)
5676 (inputs
5677 `(("ghc-exceptions" ,ghc-exceptions)
5678 ("ghc-hslua" ,ghc-hslua)
5679 ("ghc-temporary" ,ghc-temporary)))
5680 (native-inputs
5681 `(("ghc-tasty" ,ghc-tasty)
5682 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5683 (home-page "https://github.com/hslua/hslua-module-system")
5684 (synopsis "Lua module wrapper around Haskell's System module")
5685 (description "This library provides access to system information and
5686functionality to Lua scripts via Haskell's @code{System} module. Intended
5687usage for this package is to preload it by adding the loader function to
5688@code{package.preload}. Note that the Lua @code{package} library must have
5689already been loaded before the loader can be added.")
5690 (license license:expat)))
5691
dddbc90c
RV
5692(define-public ghc-hslua-module-text
5693 (package
5694 (name "ghc-hslua-module-text")
ecaf0b0c 5695 (version "0.2.1")
dddbc90c
RV
5696 (source
5697 (origin
5698 (method url-fetch)
5699 (uri (string-append "https://hackage.haskell.org/package/"
5700 "hslua-module-text/hslua-module-text-"
5701 version ".tar.gz"))
5702 (sha256
5703 (base32
ecaf0b0c 5704 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5705 (build-system haskell-build-system)
dddbc90c
RV
5706 (inputs
5707 `(("ghc-hslua" ,ghc-hslua)))
5708 (native-inputs
5709 `(("ghc-tasty" ,ghc-tasty)
5710 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5711 (home-page "https://github.com/hslua/hslua-module-text")
5712 (synopsis "Lua module for text")
5713 (description
5714 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5715for Haskell. The functions provided by this module are @code{upper},
5716@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5717 (license license:expat)))
5718
fac520bf
TS
5719(define-public ghc-hsyaml
5720 (package
5721 (name "ghc-hsyaml")
5722 (version "0.1.2.0")
5723 (source
5724 (origin
5725 (method url-fetch)
5726 (uri (string-append "https://hackage.haskell.org/package/"
5727 "HsYAML/HsYAML-" version ".tar.gz"))
5728 (sha256
5729 (base32
5730 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5731 (build-system haskell-build-system)
5732 (arguments
5733 `(#:cabal-revision
5734 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5735 (home-page "https://github.com/haskell-hvr/HsYAML")
5736 (synopsis "Pure Haskell YAML 1.2 parser")
5737 (description "This library provides a
5738@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5739for Haskell. Its features include:
5740
5741@itemize
5742@item Pure Haskell implementation with small dependency footprint and
5743emphasis on strict compliance with the YAML 1.2 specification.
5744
5745@item Direct decoding to native Haskell types via (aeson-inspired)
5746typeclass-based API (see @code{Data.YAML}).
5747
5748@item Support for constructing custom YAML node graph
5749representation (including support for cyclic YAML data structures).
5750
5751@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5752@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5753typing rules as defined in the YAML 1.2 specification (including support
5754for user-defined custom schemas).
5755
5756@item Event-based API resembling LibYAML's Event-based API (see
5757@code{Data.YAML.Event}).
5758
5759@item Low-level API access to lexical token-based scanner (see
5760@code{Data.YAML.Token}).
5761@end itemize")
5762 (license license:gpl2+)))
5763
dddbc90c
RV
5764(define-public ghc-http-api-data
5765 (package
5766 (name "ghc-http-api-data")
a57236eb 5767 (version "0.4.1")
dddbc90c
RV
5768 (source
5769 (origin
5770 (method url-fetch)
5771 (uri (string-append "https://hackage.haskell.org/package/"
5772 "http-api-data-" version "/"
5773 "http-api-data-" version ".tar.gz"))
5774 (sha256
5775 (base32
a57236eb 5776 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5777 (build-system haskell-build-system)
dddbc90c
RV
5778 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5779 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5780 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5781 ("ghc-hashable" ,ghc-hashable)
5782 ("ghc-http-types" ,ghc-http-types)
a57236eb 5783 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5784 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5785 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5786 (native-inputs
5787 `(("cabal-doctest" ,cabal-doctest)
5788 ("ghc-nats" ,ghc-nats)
5789 ("ghc-hunit" ,ghc-hunit)
5790 ("ghc-hspec" ,ghc-hspec)
5791 ("ghc-quickcheck" ,ghc-quickcheck)
5792 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5793 ("ghc-doctest" ,ghc-doctest)
5794 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5795 (home-page "https://github.com/fizruk/http-api-data")
5796 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5797query parameters")
5798 (description "This Haskell package defines typeclasses used for converting
5799Haskell data types to and from HTTP API data.")
5800 (license license:bsd-3)))
5801
5802(define-public ghc-ieee754
5803 (package
5804 (name "ghc-ieee754")
5805 (version "0.8.0")
5806 (source (origin
5807 (method url-fetch)
5808 (uri (string-append
5809 "https://hackage.haskell.org/package/ieee754/"
5810 "ieee754-" version ".tar.gz"))
5811 (sha256
5812 (base32
5813 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5814 (build-system haskell-build-system)
5815 (home-page "https://github.com/patperry/hs-ieee754")
5816 (synopsis "Utilities for dealing with IEEE floating point numbers")
5817 (description "Utilities for dealing with IEEE floating point numbers,
5818ported from the Tango math library; approximate and exact equality comparisons
5819for general types.")
5820 (license license:bsd-3)))
5821
5822(define-public ghc-ifelse
5823 (package
5824 (name "ghc-ifelse")
5825 (version "0.85")
5826 (source
5827 (origin
5828 (method url-fetch)
5829 (uri (string-append "https://hackage.haskell.org/package/"
5830 "IfElse/IfElse-" version ".tar.gz"))
5831 (sha256
5832 (base32
5833 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5834 (build-system haskell-build-system)
3ef91e15 5835 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
5836 (synopsis "Monadic control flow with anaphoric variants")
5837 (description "This library provides functions for control flow inside of
5838monads with anaphoric variants on @code{if} and @code{when} and a C-like
5839@code{switch} function.")
5840 (license license:bsd-3)))
5841
5842(define-public ghc-indents
5843 (package
5844 (name "ghc-indents")
d66473fb 5845 (version "0.5.0.1")
dddbc90c
RV
5846 (source (origin
5847 (method url-fetch)
5848 (uri (string-append
5849 "https://hackage.haskell.org/package/indents/indents-"
5850 version ".tar.gz"))
5851 (sha256
5852 (base32
d66473fb 5853 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5854 (build-system haskell-build-system)
5855 ;; This package needs an older version of tasty.
5856 (arguments '(#:tests? #f))
5857 (inputs
5858 `(("ghc-concatenative" ,ghc-concatenative)))
5859 (native-inputs
5860 `(("ghc-tasty" ,ghc-tasty)
5861 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5862 (home-page "http://patch-tag.com/r/salazar/indents")
5863 (synopsis "Indentation sensitive parser-combinators for parsec")
5864 (description
5865 "This library provides functions for use in parsing indentation sensitive
5866contexts. It parses blocks of lines all indented to the same level as well as
5867lines continued at an indented level below.")
5868 (license license:bsd-3)))
5869
1f656b17
TS
5870(define-public ghc-infer-license
5871 (package
5872 (name "ghc-infer-license")
5873 (version "0.2.0")
5874 (source
5875 (origin
5876 (method url-fetch)
5877 (uri (string-append "https://hackage.haskell.org/package/"
5878 "infer-license/infer-license-" version ".tar.gz"))
5879 (sha256
5880 (base32
5881 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5882 (build-system haskell-build-system)
5883 (inputs
5884 `(("ghc-text-metrics" ,ghc-text-metrics)))
5885 (native-inputs
5886 `(("ghc-hspec" ,ghc-hspec)
5887 ("hspec-discover" ,hspec-discover)))
3ef91e15 5888 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
5889 (synopsis "Infer software license from a given license file")
5890 (description "This library provides tools to infer a software
5891license from a given license file.")
5892 (license license:expat)))
5893
dddbc90c
RV
5894(define-public ghc-inline-c
5895 (package
5896 (name "ghc-inline-c")
55ec98f2 5897 (version "0.7.0.1")
dddbc90c
RV
5898 (source
5899 (origin
5900 (method url-fetch)
5901 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5902 "inline-c-" version ".tar.gz"))
5903 (sha256
5904 (base32
55ec98f2 5905 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5906 (build-system haskell-build-system)
5907 (inputs
5908 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5909 ("ghc-cryptohash" ,ghc-cryptohash)
5910 ("ghc-hashable" ,ghc-hashable)
5911 ("ghc-parsers" ,ghc-parsers)
5912 ("ghc-unordered-containers" ,ghc-unordered-containers)
5913 ("ghc-vector" ,ghc-vector)))
5914 (native-inputs
5915 `(("ghc-quickcheck" ,ghc-quickcheck)
5916 ("ghc-hspec" ,ghc-hspec)
5917 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5918 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 5919 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
5920 (synopsis "Write Haskell source files including C code inline")
5921 (description
5922 "inline-c lets you seamlessly call C libraries and embed high-performance
5923inline C code in Haskell modules. Haskell and C can be freely intermixed in
5924the same source file, and data passed to and from code in either language with
5925minimal overhead. No FFI required.")
5926 (license license:expat)))
5927
5928(define-public ghc-inline-c-cpp
5929 (package
5930 (name "ghc-inline-c-cpp")
cae58e56 5931 (version "0.3.0.3")
dddbc90c
RV
5932 (source
5933 (origin
5934 (method url-fetch)
5935 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5936 "inline-c-cpp-" version ".tar.gz"))
5937 (sha256
5938 (base32
cae58e56 5939 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5940 (build-system haskell-build-system)
5941 (inputs
5942 `(("ghc-inline-c" ,ghc-inline-c)
5943 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5944 (native-inputs
5945 `(("ghc-hspec" ,ghc-hspec)))
5946 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5947 (synopsis "Lets you embed C++ code into Haskell")
5948 (description
5949 "This package provides utilities to inline C++ code into Haskell using
5950@code{inline-c}.")
5951 (license license:expat)))
5952
5953(define-public ghc-integer-logarithms
5954 (package
5955 (name "ghc-integer-logarithms")
86a704db 5956 (version "1.0.3")
dddbc90c
RV
5957 (source
5958 (origin
5959 (method url-fetch)
5960 (uri (string-append "https://hackage.haskell.org/package/"
5961 "integer-logarithms/integer-logarithms-"
5962 version ".tar.gz"))
5963 (sha256
5964 (base32
86a704db 5965 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5966 (build-system haskell-build-system)
5967 (arguments
5968 `(#:phases
5969 (modify-phases %standard-phases
5970 (add-before 'configure 'update-constraints
5971 (lambda _
5972 (substitute* "integer-logarithms.cabal"
5973 (("tasty >= 0\\.10 && < 1\\.1")
5974 "tasty >= 0.10 && < 1.2")))))))
5975 (native-inputs
5976 `(("ghc-quickcheck" ,ghc-quickcheck)
5977 ("ghc-smallcheck" ,ghc-smallcheck)
5978 ("ghc-tasty" ,ghc-tasty)
5979 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5980 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5981 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5982 (home-page "https://github.com/Bodigrim/integer-logarithms")
5983 (synopsis "Integer logarithms")
5984 (description
5985 "This package provides the following modules:
5986@code{Math.NumberTheory.Logarithms} and
5987@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5988@code{GHC.Integer.Logarithms.Compat} and
5989@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5990in migrated modules.")
5991 (license license:expat)))
5992
5993(define-public ghc-integer-logarithms-bootstrap
5994 (package
5995 (inherit ghc-integer-logarithms)
5996 (name "ghc-integer-logarithms-bootstrap")
5997 (arguments `(#:tests? #f))
5998 (native-inputs '())
799d8d3c 5999 (properties '((hidden? #t)))))
dddbc90c
RV
6000
6001(define-public ghc-interpolate
6002 (package
6003 (name "ghc-interpolate")
6004 (version "0.2.0")
6005 (source
6006 (origin
6007 (method url-fetch)
6008 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6009 "interpolate-" version ".tar.gz"))
6010 (sha256
6011 (base32
6012 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6013 (build-system haskell-build-system)
6014 (inputs
6015 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6016 (native-inputs
6017 `(("ghc-base-compat" ,ghc-base-compat)
6018 ("ghc-hspec" ,ghc-hspec)
6019 ("ghc-quickcheck" ,ghc-quickcheck)
6020 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6021 ("hspec-discover" ,hspec-discover)))
6022 (home-page "https://github.com/sol/interpolate")
6023 (synopsis "String interpolation library")
6024 (description "This package provides a string interpolation library for
6025Haskell.")
6026 (license license:expat)))
6027
6028(define-public ghc-intervalmap
6029 (package
6030 (name "ghc-intervalmap")
e4946e32 6031 (version "0.6.1.1")
dddbc90c
RV
6032 (source
6033 (origin
6034 (method url-fetch)
6035 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6036 "IntervalMap-" version ".tar.gz"))
6037 (sha256
6038 (base32
e4946e32 6039 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6040 (build-system haskell-build-system)
6041 (native-inputs
6042 `(("ghc-quickcheck" ,ghc-quickcheck)))
6043 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6044 (synopsis "Containers for intervals, with efficient search")
6045 (description
6046 "This package provides ordered containers of intervals, with efficient
6047search for all keys containing a point or overlapping an interval. See the
6048example code on the home page for a quick introduction.")
6049 (license license:bsd-3)))
6050
f7ca1fa8
TS
6051(define-public ghc-intervals
6052 (package
6053 (name "ghc-intervals")
6054 (version "0.8.1")
6055 (source
6056 (origin
6057 (method url-fetch)
6058 (uri (string-append "https://hackage.haskell.org/package/"
6059 "intervals/intervals-" version ".tar.gz"))
6060 (sha256
6061 (base32
6062 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6063 (build-system haskell-build-system)
6064 (inputs
6065 `(("ghc-distributive" ,ghc-distributive)))
6066 (native-inputs
6067 `(("cabal-doctest" ,cabal-doctest)
6068 ("ghc-doctest" ,ghc-doctest)
6069 ("ghc-quickcheck" ,ghc-quickcheck)))
6070 (arguments
6071 `(#:cabal-revision
6072 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6073 (home-page "https://github.com/ekmett/intervals")
6074 (synopsis "Interval arithmetic")
6075 (description "This library provides
6076@code{Numeric.Interval.Interval}, which represets a closed, convex set
6077of floating point values.")
6078 (license license:bsd-3)))
6079
dddbc90c
RV
6080(define-public ghc-invariant
6081 (package
6082 (name "ghc-invariant")
d3a0e0b4 6083 (version "0.5.3")
dddbc90c
RV
6084 (source
6085 (origin
6086 (method url-fetch)
6087 (uri (string-append
6088 "https://hackage.haskell.org/package/invariant/invariant-"
6089 version ".tar.gz"))
6090 (sha256
6091 (base32
d3a0e0b4 6092 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6093 (build-system haskell-build-system)
6094 (inputs
6095 `(("ghc-bifunctors" ,ghc-bifunctors)
6096 ("ghc-comonad" ,ghc-comonad)
6097 ("ghc-contravariant" ,ghc-contravariant)
6098 ("ghc-profunctors" ,ghc-profunctors)
6099 ("ghc-semigroups" ,ghc-semigroups)
6100 ("ghc-statevar" ,ghc-statevar)
6101 ("ghc-tagged" ,ghc-tagged)
6102 ("ghc-th-abstraction" ,ghc-th-abstraction)
6103 ("ghc-transformers-compat" ,ghc-transformers-compat)
6104 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6105 (native-inputs
6106 `(("ghc-hspec" ,ghc-hspec)
6107 ("ghc-quickcheck" ,ghc-quickcheck)
6108 ("hspec-discover" ,hspec-discover)))
6109 (home-page "https://github.com/nfrisby/invariant-functors")
6110 (synopsis "Haskell98 invariant functors")
6111 (description "Haskell98 invariant functors (also known as exponential
6112functors). For more information, see Edward Kmett's article
6113@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6114 (license license:bsd-2)))
6115
6116(define-public ghc-io-streams
6117 (package
6118 (name "ghc-io-streams")
59e98d75 6119 (version "1.5.1.0")
dddbc90c
RV
6120 (source
6121 (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/"
6124 "io-streams/io-streams-" version ".tar.gz"))
6125 (sha256
6126 (base32
59e98d75 6127 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6128 (build-system haskell-build-system)
6129 (inputs
6130 `(("ghc-attoparsec" ,ghc-attoparsec)
6131 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6132 ("ghc-network" ,ghc-network)
6133 ("ghc-primitive" ,ghc-primitive)
6134 ("ghc-vector" ,ghc-vector)
6135 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6136 (native-inputs
6137 `(("ghc-hunit" ,ghc-hunit)
6138 ("ghc-quickcheck" ,ghc-quickcheck)
6139 ("ghc-test-framework" ,ghc-test-framework)
6140 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6141 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6142 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6143 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6144 (synopsis "Simple and composable stream I/O")
6145 (description "This library contains simple and easy-to-use
6146primitives for I/O using streams.")
6147 (license license:bsd-3)))
6148
6149(define-public ghc-io-streams-haproxy
6150 (package
6151 (name "ghc-io-streams-haproxy")
1a4fbc36 6152 (version "1.0.1.0")
dddbc90c
RV
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (string-append "https://hackage.haskell.org/package/"
6157 "io-streams-haproxy/io-streams-haproxy-"
6158 version ".tar.gz"))
6159 (sha256
6160 (base32
1a4fbc36 6161 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6162 (build-system haskell-build-system)
6163 (inputs
6164 `(("ghc-attoparsec" ,ghc-attoparsec)
6165 ("ghc-io-streams" ,ghc-io-streams)
6166 ("ghc-network" ,ghc-network)))
6167 (native-inputs
6168 `(("ghc-hunit" ,ghc-hunit)
6169 ("ghc-test-framework" ,ghc-test-framework)
6170 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6171 (home-page "http://snapframework.com/")
6172 (synopsis "HAProxy protocol 1.5 support for io-streams")
6173 (description "HAProxy protocol version 1.5 support
6174(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6175for applications using io-streams. The proxy protocol allows information
6176about a networked peer (like remote address and port) to be propagated
6177through a forwarding proxy that is configured to speak this protocol.")
6178 (license license:bsd-3)))
6179
6180(define-public ghc-iproute
6181 (package
6182 (name "ghc-iproute")
ec25d536 6183 (version "1.7.7")
dddbc90c
RV
6184 (source
6185 (origin
6186 (method url-fetch)
6187 (uri (string-append
6188 "https://hackage.haskell.org/package/iproute/iproute-"
6189 version
6190 ".tar.gz"))
6191 (sha256
6192 (base32
ec25d536 6193 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6194 (build-system haskell-build-system)
6195 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6196 ; exported by ghc-byteorder. Doctest issue.
6197 (inputs
6198 `(("ghc-appar" ,ghc-appar)
6199 ("ghc-byteorder" ,ghc-byteorder)
6200 ("ghc-network" ,ghc-network)
6201 ("ghc-safe" ,ghc-safe)))
6202 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6203 (synopsis "IP routing table")
6204 (description "IP Routing Table is a tree of IP ranges to search one of
6205them on the longest match base. It is a kind of TRIE with one way branching
6206removed. Both IPv4 and IPv6 are supported.")
6207 (license license:bsd-3)))
6208
4828e54e
TS
6209(define-public ghc-ipynb
6210 (package
6211 (name "ghc-ipynb")
6212 (version "0.1")
6213 (source
6214 (origin
6215 (method url-fetch)
6216 (uri (string-append "https://hackage.haskell.org/package/"
6217 "ipynb/ipynb-" version ".tar.gz"))
6218 (sha256
6219 (base32
6220 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6221 (build-system haskell-build-system)
6222 (inputs
6223 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6224 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6225 ("ghc-aeson" ,ghc-aeson)
6226 ("ghc-semigroups" ,ghc-semigroups)))
6227 (native-inputs
6228 `(("ghc-tasty" ,ghc-tasty)
6229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6230 ("ghc-aeson-diff" ,ghc-aeson-diff)
6231 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6232 ("ghc-microlens" ,ghc-microlens)
6233 ("ghc-vector" ,ghc-vector)))
6234 (home-page "https://hackage.haskell.org/package/ipynb")
6235 (synopsis "Data structure for working with Jupyter notebooks")
6236 (description "This library defines a data structure for representing
6237Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6238instances for conversion to and from JSON .ipynb files.")
6239 (license license:bsd-3)))
6240
dddbc90c
RV
6241(define-public ghc-iwlib
6242 (package
6243 (name "ghc-iwlib")
6244 (version "0.1.0")
6245 (source
6246 (origin
6247 (method url-fetch)
6248 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6249 version ".tar.gz"))
6250 (sha256
6251 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6252 (build-system haskell-build-system)
6253 (inputs
6254 `(("wireless-tools" ,wireless-tools)))
6255 (home-page "https://github.com/jaor/iwlib")
6256 (synopsis "Haskell binding to the iw wireless networking library")
6257 (description
6258 "IWlib is a thin Haskell binding to the iw C library. It provides
6259information about the current wireless network connections, and adapters on
6260supported systems.")
6261 (license license:bsd-3)))
6262
6263(define-public ghc-json
6264 (package
6265 (name "ghc-json")
0ad3d574 6266 (version "0.9.3")
dddbc90c
RV
6267 (source
6268 (origin
6269 (method url-fetch)
6270 (uri (string-append "https://hackage.haskell.org/package/json/"
6271 "json-" version ".tar.gz"))
6272 (sha256
6273 (base32
0ad3d574 6274 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6275 (build-system haskell-build-system)
6276 (inputs
6277 `(("ghc-syb" ,ghc-syb)))
6278 (home-page "https://hackage.haskell.org/package/json")
6279 (synopsis "Serializes Haskell data to and from JSON")
6280 (description "This package provides a parser and pretty printer for
6281converting between Haskell values and JSON.
6282JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6283 (license license:bsd-3)))
6284
6285(define-public ghc-juicypixels
6286 (package
6287 (name "ghc-juicypixels")
b50b6004 6288 (version "3.3.4")
dddbc90c
RV
6289 (source (origin
6290 (method url-fetch)
6291 (uri (string-append "https://hackage.haskell.org/package/"
6292 "JuicyPixels/JuicyPixels-"
6293 version ".tar.gz"))
6294 (sha256
6295 (base32
b50b6004 6296 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6297 (build-system haskell-build-system)
6298 (inputs
6299 `(("ghc-zlib" ,ghc-zlib)
6300 ("ghc-vector" ,ghc-vector)
6301 ("ghc-primitive" ,ghc-primitive)
6302 ("ghc-mmap" ,ghc-mmap)))
6303 (home-page "https://github.com/Twinside/Juicy.Pixels")
6304 (synopsis "Picture loading and serialization library")
6305 (description
6306 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6307TIFF and GIF formats.")
6308 (license license:bsd-3)))
6309
6310(define-public ghc-kan-extensions
6311 (package
6312 (name "ghc-kan-extensions")
6313 (version "5.2")
6314 (source
6315 (origin
6316 (method url-fetch)
6317 (uri (string-append
6318 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6319 version
6320 ".tar.gz"))
6321 (sha256
6322 (base32
6323 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6324 (build-system haskell-build-system)
6325 (inputs
6326 `(("ghc-adjunctions" ,ghc-adjunctions)
6327 ("ghc-comonad" ,ghc-comonad)
6328 ("ghc-contravariant" ,ghc-contravariant)
6329 ("ghc-distributive" ,ghc-distributive)
6330 ("ghc-free" ,ghc-free)
6331 ("ghc-invariant" ,ghc-invariant)
6332 ("ghc-semigroupoids" ,ghc-semigroupoids)
6333 ("ghc-tagged" ,ghc-tagged)
6334 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6335 (home-page "https://github.com/ekmett/kan-extensions/")
6336 (synopsis "Kan extensions library")
6337 (description "This library provides Kan extensions, Kan lifts, various
6338forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6339 (license license:bsd-3)))
6340
6341(define-public ghc-language-c
6342 (package
6343 (name "ghc-language-c")
4e1cf651 6344 (version "0.8.3")
dddbc90c
RV
6345 (source
6346 (origin
6347 (method url-fetch)
6348 (uri (string-append "https://hackage.haskell.org/package/"
6349 "language-c/language-c-" version ".tar.gz"))
6350 (sha256
6351 (base32
4e1cf651 6352 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6353 (build-system haskell-build-system)
6354 (inputs `(("ghc-syb" ,ghc-syb)))
6355 (native-inputs
6356 `(("ghc-happy" ,ghc-happy)
6357 ("ghc-alex" ,ghc-alex)))
6358 (home-page "https://visq.github.io/language-c/")
6359 (synopsis "Analysis and generation of C code")
6360 (description
6361 "Language C is a Haskell library for the analysis and generation of C code.
6362It features a complete, well-tested parser and pretty printer for all of C99
6363and a large set of GNU extensions.")
6364 (license license:bsd-3)))
6365
6366(define-public ghc-language-glsl
6367 (package
6368 (name "ghc-language-glsl")
6369 (version "0.3.0")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/"
6374 "language-glsl/language-glsl-" version ".tar.gz"))
6375 (sha256
6376 (base32
6377 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6378 (build-system haskell-build-system)
6379 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6380 (arguments
6381 `(#:tests? #f
6382 #:cabal-revision
6383 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6384 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6385 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6386 (description "This package is a Haskell library for the
6387representation, parsing, and pretty-printing of GLSL 1.50 code.")
6388 (license license:bsd-3)))
6389
6390(define-public ghc-language-haskell-extract
6391 (package
6392 (name "ghc-language-haskell-extract")
6393 (version "0.2.4")
6394 (source
6395 (origin
6396 (method url-fetch)
6397 (uri (string-append "https://hackage.haskell.org/package/"
6398 "language-haskell-extract-" version "/"
6399 "language-haskell-extract-" version ".tar.gz"))
6400 (sha256
6401 (base32
6402 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6403 (build-system haskell-build-system)
6404 (inputs
6405 `(("ghc-regex-posix" ,ghc-regex-posix)))
6406 (home-page "https://github.com/finnsson/template-helper")
6407 (synopsis "Haskell module to automatically extract functions from
6408the local code")
6409 (description "This package contains helper functions on top of
6410Template Haskell.
6411
6412For example, @code{functionExtractor} extracts all functions after a
6413regexp-pattern, which can be useful if you wish to extract all functions
6414beginning with @code{test} (for a test framework) or all functions beginning
6415with @code{wc} (for a web service).")
6416 (license license:bsd-3)))
6417
6418(define-public ghc-lens
6419 (package
6420 (name "ghc-lens")
262e6323 6421 (version "4.17.1")
dddbc90c
RV
6422 (source
6423 (origin
6424 (method url-fetch)
6425 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6426 version ".tar.gz"))
6427 (sha256
6428 (base32
262e6323 6429 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6430 (build-system haskell-build-system)
dddbc90c
RV
6431 (inputs
6432 `(("ghc-base-orphans" ,ghc-base-orphans)
6433 ("ghc-bifunctors" ,ghc-bifunctors)
6434 ("ghc-distributive" ,ghc-distributive)
6435 ("ghc-exceptions" ,ghc-exceptions)
6436 ("ghc-free" ,ghc-free)
6437 ("ghc-kan-extensions" ,ghc-kan-extensions)
6438 ("ghc-parallel" ,ghc-parallel)
6439 ("ghc-reflection" ,ghc-reflection)
6440 ("ghc-semigroupoids" ,ghc-semigroupoids)
6441 ("ghc-vector" ,ghc-vector)
6442 ("ghc-call-stack" ,ghc-call-stack)
6443 ("ghc-comonad" ,ghc-comonad)
6444 ("ghc-contravariant" ,ghc-contravariant)
6445 ("ghc-hashable" ,ghc-hashable)
6446 ("ghc-profunctors" ,ghc-profunctors)
6447 ("ghc-semigroups" ,ghc-semigroups)
6448 ("ghc-tagged" ,ghc-tagged)
6449 ("ghc-transformers-compat" ,ghc-transformers-compat)
6450 ("ghc-unordered-containers" ,ghc-unordered-containers)
6451 ("ghc-void" ,ghc-void)
6452 ("ghc-generic-deriving" ,ghc-generic-deriving)
6453 ("ghc-nats" ,ghc-nats)
6454 ("ghc-simple-reflect" ,ghc-simple-reflect)
6455 ("hlint" ,hlint)))
6456 (native-inputs
6457 `(("cabal-doctest" ,cabal-doctest)
6458 ("ghc-doctest" ,ghc-doctest)
6459 ("ghc-hunit" ,ghc-hunit)
6460 ("ghc-test-framework" ,ghc-test-framework)
6461 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6462 ("ghc-test-framework-th" ,ghc-test-framework-th)
6463 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6464 ("ghc-quickcheck" ,ghc-quickcheck)))
6465 (home-page "https://github.com/ekmett/lens/")
6466 (synopsis "Lenses, Folds and Traversals")
6467 (description "This library provides @code{Control.Lens}. The combinators
6468in @code{Control.Lens} provide a highly generic toolbox for composing families
6469of getters, folds, isomorphisms, traversals, setters and lenses and their
6470indexed variants.")
6471 (license license:bsd-3)))
6472
6473(define-public ghc-libffi
6474 (package
6475 (name "ghc-libffi")
6476 (version "0.1")
6477 (source
6478 (origin
6479 (method url-fetch)
6480 (uri (string-append "https://hackage.haskell.org/package/"
6481 "libffi/libffi-" version ".tar.gz"))
6482 (sha256
6483 (base32
6484 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6485 (build-system haskell-build-system)
6486 (native-inputs `(("pkg-config" ,pkg-config)))
6487 (inputs `(("libffi" ,libffi)))
3ef91e15 6488 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6489 (synopsis "Haskell binding to libffi")
6490 (description
6491 "A binding to libffi, allowing C functions of types only known at runtime
6492to be called from Haskell.")
6493 (license license:bsd-3)))
6494
6495(define-public ghc-libmpd
6496 (package
6497 (name "ghc-libmpd")
bbf9845f 6498 (version "0.9.0.10")
dddbc90c
RV
6499 (source
6500 (origin
6501 (method url-fetch)
6502 (uri (string-append
6503 "mirror://hackage/package/libmpd/libmpd-"
6504 version
6505 ".tar.gz"))
6506 (sha256
6507 (base32
bbf9845f 6508 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6509 (build-system haskell-build-system)
6510 ;; Tests fail on i686.
6511 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6512 (arguments `(#:tests? #f))
6513 (inputs
6514 `(("ghc-attoparsec" ,ghc-attoparsec)
6515 ("ghc-old-locale" ,ghc-old-locale)
6516 ("ghc-data-default-class" ,ghc-data-default-class)
6517 ("ghc-network" ,ghc-network)
bbf9845f 6518 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6519 ("ghc-utf8-string" ,ghc-utf8-string)))
6520 (native-inputs
6521 `(("ghc-quickcheck" ,ghc-quickcheck)
6522 ("ghc-hspec" ,ghc-hspec)
6523 ("hspec-discover" ,hspec-discover)))
6524 (home-page "https://github.com/vimus/libmpd-haskell")
6525 (synopsis "Haskell client library for the Music Player Daemon")
6526 (description "This package provides a pure Haskell client library for the
6527Music Player Daemon.")
6528 (license license:expat)))
6529
e34df1c3
TS
6530(define-public ghc-lib-parser
6531 (package
6532 (name "ghc-lib-parser")
6533 (version "8.8.0.20190424")
6534 (source
6535 (origin
6536 (method url-fetch)
6537 (uri (string-append "https://hackage.haskell.org/package/"
6538 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6539 (sha256
6540 (base32
6541 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6542 (build-system haskell-build-system)
6543 (native-inputs
6544 `(("ghc-alex" ,ghc-alex)
6545 ("ghc-happy" ,ghc-happy)))
6546 (home-page "https://github.com/digital-asset/ghc-lib")
6547 (synopsis "The GHC API, decoupled from GHC versions")
6548 (description "This library implements the GHC API. It is like the
6549compiler-provided @code{ghc} package, but it can be loaded on many
6550compiler versions.")
6551 (license license:bsd-3)))
6552
dddbc90c
RV
6553(define-public ghc-libxml
6554 (package
6555 (name "ghc-libxml")
6556 (version "0.1.1")
6557 (source
6558 (origin
6559 (method url-fetch)
6560 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6561 "libxml-" version ".tar.gz"))
6562 (sha256
6563 (base32
6564 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6565 (build-system haskell-build-system)
6566 (inputs
6567 `(("libxml2" ,libxml2)))
6568 (arguments
6569 `(#:configure-flags
6570 `(,(string-append "--extra-include-dirs="
6571 (assoc-ref %build-inputs "libxml2")
6572 "/include/libxml2"))))
6573 (home-page "https://hackage.haskell.org/package/libxml")
6574 (synopsis "Haskell bindings to libxml2")
6575 (description
6576 "This library provides minimal Haskell binding to libxml2.")
6577 (license license:bsd-3)))
6578
0c2d6fc2
TS
6579(define-public ghc-libyaml
6580 (package
6581 (name "ghc-libyaml")
6582 (version "0.1.1.0")
6583 (source
6584 (origin
6585 (method url-fetch)
6586 (uri (string-append "https://hackage.haskell.org/package/"
6587 "libyaml/libyaml-" version ".tar.gz"))
6588 (sha256
6589 (base32
6590 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6591 (modules '((guix build utils)))
6592 (snippet
6593 ;; Delete bundled LibYAML.
6594 '(begin
6595 (delete-file-recursively "libyaml_src")
6596 #t))))
6597 (build-system haskell-build-system)
6598 (arguments
6599 `(#:configure-flags `("--flags=system-libyaml")))
6600 (inputs
6601 `(("ghc-conduit" ,ghc-conduit)
6602 ("ghc-resourcet" ,ghc-resourcet)
6603 ("libyaml" ,libyaml-2.1)))
6604 (home-page "https://github.com/snoyberg/yaml#readme")
6605 (synopsis "Low-level, streaming YAML interface.")
6606 (description "This package provides a Haskell wrapper over the
6607LibYAML C library.")
6608 (license license:bsd-3)))
6609
dddbc90c
RV
6610(define-public ghc-lifted-async
6611 (package
6612 (name "ghc-lifted-async")
b5b6d7ea 6613 (version "0.10.0.4")
dddbc90c
RV
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append
6618 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6619 version ".tar.gz"))
6620 (sha256
6621 (base32
b5b6d7ea 6622 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6623 (build-system haskell-build-system)
6624 (inputs
6625 `(("ghc-async" ,ghc-async)
6626 ("ghc-lifted-base" ,ghc-lifted-base)
6627 ("ghc-transformers-base" ,ghc-transformers-base)
6628 ("ghc-monad-control" ,ghc-monad-control)
6629 ("ghc-constraints" ,ghc-constraints)
6630 ("ghc-hunit" ,ghc-hunit)
6631 ("ghc-tasty" ,ghc-tasty)
6632 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6633 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6634 ("ghc-tasty-th" ,ghc-tasty-th)))
6635 (home-page "https://github.com/maoe/lifted-async")
6636 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6637 (description
6638 "This package provides IO operations from @code{async} package lifted to any
6639instance of @code{MonadBase} or @code{MonadBaseControl}.")
6640 (license license:bsd-3)))
6641
6642(define-public ghc-lifted-base
6643 (package
6644 (name "ghc-lifted-base")
6645 (version "0.2.3.12")
6646 (source
6647 (origin
6648 (method url-fetch)
6649 (uri (string-append
6650 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6651 version
6652 ".tar.gz"))
6653 (sha256
6654 (base32
6655 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6656 (build-system haskell-build-system)
6657 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6658 (inputs
6659 `(("ghc-transformers-base" ,ghc-transformers-base)
6660 ("ghc-monad-control" ,ghc-monad-control)
6661 ("ghc-transformers-compat" ,ghc-transformers-compat)
6662 ("ghc-hunit" ,ghc-hunit)))
6663 (home-page "https://github.com/basvandijk/lifted-base")
6664 (synopsis "Lifted IO operations from the base library")
6665 (description "Lifted-base exports IO operations from the @code{base}
6666library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6667Note that not all modules from @code{base} are converted yet. The package
6668includes a copy of the @code{monad-peel} test suite written by Anders
6669Kaseorg.")
6670 (license license:bsd-3)))
6671
6672(define-public ghc-linear
6673 (package
6674 (name "ghc-linear")
86526f37 6675 (version "1.20.9")
dddbc90c
RV
6676 (source
6677 (origin
6678 (method url-fetch)
6679 (uri (string-append "https://hackage.haskell.org/package/linear/"
6680 "linear-" version ".tar.gz"))
6681 (sha256
6682 (base32
86526f37 6683 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6684 (build-system haskell-build-system)
6685 (inputs
6686 `(("ghc-adjunctions" ,ghc-adjunctions)
6687 ("ghc-base-orphans" ,ghc-base-orphans)
6688 ("ghc-bytes" ,ghc-bytes)
6689 ("ghc-cereal" ,ghc-cereal)
6690 ("ghc-distributive" ,ghc-distributive)
6691 ("ghc-hashable" ,ghc-hashable)
6692 ("ghc-lens" ,ghc-lens)
6693 ("ghc-reflection" ,ghc-reflection)
6694 ("ghc-semigroups" ,ghc-semigroups)
6695 ("ghc-semigroupoids" ,ghc-semigroupoids)
6696 ("ghc-tagged" ,ghc-tagged)
6697 ("ghc-transformers-compat" ,ghc-transformers-compat)
6698 ("ghc-unordered-containers" ,ghc-unordered-containers)
6699 ("ghc-vector" ,ghc-vector)
6700 ("ghc-void" ,ghc-void)))
6701 (native-inputs
6702 `(("cabal-doctest" ,cabal-doctest)
6703 ("ghc-doctest" ,ghc-doctest)
6704 ("ghc-simple-reflect" ,ghc-simple-reflect)
6705 ("ghc-test-framework" ,ghc-test-framework)
6706 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6707 ("ghc-hunit" ,ghc-hunit)))
6708 (home-page "http://github.com/ekmett/linear/")
6709 (synopsis "Linear algebra library for Haskell")
6710 (description
6711 "This package provides types and combinators for linear algebra on free
6712vector spaces.")
6713 (license license:bsd-3)))
1307e4c7
JS
6714
6715(define-public ghc-listlike
6716 (package
6717 (name "ghc-listlike")
6718 (version "4.6.2")
6719 (source
6720 (origin
6721 (method url-fetch)
6722 (uri
6723 (string-append
6724 "https://hackage.haskell.org/package/ListLike/ListLike-"
6725 version ".tar.gz"))
6726 (sha256
6727 (base32
6728 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6729 (build-system haskell-build-system)
6730 (inputs
6731 `(("ghc-vector" ,ghc-vector)
6732 ("ghc-dlist" ,ghc-dlist)
6733 ("ghc-fmlist" ,ghc-fmlist)
6734 ("ghc-hunit" ,ghc-hunit)
6735 ("ghc-quickcheck" ,ghc-quickcheck)
6736 ("ghc-random" ,ghc-random)
6737 ("ghc-utf8-string" ,ghc-utf8-string)))
6738 (home-page "https://github.com/JohnLato/listlike")
6739 (synopsis "Generic support for list-like structures")
6740 (description "The ListLike module provides a common interface to the
6741various Haskell types that are list-like. Predefined interfaces include
6742standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6743Custom types can easily be made ListLike instances as well.
6744
6745ListLike also provides for String-like types, such as String and
6746ByteString, for types that support input and output, and for types that
6747can handle infinite lists.")
6748 (license license:bsd-3)))
dddbc90c 6749
84436be0
J
6750(define-public ghc-llvm-hs-pure
6751 (package
6752 (name "ghc-llvm-hs-pure")
6753 (version "9.0.0")
6754 (source
6755 (origin
6756 (method url-fetch)
6757 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6758 "llvm-hs-pure-" version ".tar.gz"))
6759 (sha256
6760 (base32
6761 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6762 (build-system haskell-build-system)
6763 (inputs
6764 `(("ghc-attoparsec" ,ghc-attoparsec)
6765 ("ghc-fail" ,ghc-fail)
6766 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6767 (native-inputs
6768 `(("ghc-tasty" ,ghc-tasty)
6769 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6770 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6771 (home-page "https://github.com/llvm-hs/llvm-hs/")
6772 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6773 (description "llvm-hs-pure is a set of pure Haskell types and functions
6774for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6775LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6776llvm-hs-pure does not require LLVM to be available.")
6777 (license license:bsd-3)))
6778
e3ee8023
J
6779(define-public ghc-llvm-hs
6780 (package
6781 (name "ghc-llvm-hs")
6782 (version "9.0.1")
6783 (source
6784 (origin
6785 (method url-fetch)
6786 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6787 version ".tar.gz"))
6788 (sha256
6789 (base32
6790 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6791 (build-system haskell-build-system)
6792 (inputs
6793 `(("ghc-attoparsec" ,ghc-attoparsec)
6794 ("ghc-exceptions" ,ghc-exceptions)
6795 ("ghc-utf8-string" ,ghc-utf8-string)
6796 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6797 ("llvm" ,llvm-9)))
6798 (native-inputs
6799 `(("ghc-tasty" ,ghc-tasty)
6800 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6801 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6802 ("ghc-quickcheck" ,ghc-quickcheck)
6803 ("ghc-temporary" ,ghc-temporary)
6804 ("ghc-pretty-show" ,ghc-pretty-show)
6805 ("ghc-temporary" ,ghc-temporary)))
6806 (home-page "https://github.com/llvm-hs/llvm-hs/")
6807 (synopsis "General purpose LLVM bindings for Haskell")
6808 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6809current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
6810IR, and so offers two advantages: it handles almost all of the stateful
6811complexities of using the LLVM API to build IR; and it supports moving IR not
6812only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
6813into Haskell.")
6814 (license license:bsd-3)))
6815
dddbc90c
RV
6816(define-public ghc-logging-facade
6817 (package
6818 (name "ghc-logging-facade")
6819 (version "0.3.0")
6820 (source (origin
6821 (method url-fetch)
6822 (uri (string-append "https://hackage.haskell.org/package/"
6823 "logging-facade/logging-facade-"
6824 version ".tar.gz"))
6825 (sha256
6826 (base32
6827 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6828 (build-system haskell-build-system)
6829 (native-inputs
6830 `(("ghc-hspec" ,ghc-hspec)
6831 ("hspec-discover" ,hspec-discover)))
6832 (home-page "https://hackage.haskell.org/package/logging-facade")
6833 (synopsis "Simple logging abstraction that allows multiple back-ends")
6834 (description
6835 "This package provides a simple logging abstraction that allows multiple
6836back-ends.")
6837 (license license:expat)))
6838
6839(define-public ghc-logict
6840 (package
6841 (name "ghc-logict")
79d9326f 6842 (version "0.7.0.2")
dddbc90c
RV
6843 (source
6844 (origin
6845 (method url-fetch)
6846 (uri (string-append
6847 "https://hackage.haskell.org/package/logict/logict-"
6848 version
6849 ".tar.gz"))
6850 (sha256
6851 (base32
79d9326f 6852 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6853 (build-system haskell-build-system)
79d9326f
TS
6854 (native-inputs
6855 `(("ghc-tasty" ,ghc-tasty)
6856 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6857 (home-page "http://code.haskell.org/~dolio/")
6858 (synopsis "Backtracking logic-programming monad")
6859 (description "This library provides a continuation-based, backtracking,
6860logic programming monad. An adaptation of the two-continuation implementation
6861found in the paper \"Backtracking, Interleaving, and Terminating Monad
6862Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6863online}.")
6864 (license license:bsd-3)))
6865
6866(define-public ghc-lzma
6867 (package
6868 (name "ghc-lzma")
6869 (version "0.0.0.3")
6870 (source
6871 (origin
6872 (method url-fetch)
6873 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6874 "lzma-" version ".tar.gz"))
6875 (sha256
6876 (base32
6877 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6878 (build-system haskell-build-system)
6879 (arguments
6880 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6881 #:cabal-revision
6882 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6883 (native-inputs
6884 `(("ghc-hunit" ,ghc-hunit)
6885 ("ghc-quickcheck" ,ghc-quickcheck)
6886 ("ghc-tasty" ,ghc-tasty)
6887 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6888 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6889 (home-page "https://github.com/hvr/lzma")
6890 (synopsis "LZMA/XZ compression and decompression")
6891 (description
6892 "This package provides a pure interface for compressing and
6893decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6894monadic incremental interface is provided as well.")
6895 (license license:bsd-3)))
6896
6897(define-public ghc-lzma-conduit
6898 (package
6899 (name "ghc-lzma-conduit")
6900 (version "1.2.1")
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6905 "lzma-conduit-" version ".tar.gz"))
6906 (sha256
6907 (base32
6908 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6909 (build-system haskell-build-system)
6910 (inputs
6911 `(("ghc-conduit" ,ghc-conduit)
6912 ("ghc-lzma" ,ghc-lzma)
6913 ("ghc-resourcet" ,ghc-resourcet)))
6914 (native-inputs
6915 `(("ghc-base-compat" ,ghc-base-compat)
6916 ("ghc-test-framework" ,ghc-test-framework)
6917 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6918 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6919 ("ghc-hunit" ,ghc-hunit)
6920 ("ghc-quickcheck" ,ghc-quickcheck)))
6921 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6922 (synopsis "Conduit interface for lzma/xz compression")
6923 (description
6924 "This package provides a @code{Conduit} interface for the LZMA
6925compression algorithm used in the @code{.xz} file format.")
6926 (license license:bsd-3)))
6927
e405912c
KM
6928(define-public ghc-magic
6929 (package
6930 (name "ghc-magic")
6931 (version "1.1")
6932 (source
6933 (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://hackage.haskell.org/package/magic/magic-"
6937 version ".tar.gz"))
6938 (sha256
6939 (base32
6940 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6941 (build-system haskell-build-system)
3ef91e15 6942 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
6943 (synopsis "Interface to C file/magic library")
6944 (description
6945 "This package provides a full-featured binding to the C libmagic library.
6946With it, you can determine the type of a file by examining its contents rather
6947than its name.")
6948 (license license:bsd-3)))
6949
dddbc90c
RV
6950(define-public ghc-markdown-unlit
6951 (package
6952 (name "ghc-markdown-unlit")
6953 (version "0.5.0")
6954 (source (origin
6955 (method url-fetch)
6956 (uri (string-append
6957 "mirror://hackage/package/markdown-unlit/"
6958 "markdown-unlit-" version ".tar.gz"))
6959 (sha256
6960 (base32
6961 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6962 (build-system haskell-build-system)
6963 (inputs
6964 `(("ghc-base-compat" ,ghc-base-compat)
6965 ("ghc-hspec" ,ghc-hspec)
6966 ("ghc-quickcheck" ,ghc-quickcheck)
6967 ("ghc-silently" ,ghc-silently)
6968 ("ghc-stringbuilder" ,ghc-stringbuilder)
6969 ("ghc-temporary" ,ghc-temporary)
6970 ("hspec-discover" ,hspec-discover)))
6971 (home-page "https://github.com/sol/markdown-unlit#readme")
6972 (synopsis "Literate Haskell support for Markdown")
6973 (description "This package allows you to have a README.md that at the
6974same time is a literate Haskell program.")
6975 (license license:expat)))
6976
6977(define-public ghc-math-functions
6978 (package
6979 (name "ghc-math-functions")
b45de2bf 6980 (version "0.3.3.0")
dddbc90c
RV
6981 (source
6982 (origin
6983 (method url-fetch)
6984 (uri (string-append "https://hackage.haskell.org/package/"
6985 "math-functions-" version "/"
6986 "math-functions-" version ".tar.gz"))
6987 (sha256
6988 (base32
b45de2bf 6989 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6990 (build-system haskell-build-system)
6991 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6992 (inputs
b45de2bf
TS
6993 `(("ghc-data-default-class" ,ghc-data-default-class)
6994 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6995 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6996 (native-inputs
6997 `(("ghc-hunit" ,ghc-hunit)
6998 ("ghc-quickcheck" ,ghc-quickcheck)
6999 ("ghc-erf" ,ghc-erf)
7000 ("ghc-test-framework" ,ghc-test-framework)
7001 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7002 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7003 (home-page "https://github.com/bos/math-functions")
7004 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7005 (description "This Haskell library provides implementations of
7006special mathematical functions and Chebyshev polynomials. These
7007functions are often useful in statistical and numerical computing.")
7008 (license license:bsd-3)))
7009
7010(define-public ghc-megaparsec
7011 (package
7012 (name "ghc-megaparsec")
03b0c92e 7013 (version "7.0.5")
dddbc90c
RV
7014 (source
7015 (origin
7016 (method url-fetch)
7017 (uri (string-append "https://hackage.haskell.org/package/"
7018 "megaparsec/megaparsec-"
7019 version ".tar.gz"))
7020 (sha256
7021 (base32
03b0c92e 7022 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7023 (build-system haskell-build-system)
dddbc90c
RV
7024 (inputs
7025 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7026 ("ghc-parser-combinators" ,ghc-parser-combinators)
7027 ("ghc-scientific" ,ghc-scientific)))
7028 (native-inputs
7029 `(("ghc-quickcheck" ,ghc-quickcheck)
7030 ("ghc-hspec" ,ghc-hspec)
7031 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7032 ("hspec-discover" ,hspec-discover)))
7033 (home-page "https://github.com/mrkkrp/megaparsec")
7034 (synopsis "Monadic parser combinators")
7035 (description
7036 "This is an industrial-strength monadic parser combinator library.
7037Megaparsec is a feature-rich package that strikes a nice balance between
7038speed, flexibility, and quality of parse errors.")
7039 (license license:bsd-2)))
7040
7041(define-public ghc-memory
7042 (package
7043 (name "ghc-memory")
d2c7d336 7044 (version "0.14.18")
dddbc90c
RV
7045 (source (origin
7046 (method url-fetch)
7047 (uri (string-append "https://hackage.haskell.org/package/"
7048 "memory/memory-" version ".tar.gz"))
7049 (sha256
7050 (base32
d2c7d336 7051 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7052 (build-system haskell-build-system)
7053 (inputs
7054 `(("ghc-basement" ,ghc-basement)
7055 ("ghc-foundation" ,ghc-foundation)))
7056 (native-inputs
7057 `(("ghc-tasty" ,ghc-tasty)
7058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7059 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7060 (home-page "https://github.com/vincenthz/hs-memory")
7061 (synopsis "Memory abstractions for Haskell")
7062 (description
7063 "This package provides memory abstractions, such as chunk of memory,
7064polymorphic byte array management and manipulation functions. It contains a
7065polymorphic byte array abstraction and functions similar to strict ByteString,
7066different type of byte array abstraction, raw memory IO operations (memory
7067set, memory copy, ..) and more")
7068 (license license:bsd-3)))
7069
7070(define-public ghc-memotrie
7071 (package
7072 (name "ghc-memotrie")
7073 (version "0.6.9")
7074 (source
7075 (origin
7076 (method url-fetch)
7077 (uri (string-append
7078 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7079 version
7080 ".tar.gz"))
7081 (sha256
7082 (base32
7083 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7084 (build-system haskell-build-system)
7085 (inputs
7086 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7087 (home-page "https://github.com/conal/MemoTrie")
7088 (synopsis "Trie-based memo functions")
7089 (description "This package provides a functional library for creating
7090efficient memo functions using tries.")
7091 (license license:bsd-3)))
7092
7093(define-public ghc-microlens
7094 (package
7095 (name "ghc-microlens")
82478c58 7096 (version "0.4.10")
dddbc90c
RV
7097 (source
7098 (origin
7099 (method url-fetch)
7100 (uri (string-append "https://hackage.haskell.org/package/"
7101 "microlens-" version "/"
7102 "microlens-" version ".tar.gz"))
7103 (sha256
7104 (base32
82478c58 7105 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7106 (build-system haskell-build-system)
7107 (home-page
7108 "https://github.com/aelve/microlens")
7109 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7110 (description "This Haskell package provides a lens library, just like
7111@code{ghc-lens}, but smaller. It provides essential lenses and
7112traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7113nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7114combinators (like @code{failing} and @code{singular}), but everything else is
7115stripped. As the result, this package has no dependencies.")
7116 (license license:bsd-3)))
7117
1cd3333e
TS
7118(define-public ghc-microlens-aeson
7119 (package
7120 (name "ghc-microlens-aeson")
7121 (version "2.3.0.4")
7122 (source
7123 (origin
7124 (method url-fetch)
7125 (uri (string-append "https://hackage.haskell.org/package/"
7126 "microlens-aeson/microlens-aeson-"
7127 version ".tar.gz"))
b4a00fec 7128 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7129 (sha256
7130 (base32
7131 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7132 (build-system haskell-build-system)
7133 (inputs
7134 `(("ghc-aeson" ,ghc-aeson)
7135 ("ghc-attoparsec" ,ghc-attoparsec)
7136 ("ghc-hashable" ,ghc-hashable)
7137 ("ghc-microlens" ,ghc-microlens)
7138 ("ghc-scientific" ,ghc-scientific)
7139 ("ghc-unordered-containers" ,ghc-unordered-containers)
7140 ("ghc-vector" ,ghc-vector)))
7141 (native-inputs
7142 `(("ghc-tasty" ,ghc-tasty)
7143 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7144 (home-page "https://github.com/fosskers/microlens-aeson")
7145 (synopsis "Law-abiding lenses for Aeson, using microlens")
7146 (description "This library provides law-abiding lenses for Aeson, using
7147microlens.")
7148 (license license:expat)))
7149
dddbc90c
RV
7150(define-public ghc-microlens-ghc
7151 (package
7152 (name "ghc-microlens-ghc")
027beb55 7153 (version "0.4.10")
dddbc90c
RV
7154 (source
7155 (origin
7156 (method url-fetch)
7157 (uri (string-append
7158 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7159 version
7160 ".tar.gz"))
7161 (sha256
7162 (base32
027beb55 7163 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7164 (build-system haskell-build-system)
7165 (inputs `(("ghc-microlens" ,ghc-microlens)))
7166 (home-page "https://github.com/monadfix/microlens")
7167 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7168 (description "This library provides everything that @code{microlens}
7169provides plus instances to make @code{each}, @code{at}, and @code{ix}
7170usable with arrays, @code{ByteString}, and containers. This package is
7171a part of the @uref{http://hackage.haskell.org/package/microlens,
7172microlens} family; see the readme
7173@uref{https://github.com/aelve/microlens#readme, on Github}.")
7174 (license license:bsd-3)))
7175
7176(define-public ghc-microlens-mtl
7177 (package
7178 (name "ghc-microlens-mtl")
7179 (version "0.1.11.1")
7180 (source
7181 (origin
7182 (method url-fetch)
7183 (uri (string-append
7184 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7185 version
7186 ".tar.gz"))
7187 (sha256
7188 (base32
7189 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7190 (build-system haskell-build-system)
7191 (inputs
7192 `(("ghc-microlens" ,ghc-microlens)
7193 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7194 (home-page "https://github.com/monadfix/microlens")
7195 (synopsis
7196 "@code{microlens} support for Reader/Writer/State from mtl")
7197 (description
7198 "This package contains functions (like @code{view} or @code{+=}) which
7199work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7200mtl package. This package is a part of the
7201@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7202readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7203 (license license:bsd-3)))
7204
7205(define-public ghc-microlens-platform
7206 (package
7207 (name "ghc-microlens-platform")
85decc1f 7208 (version "0.3.11")
dddbc90c
RV
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://hackage.haskell.org/package/"
7214 "microlens-platform/microlens-platform-" version ".tar.gz"))
7215 (sha256
7216 (base32
85decc1f 7217 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7218 (build-system haskell-build-system)
7219 (inputs
7220 `(("ghc-hashable" ,ghc-hashable)
7221 ("ghc-microlens" ,ghc-microlens)
7222 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7223 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7224 ("ghc-microlens-th" ,ghc-microlens-th)
7225 ("ghc-unordered-containers" ,ghc-unordered-containers)
7226 ("ghc-vector" ,ghc-vector)))
7227 (home-page "https://github.com/monadfix/microlens")
7228 (synopsis "Feature-complete microlens")
7229 (description
7230 "This package exports a module which is the recommended starting point
7231for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7232you aren't trying to keep your dependencies minimal. By importing
7233@code{Lens.Micro.Platform} you get all functions and instances from
7234@uref{http://hackage.haskell.org/package/microlens, microlens},
7235@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7236@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7237@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7238well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7239minor and major versions of @code{microlens-platform} are incremented whenever
7240the minor and major versions of any other @code{microlens} package are
7241incremented, so you can depend on the exact version of
7242@code{microlens-platform} without specifying the version of @code{microlens}
7243you need. This package is a part of the
7244@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7245readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7246 (license license:bsd-3)))
7247
7248(define-public ghc-microlens-th
7249 (package
7250 (name "ghc-microlens-th")
7ae52867 7251 (version "0.4.2.3")
dddbc90c
RV
7252 (source
7253 (origin
7254 (method url-fetch)
7255 (uri (string-append "https://hackage.haskell.org/package/"
7256 "microlens-th-" version "/"
7257 "microlens-th-" version ".tar.gz"))
7258 (sha256
7259 (base32
7ae52867 7260 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7261 (build-system haskell-build-system)
7ae52867
TS
7262 (arguments
7263 `(#:cabal-revision
7264 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7265 (inputs `(("ghc-microlens" ,ghc-microlens)
7266 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7267 (home-page
7268 "https://github.com/aelve/microlens")
7269 (synopsis "Automatic generation of record lenses for
7270@code{ghc-microlens}")
7271 (description "This Haskell package lets you automatically generate lenses
7272for data types; code was extracted from the lens package, and therefore
7273generated lenses are fully compatible with ones generated by lens (and can be
7274used both from lens and microlens).")
7275 (license license:bsd-3)))
7276
7277(define-public ghc-missingh
7278 (package
7279 (name "ghc-missingh")
641207cb 7280 (version "1.4.1.0")
dddbc90c
RV
7281 (source
7282 (origin
7283 (method url-fetch)
7284 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7285 "MissingH-" version ".tar.gz"))
7286 (sha256
7287 (base32
641207cb 7288 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7289 (build-system haskell-build-system)
7290 ;; Tests require the unmaintained testpack package, which depends on the
7291 ;; outdated QuickCheck version 2.7, which can no longer be built with
7292 ;; recent versions of GHC and Haskell libraries.
7293 (arguments '(#:tests? #f))
7294 (inputs
7295 `(("ghc-network" ,ghc-network)
7296 ("ghc-hunit" ,ghc-hunit)
7297 ("ghc-regex-compat" ,ghc-regex-compat)
7298 ("ghc-hslogger" ,ghc-hslogger)
7299 ("ghc-random" ,ghc-random)
7300 ("ghc-old-time" ,ghc-old-time)
7301 ("ghc-old-locale" ,ghc-old-locale)))
7302 (native-inputs
7303 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7304 ("ghc-quickcheck" ,ghc-quickcheck)
7305 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7306 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7307 (synopsis "Large utility library")
7308 (description
7309 "MissingH is a library of all sorts of utility functions for Haskell
7310programmers. It is written in pure Haskell and thus should be extremely
7311portable and easy to use.")
7312 (license license:bsd-3)))
7313
7314(define-public ghc-mmap
7315 (package
7316 (name "ghc-mmap")
7317 (version "0.5.9")
7318 (source (origin
7319 (method url-fetch)
7320 (uri (string-append "https://hackage.haskell.org/package/"
7321 "mmap/mmap-" version ".tar.gz"))
7322 (sha256
7323 (base32
7324 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7325 (build-system haskell-build-system)
7326 (home-page "https://hackage.haskell.org/package/mmap")
7327 (synopsis "Memory mapped files for Haskell")
7328 (description
7329 "This library provides a wrapper to @code{mmap}, allowing files or
7330devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7331@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7332do on-demand loading.")
7333 (license license:bsd-3)))
7334
7335(define-public ghc-mmorph
7336 (package
7337 (name "ghc-mmorph")
e0389704 7338 (version "1.1.3")
dddbc90c
RV
7339 (source
7340 (origin
7341 (method url-fetch)
7342 (uri (string-append
7343 "https://hackage.haskell.org/package/mmorph/mmorph-"
7344 version
7345 ".tar.gz"))
7346 (sha256
7347 (base32
e0389704 7348 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7349 (build-system haskell-build-system)
7350 (inputs
7351 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7352 (home-page "https://hackage.haskell.org/package/mmorph")
7353 (synopsis "Monad morphisms")
7354 (description
7355 "This library provides monad morphism utilities, most commonly used for
7356manipulating monad transformer stacks.")
7357 (license license:bsd-3)))
7358
7359(define-public ghc-mockery
7360 (package
7361 (name "ghc-mockery")
7362 (version "0.3.5")
7363 (source (origin
7364 (method url-fetch)
7365 (uri (string-append "https://hackage.haskell.org/package/"
7366 "mockery/mockery-" version ".tar.gz"))
7367 (sha256
7368 (base32
7369 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7370 (build-system haskell-build-system)
7371 (inputs
7372 `(("ghc-temporary" ,ghc-temporary)
7373 ("ghc-logging-facade" ,ghc-logging-facade)
7374 ("ghc-base-compat" ,ghc-base-compat)))
7375 (native-inputs
7376 `(("ghc-hspec" ,ghc-hspec)
7377 ("hspec-discover" ,hspec-discover)))
7378 (home-page "https://hackage.haskell.org/package/mockery")
7379 (synopsis "Support functions for automated testing")
7380 (description
7381 "The mockery package provides support functions for automated testing.")
7382 (license license:expat)))
7383
7384(define-public ghc-monad-control
7385 (package
7386 (name "ghc-monad-control")
7387 (version "1.0.2.3")
7388 (source
7389 (origin
7390 (method url-fetch)
7391 (uri (string-append
7392 "https://hackage.haskell.org/package/monad-control"
7393 "/monad-control-" version ".tar.gz"))
7394 (sha256
7395 (base32
7396 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7397 (build-system haskell-build-system)
7398 (inputs
7399 `(("ghc-transformers-base" ,ghc-transformers-base)
7400 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7401 (home-page "https://github.com/basvandijk/monad-control")
7402 (synopsis "Monad transformers to lift control operations like exception
7403catching")
7404 (description "This package defines the type class @code{MonadBaseControl},
7405a subset of @code{MonadBase} into which generic control operations such as
7406@code{catch} can be lifted from @code{IO} or any other base monad.")
7407 (license license:bsd-3)))
7408
7409(define-public ghc-monad-logger
7410 (package
7411 (name "ghc-monad-logger")
26980aae 7412 (version "0.3.30")
dddbc90c
RV
7413 (source
7414 (origin
7415 (method url-fetch)
7416 (uri (string-append "https://hackage.haskell.org/package/"
7417 "monad-logger-" version "/"
7418 "monad-logger-" version ".tar.gz"))
7419 (sha256
7420 (base32
26980aae 7421 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7422 (build-system haskell-build-system)
7423 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7424 ("ghc-stm-chans" ,ghc-stm-chans)
7425 ("ghc-lifted-base" ,ghc-lifted-base)
7426 ("ghc-resourcet" ,ghc-resourcet)
7427 ("ghc-conduit" ,ghc-conduit)
7428 ("ghc-conduit-extra" ,ghc-conduit-extra)
7429 ("ghc-fast-logger" ,ghc-fast-logger)
7430 ("ghc-transformers-base" ,ghc-transformers-base)
7431 ("ghc-monad-control" ,ghc-monad-control)
7432 ("ghc-monad-loops" ,ghc-monad-loops)
7433 ("ghc-blaze-builder" ,ghc-blaze-builder)
7434 ("ghc-exceptions" ,ghc-exceptions)))
7435 (home-page "https://github.com/kazu-yamamoto/logger")
7436 (synopsis "Provides a class of monads which can log messages for Haskell")
7437 (description "This Haskell package uses a monad transformer approach
7438for logging.
7439
7440This package provides Template Haskell functions for determining source
7441code locations of messages.")
7442 (license license:expat)))
7443
7444(define-public ghc-monad-loops
7445 (package
7446 (name "ghc-monad-loops")
7447 (version "0.4.3")
7448 (source
7449 (origin
7450 (method url-fetch)
7451 (uri (string-append "https://hackage.haskell.org/package/"
7452 "monad-loops-" version "/"
7453 "monad-loops-" version ".tar.gz"))
7454 (sha256
7455 (base32
7456 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7457 (build-system haskell-build-system)
7458 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7459 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7460 (home-page "https://github.com/mokus0/monad-loops")
7461 (synopsis "Monadic loops for Haskell")
7462 (description "This Haskell package provides some useful control
7463operators for looping.")
7464 (license license:public-domain)))
7465
7466(define-public ghc-monad-par
7467 (package
7468 (name "ghc-monad-par")
7469 (version "0.3.4.8")
7470 (source
7471 (origin
7472 (method url-fetch)
7473 (uri (string-append "https://hackage.haskell.org/package/"
7474 "monad-par-" version "/"
7475 "monad-par-" version ".tar.gz"))
faac56f3 7476 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7477 (sha256
7478 (base32
7479 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7480 (build-system haskell-build-system)
7481 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7482 ("ghc-abstract-deque" ,ghc-abstract-deque)
7483 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7484 ("ghc-mwc-random" ,ghc-mwc-random)
7485 ("ghc-parallel" ,ghc-parallel)))
7486 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7487 ("ghc-hunit" ,ghc-hunit)
7488 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7489 ("ghc-test-framework-quickcheck2"
7490 ,ghc-test-framework-quickcheck2)
7491 ("ghc-test-framework" ,ghc-test-framework)
7492 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7493 (home-page "https://github.com/simonmar/monad-par")
7494 (synopsis "Haskell library for parallel programming based on a monad")
7495 (description "The @code{Par} monad offers an API for parallel
7496programming. The library works for parallelising both pure and @code{IO}
7497computations, although only the pure version is deterministic. The default
7498implementation provides a work-stealing scheduler and supports forking tasks
7499that are much lighter weight than IO-threads.")
7500 (license license:bsd-3)))
7501
7502(define-public ghc-monad-par-extras
7503 (package
7504 (name "ghc-monad-par-extras")
7505 (version "0.3.3")
7506 (source
7507 (origin
7508 (method url-fetch)
7509 (uri (string-append "https://hackage.haskell.org/package/"
7510 "monad-par-extras-" version "/"
7511 "monad-par-extras-" version ".tar.gz"))
7512 (sha256
7513 (base32
7514 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7515 (build-system haskell-build-system)
7516 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7517 ("ghc-cereal" ,ghc-cereal)
7518 ("ghc-random" ,ghc-random)))
7519 (home-page "https://github.com/simonmar/monad-par")
7520 (synopsis "Combinators and extra features for Par monads for Haskell")
7521 (description "This Haskell package provides additional data structures,
7522and other added capabilities layered on top of the @code{Par} monad.")
7523 (license license:bsd-3)))
7524
dddbc90c
RV
7525(define-public ghc-monadrandom
7526 (package
7527 (name "ghc-monadrandom")
7528 (version "0.5.1.1")
7529 (source
7530 (origin
7531 (method url-fetch)
7532 (uri (string-append "https://hackage.haskell.org/package/"
7533 "MonadRandom-" version "/"
7534 "MonadRandom-" version ".tar.gz"))
7535 (sha256
7536 (base32
7537 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7538 (build-system haskell-build-system)
7539 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7540 ("ghc-primitive" ,ghc-primitive)
7541 ("ghc-fail" ,ghc-fail)
7542 ("ghc-random" ,ghc-random)))
7543 (home-page "https://github.com/byorgey/MonadRandom")
7544 (synopsis "Random-number generation monad for Haskell")
7545 (description "This Haskell package provides support for computations
7546which consume random values.")
7547 (license license:bsd-3)))
7548
7549(define-public ghc-monads-tf
7550 (package
7551 (name "ghc-monads-tf")
7552 (version "0.1.0.3")
7553 (source
7554 (origin
7555 (method url-fetch)
7556 (uri (string-append
7557 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7558 version ".tar.gz"))
7559 (sha256
7560 (base32
7561 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7562 (build-system haskell-build-system)
7563 (home-page "https://hackage.haskell.org/package/monads-tf")
7564 (synopsis "Monad classes, using type families")
7565 (description
7566 "Monad classes using type families, with instances for various monad transformers,
7567inspired by the paper 'Functional Programming with Overloading and Higher-Order
7568Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7569the @code{mtl-tf} package.")
7570 (license license:bsd-3)))
7571
7572(define-public ghc-mono-traversable
7573 (package
7574 (name "ghc-mono-traversable")
23bb445b 7575 (version "1.0.13.0")
dddbc90c
RV
7576 (source
7577 (origin
7578 (method url-fetch)
7579 (uri (string-append "https://hackage.haskell.org/package/"
7580 "mono-traversable-" version "/"
7581 "mono-traversable-" version ".tar.gz"))
7582 (sha256
7583 (base32
23bb445b 7584 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7585 (build-system haskell-build-system)
7586 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7587 ("ghc-hashable" ,ghc-hashable)
7588 ("ghc-vector" ,ghc-vector)
7589 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7590 ("ghc-split" ,ghc-split)))
7591 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7592 ("ghc-hunit" ,ghc-hunit)
7593 ("ghc-quickcheck" ,ghc-quickcheck)
7594 ("ghc-semigroups" ,ghc-semigroups)
7595 ("ghc-foldl" ,ghc-foldl)))
7596 (home-page "https://github.com/snoyberg/mono-traversable")
7597 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7598containers")
7599 (description "This Haskell package provides Monomorphic variants of the
7600Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7601basic typeclasses, you understand mono-traversable. In addition to what
7602you are used to, it adds on an IsSequence typeclass and has code for marking
7603data structures as non-empty.")
7604 (license license:expat)))
7605
471e77cf
TS
7606(define-public ghc-monoid-extras
7607 (package
7608 (name "ghc-monoid-extras")
7609 (version "0.5.1")
7610 (source
7611 (origin
7612 (method url-fetch)
7613 (uri (string-append "https://hackage.haskell.org/package/"
7614 "monoid-extras/monoid-extras-" version ".tar.gz"))
7615 (sha256
7616 (base32
7617 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7618 (build-system haskell-build-system)
7619 (inputs
7620 `(("ghc-groups" ,ghc-groups)
7621 ("ghc-semigroups" ,ghc-semigroups)
7622 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7623 (arguments
7624 `(#:cabal-revision
7625 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7626 (home-page "https://hackage.haskell.org/package/monoid-extras")
7627 (synopsis "Various extra monoid-related definitions and utilities")
7628 (description "This package provides various extra monoid-related
7629definitions and utilities, such as monoid actions, monoid coproducts,
7630semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7631\"cut\" monoids.")
7632 (license license:bsd-3)))
7633
4759b617
JS
7634(define-public ghc-mtl-compat
7635 (package
7636 (name "ghc-mtl-compat")
7637 (version "0.2.2")
7638 (source
7639 (origin
7640 (method url-fetch)
7641 (uri (string-append
7642 "mirror://hackage/package/mtl-compat/mtl-compat-"
7643 version
7644 ".tar.gz"))
7645 (sha256
7646 (base32
7647 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7648 (build-system haskell-build-system)
7649 (home-page
7650 "https://github.com/haskell-compat/mtl-compat")
7651 (synopsis
7652 "Backported Control.Monad.Except module from mtl")
7653 (description
7654 "This package backports the Control.Monad.Except module from mtl (if
7655using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7656and the MonadError class.
7657
7658This package should only be used if there is a need to use the
7659Control.Monad.Except module specifically. If you just want the mtl class
7660instances for ExceptT, use transformers-compat instead, since mtl-compat does
7661nothing but reexport the instances from that package.
7662
7663Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7664module defined in this package exports all of ExceptT's monad class instances.
7665Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7666the top of your file to get all of the ExceptT instances in scope.")
7667 (license license:bsd-3)))
7668
dddbc90c
RV
7669(define-public ghc-murmur-hash
7670 (package
7671 (name "ghc-murmur-hash")
7672 (version "0.1.0.9")
7673 (source
7674 (origin
7675 (method url-fetch)
7676 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7677 "/murmur-hash-" version ".tar.gz"))
7678 (sha256
7679 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7680 (build-system haskell-build-system)
7681 (home-page "https://github.com/nominolo/murmur-hash")
7682 (synopsis "MurmurHash2 implementation for Haskell")
7683 (description
7684 "This package provides an implementation of MurmurHash2, a good, fast,
7685general-purpose, non-cryptographic hashing function. See
7686@url{https://sites.google.com/site/murmurhash/} for details. This
7687implementation is pure Haskell, so it might be a bit slower than a C FFI
7688binding.")
7689 (license license:bsd-3)))
7690
7691(define-public ghc-mwc-random
7692 (package
7693 (name "ghc-mwc-random")
33268e2c 7694 (version "0.14.0.0")
dddbc90c
RV
7695 (source
7696 (origin
7697 (method url-fetch)
7698 (uri (string-append "https://hackage.haskell.org/package/"
7699 "mwc-random-" version "/"
7700 "mwc-random-" version ".tar.gz"))
7701 (sha256
7702 (base32
33268e2c 7703 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7704 (build-system haskell-build-system)
7705 (inputs
7706 `(("ghc-primitive" ,ghc-primitive)
7707 ("ghc-vector" ,ghc-vector)
7708 ("ghc-math-functions" ,ghc-math-functions)))
7709 (arguments
7710 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7711 (native-inputs
7712 `(("ghc-hunit" ,ghc-hunit)
7713 ("ghc-quickcheck" ,ghc-quickcheck)
7714 ("ghc-test-framework" ,ghc-test-framework)
7715 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7716 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7717 (home-page "https://github.com/bos/mwc-random")
7718 (synopsis "Random number generation library for Haskell")
7719 (description "This Haskell package contains code for generating
7720high quality random numbers that follow either a uniform or normal
7721distribution. The generated numbers are suitable for use in
7722statistical applications.
7723
7724The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7725multiply-with-carry generator, which has a period of 2^{8222} and
7726fares well in tests of randomness. It is also extremely fast,
7727between 2 and 3 times faster than the Mersenne Twister.")
7728 (license license:bsd-3)))
7729
7730(define-public ghc-nats
7731 (package
7732 (name "ghc-nats")
7733 (version "1.1.2")
7734 (source
7735 (origin
7736 (method url-fetch)
7737 (uri (string-append
7738 "https://hackage.haskell.org/package/nats/nats-"
7739 version
7740 ".tar.gz"))
7741 (sha256
7742 (base32
7743 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7744 (build-system haskell-build-system)
7745 (arguments `(#:haddock? #f))
7746 (inputs
7747 `(("ghc-hashable" ,ghc-hashable)))
7748 (home-page "https://hackage.haskell.org/package/nats")
7749 (synopsis "Natural numbers")
7750 (description "This library provides the natural numbers for Haskell.")
7751 (license license:bsd-3)))
7752
7753(define-public ghc-nats-bootstrap
7754 (package
7755 (inherit ghc-nats)
7756 (name "ghc-nats-bootstrap")
7757 (inputs
7758 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7759 (properties '((hidden? #t)))))
7760
52915062
EF
7761(define-public ghc-ncurses
7762 (package
7763 (name "ghc-ncurses")
7764 (version "0.2.16")
7765 (source
7766 (origin
7767 (method url-fetch)
7768 (uri (string-append
7769 "https://hackage.haskell.org/package/ncurses/ncurses-"
7770 version ".tar.gz"))
7771 (sha256
7772 (base32
7773 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7774 (build-system haskell-build-system)
7775 (arguments
7776 '(#:phases
7777 (modify-phases %standard-phases
7778 (add-before 'build 'fix-includes
7779 (lambda _
7780 (substitute* '("cbits/hsncurses-shim.h"
7781 "lib/UI/NCurses.chs"
7782 "lib/UI/NCurses/Enums.chs"
7783 "lib/UI/NCurses/Panel.chs")
7784 (("<ncursesw/") "<"))
7785 #t)))
7786 #:cabal-revision
7787 ("1"
7788 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7789 (inputs `(("ncurses" ,ncurses)))
7790 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7791 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7792 (synopsis "Modernised bindings to GNU ncurses")
7793 (description "GNU ncurses is a library for creating command-line application
7794with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7795ncurses.")
7796 (license license:gpl3)))
7797
dddbc90c
RV
7798(define-public ghc-network
7799 (package
7800 (name "ghc-network")
d4473202 7801 (version "2.8.0.1")
dddbc90c
RV
7802 (outputs '("out" "doc"))
7803 (source
7804 (origin
7805 (method url-fetch)
7806 (uri (string-append
7807 "https://hackage.haskell.org/package/network/network-"
7808 version
7809 ".tar.gz"))
7810 (sha256
7811 (base32
d4473202 7812 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7813 (build-system haskell-build-system)
7814 ;; The regression tests depend on an unpublished module.
7815 (arguments `(#:tests? #f))
7816 (native-inputs
7817 `(("ghc-hunit" ,ghc-hunit)
7818 ("ghc-doctest" ,ghc-doctest)
7819 ("ghc-test-framework" ,ghc-test-framework)
7820 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7821 (home-page "https://github.com/haskell/network")
7822 (synopsis "Low-level networking interface")
7823 (description
7824 "This package provides a low-level networking interface.")
7825 (license license:bsd-3)))
4780db2c 7826
30eebbe6
TS
7827(define-public ghc-network-bsd
7828 (package
7829 (name "ghc-network-bsd")
7830 (version "2.8.0.0")
7831 (source
7832 (origin
7833 (method url-fetch)
7834 (uri (string-append "https://hackage.haskell.org/package/"
7835 "network-bsd/network-bsd-" version ".tar.gz"))
7836 (sha256
7837 (base32
7838 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7839 (build-system haskell-build-system)
7840 (inputs
7841 `(("ghc-network" ,ghc-network)))
7842 (home-page "https://github.com/haskell/network-bsd")
7843 (synopsis "POSIX network database (<netdb.h>) API")
7844 (description "This package provides Haskell bindings to the the POSIX
7845network database (<netdb.h>) API.")
7846 (license license:bsd-3)))
7847
096781a1
TS
7848(define-public ghc-network-byte-order
7849 (package
7850 (name "ghc-network-byte-order")
7851 (version "0.1.1.1")
7852 (source
7853 (origin
7854 (method url-fetch)
7855 (uri (string-append "https://hackage.haskell.org/package/"
7856 "network-byte-order/network-byte-order-"
7857 version ".tar.gz"))
7858 (sha256
7859 (base32
7860 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7861 (build-system haskell-build-system)
7862 (native-inputs
7863 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 7864 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
7865 (synopsis "Network byte order utilities")
7866 (description "This library provides peek and poke functions for network
7867byte order.")
7868 (license license:bsd-3)))
7869
dddbc90c
RV
7870(define-public ghc-network-info
7871 (package
7872 (name "ghc-network-info")
7873 (version "0.2.0.10")
7874 (source
7875 (origin
7876 (method url-fetch)
7877 (uri (string-append "https://hackage.haskell.org/package/"
7878 "network-info-" version "/"
7879 "network-info-" version ".tar.gz"))
7880 (sha256
7881 (base32
7882 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7883 (build-system haskell-build-system)
7884 (home-page "https://github.com/jystic/network-info")
7885 (synopsis "Access the local computer's basic network configuration")
7886 (description "This Haskell library provides simple read-only access to the
7887local computer's networking configuration. It is currently capable of
7888getting a list of all the network interfaces and their respective
7889IPv4, IPv6 and MAC addresses.")
7890 (license license:bsd-3)))
7891
7892(define-public ghc-network-uri
7893 (package
7894 (name "ghc-network-uri")
7895 (version "2.6.1.0")
7896 (outputs '("out" "doc"))
7897 (source
7898 (origin
7899 (method url-fetch)
7900 (uri (string-append
7901 "https://hackage.haskell.org/package/network-uri/network-uri-"
7902 version
7903 ".tar.gz"))
7904 (sha256
7905 (base32
7906 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7907 (build-system haskell-build-system)
7908 (arguments
7909 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7910 (inputs
7911 `(("ghc-network" ,ghc-network)))
7912 (native-inputs
7913 `(("ghc-hunit" ,ghc-hunit)))
7914 (home-page
7915 "https://github.com/haskell/network-uri")
7916 (synopsis "Library for URI manipulation")
7917 (description "This package provides an URI manipulation interface. In
7918@code{network-2.6} the @code{Network.URI} module was split off from the
7919@code{network} package into this package.")
7920 (license license:bsd-3)))
7921
7922(define-public ghc-newtype-generics
7923 (package
7924 (name "ghc-newtype-generics")
c07e16dd 7925 (version "0.5.4")
dddbc90c
RV
7926 (source
7927 (origin
7928 (method url-fetch)
7929 (uri (string-append "https://hackage.haskell.org/package/"
7930 "newtype-generics/newtype-generics-"
7931 version ".tar.gz"))
7932 (sha256
7933 (base32
c07e16dd 7934 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7935 (build-system haskell-build-system)
7936 (native-inputs
7937 `(("ghc-hspec" ,ghc-hspec)
7938 ("hspec-discover" ,hspec-discover)))
7939 (home-page "http://github.com/sjakobi/newtype-generics")
7940 (synopsis "Typeclass and set of functions for working with newtypes")
7941 (description "The @code{Newtype} typeclass represents the packing and
7942unpacking of a newtype, and allows you to operate under that newtype with
7943functions such as @code{ala}. Generics support was added in version 0.4,
7944making this package a full replacement for the original newtype package,
7945and an alternative to newtype-th.")
7946 (license license:bsd-3)))
7947
6b652f5a
JS
7948(define-public ghc-non-negative
7949 (package
7950 (name "ghc-non-negative")
7951 (version "0.1.2")
7952 (source
7953 (origin
7954 (method url-fetch)
7955 (uri
7956 (string-append
7957 "https://hackage.haskell.org/package/non-negative/non-negative-"
7958 version ".tar.gz"))
7959 (sha256
7960 (base32
7961 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7962 (build-system haskell-build-system)
7963 (inputs
7964 `(("ghc-semigroups" ,ghc-semigroups)
7965 ("ghc-utility-ht" ,ghc-utility-ht)
7966 ("ghc-quickcheck" ,ghc-quickcheck)))
7967 (home-page "https://hackage.haskell.org/package/non-negative")
7968 (synopsis "Non-negative numbers class")
7969 (description "This library provides a class for non-negative numbers,
7970a wrapper which can turn any ordered numeric type into a member of that
7971class, and a lazy number type for non-negative numbers (a generalization
7972of Peano numbers).")
7973 (license license:gpl3+)))
7974
49bcca84
ASM
7975(define-public ghc-nonce
7976 (package
7977 (name "ghc-nonce")
7978 (version "1.0.7")
7979 (source
7980 (origin
7981 (method url-fetch)
7982 (uri (string-append
7983 "https://hackage.haskell.org/package/nonce/"
7984 "nonce-" version ".tar.gz"))
7985 (sha256
7986 (base32
7987 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
7988 (build-system haskell-build-system)
7989 (inputs
7990 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
7991 ("ghc-entropy" ,ghc-entropy)
7992 ("ghc-unliftio" ,ghc-unliftio)
7993 ("ghc-unliftio-core" ,ghc-unliftio-core)))
7994 (home-page "https://github.com/prowdsponsor/nonce")
7995 (synopsis "Generate cryptographic nonces in Haskell")
7996 (description
7997 "A nonce is an arbitrary number used only once in a cryptographic
7998communication. This package contain helper functions for generating nonces.
7999There are many kinds of nonces used in different situations. It's not
8000guaranteed that by using the nonces from this package you won't have any
8001security issues. Please make sure that the nonces generated via this
8002package are usable on your design.")
8003 (license license:bsd-3)))
8004
194a82e6
TS
8005(define-public ghc-numeric-extras
8006 (package
8007 (name "ghc-numeric-extras")
8008 (version "0.1")
8009 (source
8010 (origin
8011 (method url-fetch)
8012 (uri (string-append "https://hackage.haskell.org/package/"
8013 "numeric-extras/numeric-extras-"
8014 version ".tar.gz"))
8015 (sha256
8016 (base32
8017 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8018 (build-system haskell-build-system)
8019 (home-page "https://github.com/ekmett/numeric-extras")
8020 (synopsis "Useful tools from the C standard library")
8021 (description "This library provides some useful tools from the C
8022standard library.")
8023 (license license:bsd-3)))
8024
dddbc90c
RV
8025(define-public ghc-objectname
8026 (package
8027 (name "ghc-objectname")
8028 (version "1.1.0.1")
8029 (source
8030 (origin
8031 (method url-fetch)
8032 (uri (string-append
8033 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8034 version
8035 ".tar.gz"))
8036 (sha256
8037 (base32
8038 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8039 (build-system haskell-build-system)
8040 (home-page "https://hackage.haskell.org/package/ObjectName")
8041 (synopsis "Helper library for Haskell OpenGL")
8042 (description "This tiny package contains the class ObjectName, which
8043corresponds to the general notion of explicitly handled identifiers for API
8044objects, e.g. a texture object name in OpenGL or a buffer object name in
8045OpenAL.")
8046 (license license:bsd-3)))
8047
8048(define-public ghc-old-locale
8049 (package
8050 (name "ghc-old-locale")
8051 (version "1.0.0.7")
8052 (source
8053 (origin
8054 (method url-fetch)
8055 (uri (string-append
8056 "https://hackage.haskell.org/package/old-locale/old-locale-"
8057 version
8058 ".tar.gz"))
8059 (sha256
8060 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8061 (build-system haskell-build-system)
8062 (arguments
8063 `(#:cabal-revision
8064 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8065 (home-page "https://hackage.haskell.org/package/old-locale")
8066 (synopsis "Adapt to locale conventions")
8067 (description
8068 "This package provides the ability to adapt to locale conventions such as
8069date and time formats.")
8070 (license license:bsd-3)))
8071
8072(define-public ghc-old-time
8073 (package
8074 (name "ghc-old-time")
8075 (version "1.1.0.3")
8076 (source
8077 (origin
8078 (method url-fetch)
8079 (uri (string-append
8080 "https://hackage.haskell.org/package/old-time/old-time-"
8081 version
8082 ".tar.gz"))
8083 (sha256
8084 (base32
8085 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8086 (build-system haskell-build-system)
8087 (arguments
8088 `(#:cabal-revision
8089 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8090 (inputs
8091 `(("ghc-old-locale" ,ghc-old-locale)))
8092 (home-page "https://hackage.haskell.org/package/old-time")
8093 (synopsis "Time compatibility library for Haskell")
8094 (description "Old-time is a package for backwards compatibility with the
8095old @code{time} library. For new projects, the newer
8096@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8097 (license license:bsd-3)))
8098
8099(define-public ghc-opengl
8100 (package
8101 (name "ghc-opengl")
79a06910 8102 (version "3.0.3.0")
dddbc90c
RV
8103 (source
8104 (origin
8105 (method url-fetch)
8106 (uri (string-append
8107 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8108 version
8109 ".tar.gz"))
8110 (sha256
8111 (base32
79a06910 8112 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8113 (build-system haskell-build-system)
79a06910
TS
8114 (arguments
8115 `(#:cabal-revision
8116 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8117 (inputs
8118 `(("ghc-objectname" ,ghc-objectname)
8119 ("ghc-gluraw" ,ghc-gluraw)
8120 ("ghc-statevar" ,ghc-statevar)
8121 ("ghc-openglraw" ,ghc-openglraw)))
8122 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8123 (synopsis "Haskell bindings for the OpenGL graphics system")
8124 (description "This package provides Haskell bindings for the OpenGL
8125graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8126version 1.3).")
8127 (license license:bsd-3)))
8128
8129(define-public ghc-openglraw
8130 (package
8131 (name "ghc-openglraw")
15ebc815 8132 (version "3.3.3.0")
dddbc90c
RV
8133 (source
8134 (origin
8135 (method url-fetch)
8136 (uri (string-append
8137 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8138 version
8139 ".tar.gz"))
8140 (sha256
8141 (base32
15ebc815 8142 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8143 (build-system haskell-build-system)
8144 (inputs
8145 `(("ghc-half" ,ghc-half)
8146 ("ghc-fixed" ,ghc-fixed)
8147 ("glu" ,glu)))
8148 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8149 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8150 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8151graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8152of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8153offers access to all necessary functions, tokens and types plus a general
8154facility for loading extension entries. The module hierarchy closely mirrors
8155the naming structure of the OpenGL extensions, making it easy to find the
8156right module to import. All API entries are loaded dynamically, so no special
8157C header files are needed for building this package. If an API entry is not
8158found at runtime, a userError is thrown.")
8159 (license license:bsd-3)))
8160
8161(define-public ghc-operational
8162 (package
8163 (name "ghc-operational")
8164 (version "0.2.3.5")
8165 (source
8166 (origin
8167 (method url-fetch)
8168 (uri (string-append "https://hackage.haskell.org/package/operational/"
8169 "operational-" version ".tar.gz"))
8170 (sha256
8171 (base32
8172 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8173 (build-system haskell-build-system)
8174 (inputs
8175 `(("ghc-random" ,ghc-random)))
8176 (home-page "http://wiki.haskell.org/Operational")
8177 (synopsis "Implementation of difficult monads made easy with operational semantics")
8178 (description
8179 "This library makes it easy to implement monads with tricky control
8180flow. This is useful for: writing web applications in a sequential style,
8181programming games with a uniform interface for human and AI players and easy
8182replay capababilities, implementing fast parser monads, designing monadic
8183DSLs, etc.")
8184 (license license:bsd-3)))
8185
8186(define-public ghc-options
8187 (package
8188 (name "ghc-options")
8189 (version "1.2.1.1")
8190 (source
8191 (origin
8192 (method url-fetch)
8193 (uri (string-append
8194 "https://hackage.haskell.org/package/options/options-"
8195 version ".tar.gz"))
8196 (sha256
8197 (base32
8198 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8199 (build-system haskell-build-system)
24cf2a8b
TS
8200 (arguments
8201 `(#:phases
8202 (modify-phases %standard-phases
8203 (add-before 'configure 'update-constraints
8204 (lambda _
8205 (substitute* "options.cabal"
8206 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8207 #t)))))
dddbc90c
RV
8208 (inputs
8209 `(("ghc-monads-tf" ,ghc-monads-tf)
8210 ("ghc-chell" ,ghc-chell)
8211 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8212 (home-page "https://john-millikin.com/software/haskell-options/")
8213 (synopsis "Powerful and easy-to-use command-line option parser")
8214 (description
8215 "The @code{options} package lets library and application developers
8216easily work with command-line options.")
8217 (license license:expat)))
8218
8219;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8220(define ghc-options-bootstrap
8221 (package
8222 (name "ghc-options-bootstrap")
8223 (version "1.2.1.1")
8224 (source
8225 (origin
8226 (method url-fetch)
8227 (uri (string-append
8228 "https://hackage.haskell.org/package/options/options-"
8229 version ".tar.gz"))
8230 (sha256
8231 (base32
8232 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8233 (build-system haskell-build-system)
8234 (arguments
8235 `(#:tests? #f))
8236 (inputs
8237 `(("ghc-monads-tf" ,ghc-monads-tf)))
8238 (home-page "https://john-millikin.com/software/haskell-options/")
8239 (synopsis "Powerful and easy-to-use command-line option parser")
8240 (description
8241 "The @code{options} package lets library and application developers
8242easily work with command-line options.")
8243 (license license:expat)))
8244
8245
8246(define-public ghc-optparse-applicative
8247 (package
8248 (name "ghc-optparse-applicative")
74bf6965 8249 (version "0.14.3.0")
dddbc90c
RV
8250 (source
8251 (origin
8252 (method url-fetch)
8253 (uri (string-append
8254 "https://hackage.haskell.org/package/optparse-applicative"
8255 "/optparse-applicative-" version ".tar.gz"))
8256 (sha256
8257 (base32
74bf6965 8258 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8259 (build-system haskell-build-system)
74bf6965
TS
8260 (arguments
8261 `(#:cabal-revision
8262 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8263 (inputs
8264 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8265 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8266 (native-inputs
8267 `(("ghc-quickcheck" ,ghc-quickcheck)))
8268 (home-page "https://github.com/pcapriotti/optparse-applicative")
8269 (synopsis "Utilities and combinators for parsing command line options")
8270 (description "This package provides utilities and combinators for parsing
8271command line options in Haskell.")
8272 (license license:bsd-3)))
8273
d56c8120
NG
8274(define-public ghc-jira-wiki-markup
8275 (package
8276 (name "ghc-jira-wiki-markup")
8277 (version "1.0.0")
8278 (source
8279 (origin
8280 (method url-fetch)
8281 (uri (string-append
8282 "https://hackage.haskell.org/package/jira-wiki-markup/"
8283 "jira-wiki-markup-" version ".tar.gz"))
8284 (sha256
8285 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8286 (build-system haskell-build-system)
8287 (native-inputs
8288 `(("ghc-tasty" ,ghc-tasty)
8289 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8290 (home-page "https://github.com/tarleb/jira-wiki-markup")
8291 (synopsis "Handle Jira wiki markup")
8292 (description
8293 "Parse jira wiki text into an abstract syntax tree for easy transformation
8294to other formats.")
8295 (license license:expat)))
8296
20690771
NG
8297(define-public ghc-emojis
8298 (package
8299 (name "ghc-emojis")
8300 (version "0.1")
8301 (source
8302 (origin
8303 (method url-fetch)
8304 (uri (string-append
8305 "https://hackage.haskell.org/package/emojis/"
8306 "emojis-" version ".tar.gz"))
8307 (sha256
8308 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8309 (build-system haskell-build-system)
8310 (native-inputs
8311 `(("ghc-hunit" ,ghc-hunit)))
8312 (home-page "https://github.com/jgm/emojis#readme")
8313 (synopsis "Conversion between emoji characters and their names.")
8314 (description
8315 "This package provides functions for converting emoji names to emoji
8316characters and vice versa.
8317
8318How does it differ from the @code{emoji} package?
8319@itemize
8320@item It supports a fuller range of emojis, including all those supported by
8321GitHub
8322@item It supports lookup of emoji aliases from emoji
8323@item It uses Text rather than String
8324@item It has a lighter dependency footprint: in particular, it does not
8325require aeson
8326@item It does not require TemplateHaskell
8327@end itemize")
8328 (license license:bsd-3)))
8329
e90a06fc
NG
8330(define-public ghc-text-conversions
8331 (package
8332 (name "ghc-text-conversions")
8333 (version "0.3.0")
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append
8338 "https://hackage.haskell.org/package/text-conversions/"
8339 "text-conversions-" version ".tar.gz"))
8340 (sha256
8341 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8342 (build-system haskell-build-system)
8343 (inputs
8344 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8345 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8346 ("ghc-errors" ,ghc-errors)))
8347 (native-inputs
8348 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8349 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8350 (home-page "https://github.com/cjdev/text-conversions#readme")
8351 (synopsis "Safe conversions between textual types")
8352 (description "Safe conversions between textual types")
8353 (license license:isc)))
8354
ba7cbae3
NG
8355(define-public ghc-doclayout
8356 (package
8357 (name "ghc-doclayout")
8358 (version "0.3")
8359 (source
8360 (origin
8361 (method url-fetch)
8362 (uri (string-append
8363 "https://hackage.haskell.org/package/doclayout/"
8364 "doclayout-" version ".tar.gz"))
8365 (sha256
8366 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8367 (build-system haskell-build-system)
8368 (inputs
8369 `(("ghc-safe" ,ghc-safe)))
8370 (native-inputs
8371 `(("ghc-tasty" ,ghc-tasty)
8372 ("ghc-tasty-golden" ,ghc-tasty-golden)
8373 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8374 (home-page "https://github.com/jgm/doclayout")
8375 (synopsis "Pretty-printing library for laying out text documents")
8376 (description
8377 "doclayout is a pretty-printing library for laying out text documents,
8378with several features not present in pretty-printing libraries designed for
8379code. It was designed for use in @code{Pandoc}.")
8380 (license license:bsd-3)))
8381
dddbc90c
RV
8382(define-public ghc-pandoc
8383 (package
8384 (name "ghc-pandoc")
d9b1567a 8385 (version "2.7.3")
dddbc90c
RV
8386 (source
8387 (origin
8388 (method url-fetch)
8389 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8390 version ".tar.gz"))
d9b1567a
TS
8391 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8392 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8393 (sha256
8394 (base32
d9b1567a 8395 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8396 (build-system haskell-build-system)
dddbc90c
RV
8397 (inputs
8398 `(("ghc-aeson" ,ghc-aeson)
8399 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8400 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8401 ("ghc-blaze-html" ,ghc-blaze-html)
8402 ("ghc-blaze-markup" ,ghc-blaze-markup)
8403 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8404 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8405 ("ghc-diff" ,ghc-diff)
8406 ("ghc-doctemplates" ,ghc-doctemplates)
8407 ("ghc-executable-path" ,ghc-executable-path)
8408 ("ghc-glob" ,ghc-glob)
8409 ("ghc-haddock-library" ,ghc-haddock-library)
8410 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8411 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8412 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8413 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8414 ("ghc-http" ,ghc-http)
8415 ("ghc-http-client" ,ghc-http-client)
8416 ("ghc-http-client-tls" ,ghc-http-client-tls)
8417 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8418 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8419 ("ghc-juicypixels" ,ghc-juicypixels)
8420 ("ghc-network" ,ghc-network)
8421 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8422 ("ghc-pandoc-types" ,ghc-pandoc-types)
8423 ("ghc-random" ,ghc-random)
8424 ("ghc-scientific" ,ghc-scientific)
8425 ("ghc-sha" ,ghc-sha)
8426 ("ghc-skylighting" ,ghc-skylighting)
8427 ("ghc-split" ,ghc-split)
8428 ("ghc-syb" ,ghc-syb)
8429 ("ghc-tagsoup" ,ghc-tagsoup)
8430 ("ghc-temporary" ,ghc-temporary)
8431 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8432 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8433 ("ghc-unordered-containers" ,ghc-unordered-containers)
8434 ("ghc-vector" ,ghc-vector)
8435 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8436 ("ghc-zip-archive" ,ghc-zip-archive)
8437 ("ghc-zlib" ,ghc-zlib)))
8438 (native-inputs
8439 `(("ghc-tasty" ,ghc-tasty)
8440 ("ghc-tasty-golden" ,ghc-tasty-golden)
8441 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8442 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8443 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8444 ("ghc-quickcheck" ,ghc-quickcheck)
8445 ("ghc-hunit" ,ghc-hunit)))
8446 (home-page "https://pandoc.org")
8447 (synopsis "Conversion between markup formats")
8448 (description
8449 "Pandoc is a Haskell library for converting from one markup format to
8450another, and a command-line tool that uses this library. It can read and
8451write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8452LaTeX, DocBook, and many more.
8453
8454Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8455definition lists, tables, and other features. A compatibility mode is
8456provided for those who need a drop-in replacement for Markdown.pl.")
8457 (license license:gpl2+)))
8458
8459(define-public ghc-pandoc-citeproc
8460 (package
8461 (name "ghc-pandoc-citeproc")
2da02d09 8462 (version "0.16.2")
dddbc90c
RV
8463 (source
8464 (origin
8465 (method url-fetch)
8466 (uri (string-append "https://hackage.haskell.org/package/"
8467 "pandoc-citeproc/pandoc-citeproc-"
8468 version ".tar.gz"))
8469 (sha256
8470 (base32
2da02d09 8471 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8472 (build-system haskell-build-system)
8473 (arguments
8474 `(#:phases
8475 (modify-phases %standard-phases
8476 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8477 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8478 (add-before 'configure 'patch-tests
8479 (lambda _
8480 (substitute* "tests/test-pandoc-citeproc.hs"
8481 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8482 "let allTests = citeprocTests"))))
8483 ;; Tests need to be run after installation.
8484 (delete 'check)
8485 (add-after 'install 'post-install-check
8486 (assoc-ref %standard-phases 'check)))))
8487 (inputs
8488 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8489 ("ghc-pandoc" ,ghc-pandoc)
8490 ("ghc-tagsoup" ,ghc-tagsoup)
8491 ("ghc-aeson" ,ghc-aeson)
8492 ("ghc-vector" ,ghc-vector)
8493 ("ghc-xml-conduit" ,ghc-xml-conduit)
8494 ("ghc-unordered-containers" ,ghc-unordered-containers)
8495 ("ghc-data-default" ,ghc-data-default)
8496 ("ghc-setenv" ,ghc-setenv)
8497 ("ghc-split" ,ghc-split)
8498 ("ghc-yaml" ,ghc-yaml)
8499 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8500 ("ghc-rfc5051" ,ghc-rfc5051)
8501 ("ghc-syb" ,ghc-syb)
8502 ("ghc-old-locale" ,ghc-old-locale)
8503 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8504 ("ghc-attoparsec" ,ghc-attoparsec)
8505 ("ghc-temporary" ,ghc-temporary)))
8506 (home-page "https://github.com/jgm/pandoc-citeproc")
8507 (synopsis "Library for using pandoc with citeproc")
8508 (description
8509 "The @code{pandoc-citeproc} library exports functions for using the
8510citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8511rendering bibliographic reference citations into a variety of styles using a
8512macro language called @dfn{Citation Style Language} (CSL). This package also
8513contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8514and also has a mode for converting bibliographic databases a YAML format
8515suitable for inclusion in pandoc YAML metadata.")
8516 (license license:bsd-3)))
8517
8518(define-public ghc-pandoc-types
8519 (package
8520 (name "ghc-pandoc-types")
0eaa88c8 8521 (version "1.17.6.1")
dddbc90c
RV
8522 (source (origin
8523 (method url-fetch)
8524 (uri (string-append "https://hackage.haskell.org/package/"
8525 "pandoc-types/pandoc-types-"
8526 version ".tar.gz"))
8527 (sha256
8528 (base32
0eaa88c8 8529 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8530 (build-system haskell-build-system)
8531 (inputs
8532 `(("ghc-syb" ,ghc-syb)
8533 ("ghc-aeson" ,ghc-aeson)
8534 ("ghc-string-qq" ,ghc-string-qq)))
8535 (native-inputs
8536 `(("ghc-quickcheck" ,ghc-quickcheck)
8537 ("ghc-test-framework" ,ghc-test-framework)
8538 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8539 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8540 ("ghc-hunit" ,ghc-hunit)))
8541 (home-page "http://johnmacfarlane.net/pandoc")
8542 (synopsis "Types for representing a structured document")
8543 (description
8544 "This module defines the @code{Pandoc} data structure, which is used by
8545pandoc to represent structured documents. It also provides functions for
8546building up, manipulating and serialising @code{Pandoc} structures.")
8547 (license license:bsd-3)))
8548
8549(define-public ghc-parallel
8550 (package
8551 (name "ghc-parallel")
8552 (version "3.2.2.0")
8553 (outputs '("out" "doc"))
8554 (source
8555 (origin
8556 (method url-fetch)
8557 (uri (string-append
8558 "https://hackage.haskell.org/package/parallel/parallel-"
8559 version
8560 ".tar.gz"))
8561 (sha256
8562 (base32
8563 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8564 (build-system haskell-build-system)
8565 (home-page "https://hackage.haskell.org/package/parallel")
8566 (synopsis "Parallel programming library")
8567 (description
8568 "This package provides a library for parallel programming.")
8569 (license license:bsd-3)))
8570
8571(define-public ghc-parsec-numbers
8572 (package
8573 (name "ghc-parsec-numbers")
8574 (version "0.1.0")
8575 (source
8576 (origin
8577 (method url-fetch)
8578 (uri (string-append "https://hackage.haskell.org/package/"
8579 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8580 (sha256
8581 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8582 (build-system haskell-build-system)
8583 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8584 (synopsis "Utilities for parsing numbers from strings")
8585 (description
8586 "This package provides the number parsers without the need to use a large
8587(and unportable) token parser.")
8588 (license license:bsd-3)))
8589
8590(define-public ghc-parser-combinators
8591 (package
8592 (name "ghc-parser-combinators")
2f173160 8593 (version "1.1.0")
dddbc90c
RV
8594 (source
8595 (origin
8596 (method url-fetch)
8597 (uri (string-append "https://hackage.haskell.org/package/"
8598 "parser-combinators/parser-combinators-"
8599 version ".tar.gz"))
8600 (sha256
8601 (base32
2f173160 8602 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8603 (build-system haskell-build-system)
8604 (home-page "https://github.com/mrkkrp/parser-combinators")
8605 (synopsis "Commonly useful parser combinators")
8606 (description
8607 "This is a lightweight package providing commonly useful parser
8608combinators.")
8609 (license license:bsd-3)))
8610
8611(define-public ghc-parsers
8612 (package
8613 (name "ghc-parsers")
6818f970 8614 (version "0.12.10")
dddbc90c
RV
8615 (source
8616 (origin
8617 (method url-fetch)
8618 (uri (string-append
8619 "https://hackage.haskell.org/package/parsers/parsers-"
8620 version
8621 ".tar.gz"))
8622 (sha256
8623 (base32
6818f970 8624 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8625 (build-system haskell-build-system)
8626 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8627 ; -package attoparsec-0.13.0.1"
8628 (inputs
8629 `(("ghc-base-orphans" ,ghc-base-orphans)
8630 ("ghc-attoparsec" ,ghc-attoparsec)
8631 ("ghc-scientific" ,ghc-scientific)
8632 ("ghc-charset" ,ghc-charset)
8633 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8634 (home-page "https://github.com/ekmett/parsers/")
8635 (synopsis "Parsing combinators")
8636 (description "This library provides convenient combinators for working
8637with and building parsing combinator libraries. Given a few simple instances,
8638you get access to a large number of canned definitions. Instances exist for
8639the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8640@code{Text.Read}.")
8641 (license license:bsd-3)))
8642
8643(define-public ghc-path
8644 (package
8645 (name "ghc-path")
8646 (version "0.6.1")
8647 (source
8648 (origin
8649 (method url-fetch)
8650 (uri (string-append
8651 "https://hackage.haskell.org/package/path/path-"
8652 version
8653 ".tar.gz"))
8654 (sha256
8655 (base32
8656 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8657 (build-system haskell-build-system)
8658 (arguments
8659 ;; TODO: There are some Windows-related tests and modules that need to be
8660 ;; danced around.
8661 `(#:tests? #f
8662 #:cabal-revision
8663 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8664 (inputs
8665 `(("ghc-aeson" ,ghc-aeson)
8666 ("ghc-exceptions" ,ghc-exceptions)
8667 ("ghc-hashable" ,ghc-hashable)))
8668 (native-inputs
8669 `(("ghc-hspec" ,ghc-hspec)
8670 ("ghc-quickcheck" ,ghc-quickcheck)
8671 ("ghc-genvalidity" ,ghc-genvalidity)
8672 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8673 ("ghc-hspec" ,ghc-hspec)
8674 ("ghc-validity" ,ghc-validity)))
8675 (home-page
3ef91e15 8676 "https://hackage.haskell.org/package/path")
dddbc90c
RV
8677 (synopsis "Support for well-typed paths")
8678 (description "This package introduces a type for paths upholding useful
8679invariants.")
8680 (license license:bsd-3)))
8681
8682(define-public ghc-path-io
8683 (package
8684 (name "ghc-path-io")
a06613ea 8685 (version "1.4.2")
dddbc90c
RV
8686 (source
8687 (origin
8688 (method url-fetch)
8689 (uri (string-append
8690 "https://hackage.haskell.org/package/path-io/path-io-"
8691 version
8692 ".tar.gz"))
8693 (sha256
8694 (base32
a06613ea 8695 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8696 (build-system haskell-build-system)
8697 (inputs
8698 `(("ghc-dlist" ,ghc-dlist)
8699 ("ghc-exceptions" ,ghc-exceptions)
8700 ("ghc-path" ,ghc-path)
8701 ("ghc-transformers-base" ,ghc-transformers-base)
8702 ("ghc-unix-compat" ,ghc-unix-compat)
8703 ("ghc-temporary" ,ghc-temporary)))
8704 (native-inputs
8705 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8706 (home-page
8707 "https://github.com/mrkkrp/path-io")
8708 (synopsis "Functions for manipulating well-typed paths")
8709 (description "This package provides an interface to the @code{directory}
8710package for users of @code{path}. It also implements some missing stuff like
8711recursive scanning and copying of directories, working with temporary
8712files/directories, and more.")
8713 (license license:bsd-3)))
8714
8715(define-public ghc-paths
8716 (package
8717 (name "ghc-paths")
9a8adeb1 8718 (version "0.1.0.12")
dddbc90c
RV
8719 (outputs '("out" "doc"))
8720 (source
8721 (origin
8722 (method url-fetch)
8723 (uri (string-append
8724 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8725 version
8726 ".tar.gz"))
8727 (sha256
8728 (base32
9a8adeb1 8729 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8730 (build-system haskell-build-system)
8731 (home-page "https://github.com/simonmar/ghc-paths")
8732 (synopsis
8733 "Knowledge of GHC's installation directories")
8734 (description
8735 "Knowledge of GHC's installation directories.")
8736 (license license:bsd-3)))
8737
8738(define-public ghc-patience
8739 (package
8740 (name "ghc-patience")
484476f3 8741 (version "0.3")
dddbc90c
RV
8742 (source
8743 (origin
8744 (method url-fetch)
8745 (uri (string-append
8746 "https://hackage.haskell.org/package/patience/patience-"
8747 version ".tar.gz"))
8748 (sha256
8749 (base32
484476f3 8750 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8751 (build-system haskell-build-system)
8752 (home-page "https://hackage.haskell.org/package/patience")
8753 (synopsis "Patience diff and longest increasing subsequence")
8754 (description
8755 "This library implements the 'patience diff' algorithm, as well as the
8756patience algorithm for the longest increasing subsequence problem.
8757Patience diff computes the difference between two lists, for example the lines
8758of two versions of a source file. It provides a good balance between
8759performance, nice output for humans, and simplicity of implementation.")
8760 (license license:bsd-3)))
8761
8762(define-public ghc-pcre-light
8763 (package
8764 (name "ghc-pcre-light")
8765 (version "0.4.0.4")
8766 (source
8767 (origin
8768 (method url-fetch)
8769 (uri (string-append
8770 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8771 version
8772 ".tar.gz"))
8773 (sha256
8774 (base32
8775 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8776 (build-system haskell-build-system)
8777 (inputs
8778 `(("pcre" ,pcre)))
8779 (native-inputs
8780 `(("pkg-config" ,pkg-config)))
8781 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8782 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8783 (description "This package provides a small, efficient, and portable regex
8784library for Perl 5 compatible regular expressions. The PCRE library is a set
8785of functions that implement regular expression pattern matching using the same
8786syntax and semantics as Perl 5.")
8787 (license license:bsd-3)))
8788
8789(define-public ghc-persistent
8790 (package
8791 (name "ghc-persistent")
8c9697a9 8792 (version "2.10.4")
dddbc90c
RV
8793 (source
8794 (origin
8795 (method url-fetch)
8c9697a9
ASM
8796 (uri (string-append
8797 "https://hackage.haskell.org/package/persistent/"
8798 "persistent-" version ".tar.gz"))
dddbc90c
RV
8799 (sha256
8800 (base32
8c9697a9 8801 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 8802 (build-system haskell-build-system)
8c9697a9
ASM
8803 (inputs
8804 `(("ghc-aeson" ,ghc-aeson)
8805 ("ghc-attoparsec" ,ghc-attoparsec)
8806 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8807 ("ghc-blaze-html" ,ghc-blaze-html)
8808 ("ghc-conduit" ,ghc-conduit)
8809 ("ghc-fast-logger" ,ghc-fast-logger)
8810 ("ghc-http-api-data" ,ghc-http-api-data)
8811 ("ghc-monad-logger" ,ghc-monad-logger)
8812 ("ghc-path-pieces" ,ghc-path-pieces)
8813 ("ghc-resource-pool" ,ghc-resource-pool)
8814 ("ghc-resourcet" ,ghc-resourcet)
8815 ("ghc-scientific" ,ghc-scientific)
8816 ("ghc-silently" ,ghc-silently)
8817 ("ghc-unliftio-core" ,ghc-unliftio-core)
8818 ("ghc-unliftio" ,ghc-unliftio)
8819 ("ghc-unordered-containers"
8820 ,ghc-unordered-containers)
8821 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
8822 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8823 (home-page "https://www.yesodweb.com/book/persistent")
8824 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8825 (description "This Haskell package allows Haskell programs to access data
8826storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8827way.")
8828 (license license:expat)))
8829
8830(define-public ghc-persistent-sqlite
8831 (package
8832 (name "ghc-persistent-sqlite")
78858787 8833 (version "2.10.5.2")
dddbc90c
RV
8834 (source
8835 (origin
8836 (method url-fetch)
78858787
ASM
8837 (uri (string-append
8838 "https://hackage.haskell.org/package/persistent-sqlite/"
8839 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
8840 (sha256
8841 (base32
78858787 8842 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 8843 (build-system haskell-build-system)
78858787
ASM
8844 (inputs
8845 `(("ghc-persistent" ,ghc-persistent)
8846 ("ghc-aeson" ,ghc-aeson)
8847 ("ghc-conduit" ,ghc-conduit)
8848 ("ghc-microlens-th" ,ghc-microlens-th)
8849 ("ghc-monad-logger" ,ghc-monad-logger)
8850 ("ghc-resource-pool" ,ghc-resource-pool)
8851 ("ghc-resourcet" ,ghc-resourcet)
8852 ("ghc-unliftio-core" ,ghc-unliftio-core)
8853 ("ghc-unordered-containers"
8854 ,ghc-unordered-containers)))
8855 (native-inputs
8856 `(("ghc-persistent-template"
8857 ,ghc-persistent-template)
8858 ("ghc-persistent-test" ,ghc-persistent-test)
8859 ("ghc-exceptions" ,ghc-exceptions)
8860 ("ghc-fast-logger" ,ghc-fast-logger)
8861 ("ghc-hspec" ,ghc-hspec)
8862 ("ghc-hunit" ,ghc-hunit)
8863 ("ghc-quickcheck" ,ghc-quickcheck)
8864 ("ghc-system-fileio" ,ghc-system-fileio)
8865 ("ghc-system-filepath" ,ghc-system-filepath)
8866 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
8867 (home-page
8868 "https://www.yesodweb.com/book/persistent")
8869 (synopsis "Backend for the persistent library using sqlite3")
8870 (description "This Haskell package includes a thin sqlite3 wrapper based
8871on the direct-sqlite package, as well as the entire C library, so there are no
8872system dependencies.")
8873 (license license:expat)))
8874
8875(define-public ghc-persistent-template
8876 (package
8877 (name "ghc-persistent-template")
d5378e98 8878 (version "2.8.0")
dddbc90c
RV
8879 (source
8880 (origin
8881 (method url-fetch)
d5378e98
ASM
8882 (uri (string-append
8883 "https://hackage.haskell.org/package/persistent-template/"
8884 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
8885 (sha256
8886 (base32
d5378e98 8887 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 8888 (build-system haskell-build-system)
d5378e98
ASM
8889 (inputs
8890 `(("ghc-persistent" ,ghc-persistent)
8891 ("ghc-aeson" ,ghc-aeson)
8892 ("ghc-http-api-data" ,ghc-http-api-data)
8893 ("ghc-monad-control" ,ghc-monad-control)
8894 ("ghc-monad-logger" ,ghc-monad-logger)
8895 ("ghc-path-pieces" ,ghc-path-pieces)
8896 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
8897 ("ghc-unordered-containers"
8898 ,ghc-unordered-containers)))
8899 (native-inputs
8900 `(("ghc-hspec" ,ghc-hspec)
8901 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
8902 (home-page "https://www.yesodweb.com/book/persistent")
8903 (synopsis "Type-safe, non-relational, multi-backend persistence")
8904 (description "This Haskell package provides interfaces and helper
8905functions for the ghc-persistent package.")
8906 (license license:expat)))
8907
ce32f7c7
ASM
8908(define-public ghc-persistent-test
8909 (package
8910 (name "ghc-persistent-test")
8911 (version "2.0.3.1")
8912 (source
8913 (origin
8914 (method url-fetch)
8915 (uri (string-append
8916 "https://hackage.haskell.org/package/persistent-test/"
8917 "persistent-test-" version ".tar.gz"))
8918 (sha256
8919 (base32
8920 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
8921 (build-system haskell-build-system)
8922 (inputs
8923 `(("ghc-aeson" ,ghc-aeson)
8924 ("ghc-blaze-html" ,ghc-blaze-html)
8925 ("ghc-conduit" ,ghc-conduit)
8926 ("ghc-monad-control" ,ghc-monad-control)
8927 ("ghc-monad-logger" ,ghc-monad-logger)
8928 ("ghc-path-pieces" ,ghc-path-pieces)
8929 ("ghc-persistent" ,ghc-persistent)
8930 ("ghc-persistent-template" ,ghc-persistent-template)
8931 ("ghc-random" ,ghc-random)
8932 ("ghc-resourcet" ,ghc-resourcet)
8933 ("ghc-transformers-base" ,ghc-transformers-base)
8934 ("ghc-unliftio" ,ghc-unliftio)
8935 ("ghc-unliftio-core" ,ghc-unliftio-core)
8936 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8937 (native-inputs
8938 `(("ghc-quickcheck" ,ghc-quickcheck)
8939 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8940 ("ghc-hspec" ,ghc-hspec)
8941 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
8942 ("ghc-hunit" ,ghc-hunit)))
8943 (home-page "https://www.yesodweb.com/book/persistent")
8944 (synopsis "Tests for the Persistent database library")
8945 (description
8946 "This is only for use in developing libraries that should conform to
8947the persistent interface, not for users of the persistent suite of database
8948libraries.")
8949 (license license:expat)))
8950
4639fa32
ASM
8951(define-public ghc-pipes
8952 (package
8953 (name "ghc-pipes")
8954 (version "4.3.13")
8955 (source
8956 (origin
8957 (method url-fetch)
8958 (uri (string-append
8959 "https://hackage.haskell.org/package/pipes/"
8960 "pipes-" version ".tar.gz"))
8961 (sha256
8962 (base32
8963 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8964 (build-system haskell-build-system)
8965 (inputs
8966 `(("ghc-exceptions" ,ghc-exceptions)
8967 ("ghc-mmorph" ,ghc-mmorph)
8968 ("ghc-void" ,ghc-void)
8969 ("ghc-semigroups" ,ghc-semigroups)))
8970 (native-inputs
8971 `(("ghc-quickcheck" ,ghc-quickcheck)
8972 ("ghc-test-framework" ,ghc-test-framework)
8973 ("ghc-test-framework-quickcheck2"
8974 ,ghc-test-framework-quickcheck2)))
8975 (home-page
8976 "https://hackage.haskell.org/package/pipes")
8977 (synopsis "Compositional pipelines")
8978 (description
8979 "A clean and powerful stream processing library that lets you build
8980and connect reusable streaming components. Advantages over traditional streaming
8981libraries:
8982@itemize
8983@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8984and @code{yield}
8985@item Blazing fast: Implementation tuned for speed, including shortcut fusion
8986@item Lightweight Dependency: pipes is small and compiles very rapidly, including
8987dependencies
8988@item Elegant semantics: Use practical category theory
8989@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8990@item Bidirectionality: Implement duplex channels
8991@end itemize")
8992 (license license:bsd-3)))
8993
451775a5
ASM
8994(define-public ghc-pointedlist
8995 (package
8996 (name "ghc-pointedlist")
8997 (version "0.6.1")
8998 (source
8999 (origin
9000 (method url-fetch)
9001 (uri (string-append
9002 "https://hackage.haskell.org/package/pointedlist/"
9003 "pointedlist-" version ".tar.gz"))
9004 (sha256
9005 (base32
9006 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9007 (build-system haskell-build-system)
9008 (home-page
3ef91e15 9009 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9010 (synopsis
9011 "Zipper-like comonad which works as a list, tracking a position")
9012 (description
9013 "A PointedList tracks the position in a non-empty list which works
9014similarly to a zipper. A current item is always required, and therefore
9015the list may never be empty. A circular PointedList wraps around to the
9016other end when progressing past the actual edge.")
9017 (license license:bsd-3)))
9018
dddbc90c
RV
9019(define-public ghc-polyparse
9020 (package
9021 (name "ghc-polyparse")
9822b9ca 9022 (version "1.12.1")
dddbc90c
RV
9023 (source
9024 (origin
9025 (method url-fetch)
9026 (uri (string-append
9027 "https://hackage.haskell.org/package/polyparse/polyparse-"
9028 version
9029 ".tar.gz"))
9030 (sha256
9031 (base32
9822b9ca 9032 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9033 (build-system haskell-build-system)
9034 (home-page
9035 "http://code.haskell.org/~malcolm/polyparse/")
9036 (synopsis
9037 "Alternative parser combinator libraries")
9038 (description
9039 "This package provides a variety of alternative parser combinator
9040libraries, including the original HuttonMeijer set. The Poly sets have
9041features like good error reporting, arbitrary token type, running state, lazy
9042parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9043standard Read class, for better deserialisation of Haskell values from
9044Strings.")
9045 (license license:lgpl2.1)))
9046
9047(define-public ghc-pqueue
9048 (package
9049 (name "ghc-pqueue")
142415b0 9050 (version "1.4.1.2")
dddbc90c
RV
9051 (source
9052 (origin
9053 (method url-fetch)
9054 (uri (string-append "https://hackage.haskell.org/package/"
9055 "pqueue/pqueue-" version ".tar.gz"))
9056 (sha256
9057 (base32
142415b0 9058 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9059 (build-system haskell-build-system)
9060 (native-inputs
9061 `(("ghc-quickcheck" ,ghc-quickcheck)))
9062 (home-page "https://hackage.haskell.org/package/pqueue")
9063 (synopsis "Reliable, persistent, fast priority queues")
9064 (description
9065 "This package provides a fast, reliable priority queue implementation
9066based on a binomial heap.")
9067 (license license:bsd-3)))
9068
9069(define-public ghc-prelude-extras
9070 (package
9071 (name "ghc-prelude-extras")
9072 (version "0.4.0.3")
9073 (source
9074 (origin
9075 (method url-fetch)
9076 (uri (string-append
9077 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9078 version
9079 ".tar.gz"))
9080 (sha256
9081 (base32
9082 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9083 (build-system haskell-build-system)
9084 (home-page "https://github.com/ekmett/prelude-extras")
9085 (synopsis "Higher order versions of Prelude classes")
9086 (description "This library provides higher order versions of
9087@code{Prelude} classes to ease programming with polymorphic recursion and
9088reduce @code{UndecidableInstances}.")
9089 (license license:bsd-3)))
9090
9091(define-public ghc-prettyclass
9092 (package
9093 (name "ghc-prettyclass")
9094 (version "1.0.0.0")
9095 (source
9096 (origin
9097 (method url-fetch)
9098 (uri (string-append "https://hackage.haskell.org/package/"
9099 "prettyclass/prettyclass-" version ".tar.gz"))
9100 (sha256
9101 (base32
9102 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9103 (build-system haskell-build-system)
3ef91e15 9104 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9105 (synopsis "Pretty printing class similar to Show")
9106 (description "This package provides a pretty printing class similar
9107to @code{Show}, based on the HughesPJ pretty printing library. It
9108provides the pretty printing class and instances for the Prelude
9109types.")
9110 (license license:bsd-3)))
9111
9112(define-public ghc-pretty-hex
9113 (package
9114 (name "ghc-pretty-hex")
9115 (version "1.0")
9116 (source
9117 (origin
9118 (method url-fetch)
9119 (uri (string-append "https://hackage.haskell.org/package/"
9120 "pretty-hex-" version "/"
9121 "pretty-hex-" version ".tar.gz"))
9122 (sha256
9123 (base32
9124 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9125 (build-system haskell-build-system)
9126 (home-page "https://github.com/GaloisInc/hexdump")
9127 (synopsis "Haskell library for hex dumps of ByteStrings")
9128 (description "This Haskell library generates pretty hex dumps of
9129ByteStrings in the style of other common *nix hex dump tools.")
9130 (license license:bsd-3)))
9131
9132(define-public ghc-pretty-show
9133 (package
9134 (name "ghc-pretty-show")
7683a084 9135 (version "1.9.5")
dddbc90c
RV
9136 (source
9137 (origin
9138 (method url-fetch)
9139 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9140 "pretty-show-" version ".tar.gz"))
9141 (sha256
9142 (base32
7683a084 9143 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9144 (build-system haskell-build-system)
9145 (inputs
9146 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9147 ("ghc-happy" ,ghc-happy)))
9148 (home-page "http://wiki.github.com/yav/pretty-show")
9149 (synopsis "Tools for working with derived `Show` instances")
9150 (description
9151 "This package provides a library and an executable for working with
9152derived @code{Show} instances. By using the library, derived @code{Show}
9153instances can be parsed into a generic data structure. The @code{ppsh} tool
9154uses the library to produce human-readable versions of @code{Show} instances,
9155which can be quite handy for debugging Haskell programs. We can also render
9156complex generic values into an interactive Html page, for easier
9157examination.")
9158 (license license:expat)))
9159
9160(define-public ghc-primitive
9161 (package
9162 (name "ghc-primitive")
9163 (version "0.6.4.0")
9164 (outputs '("out" "doc"))
9165 (source
9166 (origin
9167 (method url-fetch)
9168 (uri (string-append
9169 "https://hackage.haskell.org/package/primitive/primitive-"
9170 version
9171 ".tar.gz"))
9172 (sha256
9173 (base32
9174 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9175 (build-system haskell-build-system)
6cf0daa4
TS
9176 (arguments
9177 `(#:cabal-revision
9178 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9179 (home-page
9180 "https://github.com/haskell/primitive")
9181 (synopsis "Primitive memory-related operations")
9182 (description
9183 "This package provides various primitive memory-related operations.")
9184 (license license:bsd-3)))
9185
21f5b9a9
JS
9186(define-public ghc-process-extras
9187 (package
9188 (name "ghc-process-extras")
9189 (version "0.7.4")
9190 (source
9191 (origin
9192 (method url-fetch)
9193 (uri
9194 (string-append
9195 "https://hackage.haskell.org/package/process-extras/"
9196 "process-extras-" version ".tar.gz"))
9197 (sha256
9198 (base32
9199 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9200 (build-system haskell-build-system)
9201 (inputs
9202 `(("ghc-data-default" ,ghc-data-default)
9203 ("ghc-generic-deriving" ,ghc-generic-deriving)
9204 ("ghc-hunit" ,ghc-hunit)
9205 ("ghc-listlike" ,ghc-listlike)))
9206 (home-page "https://github.com/seereason/process-extras")
9207 (synopsis "Extra tools for managing processes")
f74b6983 9208 (description "This package extends
21f5b9a9
JS
9209@url{http://hackage.haskell.org/package/process}. It allows you to read
9210process input and output as ByteStrings or Text, or write your own
9211ProcessOutput instance. It also provides lazy process input and output,
9212and a ProcessMaker class for more flexibility in the process creation
9213API.")
9214 (license license:expat)))
9215
dddbc90c
RV
9216(define-public ghc-profunctors
9217 (package
9218 (name "ghc-profunctors")
899b5297 9219 (version "5.3")
dddbc90c
RV
9220 (source
9221 (origin
9222 (method url-fetch)
9223 (uri (string-append
9224 "https://hackage.haskell.org/package/profunctors/profunctors-"
9225 version
9226 ".tar.gz"))
9227 (sha256
9228 (base32
899b5297 9229 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9230 (build-system haskell-build-system)
dddbc90c
RV
9231 (inputs
9232 `(("ghc-base-orphans" ,ghc-base-orphans)
9233 ("ghc-bifunctors" ,ghc-bifunctors)
9234 ("ghc-comonad" ,ghc-comonad)
9235 ("ghc-contravariant" ,ghc-contravariant)
9236 ("ghc-distributive" ,ghc-distributive)
9237 ("ghc-semigroups" ,ghc-semigroups)
9238 ("ghc-tagged" ,ghc-tagged)))
9239 (home-page "https://github.com/ekmett/profunctors/")
9240 (synopsis "Profunctors for Haskell")
9241 (description "This library provides profunctors for Haskell.")
9242 (license license:bsd-3)))
9243
fbe32d46
ASM
9244(define-public ghc-project-template
9245 (package
9246 (name "ghc-project-template")
9247 (version "0.2.0.1")
9248 (source
9249 (origin
9250 (method url-fetch)
9251 (uri (string-append
9252 "https://hackage.haskell.org/package/project-template/project-template-"
9253 version ".tar.gz"))
9254 (sha256
9255 (base32
9256 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9257 (build-system haskell-build-system)
9258 (inputs
9259 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9260 ("ghc-conduit" ,ghc-conduit)
9261 ("ghc-conduit-extra" ,ghc-conduit-extra)
9262 ("ghc-resourcet" ,ghc-resourcet)))
9263 (native-inputs
9264 `(("ghc-hspec" ,ghc-hspec)
9265 ("hspec-discover" ,hspec-discover)
9266 ("ghc-quickcheck" ,ghc-quickcheck)))
9267 (arguments
9268 `(#:cabal-revision
9269 ("1"
9270 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9271 (home-page "https://github.com/fpco/haskell-ide")
9272 (synopsis "Specify Haskell project templates and generate files")
9273 (description
9274 "Haskell library for both generating and consuming project templates.
9275
9276ost IDEs provide the concept of a project template: instead of writing all
9277of the code for a project from scratch, you select a template, answer a few
9278questions, and a bunch of files are automatically generated.
9279
9280project-template tries to provide a canonical Haskell library for implementing
9281the ideal templating system.")
9282 (license license:bsd-3)))
9283
dddbc90c
RV
9284(define-public ghc-psqueues
9285 (package
9286 (name "ghc-psqueues")
5d133942 9287 (version "0.2.7.2")
dddbc90c
RV
9288 (source
9289 (origin
9290 (method url-fetch)
9291 (uri (string-append "https://hackage.haskell.org/package/"
9292 "psqueues-" version "/"
9293 "psqueues-" version ".tar.gz"))
9294 (sha256
9295 (base32
5d133942 9296 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9297 (build-system haskell-build-system)
9298 (inputs
9299 `(("ghc-hashable" ,ghc-hashable)))
9300 (native-inputs
9301 `(("ghc-hunit" ,ghc-hunit)
9302 ("ghc-quickcheck" ,ghc-quickcheck)
9303 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9304 ("ghc-tasty" ,ghc-tasty)
9305 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9306 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9307 (home-page "https://github.com/jaspervdj/psqueues")
9308 (synopsis "Pure priority search queues")
9309 (description "The psqueues package provides
9310@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9311three different flavors:
9312
9313@itemize
9314@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9315fast insertion, deletion and lookup. This implementation is based on Ralf
9316Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9317Implementation Technique for Priority Search Queues}.
9318
9319Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9320PSQueue} library, although it is considerably faster and provides a slightly
9321different API.
9322
9323@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9324key type to @code{Int} and uses a
9325@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9326with an additional min-heap property.
9327
9328@item @code{HashPSQ k p v} is a fairly straightforward extension
9329of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9330@code{IntPSQ}. If there are any hash collisions, it uses an
9331@code{OrdPSQ} to resolve those. The performance of this implementation
9332is comparable to that of @code{IntPSQ}, but it is more widely
9333applicable since the keys are not restricted to @code{Int},
9334but rather to any @code{Hashable} datatype.
9335@end itemize
9336
9337Each of the three implementations provides the same API, so they can
9338be used interchangeably.
9339
9340Typical applications of Priority Search Queues include:
9341
9342@itemize
9343@item Caches, and more specifically LRU Caches;
9344@item Schedulers;
9345@item Pathfinding algorithms, such as Dijkstra's and A*.
9346@end itemize")
9347 (license license:bsd-3)))
b1dbc9f5
ASM
9348
9349(define-public ghc-pwstore-fast
9350 (package
9351 (name "ghc-pwstore-fast")
9352 (version "2.4.4")
9353 (source
9354 (origin
9355 (method url-fetch)
9356 (uri (string-append
9357 "https://hackage.haskell.org/package/pwstore-fast/"
9358 "pwstore-fast-" version ".tar.gz"))
9359 (sha256
9360 (base32
9361 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9362 (build-system haskell-build-system)
9363 (inputs
9364 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9365 ("ghc-cryptohash" ,ghc-cryptohash)
9366 ("ghc-random" ,ghc-random)
9367 ("ghc-byteable" ,ghc-byteable)))
9368 (home-page "https://github.com/PeterScott/pwstore")
9369 (synopsis "Secure password storage")
9370 (description
9371 "To store passwords securely, they should be salted, then hashed with
9372a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9373details. It uses the cryptohash package for speed; if you need a pure
9374Haskell library, pwstore-purehaskell has the exact same API, but uses only
9375pure Haskell. It is about 25 times slower than this package, but still quite
9376usable.")
9377 (license license:bsd-3)))
dddbc90c
RV
9378
9379(define-public ghc-random
9380 (package
9381 (name "ghc-random")
9382 (version "1.1")
9383 (outputs '("out" "doc"))
9384 (source
9385 (origin
9386 (method url-fetch)
9387 (uri (string-append
9388 "https://hackage.haskell.org/package/random/random-"
9389 version
9390 ".tar.gz"))
9391 (sha256
9392 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9393 (build-system haskell-build-system)
9394 (home-page "https://hackage.haskell.org/package/random")
9395 (synopsis "Random number library")
9396 (description "This package provides a basic random number generation
9397library, including the ability to split random number generators.")
9398 (license license:bsd-3)))
9399
9400(define-public ghc-raw-strings-qq
9401 (package
9402 (name "ghc-raw-strings-qq")
9403 (version "1.1")
9404 (source
9405 (origin
9406 (method url-fetch)
9407 (uri (string-append "https://hackage.haskell.org/package/"
9408 "raw-strings-qq/raw-strings-qq-"
9409 version ".tar.gz"))
9410 (sha256
9411 (base32
9412 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9413 (build-system haskell-build-system)
9414 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9415 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9416 (synopsis "Raw string literals for Haskell")
9417 (description
9418 "This package provides a quasiquoter for raw string literals, i.e. string
9419literals that don't recognise the standard escape sequences. Basically, they
9420make your code more readable by freeing you from the responsibility to escape
9421backslashes. They are useful when working with regular expressions,
9422DOS/Windows paths and markup languages (such as XML).")
9423 (license license:bsd-3)))
9424
9425(define-public ghc-readable
9426 (package
9427 (name "ghc-readable")
9428 (version "0.3.1")
9429 (source
9430 (origin
9431 (method url-fetch)
9432 (uri (string-append "https://hackage.haskell.org/package/"
9433 "readable/readable-" version ".tar.gz"))
9434 (sha256
9435 (base32
9436 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9437 (build-system haskell-build-system)
9438 (home-page "https://github.com/mightybyte/readable")
9439 (synopsis "Type class for reading from Text and ByteString")
9440 (description "This package provides a @code{Readable} type class for
9441reading data types from @code{ByteString} and @code{Text}. It also
9442includes efficient implementations for common data types.")
9443 (license license:bsd-3)))
9444
9445(define-public ghc-rebase
9446 (package
9447 (name "ghc-rebase")
8d2ae3fe 9448 (version "1.3.1.1")
dddbc90c
RV
9449 (source
9450 (origin
9451 (method url-fetch)
9452 (uri (string-append "https://hackage.haskell.org/package/"
9453 "rebase-" version "/"
9454 "rebase-" version ".tar.gz"))
9455 (sha256
9456 (base32
8d2ae3fe 9457 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9458 (build-system haskell-build-system)
9459 (inputs `(("ghc-hashable" ,ghc-hashable)
9460 ("ghc-vector" ,ghc-vector)
9461 ("ghc-unordered-containers" ,ghc-unordered-containers)
9462 ("ghc-scientific" ,ghc-scientific)
9463 ("ghc-uuid" ,ghc-uuid)
9464 ("ghc-dlist" ,ghc-dlist)
9465 ("ghc-void" ,ghc-void)
9466 ("ghc-bifunctors" ,ghc-bifunctors)
9467 ("ghc-profunctors" ,ghc-profunctors)
9468 ("ghc-contravariant" ,ghc-contravariant)
9469 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9470 ("ghc-semigroups" ,ghc-semigroups)
9471 ("ghc-either" ,ghc-either)
9472 ("ghc-fail" ,ghc-fail)
9473 ("ghc-base-prelude" ,ghc-base-prelude)))
9474 (home-page "https://github.com/nikita-volkov/rebase")
9475 (synopsis "Progressive alternative to the base package
9476for Haskell")
9477 (description "This Haskell package is intended for those who are
9478tired of keeping long lists of dependencies to the same essential libraries
9479in each package as well as the endless imports of the same APIs all over again.
9480
9481It also supports the modern tendencies in the language.
9482
9483To solve those problems this package does the following:
9484
9485@itemize
9486@item Reexport the original APIs under the @code{Rebase} namespace.
9487
9488@item Export all the possible non-conflicting symbols from the
9489@code{Rebase.Prelude} module.
9490
9491@item Give priority to the modern practices in the conflicting cases.
9492@end itemize
9493
9494The policy behind the package is only to reexport the non-ambiguous and
9495non-controversial APIs, which the community has obviously settled on.
9496The package is intended to rapidly evolve with the contribution from
9497the community, with the missing features being added with pull-requests.")
9498 (license license:expat)))
9499
9500(define-public ghc-reducers
9501 (package
9502 (name "ghc-reducers")
9503 (version "3.12.3")
9504 (source
9505 (origin
9506 (method url-fetch)
9507 (uri (string-append
9508 "https://hackage.haskell.org/package/reducers/reducers-"
9509 version
9510 ".tar.gz"))
9511 (sha256
9512 (base32
9513 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9514 (build-system haskell-build-system)
9515 (inputs
9516 `(("ghc-fingertree" ,ghc-fingertree)
9517 ("ghc-hashable" ,ghc-hashable)
9518 ("ghc-unordered-containers" ,ghc-unordered-containers)
9519 ("ghc-semigroupoids" ,ghc-semigroupoids)
9520 ("ghc-semigroups" ,ghc-semigroups)))
9521 (home-page "https://github.com/ekmett/reducers/")
9522 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9523 (description "This library provides various semigroups, specialized
9524containers and a general map/reduce framework for Haskell.")
9525 (license license:bsd-3)))
9526
9527(define-public ghc-refact
9528 (package
9529 (name "ghc-refact")
9530 (version "0.3.0.2")
9531 (source
9532 (origin
9533 (method url-fetch)
9534 (uri (string-append "https://hackage.haskell.org/package/"
9535 "refact/refact-"
9536 version ".tar.gz"))
9537 (sha256
9538 (base32
9539 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9540 (build-system haskell-build-system)
3ef91e15 9541 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
9542 (synopsis "Specify refactorings to perform with apply-refact")
9543 (description
9544 "This library provides a datatype which can be interpreted by
9545@code{apply-refact}. It exists as a separate library so that applications can
9546specify refactorings without depending on GHC.")
9547 (license license:bsd-3)))
9548
9549(define-public ghc-reflection
9550 (package
9551 (name "ghc-reflection")
d215f1cc 9552 (version "2.1.5")
dddbc90c
RV
9553 (source
9554 (origin
9555 (method url-fetch)
9556 (uri (string-append
9557 "https://hackage.haskell.org/package/reflection/reflection-"
9558 version
9559 ".tar.gz"))
9560 (sha256
9561 (base32
d215f1cc 9562 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9563 (build-system haskell-build-system)
9564 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9565 (native-inputs
9566 `(("ghc-hspec" ,ghc-hspec)
9567 ("ghc-quickcheck" ,ghc-quickcheck)
9568 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9569 (home-page "https://github.com/ekmett/reflection")
9570 (synopsis "Reify arbitrary terms into types that can be reflected back
9571into terms")
9572 (description "This package addresses the 'configuration problem' which is
9573propagating configurations that are available at run-time, allowing multiple
9574configurations to coexist without resorting to mutable global variables or
9575@code{System.IO.Unsafe.unsafePerformIO}.")
9576 (license license:bsd-3)))
9577
9578(define-public ghc-regex
9579 (package
9580 (name "ghc-regex")
b9a5e634 9581 (version "1.0.2.0")
dddbc90c
RV
9582 (source
9583 (origin
9584 (method url-fetch)
9585 (uri (string-append "https://hackage.haskell.org/package/regex/"
9586 "regex-" version ".tar.gz"))
9587 (sha256
9588 (base32
b9a5e634 9589 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9590 (build-system haskell-build-system)
9591 (arguments
9592 `(#:phases
9593 (modify-phases %standard-phases
9594 (add-after 'unpack 'relax-dependencies
9595 (lambda _
9596 (substitute* "regex.cabal"
9597 (("base-compat.*>=.*0.6.*")
9598 "base-compat >= 0.6\n")
9599 (("template-haskell.*>=.*2.7.*")
9600 "template-haskell >= 2.7\n"))
9601 #t)))))
9602 (inputs
9603 `(("ghc-base-compat" ,ghc-base-compat)
9604 ("ghc-hashable" ,ghc-hashable)
9605 ("ghc-regex-base" ,ghc-regex-base)
9606 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9607 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9608 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9609 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9610 ("ghc-unordered-containers" ,ghc-unordered-containers)
9611 ("ghc-utf8-string" ,ghc-utf8-string)))
9612 (home-page "http://regex.uk")
9613 (synopsis "Toolkit for regex-base")
9614 (description
9615 "This package provides a regular expression toolkit for @code{regex-base}
9616with compile-time checking of regular expression syntax, data types for
9617matches and captures, a text replacement toolkit, portable options, high-level
9618AWK-like tools for building text processing apps, regular expression macros
9619with parsers and test bench, comprehensive documentation, tutorials and
9620copious examples.")
9621 (license license:bsd-3)))
9622
9623(define-public ghc-regex-applicative
9624 (package
9625 (name "ghc-regex-applicative")
30f60e42 9626 (version "0.3.3.1")
dddbc90c
RV
9627 (source
9628 (origin
9629 (method url-fetch)
9630 (uri (string-append
9631 "https://hackage.haskell.org/package/regex-applicative/"
9632 "regex-applicative-" version ".tar.gz"))
9633 (sha256
9634 (base32
30f60e42 9635 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9636 (build-system haskell-build-system)
9637 (inputs
9638 `(("ghc-smallcheck" ,ghc-smallcheck)
9639 ("ghc-tasty" ,ghc-tasty)
9640 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9641 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9642 (home-page "https://github.com/feuerbach/regex-applicative")
9643 (synopsis "Regex-based parsing with applicative interface")
9644 (description
9645 "@code{regex-applicative} is a Haskell library for parsing using
9646regular expressions. Parsers can be built using Applicative interface.")
9647 (license license:expat)))
9648
9649(define-public ghc-regex-base
9650 (package
9651 (name "ghc-regex-base")
9652 (version "0.93.2")
9653 (source
9654 (origin
9655 (method url-fetch)
9656 (uri (string-append
9657 "https://hackage.haskell.org/package/regex-base/regex-base-"
9658 version
9659 ".tar.gz"))
9660 (sha256
9661 (base32
9662 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9663 (build-system haskell-build-system)
9664 (home-page
9665 "https://sourceforge.net/projects/lazy-regex")
9666 (synopsis "Replaces/Enhances Text.Regex")
9667 (description "@code{Text.Regex.Base} provides the interface API for
9668regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9669 (license license:bsd-3)))
9670
9671(define-public ghc-regex-compat
9672 (package
9673 (name "ghc-regex-compat")
9674 (version "0.95.1")
9675 (source
9676 (origin
9677 (method url-fetch)
9678 (uri (string-append
9679 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9680 version
9681 ".tar.gz"))
9682 (sha256
9683 (base32
9684 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9685 (build-system haskell-build-system)
9686 (inputs
9687 `(("ghc-regex-base" ,ghc-regex-base)
9688 ("ghc-regex-posix" ,ghc-regex-posix)))
9689 (home-page "https://sourceforge.net/projects/lazy-regex")
9690 (synopsis "Replaces/Enhances Text.Regex")
9691 (description "This library provides one module layer over
9692@code{regex-posix} to replace @code{Text.Regex}.")
9693 (license license:bsd-3)))
9694
9695(define-public ghc-regex-compat-tdfa
9696 (package
9697 (name "ghc-regex-compat-tdfa")
9698 (version "0.95.1.4")
9699 (source
9700 (origin
9701 (method url-fetch)
9702 (uri (string-append
9703 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9704 version ".tar.gz"))
9705 (sha256
9706 (base32
9707 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9708 (build-system haskell-build-system)
9709 (inputs
9710 `(("ghc-regex-base" ,ghc-regex-base)
9711 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9712 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9713 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9714 (description
9715 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9716@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9717This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9718this problem.")
9719 (license license:bsd-3)))
9720
9721(define-public ghc-regex-pcre-builtin
9722 (package
9723 (name "ghc-regex-pcre-builtin")
ee946143 9724 (version "0.94.5.8.8.35")
dddbc90c
RV
9725 (source (origin
9726 (method url-fetch)
9727 (uri (string-append "https://hackage.haskell.org/package/"
9728 "regex-pcre-builtin/regex-pcre-builtin-"
9729 version ".tar.gz"))
9730 (sha256
9731 (base32
ee946143 9732 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9733 (build-system haskell-build-system)
9734 (inputs
9735 `(("ghc-regex-base" ,ghc-regex-base)))
9736 (home-page "https://hackage.haskell.org/package/regex-pcre")
9737 (synopsis "Enhancement of the builtin Text.Regex library")
9738 (description
9739 "This package is an enhancement of the @code{Text.Regex} library,
9740providing the PCRE backend to accompany regex-base, with bundled code from
9741@url{https://www.pcre.org}.")
9742 (license license:bsd-3)))
9743
9744(define-public ghc-regex-posix
9745 (package
9746 (name "ghc-regex-posix")
9747 (version "0.95.2")
9748 (source
9749 (origin
9750 (method url-fetch)
9751 (uri (string-append
9752 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9753 version
9754 ".tar.gz"))
9755 (sha256
9756 (base32
9757 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9758 (build-system haskell-build-system)
9759 (inputs
9760 `(("ghc-regex-base" ,ghc-regex-base)))
9761 (home-page "https://sourceforge.net/projects/lazy-regex")
9762 (synopsis "POSIX regular expressions for Haskell")
9763 (description "This library provides the POSIX regex backend used by the
9764Haskell library @code{regex-base}.")
9765 (license license:bsd-3)))
9766
9767(define-public ghc-regex-tdfa
9768 (package
9769 (name "ghc-regex-tdfa")
ce684db0 9770 (version "1.2.3.2")
dddbc90c
RV
9771 (source
9772 (origin
9773 (method url-fetch)
9774 (uri (string-append
9775 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9776 version ".tar.gz"))
9777 (sha256
9778 (base32
ce684db0 9779 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9780 (build-system haskell-build-system)
9781 (inputs
9782 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 9783 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
9784 (synopsis "POSIX extended regular expressions in Haskell.")
9785 (description
9786 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9787extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9788inspired by libtre.")
9789 (license license:bsd-3)))
9790
9791(define-public ghc-regex-tdfa-text
9792 (package
9793 (name "ghc-regex-tdfa-text")
9794 (version "1.0.0.3")
9795 (source
9796 (origin
9797 (method url-fetch)
9798 (uri (string-append
9799 "https://hackage.haskell.org/package/regex-tdfa-text/"
9800 "regex-tdfa-text-" version ".tar.gz"))
9801 (sha256
9802 (base32
9803 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9804 (build-system haskell-build-system)
9805 (inputs
9806 `(("ghc-regex-base" ,ghc-regex-base)
9807 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9808 (home-page
3ef91e15 9809 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
9810 (synopsis "Text interface for regex-tdfa")
9811 (description
9812 "This provides an extra text interface for regex-tdfa.")
9813 (license license:bsd-3)))
9814
9815(define-public ghc-rerebase
9816 (package
9817 (name "ghc-rerebase")
cdec7b8c 9818 (version "1.3.1.1")
dddbc90c
RV
9819 (source
9820 (origin
9821 (method url-fetch)
9822 (uri (string-append
9823 "https://hackage.haskell.org/package/rerebase/rerebase-"
9824 version ".tar.gz"))
9825 (sha256
9826 (base32
cdec7b8c 9827 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9828 (build-system haskell-build-system)
9829 (inputs
9830 `(("ghc-rebase" ,ghc-rebase)))
9831 (home-page "https://github.com/nikita-volkov/rerebase")
9832 (synopsis "Reexports from ``base'' with many other standard libraries")
9833 (description "A rich drop-in replacement for @code{base}. For details and
9834documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9835the project's home page}.")
9836 (license license:expat)))
9837
9838(define-public ghc-resolv
9839 (package
9840 (name "ghc-resolv")
87309478 9841 (version "0.1.1.2")
dddbc90c
RV
9842 (source
9843 (origin
9844 (method url-fetch)
9845 (uri (string-append
9846 "https://hackage.haskell.org/package/resolv/resolv-"
9847 version ".tar.gz"))
9848 (sha256
9849 (base32
87309478 9850 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9851 (build-system haskell-build-system)
9852 (arguments
87309478
TS
9853 `(#:phases
9854 (modify-phases %standard-phases
9855 (add-before 'configure 'update-constraints
9856 (lambda _
9857 (substitute* "resolv.cabal"
9858 (("tasty >= 1\\.1 && < 1\\.2")
9859 "tasty >= 1.1 && < 1.3"))
9860 #t)))))
dddbc90c
RV
9861 (inputs
9862 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9863 (native-inputs
9864 `(("ghc-tasty" ,ghc-tasty)
9865 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9866 (home-page "https://github.com/haskell/hackage-security")
9867 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9868 (description "This package implements an API for accessing the
9869@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9870resolver service via the standard @code{libresolv} system library (whose
9871API is often available directly via the standard @code{libc} C library) on
9872Unix systems.")
9873 (license license:gpl3)))
9874
9875(define-public ghc-resource-pool
9876 (package
9877 (name "ghc-resource-pool")
9878 (version "0.2.3.2")
9879 (source
9880 (origin
9881 (method url-fetch)
9882 (uri (string-append "https://hackage.haskell.org/package/"
9883 "resource-pool-" version "/"
9884 "resource-pool-" version ".tar.gz"))
9885 (sha256
9886 (base32
9887 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9888 (build-system haskell-build-system)
9889 (inputs `(("ghc-hashable" ,ghc-hashable)
9890 ("ghc-monad-control" ,ghc-monad-control)
9891 ("ghc-transformers-base" ,ghc-transformers-base)
9892 ("ghc-vector" ,ghc-vector)))
9893 (home-page "https://github.com/bos/pool")
9894 (synopsis "Striped resource pooling implementation in Haskell")
9895 (description "This Haskell package provides striped pooling abstraction
9896for managing flexibly-sized collections of resources such as database
9897connections.")
9898 (license license:bsd-3)))
9899
9900(define-public ghc-resourcet
9901 (package
9902 (name "ghc-resourcet")
9ac341ac 9903 (version "1.2.2")
dddbc90c
RV
9904 (source
9905 (origin
9906 (method url-fetch)
9907 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9908 "resourcet-" version ".tar.gz"))
9909 (sha256
9910 (base32
9ac341ac 9911 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9912 (build-system haskell-build-system)
9913 (inputs
9914 `(("ghc-transformers-base" ,ghc-transformers-base)
9915 ("ghc-monad-control" ,ghc-monad-control)
9916 ("ghc-transformers-compat" ,ghc-transformers-compat)
9917 ("ghc-mmorph" ,ghc-mmorph)
9918 ("ghc-exceptions" ,ghc-exceptions)
9919 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9920 (native-inputs
9921 `(("ghc-lifted-base" ,ghc-lifted-base)
9922 ("ghc-hspec" ,ghc-hspec)))
9923 (home-page "https://github.com/snoyberg/conduit")
9924 (synopsis "Deterministic allocation and freeing of scarce resources")
9925 (description "ResourceT is a monad transformer which creates a region of
9926code where you can safely allocate resources.")
9927 (license license:bsd-3)))
9928
b9debc37
TS
9929(define-public ghc-retry
9930 (package
9931 (name "ghc-retry")
9932 (version "0.8.1.0")
9933 (source
9934 (origin
9935 (method url-fetch)
9936 (uri (string-append "https://hackage.haskell.org/package/"
9937 "retry/retry-" version ".tar.gz"))
9938 (sha256
9939 (base32
9940 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9941 (build-system haskell-build-system)
9942 (inputs
9943 `(("ghc-exceptions" ,ghc-exceptions)
9944 ("ghc-random" ,ghc-random)))
9945 (native-inputs
9946 `(("ghc-hunit" ,ghc-hunit)
9947 ("ghc-tasty" ,ghc-tasty)
9948 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9949 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9950 ("ghc-hedgehog" ,ghc-hedgehog)))
9951 (home-page "http://github.com/Soostone/retry")
9952 (synopsis "Retry combinators for monadic actions that may fail")
9953 (description "This package exposes combinators that can wrap
9954arbitrary monadic actions. They run the action and potentially retry
9955running it with some configurable delay for a configurable number of
9956times. The purpose is to make it easier to work with IO and especially
9957network IO actions that often experience temporary failure and warrant
9958retrying of the original action. For example, a database query may time
9959out for a while, in which case we should hang back for a bit and retry
9960the query instead of simply raising an exception.")
9961 (license license:bsd-3)))
9962
dddbc90c
RV
9963(define-public ghc-rfc5051
9964 (package
9965 (name "ghc-rfc5051")
ec42ab7c 9966 (version "0.1.0.4")
dddbc90c
RV
9967 (source
9968 (origin
9969 (method url-fetch)
9970 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9971 "rfc5051-" version ".tar.gz"))
9972 (sha256
9973 (base32
ec42ab7c 9974 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9975 (build-system haskell-build-system)
9976 (home-page "https://hackage.haskell.org/package/rfc5051")
9977 (synopsis "Simple unicode collation as per RFC5051")
9978 (description
9979 "This library implements @code{unicode-casemap}, the simple, non
9980locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9981unicode collation can be done using @code{text-icu}, but that is a big
9982dependency that depends on a large C library, and @code{rfc5051} might be
9983better for some purposes.")
9984 (license license:bsd-3)))
9985
9986(define-public ghc-rio
9987 (package
9988 (name "ghc-rio")
8bda2fa7 9989 (version "0.1.12.0")
dddbc90c
RV
9990 (source
9991 (origin
9992 (method url-fetch)
9993 (uri (string-append
9994 "https://hackage.haskell.org/package/rio/rio-"
9995 version ".tar.gz"))
9996 (sha256
9997 (base32
8bda2fa7 9998 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9999 (build-system haskell-build-system)
10000 (inputs
10001 `(("ghc-exceptions" ,ghc-exceptions)
10002 ("ghc-hashable" ,ghc-hashable)
10003 ("ghc-microlens" ,ghc-microlens)
10004 ("ghc-primitive" ,ghc-primitive)
10005 ("ghc-typed-process" ,ghc-typed-process)
10006 ("ghc-unliftio" ,ghc-unliftio)
10007 ("ghc-unordered-containers" ,ghc-unordered-containers)
10008 ("ghc-vector" ,ghc-vector)))
10009 (native-inputs
10010 `(("ghc-hspec" ,ghc-hspec)
10011 ("hspec-discover" ,hspec-discover)))
10012 (home-page "https://github.com/commercialhaskell/rio#readme")
10013 (synopsis "A standard library for Haskell")
10014 (description "This package works as a prelude replacement for Haskell,
10015providing more functionality and types out of the box than the standard
10016prelude (such as common data types like @code{ByteString} and
10017@code{Text}), as well as removing common ``gotchas'', like partial
10018functions and lazy I/O. The guiding principle here is:
10019@itemize
10020@item If something is safe to use in general and has no expected naming
10021conflicts, expose it.
10022@item If something should not always be used, or has naming conflicts,
10023expose it from another module in the hierarchy.
10024@end itemize")
10025 (license license:expat)))
10026
10027(define-public ghc-safe
10028 (package
10029 (name "ghc-safe")
10030 (version "0.3.17")
10031 (source
10032 (origin
10033 (method url-fetch)
10034 (uri (string-append
10035 "https://hackage.haskell.org/package/safe/safe-"
10036 version
10037 ".tar.gz"))
10038 (sha256
10039 (base32
10040 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10041 (build-system haskell-build-system)
10042 (native-inputs
10043 `(("ghc-quickcheck" ,ghc-quickcheck)))
10044 (home-page "https://github.com/ndmitchell/safe#readme")
10045 (synopsis "Library of safe (exception free) functions")
10046 (description "This library provides wrappers around @code{Prelude} and
10047@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10048exceptions.")
10049 (license license:bsd-3)))
10050
10051(define-public ghc-safe-exceptions
10052 (package
10053 (name "ghc-safe-exceptions")
10054 (version "0.1.7.0")
10055 (source
10056 (origin
10057 (method url-fetch)
10058 (uri (string-append "https://hackage.haskell.org/package/"
10059 "safe-exceptions/safe-exceptions-"
10060 version ".tar.gz"))
10061 (sha256
10062 (base32
10063 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10064 (build-system haskell-build-system)
10065 (arguments
10066 '(#:cabal-revision
10067 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10068 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10069 (native-inputs
10070 `(("ghc-hspec" ,ghc-hspec)
10071 ("ghc-void" ,ghc-void)
10072 ("hspec-discover" ,hspec-discover)))
10073 (home-page "https://github.com/fpco/safe-exceptions")
10074 (synopsis "Safe, consistent, and easy exception handling")
10075 (description "Runtime exceptions - as exposed in @code{base} by the
10076@code{Control.Exception} module - have long been an intimidating part of the
10077Haskell ecosystem. This package is intended to overcome this. It provides a
10078safe and simple API on top of the existing exception handling machinery. The
10079API is equivalent to the underlying implementation in terms of power but
10080encourages best practices to minimize the chances of getting the exception
10081handling wrong.")
10082 (license license:expat)))
10083
10084(define-public ghc-safeio
10085 (package
10086 (name "ghc-safeio")
10087 (version "0.0.5.0")
10088 (source
10089 (origin
10090 (method url-fetch)
10091 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10092 "safeio-" version ".tar.gz"))
10093 (sha256
10094 (base32
10095 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10096 (build-system haskell-build-system)
10097 (inputs
10098 `(("ghc-conduit" ,ghc-conduit)
10099 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10100 ("ghc-exceptions" ,ghc-exceptions)
10101 ("ghc-resourcet" ,ghc-resourcet)))
10102 (native-inputs
10103 `(("ghc-hunit" ,ghc-hunit)
10104 ("ghc-test-framework" ,ghc-test-framework)
10105 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10106 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10107 (home-page "https://github.com/luispedro/safeio")
10108 (synopsis "Write output to disk atomically")
10109 (description
10110 "This package implements utilities to perform atomic output so as to
10111avoid the problem of partial intermediate files.")
10112 (license license:expat)))
10113
10114(define-public ghc-safesemaphore
10115 (package
10116 (name "ghc-safesemaphore")
10117 (version "0.10.1")
10118 (source
10119 (origin
10120 (method url-fetch)
10121 (uri (string-append "https://hackage.haskell.org/package/"
10122 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10123 (sha256
10124 (base32
10125 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10126 (build-system haskell-build-system)
10127 (native-inputs
10128 `(("ghc-hunit" ,ghc-hunit)))
10129 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10130 (synopsis "Exception safe semaphores")
10131 (description "This library provides exception safe semaphores that can be
10132used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10133are not exception safe and can be broken by @code{killThread}.")
10134 (license license:bsd-3)))
10135
10136(define-public ghc-sandi
10137 (package
10138 (name "ghc-sandi")
b867c2b0 10139 (version "0.5")
dddbc90c
RV
10140 (source
10141 (origin
10142 (method url-fetch)
10143 (uri (string-append
10144 "https://hackage.haskell.org/package/sandi/sandi-"
10145 version ".tar.gz"))
10146 (sha256
10147 (base32
b867c2b0 10148 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10149 (build-system haskell-build-system)
10150 (inputs
10151 `(("ghc-stringsearch" ,ghc-stringsearch)
10152 ("ghc-conduit" ,ghc-conduit)
10153 ("ghc-exceptions" ,ghc-exceptions)
10154 ("ghc-hunit" ,ghc-hunit)
10155 ("ghc-tasty" ,ghc-tasty)
10156 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10157 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10158 ("ghc-tasty-th" ,ghc-tasty-th)))
10159 (home-page "https://hackage.haskell.org/package/sandi")
10160 (synopsis "Data encoding library")
10161 (description "Reasonably fast data encoding library.")
10162 (license license:bsd-3)))
10163
4da75228
ASM
10164(define-public ghc-say
10165 (package
10166 (name "ghc-say")
10167 (version "0.1.0.1")
10168 (source
10169 (origin
10170 (method url-fetch)
10171 (uri (string-append
10172 "https://hackage.haskell.org/package/say/say-"
10173 version
10174 ".tar.gz"))
10175 (sha256
10176 (base32
10177 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10178 (build-system haskell-build-system)
10179 (native-inputs
10180 `(("ghc-hspec" ,ghc-hspec)
10181 ("hspec-discover" ,hspec-discover)
10182 ("ghc-unliftio" ,ghc-unliftio)))
10183 (home-page "https://github.com/fpco/say")
10184 (synopsis
10185 "Send textual messages to a Handle in a thread-friendly way")
10186 (description
10187 "A thread safe API to write a line of textual data to a Handle, such
10188as sending some messages to the terminal - that has the following properties:
10189@itemize
10190@item Properly handle character encoding settings on the Handle
10191@item For reasonably sized messages, ensure that the entire message is written
10192 in one chunk to avoid interleaving data with other threads
10193@item Avoid unnecessary memory allocations and copies
10194@item Minimize locking.
10195@end itemize")
10196 (license license:expat)))
10197
dddbc90c
RV
10198(define-public ghc-scientific
10199 (package
10200 (name "ghc-scientific")
10201 (version "0.3.6.2")
10202 (source
10203 (origin
10204 (method url-fetch)
10205 (uri (string-append
10206 "https://hackage.haskell.org/package/scientific/scientific-"
10207 version
10208 ".tar.gz"))
10209 (sha256
10210 (base32
10211 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10212 (build-system haskell-build-system)
10213 (inputs
10214 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10215 ("ghc-hashable" ,ghc-hashable)
10216 ("ghc-primitive" ,ghc-primitive)))
10217 (native-inputs
10218 `(("ghc-tasty" ,ghc-tasty)
10219 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10220 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10221 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10222 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10223 ("ghc-smallcheck" ,ghc-smallcheck)
10224 ("ghc-quickcheck" ,ghc-quickcheck)))
10225 (home-page "https://github.com/basvandijk/scientific")
10226 (synopsis "Numbers represented using scientific notation")
10227 (description "This package provides @code{Data.Scientific}, which provides
10228the number type @code{Scientific}. Scientific numbers are arbitrary precision
10229and space efficient. They are represented using
10230@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10231notation}.")
10232 (license license:bsd-3)))
10233
10234(define-public ghc-scientific-bootstrap
10235 (package
10236 (inherit ghc-scientific)
10237 (name "ghc-scientific-bootstrap")
10238 (arguments `(#:tests? #f))
10239 (inputs
10240 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10241 ("ghc-hashable" ,ghc-hashable)
10242 ("ghc-primitive" ,ghc-primitive)))
10243 (native-inputs '())
799d8d3c 10244 (properties '((hidden? #t)))))
dddbc90c
RV
10245
10246(define-public ghc-sdl
10247 (package
10248 (name "ghc-sdl")
10249 (version "0.6.7.0")
10250 (source
10251 (origin
10252 (method url-fetch)
10253 (uri (string-append
10254 "https://hackage.haskell.org/package/SDL/SDL-"
10255 version
10256 ".tar.gz"))
10257 (sha256
10258 (base32
10259 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10260 (build-system haskell-build-system)
10261 (inputs
10262 `(("sdl" ,sdl)))
10263 (home-page "https://hackage.haskell.org/package/SDL")
10264 (synopsis "LibSDL for Haskell")
10265 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10266multimedia library designed to provide low level access to audio, keyboard,
10267mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10268by MPEG playback software, emulators, and many popular games, including the
10269award winning Linux port of \"Civilization: Call To Power.\"")
10270 (license license:bsd-3)))
10271
1874cdc1
RV
10272(define-public ghc-sdl2
10273 (package
10274 (name "ghc-sdl2")
145148ca 10275 (version "2.5.0.0")
1874cdc1
RV
10276 (source
10277 (origin
10278 (method url-fetch)
10279 (uri (string-append "https://hackage.haskell.org/package/"
10280 "sdl2/sdl2-" version ".tar.gz"))
10281 (sha256
10282 (base32
145148ca 10283 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10284 (build-system haskell-build-system)
10285 (arguments '(#:tests? #f)) ; tests require graphical environment
10286 (inputs
10287 `(("ghc-exceptions" ,ghc-exceptions)
10288 ("ghc-linear" ,ghc-linear)
10289 ("ghc-statevar" ,ghc-statevar)
10290 ("ghc-vector" ,ghc-vector)
10291 ("sdl2" ,sdl2)))
10292 (native-inputs
10293 `(("ghc-weigh" ,ghc-weigh)
10294 ("pkg-config" ,pkg-config)))
35437dbf 10295 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10296 (synopsis "High- and low-level bindings to the SDL library")
10297 (description
10298 "This package contains bindings to the SDL 2 library, in both high- and
10299low-level forms. The @code{SDL} namespace contains high-level bindings, where
10300enumerations are split into sum types, and we perform automatic
10301error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10302translation of the C API into Haskell FFI calls. As such, this does not
10303contain sum types nor error checking. Thus this namespace is suitable for
10304building your own abstraction over SDL, but is not recommended for day-to-day
10305programming.")
10306 (license license:bsd-3)))
10307
10308(define-public ghc-sdl2-image
10309 (package
10310 (name "ghc-sdl2-image")
10311 (version "2.0.0")
10312 (source
10313 (origin
10314 (method url-fetch)
10315 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10316 "sdl2-image-" version ".tar.gz"))
10317 (sha256
10318 (base32
10319 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10320 (build-system haskell-build-system)
10321 (inputs
10322 `(("ghc-sdl2" ,ghc-sdl2)
10323 ("sdl2-image" ,sdl2-image)))
10324 (native-inputs
10325 `(("pkg-config" ,pkg-config)))
3ef91e15 10326 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10327 (synopsis "Bindings to SDL2_image")
10328 (description "This package provides Haskell bindings to
10329@code{SDL2_image}.")
10330 (license license:expat)))
10331
10332(define-public ghc-sdl2-mixer
10333 (package
10334 (name "ghc-sdl2-mixer")
10335 (version "1.1.0")
10336 (source
10337 (origin
10338 (method url-fetch)
10339 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10340 "sdl2-mixer-" version ".tar.gz"))
10341 (sha256
10342 (base32
10343 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10344 (build-system haskell-build-system)
10345 (inputs
10346 `(("ghc-data-default-class" ,ghc-data-default-class)
10347 ("ghc-lifted-base" ,ghc-lifted-base)
10348 ("ghc-monad-control" ,ghc-monad-control)
10349 ("ghc-sdl2" ,ghc-sdl2)
10350 ("ghc-vector" ,ghc-vector)
10351 ("sdl2-mixer" ,sdl2-mixer)))
10352 (native-inputs
10353 `(("pkg-config" ,pkg-config)))
3ef91e15 10354 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10355 (synopsis "Bindings to SDL2 mixer")
10356 (description "This package provides Haskell bindings to
10357@code{SDL2_mixer}.")
10358 (license license:bsd-3)))
10359
dddbc90c
RV
10360(define-public ghc-sdl-image
10361 (package
10362 (name "ghc-sdl-image")
10363 (version "0.6.2.0")
10364 (source
10365 (origin
10366 (method url-fetch)
10367 (uri (string-append
10368 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10369 version
10370 ".tar.gz"))
10371 (sha256
10372 (base32
10373 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10374 (build-system haskell-build-system)
10375 (arguments
10376 `(#:configure-flags
10377 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10378 (sdl-image-include (string-append sdl-image "/include/SDL")))
10379 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10380 (inputs
10381 `(("ghc-sdl" ,ghc-sdl)
10382 ("sdl-image" ,sdl-image)))
10383 (home-page "https://hackage.haskell.org/package/SDL-image")
10384 (synopsis "Haskell bindings to libSDL_image")
10385 (description "SDL_image is an image file loading library. It loads images
10386as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10387PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10388 (license license:bsd-3)))
10389
10390(define-public ghc-sdl-mixer
10391 (package
10392 (name "ghc-sdl-mixer")
10393 (version "0.6.3.0")
10394 (source
10395 (origin
10396 (method url-fetch)
10397 (uri (string-append
10398 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10399 version
10400 ".tar.gz"))
10401 (sha256
10402 (base32
10403 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10404 (build-system haskell-build-system)
10405 (arguments
10406 `(#:configure-flags
10407 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10408 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10409 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10410 (inputs
10411 `(("ghc-sdl" ,ghc-sdl)
10412 ("sdl-mixer" ,sdl-mixer)))
10413 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10414 (synopsis "Haskell bindings to libSDL_mixer")
10415 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10416supports any number of simultaneously playing channels of 16 bit stereo audio,
10417plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10418MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10419 (license license:bsd-3)))
10420
10421(define-public ghc-securemem
10422 (package
10423 (name "ghc-securemem")
10424 (version "0.1.10")
10425 (source
10426 (origin
10427 (method url-fetch)
10428 (uri (string-append "https://hackage.haskell.org/package/"
10429 "securemem-" version "/"
10430 "securemem-" version ".tar.gz"))
10431 (sha256
10432 (base32
10433 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10434 (build-system haskell-build-system)
10435 (inputs `(("ghc-byteable" ,ghc-byteable)
10436 ("ghc-memory" ,ghc-memory)))
10437 (home-page "https://github.com/vincenthz/hs-securemem")
10438 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10439Haskell")
10440 (description "SecureMem is similar to ByteString, except that it provides
10441a memory chunk that will be auto-scrubbed after it run out of scope.")
10442 (license license:bsd-3)))
10443
10444(define-public ghc-semigroupoids
10445 (package
10446 (name "ghc-semigroupoids")
a8aaadf2 10447 (version "5.3.3")
dddbc90c
RV
10448 (source
10449 (origin
10450 (method url-fetch)
10451 (uri (string-append
10452 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10453 version
10454 ".tar.gz"))
10455 (sha256
10456 (base32
a8aaadf2 10457 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10458 (build-system haskell-build-system)
dddbc90c
RV
10459 (inputs
10460 `(("ghc-base-orphans" ,ghc-base-orphans)
10461 ("ghc-transformers-compat" ,ghc-transformers-compat)
10462 ("ghc-bifunctors" ,ghc-bifunctors)
10463 ("ghc-comonad" ,ghc-comonad)
10464 ("ghc-contravariant" ,ghc-contravariant)
10465 ("ghc-distributive" ,ghc-distributive)
10466 ("ghc-hashable" ,ghc-hashable)
10467 ("ghc-semigroups" ,ghc-semigroups)
10468 ("ghc-tagged" ,ghc-tagged)
10469 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10470 (native-inputs
10471 `(("cabal-doctest" ,cabal-doctest)
10472 ("ghc-doctest" ,ghc-doctest)))
10473 (home-page "https://github.com/ekmett/semigroupoids")
10474 (synopsis "Semigroupoids operations for Haskell")
10475 (description "This library provides a wide array of (semi)groupoids and
10476operations for working with them. A @code{Semigroupoid} is a @code{Category}
10477without the requirement of identity arrows for every object in the category.
10478A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10479Finally, to work with these weaker structures it is beneficial to have
10480containers that can provide stronger guarantees about their contents, so
10481versions of @code{Traversable} and @code{Foldable} that can be folded with
10482just a @code{Semigroup} are added.")
10483 (license license:bsd-3)))
10484
10485(define-public ghc-semigroups
10486 (package
10487 (name "ghc-semigroups")
10488 (version "0.18.5")
10489 (source
10490 (origin
10491 (method url-fetch)
10492 (uri (string-append
10493 "https://hackage.haskell.org/package/semigroups/semigroups-"
10494 version
10495 ".tar.gz"))
10496 (sha256
10497 (base32
10498 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10499 (build-system haskell-build-system)
10500 (inputs
10501 `(("ghc-nats" ,ghc-nats)
10502 ("ghc-tagged" ,ghc-tagged)
10503 ("ghc-unordered-containers" ,ghc-unordered-containers)
10504 ("ghc-hashable" ,ghc-hashable)))
10505 (home-page "https://github.com/ekmett/semigroups/")
10506 (synopsis "Semigroup operations for Haskell")
10507 (description "This package provides semigroups for Haskell. In
10508mathematics, a semigroup is an algebraic structure consisting of a set
10509together with an associative binary operation. A semigroup generalizes a
10510monoid in that there might not exist an identity element. It
10511also (originally) generalized a group (a monoid with all inverses) to a type
10512where every element did not have to have an inverse, thus the name
10513semigroup.")
10514 (license license:bsd-3)))
10515
10516(define-public ghc-semigroups-bootstrap
10517 (package
10518 (inherit ghc-semigroups)
10519 (name "ghc-semigroups-bootstrap")
10520 (inputs
10521 `(("ghc-nats" ,ghc-nats-bootstrap)
10522 ("ghc-tagged" ,ghc-tagged)
10523 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10524 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10525 (properties '((hidden? #t)))))
dddbc90c
RV
10526
10527(define-public ghc-setenv
10528 (package
10529 (name "ghc-setenv")
10530 (version "0.1.1.3")
10531 (source
10532 (origin
10533 (method url-fetch)
10534 (uri (string-append
10535 "https://hackage.haskell.org/package/setenv/setenv-"
10536 version
10537 ".tar.gz"))
10538 (sha256
10539 (base32
10540 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10541 (build-system haskell-build-system)
10542 (home-page "https://hackage.haskell.org/package/setenv")
10543 (synopsis "Library for setting environment variables")
10544 (description "This package provides a Haskell library for setting
10545environment variables.")
10546 (license license:expat)))
10547
10548(define-public ghc-setlocale
10549 (package
10550 (name "ghc-setlocale")
9d7cfc9b 10551 (version "1.0.0.9")
dddbc90c
RV
10552 (source (origin
10553 (method url-fetch)
10554 (uri (string-append
10555 "https://hackage.haskell.org/package/setlocale-"
10556 version "/setlocale-" version ".tar.gz"))
10557 (sha256
10558 (base32
9d7cfc9b 10559 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10560 (build-system haskell-build-system)
10561 (home-page "https://hackage.haskell.org/package/setlocale")
10562 (synopsis "Haskell bindings to setlocale")
10563 (description "This package provides Haskell bindings to the
10564@code{setlocale} C function.")
10565 (license license:bsd-3)))
10566
10567(define-public ghc-shakespeare
10568 (package
10569 (name "ghc-shakespeare")
f680955f 10570 (version "2.0.22")
dddbc90c
RV
10571 (source
10572 (origin
10573 (method url-fetch)
10574 (uri (string-append "https://hackage.haskell.org/package/"
10575 "shakespeare-" version "/"
10576 "shakespeare-" version ".tar.gz"))
10577 (sha256
10578 (base32
f680955f 10579 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10580 (build-system haskell-build-system)
10581 (inputs `(("ghc-aeson" ,ghc-aeson)
10582 ("ghc-blaze-markup" ,ghc-blaze-markup)
10583 ("ghc-blaze-html" ,ghc-blaze-html)
10584 ("ghc-exceptions" ,ghc-exceptions)
10585 ("ghc-vector" ,ghc-vector)
10586 ("ghc-unordered-containers" ,ghc-unordered-containers)
10587 ("ghc-scientific" ,ghc-scientific)))
10588 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10589 ("ghc-hunit" ,ghc-hunit)
10590 ("hspec-discover" ,hspec-discover)))
10591 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10592 (synopsis "Family of type-safe template languages for Haskell")
10593 (description "This Haskell package provides a family of type-safe
10594templates with simple variable interpolation. Shakespeare templates can
10595be used inline with a quasi-quoter or in an external file and it
10596interpolates variables according to the type being inserted.")
10597 (license license:expat)))
10598
10599(define-public ghc-shelly
10600 (package
10601 (name "ghc-shelly")
10602 (version "1.8.1")
10603 (source
10604 (origin
10605 (method url-fetch)
10606 (uri (string-append
10607 "https://hackage.haskell.org/package/shelly/shelly-"
10608 version ".tar.gz"))
10609 (sha256
10610 (base32
10611 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10612 (build-system haskell-build-system)
10613 (inputs
10614 `(("ghc-unix-compat" ,ghc-unix-compat)
10615 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10616 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10617 ("ghc-monad-control" ,ghc-monad-control)
10618 ("ghc-lifted-base" ,ghc-lifted-base)
10619 ("ghc-lifted-async" ,ghc-lifted-async)
10620 ("ghc-exceptions" ,ghc-exceptions)
10621 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10622 ("ghc-async" ,ghc-async)
10623 ("ghc-transformers-base" ,ghc-transformers-base)
10624 ("ghc-hunit" ,ghc-hunit)
10625 ("ghc-hspec" ,ghc-hspec)
10626 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10627 (home-page "https://github.com/yesodweb/Shelly.hs")
10628 (synopsis "Shell-like (systems) programming in Haskell")
10629 (description
10630 "Shelly provides convenient systems programming in Haskell, similar in
10631spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10632 (license license:bsd-3)))
10633
10634(define-public ghc-silently
10635 (package
10636 (name "ghc-silently")
544bb369 10637 (version "1.2.5.1")
dddbc90c
RV
10638 (source
10639 (origin
10640 (method url-fetch)
10641 (uri (string-append
10642 "https://hackage.haskell.org/package/silently/silently-"
10643 version
10644 ".tar.gz"))
10645 (sha256
10646 (base32
544bb369 10647 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10648 (build-system haskell-build-system)
10649 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10650 ;; (inputs
10651 ;; `(("ghc-temporary" ,ghc-temporary)))
10652 (home-page "https://github.com/hspec/silently")
10653 (synopsis "Prevent writing to stdout")
10654 (description "This package provides functions to prevent or capture
10655writing to stdout and other handles.")
10656 (license license:bsd-3)))
10657
10658(define-public ghc-simple-reflect
10659 (package
10660 (name "ghc-simple-reflect")
10661 (version "0.3.3")
10662 (source
10663 (origin
10664 (method url-fetch)
10665 (uri (string-append
10666 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10667 version
10668 ".tar.gz"))
10669 (sha256
10670 (base32
10671 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10672 (build-system haskell-build-system)
10673 (home-page
10674 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10675 (synopsis
10676 "Simple reflection of expressions containing variables")
10677 (description
10678 "This package allows simple reflection of expressions containing
10679variables. Reflection here means that a Haskell expression is turned into a
10680string. The primary aim of this package is teaching and understanding; there
10681are no options for manipulating the reflected expressions beyond showing
10682them.")
10683 (license license:bsd-3)))
10684
10685(define-public ghc-simple-sendfile
10686 (package
10687 (name "ghc-simple-sendfile")
08f54390 10688 (version "0.2.30")
dddbc90c
RV
10689 (source
10690 (origin
10691 (method url-fetch)
10692 (uri (string-append "https://hackage.haskell.org/package/"
10693 "simple-sendfile-" version "/"
10694 "simple-sendfile-" version ".tar.gz"))
10695 (sha256
10696 (base32
08f54390 10697 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10698 (build-system haskell-build-system)
10699 (inputs
10700 `(("ghc-conduit" ,ghc-conduit)
10701 ("ghc-conduit-extra" ,ghc-conduit-extra)
10702 ("ghc-network" ,ghc-network)
10703 ("ghc-resourcet" ,ghc-resourcet)))
10704 (native-inputs
10705 `(("ghc-hspec" ,ghc-hspec)
10706 ("hspec-discover" ,hspec-discover)))
10707 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10708 (synopsis "Cross platform library for the sendfile system call")
10709 (description "This library tries to call minimum system calls which
10710are the bottleneck of web servers.")
10711 (license license:bsd-3)))
10712
06966c05
TS
10713(define-public ghc-size-based
10714 (package
10715 (name "ghc-size-based")
10716 (version "0.1.2.0")
10717 (source
10718 (origin
10719 (method url-fetch)
10720 (uri (string-append "https://hackage.haskell.org/package/"
10721 "size-based/size-based-" version ".tar.gz"))
10722 (sha256
10723 (base32
10724 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10725 (build-system haskell-build-system)
10726 (inputs
10727 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10728 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10729 ("ghc-semigroups" ,ghc-semigroups)))
10730 (arguments
10731 `(#:cabal-revision
10732 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10733 (home-page "https://hackage.haskell.org/package/size-based")
10734 (synopsis "Sized functors for size-based enumerations")
10735 (description "This library provides a framework for size-based
10736enumerations.")
10737 (license license:bsd-3)))
10738
dddbc90c
RV
10739(define-public ghc-skylighting-core
10740 (package
10741 (name "ghc-skylighting-core")
1826c2a8 10742 (version "0.8.2.1")
dddbc90c
RV
10743 (source (origin
10744 (method url-fetch)
10745 (uri (string-append "https://hackage.haskell.org/package/"
10746 "skylighting-core/skylighting-core-"
10747 version ".tar.gz"))
10748 (sha256
10749 (base32
1826c2a8 10750 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10751 (build-system haskell-build-system)
10752 (inputs
10753 `(("ghc-aeson" ,ghc-aeson)
10754 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10755 ("ghc-attoparsec" ,ghc-attoparsec)
10756 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10757 ("ghc-blaze-html" ,ghc-blaze-html)
10758 ("ghc-case-insensitive" ,ghc-case-insensitive)
10759 ("ghc-colour" ,ghc-colour)
10760 ("ghc-hxt" ,ghc-hxt)
10761 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10762 ("ghc-safe" ,ghc-safe)
10763 ("ghc-utf8-string" ,ghc-utf8-string)))
10764 (native-inputs
10765 `(("ghc-diff" ,ghc-diff)
10766 ("ghc-hunit" ,ghc-hunit)
10767 ("ghc-pretty-show" ,ghc-pretty-show)
10768 ("ghc-quickcheck" ,ghc-quickcheck)
10769 ("ghc-tasty" ,ghc-tasty)
10770 ("ghc-tasty-golden" ,ghc-tasty-golden)
10771 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10772 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10773 (home-page "https://github.com/jgm/skylighting")
10774 (synopsis "Syntax highlighting library")
10775 (description "Skylighting is a syntax highlighting library with support
10776for over one hundred languages. It derives its tokenizers from XML syntax
10777definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10778supported by that framework can be added. An optional command-line program is
10779provided. Skylighting is intended to be the successor to highlighting-kate.")
10780 (license license:gpl2)))
10781
10782(define-public ghc-skylighting
10783 (package
10784 (inherit ghc-skylighting-core)
10785 (name "ghc-skylighting")
36c940cf 10786 (version "0.8.2.1")
dddbc90c
RV
10787 (source (origin
10788 (method url-fetch)
10789 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10790 version "/skylighting-" version ".tar.gz"))
10791 (sha256
10792 (base32
36c940cf 10793 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10794 (inputs
10795 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10796 ,@(package-inputs ghc-skylighting-core)))))
10797
10798(define-public ghc-smallcheck
10799 (package
10800 (name "ghc-smallcheck")
10801 (version "1.1.5")
10802 (source
10803 (origin
10804 (method url-fetch)
10805 (uri (string-append
10806 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10807 version
10808 ".tar.gz"))
10809 (sha256
10810 (base32
10811 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10812 (build-system haskell-build-system)
10813 (inputs
10814 `(("ghc-logict" ,ghc-logict)))
10815 (home-page
10816 "https://github.com/feuerbach/smallcheck")
10817 (synopsis "Property-based testing library")
a84be333 10818 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
10819properties for all test cases up to some depth. The test cases are generated
10820automatically by SmallCheck.")
10821 (license license:bsd-3)))
10822
10823(define-public ghc-socks
10824 (package
10825 (name "ghc-socks")
ab761e9d 10826 (version "0.6.1")
dddbc90c
RV
10827 (source (origin
10828 (method url-fetch)
10829 (uri (string-append "https://hackage.haskell.org/package/"
10830 "socks/socks-" version ".tar.gz"))
10831 (sha256
10832 (base32
ab761e9d 10833 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10834 (build-system haskell-build-system)
10835 (inputs
10836 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10837 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10838 ("ghc-network" ,ghc-network)))
10839 (home-page "https://github.com/vincenthz/hs-socks")
10840 (synopsis "SOCKS proxy (version 5) implementation")
10841 (description
10842 "This library provides a SOCKS proxy (version 5) implementation.")
10843 (license license:bsd-3)))
10844
081d85d6
TS
10845(define-public ghc-sop-core
10846 (package
10847 (name "ghc-sop-core")
10848 (version "0.4.0.0")
10849 (source
10850 (origin
10851 (method url-fetch)
10852 (uri (string-append "https://hackage.haskell.org/package/"
10853 "sop-core/sop-core-" version ".tar.gz"))
10854 (sha256
10855 (base32
10856 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10857 (build-system haskell-build-system)
3ef91e15 10858 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
10859 (synopsis "True Sums of Products")
10860 (description "This package provides an implementation of
10861@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10862is the main module of this library and contains more detailed
10863documentation. The main use case of this package is to serve as the
10864core of @url{https://hackage.haskell.org/package/generics-sop,
10865generics-sop}.")
10866 (license license:bsd-3)))
10867
dddbc90c
RV
10868(define-public ghc-split
10869 (package
10870 (name "ghc-split")
10871 (version "0.2.3.3")
10872 (outputs '("out" "doc"))
10873 (source
10874 (origin
10875 (method url-fetch)
10876 (uri (string-append
10877 "https://hackage.haskell.org/package/split/split-"
10878 version
10879 ".tar.gz"))
10880 (sha256
10881 (base32
10882 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10883 (build-system haskell-build-system)
9bbc21a7
TS
10884 (arguments
10885 `(#:cabal-revision
10886 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10887 (native-inputs
10888 `(("ghc-quickcheck" ,ghc-quickcheck)))
10889 (home-page "https://hackage.haskell.org/package/split")
10890 (synopsis "Combinator library for splitting lists")
10891 (description "This package provides a collection of Haskell functions for
10892splitting lists into parts, akin to the @code{split} function found in several
10893mainstream languages.")
10894 (license license:bsd-3)))
10895
7799d17f 10896(define-public ghc-splitmix
49367c92 10897 (package
7799d17f 10898 (name "ghc-splitmix")
49367c92
TS
10899 (version "0.0.3")
10900 (source
10901 (origin
10902 (method url-fetch)
10903 (uri (string-append "https://hackage.haskell.org/package/"
10904 "splitmix/splitmix-" version ".tar.gz"))
10905 (sha256
10906 (base32
10907 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10908 (build-system haskell-build-system)
49367c92
TS
10909 (inputs
10910 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10911 (native-inputs
10912 `(("ghc-hunit" ,ghc-hunit)
10913 ("ghc-async" ,ghc-async)
10914 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10915 ("ghc-tf-random" ,ghc-tf-random)
10916 ("ghc-vector" ,ghc-vector)))
92a79fee 10917 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
10918 (synopsis "Fast and splittable pseudorandom number generator")
10919 (description "This package provides a Pure Haskell implementation of the
10920SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10921pseudorandom number generator that is quite fast: 9 64-bit
10922arithmetic/logical operations per 64 bits generated. SplitMix is tested
10923with two standard statistical test suites (DieHarder and TestU01, this
10924implementation only using the former) and it appears to be adequate for
10925\"everyday\" use, such as Monte Carlo algorithms and randomized data
10926structures where speed is important. In particular, it @strong{should not
10927be used for cryptographic or security applications}, because generated
10928sequences of pseudorandom values are too predictable (the mixing functions
10929are easily inverted, and two successive outputs suffice to reconstruct the
10930internal state).")
10931 (license license:bsd-3)))
10932
7799d17f
TS
10933(define-public ghc-splitmix-bootstrap
10934 (package
10935 (inherit ghc-splitmix)
10936 (name "ghc-splitmix-bootstrap")
10937 (arguments `(#:tests? #f))
10938 (native-inputs '())
10939 (properties '((hidden? #t)))))
10940
dddbc90c
RV
10941(define-public ghc-statevar
10942 (package
10943 (name "ghc-statevar")
19419709 10944 (version "1.2")
dddbc90c
RV
10945 (source
10946 (origin
10947 (method url-fetch)
10948 (uri (string-append
10949 "https://hackage.haskell.org/package/StateVar/StateVar-"
10950 version
10951 ".tar.gz"))
10952 (sha256
10953 (base32
19419709 10954 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10955 (build-system haskell-build-system)
10956 (home-page "https://hackage.haskell.org/package/StateVar")
10957 (synopsis "State variables for Haskell")
10958 (description "This package provides state variables, which are references
10959in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10960 (license license:bsd-3)))
10961
10962(define-public ghc-statistics
10963 (package
10964 (name "ghc-statistics")
60e78e68 10965 (version "0.15.1.1")
dddbc90c
RV
10966 (source
10967 (origin
10968 (method url-fetch)
10969 (uri (string-append "https://hackage.haskell.org/package/"
10970 "statistics-" version "/"
10971 "statistics-" version ".tar.gz"))
10972 (sha256
10973 (base32
60e78e68 10974 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10975 (build-system haskell-build-system)
10976 (arguments
60e78e68 10977 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10978 #:tests? #f))
10979 (inputs
10980 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10981 ("ghc-async" ,ghc-async)
dddbc90c 10982 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10983 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10984 ("ghc-math-functions" ,ghc-math-functions)
10985 ("ghc-monad-par" ,ghc-monad-par)
10986 ("ghc-mwc-random" ,ghc-mwc-random)
10987 ("ghc-primitive" ,ghc-primitive)
10988 ("ghc-vector" ,ghc-vector)
10989 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10990 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10991 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10992 (native-inputs
10993 `(("ghc-hunit" ,ghc-hunit)
10994 ("ghc-quickcheck" ,ghc-quickcheck)
10995 ("ghc-ieee754" ,ghc-ieee754)
10996 ("ghc-test-framework" ,ghc-test-framework)
10997 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10998 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10999 (home-page "https://github.com/bos/mwc-random")
11000 (synopsis "Haskell library of statistical types, data, and functions")
11001 (description "This library provides a number of common functions
11002and types useful in statistics. We focus on high performance, numerical
11003robustness, and use of good algorithms. Where possible, we provide references
11004to the statistical literature.
11005
11006The library's facilities can be divided into four broad categories:
11007
11008@itemize
11009@item Working with widely used discrete and continuous probability
11010distributions. (There are dozens of exotic distributions in use; we focus
11011on the most common.)
11012
11013@item Computing with sample data: quantile estimation, kernel density
11014estimation, histograms, bootstrap methods, significance testing,
11015and regression and autocorrelation analysis.
11016
11017@item Random variate generation under several different distributions.
11018
11019@item Common statistical tests for significant differences between samples.
11020@end itemize")
11021 (license license:bsd-2)))
11022
11023(define-public ghc-stm-chans
11024 (package
11025 (name "ghc-stm-chans")
11026 (version "3.0.0.4")
11027 (source
11028 (origin
11029 (method url-fetch)
11030 (uri (string-append "https://hackage.haskell.org/package/"
11031 "stm-chans-" version "/"
11032 "stm-chans-" version ".tar.gz"))
11033 (sha256
11034 (base32
11035 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11036 (build-system haskell-build-system)
11037 (home-page "https://hackage.haskell.org/package/stm-chans")
11038 (synopsis "Additional types of channels for ghc-stm")
11039 (description "This Haskell package offers a collection of channel types,
11040similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11041features.")
11042 (license license:bsd-3)))
11043
11044(define-public ghc-stm-conduit
11045 (package
11046 (name "ghc-stm-conduit")
cd518e95 11047 (version "4.0.1")
dddbc90c
RV
11048 (source
11049 (origin
11050 (method url-fetch)
11051 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11052 "stm-conduit-" version ".tar.gz"))
11053 (sha256
11054 (base32
cd518e95 11055 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11056 (build-system haskell-build-system)
11057 (inputs
11058 `(("ghc-stm-chans" ,ghc-stm-chans)
11059 ("ghc-cereal" ,ghc-cereal)
11060 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11061 ("ghc-conduit" ,ghc-conduit)
11062 ("ghc-conduit-extra" ,ghc-conduit-extra)
11063 ("ghc-exceptions" ,ghc-exceptions)
11064 ("ghc-resourcet" ,ghc-resourcet)
11065 ("ghc-async" ,ghc-async)
11066 ("ghc-monad-loops" ,ghc-monad-loops)
11067 ("ghc-unliftio" ,ghc-unliftio)))
11068 (native-inputs
11069 `(("ghc-doctest" ,ghc-doctest)
11070 ("ghc-quickcheck" ,ghc-quickcheck)
11071 ("ghc-hunit" ,ghc-hunit)
11072 ("ghc-test-framework" ,ghc-test-framework)
11073 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11074 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11075 (home-page "https://github.com/cgaebel/stm-conduit")
11076 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11077 (description
11078 "This package provides two simple conduit wrappers around STM channels: a
11079source and a sink.")
11080 (license license:bsd-3)))
11081
11082(define-public ghc-stmonadtrans
11083 (package
11084 (name "ghc-stmonadtrans")
11085 (version "0.4.3")
11086 (source
11087 (origin
11088 (method url-fetch)
11089 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11090 "/STMonadTrans-" version ".tar.gz"))
11091 (sha256
11092 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11093 (build-system haskell-build-system)
11094 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11095 (synopsis "Monad transformer version of the ST monad")
11096 (description
11097 "This package provides a monad transformer version of the @code{ST} monad
11098for strict state threads.")
11099 (license license:bsd-3)))
11100
11101(define-public ghc-storable-complex
11102 (package
11103 (name "ghc-storable-complex")
4a35e3c3 11104 (version "0.2.3.0")
dddbc90c
RV
11105 (source
11106 (origin
11107 (method url-fetch)
11108 (uri (string-append
11109 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11110 version ".tar.gz"))
11111 (sha256
4a35e3c3 11112 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11113 (build-system haskell-build-system)
4a35e3c3
TS
11114 (inputs
11115 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11116 (home-page "https://github.com/cartazio/storable-complex")
11117 (synopsis "Haskell Storable instance for Complex")
11118 (description "This package provides a Haskell library including a
11119Storable instance for Complex which is binary compatible with C99, C++
11120and Fortran complex data types.")
11121 (license license:bsd-3)))
11122
ad80074a
JS
11123(define-public ghc-storable-record
11124 (package
11125 (name "ghc-storable-record")
11126 (version "0.0.4")
11127 (source
11128 (origin
11129 (method url-fetch)
11130 (uri
11131 (string-append
11132 "https://hackage.haskell.org/package/storable-record/"
11133 "storable-record-" version ".tar.gz"))
11134 (sha256
11135 (base32
11136 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11137 (build-system haskell-build-system)
11138 (inputs
11139 `(("ghc-semigroups" ,ghc-semigroups)
11140 ("ghc-utility-ht" ,ghc-utility-ht)
11141 ("ghc-storablevector" ,ghc-storablevector)
11142 ("ghc-timeit" ,ghc-timeit)))
11143 (home-page "https://hackage.haskell.org/package/storable-record")
11144 (synopsis "Elegant definition of Storable instances for records")
11145 (description "With this package you can build a Storable instance of
11146a record type from Storable instances of its elements in an elegant way.
11147It does not do any magic, just a bit arithmetic to compute the right
11148offsets, that would be otherwise done manually or by a preprocessor like
11149C2HS. There is no guarantee that the generated memory layout is
11150compatible with that of a corresponding C struct. However, the module
11151generates the smallest layout that is possible with respect to the
11152alignment of the record elements.")
11153 (license license:bsd-3)))
11154
55f4c653
JS
11155(define-public ghc-storable-tuple
11156 (package
11157 (name "ghc-storable-tuple")
11158 (version "0.0.3.3")
11159 (source
11160 (origin
11161 (method url-fetch)
11162 (uri
11163 (string-append
11164 "https://hackage.haskell.org/package/storable-tuple/"
11165 "storable-tuple-" version ".tar.gz"))
11166 (sha256
11167 (base32
11168 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11169 (build-system haskell-build-system)
11170 (inputs
11171 `(("ghc-storable-record" ,ghc-storable-record)
11172 ("ghc-utility-ht" ,ghc-utility-ht)
11173 ("ghc-base-orphans" ,ghc-base-orphans)))
11174 (home-page "https://hackage.haskell.org/package/storable-tuple")
11175 (synopsis "Storable instance for pairs and triples")
11176 (description "This package provides a Storable instance for pairs
11177and triples which should be binary compatible with C99 and C++. The
11178only purpose of this package is to provide a standard location for this
11179instance so that other packages needing this instance can play nicely
11180together.")
11181 (license license:bsd-3)))
11182
bc06ca45
JS
11183(define-public ghc-storablevector
11184 (package
11185 (name "ghc-storablevector")
11186 (version "0.2.13")
11187 (source
11188 (origin
11189 (method url-fetch)
11190 (uri
11191 (string-append
11192 "https://hackage.haskell.org/package/storablevector/storablevector-"
11193 version ".tar.gz"))
11194 (sha256
11195 (base32
11196 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11197 (build-system haskell-build-system)
11198 (inputs
11199 `(("ghc-non-negative" ,ghc-non-negative)
11200 ("ghc-utility-ht" ,ghc-utility-ht)
11201 ("ghc-semigroups" ,ghc-semigroups)
11202 ("ghc-unsafe" ,ghc-unsafe)
11203 ("ghc-quickcheck" ,ghc-quickcheck)
11204 ("ghc-syb" ,ghc-syb)))
11205 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11206 (synopsis "Fast, packed, strict storable arrays with a list interface")
11207 (description "This library provides fast, packed, strict storable
11208arrays with a list interface, a chunky lazy list interface with variable
11209chunk size and an interface for write access via the ST monad. This is
11210much like bytestring and binary but can be used for every
11211@code{Foreign.Storable.Storable} type. See also
11212@url{http://hackage.haskell.org/package/vector}, a library with a
11213similar intention.
11214
11215This library does not do advanced fusion optimization, since especially
11216for lazy vectors this would either be incorrect or not applicable. See
11217@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11218a library that provides fusion with lazy lists.")
11219 (license license:bsd-3)))
11220
dddbc90c
RV
11221(define-public ghc-streaming-commons
11222 (package
11223 (name "ghc-streaming-commons")
11224 (version "0.2.1.1")
11225 (source
11226 (origin
11227 (method url-fetch)
11228 (uri (string-append "https://hackage.haskell.org/package/"
11229 "streaming-commons/streaming-commons-"
11230 version ".tar.gz"))
11231 (sha256
11232 (base32
11233 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11234 (build-system haskell-build-system)
11235 (inputs
11236 `(("ghc-async" ,ghc-async)
11237 ("ghc-blaze-builder" ,ghc-blaze-builder)
11238 ("ghc-network" ,ghc-network)
11239 ("ghc-random" ,ghc-random)
11240 ("ghc-zlib" ,ghc-zlib)))
11241 (native-inputs
11242 `(("ghc-quickcheck" ,ghc-quickcheck)
11243 ("ghc-hspec" ,ghc-hspec)
11244 ("hspec-discover" ,hspec-discover)))
11245 (home-page "https://hackage.haskell.org/package/streaming-commons")
11246 (synopsis "Conduit and pipes needed by some streaming data libraries")
11247 (description "This package provides low-dependency functionality commonly
11248needed by various Haskell streaming data libraries, such as @code{conduit} and
11249@code{pipe}s.")
11250 (license license:expat)))
11251
11252(define-public ghc-strict
11253 (package
11254 (name "ghc-strict")
11255 (version "0.3.2")
11256 (source
11257 (origin
11258 (method url-fetch)
11259 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11260 version ".tar.gz"))
11261 (sha256
11262 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11263 (build-system haskell-build-system)
11264 (home-page "https://hackage.haskell.org/package/strict")
11265 (synopsis "Strict data types and String IO")
11266 (description
11267 "This package provides strict versions of some standard Haskell data
11268types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11269IO operations.")
11270 (license license:bsd-3)))
11271
11272(define-public ghc-stringbuilder
11273 (package
11274 (name "ghc-stringbuilder")
11275 (version "0.5.1")
11276 (source
11277 (origin
11278 (method url-fetch)
11279 (uri (string-append
11280 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11281 version
11282 ".tar.gz"))
11283 (sha256
11284 (base32
11285 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11286 (build-system haskell-build-system)
11287 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11288 ; enabled
11289 (home-page "https://hackage.haskell.org/package/stringbuilder")
11290 (synopsis "Writer monad for multi-line string literals")
11291 (description "This package provides a writer monad for multi-line string
11292literals.")
11293 (license license:expat)))
11294
11295(define-public ghc-string-qq
11296 (package
11297 (name "ghc-string-qq")
4d6fddc3 11298 (version "0.0.4")
dddbc90c
RV
11299 (source
11300 (origin
11301 (method url-fetch)
11302 (uri (string-append
11303 "https://hackage.haskell.org/package/string-qq/string-qq-"
11304 version
11305 ".tar.gz"))
11306 (sha256
11307 (base32
4d6fddc3 11308 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11309 (build-system haskell-build-system)
4d6fddc3
TS
11310 (native-inputs
11311 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 11312 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
11313 (synopsis
11314 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11315 (description
11316 "This package provides a quasiquoter for non-interpolated strings, texts
11317and bytestrings.")
11318 (license license:public-domain)))
11319
11320(define-public ghc-stringsearch
11321 (package
11322 (name "ghc-stringsearch")
11323 (version "0.3.6.6")
11324 (source
11325 (origin
11326 (method url-fetch)
11327 (uri (string-append
11328 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11329 version
11330 ".tar.gz"))
11331 (sha256
11332 (base32
11333 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11334 (build-system haskell-build-system)
e2303abb
TS
11335 (arguments
11336 `(#:cabal-revision
11337 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11338 (home-page "https://bitbucket.org/dafis/stringsearch")
11339 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11340 (description "This package provides several functions to quickly search
11341for substrings in strict or lazy @code{ByteStrings}. It also provides
11342functions for breaking or splitting on substrings and replacing all
11343occurrences of a substring (the first in case of overlaps) with another.")
11344 (license license:bsd-3)))
11345
dcf3f8f4
TS
11346(define-public ghc-svg-builder
11347 (package
11348 (name "ghc-svg-builder")
11349 (version "0.1.1")
11350 (source
11351 (origin
11352 (method url-fetch)
11353 (uri (string-append "https://hackage.haskell.org/package/"
11354 "svg-builder/svg-builder-" version ".tar.gz"))
11355 (sha256
11356 (base32
11357 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11358 (build-system haskell-build-system)
11359 (inputs
11360 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11361 ("ghc-hashable" ,ghc-hashable)
11362 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11363 (arguments
11364 `(#:cabal-revision
11365 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11366 (home-page "https://github.com/diagrams/svg-builder.git")
11367 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11368 (description "Easy-to-write domain-specific language (DSL) for
11369building Scalable Vector Graphics (SVG).")
11370 (license license:bsd-3)))
11371
dddbc90c
RV
11372(define-public ghc-syb
11373 (package
11374 (name "ghc-syb")
07d65eef 11375 (version "0.7.1")
dddbc90c
RV
11376 (outputs '("out" "doc"))
11377 (source
11378 (origin
11379 (method url-fetch)
11380 (uri (string-append
11381 "https://hackage.haskell.org/package/syb/syb-"
11382 version
11383 ".tar.gz"))
11384 (sha256
11385 (base32
07d65eef 11386 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11387 (build-system haskell-build-system)
11388 (inputs
11389 `(("ghc-hunit" ,ghc-hunit)))
11390 (home-page
11391 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11392 (synopsis "Scrap Your Boilerplate")
11393 (description "This package contains the generics system described in the
11394/Scrap Your Boilerplate/ papers (see
11395@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11396defines the @code{Data} class of types permitting folding and unfolding of
11397constructor applications, instances of this class for primitive types, and a
11398variety of traversals.")
11399 (license license:bsd-3)))
11400
11401(define-public ghc-system-fileio
11402 (package
11403 (name "ghc-system-fileio")
dcfb99d4 11404 (version "0.3.16.4")
dddbc90c
RV
11405 (source
11406 (origin
11407 (method url-fetch)
11408 (uri (string-append
11409 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11410 version ".tar.gz"))
11411 (sha256
11412 (base32
dcfb99d4 11413 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11414 (build-system haskell-build-system)
dcfb99d4
TS
11415 (arguments
11416 `(#:phases
11417 (modify-phases %standard-phases
11418 (add-before 'configure 'update-constraints
11419 (lambda _
11420 (substitute* "system-fileio.cabal"
11421 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11422 #t)))))
dddbc90c
RV
11423 (inputs
11424 `(("ghc-system-filepath" ,ghc-system-filepath)
11425 ("ghc-chell" ,ghc-chell)
11426 ("ghc-temporary" ,ghc-temporary)))
11427 (home-page "https://github.com/fpco/haskell-filesystem")
11428 (synopsis "Consistent file system interaction across GHC versions")
11429 (description
11430 "This is a small wrapper around the directory, unix, and Win32 packages,
11431for use with system-filepath. It provides a consistent API to the various
11432versions of these packages distributed with different versions of GHC.
11433In particular, this library supports working with POSIX files that have paths
11434which can't be decoded in the current locale encoding.")
11435 (license license:expat)))
11436
11437;; See ghc-system-filepath-bootstrap. In addition this package depends on
11438;; ghc-system-filepath.
11439(define ghc-system-fileio-bootstrap
11440 (package
11441 (name "ghc-system-fileio-bootstrap")
11442 (version "0.3.16.3")
11443 (source
11444 (origin
11445 (method url-fetch)
11446 (uri (string-append
11447 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11448 version ".tar.gz"))
11449 (sha256
11450 (base32
11451 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11452 (build-system haskell-build-system)
11453 (arguments
11454 `(#:tests? #f))
11455 (inputs
11456 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11457 ("ghc-temporary" ,ghc-temporary)))
11458 (home-page "https://github.com/fpco/haskell-filesystem")
11459 (synopsis "Consistent file system interaction across GHC versions")
11460 (description
11461 "This is a small wrapper around the directory, unix, and Win32 packages,
11462for use with system-filepath. It provides a consistent API to the various
11463versions of these packages distributed with different versions of GHC.
11464In particular, this library supports working with POSIX files that have paths
11465which can't be decoded in the current locale encoding.")
11466 (license license:expat)))
11467
11468
11469(define-public ghc-system-filepath
11470 (package
11471 (name "ghc-system-filepath")
11472 (version "0.4.14")
11473 (source
11474 (origin
11475 (method url-fetch)
11476 (uri (string-append
11477 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11478 version ".tar.gz"))
11479 (sha256
11480 (base32
11481 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11482 (build-system haskell-build-system)
11483 ;; FIXME: One of the tests fails:
11484 ;; [ FAIL ] tests.validity.posix
11485 ;; note: seed=7310214548328823169
11486 ;; *** Failed! Falsifiable (after 24 tests):
11487 ;; 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"
11488 (arguments `(#:tests? #f))
11489 (inputs
11490 `(("ghc-chell" ,ghc-chell)
11491 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11492 ("ghc-quickcheck" ,ghc-quickcheck)))
11493 (home-page "https://github.com/fpco/haskell-filesystem")
11494 (synopsis "High-level, byte-based file and directory path manipulations")
11495 (description
11496 "Provides a FilePath datatype and utility functions for operating on it.
11497Unlike the filepath package, this package does not simply reuse String,
11498increasing type safety.")
11499 (license license:expat)))
11500
11501;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11502;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11503;; which depends on ghc-chell and ghc-chell-quickcheck.
11504;; Therefore we bootstrap it with tests disabled.
11505(define ghc-system-filepath-bootstrap
11506 (package
11507 (name "ghc-system-filepath-bootstrap")
11508 (version "0.4.14")
11509 (source
11510 (origin
11511 (method url-fetch)
11512 (uri (string-append
11513 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11514 version ".tar.gz"))
11515 (sha256
11516 (base32
11517 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11518 (build-system haskell-build-system)
11519 (arguments
11520 `(#:tests? #f))
11521 (inputs
11522 `(("ghc-quickcheck" ,ghc-quickcheck)))
11523 (home-page "https://github.com/fpco/haskell-filesystem")
11524 (synopsis "High-level, byte-based file and directory path manipulations")
11525 (description
11526 "Provides a FilePath datatype and utility functions for operating on it.
11527Unlike the filepath package, this package does not simply reuse String,
11528increasing type safety.")
11529 (license license:expat)))
11530
11531
11532(define-public ghc-tagged
11533 (package
11534 (name "ghc-tagged")
f0f3756a 11535 (version "0.8.6")
dddbc90c
RV
11536 (source
11537 (origin
11538 (method url-fetch)
11539 (uri (string-append
11540 "https://hackage.haskell.org/package/tagged/tagged-"
11541 version
11542 ".tar.gz"))
11543 (sha256
11544 (base32
f0f3756a 11545 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11546 (build-system haskell-build-system)
11547 (arguments
11548 `(#:cabal-revision
f0f3756a 11549 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11550 (inputs
11551 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11552 (home-page "https://hackage.haskell.org/package/tagged")
11553 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11554 (description "This library provides phantom types for Haskell 98, to avoid
11555having to unsafely pass dummy arguments.")
11556 (license license:bsd-3)))
11557
11558(define-public ghc-tar
11559 (package
11560 (name "ghc-tar")
ec83929f 11561 (version "0.5.1.1")
dddbc90c
RV
11562 (source
11563 (origin
11564 (method url-fetch)
11565 (uri (string-append
11566 "https://hackage.haskell.org/package/tar/tar-"
11567 version ".tar.gz"))
11568 (sha256
11569 (base32
ec83929f 11570 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11571 (build-system haskell-build-system)
11572 ;; FIXME: 2/24 tests fail.
11573 (arguments `(#:tests? #f))
11574 (inputs
11575 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11576 ("ghc-quickcheck" ,ghc-quickcheck)
11577 ("ghc-tasty" ,ghc-tasty)
11578 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11579 (home-page "https://hackage.haskell.org/package/tar")
11580 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11581 (description
11582 "This library is for working with \\\"@.tar@\\\" archive files.
11583It can read and write a range of common variations of the tar archive format
11584including V7, POSIX USTAR and GNU formats. It provides support for packing and
11585unpacking portable archives. This makes it suitable for distribution but not
11586backup because details like file ownership and exact permissions are not
11587preserved. It also provides features for random access to archive content using
11588an index.")
11589 (license license:bsd-3)))
11590
f8d17902
TS
11591(define-public ghc-tar-conduit
11592 (package
11593 (name "ghc-tar-conduit")
11594 (version "0.3.2")
11595 (source
11596 (origin
11597 (method url-fetch)
11598 (uri (string-append "https://hackage.haskell.org/package/"
11599 "tar-conduit/tar-conduit-" version ".tar.gz"))
11600 (sha256
11601 (base32
11602 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11603 (build-system haskell-build-system)
11604 (inputs
11605 `(("ghc-conduit" ,ghc-conduit)
11606 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11607 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11608 (native-inputs
11609 `(("ghc-quickcheck" ,ghc-quickcheck)
11610 ("ghc-conduit-extra" ,ghc-conduit-extra)
11611 ("ghc-hspec" ,ghc-hspec)
11612 ("ghc-hspec" ,ghc-hspec)
11613 ("ghc-weigh" ,ghc-weigh)))
11614 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11615 (synopsis "Extract and create tar files using conduit for streaming")
11616 (description "This library provides a conduit-based, streaming
11617interface for extracting and creating tar files.")
11618 (license license:expat)))
11619
dddbc90c
RV
11620(define-public ghc-temporary
11621 (package
11622 (name "ghc-temporary")
11623 (version "1.3")
11624 (source
11625 (origin
11626 (method url-fetch)
11627 (uri (string-append
11628 "https://hackage.haskell.org/package/temporary/temporary-"
11629 version
11630 ".tar.gz"))
11631 (sha256
11632 (base32
11633 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11634 (build-system haskell-build-system)
11635 (inputs
11636 `(("ghc-exceptions" ,ghc-exceptions)
11637 ("ghc-random" ,ghc-random)))
11638 (native-inputs
11639 `(("ghc-base-compat" ,ghc-base-compat)
11640 ("ghc-tasty" ,ghc-tasty)
11641 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11642 (home-page "https://www.github.com/batterseapower/temporary")
11643 (synopsis "Temporary file and directory support")
11644 (description "The functions for creating temporary files and directories
11645in the Haskelll base library are quite limited. This library just repackages
11646the Cabal implementations of its own temporary file and folder functions so
11647that you can use them without linking against Cabal or depending on it being
11648installed.")
11649 (license license:bsd-3)))
11650
11651(define-public ghc-temporary-rc
11652 (package
11653 (name "ghc-temporary-rc")
11654 (version "1.2.0.3")
11655 (source
11656 (origin
11657 (method url-fetch)
11658 (uri (string-append
11659 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11660 version
11661 ".tar.gz"))
11662 (sha256
11663 (base32
11664 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11665 (build-system haskell-build-system)
11666 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11667 (home-page
11668 "https://www.github.com/feuerbach/temporary")
11669 (synopsis
11670 "Portable temporary file and directory support")
11671 (description
11672 "The functions for creating temporary files and directories in the base
11673library are quite limited. The unixutils package contains some good ones, but
11674they aren't portable to Windows. This library just repackages the Cabal
11675implementations of its own temporary file and folder functions so that you can
11676use them without linking against Cabal or depending on it being installed.
11677This is a better maintained fork of the \"temporary\" package.")
11678 (license license:bsd-3)))
11679
11680(define-public ghc-terminal-size
11681 (package
11682 (name "ghc-terminal-size")
11683 (version "0.3.2.1")
11684 (source (origin
11685 (method url-fetch)
11686 (uri (string-append
11687 "https://hackage.haskell.org/package/terminal-size/"
11688 "terminal-size-" version ".tar.gz"))
11689 (sha256
11690 (base32
11691 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11692 (build-system haskell-build-system)
11693 (home-page "https://hackage.haskell.org/package/terminal-size")
11694 (synopsis "Get terminal window height and width")
11695 (description "Get terminal window height and width without ncurses
11696dependency.")
11697 (license license:bsd-3)))
11698
11699(define-public ghc-texmath
11700 (package
11701 (name "ghc-texmath")
7fec7e66 11702 (version "0.11.3")
dddbc90c
RV
11703 (source (origin
11704 (method url-fetch)
11705 (uri (string-append "https://hackage.haskell.org/package/"
11706 "texmath/texmath-" version ".tar.gz"))
11707 (sha256
11708 (base32
7fec7e66 11709 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11710 (build-system haskell-build-system)
11711 (inputs
11712 `(("ghc-syb" ,ghc-syb)
11713 ("ghc-network-uri" ,ghc-network-uri)
11714 ("ghc-split" ,ghc-split)
11715 ("ghc-temporary" ,ghc-temporary)
11716 ("ghc-utf8-string" ,ghc-utf8-string)
11717 ("ghc-xml" ,ghc-xml)
11718 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11719 (home-page "https://github.com/jgm/texmath")
11720 (synopsis "Conversion between formats used to represent mathematics")
11721 (description
11722 "The texmath library provides functions to read and write TeX math,
11723presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11724Office). Support is also included for converting math formats to pandoc's
11725native format (allowing conversion, via pandoc, to a variety of different
11726markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11727it can parse and apply LaTeX macros.")
11728 (license license:gpl2+)))
11729
11730(define-public ghc-text-binary
11731 (package
11732 (name "ghc-text-binary")
11733 (version "0.2.1.1")
11734 (source
11735 (origin
11736 (method url-fetch)
11737 (uri (string-append "https://hackage.haskell.org/package/"
11738 "text-binary/text-binary-"
11739 version ".tar.gz"))
11740 (sha256
11741 (base32
11742 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11743 (build-system haskell-build-system)
11744 (home-page "https://github.com/kawu/text-binary")
11745 (synopsis "Binary instances for text types")
11746 (description
11747 "This package provides a compatibility layer providing @code{Binary}
11748instances for strict and lazy text types for versions older than 1.2.1 of the
11749text package.")
11750 (license license:bsd-2)))
11751
bdc877c4
TS
11752(define-public ghc-text-metrics
11753 (package
11754 (name "ghc-text-metrics")
11755 (version "0.3.0")
11756 (source
11757 (origin
11758 (method url-fetch)
11759 (uri (string-append "https://hackage.haskell.org/package/"
11760 "text-metrics/text-metrics-" version ".tar.gz"))
11761 (sha256
11762 (base32
11763 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11764 (build-system haskell-build-system)
11765 (inputs
11766 `(("ghc-vector" ,ghc-vector)))
11767 (native-inputs
11768 `(("ghc-quickcheck" ,ghc-quickcheck)
11769 ("ghc-hspec" ,ghc-hspec)))
11770 (arguments
11771 `(#:cabal-revision
11772 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11773 (home-page "https://github.com/mrkkrp/text-metrics")
11774 (synopsis "Calculate various string metrics efficiently")
11775 (description "This library provides tools to calculate various
11776string metrics efficiently.")
11777 (license license:bsd-3)))
11778
dddbc90c
RV
11779(define-public ghc-tf-random
11780 (package
11781 (name "ghc-tf-random")
11782 (version "0.5")
11783 (outputs '("out" "doc"))
11784 (source
11785 (origin
11786 (method url-fetch)
11787 (uri (string-append
11788 "https://hackage.haskell.org/package/tf-random/tf-random-"
11789 version
11790 ".tar.gz"))
11791 (sha256
11792 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11793 (build-system haskell-build-system)
11794 (inputs
11795 `(("ghc-primitive" ,ghc-primitive)
11796 ("ghc-random" ,ghc-random)))
11797 (home-page "https://hackage.haskell.org/package/tf-random")
11798 (synopsis "High-quality splittable pseudorandom number generator")
11799 (description "This package contains an implementation of a high-quality
11800splittable pseudorandom number generator. The generator is based on a
11801cryptographic hash function built on top of the ThreeFish block cipher. See
11802the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11803Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11804 (license license:bsd-3)))
11805
11806(define-public ghc-th-abstraction
11807 (package
11808 (name "ghc-th-abstraction")
1188eabb 11809 (version "0.3.1.0")
dddbc90c
RV
11810 (source
11811 (origin
11812 (method url-fetch)
11813 (uri (string-append "https://hackage.haskell.org/package/"
11814 "th-abstraction/th-abstraction-"
11815 version ".tar.gz"))
11816 (sha256
11817 (base32
1188eabb 11818 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11819 (build-system haskell-build-system)
11820 (home-page "https://github.com/glguy/th-abstraction")
11821 (synopsis "Nicer interface for reified information about data types")
11822 (description
11823 "This package normalizes variations in the interface for inspecting
11824datatype information via Template Haskell so that packages and support a
11825single, easier to use informational datatype while supporting many versions of
11826Template Haskell.")
11827 (license license:isc)))
11828
11829(define-public ghc-th-expand-syns
11830 (package
11831 (name "ghc-th-expand-syns")
8c766600 11832 (version "0.4.5.0")
dddbc90c
RV
11833 (source (origin
11834 (method url-fetch)
11835 (uri (string-append "https://hackage.haskell.org/package/"
11836 "th-expand-syns/th-expand-syns-"
11837 version ".tar.gz"))
11838 (sha256
11839 (base32
8c766600 11840 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11841 (build-system haskell-build-system)
11842 (inputs
11843 `(("ghc-syb" ,ghc-syb)))
11844 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11845 (synopsis "Expands type synonyms in Template Haskell ASTs")
11846 (description
11847 "This package enables users to expand type synonyms in Template Haskell
11848@dfn{abstract syntax trees} (ASTs).")
11849 (license license:bsd-3)))
11850
11851(define-public ghc-th-lift
11852 (package
11853 (name "ghc-th-lift")
bd76b20a 11854 (version "0.8.0.1")
dddbc90c
RV
11855 (source (origin
11856 (method url-fetch)
11857 (uri (string-append "https://hackage.haskell.org/package/"
11858 "th-lift/th-lift-" version ".tar.gz"))
11859 (sha256
11860 (base32
bd76b20a 11861 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11862 (build-system haskell-build-system)
11863 (inputs
11864 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11865 (home-page "https://github.com/mboes/th-lift")
11866 (synopsis "Derive Template Haskell's Lift class for datatypes")
11867 (description
11868 "This is a Haskell library to derive Template Haskell's Lift class for
11869datatypes.")
11870 (license license:bsd-3)))
11871
11872(define-public ghc-th-lift-instances
11873 (package
11874 (name "ghc-th-lift-instances")
d3db399e 11875 (version "0.1.14")
dddbc90c
RV
11876 (source
11877 (origin
11878 (method url-fetch)
11879 (uri (string-append "https://hackage.haskell.org/package/"
11880 "th-lift-instances/th-lift-instances-"
11881 version ".tar.gz"))
11882 (sha256
11883 (base32
d3db399e 11884 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11885 (build-system haskell-build-system)
11886 (inputs
11887 `(("ghc-th-lift" ,ghc-th-lift)
11888 ("ghc-vector" ,ghc-vector)
11889 ("ghc-quickcheck" ,ghc-quickcheck)))
11890 (home-page "https://github.com/bennofs/th-lift-instances/")
11891 (synopsis "Lift instances for template-haskell for common data types.")
11892 (description "Most data types in the Haskell platform do not have Lift
11893instances. This package provides orphan instances for @code{containers},
11894@code{text}, @code{bytestring} and @code{vector}.")
11895 (license license:bsd-3)))
11896
11897(define-public ghc-th-orphans
11898 (package
11899 (name "ghc-th-orphans")
882b23e2 11900 (version "0.13.9")
dddbc90c
RV
11901 (source (origin
11902 (method url-fetch)
11903 (uri (string-append "https://hackage.haskell.org/package/"
11904 "th-orphans/th-orphans-" version ".tar.gz"))
11905 (sha256
11906 (base32
882b23e2 11907 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11908 (build-system haskell-build-system)
11909 (inputs
11910 `(("ghc-th-lift" ,ghc-th-lift)
11911 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11912 ("ghc-th-reify-many" ,ghc-th-reify-many)
11913 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11914 (native-inputs
11915 `(("ghc-hspec" ,ghc-hspec)))
11916 (home-page "https://hackage.haskell.org/package/th-orphans")
11917 (synopsis "Orphan instances for TH datatypes")
11918 (description
11919 "This package provides orphan instances for Template Haskell datatypes. In particular,
11920instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11921and @code{Eq} instances. These instances used to live in the haskell-src-meta
11922package, and that's where the version number started.")
11923 (license license:bsd-3)))
11924
11925(define-public ghc-threads
11926 (package
11927 (name "ghc-threads")
11928 (version "0.5.1.6")
11929 (source
11930 (origin
11931 (method url-fetch)
11932 (uri (string-append "https://hackage.haskell.org/package/"
11933 "threads/threads-" version ".tar.gz"))
11934 (sha256
11935 (base32
11936 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11937 (build-system haskell-build-system)
11938 (native-inputs
11939 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11940 ("ghc-hunit" ,ghc-hunit)
11941 ("ghc-test-framework" ,ghc-test-framework)
11942 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11943 (home-page "https://github.com/basvandijk/threads")
11944 (synopsis "Fork threads and wait for their result")
11945 (description "This package provides functions to fork threads and
11946wait for their result, whether it's an exception or a normal value.
11947Besides waiting for the termination of a single thread this package also
11948provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11949package is similar to the @code{threadmanager}, @code{async} and
11950@code{spawn} packages. The advantages of this package are:
11951
dddbc90c
RV
11952@itemize
11953@item Simpler API.
11954@item More efficient in both space and time.
11955@item No space-leak when forking a large number of threads.
11956@item Correct handling of asynchronous exceptions.
11957@item GHC specific functionality like @code{forkOn} and
11958@code{forkIOWithUnmask}.
11959@end itemize")
11960 (license license:bsd-3)))
11961
11962(define-public ghc-th-reify-many
11963 (package
11964 (name "ghc-th-reify-many")
32d4a6ae 11965 (version "0.1.9")
dddbc90c
RV
11966 (source (origin
11967 (method url-fetch)
11968 (uri (string-append "https://hackage.haskell.org/package/"
11969 "th-reify-many/th-reify-many-"
11970 version ".tar.gz"))
11971 (sha256
11972 (base32
32d4a6ae 11973 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11974 (build-system haskell-build-system)
11975 (inputs
11976 `(("ghc-safe" ,ghc-safe)
11977 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11978 (home-page "https://github.com/mgsloan/th-reify-many")
11979 (synopsis "Recurseively reify template haskell datatype info")
11980 (description
11981 "th-reify-many provides functions for recursively reifying top level
11982declarations. The main intended use case is for enumerating the names of
11983datatypes reachable from an initial datatype, and passing these names to some
11984function which generates instances.")
11985 (license license:bsd-3)))
11986
75cfc9a2
TS
11987(define-public ghc-time-compat
11988 (package
11989 (name "ghc-time-compat")
11990 (version "1.9.2.2")
11991 (source
11992 (origin
11993 (method url-fetch)
11994 (uri (string-append "https://hackage.haskell.org/package/"
11995 "time-compat/time-compat-" version ".tar.gz"))
11996 (sha256
11997 (base32
11998 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11999 (build-system haskell-build-system)
12000 (inputs
12001 `(("ghc-base-orphans" ,ghc-base-orphans)))
12002 (native-inputs
12003 `(("ghc-hunit" ,ghc-hunit)
12004 ("ghc-base-compat" ,ghc-base-compat)
12005 ("ghc-quickcheck" ,ghc-quickcheck)
12006 ("ghc-tagged" ,ghc-tagged)
12007 ("ghc-tasty" ,ghc-tasty)
12008 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12009 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12010 (arguments
12011 `(#:cabal-revision
12012 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12013 (home-page "https://github.com/phadej/time-compat")
12014 (synopsis "Compatibility package for time")
a8d73e69 12015 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12016features as possible.")
12017 (license license:bsd-3)))
12018
dddbc90c
RV
12019(define-public ghc-time-locale-compat
12020 (package
12021 (name "ghc-time-locale-compat")
12022 (version "0.1.1.5")
12023 (source
12024 (origin
12025 (method url-fetch)
12026 (uri (string-append "https://hackage.haskell.org/package/"
12027 "time-locale-compat/time-locale-compat-"
12028 version ".tar.gz"))
12029 (sha256
12030 (base32
12031 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12032 (build-system haskell-build-system)
12033 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12034 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12035 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12036 (description "This package contains a wrapped name module for
12037@code{TimeLocale}.")
12038 (license license:bsd-3)))
12039
c022a4d4
TS
12040(define-public ghc-time-manager
12041 (package
12042 (name "ghc-time-manager")
12043 (version "0.0.0")
12044 (source
12045 (origin
12046 (method url-fetch)
12047 (uri (string-append "https://hackage.haskell.org/package/"
12048 "time-manager/time-manager-" version ".tar.gz"))
12049 (sha256
12050 (base32
12051 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12052 (build-system haskell-build-system)
12053 (inputs
12054 `(("ghc-auto-update" ,ghc-auto-update)))
12055 (home-page "https://github.com/yesodweb/wai")
12056 (synopsis "Scalable timer")
12057 (description "This library contains scalable timer functions provided by a
12058timer manager.")
12059 (license license:expat)))
12060
7bbfa392
JS
12061(define-public ghc-timeit
12062 (package
12063 (name "ghc-timeit")
12064 (version "2.0")
12065 (source
12066 (origin
12067 (method url-fetch)
12068 (uri
12069 (string-append
12070 "https://hackage.haskell.org/package/timeit/timeit-"
12071 version ".tar.gz"))
12072 (sha256
12073 (base32
12074 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12075 (build-system haskell-build-system)
12076 (home-page "https://github.com/merijn/timeit")
12077 (synopsis "Time monadic computations with an IO base")
12078 (description "This package provides a simple wrapper to show the
12079used CPU time of monadic computation with an IO base.")
12080 (license license:bsd-3)))
12081
2ed8bd2d
JS
12082(define-public ghc-timezone-series
12083 (package
12084 (name "ghc-timezone-series")
12085 (version "0.1.9")
12086 (source
12087 (origin
12088 (method url-fetch)
12089 (uri
12090 (string-append
12091 "mirror://hackage/package/timezone-series/timezone-series-"
12092 version ".tar.gz"))
12093 (sha256
12094 (base32
12095 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12096 (build-system haskell-build-system)
12097 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12098 (synopsis "Enhanced timezone handling for Time")
12099 (description
12100 "This package endows @code{Data.Time}, from the time package, with several
12101data types and functions for enhanced processing of timezones. For one way to
12102create timezone series, see the ghc-timezone-olson package.")
12103 (license license:bsd-3)))
12104
ff0f5786
JS
12105(define-public ghc-timezone-olson
12106 (package
12107 (name "ghc-timezone-olson")
12108 (version "0.1.9")
12109 (source
12110 (origin
12111 (method url-fetch)
12112 (uri
12113 (string-append
12114 "mirror://hackage/package/timezone-olson/timezone-olson-"
12115 version ".tar.gz"))
12116 (sha256
12117 (base32
12118 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12119 (build-system haskell-build-system)
12120 (inputs
12121 `(("ghc-timezone-series" ,ghc-timezone-series)
12122 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12123 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12124 (synopsis "Parser and renderer for binary Olson timezone files")
12125 (description
12126 "A parser and renderer for binary Olson timezone files whose format
12127is specified by the tzfile(5) man page on Unix-like systems. For more
12128information about this format, see
12129@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12130are provided for converting the parsed data into @code{TimeZoneSeries}
12131objects from the timezone-series package.")
12132 (license license:bsd-3)))
12133
dddbc90c
RV
12134(define-public ghc-tldr
12135 (package
12136 (name "ghc-tldr")
871ceb31 12137 (version "0.4.0.2")
dddbc90c
RV
12138 (source
12139 (origin
12140 (method url-fetch)
12141 (uri (string-append
12142 "https://hackage.haskell.org/package/tldr/tldr-"
12143 version
12144 ".tar.gz"))
12145 (sha256
12146 (base32
871ceb31 12147 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
12148 (build-system haskell-build-system)
12149 (inputs
12150 `(("ghc-cmark" ,ghc-cmark)
12151 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12152 ("ghc-typed-process" ,ghc-typed-process)
12153 ("ghc-semigroups" ,ghc-semigroups)))
12154 (native-inputs
12155 `(("ghc-tasty" ,ghc-tasty)
12156 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12157 (home-page "https://github.com/psibi/tldr-hs#readme")
12158 (synopsis "Haskell tldr client")
12159 (description "This package provides the @command{tldr} command and a
12160Haskell client library allowing users to update and view @code{tldr} pages
12161from a shell. The @code{tldr} pages are a community effort to simplify the
12162man pages with practical examples.")
12163 (license license:bsd-3)))
12164
460e4e42
JS
12165(define-public ghc-transformers
12166 (package
12167 (name "ghc-transformers")
12168 (version "0.5.6.2")
12169 (source
12170 (origin
12171 (method url-fetch)
12172 (uri (string-append
12173 "mirror://hackage/package/transformers/transformers-"
12174 version
12175 ".tar.gz"))
12176 (sha256
12177 (base32
12178 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
12179 (build-system haskell-build-system)
12180 (home-page
12181 "http://hackage.haskell.org/package/transformers")
12182 (synopsis "Concrete functor and monad transformers")
12183 (description
12184 "Transformers provides functor and monad transformers, inspired by the
12185paper \"Functional Programming with Overloading and Higher-Order
12186Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
121871995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
12188
12189This package contains:
12190@itemize
12191@item the monad transformer class (in @code{Control.Monad.Trans.Class})
12192@item concrete functor and monad transformers, each with associated operations
12193and functions to lift operations associated with other transformers.
12194@end itemize
12195
12196This package can be used on its own in portable Haskell code, in which case
12197operations need to be manually lifted through transformer stacks (see
12198@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
12199used with the non-portable monad classes in the mtl or monads-tf packages,
12200which automatically lift operations introduced by monad transformers through
12201other transformers.")
12202 (license license:bsd-3)))
12203
dddbc90c
RV
12204(define-public ghc-transformers-base
12205 (package
12206 (name "ghc-transformers-base")
12207 (version "0.4.5.2")
12208 (source
12209 (origin
12210 (method url-fetch)
12211 (uri (string-append
12212 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12213 version
12214 ".tar.gz"))
12215 (sha256
12216 (base32
12217 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12218 (build-system haskell-build-system)
12219 (inputs
12220 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12221 (home-page
12222 "https://hackage.haskell.org/package/transformers-compat")
12223 (synopsis
12224 "Backported transformer library")
12225 (description
12226 "Backported versions of types that were added to transformers in
12227transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12228compatibility to run on old versions of the platform.")
12229 (license license:bsd-3)))
12230
12231(define-public ghc-transformers-compat
12232 (package
12233 (name "ghc-transformers-compat")
1c9c4d58 12234 (version "0.6.5")
dddbc90c
RV
12235 (source
12236 (origin
12237 (method url-fetch)
12238 (uri (string-append
12239 "https://hackage.haskell.org/package/transformers-compat"
12240 "/transformers-compat-" version ".tar.gz"))
12241 (sha256
12242 (base32
1c9c4d58 12243 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
12244 (build-system haskell-build-system)
12245 (home-page "https://github.com/ekmett/transformers-compat/")
12246 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12247 (description "This package includes backported versions of types that were
12248added to transformers in transformers 0.3 and 0.4 for users who need strict
12249transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12250but also need those types.")
12251 (license license:bsd-3)))
12252
12253(define-public ghc-tree-diff
12254 (package
12255 (name "ghc-tree-diff")
b4e26067 12256 (version "0.1")
dddbc90c
RV
12257 (source
12258 (origin
12259 (method url-fetch)
12260 (uri (string-append
12261 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12262 version
12263 ".tar.gz"))
12264 (sha256
12265 (base32
b4e26067 12266 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 12267 (build-system haskell-build-system)
dddbc90c
RV
12268 (inputs
12269 `(("ghc-aeson" ,ghc-aeson)
12270 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12271 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12272 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 12273 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 12274 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
12275 ("ghc-parsers" ,ghc-parsers)
12276 ("ghc-quickcheck" ,ghc-quickcheck)
12277 ("ghc-scientific" ,ghc-scientific)
12278 ("ghc-tagged" ,ghc-tagged)
12279 ("ghc-unordered-containers" ,ghc-unordered-containers)
12280 ("ghc-uuid-types" ,ghc-uuid-types)
12281 ("ghc-vector" ,ghc-vector)))
12282 (native-inputs
12283 `(("ghc-base-compat" ,ghc-base-compat)
12284 ("ghc-quickcheck" ,ghc-quickcheck)
12285 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12286 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12287 ("ghc-trifecta" ,ghc-trifecta)
12288 ("ghc-tasty" ,ghc-tasty)
12289 ("ghc-tasty-golden" ,ghc-tasty-golden)
12290 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12291 (home-page "https://github.com/phadej/tree-diff")
12292 (synopsis "Compute difference between (expression) trees")
12293 (description "This Haskell library provides a function for computing
12294the difference between (expression) trees. It also provides a way to
12295compute the difference between arbitrary abstract datatypes (ADTs) using
12296@code{Generics}-derivable helpers.")
12297 (license license:bsd-3)))
12298
12299(define-public ghc-trifecta
12300 (package
12301 (name "ghc-trifecta")
12302 (version "2")
12303 (source (origin
12304 (method url-fetch)
12305 (uri (string-append
12306 "https://hackage.haskell.org/package/trifecta/"
12307 "trifecta-" version ".tar.gz"))
12308 (sha256
12309 (base32
12310 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12311 (build-system haskell-build-system)
5ffe8cfd
TS
12312 (arguments
12313 `(#:tests? #f ; doctest suite fails to build on i686
12314 #:cabal-revision
12315 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
12316 (inputs
12317 `(("ghc-reducers" ,ghc-reducers)
12318 ("ghc-semigroups" ,ghc-semigroups)
12319 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12320 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12321 ("ghc-blaze-builder" ,ghc-blaze-builder)
12322 ("ghc-blaze-html" ,ghc-blaze-html)
12323 ("ghc-blaze-markup" ,ghc-blaze-markup)
12324 ("ghc-charset" ,ghc-charset)
12325 ("ghc-comonad" ,ghc-comonad)
12326 ("ghc-fingertree" ,ghc-fingertree)
12327 ("ghc-hashable" ,ghc-hashable)
12328 ("ghc-lens" ,ghc-lens)
12329 ("ghc-parsers" ,ghc-parsers)
12330 ("ghc-profunctors" ,ghc-profunctors)
12331 ("ghc-unordered-containers" ,ghc-unordered-containers)
12332 ("ghc-utf8-string" ,ghc-utf8-string)))
12333 (native-inputs
12334 `(("cabal-doctest" ,cabal-doctest)
12335 ("ghc-doctest" ,ghc-doctest)
12336 ("ghc-quickcheck" ,ghc-quickcheck)))
12337 (home-page "https://github.com/ekmett/trifecta/")
12338 (synopsis "Parser combinator library with convenient diagnostics")
12339 (description "Trifecta is a modern parser combinator library for Haskell,
12340with slicing and Clang-style colored diagnostics.")
12341 (license license:bsd-3)))
12342
12343(define-public ghc-tuple-th
12344 (package
12345 (name "ghc-tuple-th")
12346 (version "0.2.5")
12347 (source
12348 (origin
12349 (method url-fetch)
12350 (uri (string-append "https://hackage.haskell.org/package/"
12351 "tuple-th-" version "/"
12352 "tuple-th-" version ".tar.gz"))
12353 (sha256
12354 (base32
12355 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12356 (build-system haskell-build-system)
12357 (home-page "https://github.com/DanielSchuessler/tuple-th")
12358 (synopsis "Generate utility functions for tuples of statically known size
12359for Haskell")
12360 (description "This Haskell package contains Template Haskell functions for
12361generating functions similar to those in @code{Data.List} for tuples of
12362statically known size.")
12363 (license license:bsd-3)))
12364
12365(define-public ghc-typed-process
12366 (package
12367 (name "ghc-typed-process")
72fb84a5 12368 (version "0.2.6.0")
dddbc90c
RV
12369 (source
12370 (origin
12371 (method url-fetch)
12372 (uri (string-append "https://hackage.haskell.org/package/"
12373 "typed-process/typed-process-"
12374 version ".tar.gz"))
12375 (sha256
12376 (base32
72fb84a5 12377 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
12378 (build-system haskell-build-system)
12379 (inputs
72fb84a5
TS
12380 `(("ghc-async" ,ghc-async)
12381 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
12382 (native-inputs
12383 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12384 ("ghc-hspec" ,ghc-hspec)
12385 ("hspec-discover" ,hspec-discover)
12386 ("ghc-temporary" ,ghc-temporary)))
12387 (home-page "https://haskell-lang.org/library/typed-process")
12388 (synopsis "Run external processes with strong typing of streams")
12389 (description
12390 "This library provides the ability to launch and interact with external
12391processes. It wraps around the @code{process} library, and intends to improve
12392upon it.")
12393 (license license:expat)))
12394
d392f803
AG
12395(define-public ghc-unagi-chan
12396 (package
12397 (name "ghc-unagi-chan")
12398 (version "0.4.1.2")
12399 (source
12400 (origin
12401 (method url-fetch)
12402 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12403 "/unagi-chan-" version ".tar.gz"))
12404 (sha256
12405 (base32
12406 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12407 (build-system haskell-build-system)
12408 (inputs
12409 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12410 ("ghc-primitive" ,ghc-primitive)))
12411 (arguments
12412 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12413 #:cabal-revision
12414 ("1"
12415 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 12416 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
12417 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12418 (description
12419 "This library provides implementations of concurrent FIFO queues (for
12420both general boxed and primitive unboxed values) that are fast, perform well
12421under contention, and offer a Chan-like interface. The library may be of
12422limited usefulness outside of x86 architectures where the fetch-and-add
12423instruction is not available.")
12424 (license license:bsd-3)))
12425
dddbc90c
RV
12426(define-public ghc-unbounded-delays
12427 (package
12428 (name "ghc-unbounded-delays")
12429 (version "0.1.1.0")
12430 (source
12431 (origin
12432 (method url-fetch)
12433 (uri (string-append
12434 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12435 version
12436 ".tar.gz"))
12437 (sha256
12438 (base32
12439 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12440 (build-system haskell-build-system)
12441 (home-page "https://github.com/basvandijk/unbounded-delays")
12442 (synopsis "Unbounded thread delays and timeouts")
12443 (description "The @code{threadDelay} and @code{timeout} functions from the
12444Haskell base library use the bounded @code{Int} type for specifying the delay
12445or timeout period. This package provides alternative functions which use the
12446unbounded @code{Integer} type.")
12447 (license license:bsd-3)))
12448
12449(define-public ghc-unexceptionalio
12450 (package
12451 (name "ghc-unexceptionalio")
12452 (version "0.4.0")
12453 (source
12454 (origin
12455 (method url-fetch)
12456 (uri (string-append "https://hackage.haskell.org/package/"
12457 "unexceptionalio-" version "/" "unexceptionalio-"
12458 version ".tar.gz"))
12459 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12460 (build-system haskell-build-system)
12461 (home-page "https://github.com/singpolyma/unexceptionalio")
12462 (synopsis "IO without any non-error, synchronous exceptions")
12463 (description "When you've caught all the exceptions that can be
12464handled safely, this is what you're left with.")
12465 (license license:isc)))
12466
b69d4aa7
TS
12467(define-public ghc-unicode-transforms
12468 (package
12469 (name "ghc-unicode-transforms")
12470 (version "0.3.6")
12471 (source
12472 (origin
12473 (method url-fetch)
12474 (uri (string-append "https://hackage.haskell.org/package/"
12475 "unicode-transforms/unicode-transforms-"
12476 version ".tar.gz"))
12477 (sha256
12478 (base32
12479 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12480 (build-system haskell-build-system)
12481 (inputs
12482 `(("ghc-bitarray" ,ghc-bitarray)))
12483 (native-inputs
12484 `(("ghc-quickcheck" ,ghc-quickcheck)
12485 ("ghc-getopt-generics" ,ghc-getopt-generics)
12486 ("ghc-split" ,ghc-split)))
12487 (home-page "https://github.com/composewell/unicode-transforms")
12488 (synopsis "Unicode normalization")
12489 (description "This library provides tools for fast Unicode 12.1.0
12490normalization in Haskell (normalization forms C, KC, D, and KD).")
12491 (license license:bsd-3)))
12492
dddbc90c
RV
12493(define-public ghc-union-find
12494 (package
12495 (name "ghc-union-find")
12496 (version "0.2")
12497 (source (origin
12498 (method url-fetch)
12499 (uri (string-append
12500 "https://hackage.haskell.org/package/union-find/union-find-"
12501 version ".tar.gz"))
12502 (sha256
12503 (base32
12504 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12505 (build-system haskell-build-system)
12506 (home-page "https://github.com/nominolo/union-find")
12507 (synopsis "Efficient union and equivalence testing of sets")
12508 (description
12509 "The Union/Find algorithm implements these operations in (effectively)
12510constant-time:
12511@enumerate
12512@item Check whether two elements are in the same equivalence class.
12513@item Create a union of two equivalence classes.
12514@item Look up the descriptor of the equivalence class.
12515@end enumerate\n")
12516 (license license:bsd-3)))
12517
12518(define-public ghc-uniplate
12519 (package
12520 (name "ghc-uniplate")
12521 (version "1.6.12")
12522 (source
12523 (origin
12524 (method url-fetch)
12525 (uri (string-append
12526 "https://hackage.haskell.org/package/uniplate/uniplate-"
12527 version
12528 ".tar.gz"))
12529 (sha256
12530 (base32
12531 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12532 (build-system haskell-build-system)
12533 (inputs
12534 `(("ghc-syb" ,ghc-syb)
12535 ("ghc-hashable" ,ghc-hashable)
12536 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12537 (home-page "http://community.haskell.org/~ndm/uniplate/")
12538 (synopsis "Simple, concise and fast generic operations")
12539 (description "Uniplate is a library for writing simple and concise generic
12540operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12541work, but is substantially simpler and faster.")
12542 (license license:bsd-3)))
12543
12544(define-public ghc-unix-compat
12545 (package
12546 (name "ghc-unix-compat")
bc82e9f5 12547 (version "0.5.2")
dddbc90c
RV
12548 (source
12549 (origin
12550 (method url-fetch)
12551 (uri (string-append
12552 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12553 version
12554 ".tar.gz"))
12555 (sha256
12556 (base32
bc82e9f5 12557 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12558 (build-system haskell-build-system)
12559 (home-page
12560 "https://github.com/jystic/unix-compat")
12561 (synopsis "Portable POSIX-compatibility layer")
12562 (description
12563 "This package provides portable implementations of parts of the unix
12564package. This package re-exports the unix package when available. When it
12565isn't available, portable implementations are used.")
12566 (license license:bsd-3)))
12567
12568(define-public ghc-unix-time
12569 (package
12570 (name "ghc-unix-time")
fad9cff2 12571 (version "0.4.7")
dddbc90c
RV
12572 (source
12573 (origin
12574 (method url-fetch)
12575 (uri (string-append
12576 "https://hackage.haskell.org/package/unix-time/unix-time-"
12577 version
12578 ".tar.gz"))
12579 (sha256
12580 (base32
fad9cff2 12581 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12582 (build-system haskell-build-system)
12583 (arguments
12584 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12585 ; is weird, that should be provided by GHC 7.10.2.
12586 (inputs
12587 `(("ghc-old-time" ,ghc-old-time)
12588 ("ghc-old-locale" ,ghc-old-locale)))
12589 (home-page "https://hackage.haskell.org/package/unix-time")
12590 (synopsis "Unix time parser/formatter and utilities")
12591 (description "This library provides fast parsing and formatting utilities
12592for Unix time in Haskell.")
12593 (license license:bsd-3)))
12594
12595(define-public ghc-unliftio
12596 (package
12597 (name "ghc-unliftio")
a4084db1 12598 (version "0.2.12")
dddbc90c
RV
12599 (source
12600 (origin
12601 (method url-fetch)
12602 (uri (string-append
12603 "https://hackage.haskell.org/package/unliftio/unliftio-"
12604 version
12605 ".tar.gz"))
12606 (sha256
12607 (base32
a4084db1 12608 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12609 (build-system haskell-build-system)
12610 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12611 (inputs
12612 `(("ghc-async" ,ghc-async)
12613 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12614 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12615 (home-page "https://github.com/fpco/unliftio")
12616 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12617IO (batteries included)")
12618 (description "This Haskell package provides the core @code{MonadUnliftIO}
12619typeclass, a number of common instances, and a collection of common functions
12620working with it.")
12621 (license license:expat)))
12622
12623(define-public ghc-unliftio-core
12624 (package
12625 (name "ghc-unliftio-core")
2ae42618 12626 (version "0.1.2.0")
dddbc90c
RV
12627 (source
12628 (origin
12629 (method url-fetch)
12630 (uri (string-append "https://hackage.haskell.org/package/"
12631 "unliftio-core-" version "/"
12632 "unliftio-core-" version ".tar.gz"))
12633 (sha256
12634 (base32
2ae42618 12635 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12636 (build-system haskell-build-system)
12637 (arguments
12638 `(#:cabal-revision
2ae42618 12639 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12640 (home-page
12641 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12642 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12643 (description "This Haskell package provides the core @code{MonadUnliftIO}
12644typeclass, instances for base and transformers, and basic utility
12645functions.")
12646 (license license:expat)))
12647
12648(define-public ghc-unordered-containers
12649 (package
12650 (name "ghc-unordered-containers")
ca01f8d3 12651 (version "0.2.10.0")
dddbc90c
RV
12652 (outputs '("out" "doc"))
12653 (source
12654 (origin
12655 (method url-fetch)
12656 (uri (string-append
12657 "https://hackage.haskell.org/package/unordered-containers"
12658 "/unordered-containers-" version ".tar.gz"))
12659 (sha256
12660 (base32
ca01f8d3 12661 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12662 (build-system haskell-build-system)
12663 (inputs
12664 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12665 ("ghc-hunit" ,ghc-hunit)
12666 ("ghc-quickcheck" ,ghc-quickcheck)
12667 ("ghc-test-framework" ,ghc-test-framework)
12668 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12669 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12670 ("ghc-hashable" ,ghc-hashable)))
12671 (home-page
12672 "https://github.com/tibbe/unordered-containers")
12673 (synopsis
12674 "Efficient hashing-based container types")
12675 (description
12676 "Efficient hashing-based container types. The containers have been
12677optimized for performance critical use, both in terms of large data quantities
12678and high speed.")
12679 (license license:bsd-3)))
12680
12681(define-public ghc-unordered-containers-bootstrap
12682 (package
12683 (inherit ghc-unordered-containers)
12684 (name "ghc-unordered-containers-bootstrap")
12685 (arguments `(#:tests? #f))
12686 (inputs
12687 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12688 (properties '((hidden? #t)))))
dddbc90c 12689
a52f4c57
JS
12690(define-public ghc-unsafe
12691 (package
12692 (name "ghc-unsafe")
12693 (version "0.0")
12694 (source
12695 (origin
12696 (method url-fetch)
12697 (uri
12698 (string-append
12699 "https://hackage.haskell.org/package/unsafe/unsafe-"
12700 version ".tar.gz"))
12701 (sha256
12702 (base32
12703 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12704 (build-system haskell-build-system)
12705 (home-page "https://hackage.haskell.org/package/unsafe")
12706 (synopsis "Unified interface to unsafe functions")
12707 (description "Safe Haskell introduced the notion of safe and unsafe
12708modules. In order to make as many as possible modules ``safe'', the
12709well-known unsafe functions were moved to distinguished modules. This
12710makes it hard to write packages that work with both old and new versions
12711of GHC. This package provides a single module System.Unsafe that
12712exports the unsafe functions from the base package. It provides them in
12713a style ready for qualification, that is, you should import them by
12714@code{import qualified System.Unsafe as Unsafe}.")
12715 (license license:bsd-3)))
12716
dddbc90c
RV
12717(define-public ghc-uri-bytestring
12718 (package
12719 (name "ghc-uri-bytestring")
d35ffd39 12720 (version "0.3.2.2")
dddbc90c
RV
12721 (source
12722 (origin
12723 (method url-fetch)
12724 (uri (string-append "https://hackage.haskell.org/package/"
12725 "uri-bytestring-" version "/"
12726 "uri-bytestring-" version ".tar.gz"))
12727 (sha256
12728 (base32
d35ffd39 12729 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12730 (build-system haskell-build-system)
12731 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12732 ("ghc-blaze-builder" ,ghc-blaze-builder)
12733 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12734 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12735 ("ghc-tasty" ,ghc-tasty)
12736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12737 ("ghc-hedgehog" ,ghc-hedgehog)
12738 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12739 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12740 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12741 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12742 (home-page "https://github.com/Soostone/uri-bytestring")
12743 (synopsis "Haskell URI parsing as ByteStrings")
12744 (description "This Haskell package aims to be an RFC3986 compliant URI
12745parser that uses ByteStrings for parsing and representing the URI data.")
12746 (license license:bsd-3)))
12747
d7ad0823
JS
12748(define-public ghc-utf8-light
12749 (package
12750 (name "ghc-utf8-light")
12751 (version "0.4.2")
12752 (source
12753 (origin
12754 (method url-fetch)
12755 (uri (string-append
12756 "mirror://hackage/package/utf8-light/utf8-light-"
12757 version
12758 ".tar.gz"))
12759 (sha256
12760 (base32
12761 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
12762 (build-system haskell-build-system)
12763 (home-page
12764 "http://hackage.haskell.org/package/utf8-light")
12765 (synopsis "Lightweight unicode support for Haskell")
12766 (description
12767 "This package profides a class for encoding and decoding UTF8 strings
12768with instances for several common types. It also includes several functions
12769for working with UTF8. It aims to be lightweight, depending only on Base and
12770including only one module.")
12771 (license license:bsd-3)))
12772
dddbc90c
RV
12773(define-public ghc-utf8-string
12774 (package
12775 (name "ghc-utf8-string")
12776 (version "1.0.1.1")
12777 (source
12778 (origin
12779 (method url-fetch)
12780 (uri (string-append
12781 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12782 version
12783 ".tar.gz"))
12784 (sha256
12785 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12786 (build-system haskell-build-system)
12787 (arguments
12788 `(#:cabal-revision
12789 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12790 (home-page "https://github.com/glguy/utf8-string/")
12791 (synopsis "Support for reading and writing UTF8 Strings")
12792 (description
12793 "A UTF8 layer for Strings. The utf8-string package provides operations
12794for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12795UTF8 without truncation.")
12796 (license license:bsd-3)))
12797
12798(define-public ghc-utility-ht
12799 (package
12800 (name "ghc-utility-ht")
12801 (version "0.0.14")
12802 (home-page "https://hackage.haskell.org/package/utility-ht")
12803 (source
12804 (origin
12805 (method url-fetch)
12806 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12807 (sha256
12808 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12809 (build-system haskell-build-system)
12810 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12811 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12812 (description "This package includes Hakell modules providing various
12813helper functions for Lists, Maybes, Tuples, Functions.")
12814 (license license:bsd-3)))
12815
12816(define-public ghc-uuid
12817 (package
12818 (name "ghc-uuid")
12819 (version "1.3.13")
12820 (source
12821 (origin
12822 (method url-fetch)
12823 (uri (string-append "https://hackage.haskell.org/package/"
12824 "uuid-" version "/"
12825 "uuid-" version ".tar.gz"))
12826 (sha256
12827 (base32
12828 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12829 (build-system haskell-build-system)
12830 (arguments
12831 `(#:cabal-revision
12832 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12833 #:phases
12834 (modify-phases %standard-phases
12835 (add-before 'configure 'strip-test-framework-constraints
12836 (lambda _
12837 (substitute* "uuid.cabal"
12838 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12839 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12840 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12841 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12842 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12843 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12844 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12845 ("ghc-entropy" ,ghc-entropy)
12846 ("ghc-network-info" ,ghc-network-info)
12847 ("ghc-random" ,ghc-random)
12848 ("ghc-uuid-types" ,ghc-uuid-types)))
12849 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12850 ("ghc-quickcheck" ,ghc-quickcheck)
12851 ("ghc-tasty" ,ghc-tasty)
12852 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12853 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12854 (home-page "https://github.com/hvr/uuid")
12855 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12856 (description "This Haskell library provides utilities creating, comparing,
12857parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12858 (license license:bsd-3)))
12859
12860(define-public ghc-uuid-types
12861 (package
12862 (name "ghc-uuid-types")
12863 (version "1.0.3")
12864 (source
12865 (origin
12866 (method url-fetch)
12867 (uri (string-append "https://hackage.haskell.org/package/"
12868 "uuid-types-" version "/"
12869 "uuid-types-" version ".tar.gz"))
12870 (sha256
12871 (base32
12872 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12873 (build-system haskell-build-system)
12874 (arguments
12875 `(#:phases
12876 (modify-phases %standard-phases
12877 (add-before 'configure 'strip-test-framework-constraints
12878 (lambda _
12879 (substitute* "uuid-types.cabal"
12880 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12881 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12882 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12883 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12884 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12885 (inputs `(("ghc-hashable" ,ghc-hashable)
12886 ("ghc-random" ,ghc-random)))
12887 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12888 ("ghc-quickcheck" ,ghc-quickcheck)
12889 ("ghc-tasty" ,ghc-tasty)
12890 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12891 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12892 (home-page "https://github.com/hvr/uuid")
12893 (synopsis "Haskell type definitions for UUIDs")
12894 (description "This Haskell library contains type definitions for
12895@dfn{Universally Unique Identifiers} or
12896@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12897functions.")
12898 (license license:bsd-3)))
12899
12900(define-public ghc-validation
12901 (package
12902 (name "ghc-validation")
08397fde 12903 (version "1.1")
dddbc90c
RV
12904 (source
12905 (origin
12906 (method url-fetch)
12907 (uri (string-append
12908 "mirror://hackage/package/validation/validation-"
12909 version
12910 ".tar.gz"))
12911 (sha256
12912 (base32
08397fde 12913 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12914 (build-system haskell-build-system)
12915 (arguments
12916 `(#:cabal-revision
08397fde 12917 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12918 (inputs
12919 `(("ghc-semigroups" ,ghc-semigroups)
12920 ("ghc-semigroupoids" ,ghc-semigroupoids)
12921 ("ghc-bifunctors" ,ghc-bifunctors)
12922 ("ghc-lens" ,ghc-lens)))
12923 (native-inputs
12924 `(("ghc-hedgehog" ,ghc-hedgehog)
12925 ("ghc-hunit" ,ghc-hunit)))
12926 (home-page "https://github.com/qfpl/validation")
12927 (synopsis
12928 "Data-type like Either but with an accumulating Applicative")
12929 (description
12930 "A data-type like Either but with differing properties and type-class
12931instances.
12932
12933Library support is provided for this different representation, including
12934@code{lens}-related functions for converting between each and abstracting over
12935their similarities.
12936
12937The @code{Validation} data type is isomorphic to @code{Either}, but has an
12938instance of @code{Applicative} that accumulates on the error side. That is to
12939say, if two (or more) errors are encountered, they are appended using a
12940@{Semigroup} operation.
12941
12942As a consequence of this @code{Applicative} instance, there is no
12943corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12944example of, \"An applicative functor that is not a monad.\"")
12945 (license license:bsd-3)))
12946
12947(define-public ghc-validity
12948 (package
12949 (name "ghc-validity")
3f1ba75d 12950 (version "0.9.0.2")
dddbc90c
RV
12951 (source
12952 (origin
12953 (method url-fetch)
12954 (uri (string-append
12955 "https://hackage.haskell.org/package/validity/validity-"
12956 version
12957 ".tar.gz"))
12958 (sha256
12959 (base32
3f1ba75d 12960 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12961 (build-system haskell-build-system)
12962 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12963 ("hspec-discover" ,hspec-discover)))
12964 (home-page
12965 "https://github.com/NorfairKing/validity")
12966 (synopsis "Validity typeclass")
12967 (description
12968 "Values of custom types usually have invariants imposed upon them. This
12969package provides the @code{Validity} type class, which makes these invariants
12970explicit by providing a function to check whether the invariants hold.")
12971 (license license:expat)))
12972
12973(define-public ghc-vault
12974 (package
12975 (name "ghc-vault")
b40a436e 12976 (version "0.3.1.3")
dddbc90c
RV
12977 (source
12978 (origin
12979 (method url-fetch)
12980 (uri (string-append
12981 "https://hackage.haskell.org/package/vault/vault-"
12982 version
12983 ".tar.gz"))
12984 (sha256
12985 (base32
b40a436e 12986 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12987 (build-system haskell-build-system)
12988 (inputs
12989 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12990 ("ghc-hashable" ,ghc-hashable)
b40a436e 12991 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12992 (home-page
12993 "https://github.com/HeinrichApfelmus/vault")
12994 (synopsis "Persistent store for arbitrary values")
12995 (description "This package provides vaults for Haskell. A vault is a
12996persistent store for values of arbitrary types. It's like having first-class
12997access to the storage space behind @code{IORefs}. The data structure is
12998analogous to a bank vault, where you can access different bank boxes with
12999different keys; hence the name. Also provided is a @code{locker} type,
13000representing a store for a single element.")
13001 (license license:bsd-3)))
13002
13003(define-public ghc-vector
13004 (package
13005 (name "ghc-vector")
3ad67f6b 13006 (version "0.12.0.3")
dddbc90c
RV
13007 (outputs '("out" "doc"))
13008 (source
13009 (origin
13010 (method url-fetch)
13011 (uri (string-append
13012 "https://hackage.haskell.org/package/vector/vector-"
13013 version
13014 ".tar.gz"))
13015 (sha256
13016 (base32
3ad67f6b 13017 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13018 (build-system haskell-build-system)
13019 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13020 ;; disabled for now.
13021 (arguments
3ad67f6b 13022 `(#:tests? #f))
dddbc90c
RV
13023 (inputs
13024 `(("ghc-primitive" ,ghc-primitive)
13025 ("ghc-random" ,ghc-random)
13026 ("ghc-quickcheck" ,ghc-quickcheck)
13027 ;; ("ghc-hunit" ,ghc-hunit)
13028 ;; ("ghc-test-framework" ,ghc-test-framework)
13029 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13030 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13031 ))
13032 (home-page "https://github.com/haskell/vector")
13033 (synopsis "Efficient Arrays")
13034 (description "This library provides an efficient implementation of
13035Int-indexed arrays (both mutable and immutable), with a powerful loop
13036optimisation framework.")
13037 (license license:bsd-3)))
13038
13039(define-public ghc-vector-algorithms
13040 (package
13041 (name "ghc-vector-algorithms")
e71f316f 13042 (version "0.8.0.1")
dddbc90c
RV
13043 (source
13044 (origin
13045 (method url-fetch)
13046 (uri (string-append "https://hackage.haskell.org/package/"
13047 "vector-algorithms-" version "/"
13048 "vector-algorithms-" version ".tar.gz"))
13049 (sha256
13050 (base32
e71f316f 13051 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13052 (build-system haskell-build-system)
13053 (inputs
13054 `(("ghc-vector" ,ghc-vector)))
13055 (native-inputs
13056 `(("ghc-quickcheck" ,ghc-quickcheck)))
13057 (home-page "https://github.com/bos/math-functions")
13058 (synopsis "Algorithms for vector arrays in Haskell")
13059 (description "This Haskell library algorithms for vector arrays.")
13060 (license license:bsd-3)))
13061
13062(define-public ghc-vector-binary-instances
13063 (package
13064 (name "ghc-vector-binary-instances")
ca0701ef 13065 (version "0.2.5.1")
dddbc90c
RV
13066 (source
13067 (origin
13068 (method url-fetch)
13069 (uri (string-append
13070 "https://hackage.haskell.org/package/"
13071 "vector-binary-instances/vector-binary-instances-"
13072 version ".tar.gz"))
13073 (sha256
13074 (base32
ca0701ef 13075 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13076 (build-system haskell-build-system)
dddbc90c
RV
13077 (inputs
13078 `(("ghc-vector" ,ghc-vector)))
13079 (native-inputs
13080 `(("ghc-tasty" ,ghc-tasty)
13081 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13082 (home-page "https://github.com/bos/vector-binary-instances")
13083 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
13084 (description "This library provides instances of @code{Binary} for the
13085types defined in the @code{vector} package, making it easy to serialize
13086vectors to and from disk. We use the generic interface to vectors, so all
13087vector types are supported. Specific instances are provided for unboxed,
13088boxed and storable vectors.")
13089 (license license:bsd-3)))
13090
13091(define-public ghc-vector-builder
13092 (package
13093 (name "ghc-vector-builder")
1fc05441 13094 (version "0.3.8")
dddbc90c
RV
13095 (source
13096 (origin
13097 (method url-fetch)
13098 (uri (string-append "https://hackage.haskell.org/package/"
13099 "vector-builder-" version "/"
13100 "vector-builder-" version ".tar.gz"))
13101 (sha256
13102 (base32
1fc05441 13103 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
13104 (build-system haskell-build-system)
13105 (inputs `(("ghc-vector" ,ghc-vector)
13106 ("ghc-semigroups" ,ghc-semigroups)
13107 ("ghc-base-prelude" ,ghc-base-prelude)))
13108 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13109 ("ghc-tasty" ,ghc-tasty)
13110 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13111 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
13112 ("ghc-hunit" ,ghc-hunit)
13113 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
13114 ("ghc-rerebase" ,ghc-rerebase)))
13115 (home-page "https://github.com/nikita-volkov/vector-builder")
13116 (synopsis "Vector builder for Haskell")
13117 (description "This Haskell package provides an API for constructing vectors.
13118It provides the composable @code{Builder} abstraction, which has instances of the
13119@code{Monoid} and @code{Semigroup} classes.
13120
13121You would first use the @code{Builder} abstraction to specify the structure of
13122the vector; then you can execute the builder to actually produce the
13123vector. ")
13124 (license license:expat)))
13125
13126(define-public ghc-vector-th-unbox
13127 (package
13128 (name "ghc-vector-th-unbox")
63056e61 13129 (version "0.2.1.7")
dddbc90c
RV
13130 (source
13131 (origin
13132 (method url-fetch)
13133 (uri (string-append "https://hackage.haskell.org/package/"
13134 "vector-th-unbox-" version "/"
13135 "vector-th-unbox-" version ".tar.gz"))
13136 (sha256
13137 (base32
63056e61 13138 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
13139 (build-system haskell-build-system)
13140 (inputs
13141 `(("ghc-vector" ,ghc-vector)
13142 ("ghc-data-default" ,ghc-data-default)))
13143 (home-page "https://github.com/liyang/vector-th-unbox")
13144 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
13145 (description "This Haskell library provides a Template Haskell
13146deriver for unboxed vectors, given a pair of coercion functions to
13147and from some existing type with an Unbox instance.")
13148 (license license:bsd-3)))
13149
13150(define-public ghc-void
13151 (package
13152 (name "ghc-void")
51889121 13153 (version "0.7.3")
dddbc90c
RV
13154 (source
13155 (origin
13156 (method url-fetch)
13157 (uri (string-append
13158 "https://hackage.haskell.org/package/void/void-"
13159 version
13160 ".tar.gz"))
13161 (sha256
13162 (base32
51889121 13163 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
13164 (build-system haskell-build-system)
13165 (inputs
13166 `(("ghc-semigroups" ,ghc-semigroups)
13167 ("ghc-hashable" ,ghc-hashable)))
13168 (home-page "https://github.com/ekmett/void")
13169 (synopsis
13170 "Logically uninhabited data type")
13171 (description
13172 "A Haskell 98 logically uninhabited data type, used to indicate that a
13173given term should not exist.")
13174 (license license:bsd-3)))
13175
13176(define-public ghc-wave
13177 (package
13178 (name "ghc-wave")
1631a0f7 13179 (version "0.2.0")
dddbc90c
RV
13180 (source (origin
13181 (method url-fetch)
13182 (uri (string-append
13183 "https://hackage.haskell.org/package/wave/wave-"
13184 version
13185 ".tar.gz"))
13186 (sha256
13187 (base32
1631a0f7 13188 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
13189 (build-system haskell-build-system)
13190 (arguments
13191 '(#:phases
13192 (modify-phases %standard-phases
13193 (add-before 'configure 'update-constraints
13194 (lambda _
13195 (substitute* "wave.cabal"
13196 (("temporary.* < 1\\.3")
13197 "temporary >= 1.1 && < 1.4")))))))
13198 (inputs
13199 `(("ghc-cereal" ,ghc-cereal)
13200 ("ghc-data-default-class"
13201 ,ghc-data-default-class)
13202 ("ghc-quickcheck" ,ghc-quickcheck)
13203 ("ghc-temporary" ,ghc-temporary)))
13204 (native-inputs
13205 `(("hspec-discover" ,hspec-discover)
13206 ("ghc-hspec" ,ghc-hspec)))
13207 (home-page "https://github.com/mrkkrp/wave")
13208 (synopsis "Work with WAVE and RF64 files in Haskell")
13209 (description "This package allows you to work with WAVE and RF64
13210files in Haskell.")
13211 (license license:bsd-3)))
13212
13213(define-public ghc-wcwidth
13214 (package
13215 (name "ghc-wcwidth")
13216 (version "0.0.2")
13217 (source
13218 (origin
13219 (method url-fetch)
13220 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
13221 version ".tar.gz"))
13222 (sha256
13223 (base32
13224 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13225 (build-system haskell-build-system)
13226 (inputs
13227 `(("ghc-setlocale" ,ghc-setlocale)
13228 ("ghc-utf8-string" ,ghc-utf8-string)
13229 ("ghc-attoparsec" ,ghc-attoparsec)))
13230 (home-page "https://github.com/solidsnack/wcwidth/")
13231 (synopsis "Haskell bindings to wcwidth")
13232 (description "This package provides Haskell bindings to your system's
13233native wcwidth and a command line tool to examine the widths assigned by it.
13234The command line tool can compile a width table to Haskell code that assigns
13235widths to the Char type.")
13236 (license license:bsd-3)))
13237
13238(define-public ghc-wcwidth-bootstrap
13239 (package
13240 (inherit ghc-wcwidth)
13241 (name "ghc-wcwidth-bootstrap")
13242 (inputs
13243 `(("ghc-setlocale" ,ghc-setlocale)
13244 ("ghc-utf8-string" ,ghc-utf8-string)
13245 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 13246 (properties '((hidden? #t)))))
dddbc90c
RV
13247
13248(define-public ghc-weigh
13249 (package
13250 (name "ghc-weigh")
b6d9777f 13251 (version "0.0.14")
dddbc90c
RV
13252 (source
13253 (origin
13254 (method url-fetch)
13255 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13256 "weigh-" version ".tar.gz"))
13257 (sha256
13258 (base32
b6d9777f 13259 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
13260 (build-system haskell-build-system)
13261 (inputs
13262 `(("ghc-split" ,ghc-split)
13263 ("ghc-temporary" ,ghc-temporary)))
13264 (home-page "https://github.com/fpco/weigh#readme")
13265 (synopsis "Measure allocations of a Haskell functions/values")
13266 (description "This package provides tools to measure the memory usage of a
13267Haskell value or function.")
13268 (license license:bsd-3)))
13269
13270(define-public ghc-wl-pprint
13271 (package
13272 (name "ghc-wl-pprint")
13273 (version "1.2.1")
13274 (source (origin
13275 (method url-fetch)
13276 (uri (string-append
13277 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13278 version ".tar.gz"))
13279 (sha256
13280 (base32
13281 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13282 (build-system haskell-build-system)
13283 (home-page "https://hackage.haskell.org/package/wl-pprint")
13284 (synopsis "Wadler/Leijen pretty printer")
13285 (description
13286 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13287Printer}. This version allows the library user to declare overlapping
13288instances of the @code{Pretty} class.")
13289 (license license:bsd-3)))
13290
13291(define-public ghc-wl-pprint-annotated
13292 (package
13293 (name "ghc-wl-pprint-annotated")
13294 (version "0.1.0.1")
13295 (source
13296 (origin
13297 (method url-fetch)
13298 (uri (string-append
13299 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13300 version
13301 ".tar.gz"))
13302 (sha256
13303 (base32
13304 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13305 (build-system haskell-build-system)
13306 (native-inputs
13307 `(("ghc-tasty" ,ghc-tasty)
13308 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13309 (home-page
13310 "https://github.com/minad/wl-pprint-annotated#readme")
13311 (synopsis
13312 "Wadler/Leijen pretty printer with annotation support")
13313 (description
13314 "Annotations are useful for coloring. This is a limited version of
13315@code{wl-pprint-extras} without support for point effects and without the free
13316monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13317Compared to @code{annotated-wl-pprint} this library provides a slightly
13318modernized interface.")
13319 (license license:bsd-3)))
13320
13321(define-public ghc-wl-pprint-text
13322 (package
13323 (name "ghc-wl-pprint-text")
13324 (version "1.2.0.0")
13325 (source
13326 (origin
13327 (method url-fetch)
13328 (uri (string-append
13329 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13330 version ".tar.gz"))
13331 (sha256
13332 (base32
13333 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13334 (build-system haskell-build-system)
13335 (inputs
13336 `(("ghc-base-compat" ,ghc-base-compat)))
13337 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13338 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13339 (description
13340 "A clone of wl-pprint for use with the text library.")
13341 (license license:bsd-3)))
13342
13343(define-public ghc-word8
13344 (package
13345 (name "ghc-word8")
13346 (version "0.1.3")
13347 (source
13348 (origin
13349 (method url-fetch)
13350 (uri (string-append
13351 "https://hackage.haskell.org/package/word8/word8-"
13352 version
13353 ".tar.gz"))
13354 (sha256
13355 (base32
13356 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13357 (build-system haskell-build-system)
13358 (native-inputs
13359 `(("ghc-hspec" ,ghc-hspec)
13360 ("hspec-discover" ,hspec-discover)))
13361 (home-page "https://hackage.haskell.org/package/word8")
13362 (synopsis "Word8 library for Haskell")
13363 (description "Word8 library to be used with @code{Data.ByteString}.")
13364 (license license:bsd-3)))
13365
13366(define-public ghc-x11
13367 (package
13368 (name "ghc-x11")
6c4581a3 13369 (version "1.9.1")
dddbc90c
RV
13370 (source
13371 (origin
13372 (method url-fetch)
13373 (uri (string-append "https://hackage.haskell.org/package/X11/"
13374 "X11-" version ".tar.gz"))
13375 (sha256
6c4581a3 13376 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
13377 (build-system haskell-build-system)
13378 (inputs
13379 `(("libx11" ,libx11)
13380 ("libxrandr" ,libxrandr)
13381 ("libxinerama" ,libxinerama)
13382 ("libxscrnsaver" ,libxscrnsaver)
13383 ("ghc-data-default" ,ghc-data-default)))
13384 (home-page "https://github.com/haskell-pkg-janitors/X11")
13385 (synopsis "Bindings to the X11 graphics library")
13386 (description
13387 "This package provides Haskell bindings to the X11 graphics library. The
13388bindings are a direct translation of the C bindings.")
13389 (license license:bsd-3)))
13390
13391(define-public ghc-x11-xft
13392 (package
13393 (name "ghc-x11-xft")
13394 (version "0.3.1")
13395 (source
13396 (origin
13397 (method url-fetch)
13398 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13399 "X11-xft-" version ".tar.gz"))
13400 (sha256
13401 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13402 (inputs
13403 `(("ghc-x11" ,ghc-x11)
13404 ("ghc-utf8-string" ,ghc-utf8-string)
13405 ("libx11" ,libx11)
13406 ("libxft" ,libxft)
13407 ("xorgproto" ,xorgproto)))
13408 (native-inputs
13409 `(("pkg-config" ,pkg-config)))
13410 (build-system haskell-build-system)
13411 (home-page "https://hackage.haskell.org/package/X11-xft")
13412 (synopsis "Bindings to Xft")
13413 (description
13414 "Bindings to the Xft, X Free Type interface library, and some Xrender
13415parts.")
13416 (license license:lgpl2.1)))
13417
13418(define-public ghc-xdg-basedir
13419 (package
13420 (name "ghc-xdg-basedir")
13421 (version "0.2.2")
13422 (source
13423 (origin
13424 (method url-fetch)
13425 (uri (string-append
13426 "https://hackage.haskell.org/package/xdg-basedir/"
13427 "xdg-basedir-" version ".tar.gz"))
13428 (sha256
13429 (base32
13430 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13431 (build-system haskell-build-system)
13432 (home-page "http://github.com/willdonnelly/xdg-basedir")
13433 (synopsis "XDG Base Directory library for Haskell")
13434 (description "This package provides a library implementing the XDG Base Directory spec.")
13435 (license license:bsd-3)))
13436
13437(define-public ghc-xml
13438 (package
13439 (name "ghc-xml")
13440 (version "1.3.14")
13441 (source
13442 (origin
13443 (method url-fetch)
13444 (uri (string-append
13445 "https://hackage.haskell.org/package/xml/xml-"
13446 version
13447 ".tar.gz"))
13448 (sha256
13449 (base32
13450 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13451 (build-system haskell-build-system)
2b62f5d0 13452 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
13453 (synopsis "Simple XML library for Haskell")
13454 (description "This package provides a simple XML library for Haskell.")
13455 (license license:bsd-3)))
13456
13457(define-public ghc-xml-conduit
13458 (package
13459 (name "ghc-xml-conduit")
13460 (version "1.8.0.1")
13461 (source
13462 (origin
13463 (method url-fetch)
13464 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13465 "xml-conduit-" version ".tar.gz"))
13466 (sha256
13467 (base32
13468 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13469 (build-system haskell-build-system)
13470 (inputs
13471 `(("ghc-conduit" ,ghc-conduit)
13472 ("ghc-conduit-extra" ,ghc-conduit-extra)
13473 ("ghc-doctest" ,ghc-doctest)
13474 ("ghc-resourcet" ,ghc-resourcet)
13475 ("ghc-xml-types" ,ghc-xml-types)
13476 ("ghc-attoparsec" ,ghc-attoparsec)
13477 ("ghc-data-default-class" ,ghc-data-default-class)
13478 ("ghc-blaze-markup" ,ghc-blaze-markup)
13479 ("ghc-blaze-html" ,ghc-blaze-html)
13480 ("ghc-monad-control" ,ghc-monad-control)
13481 ("ghc-hspec" ,ghc-hspec)
13482 ("ghc-hunit" ,ghc-hunit)))
13483 (home-page "https://github.com/snoyberg/xml")
13484 (synopsis "Utilities for dealing with XML with the conduit package")
13485 (description
13486 "This package provides pure-Haskell utilities for dealing with XML with
13487the @code{conduit} package.")
13488 (license license:expat)))
13489
13490(define-public ghc-xml-types
13491 (package
13492 (name "ghc-xml-types")
13493 (version "0.3.6")
13494 (source
13495 (origin
13496 (method url-fetch)
13497 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13498 "xml-types-" version ".tar.gz"))
13499 (sha256
13500 (base32
13501 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13502 (build-system haskell-build-system)
13503 (home-page "https://john-millikin.com/software/haskell-xml/")
13504 (synopsis "Basic types for representing XML")
13505 (description "This package provides basic types for representing XML
13506documents.")
13507 (license license:expat)))
13508
13509(define-public ghc-yaml
13510 (package
13511 (name "ghc-yaml")
b58e5b84 13512 (version "0.11.1.2")
dddbc90c
RV
13513 (source (origin
13514 (method url-fetch)
13515 (uri (string-append "https://hackage.haskell.org/package/"
13516 "yaml/yaml-" version ".tar.gz"))
13517 (sha256
13518 (base32
b58e5b84 13519 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 13520 (build-system haskell-build-system)
dddbc90c
RV
13521 (inputs
13522 `(("ghc-conduit" ,ghc-conduit)
13523 ("ghc-resourcet" ,ghc-resourcet)
13524 ("ghc-aeson" ,ghc-aeson)
13525 ("ghc-unordered-containers" ,ghc-unordered-containers)
13526 ("ghc-vector" ,ghc-vector)
13527 ("ghc-attoparsec" ,ghc-attoparsec)
13528 ("ghc-scientific" ,ghc-scientific)
13529 ("ghc-semigroups" ,ghc-semigroups)
13530 ("ghc-temporary" ,ghc-temporary)
13531 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13532 ("ghc-base-compat" ,ghc-base-compat)
13533 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13534 (native-inputs
13535 `(("ghc-hspec" ,ghc-hspec)
13536 ("ghc-hunit" ,ghc-hunit)
13537 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13538 ("ghc-mockery" ,ghc-mockery)
13539 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13540 (home-page "https://github.com/snoyberg/yaml/")
13541 (synopsis "Parsing and rendering YAML documents")
13542 (description
13543 "This package provides a library to parse and render YAML documents.")
13544 (license license:bsd-3)))
13545
13546(define-public ghc-zip-archive
13547 (package
13548 (name "ghc-zip-archive")
93c1fdd3 13549 (version "0.4.1")
dddbc90c
RV
13550 (source
13551 (origin
13552 (method url-fetch)
13553 (uri (string-append
13554 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13555 version
13556 ".tar.gz"))
13557 (sha256
13558 (base32
93c1fdd3 13559 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13560 (build-system haskell-build-system)
93c1fdd3
TS
13561 (arguments
13562 `(#:phases
13563 (modify-phases %standard-phases
13564 (add-before 'check 'set-PATH-for-tests
13565 (lambda* (#:key inputs #:allow-other-keys)
13566 (let ((unzip (assoc-ref inputs "unzip"))
13567 (which (assoc-ref inputs "which"))
13568 (path (getenv "PATH")))
13569 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13570 #t))))))
dddbc90c
RV
13571 (inputs
13572 `(("ghc-digest" ,ghc-digest)
13573 ("ghc-temporary" ,ghc-temporary)
13574 ("ghc-zlib" ,ghc-zlib)))
13575 (native-inputs
13576 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13577 ("unzip" ,unzip)
13578 ("which" ,which)))
dddbc90c
RV
13579 (home-page "https://hackage.haskell.org/package/zip-archive")
13580 (synopsis "Zip archive library for Haskell")
13581 (description "The zip-archive library provides functions for creating,
13582modifying, and extracting files from zip archives in Haskell.")
13583 (license license:bsd-3)))
13584
13585(define-public ghc-zlib
13586 (package
13587 (name "ghc-zlib")
bf12089a 13588 (version "0.6.2.1")
dddbc90c
RV
13589 (outputs '("out" "doc"))
13590 (source
13591 (origin
13592 (method url-fetch)
13593 (uri (string-append
13594 "https://hackage.haskell.org/package/zlib/zlib-"
13595 version
13596 ".tar.gz"))
13597 (sha256
13598 (base32
bf12089a 13599 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13600 (build-system haskell-build-system)
13601 (arguments
13602 `(#:phases
13603 (modify-phases %standard-phases
13604 (add-before 'configure 'strip-test-framework-constraints
13605 (lambda _
13606 (substitute* "zlib.cabal"
13607 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13608 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13609 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13610 (inputs `(("zlib" ,zlib)))
13611 (native-inputs
13612 `(("ghc-quickcheck" ,ghc-quickcheck)
13613 ("ghc-tasty" ,ghc-tasty)
13614 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13615 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13616 (home-page "https://hackage.haskell.org/package/zlib")
13617 (synopsis
13618 "Compression and decompression in the gzip and zlib formats")
13619 (description
13620 "This package provides a pure interface for compressing and decompressing
13621streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13622library so it has high performance. It supports the @code{zlib}, @code{gzip}
13623and @code{raw} compression formats. It provides a convenient high level API
13624suitable for most tasks and for the few cases where more control is needed it
13625provides access to the full zlib feature set.")
bbf8bf31 13626 (license license:bsd-3)))
14e41996
RV
13627
13628(define-public ghc-zlib-bindings
13629 (package
13630 (name "ghc-zlib-bindings")
13631 (version "0.1.1.5")
13632 (source
13633 (origin
13634 (method url-fetch)
13635 (uri (string-append "https://hackage.haskell.org/package/"
13636 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13637 (sha256
13638 (base32
13639 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13640 (build-system haskell-build-system)
13641 (inputs
13642 `(("ghc-zlib" ,ghc-zlib)))
13643 (native-inputs
13644 `(("ghc-hspec" ,ghc-hspec)
13645 ("ghc-quickcheck" ,ghc-quickcheck)))
13646 (arguments
13647 `(#:cabal-revision
13648 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13649 (home-page "https://github.com/snapframework/zlib-bindings")
13650 (synopsis "Low-level bindings to the @code{zlib} package")
13651 (description "This package provides low-level bindings to the
13652@code{zlib} package.")
13653 (license license:bsd-3)))
8428e92c
TS
13654
13655(define-public ghc-zstd
13656 (package
13657 (name "ghc-zstd")
13658 (version "0.1.1.2")
13659 (source
13660 (origin
13661 (method url-fetch)
13662 (uri (string-append "https://hackage.haskell.org/package/"
13663 "zstd/zstd-" version ".tar.gz"))
13664 (sha256
13665 (base32
13666 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13667 (build-system haskell-build-system)
13668 (native-inputs
13669 `(("ghc-quickcheck" ,ghc-quickcheck)
13670 ("ghc-test-framework" ,ghc-test-framework)
13671 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13672 (home-page "https://github.com/luispedro/hs-zstd")
13673 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13674 (description "This library provides Haskell bindings to the
13675Zstandard compression algorithm, a fast lossless compression algorithm
13676targeting real-time compression scenarios at zlib-level and better
13677compression ratios.")
13678 (license license:bsd-3)))