gnu: Add ghc-utf8-light.
[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
dddbc90c
RV
7634(define-public ghc-murmur-hash
7635 (package
7636 (name "ghc-murmur-hash")
7637 (version "0.1.0.9")
7638 (source
7639 (origin
7640 (method url-fetch)
7641 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7642 "/murmur-hash-" version ".tar.gz"))
7643 (sha256
7644 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7645 (build-system haskell-build-system)
7646 (home-page "https://github.com/nominolo/murmur-hash")
7647 (synopsis "MurmurHash2 implementation for Haskell")
7648 (description
7649 "This package provides an implementation of MurmurHash2, a good, fast,
7650general-purpose, non-cryptographic hashing function. See
7651@url{https://sites.google.com/site/murmurhash/} for details. This
7652implementation is pure Haskell, so it might be a bit slower than a C FFI
7653binding.")
7654 (license license:bsd-3)))
7655
7656(define-public ghc-mwc-random
7657 (package
7658 (name "ghc-mwc-random")
33268e2c 7659 (version "0.14.0.0")
dddbc90c
RV
7660 (source
7661 (origin
7662 (method url-fetch)
7663 (uri (string-append "https://hackage.haskell.org/package/"
7664 "mwc-random-" version "/"
7665 "mwc-random-" version ".tar.gz"))
7666 (sha256
7667 (base32
33268e2c 7668 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7669 (build-system haskell-build-system)
7670 (inputs
7671 `(("ghc-primitive" ,ghc-primitive)
7672 ("ghc-vector" ,ghc-vector)
7673 ("ghc-math-functions" ,ghc-math-functions)))
7674 (arguments
7675 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7676 (native-inputs
7677 `(("ghc-hunit" ,ghc-hunit)
7678 ("ghc-quickcheck" ,ghc-quickcheck)
7679 ("ghc-test-framework" ,ghc-test-framework)
7680 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7681 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7682 (home-page "https://github.com/bos/mwc-random")
7683 (synopsis "Random number generation library for Haskell")
7684 (description "This Haskell package contains code for generating
7685high quality random numbers that follow either a uniform or normal
7686distribution. The generated numbers are suitable for use in
7687statistical applications.
7688
7689The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7690multiply-with-carry generator, which has a period of 2^{8222} and
7691fares well in tests of randomness. It is also extremely fast,
7692between 2 and 3 times faster than the Mersenne Twister.")
7693 (license license:bsd-3)))
7694
7695(define-public ghc-nats
7696 (package
7697 (name "ghc-nats")
7698 (version "1.1.2")
7699 (source
7700 (origin
7701 (method url-fetch)
7702 (uri (string-append
7703 "https://hackage.haskell.org/package/nats/nats-"
7704 version
7705 ".tar.gz"))
7706 (sha256
7707 (base32
7708 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7709 (build-system haskell-build-system)
7710 (arguments `(#:haddock? #f))
7711 (inputs
7712 `(("ghc-hashable" ,ghc-hashable)))
7713 (home-page "https://hackage.haskell.org/package/nats")
7714 (synopsis "Natural numbers")
7715 (description "This library provides the natural numbers for Haskell.")
7716 (license license:bsd-3)))
7717
7718(define-public ghc-nats-bootstrap
7719 (package
7720 (inherit ghc-nats)
7721 (name "ghc-nats-bootstrap")
7722 (inputs
7723 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7724 (properties '((hidden? #t)))))
7725
52915062
EF
7726(define-public ghc-ncurses
7727 (package
7728 (name "ghc-ncurses")
7729 (version "0.2.16")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append
7734 "https://hackage.haskell.org/package/ncurses/ncurses-"
7735 version ".tar.gz"))
7736 (sha256
7737 (base32
7738 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7739 (build-system haskell-build-system)
7740 (arguments
7741 '(#:phases
7742 (modify-phases %standard-phases
7743 (add-before 'build 'fix-includes
7744 (lambda _
7745 (substitute* '("cbits/hsncurses-shim.h"
7746 "lib/UI/NCurses.chs"
7747 "lib/UI/NCurses/Enums.chs"
7748 "lib/UI/NCurses/Panel.chs")
7749 (("<ncursesw/") "<"))
7750 #t)))
7751 #:cabal-revision
7752 ("1"
7753 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7754 (inputs `(("ncurses" ,ncurses)))
7755 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7756 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7757 (synopsis "Modernised bindings to GNU ncurses")
7758 (description "GNU ncurses is a library for creating command-line application
7759with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7760ncurses.")
7761 (license license:gpl3)))
7762
dddbc90c
RV
7763(define-public ghc-network
7764 (package
7765 (name "ghc-network")
d4473202 7766 (version "2.8.0.1")
dddbc90c
RV
7767 (outputs '("out" "doc"))
7768 (source
7769 (origin
7770 (method url-fetch)
7771 (uri (string-append
7772 "https://hackage.haskell.org/package/network/network-"
7773 version
7774 ".tar.gz"))
7775 (sha256
7776 (base32
d4473202 7777 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7778 (build-system haskell-build-system)
7779 ;; The regression tests depend on an unpublished module.
7780 (arguments `(#:tests? #f))
7781 (native-inputs
7782 `(("ghc-hunit" ,ghc-hunit)
7783 ("ghc-doctest" ,ghc-doctest)
7784 ("ghc-test-framework" ,ghc-test-framework)
7785 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7786 (home-page "https://github.com/haskell/network")
7787 (synopsis "Low-level networking interface")
7788 (description
7789 "This package provides a low-level networking interface.")
7790 (license license:bsd-3)))
4780db2c 7791
30eebbe6
TS
7792(define-public ghc-network-bsd
7793 (package
7794 (name "ghc-network-bsd")
7795 (version "2.8.0.0")
7796 (source
7797 (origin
7798 (method url-fetch)
7799 (uri (string-append "https://hackage.haskell.org/package/"
7800 "network-bsd/network-bsd-" version ".tar.gz"))
7801 (sha256
7802 (base32
7803 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7804 (build-system haskell-build-system)
7805 (inputs
7806 `(("ghc-network" ,ghc-network)))
7807 (home-page "https://github.com/haskell/network-bsd")
7808 (synopsis "POSIX network database (<netdb.h>) API")
7809 (description "This package provides Haskell bindings to the the POSIX
7810network database (<netdb.h>) API.")
7811 (license license:bsd-3)))
7812
096781a1
TS
7813(define-public ghc-network-byte-order
7814 (package
7815 (name "ghc-network-byte-order")
7816 (version "0.1.1.1")
7817 (source
7818 (origin
7819 (method url-fetch)
7820 (uri (string-append "https://hackage.haskell.org/package/"
7821 "network-byte-order/network-byte-order-"
7822 version ".tar.gz"))
7823 (sha256
7824 (base32
7825 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7826 (build-system haskell-build-system)
7827 (native-inputs
7828 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 7829 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
7830 (synopsis "Network byte order utilities")
7831 (description "This library provides peek and poke functions for network
7832byte order.")
7833 (license license:bsd-3)))
7834
dddbc90c
RV
7835(define-public ghc-network-info
7836 (package
7837 (name "ghc-network-info")
7838 (version "0.2.0.10")
7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append "https://hackage.haskell.org/package/"
7843 "network-info-" version "/"
7844 "network-info-" version ".tar.gz"))
7845 (sha256
7846 (base32
7847 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7848 (build-system haskell-build-system)
7849 (home-page "https://github.com/jystic/network-info")
7850 (synopsis "Access the local computer's basic network configuration")
7851 (description "This Haskell library provides simple read-only access to the
7852local computer's networking configuration. It is currently capable of
7853getting a list of all the network interfaces and their respective
7854IPv4, IPv6 and MAC addresses.")
7855 (license license:bsd-3)))
7856
7857(define-public ghc-network-uri
7858 (package
7859 (name "ghc-network-uri")
7860 (version "2.6.1.0")
7861 (outputs '("out" "doc"))
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append
7866 "https://hackage.haskell.org/package/network-uri/network-uri-"
7867 version
7868 ".tar.gz"))
7869 (sha256
7870 (base32
7871 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7872 (build-system haskell-build-system)
7873 (arguments
7874 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7875 (inputs
7876 `(("ghc-network" ,ghc-network)))
7877 (native-inputs
7878 `(("ghc-hunit" ,ghc-hunit)))
7879 (home-page
7880 "https://github.com/haskell/network-uri")
7881 (synopsis "Library for URI manipulation")
7882 (description "This package provides an URI manipulation interface. In
7883@code{network-2.6} the @code{Network.URI} module was split off from the
7884@code{network} package into this package.")
7885 (license license:bsd-3)))
7886
7887(define-public ghc-newtype-generics
7888 (package
7889 (name "ghc-newtype-generics")
c07e16dd 7890 (version "0.5.4")
dddbc90c
RV
7891 (source
7892 (origin
7893 (method url-fetch)
7894 (uri (string-append "https://hackage.haskell.org/package/"
7895 "newtype-generics/newtype-generics-"
7896 version ".tar.gz"))
7897 (sha256
7898 (base32
c07e16dd 7899 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7900 (build-system haskell-build-system)
7901 (native-inputs
7902 `(("ghc-hspec" ,ghc-hspec)
7903 ("hspec-discover" ,hspec-discover)))
7904 (home-page "http://github.com/sjakobi/newtype-generics")
7905 (synopsis "Typeclass and set of functions for working with newtypes")
7906 (description "The @code{Newtype} typeclass represents the packing and
7907unpacking of a newtype, and allows you to operate under that newtype with
7908functions such as @code{ala}. Generics support was added in version 0.4,
7909making this package a full replacement for the original newtype package,
7910and an alternative to newtype-th.")
7911 (license license:bsd-3)))
7912
6b652f5a
JS
7913(define-public ghc-non-negative
7914 (package
7915 (name "ghc-non-negative")
7916 (version "0.1.2")
7917 (source
7918 (origin
7919 (method url-fetch)
7920 (uri
7921 (string-append
7922 "https://hackage.haskell.org/package/non-negative/non-negative-"
7923 version ".tar.gz"))
7924 (sha256
7925 (base32
7926 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7927 (build-system haskell-build-system)
7928 (inputs
7929 `(("ghc-semigroups" ,ghc-semigroups)
7930 ("ghc-utility-ht" ,ghc-utility-ht)
7931 ("ghc-quickcheck" ,ghc-quickcheck)))
7932 (home-page "https://hackage.haskell.org/package/non-negative")
7933 (synopsis "Non-negative numbers class")
7934 (description "This library provides a class for non-negative numbers,
7935a wrapper which can turn any ordered numeric type into a member of that
7936class, and a lazy number type for non-negative numbers (a generalization
7937of Peano numbers).")
7938 (license license:gpl3+)))
7939
49bcca84
ASM
7940(define-public ghc-nonce
7941 (package
7942 (name "ghc-nonce")
7943 (version "1.0.7")
7944 (source
7945 (origin
7946 (method url-fetch)
7947 (uri (string-append
7948 "https://hackage.haskell.org/package/nonce/"
7949 "nonce-" version ".tar.gz"))
7950 (sha256
7951 (base32
7952 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
7953 (build-system haskell-build-system)
7954 (inputs
7955 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
7956 ("ghc-entropy" ,ghc-entropy)
7957 ("ghc-unliftio" ,ghc-unliftio)
7958 ("ghc-unliftio-core" ,ghc-unliftio-core)))
7959 (home-page "https://github.com/prowdsponsor/nonce")
7960 (synopsis "Generate cryptographic nonces in Haskell")
7961 (description
7962 "A nonce is an arbitrary number used only once in a cryptographic
7963communication. This package contain helper functions for generating nonces.
7964There are many kinds of nonces used in different situations. It's not
7965guaranteed that by using the nonces from this package you won't have any
7966security issues. Please make sure that the nonces generated via this
7967package are usable on your design.")
7968 (license license:bsd-3)))
7969
194a82e6
TS
7970(define-public ghc-numeric-extras
7971 (package
7972 (name "ghc-numeric-extras")
7973 (version "0.1")
7974 (source
7975 (origin
7976 (method url-fetch)
7977 (uri (string-append "https://hackage.haskell.org/package/"
7978 "numeric-extras/numeric-extras-"
7979 version ".tar.gz"))
7980 (sha256
7981 (base32
7982 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7983 (build-system haskell-build-system)
7984 (home-page "https://github.com/ekmett/numeric-extras")
7985 (synopsis "Useful tools from the C standard library")
7986 (description "This library provides some useful tools from the C
7987standard library.")
7988 (license license:bsd-3)))
7989
dddbc90c
RV
7990(define-public ghc-objectname
7991 (package
7992 (name "ghc-objectname")
7993 (version "1.1.0.1")
7994 (source
7995 (origin
7996 (method url-fetch)
7997 (uri (string-append
7998 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7999 version
8000 ".tar.gz"))
8001 (sha256
8002 (base32
8003 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8004 (build-system haskell-build-system)
8005 (home-page "https://hackage.haskell.org/package/ObjectName")
8006 (synopsis "Helper library for Haskell OpenGL")
8007 (description "This tiny package contains the class ObjectName, which
8008corresponds to the general notion of explicitly handled identifiers for API
8009objects, e.g. a texture object name in OpenGL or a buffer object name in
8010OpenAL.")
8011 (license license:bsd-3)))
8012
8013(define-public ghc-old-locale
8014 (package
8015 (name "ghc-old-locale")
8016 (version "1.0.0.7")
8017 (source
8018 (origin
8019 (method url-fetch)
8020 (uri (string-append
8021 "https://hackage.haskell.org/package/old-locale/old-locale-"
8022 version
8023 ".tar.gz"))
8024 (sha256
8025 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8026 (build-system haskell-build-system)
8027 (arguments
8028 `(#:cabal-revision
8029 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8030 (home-page "https://hackage.haskell.org/package/old-locale")
8031 (synopsis "Adapt to locale conventions")
8032 (description
8033 "This package provides the ability to adapt to locale conventions such as
8034date and time formats.")
8035 (license license:bsd-3)))
8036
8037(define-public ghc-old-time
8038 (package
8039 (name "ghc-old-time")
8040 (version "1.1.0.3")
8041 (source
8042 (origin
8043 (method url-fetch)
8044 (uri (string-append
8045 "https://hackage.haskell.org/package/old-time/old-time-"
8046 version
8047 ".tar.gz"))
8048 (sha256
8049 (base32
8050 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8051 (build-system haskell-build-system)
8052 (arguments
8053 `(#:cabal-revision
8054 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8055 (inputs
8056 `(("ghc-old-locale" ,ghc-old-locale)))
8057 (home-page "https://hackage.haskell.org/package/old-time")
8058 (synopsis "Time compatibility library for Haskell")
8059 (description "Old-time is a package for backwards compatibility with the
8060old @code{time} library. For new projects, the newer
8061@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8062 (license license:bsd-3)))
8063
8064(define-public ghc-opengl
8065 (package
8066 (name "ghc-opengl")
79a06910 8067 (version "3.0.3.0")
dddbc90c
RV
8068 (source
8069 (origin
8070 (method url-fetch)
8071 (uri (string-append
8072 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8073 version
8074 ".tar.gz"))
8075 (sha256
8076 (base32
79a06910 8077 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8078 (build-system haskell-build-system)
79a06910
TS
8079 (arguments
8080 `(#:cabal-revision
8081 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8082 (inputs
8083 `(("ghc-objectname" ,ghc-objectname)
8084 ("ghc-gluraw" ,ghc-gluraw)
8085 ("ghc-statevar" ,ghc-statevar)
8086 ("ghc-openglraw" ,ghc-openglraw)))
8087 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8088 (synopsis "Haskell bindings for the OpenGL graphics system")
8089 (description "This package provides Haskell bindings for the OpenGL
8090graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8091version 1.3).")
8092 (license license:bsd-3)))
8093
8094(define-public ghc-openglraw
8095 (package
8096 (name "ghc-openglraw")
15ebc815 8097 (version "3.3.3.0")
dddbc90c
RV
8098 (source
8099 (origin
8100 (method url-fetch)
8101 (uri (string-append
8102 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8103 version
8104 ".tar.gz"))
8105 (sha256
8106 (base32
15ebc815 8107 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8108 (build-system haskell-build-system)
8109 (inputs
8110 `(("ghc-half" ,ghc-half)
8111 ("ghc-fixed" ,ghc-fixed)
8112 ("glu" ,glu)))
8113 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8114 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8115 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8116graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8117of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8118offers access to all necessary functions, tokens and types plus a general
8119facility for loading extension entries. The module hierarchy closely mirrors
8120the naming structure of the OpenGL extensions, making it easy to find the
8121right module to import. All API entries are loaded dynamically, so no special
8122C header files are needed for building this package. If an API entry is not
8123found at runtime, a userError is thrown.")
8124 (license license:bsd-3)))
8125
8126(define-public ghc-operational
8127 (package
8128 (name "ghc-operational")
8129 (version "0.2.3.5")
8130 (source
8131 (origin
8132 (method url-fetch)
8133 (uri (string-append "https://hackage.haskell.org/package/operational/"
8134 "operational-" version ".tar.gz"))
8135 (sha256
8136 (base32
8137 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8138 (build-system haskell-build-system)
8139 (inputs
8140 `(("ghc-random" ,ghc-random)))
8141 (home-page "http://wiki.haskell.org/Operational")
8142 (synopsis "Implementation of difficult monads made easy with operational semantics")
8143 (description
8144 "This library makes it easy to implement monads with tricky control
8145flow. This is useful for: writing web applications in a sequential style,
8146programming games with a uniform interface for human and AI players and easy
8147replay capababilities, implementing fast parser monads, designing monadic
8148DSLs, etc.")
8149 (license license:bsd-3)))
8150
8151(define-public ghc-options
8152 (package
8153 (name "ghc-options")
8154 (version "1.2.1.1")
8155 (source
8156 (origin
8157 (method url-fetch)
8158 (uri (string-append
8159 "https://hackage.haskell.org/package/options/options-"
8160 version ".tar.gz"))
8161 (sha256
8162 (base32
8163 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8164 (build-system haskell-build-system)
24cf2a8b
TS
8165 (arguments
8166 `(#:phases
8167 (modify-phases %standard-phases
8168 (add-before 'configure 'update-constraints
8169 (lambda _
8170 (substitute* "options.cabal"
8171 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8172 #t)))))
dddbc90c
RV
8173 (inputs
8174 `(("ghc-monads-tf" ,ghc-monads-tf)
8175 ("ghc-chell" ,ghc-chell)
8176 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8177 (home-page "https://john-millikin.com/software/haskell-options/")
8178 (synopsis "Powerful and easy-to-use command-line option parser")
8179 (description
8180 "The @code{options} package lets library and application developers
8181easily work with command-line options.")
8182 (license license:expat)))
8183
8184;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8185(define ghc-options-bootstrap
8186 (package
8187 (name "ghc-options-bootstrap")
8188 (version "1.2.1.1")
8189 (source
8190 (origin
8191 (method url-fetch)
8192 (uri (string-append
8193 "https://hackage.haskell.org/package/options/options-"
8194 version ".tar.gz"))
8195 (sha256
8196 (base32
8197 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8198 (build-system haskell-build-system)
8199 (arguments
8200 `(#:tests? #f))
8201 (inputs
8202 `(("ghc-monads-tf" ,ghc-monads-tf)))
8203 (home-page "https://john-millikin.com/software/haskell-options/")
8204 (synopsis "Powerful and easy-to-use command-line option parser")
8205 (description
8206 "The @code{options} package lets library and application developers
8207easily work with command-line options.")
8208 (license license:expat)))
8209
8210
8211(define-public ghc-optparse-applicative
8212 (package
8213 (name "ghc-optparse-applicative")
74bf6965 8214 (version "0.14.3.0")
dddbc90c
RV
8215 (source
8216 (origin
8217 (method url-fetch)
8218 (uri (string-append
8219 "https://hackage.haskell.org/package/optparse-applicative"
8220 "/optparse-applicative-" version ".tar.gz"))
8221 (sha256
8222 (base32
74bf6965 8223 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8224 (build-system haskell-build-system)
74bf6965
TS
8225 (arguments
8226 `(#:cabal-revision
8227 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8228 (inputs
8229 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8230 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8231 (native-inputs
8232 `(("ghc-quickcheck" ,ghc-quickcheck)))
8233 (home-page "https://github.com/pcapriotti/optparse-applicative")
8234 (synopsis "Utilities and combinators for parsing command line options")
8235 (description "This package provides utilities and combinators for parsing
8236command line options in Haskell.")
8237 (license license:bsd-3)))
8238
d56c8120
NG
8239(define-public ghc-jira-wiki-markup
8240 (package
8241 (name "ghc-jira-wiki-markup")
8242 (version "1.0.0")
8243 (source
8244 (origin
8245 (method url-fetch)
8246 (uri (string-append
8247 "https://hackage.haskell.org/package/jira-wiki-markup/"
8248 "jira-wiki-markup-" version ".tar.gz"))
8249 (sha256
8250 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8251 (build-system haskell-build-system)
8252 (native-inputs
8253 `(("ghc-tasty" ,ghc-tasty)
8254 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8255 (home-page "https://github.com/tarleb/jira-wiki-markup")
8256 (synopsis "Handle Jira wiki markup")
8257 (description
8258 "Parse jira wiki text into an abstract syntax tree for easy transformation
8259to other formats.")
8260 (license license:expat)))
8261
20690771
NG
8262(define-public ghc-emojis
8263 (package
8264 (name "ghc-emojis")
8265 (version "0.1")
8266 (source
8267 (origin
8268 (method url-fetch)
8269 (uri (string-append
8270 "https://hackage.haskell.org/package/emojis/"
8271 "emojis-" version ".tar.gz"))
8272 (sha256
8273 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8274 (build-system haskell-build-system)
8275 (native-inputs
8276 `(("ghc-hunit" ,ghc-hunit)))
8277 (home-page "https://github.com/jgm/emojis#readme")
8278 (synopsis "Conversion between emoji characters and their names.")
8279 (description
8280 "This package provides functions for converting emoji names to emoji
8281characters and vice versa.
8282
8283How does it differ from the @code{emoji} package?
8284@itemize
8285@item It supports a fuller range of emojis, including all those supported by
8286GitHub
8287@item It supports lookup of emoji aliases from emoji
8288@item It uses Text rather than String
8289@item It has a lighter dependency footprint: in particular, it does not
8290require aeson
8291@item It does not require TemplateHaskell
8292@end itemize")
8293 (license license:bsd-3)))
8294
e90a06fc
NG
8295(define-public ghc-text-conversions
8296 (package
8297 (name "ghc-text-conversions")
8298 (version "0.3.0")
8299 (source
8300 (origin
8301 (method url-fetch)
8302 (uri (string-append
8303 "https://hackage.haskell.org/package/text-conversions/"
8304 "text-conversions-" version ".tar.gz"))
8305 (sha256
8306 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8307 (build-system haskell-build-system)
8308 (inputs
8309 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8310 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8311 ("ghc-errors" ,ghc-errors)))
8312 (native-inputs
8313 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8314 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8315 (home-page "https://github.com/cjdev/text-conversions#readme")
8316 (synopsis "Safe conversions between textual types")
8317 (description "Safe conversions between textual types")
8318 (license license:isc)))
8319
ba7cbae3
NG
8320(define-public ghc-doclayout
8321 (package
8322 (name "ghc-doclayout")
8323 (version "0.3")
8324 (source
8325 (origin
8326 (method url-fetch)
8327 (uri (string-append
8328 "https://hackage.haskell.org/package/doclayout/"
8329 "doclayout-" version ".tar.gz"))
8330 (sha256
8331 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8332 (build-system haskell-build-system)
8333 (inputs
8334 `(("ghc-safe" ,ghc-safe)))
8335 (native-inputs
8336 `(("ghc-tasty" ,ghc-tasty)
8337 ("ghc-tasty-golden" ,ghc-tasty-golden)
8338 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8339 (home-page "https://github.com/jgm/doclayout")
8340 (synopsis "Pretty-printing library for laying out text documents")
8341 (description
8342 "doclayout is a pretty-printing library for laying out text documents,
8343with several features not present in pretty-printing libraries designed for
8344code. It was designed for use in @code{Pandoc}.")
8345 (license license:bsd-3)))
8346
dddbc90c
RV
8347(define-public ghc-pandoc
8348 (package
8349 (name "ghc-pandoc")
d9b1567a 8350 (version "2.7.3")
dddbc90c
RV
8351 (source
8352 (origin
8353 (method url-fetch)
8354 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8355 version ".tar.gz"))
d9b1567a
TS
8356 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8357 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8358 (sha256
8359 (base32
d9b1567a 8360 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8361 (build-system haskell-build-system)
dddbc90c
RV
8362 (inputs
8363 `(("ghc-aeson" ,ghc-aeson)
8364 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8365 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8366 ("ghc-blaze-html" ,ghc-blaze-html)
8367 ("ghc-blaze-markup" ,ghc-blaze-markup)
8368 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8369 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8370 ("ghc-diff" ,ghc-diff)
8371 ("ghc-doctemplates" ,ghc-doctemplates)
8372 ("ghc-executable-path" ,ghc-executable-path)
8373 ("ghc-glob" ,ghc-glob)
8374 ("ghc-haddock-library" ,ghc-haddock-library)
8375 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8376 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8377 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8378 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8379 ("ghc-http" ,ghc-http)
8380 ("ghc-http-client" ,ghc-http-client)
8381 ("ghc-http-client-tls" ,ghc-http-client-tls)
8382 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8383 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8384 ("ghc-juicypixels" ,ghc-juicypixels)
8385 ("ghc-network" ,ghc-network)
8386 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8387 ("ghc-pandoc-types" ,ghc-pandoc-types)
8388 ("ghc-random" ,ghc-random)
8389 ("ghc-scientific" ,ghc-scientific)
8390 ("ghc-sha" ,ghc-sha)
8391 ("ghc-skylighting" ,ghc-skylighting)
8392 ("ghc-split" ,ghc-split)
8393 ("ghc-syb" ,ghc-syb)
8394 ("ghc-tagsoup" ,ghc-tagsoup)
8395 ("ghc-temporary" ,ghc-temporary)
8396 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8397 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8398 ("ghc-unordered-containers" ,ghc-unordered-containers)
8399 ("ghc-vector" ,ghc-vector)
8400 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8401 ("ghc-zip-archive" ,ghc-zip-archive)
8402 ("ghc-zlib" ,ghc-zlib)))
8403 (native-inputs
8404 `(("ghc-tasty" ,ghc-tasty)
8405 ("ghc-tasty-golden" ,ghc-tasty-golden)
8406 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8407 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8408 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8409 ("ghc-quickcheck" ,ghc-quickcheck)
8410 ("ghc-hunit" ,ghc-hunit)))
8411 (home-page "https://pandoc.org")
8412 (synopsis "Conversion between markup formats")
8413 (description
8414 "Pandoc is a Haskell library for converting from one markup format to
8415another, and a command-line tool that uses this library. It can read and
8416write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8417LaTeX, DocBook, and many more.
8418
8419Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8420definition lists, tables, and other features. A compatibility mode is
8421provided for those who need a drop-in replacement for Markdown.pl.")
8422 (license license:gpl2+)))
8423
8424(define-public ghc-pandoc-citeproc
8425 (package
8426 (name "ghc-pandoc-citeproc")
2da02d09 8427 (version "0.16.2")
dddbc90c
RV
8428 (source
8429 (origin
8430 (method url-fetch)
8431 (uri (string-append "https://hackage.haskell.org/package/"
8432 "pandoc-citeproc/pandoc-citeproc-"
8433 version ".tar.gz"))
8434 (sha256
8435 (base32
2da02d09 8436 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8437 (build-system haskell-build-system)
8438 (arguments
8439 `(#:phases
8440 (modify-phases %standard-phases
8441 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8442 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8443 (add-before 'configure 'patch-tests
8444 (lambda _
8445 (substitute* "tests/test-pandoc-citeproc.hs"
8446 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8447 "let allTests = citeprocTests"))))
8448 ;; Tests need to be run after installation.
8449 (delete 'check)
8450 (add-after 'install 'post-install-check
8451 (assoc-ref %standard-phases 'check)))))
8452 (inputs
8453 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8454 ("ghc-pandoc" ,ghc-pandoc)
8455 ("ghc-tagsoup" ,ghc-tagsoup)
8456 ("ghc-aeson" ,ghc-aeson)
8457 ("ghc-vector" ,ghc-vector)
8458 ("ghc-xml-conduit" ,ghc-xml-conduit)
8459 ("ghc-unordered-containers" ,ghc-unordered-containers)
8460 ("ghc-data-default" ,ghc-data-default)
8461 ("ghc-setenv" ,ghc-setenv)
8462 ("ghc-split" ,ghc-split)
8463 ("ghc-yaml" ,ghc-yaml)
8464 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8465 ("ghc-rfc5051" ,ghc-rfc5051)
8466 ("ghc-syb" ,ghc-syb)
8467 ("ghc-old-locale" ,ghc-old-locale)
8468 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8469 ("ghc-attoparsec" ,ghc-attoparsec)
8470 ("ghc-temporary" ,ghc-temporary)))
8471 (home-page "https://github.com/jgm/pandoc-citeproc")
8472 (synopsis "Library for using pandoc with citeproc")
8473 (description
8474 "The @code{pandoc-citeproc} library exports functions for using the
8475citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8476rendering bibliographic reference citations into a variety of styles using a
8477macro language called @dfn{Citation Style Language} (CSL). This package also
8478contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8479and also has a mode for converting bibliographic databases a YAML format
8480suitable for inclusion in pandoc YAML metadata.")
8481 (license license:bsd-3)))
8482
8483(define-public ghc-pandoc-types
8484 (package
8485 (name "ghc-pandoc-types")
0eaa88c8 8486 (version "1.17.6.1")
dddbc90c
RV
8487 (source (origin
8488 (method url-fetch)
8489 (uri (string-append "https://hackage.haskell.org/package/"
8490 "pandoc-types/pandoc-types-"
8491 version ".tar.gz"))
8492 (sha256
8493 (base32
0eaa88c8 8494 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8495 (build-system haskell-build-system)
8496 (inputs
8497 `(("ghc-syb" ,ghc-syb)
8498 ("ghc-aeson" ,ghc-aeson)
8499 ("ghc-string-qq" ,ghc-string-qq)))
8500 (native-inputs
8501 `(("ghc-quickcheck" ,ghc-quickcheck)
8502 ("ghc-test-framework" ,ghc-test-framework)
8503 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8504 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8505 ("ghc-hunit" ,ghc-hunit)))
8506 (home-page "http://johnmacfarlane.net/pandoc")
8507 (synopsis "Types for representing a structured document")
8508 (description
8509 "This module defines the @code{Pandoc} data structure, which is used by
8510pandoc to represent structured documents. It also provides functions for
8511building up, manipulating and serialising @code{Pandoc} structures.")
8512 (license license:bsd-3)))
8513
8514(define-public ghc-parallel
8515 (package
8516 (name "ghc-parallel")
8517 (version "3.2.2.0")
8518 (outputs '("out" "doc"))
8519 (source
8520 (origin
8521 (method url-fetch)
8522 (uri (string-append
8523 "https://hackage.haskell.org/package/parallel/parallel-"
8524 version
8525 ".tar.gz"))
8526 (sha256
8527 (base32
8528 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8529 (build-system haskell-build-system)
8530 (home-page "https://hackage.haskell.org/package/parallel")
8531 (synopsis "Parallel programming library")
8532 (description
8533 "This package provides a library for parallel programming.")
8534 (license license:bsd-3)))
8535
8536(define-public ghc-parsec-numbers
8537 (package
8538 (name "ghc-parsec-numbers")
8539 (version "0.1.0")
8540 (source
8541 (origin
8542 (method url-fetch)
8543 (uri (string-append "https://hackage.haskell.org/package/"
8544 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8545 (sha256
8546 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8547 (build-system haskell-build-system)
8548 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8549 (synopsis "Utilities for parsing numbers from strings")
8550 (description
8551 "This package provides the number parsers without the need to use a large
8552(and unportable) token parser.")
8553 (license license:bsd-3)))
8554
8555(define-public ghc-parser-combinators
8556 (package
8557 (name "ghc-parser-combinators")
2f173160 8558 (version "1.1.0")
dddbc90c
RV
8559 (source
8560 (origin
8561 (method url-fetch)
8562 (uri (string-append "https://hackage.haskell.org/package/"
8563 "parser-combinators/parser-combinators-"
8564 version ".tar.gz"))
8565 (sha256
8566 (base32
2f173160 8567 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8568 (build-system haskell-build-system)
8569 (home-page "https://github.com/mrkkrp/parser-combinators")
8570 (synopsis "Commonly useful parser combinators")
8571 (description
8572 "This is a lightweight package providing commonly useful parser
8573combinators.")
8574 (license license:bsd-3)))
8575
8576(define-public ghc-parsers
8577 (package
8578 (name "ghc-parsers")
6818f970 8579 (version "0.12.10")
dddbc90c
RV
8580 (source
8581 (origin
8582 (method url-fetch)
8583 (uri (string-append
8584 "https://hackage.haskell.org/package/parsers/parsers-"
8585 version
8586 ".tar.gz"))
8587 (sha256
8588 (base32
6818f970 8589 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8590 (build-system haskell-build-system)
8591 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8592 ; -package attoparsec-0.13.0.1"
8593 (inputs
8594 `(("ghc-base-orphans" ,ghc-base-orphans)
8595 ("ghc-attoparsec" ,ghc-attoparsec)
8596 ("ghc-scientific" ,ghc-scientific)
8597 ("ghc-charset" ,ghc-charset)
8598 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8599 (home-page "https://github.com/ekmett/parsers/")
8600 (synopsis "Parsing combinators")
8601 (description "This library provides convenient combinators for working
8602with and building parsing combinator libraries. Given a few simple instances,
8603you get access to a large number of canned definitions. Instances exist for
8604the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8605@code{Text.Read}.")
8606 (license license:bsd-3)))
8607
8608(define-public ghc-path
8609 (package
8610 (name "ghc-path")
8611 (version "0.6.1")
8612 (source
8613 (origin
8614 (method url-fetch)
8615 (uri (string-append
8616 "https://hackage.haskell.org/package/path/path-"
8617 version
8618 ".tar.gz"))
8619 (sha256
8620 (base32
8621 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8622 (build-system haskell-build-system)
8623 (arguments
8624 ;; TODO: There are some Windows-related tests and modules that need to be
8625 ;; danced around.
8626 `(#:tests? #f
8627 #:cabal-revision
8628 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8629 (inputs
8630 `(("ghc-aeson" ,ghc-aeson)
8631 ("ghc-exceptions" ,ghc-exceptions)
8632 ("ghc-hashable" ,ghc-hashable)))
8633 (native-inputs
8634 `(("ghc-hspec" ,ghc-hspec)
8635 ("ghc-quickcheck" ,ghc-quickcheck)
8636 ("ghc-genvalidity" ,ghc-genvalidity)
8637 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8638 ("ghc-hspec" ,ghc-hspec)
8639 ("ghc-validity" ,ghc-validity)))
8640 (home-page
3ef91e15 8641 "https://hackage.haskell.org/package/path")
dddbc90c
RV
8642 (synopsis "Support for well-typed paths")
8643 (description "This package introduces a type for paths upholding useful
8644invariants.")
8645 (license license:bsd-3)))
8646
8647(define-public ghc-path-io
8648 (package
8649 (name "ghc-path-io")
a06613ea 8650 (version "1.4.2")
dddbc90c
RV
8651 (source
8652 (origin
8653 (method url-fetch)
8654 (uri (string-append
8655 "https://hackage.haskell.org/package/path-io/path-io-"
8656 version
8657 ".tar.gz"))
8658 (sha256
8659 (base32
a06613ea 8660 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8661 (build-system haskell-build-system)
8662 (inputs
8663 `(("ghc-dlist" ,ghc-dlist)
8664 ("ghc-exceptions" ,ghc-exceptions)
8665 ("ghc-path" ,ghc-path)
8666 ("ghc-transformers-base" ,ghc-transformers-base)
8667 ("ghc-unix-compat" ,ghc-unix-compat)
8668 ("ghc-temporary" ,ghc-temporary)))
8669 (native-inputs
8670 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8671 (home-page
8672 "https://github.com/mrkkrp/path-io")
8673 (synopsis "Functions for manipulating well-typed paths")
8674 (description "This package provides an interface to the @code{directory}
8675package for users of @code{path}. It also implements some missing stuff like
8676recursive scanning and copying of directories, working with temporary
8677files/directories, and more.")
8678 (license license:bsd-3)))
8679
8680(define-public ghc-paths
8681 (package
8682 (name "ghc-paths")
9a8adeb1 8683 (version "0.1.0.12")
dddbc90c
RV
8684 (outputs '("out" "doc"))
8685 (source
8686 (origin
8687 (method url-fetch)
8688 (uri (string-append
8689 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8690 version
8691 ".tar.gz"))
8692 (sha256
8693 (base32
9a8adeb1 8694 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8695 (build-system haskell-build-system)
8696 (home-page "https://github.com/simonmar/ghc-paths")
8697 (synopsis
8698 "Knowledge of GHC's installation directories")
8699 (description
8700 "Knowledge of GHC's installation directories.")
8701 (license license:bsd-3)))
8702
8703(define-public ghc-patience
8704 (package
8705 (name "ghc-patience")
484476f3 8706 (version "0.3")
dddbc90c
RV
8707 (source
8708 (origin
8709 (method url-fetch)
8710 (uri (string-append
8711 "https://hackage.haskell.org/package/patience/patience-"
8712 version ".tar.gz"))
8713 (sha256
8714 (base32
484476f3 8715 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8716 (build-system haskell-build-system)
8717 (home-page "https://hackage.haskell.org/package/patience")
8718 (synopsis "Patience diff and longest increasing subsequence")
8719 (description
8720 "This library implements the 'patience diff' algorithm, as well as the
8721patience algorithm for the longest increasing subsequence problem.
8722Patience diff computes the difference between two lists, for example the lines
8723of two versions of a source file. It provides a good balance between
8724performance, nice output for humans, and simplicity of implementation.")
8725 (license license:bsd-3)))
8726
8727(define-public ghc-pcre-light
8728 (package
8729 (name "ghc-pcre-light")
8730 (version "0.4.0.4")
8731 (source
8732 (origin
8733 (method url-fetch)
8734 (uri (string-append
8735 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8736 version
8737 ".tar.gz"))
8738 (sha256
8739 (base32
8740 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8741 (build-system haskell-build-system)
8742 (inputs
8743 `(("pcre" ,pcre)))
8744 (native-inputs
8745 `(("pkg-config" ,pkg-config)))
8746 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8747 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8748 (description "This package provides a small, efficient, and portable regex
8749library for Perl 5 compatible regular expressions. The PCRE library is a set
8750of functions that implement regular expression pattern matching using the same
8751syntax and semantics as Perl 5.")
8752 (license license:bsd-3)))
8753
8754(define-public ghc-persistent
8755 (package
8756 (name "ghc-persistent")
8c9697a9 8757 (version "2.10.4")
dddbc90c
RV
8758 (source
8759 (origin
8760 (method url-fetch)
8c9697a9
ASM
8761 (uri (string-append
8762 "https://hackage.haskell.org/package/persistent/"
8763 "persistent-" version ".tar.gz"))
dddbc90c
RV
8764 (sha256
8765 (base32
8c9697a9 8766 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 8767 (build-system haskell-build-system)
8c9697a9
ASM
8768 (inputs
8769 `(("ghc-aeson" ,ghc-aeson)
8770 ("ghc-attoparsec" ,ghc-attoparsec)
8771 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8772 ("ghc-blaze-html" ,ghc-blaze-html)
8773 ("ghc-conduit" ,ghc-conduit)
8774 ("ghc-fast-logger" ,ghc-fast-logger)
8775 ("ghc-http-api-data" ,ghc-http-api-data)
8776 ("ghc-monad-logger" ,ghc-monad-logger)
8777 ("ghc-path-pieces" ,ghc-path-pieces)
8778 ("ghc-resource-pool" ,ghc-resource-pool)
8779 ("ghc-resourcet" ,ghc-resourcet)
8780 ("ghc-scientific" ,ghc-scientific)
8781 ("ghc-silently" ,ghc-silently)
8782 ("ghc-unliftio-core" ,ghc-unliftio-core)
8783 ("ghc-unliftio" ,ghc-unliftio)
8784 ("ghc-unordered-containers"
8785 ,ghc-unordered-containers)
8786 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
8787 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8788 (home-page "https://www.yesodweb.com/book/persistent")
8789 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8790 (description "This Haskell package allows Haskell programs to access data
8791storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8792way.")
8793 (license license:expat)))
8794
8795(define-public ghc-persistent-sqlite
8796 (package
8797 (name "ghc-persistent-sqlite")
78858787 8798 (version "2.10.5.2")
dddbc90c
RV
8799 (source
8800 (origin
8801 (method url-fetch)
78858787
ASM
8802 (uri (string-append
8803 "https://hackage.haskell.org/package/persistent-sqlite/"
8804 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
8805 (sha256
8806 (base32
78858787 8807 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 8808 (build-system haskell-build-system)
78858787
ASM
8809 (inputs
8810 `(("ghc-persistent" ,ghc-persistent)
8811 ("ghc-aeson" ,ghc-aeson)
8812 ("ghc-conduit" ,ghc-conduit)
8813 ("ghc-microlens-th" ,ghc-microlens-th)
8814 ("ghc-monad-logger" ,ghc-monad-logger)
8815 ("ghc-resource-pool" ,ghc-resource-pool)
8816 ("ghc-resourcet" ,ghc-resourcet)
8817 ("ghc-unliftio-core" ,ghc-unliftio-core)
8818 ("ghc-unordered-containers"
8819 ,ghc-unordered-containers)))
8820 (native-inputs
8821 `(("ghc-persistent-template"
8822 ,ghc-persistent-template)
8823 ("ghc-persistent-test" ,ghc-persistent-test)
8824 ("ghc-exceptions" ,ghc-exceptions)
8825 ("ghc-fast-logger" ,ghc-fast-logger)
8826 ("ghc-hspec" ,ghc-hspec)
8827 ("ghc-hunit" ,ghc-hunit)
8828 ("ghc-quickcheck" ,ghc-quickcheck)
8829 ("ghc-system-fileio" ,ghc-system-fileio)
8830 ("ghc-system-filepath" ,ghc-system-filepath)
8831 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
8832 (home-page
8833 "https://www.yesodweb.com/book/persistent")
8834 (synopsis "Backend for the persistent library using sqlite3")
8835 (description "This Haskell package includes a thin sqlite3 wrapper based
8836on the direct-sqlite package, as well as the entire C library, so there are no
8837system dependencies.")
8838 (license license:expat)))
8839
8840(define-public ghc-persistent-template
8841 (package
8842 (name "ghc-persistent-template")
d5378e98 8843 (version "2.8.0")
dddbc90c
RV
8844 (source
8845 (origin
8846 (method url-fetch)
d5378e98
ASM
8847 (uri (string-append
8848 "https://hackage.haskell.org/package/persistent-template/"
8849 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
8850 (sha256
8851 (base32
d5378e98 8852 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 8853 (build-system haskell-build-system)
d5378e98
ASM
8854 (inputs
8855 `(("ghc-persistent" ,ghc-persistent)
8856 ("ghc-aeson" ,ghc-aeson)
8857 ("ghc-http-api-data" ,ghc-http-api-data)
8858 ("ghc-monad-control" ,ghc-monad-control)
8859 ("ghc-monad-logger" ,ghc-monad-logger)
8860 ("ghc-path-pieces" ,ghc-path-pieces)
8861 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
8862 ("ghc-unordered-containers"
8863 ,ghc-unordered-containers)))
8864 (native-inputs
8865 `(("ghc-hspec" ,ghc-hspec)
8866 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
8867 (home-page "https://www.yesodweb.com/book/persistent")
8868 (synopsis "Type-safe, non-relational, multi-backend persistence")
8869 (description "This Haskell package provides interfaces and helper
8870functions for the ghc-persistent package.")
8871 (license license:expat)))
8872
ce32f7c7
ASM
8873(define-public ghc-persistent-test
8874 (package
8875 (name "ghc-persistent-test")
8876 (version "2.0.3.1")
8877 (source
8878 (origin
8879 (method url-fetch)
8880 (uri (string-append
8881 "https://hackage.haskell.org/package/persistent-test/"
8882 "persistent-test-" version ".tar.gz"))
8883 (sha256
8884 (base32
8885 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
8886 (build-system haskell-build-system)
8887 (inputs
8888 `(("ghc-aeson" ,ghc-aeson)
8889 ("ghc-blaze-html" ,ghc-blaze-html)
8890 ("ghc-conduit" ,ghc-conduit)
8891 ("ghc-monad-control" ,ghc-monad-control)
8892 ("ghc-monad-logger" ,ghc-monad-logger)
8893 ("ghc-path-pieces" ,ghc-path-pieces)
8894 ("ghc-persistent" ,ghc-persistent)
8895 ("ghc-persistent-template" ,ghc-persistent-template)
8896 ("ghc-random" ,ghc-random)
8897 ("ghc-resourcet" ,ghc-resourcet)
8898 ("ghc-transformers-base" ,ghc-transformers-base)
8899 ("ghc-unliftio" ,ghc-unliftio)
8900 ("ghc-unliftio-core" ,ghc-unliftio-core)
8901 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8902 (native-inputs
8903 `(("ghc-quickcheck" ,ghc-quickcheck)
8904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8905 ("ghc-hspec" ,ghc-hspec)
8906 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
8907 ("ghc-hunit" ,ghc-hunit)))
8908 (home-page "https://www.yesodweb.com/book/persistent")
8909 (synopsis "Tests for the Persistent database library")
8910 (description
8911 "This is only for use in developing libraries that should conform to
8912the persistent interface, not for users of the persistent suite of database
8913libraries.")
8914 (license license:expat)))
8915
4639fa32
ASM
8916(define-public ghc-pipes
8917 (package
8918 (name "ghc-pipes")
8919 (version "4.3.13")
8920 (source
8921 (origin
8922 (method url-fetch)
8923 (uri (string-append
8924 "https://hackage.haskell.org/package/pipes/"
8925 "pipes-" version ".tar.gz"))
8926 (sha256
8927 (base32
8928 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8929 (build-system haskell-build-system)
8930 (inputs
8931 `(("ghc-exceptions" ,ghc-exceptions)
8932 ("ghc-mmorph" ,ghc-mmorph)
8933 ("ghc-void" ,ghc-void)
8934 ("ghc-semigroups" ,ghc-semigroups)))
8935 (native-inputs
8936 `(("ghc-quickcheck" ,ghc-quickcheck)
8937 ("ghc-test-framework" ,ghc-test-framework)
8938 ("ghc-test-framework-quickcheck2"
8939 ,ghc-test-framework-quickcheck2)))
8940 (home-page
8941 "https://hackage.haskell.org/package/pipes")
8942 (synopsis "Compositional pipelines")
8943 (description
8944 "A clean and powerful stream processing library that lets you build
8945and connect reusable streaming components. Advantages over traditional streaming
8946libraries:
8947@itemize
8948@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8949and @code{yield}
8950@item Blazing fast: Implementation tuned for speed, including shortcut fusion
8951@item Lightweight Dependency: pipes is small and compiles very rapidly, including
8952dependencies
8953@item Elegant semantics: Use practical category theory
8954@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8955@item Bidirectionality: Implement duplex channels
8956@end itemize")
8957 (license license:bsd-3)))
8958
451775a5
ASM
8959(define-public ghc-pointedlist
8960 (package
8961 (name "ghc-pointedlist")
8962 (version "0.6.1")
8963 (source
8964 (origin
8965 (method url-fetch)
8966 (uri (string-append
8967 "https://hackage.haskell.org/package/pointedlist/"
8968 "pointedlist-" version ".tar.gz"))
8969 (sha256
8970 (base32
8971 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8972 (build-system haskell-build-system)
8973 (home-page
3ef91e15 8974 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
8975 (synopsis
8976 "Zipper-like comonad which works as a list, tracking a position")
8977 (description
8978 "A PointedList tracks the position in a non-empty list which works
8979similarly to a zipper. A current item is always required, and therefore
8980the list may never be empty. A circular PointedList wraps around to the
8981other end when progressing past the actual edge.")
8982 (license license:bsd-3)))
8983
dddbc90c
RV
8984(define-public ghc-polyparse
8985 (package
8986 (name "ghc-polyparse")
9822b9ca 8987 (version "1.12.1")
dddbc90c
RV
8988 (source
8989 (origin
8990 (method url-fetch)
8991 (uri (string-append
8992 "https://hackage.haskell.org/package/polyparse/polyparse-"
8993 version
8994 ".tar.gz"))
8995 (sha256
8996 (base32
9822b9ca 8997 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8998 (build-system haskell-build-system)
8999 (home-page
9000 "http://code.haskell.org/~malcolm/polyparse/")
9001 (synopsis
9002 "Alternative parser combinator libraries")
9003 (description
9004 "This package provides a variety of alternative parser combinator
9005libraries, including the original HuttonMeijer set. The Poly sets have
9006features like good error reporting, arbitrary token type, running state, lazy
9007parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9008standard Read class, for better deserialisation of Haskell values from
9009Strings.")
9010 (license license:lgpl2.1)))
9011
9012(define-public ghc-pqueue
9013 (package
9014 (name "ghc-pqueue")
142415b0 9015 (version "1.4.1.2")
dddbc90c
RV
9016 (source
9017 (origin
9018 (method url-fetch)
9019 (uri (string-append "https://hackage.haskell.org/package/"
9020 "pqueue/pqueue-" version ".tar.gz"))
9021 (sha256
9022 (base32
142415b0 9023 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9024 (build-system haskell-build-system)
9025 (native-inputs
9026 `(("ghc-quickcheck" ,ghc-quickcheck)))
9027 (home-page "https://hackage.haskell.org/package/pqueue")
9028 (synopsis "Reliable, persistent, fast priority queues")
9029 (description
9030 "This package provides a fast, reliable priority queue implementation
9031based on a binomial heap.")
9032 (license license:bsd-3)))
9033
9034(define-public ghc-prelude-extras
9035 (package
9036 (name "ghc-prelude-extras")
9037 (version "0.4.0.3")
9038 (source
9039 (origin
9040 (method url-fetch)
9041 (uri (string-append
9042 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9043 version
9044 ".tar.gz"))
9045 (sha256
9046 (base32
9047 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9048 (build-system haskell-build-system)
9049 (home-page "https://github.com/ekmett/prelude-extras")
9050 (synopsis "Higher order versions of Prelude classes")
9051 (description "This library provides higher order versions of
9052@code{Prelude} classes to ease programming with polymorphic recursion and
9053reduce @code{UndecidableInstances}.")
9054 (license license:bsd-3)))
9055
9056(define-public ghc-prettyclass
9057 (package
9058 (name "ghc-prettyclass")
9059 (version "1.0.0.0")
9060 (source
9061 (origin
9062 (method url-fetch)
9063 (uri (string-append "https://hackage.haskell.org/package/"
9064 "prettyclass/prettyclass-" version ".tar.gz"))
9065 (sha256
9066 (base32
9067 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9068 (build-system haskell-build-system)
3ef91e15 9069 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9070 (synopsis "Pretty printing class similar to Show")
9071 (description "This package provides a pretty printing class similar
9072to @code{Show}, based on the HughesPJ pretty printing library. It
9073provides the pretty printing class and instances for the Prelude
9074types.")
9075 (license license:bsd-3)))
9076
9077(define-public ghc-pretty-hex
9078 (package
9079 (name "ghc-pretty-hex")
9080 (version "1.0")
9081 (source
9082 (origin
9083 (method url-fetch)
9084 (uri (string-append "https://hackage.haskell.org/package/"
9085 "pretty-hex-" version "/"
9086 "pretty-hex-" version ".tar.gz"))
9087 (sha256
9088 (base32
9089 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9090 (build-system haskell-build-system)
9091 (home-page "https://github.com/GaloisInc/hexdump")
9092 (synopsis "Haskell library for hex dumps of ByteStrings")
9093 (description "This Haskell library generates pretty hex dumps of
9094ByteStrings in the style of other common *nix hex dump tools.")
9095 (license license:bsd-3)))
9096
9097(define-public ghc-pretty-show
9098 (package
9099 (name "ghc-pretty-show")
7683a084 9100 (version "1.9.5")
dddbc90c
RV
9101 (source
9102 (origin
9103 (method url-fetch)
9104 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9105 "pretty-show-" version ".tar.gz"))
9106 (sha256
9107 (base32
7683a084 9108 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9109 (build-system haskell-build-system)
9110 (inputs
9111 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9112 ("ghc-happy" ,ghc-happy)))
9113 (home-page "http://wiki.github.com/yav/pretty-show")
9114 (synopsis "Tools for working with derived `Show` instances")
9115 (description
9116 "This package provides a library and an executable for working with
9117derived @code{Show} instances. By using the library, derived @code{Show}
9118instances can be parsed into a generic data structure. The @code{ppsh} tool
9119uses the library to produce human-readable versions of @code{Show} instances,
9120which can be quite handy for debugging Haskell programs. We can also render
9121complex generic values into an interactive Html page, for easier
9122examination.")
9123 (license license:expat)))
9124
9125(define-public ghc-primitive
9126 (package
9127 (name "ghc-primitive")
9128 (version "0.6.4.0")
9129 (outputs '("out" "doc"))
9130 (source
9131 (origin
9132 (method url-fetch)
9133 (uri (string-append
9134 "https://hackage.haskell.org/package/primitive/primitive-"
9135 version
9136 ".tar.gz"))
9137 (sha256
9138 (base32
9139 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9140 (build-system haskell-build-system)
6cf0daa4
TS
9141 (arguments
9142 `(#:cabal-revision
9143 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9144 (home-page
9145 "https://github.com/haskell/primitive")
9146 (synopsis "Primitive memory-related operations")
9147 (description
9148 "This package provides various primitive memory-related operations.")
9149 (license license:bsd-3)))
9150
21f5b9a9
JS
9151(define-public ghc-process-extras
9152 (package
9153 (name "ghc-process-extras")
9154 (version "0.7.4")
9155 (source
9156 (origin
9157 (method url-fetch)
9158 (uri
9159 (string-append
9160 "https://hackage.haskell.org/package/process-extras/"
9161 "process-extras-" version ".tar.gz"))
9162 (sha256
9163 (base32
9164 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9165 (build-system haskell-build-system)
9166 (inputs
9167 `(("ghc-data-default" ,ghc-data-default)
9168 ("ghc-generic-deriving" ,ghc-generic-deriving)
9169 ("ghc-hunit" ,ghc-hunit)
9170 ("ghc-listlike" ,ghc-listlike)))
9171 (home-page "https://github.com/seereason/process-extras")
9172 (synopsis "Extra tools for managing processes")
f74b6983 9173 (description "This package extends
21f5b9a9
JS
9174@url{http://hackage.haskell.org/package/process}. It allows you to read
9175process input and output as ByteStrings or Text, or write your own
9176ProcessOutput instance. It also provides lazy process input and output,
9177and a ProcessMaker class for more flexibility in the process creation
9178API.")
9179 (license license:expat)))
9180
dddbc90c
RV
9181(define-public ghc-profunctors
9182 (package
9183 (name "ghc-profunctors")
899b5297 9184 (version "5.3")
dddbc90c
RV
9185 (source
9186 (origin
9187 (method url-fetch)
9188 (uri (string-append
9189 "https://hackage.haskell.org/package/profunctors/profunctors-"
9190 version
9191 ".tar.gz"))
9192 (sha256
9193 (base32
899b5297 9194 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9195 (build-system haskell-build-system)
dddbc90c
RV
9196 (inputs
9197 `(("ghc-base-orphans" ,ghc-base-orphans)
9198 ("ghc-bifunctors" ,ghc-bifunctors)
9199 ("ghc-comonad" ,ghc-comonad)
9200 ("ghc-contravariant" ,ghc-contravariant)
9201 ("ghc-distributive" ,ghc-distributive)
9202 ("ghc-semigroups" ,ghc-semigroups)
9203 ("ghc-tagged" ,ghc-tagged)))
9204 (home-page "https://github.com/ekmett/profunctors/")
9205 (synopsis "Profunctors for Haskell")
9206 (description "This library provides profunctors for Haskell.")
9207 (license license:bsd-3)))
9208
fbe32d46
ASM
9209(define-public ghc-project-template
9210 (package
9211 (name "ghc-project-template")
9212 (version "0.2.0.1")
9213 (source
9214 (origin
9215 (method url-fetch)
9216 (uri (string-append
9217 "https://hackage.haskell.org/package/project-template/project-template-"
9218 version ".tar.gz"))
9219 (sha256
9220 (base32
9221 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9222 (build-system haskell-build-system)
9223 (inputs
9224 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9225 ("ghc-conduit" ,ghc-conduit)
9226 ("ghc-conduit-extra" ,ghc-conduit-extra)
9227 ("ghc-resourcet" ,ghc-resourcet)))
9228 (native-inputs
9229 `(("ghc-hspec" ,ghc-hspec)
9230 ("hspec-discover" ,hspec-discover)
9231 ("ghc-quickcheck" ,ghc-quickcheck)))
9232 (arguments
9233 `(#:cabal-revision
9234 ("1"
9235 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9236 (home-page "https://github.com/fpco/haskell-ide")
9237 (synopsis "Specify Haskell project templates and generate files")
9238 (description
9239 "Haskell library for both generating and consuming project templates.
9240
9241ost IDEs provide the concept of a project template: instead of writing all
9242of the code for a project from scratch, you select a template, answer a few
9243questions, and a bunch of files are automatically generated.
9244
9245project-template tries to provide a canonical Haskell library for implementing
9246the ideal templating system.")
9247 (license license:bsd-3)))
9248
dddbc90c
RV
9249(define-public ghc-psqueues
9250 (package
9251 (name "ghc-psqueues")
5d133942 9252 (version "0.2.7.2")
dddbc90c
RV
9253 (source
9254 (origin
9255 (method url-fetch)
9256 (uri (string-append "https://hackage.haskell.org/package/"
9257 "psqueues-" version "/"
9258 "psqueues-" version ".tar.gz"))
9259 (sha256
9260 (base32
5d133942 9261 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9262 (build-system haskell-build-system)
9263 (inputs
9264 `(("ghc-hashable" ,ghc-hashable)))
9265 (native-inputs
9266 `(("ghc-hunit" ,ghc-hunit)
9267 ("ghc-quickcheck" ,ghc-quickcheck)
9268 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9269 ("ghc-tasty" ,ghc-tasty)
9270 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9271 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9272 (home-page "https://github.com/jaspervdj/psqueues")
9273 (synopsis "Pure priority search queues")
9274 (description "The psqueues package provides
9275@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9276three different flavors:
9277
9278@itemize
9279@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9280fast insertion, deletion and lookup. This implementation is based on Ralf
9281Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9282Implementation Technique for Priority Search Queues}.
9283
9284Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9285PSQueue} library, although it is considerably faster and provides a slightly
9286different API.
9287
9288@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9289key type to @code{Int} and uses a
9290@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9291with an additional min-heap property.
9292
9293@item @code{HashPSQ k p v} is a fairly straightforward extension
9294of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9295@code{IntPSQ}. If there are any hash collisions, it uses an
9296@code{OrdPSQ} to resolve those. The performance of this implementation
9297is comparable to that of @code{IntPSQ}, but it is more widely
9298applicable since the keys are not restricted to @code{Int},
9299but rather to any @code{Hashable} datatype.
9300@end itemize
9301
9302Each of the three implementations provides the same API, so they can
9303be used interchangeably.
9304
9305Typical applications of Priority Search Queues include:
9306
9307@itemize
9308@item Caches, and more specifically LRU Caches;
9309@item Schedulers;
9310@item Pathfinding algorithms, such as Dijkstra's and A*.
9311@end itemize")
9312 (license license:bsd-3)))
b1dbc9f5
ASM
9313
9314(define-public ghc-pwstore-fast
9315 (package
9316 (name "ghc-pwstore-fast")
9317 (version "2.4.4")
9318 (source
9319 (origin
9320 (method url-fetch)
9321 (uri (string-append
9322 "https://hackage.haskell.org/package/pwstore-fast/"
9323 "pwstore-fast-" version ".tar.gz"))
9324 (sha256
9325 (base32
9326 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9327 (build-system haskell-build-system)
9328 (inputs
9329 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9330 ("ghc-cryptohash" ,ghc-cryptohash)
9331 ("ghc-random" ,ghc-random)
9332 ("ghc-byteable" ,ghc-byteable)))
9333 (home-page "https://github.com/PeterScott/pwstore")
9334 (synopsis "Secure password storage")
9335 (description
9336 "To store passwords securely, they should be salted, then hashed with
9337a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9338details. It uses the cryptohash package for speed; if you need a pure
9339Haskell library, pwstore-purehaskell has the exact same API, but uses only
9340pure Haskell. It is about 25 times slower than this package, but still quite
9341usable.")
9342 (license license:bsd-3)))
dddbc90c
RV
9343
9344(define-public ghc-random
9345 (package
9346 (name "ghc-random")
9347 (version "1.1")
9348 (outputs '("out" "doc"))
9349 (source
9350 (origin
9351 (method url-fetch)
9352 (uri (string-append
9353 "https://hackage.haskell.org/package/random/random-"
9354 version
9355 ".tar.gz"))
9356 (sha256
9357 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9358 (build-system haskell-build-system)
9359 (home-page "https://hackage.haskell.org/package/random")
9360 (synopsis "Random number library")
9361 (description "This package provides a basic random number generation
9362library, including the ability to split random number generators.")
9363 (license license:bsd-3)))
9364
9365(define-public ghc-raw-strings-qq
9366 (package
9367 (name "ghc-raw-strings-qq")
9368 (version "1.1")
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append "https://hackage.haskell.org/package/"
9373 "raw-strings-qq/raw-strings-qq-"
9374 version ".tar.gz"))
9375 (sha256
9376 (base32
9377 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9378 (build-system haskell-build-system)
9379 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9380 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9381 (synopsis "Raw string literals for Haskell")
9382 (description
9383 "This package provides a quasiquoter for raw string literals, i.e. string
9384literals that don't recognise the standard escape sequences. Basically, they
9385make your code more readable by freeing you from the responsibility to escape
9386backslashes. They are useful when working with regular expressions,
9387DOS/Windows paths and markup languages (such as XML).")
9388 (license license:bsd-3)))
9389
9390(define-public ghc-readable
9391 (package
9392 (name "ghc-readable")
9393 (version "0.3.1")
9394 (source
9395 (origin
9396 (method url-fetch)
9397 (uri (string-append "https://hackage.haskell.org/package/"
9398 "readable/readable-" version ".tar.gz"))
9399 (sha256
9400 (base32
9401 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9402 (build-system haskell-build-system)
9403 (home-page "https://github.com/mightybyte/readable")
9404 (synopsis "Type class for reading from Text and ByteString")
9405 (description "This package provides a @code{Readable} type class for
9406reading data types from @code{ByteString} and @code{Text}. It also
9407includes efficient implementations for common data types.")
9408 (license license:bsd-3)))
9409
9410(define-public ghc-rebase
9411 (package
9412 (name "ghc-rebase")
8d2ae3fe 9413 (version "1.3.1.1")
dddbc90c
RV
9414 (source
9415 (origin
9416 (method url-fetch)
9417 (uri (string-append "https://hackage.haskell.org/package/"
9418 "rebase-" version "/"
9419 "rebase-" version ".tar.gz"))
9420 (sha256
9421 (base32
8d2ae3fe 9422 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9423 (build-system haskell-build-system)
9424 (inputs `(("ghc-hashable" ,ghc-hashable)
9425 ("ghc-vector" ,ghc-vector)
9426 ("ghc-unordered-containers" ,ghc-unordered-containers)
9427 ("ghc-scientific" ,ghc-scientific)
9428 ("ghc-uuid" ,ghc-uuid)
9429 ("ghc-dlist" ,ghc-dlist)
9430 ("ghc-void" ,ghc-void)
9431 ("ghc-bifunctors" ,ghc-bifunctors)
9432 ("ghc-profunctors" ,ghc-profunctors)
9433 ("ghc-contravariant" ,ghc-contravariant)
9434 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9435 ("ghc-semigroups" ,ghc-semigroups)
9436 ("ghc-either" ,ghc-either)
9437 ("ghc-fail" ,ghc-fail)
9438 ("ghc-base-prelude" ,ghc-base-prelude)))
9439 (home-page "https://github.com/nikita-volkov/rebase")
9440 (synopsis "Progressive alternative to the base package
9441for Haskell")
9442 (description "This Haskell package is intended for those who are
9443tired of keeping long lists of dependencies to the same essential libraries
9444in each package as well as the endless imports of the same APIs all over again.
9445
9446It also supports the modern tendencies in the language.
9447
9448To solve those problems this package does the following:
9449
9450@itemize
9451@item Reexport the original APIs under the @code{Rebase} namespace.
9452
9453@item Export all the possible non-conflicting symbols from the
9454@code{Rebase.Prelude} module.
9455
9456@item Give priority to the modern practices in the conflicting cases.
9457@end itemize
9458
9459The policy behind the package is only to reexport the non-ambiguous and
9460non-controversial APIs, which the community has obviously settled on.
9461The package is intended to rapidly evolve with the contribution from
9462the community, with the missing features being added with pull-requests.")
9463 (license license:expat)))
9464
9465(define-public ghc-reducers
9466 (package
9467 (name "ghc-reducers")
9468 (version "3.12.3")
9469 (source
9470 (origin
9471 (method url-fetch)
9472 (uri (string-append
9473 "https://hackage.haskell.org/package/reducers/reducers-"
9474 version
9475 ".tar.gz"))
9476 (sha256
9477 (base32
9478 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9479 (build-system haskell-build-system)
9480 (inputs
9481 `(("ghc-fingertree" ,ghc-fingertree)
9482 ("ghc-hashable" ,ghc-hashable)
9483 ("ghc-unordered-containers" ,ghc-unordered-containers)
9484 ("ghc-semigroupoids" ,ghc-semigroupoids)
9485 ("ghc-semigroups" ,ghc-semigroups)))
9486 (home-page "https://github.com/ekmett/reducers/")
9487 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9488 (description "This library provides various semigroups, specialized
9489containers and a general map/reduce framework for Haskell.")
9490 (license license:bsd-3)))
9491
9492(define-public ghc-refact
9493 (package
9494 (name "ghc-refact")
9495 (version "0.3.0.2")
9496 (source
9497 (origin
9498 (method url-fetch)
9499 (uri (string-append "https://hackage.haskell.org/package/"
9500 "refact/refact-"
9501 version ".tar.gz"))
9502 (sha256
9503 (base32
9504 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9505 (build-system haskell-build-system)
3ef91e15 9506 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
9507 (synopsis "Specify refactorings to perform with apply-refact")
9508 (description
9509 "This library provides a datatype which can be interpreted by
9510@code{apply-refact}. It exists as a separate library so that applications can
9511specify refactorings without depending on GHC.")
9512 (license license:bsd-3)))
9513
9514(define-public ghc-reflection
9515 (package
9516 (name "ghc-reflection")
d215f1cc 9517 (version "2.1.5")
dddbc90c
RV
9518 (source
9519 (origin
9520 (method url-fetch)
9521 (uri (string-append
9522 "https://hackage.haskell.org/package/reflection/reflection-"
9523 version
9524 ".tar.gz"))
9525 (sha256
9526 (base32
d215f1cc 9527 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9528 (build-system haskell-build-system)
9529 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9530 (native-inputs
9531 `(("ghc-hspec" ,ghc-hspec)
9532 ("ghc-quickcheck" ,ghc-quickcheck)
9533 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9534 (home-page "https://github.com/ekmett/reflection")
9535 (synopsis "Reify arbitrary terms into types that can be reflected back
9536into terms")
9537 (description "This package addresses the 'configuration problem' which is
9538propagating configurations that are available at run-time, allowing multiple
9539configurations to coexist without resorting to mutable global variables or
9540@code{System.IO.Unsafe.unsafePerformIO}.")
9541 (license license:bsd-3)))
9542
9543(define-public ghc-regex
9544 (package
9545 (name "ghc-regex")
b9a5e634 9546 (version "1.0.2.0")
dddbc90c
RV
9547 (source
9548 (origin
9549 (method url-fetch)
9550 (uri (string-append "https://hackage.haskell.org/package/regex/"
9551 "regex-" version ".tar.gz"))
9552 (sha256
9553 (base32
b9a5e634 9554 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9555 (build-system haskell-build-system)
9556 (arguments
9557 `(#:phases
9558 (modify-phases %standard-phases
9559 (add-after 'unpack 'relax-dependencies
9560 (lambda _
9561 (substitute* "regex.cabal"
9562 (("base-compat.*>=.*0.6.*")
9563 "base-compat >= 0.6\n")
9564 (("template-haskell.*>=.*2.7.*")
9565 "template-haskell >= 2.7\n"))
9566 #t)))))
9567 (inputs
9568 `(("ghc-base-compat" ,ghc-base-compat)
9569 ("ghc-hashable" ,ghc-hashable)
9570 ("ghc-regex-base" ,ghc-regex-base)
9571 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9572 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9573 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9574 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9575 ("ghc-unordered-containers" ,ghc-unordered-containers)
9576 ("ghc-utf8-string" ,ghc-utf8-string)))
9577 (home-page "http://regex.uk")
9578 (synopsis "Toolkit for regex-base")
9579 (description
9580 "This package provides a regular expression toolkit for @code{regex-base}
9581with compile-time checking of regular expression syntax, data types for
9582matches and captures, a text replacement toolkit, portable options, high-level
9583AWK-like tools for building text processing apps, regular expression macros
9584with parsers and test bench, comprehensive documentation, tutorials and
9585copious examples.")
9586 (license license:bsd-3)))
9587
9588(define-public ghc-regex-applicative
9589 (package
9590 (name "ghc-regex-applicative")
30f60e42 9591 (version "0.3.3.1")
dddbc90c
RV
9592 (source
9593 (origin
9594 (method url-fetch)
9595 (uri (string-append
9596 "https://hackage.haskell.org/package/regex-applicative/"
9597 "regex-applicative-" version ".tar.gz"))
9598 (sha256
9599 (base32
30f60e42 9600 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9601 (build-system haskell-build-system)
9602 (inputs
9603 `(("ghc-smallcheck" ,ghc-smallcheck)
9604 ("ghc-tasty" ,ghc-tasty)
9605 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9606 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9607 (home-page "https://github.com/feuerbach/regex-applicative")
9608 (synopsis "Regex-based parsing with applicative interface")
9609 (description
9610 "@code{regex-applicative} is a Haskell library for parsing using
9611regular expressions. Parsers can be built using Applicative interface.")
9612 (license license:expat)))
9613
9614(define-public ghc-regex-base
9615 (package
9616 (name "ghc-regex-base")
9617 (version "0.93.2")
9618 (source
9619 (origin
9620 (method url-fetch)
9621 (uri (string-append
9622 "https://hackage.haskell.org/package/regex-base/regex-base-"
9623 version
9624 ".tar.gz"))
9625 (sha256
9626 (base32
9627 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9628 (build-system haskell-build-system)
9629 (home-page
9630 "https://sourceforge.net/projects/lazy-regex")
9631 (synopsis "Replaces/Enhances Text.Regex")
9632 (description "@code{Text.Regex.Base} provides the interface API for
9633regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9634 (license license:bsd-3)))
9635
9636(define-public ghc-regex-compat
9637 (package
9638 (name "ghc-regex-compat")
9639 (version "0.95.1")
9640 (source
9641 (origin
9642 (method url-fetch)
9643 (uri (string-append
9644 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9645 version
9646 ".tar.gz"))
9647 (sha256
9648 (base32
9649 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9650 (build-system haskell-build-system)
9651 (inputs
9652 `(("ghc-regex-base" ,ghc-regex-base)
9653 ("ghc-regex-posix" ,ghc-regex-posix)))
9654 (home-page "https://sourceforge.net/projects/lazy-regex")
9655 (synopsis "Replaces/Enhances Text.Regex")
9656 (description "This library provides one module layer over
9657@code{regex-posix} to replace @code{Text.Regex}.")
9658 (license license:bsd-3)))
9659
9660(define-public ghc-regex-compat-tdfa
9661 (package
9662 (name "ghc-regex-compat-tdfa")
9663 (version "0.95.1.4")
9664 (source
9665 (origin
9666 (method url-fetch)
9667 (uri (string-append
9668 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9669 version ".tar.gz"))
9670 (sha256
9671 (base32
9672 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9673 (build-system haskell-build-system)
9674 (inputs
9675 `(("ghc-regex-base" ,ghc-regex-base)
9676 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9677 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9678 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9679 (description
9680 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9681@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9682This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9683this problem.")
9684 (license license:bsd-3)))
9685
9686(define-public ghc-regex-pcre-builtin
9687 (package
9688 (name "ghc-regex-pcre-builtin")
ee946143 9689 (version "0.94.5.8.8.35")
dddbc90c
RV
9690 (source (origin
9691 (method url-fetch)
9692 (uri (string-append "https://hackage.haskell.org/package/"
9693 "regex-pcre-builtin/regex-pcre-builtin-"
9694 version ".tar.gz"))
9695 (sha256
9696 (base32
ee946143 9697 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9698 (build-system haskell-build-system)
9699 (inputs
9700 `(("ghc-regex-base" ,ghc-regex-base)))
9701 (home-page "https://hackage.haskell.org/package/regex-pcre")
9702 (synopsis "Enhancement of the builtin Text.Regex library")
9703 (description
9704 "This package is an enhancement of the @code{Text.Regex} library,
9705providing the PCRE backend to accompany regex-base, with bundled code from
9706@url{https://www.pcre.org}.")
9707 (license license:bsd-3)))
9708
9709(define-public ghc-regex-posix
9710 (package
9711 (name "ghc-regex-posix")
9712 (version "0.95.2")
9713 (source
9714 (origin
9715 (method url-fetch)
9716 (uri (string-append
9717 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9718 version
9719 ".tar.gz"))
9720 (sha256
9721 (base32
9722 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9723 (build-system haskell-build-system)
9724 (inputs
9725 `(("ghc-regex-base" ,ghc-regex-base)))
9726 (home-page "https://sourceforge.net/projects/lazy-regex")
9727 (synopsis "POSIX regular expressions for Haskell")
9728 (description "This library provides the POSIX regex backend used by the
9729Haskell library @code{regex-base}.")
9730 (license license:bsd-3)))
9731
9732(define-public ghc-regex-tdfa
9733 (package
9734 (name "ghc-regex-tdfa")
ce684db0 9735 (version "1.2.3.2")
dddbc90c
RV
9736 (source
9737 (origin
9738 (method url-fetch)
9739 (uri (string-append
9740 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9741 version ".tar.gz"))
9742 (sha256
9743 (base32
ce684db0 9744 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9745 (build-system haskell-build-system)
9746 (inputs
9747 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 9748 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
9749 (synopsis "POSIX extended regular expressions in Haskell.")
9750 (description
9751 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9752extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9753inspired by libtre.")
9754 (license license:bsd-3)))
9755
9756(define-public ghc-regex-tdfa-text
9757 (package
9758 (name "ghc-regex-tdfa-text")
9759 (version "1.0.0.3")
9760 (source
9761 (origin
9762 (method url-fetch)
9763 (uri (string-append
9764 "https://hackage.haskell.org/package/regex-tdfa-text/"
9765 "regex-tdfa-text-" version ".tar.gz"))
9766 (sha256
9767 (base32
9768 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9769 (build-system haskell-build-system)
9770 (inputs
9771 `(("ghc-regex-base" ,ghc-regex-base)
9772 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9773 (home-page
3ef91e15 9774 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
9775 (synopsis "Text interface for regex-tdfa")
9776 (description
9777 "This provides an extra text interface for regex-tdfa.")
9778 (license license:bsd-3)))
9779
9780(define-public ghc-rerebase
9781 (package
9782 (name "ghc-rerebase")
cdec7b8c 9783 (version "1.3.1.1")
dddbc90c
RV
9784 (source
9785 (origin
9786 (method url-fetch)
9787 (uri (string-append
9788 "https://hackage.haskell.org/package/rerebase/rerebase-"
9789 version ".tar.gz"))
9790 (sha256
9791 (base32
cdec7b8c 9792 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9793 (build-system haskell-build-system)
9794 (inputs
9795 `(("ghc-rebase" ,ghc-rebase)))
9796 (home-page "https://github.com/nikita-volkov/rerebase")
9797 (synopsis "Reexports from ``base'' with many other standard libraries")
9798 (description "A rich drop-in replacement for @code{base}. For details and
9799documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9800the project's home page}.")
9801 (license license:expat)))
9802
9803(define-public ghc-resolv
9804 (package
9805 (name "ghc-resolv")
87309478 9806 (version "0.1.1.2")
dddbc90c
RV
9807 (source
9808 (origin
9809 (method url-fetch)
9810 (uri (string-append
9811 "https://hackage.haskell.org/package/resolv/resolv-"
9812 version ".tar.gz"))
9813 (sha256
9814 (base32
87309478 9815 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9816 (build-system haskell-build-system)
9817 (arguments
87309478
TS
9818 `(#:phases
9819 (modify-phases %standard-phases
9820 (add-before 'configure 'update-constraints
9821 (lambda _
9822 (substitute* "resolv.cabal"
9823 (("tasty >= 1\\.1 && < 1\\.2")
9824 "tasty >= 1.1 && < 1.3"))
9825 #t)))))
dddbc90c
RV
9826 (inputs
9827 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9828 (native-inputs
9829 `(("ghc-tasty" ,ghc-tasty)
9830 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9831 (home-page "https://github.com/haskell/hackage-security")
9832 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9833 (description "This package implements an API for accessing the
9834@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9835resolver service via the standard @code{libresolv} system library (whose
9836API is often available directly via the standard @code{libc} C library) on
9837Unix systems.")
9838 (license license:gpl3)))
9839
9840(define-public ghc-resource-pool
9841 (package
9842 (name "ghc-resource-pool")
9843 (version "0.2.3.2")
9844 (source
9845 (origin
9846 (method url-fetch)
9847 (uri (string-append "https://hackage.haskell.org/package/"
9848 "resource-pool-" version "/"
9849 "resource-pool-" version ".tar.gz"))
9850 (sha256
9851 (base32
9852 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9853 (build-system haskell-build-system)
9854 (inputs `(("ghc-hashable" ,ghc-hashable)
9855 ("ghc-monad-control" ,ghc-monad-control)
9856 ("ghc-transformers-base" ,ghc-transformers-base)
9857 ("ghc-vector" ,ghc-vector)))
9858 (home-page "https://github.com/bos/pool")
9859 (synopsis "Striped resource pooling implementation in Haskell")
9860 (description "This Haskell package provides striped pooling abstraction
9861for managing flexibly-sized collections of resources such as database
9862connections.")
9863 (license license:bsd-3)))
9864
9865(define-public ghc-resourcet
9866 (package
9867 (name "ghc-resourcet")
9ac341ac 9868 (version "1.2.2")
dddbc90c
RV
9869 (source
9870 (origin
9871 (method url-fetch)
9872 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9873 "resourcet-" version ".tar.gz"))
9874 (sha256
9875 (base32
9ac341ac 9876 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9877 (build-system haskell-build-system)
9878 (inputs
9879 `(("ghc-transformers-base" ,ghc-transformers-base)
9880 ("ghc-monad-control" ,ghc-monad-control)
9881 ("ghc-transformers-compat" ,ghc-transformers-compat)
9882 ("ghc-mmorph" ,ghc-mmorph)
9883 ("ghc-exceptions" ,ghc-exceptions)
9884 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9885 (native-inputs
9886 `(("ghc-lifted-base" ,ghc-lifted-base)
9887 ("ghc-hspec" ,ghc-hspec)))
9888 (home-page "https://github.com/snoyberg/conduit")
9889 (synopsis "Deterministic allocation and freeing of scarce resources")
9890 (description "ResourceT is a monad transformer which creates a region of
9891code where you can safely allocate resources.")
9892 (license license:bsd-3)))
9893
b9debc37
TS
9894(define-public ghc-retry
9895 (package
9896 (name "ghc-retry")
9897 (version "0.8.1.0")
9898 (source
9899 (origin
9900 (method url-fetch)
9901 (uri (string-append "https://hackage.haskell.org/package/"
9902 "retry/retry-" version ".tar.gz"))
9903 (sha256
9904 (base32
9905 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9906 (build-system haskell-build-system)
9907 (inputs
9908 `(("ghc-exceptions" ,ghc-exceptions)
9909 ("ghc-random" ,ghc-random)))
9910 (native-inputs
9911 `(("ghc-hunit" ,ghc-hunit)
9912 ("ghc-tasty" ,ghc-tasty)
9913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9914 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9915 ("ghc-hedgehog" ,ghc-hedgehog)))
9916 (home-page "http://github.com/Soostone/retry")
9917 (synopsis "Retry combinators for monadic actions that may fail")
9918 (description "This package exposes combinators that can wrap
9919arbitrary monadic actions. They run the action and potentially retry
9920running it with some configurable delay for a configurable number of
9921times. The purpose is to make it easier to work with IO and especially
9922network IO actions that often experience temporary failure and warrant
9923retrying of the original action. For example, a database query may time
9924out for a while, in which case we should hang back for a bit and retry
9925the query instead of simply raising an exception.")
9926 (license license:bsd-3)))
9927
dddbc90c
RV
9928(define-public ghc-rfc5051
9929 (package
9930 (name "ghc-rfc5051")
ec42ab7c 9931 (version "0.1.0.4")
dddbc90c
RV
9932 (source
9933 (origin
9934 (method url-fetch)
9935 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9936 "rfc5051-" version ".tar.gz"))
9937 (sha256
9938 (base32
ec42ab7c 9939 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9940 (build-system haskell-build-system)
9941 (home-page "https://hackage.haskell.org/package/rfc5051")
9942 (synopsis "Simple unicode collation as per RFC5051")
9943 (description
9944 "This library implements @code{unicode-casemap}, the simple, non
9945locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9946unicode collation can be done using @code{text-icu}, but that is a big
9947dependency that depends on a large C library, and @code{rfc5051} might be
9948better for some purposes.")
9949 (license license:bsd-3)))
9950
9951(define-public ghc-rio
9952 (package
9953 (name "ghc-rio")
8bda2fa7 9954 (version "0.1.12.0")
dddbc90c
RV
9955 (source
9956 (origin
9957 (method url-fetch)
9958 (uri (string-append
9959 "https://hackage.haskell.org/package/rio/rio-"
9960 version ".tar.gz"))
9961 (sha256
9962 (base32
8bda2fa7 9963 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9964 (build-system haskell-build-system)
9965 (inputs
9966 `(("ghc-exceptions" ,ghc-exceptions)
9967 ("ghc-hashable" ,ghc-hashable)
9968 ("ghc-microlens" ,ghc-microlens)
9969 ("ghc-primitive" ,ghc-primitive)
9970 ("ghc-typed-process" ,ghc-typed-process)
9971 ("ghc-unliftio" ,ghc-unliftio)
9972 ("ghc-unordered-containers" ,ghc-unordered-containers)
9973 ("ghc-vector" ,ghc-vector)))
9974 (native-inputs
9975 `(("ghc-hspec" ,ghc-hspec)
9976 ("hspec-discover" ,hspec-discover)))
9977 (home-page "https://github.com/commercialhaskell/rio#readme")
9978 (synopsis "A standard library for Haskell")
9979 (description "This package works as a prelude replacement for Haskell,
9980providing more functionality and types out of the box than the standard
9981prelude (such as common data types like @code{ByteString} and
9982@code{Text}), as well as removing common ``gotchas'', like partial
9983functions and lazy I/O. The guiding principle here is:
9984@itemize
9985@item If something is safe to use in general and has no expected naming
9986conflicts, expose it.
9987@item If something should not always be used, or has naming conflicts,
9988expose it from another module in the hierarchy.
9989@end itemize")
9990 (license license:expat)))
9991
9992(define-public ghc-safe
9993 (package
9994 (name "ghc-safe")
9995 (version "0.3.17")
9996 (source
9997 (origin
9998 (method url-fetch)
9999 (uri (string-append
10000 "https://hackage.haskell.org/package/safe/safe-"
10001 version
10002 ".tar.gz"))
10003 (sha256
10004 (base32
10005 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10006 (build-system haskell-build-system)
10007 (native-inputs
10008 `(("ghc-quickcheck" ,ghc-quickcheck)))
10009 (home-page "https://github.com/ndmitchell/safe#readme")
10010 (synopsis "Library of safe (exception free) functions")
10011 (description "This library provides wrappers around @code{Prelude} and
10012@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10013exceptions.")
10014 (license license:bsd-3)))
10015
10016(define-public ghc-safe-exceptions
10017 (package
10018 (name "ghc-safe-exceptions")
10019 (version "0.1.7.0")
10020 (source
10021 (origin
10022 (method url-fetch)
10023 (uri (string-append "https://hackage.haskell.org/package/"
10024 "safe-exceptions/safe-exceptions-"
10025 version ".tar.gz"))
10026 (sha256
10027 (base32
10028 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10029 (build-system haskell-build-system)
10030 (arguments
10031 '(#:cabal-revision
10032 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10033 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10034 (native-inputs
10035 `(("ghc-hspec" ,ghc-hspec)
10036 ("ghc-void" ,ghc-void)
10037 ("hspec-discover" ,hspec-discover)))
10038 (home-page "https://github.com/fpco/safe-exceptions")
10039 (synopsis "Safe, consistent, and easy exception handling")
10040 (description "Runtime exceptions - as exposed in @code{base} by the
10041@code{Control.Exception} module - have long been an intimidating part of the
10042Haskell ecosystem. This package is intended to overcome this. It provides a
10043safe and simple API on top of the existing exception handling machinery. The
10044API is equivalent to the underlying implementation in terms of power but
10045encourages best practices to minimize the chances of getting the exception
10046handling wrong.")
10047 (license license:expat)))
10048
10049(define-public ghc-safeio
10050 (package
10051 (name "ghc-safeio")
10052 (version "0.0.5.0")
10053 (source
10054 (origin
10055 (method url-fetch)
10056 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10057 "safeio-" version ".tar.gz"))
10058 (sha256
10059 (base32
10060 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10061 (build-system haskell-build-system)
10062 (inputs
10063 `(("ghc-conduit" ,ghc-conduit)
10064 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10065 ("ghc-exceptions" ,ghc-exceptions)
10066 ("ghc-resourcet" ,ghc-resourcet)))
10067 (native-inputs
10068 `(("ghc-hunit" ,ghc-hunit)
10069 ("ghc-test-framework" ,ghc-test-framework)
10070 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10071 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10072 (home-page "https://github.com/luispedro/safeio")
10073 (synopsis "Write output to disk atomically")
10074 (description
10075 "This package implements utilities to perform atomic output so as to
10076avoid the problem of partial intermediate files.")
10077 (license license:expat)))
10078
10079(define-public ghc-safesemaphore
10080 (package
10081 (name "ghc-safesemaphore")
10082 (version "0.10.1")
10083 (source
10084 (origin
10085 (method url-fetch)
10086 (uri (string-append "https://hackage.haskell.org/package/"
10087 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10088 (sha256
10089 (base32
10090 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10091 (build-system haskell-build-system)
10092 (native-inputs
10093 `(("ghc-hunit" ,ghc-hunit)))
10094 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10095 (synopsis "Exception safe semaphores")
10096 (description "This library provides exception safe semaphores that can be
10097used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10098are not exception safe and can be broken by @code{killThread}.")
10099 (license license:bsd-3)))
10100
10101(define-public ghc-sandi
10102 (package
10103 (name "ghc-sandi")
b867c2b0 10104 (version "0.5")
dddbc90c
RV
10105 (source
10106 (origin
10107 (method url-fetch)
10108 (uri (string-append
10109 "https://hackage.haskell.org/package/sandi/sandi-"
10110 version ".tar.gz"))
10111 (sha256
10112 (base32
b867c2b0 10113 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10114 (build-system haskell-build-system)
10115 (inputs
10116 `(("ghc-stringsearch" ,ghc-stringsearch)
10117 ("ghc-conduit" ,ghc-conduit)
10118 ("ghc-exceptions" ,ghc-exceptions)
10119 ("ghc-hunit" ,ghc-hunit)
10120 ("ghc-tasty" ,ghc-tasty)
10121 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10122 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10123 ("ghc-tasty-th" ,ghc-tasty-th)))
10124 (home-page "https://hackage.haskell.org/package/sandi")
10125 (synopsis "Data encoding library")
10126 (description "Reasonably fast data encoding library.")
10127 (license license:bsd-3)))
10128
4da75228
ASM
10129(define-public ghc-say
10130 (package
10131 (name "ghc-say")
10132 (version "0.1.0.1")
10133 (source
10134 (origin
10135 (method url-fetch)
10136 (uri (string-append
10137 "https://hackage.haskell.org/package/say/say-"
10138 version
10139 ".tar.gz"))
10140 (sha256
10141 (base32
10142 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10143 (build-system haskell-build-system)
10144 (native-inputs
10145 `(("ghc-hspec" ,ghc-hspec)
10146 ("hspec-discover" ,hspec-discover)
10147 ("ghc-unliftio" ,ghc-unliftio)))
10148 (home-page "https://github.com/fpco/say")
10149 (synopsis
10150 "Send textual messages to a Handle in a thread-friendly way")
10151 (description
10152 "A thread safe API to write a line of textual data to a Handle, such
10153as sending some messages to the terminal - that has the following properties:
10154@itemize
10155@item Properly handle character encoding settings on the Handle
10156@item For reasonably sized messages, ensure that the entire message is written
10157 in one chunk to avoid interleaving data with other threads
10158@item Avoid unnecessary memory allocations and copies
10159@item Minimize locking.
10160@end itemize")
10161 (license license:expat)))
10162
dddbc90c
RV
10163(define-public ghc-scientific
10164 (package
10165 (name "ghc-scientific")
10166 (version "0.3.6.2")
10167 (source
10168 (origin
10169 (method url-fetch)
10170 (uri (string-append
10171 "https://hackage.haskell.org/package/scientific/scientific-"
10172 version
10173 ".tar.gz"))
10174 (sha256
10175 (base32
10176 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10177 (build-system haskell-build-system)
10178 (inputs
10179 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10180 ("ghc-hashable" ,ghc-hashable)
10181 ("ghc-primitive" ,ghc-primitive)))
10182 (native-inputs
10183 `(("ghc-tasty" ,ghc-tasty)
10184 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10185 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10186 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10187 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10188 ("ghc-smallcheck" ,ghc-smallcheck)
10189 ("ghc-quickcheck" ,ghc-quickcheck)))
10190 (home-page "https://github.com/basvandijk/scientific")
10191 (synopsis "Numbers represented using scientific notation")
10192 (description "This package provides @code{Data.Scientific}, which provides
10193the number type @code{Scientific}. Scientific numbers are arbitrary precision
10194and space efficient. They are represented using
10195@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10196notation}.")
10197 (license license:bsd-3)))
10198
10199(define-public ghc-scientific-bootstrap
10200 (package
10201 (inherit ghc-scientific)
10202 (name "ghc-scientific-bootstrap")
10203 (arguments `(#:tests? #f))
10204 (inputs
10205 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10206 ("ghc-hashable" ,ghc-hashable)
10207 ("ghc-primitive" ,ghc-primitive)))
10208 (native-inputs '())
799d8d3c 10209 (properties '((hidden? #t)))))
dddbc90c
RV
10210
10211(define-public ghc-sdl
10212 (package
10213 (name "ghc-sdl")
10214 (version "0.6.7.0")
10215 (source
10216 (origin
10217 (method url-fetch)
10218 (uri (string-append
10219 "https://hackage.haskell.org/package/SDL/SDL-"
10220 version
10221 ".tar.gz"))
10222 (sha256
10223 (base32
10224 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10225 (build-system haskell-build-system)
10226 (inputs
10227 `(("sdl" ,sdl)))
10228 (home-page "https://hackage.haskell.org/package/SDL")
10229 (synopsis "LibSDL for Haskell")
10230 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10231multimedia library designed to provide low level access to audio, keyboard,
10232mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10233by MPEG playback software, emulators, and many popular games, including the
10234award winning Linux port of \"Civilization: Call To Power.\"")
10235 (license license:bsd-3)))
10236
1874cdc1
RV
10237(define-public ghc-sdl2
10238 (package
10239 (name "ghc-sdl2")
145148ca 10240 (version "2.5.0.0")
1874cdc1
RV
10241 (source
10242 (origin
10243 (method url-fetch)
10244 (uri (string-append "https://hackage.haskell.org/package/"
10245 "sdl2/sdl2-" version ".tar.gz"))
10246 (sha256
10247 (base32
145148ca 10248 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10249 (build-system haskell-build-system)
10250 (arguments '(#:tests? #f)) ; tests require graphical environment
10251 (inputs
10252 `(("ghc-exceptions" ,ghc-exceptions)
10253 ("ghc-linear" ,ghc-linear)
10254 ("ghc-statevar" ,ghc-statevar)
10255 ("ghc-vector" ,ghc-vector)
10256 ("sdl2" ,sdl2)))
10257 (native-inputs
10258 `(("ghc-weigh" ,ghc-weigh)
10259 ("pkg-config" ,pkg-config)))
35437dbf 10260 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10261 (synopsis "High- and low-level bindings to the SDL library")
10262 (description
10263 "This package contains bindings to the SDL 2 library, in both high- and
10264low-level forms. The @code{SDL} namespace contains high-level bindings, where
10265enumerations are split into sum types, and we perform automatic
10266error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10267translation of the C API into Haskell FFI calls. As such, this does not
10268contain sum types nor error checking. Thus this namespace is suitable for
10269building your own abstraction over SDL, but is not recommended for day-to-day
10270programming.")
10271 (license license:bsd-3)))
10272
10273(define-public ghc-sdl2-image
10274 (package
10275 (name "ghc-sdl2-image")
10276 (version "2.0.0")
10277 (source
10278 (origin
10279 (method url-fetch)
10280 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10281 "sdl2-image-" version ".tar.gz"))
10282 (sha256
10283 (base32
10284 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10285 (build-system haskell-build-system)
10286 (inputs
10287 `(("ghc-sdl2" ,ghc-sdl2)
10288 ("sdl2-image" ,sdl2-image)))
10289 (native-inputs
10290 `(("pkg-config" ,pkg-config)))
3ef91e15 10291 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10292 (synopsis "Bindings to SDL2_image")
10293 (description "This package provides Haskell bindings to
10294@code{SDL2_image}.")
10295 (license license:expat)))
10296
10297(define-public ghc-sdl2-mixer
10298 (package
10299 (name "ghc-sdl2-mixer")
10300 (version "1.1.0")
10301 (source
10302 (origin
10303 (method url-fetch)
10304 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10305 "sdl2-mixer-" version ".tar.gz"))
10306 (sha256
10307 (base32
10308 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10309 (build-system haskell-build-system)
10310 (inputs
10311 `(("ghc-data-default-class" ,ghc-data-default-class)
10312 ("ghc-lifted-base" ,ghc-lifted-base)
10313 ("ghc-monad-control" ,ghc-monad-control)
10314 ("ghc-sdl2" ,ghc-sdl2)
10315 ("ghc-vector" ,ghc-vector)
10316 ("sdl2-mixer" ,sdl2-mixer)))
10317 (native-inputs
10318 `(("pkg-config" ,pkg-config)))
3ef91e15 10319 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10320 (synopsis "Bindings to SDL2 mixer")
10321 (description "This package provides Haskell bindings to
10322@code{SDL2_mixer}.")
10323 (license license:bsd-3)))
10324
dddbc90c
RV
10325(define-public ghc-sdl-image
10326 (package
10327 (name "ghc-sdl-image")
10328 (version "0.6.2.0")
10329 (source
10330 (origin
10331 (method url-fetch)
10332 (uri (string-append
10333 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10334 version
10335 ".tar.gz"))
10336 (sha256
10337 (base32
10338 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10339 (build-system haskell-build-system)
10340 (arguments
10341 `(#:configure-flags
10342 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10343 (sdl-image-include (string-append sdl-image "/include/SDL")))
10344 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10345 (inputs
10346 `(("ghc-sdl" ,ghc-sdl)
10347 ("sdl-image" ,sdl-image)))
10348 (home-page "https://hackage.haskell.org/package/SDL-image")
10349 (synopsis "Haskell bindings to libSDL_image")
10350 (description "SDL_image is an image file loading library. It loads images
10351as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10352PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10353 (license license:bsd-3)))
10354
10355(define-public ghc-sdl-mixer
10356 (package
10357 (name "ghc-sdl-mixer")
10358 (version "0.6.3.0")
10359 (source
10360 (origin
10361 (method url-fetch)
10362 (uri (string-append
10363 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10364 version
10365 ".tar.gz"))
10366 (sha256
10367 (base32
10368 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10369 (build-system haskell-build-system)
10370 (arguments
10371 `(#:configure-flags
10372 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10373 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10374 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10375 (inputs
10376 `(("ghc-sdl" ,ghc-sdl)
10377 ("sdl-mixer" ,sdl-mixer)))
10378 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10379 (synopsis "Haskell bindings to libSDL_mixer")
10380 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10381supports any number of simultaneously playing channels of 16 bit stereo audio,
10382plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10383MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10384 (license license:bsd-3)))
10385
10386(define-public ghc-securemem
10387 (package
10388 (name "ghc-securemem")
10389 (version "0.1.10")
10390 (source
10391 (origin
10392 (method url-fetch)
10393 (uri (string-append "https://hackage.haskell.org/package/"
10394 "securemem-" version "/"
10395 "securemem-" version ".tar.gz"))
10396 (sha256
10397 (base32
10398 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10399 (build-system haskell-build-system)
10400 (inputs `(("ghc-byteable" ,ghc-byteable)
10401 ("ghc-memory" ,ghc-memory)))
10402 (home-page "https://github.com/vincenthz/hs-securemem")
10403 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10404Haskell")
10405 (description "SecureMem is similar to ByteString, except that it provides
10406a memory chunk that will be auto-scrubbed after it run out of scope.")
10407 (license license:bsd-3)))
10408
10409(define-public ghc-semigroupoids
10410 (package
10411 (name "ghc-semigroupoids")
a8aaadf2 10412 (version "5.3.3")
dddbc90c
RV
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
a8aaadf2 10422 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10423 (build-system haskell-build-system)
dddbc90c
RV
10424 (inputs
10425 `(("ghc-base-orphans" ,ghc-base-orphans)
10426 ("ghc-transformers-compat" ,ghc-transformers-compat)
10427 ("ghc-bifunctors" ,ghc-bifunctors)
10428 ("ghc-comonad" ,ghc-comonad)
10429 ("ghc-contravariant" ,ghc-contravariant)
10430 ("ghc-distributive" ,ghc-distributive)
10431 ("ghc-hashable" ,ghc-hashable)
10432 ("ghc-semigroups" ,ghc-semigroups)
10433 ("ghc-tagged" ,ghc-tagged)
10434 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10435 (native-inputs
10436 `(("cabal-doctest" ,cabal-doctest)
10437 ("ghc-doctest" ,ghc-doctest)))
10438 (home-page "https://github.com/ekmett/semigroupoids")
10439 (synopsis "Semigroupoids operations for Haskell")
10440 (description "This library provides a wide array of (semi)groupoids and
10441operations for working with them. A @code{Semigroupoid} is a @code{Category}
10442without the requirement of identity arrows for every object in the category.
10443A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10444Finally, to work with these weaker structures it is beneficial to have
10445containers that can provide stronger guarantees about their contents, so
10446versions of @code{Traversable} and @code{Foldable} that can be folded with
10447just a @code{Semigroup} are added.")
10448 (license license:bsd-3)))
10449
10450(define-public ghc-semigroups
10451 (package
10452 (name "ghc-semigroups")
10453 (version "0.18.5")
10454 (source
10455 (origin
10456 (method url-fetch)
10457 (uri (string-append
10458 "https://hackage.haskell.org/package/semigroups/semigroups-"
10459 version
10460 ".tar.gz"))
10461 (sha256
10462 (base32
10463 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10464 (build-system haskell-build-system)
10465 (inputs
10466 `(("ghc-nats" ,ghc-nats)
10467 ("ghc-tagged" ,ghc-tagged)
10468 ("ghc-unordered-containers" ,ghc-unordered-containers)
10469 ("ghc-hashable" ,ghc-hashable)))
10470 (home-page "https://github.com/ekmett/semigroups/")
10471 (synopsis "Semigroup operations for Haskell")
10472 (description "This package provides semigroups for Haskell. In
10473mathematics, a semigroup is an algebraic structure consisting of a set
10474together with an associative binary operation. A semigroup generalizes a
10475monoid in that there might not exist an identity element. It
10476also (originally) generalized a group (a monoid with all inverses) to a type
10477where every element did not have to have an inverse, thus the name
10478semigroup.")
10479 (license license:bsd-3)))
10480
10481(define-public ghc-semigroups-bootstrap
10482 (package
10483 (inherit ghc-semigroups)
10484 (name "ghc-semigroups-bootstrap")
10485 (inputs
10486 `(("ghc-nats" ,ghc-nats-bootstrap)
10487 ("ghc-tagged" ,ghc-tagged)
10488 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10489 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10490 (properties '((hidden? #t)))))
dddbc90c
RV
10491
10492(define-public ghc-setenv
10493 (package
10494 (name "ghc-setenv")
10495 (version "0.1.1.3")
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append
10500 "https://hackage.haskell.org/package/setenv/setenv-"
10501 version
10502 ".tar.gz"))
10503 (sha256
10504 (base32
10505 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10506 (build-system haskell-build-system)
10507 (home-page "https://hackage.haskell.org/package/setenv")
10508 (synopsis "Library for setting environment variables")
10509 (description "This package provides a Haskell library for setting
10510environment variables.")
10511 (license license:expat)))
10512
10513(define-public ghc-setlocale
10514 (package
10515 (name "ghc-setlocale")
9d7cfc9b 10516 (version "1.0.0.9")
dddbc90c
RV
10517 (source (origin
10518 (method url-fetch)
10519 (uri (string-append
10520 "https://hackage.haskell.org/package/setlocale-"
10521 version "/setlocale-" version ".tar.gz"))
10522 (sha256
10523 (base32
9d7cfc9b 10524 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10525 (build-system haskell-build-system)
10526 (home-page "https://hackage.haskell.org/package/setlocale")
10527 (synopsis "Haskell bindings to setlocale")
10528 (description "This package provides Haskell bindings to the
10529@code{setlocale} C function.")
10530 (license license:bsd-3)))
10531
10532(define-public ghc-shakespeare
10533 (package
10534 (name "ghc-shakespeare")
f680955f 10535 (version "2.0.22")
dddbc90c
RV
10536 (source
10537 (origin
10538 (method url-fetch)
10539 (uri (string-append "https://hackage.haskell.org/package/"
10540 "shakespeare-" version "/"
10541 "shakespeare-" version ".tar.gz"))
10542 (sha256
10543 (base32
f680955f 10544 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10545 (build-system haskell-build-system)
10546 (inputs `(("ghc-aeson" ,ghc-aeson)
10547 ("ghc-blaze-markup" ,ghc-blaze-markup)
10548 ("ghc-blaze-html" ,ghc-blaze-html)
10549 ("ghc-exceptions" ,ghc-exceptions)
10550 ("ghc-vector" ,ghc-vector)
10551 ("ghc-unordered-containers" ,ghc-unordered-containers)
10552 ("ghc-scientific" ,ghc-scientific)))
10553 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10554 ("ghc-hunit" ,ghc-hunit)
10555 ("hspec-discover" ,hspec-discover)))
10556 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10557 (synopsis "Family of type-safe template languages for Haskell")
10558 (description "This Haskell package provides a family of type-safe
10559templates with simple variable interpolation. Shakespeare templates can
10560be used inline with a quasi-quoter or in an external file and it
10561interpolates variables according to the type being inserted.")
10562 (license license:expat)))
10563
10564(define-public ghc-shelly
10565 (package
10566 (name "ghc-shelly")
10567 (version "1.8.1")
10568 (source
10569 (origin
10570 (method url-fetch)
10571 (uri (string-append
10572 "https://hackage.haskell.org/package/shelly/shelly-"
10573 version ".tar.gz"))
10574 (sha256
10575 (base32
10576 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10577 (build-system haskell-build-system)
10578 (inputs
10579 `(("ghc-unix-compat" ,ghc-unix-compat)
10580 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10581 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10582 ("ghc-monad-control" ,ghc-monad-control)
10583 ("ghc-lifted-base" ,ghc-lifted-base)
10584 ("ghc-lifted-async" ,ghc-lifted-async)
10585 ("ghc-exceptions" ,ghc-exceptions)
10586 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10587 ("ghc-async" ,ghc-async)
10588 ("ghc-transformers-base" ,ghc-transformers-base)
10589 ("ghc-hunit" ,ghc-hunit)
10590 ("ghc-hspec" ,ghc-hspec)
10591 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10592 (home-page "https://github.com/yesodweb/Shelly.hs")
10593 (synopsis "Shell-like (systems) programming in Haskell")
10594 (description
10595 "Shelly provides convenient systems programming in Haskell, similar in
10596spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10597 (license license:bsd-3)))
10598
10599(define-public ghc-silently
10600 (package
10601 (name "ghc-silently")
544bb369 10602 (version "1.2.5.1")
dddbc90c
RV
10603 (source
10604 (origin
10605 (method url-fetch)
10606 (uri (string-append
10607 "https://hackage.haskell.org/package/silently/silently-"
10608 version
10609 ".tar.gz"))
10610 (sha256
10611 (base32
544bb369 10612 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10613 (build-system haskell-build-system)
10614 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10615 ;; (inputs
10616 ;; `(("ghc-temporary" ,ghc-temporary)))
10617 (home-page "https://github.com/hspec/silently")
10618 (synopsis "Prevent writing to stdout")
10619 (description "This package provides functions to prevent or capture
10620writing to stdout and other handles.")
10621 (license license:bsd-3)))
10622
10623(define-public ghc-simple-reflect
10624 (package
10625 (name "ghc-simple-reflect")
10626 (version "0.3.3")
10627 (source
10628 (origin
10629 (method url-fetch)
10630 (uri (string-append
10631 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10632 version
10633 ".tar.gz"))
10634 (sha256
10635 (base32
10636 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10637 (build-system haskell-build-system)
10638 (home-page
10639 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10640 (synopsis
10641 "Simple reflection of expressions containing variables")
10642 (description
10643 "This package allows simple reflection of expressions containing
10644variables. Reflection here means that a Haskell expression is turned into a
10645string. The primary aim of this package is teaching and understanding; there
10646are no options for manipulating the reflected expressions beyond showing
10647them.")
10648 (license license:bsd-3)))
10649
10650(define-public ghc-simple-sendfile
10651 (package
10652 (name "ghc-simple-sendfile")
08f54390 10653 (version "0.2.30")
dddbc90c
RV
10654 (source
10655 (origin
10656 (method url-fetch)
10657 (uri (string-append "https://hackage.haskell.org/package/"
10658 "simple-sendfile-" version "/"
10659 "simple-sendfile-" version ".tar.gz"))
10660 (sha256
10661 (base32
08f54390 10662 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10663 (build-system haskell-build-system)
10664 (inputs
10665 `(("ghc-conduit" ,ghc-conduit)
10666 ("ghc-conduit-extra" ,ghc-conduit-extra)
10667 ("ghc-network" ,ghc-network)
10668 ("ghc-resourcet" ,ghc-resourcet)))
10669 (native-inputs
10670 `(("ghc-hspec" ,ghc-hspec)
10671 ("hspec-discover" ,hspec-discover)))
10672 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10673 (synopsis "Cross platform library for the sendfile system call")
10674 (description "This library tries to call minimum system calls which
10675are the bottleneck of web servers.")
10676 (license license:bsd-3)))
10677
06966c05
TS
10678(define-public ghc-size-based
10679 (package
10680 (name "ghc-size-based")
10681 (version "0.1.2.0")
10682 (source
10683 (origin
10684 (method url-fetch)
10685 (uri (string-append "https://hackage.haskell.org/package/"
10686 "size-based/size-based-" version ".tar.gz"))
10687 (sha256
10688 (base32
10689 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10690 (build-system haskell-build-system)
10691 (inputs
10692 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10693 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10694 ("ghc-semigroups" ,ghc-semigroups)))
10695 (arguments
10696 `(#:cabal-revision
10697 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10698 (home-page "https://hackage.haskell.org/package/size-based")
10699 (synopsis "Sized functors for size-based enumerations")
10700 (description "This library provides a framework for size-based
10701enumerations.")
10702 (license license:bsd-3)))
10703
dddbc90c
RV
10704(define-public ghc-skylighting-core
10705 (package
10706 (name "ghc-skylighting-core")
1826c2a8 10707 (version "0.8.2.1")
dddbc90c
RV
10708 (source (origin
10709 (method url-fetch)
10710 (uri (string-append "https://hackage.haskell.org/package/"
10711 "skylighting-core/skylighting-core-"
10712 version ".tar.gz"))
10713 (sha256
10714 (base32
1826c2a8 10715 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10716 (build-system haskell-build-system)
10717 (inputs
10718 `(("ghc-aeson" ,ghc-aeson)
10719 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10720 ("ghc-attoparsec" ,ghc-attoparsec)
10721 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10722 ("ghc-blaze-html" ,ghc-blaze-html)
10723 ("ghc-case-insensitive" ,ghc-case-insensitive)
10724 ("ghc-colour" ,ghc-colour)
10725 ("ghc-hxt" ,ghc-hxt)
10726 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10727 ("ghc-safe" ,ghc-safe)
10728 ("ghc-utf8-string" ,ghc-utf8-string)))
10729 (native-inputs
10730 `(("ghc-diff" ,ghc-diff)
10731 ("ghc-hunit" ,ghc-hunit)
10732 ("ghc-pretty-show" ,ghc-pretty-show)
10733 ("ghc-quickcheck" ,ghc-quickcheck)
10734 ("ghc-tasty" ,ghc-tasty)
10735 ("ghc-tasty-golden" ,ghc-tasty-golden)
10736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10737 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10738 (home-page "https://github.com/jgm/skylighting")
10739 (synopsis "Syntax highlighting library")
10740 (description "Skylighting is a syntax highlighting library with support
10741for over one hundred languages. It derives its tokenizers from XML syntax
10742definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10743supported by that framework can be added. An optional command-line program is
10744provided. Skylighting is intended to be the successor to highlighting-kate.")
10745 (license license:gpl2)))
10746
10747(define-public ghc-skylighting
10748 (package
10749 (inherit ghc-skylighting-core)
10750 (name "ghc-skylighting")
36c940cf 10751 (version "0.8.2.1")
dddbc90c
RV
10752 (source (origin
10753 (method url-fetch)
10754 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10755 version "/skylighting-" version ".tar.gz"))
10756 (sha256
10757 (base32
36c940cf 10758 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10759 (inputs
10760 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10761 ,@(package-inputs ghc-skylighting-core)))))
10762
10763(define-public ghc-smallcheck
10764 (package
10765 (name "ghc-smallcheck")
10766 (version "1.1.5")
10767 (source
10768 (origin
10769 (method url-fetch)
10770 (uri (string-append
10771 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10772 version
10773 ".tar.gz"))
10774 (sha256
10775 (base32
10776 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10777 (build-system haskell-build-system)
10778 (inputs
10779 `(("ghc-logict" ,ghc-logict)))
10780 (home-page
10781 "https://github.com/feuerbach/smallcheck")
10782 (synopsis "Property-based testing library")
a84be333 10783 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
10784properties for all test cases up to some depth. The test cases are generated
10785automatically by SmallCheck.")
10786 (license license:bsd-3)))
10787
10788(define-public ghc-socks
10789 (package
10790 (name "ghc-socks")
ab761e9d 10791 (version "0.6.1")
dddbc90c
RV
10792 (source (origin
10793 (method url-fetch)
10794 (uri (string-append "https://hackage.haskell.org/package/"
10795 "socks/socks-" version ".tar.gz"))
10796 (sha256
10797 (base32
ab761e9d 10798 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10799 (build-system haskell-build-system)
10800 (inputs
10801 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10802 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10803 ("ghc-network" ,ghc-network)))
10804 (home-page "https://github.com/vincenthz/hs-socks")
10805 (synopsis "SOCKS proxy (version 5) implementation")
10806 (description
10807 "This library provides a SOCKS proxy (version 5) implementation.")
10808 (license license:bsd-3)))
10809
081d85d6
TS
10810(define-public ghc-sop-core
10811 (package
10812 (name "ghc-sop-core")
10813 (version "0.4.0.0")
10814 (source
10815 (origin
10816 (method url-fetch)
10817 (uri (string-append "https://hackage.haskell.org/package/"
10818 "sop-core/sop-core-" version ".tar.gz"))
10819 (sha256
10820 (base32
10821 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10822 (build-system haskell-build-system)
3ef91e15 10823 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
10824 (synopsis "True Sums of Products")
10825 (description "This package provides an implementation of
10826@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10827is the main module of this library and contains more detailed
10828documentation. The main use case of this package is to serve as the
10829core of @url{https://hackage.haskell.org/package/generics-sop,
10830generics-sop}.")
10831 (license license:bsd-3)))
10832
dddbc90c
RV
10833(define-public ghc-split
10834 (package
10835 (name "ghc-split")
10836 (version "0.2.3.3")
10837 (outputs '("out" "doc"))
10838 (source
10839 (origin
10840 (method url-fetch)
10841 (uri (string-append
10842 "https://hackage.haskell.org/package/split/split-"
10843 version
10844 ".tar.gz"))
10845 (sha256
10846 (base32
10847 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10848 (build-system haskell-build-system)
9bbc21a7
TS
10849 (arguments
10850 `(#:cabal-revision
10851 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10852 (native-inputs
10853 `(("ghc-quickcheck" ,ghc-quickcheck)))
10854 (home-page "https://hackage.haskell.org/package/split")
10855 (synopsis "Combinator library for splitting lists")
10856 (description "This package provides a collection of Haskell functions for
10857splitting lists into parts, akin to the @code{split} function found in several
10858mainstream languages.")
10859 (license license:bsd-3)))
10860
7799d17f 10861(define-public ghc-splitmix
49367c92 10862 (package
7799d17f 10863 (name "ghc-splitmix")
49367c92
TS
10864 (version "0.0.3")
10865 (source
10866 (origin
10867 (method url-fetch)
10868 (uri (string-append "https://hackage.haskell.org/package/"
10869 "splitmix/splitmix-" version ".tar.gz"))
10870 (sha256
10871 (base32
10872 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10873 (build-system haskell-build-system)
49367c92
TS
10874 (inputs
10875 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10876 (native-inputs
10877 `(("ghc-hunit" ,ghc-hunit)
10878 ("ghc-async" ,ghc-async)
10879 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10880 ("ghc-tf-random" ,ghc-tf-random)
10881 ("ghc-vector" ,ghc-vector)))
92a79fee 10882 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
10883 (synopsis "Fast and splittable pseudorandom number generator")
10884 (description "This package provides a Pure Haskell implementation of the
10885SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10886pseudorandom number generator that is quite fast: 9 64-bit
10887arithmetic/logical operations per 64 bits generated. SplitMix is tested
10888with two standard statistical test suites (DieHarder and TestU01, this
10889implementation only using the former) and it appears to be adequate for
10890\"everyday\" use, such as Monte Carlo algorithms and randomized data
10891structures where speed is important. In particular, it @strong{should not
10892be used for cryptographic or security applications}, because generated
10893sequences of pseudorandom values are too predictable (the mixing functions
10894are easily inverted, and two successive outputs suffice to reconstruct the
10895internal state).")
10896 (license license:bsd-3)))
10897
7799d17f
TS
10898(define-public ghc-splitmix-bootstrap
10899 (package
10900 (inherit ghc-splitmix)
10901 (name "ghc-splitmix-bootstrap")
10902 (arguments `(#:tests? #f))
10903 (native-inputs '())
10904 (properties '((hidden? #t)))))
10905
dddbc90c
RV
10906(define-public ghc-statevar
10907 (package
10908 (name "ghc-statevar")
19419709 10909 (version "1.2")
dddbc90c
RV
10910 (source
10911 (origin
10912 (method url-fetch)
10913 (uri (string-append
10914 "https://hackage.haskell.org/package/StateVar/StateVar-"
10915 version
10916 ".tar.gz"))
10917 (sha256
10918 (base32
19419709 10919 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10920 (build-system haskell-build-system)
10921 (home-page "https://hackage.haskell.org/package/StateVar")
10922 (synopsis "State variables for Haskell")
10923 (description "This package provides state variables, which are references
10924in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10925 (license license:bsd-3)))
10926
10927(define-public ghc-statistics
10928 (package
10929 (name "ghc-statistics")
60e78e68 10930 (version "0.15.1.1")
dddbc90c
RV
10931 (source
10932 (origin
10933 (method url-fetch)
10934 (uri (string-append "https://hackage.haskell.org/package/"
10935 "statistics-" version "/"
10936 "statistics-" version ".tar.gz"))
10937 (sha256
10938 (base32
60e78e68 10939 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10940 (build-system haskell-build-system)
10941 (arguments
60e78e68 10942 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10943 #:tests? #f))
10944 (inputs
10945 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10946 ("ghc-async" ,ghc-async)
dddbc90c 10947 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10948 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10949 ("ghc-math-functions" ,ghc-math-functions)
10950 ("ghc-monad-par" ,ghc-monad-par)
10951 ("ghc-mwc-random" ,ghc-mwc-random)
10952 ("ghc-primitive" ,ghc-primitive)
10953 ("ghc-vector" ,ghc-vector)
10954 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10955 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10956 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10957 (native-inputs
10958 `(("ghc-hunit" ,ghc-hunit)
10959 ("ghc-quickcheck" ,ghc-quickcheck)
10960 ("ghc-ieee754" ,ghc-ieee754)
10961 ("ghc-test-framework" ,ghc-test-framework)
10962 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10963 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10964 (home-page "https://github.com/bos/mwc-random")
10965 (synopsis "Haskell library of statistical types, data, and functions")
10966 (description "This library provides a number of common functions
10967and types useful in statistics. We focus on high performance, numerical
10968robustness, and use of good algorithms. Where possible, we provide references
10969to the statistical literature.
10970
10971The library's facilities can be divided into four broad categories:
10972
10973@itemize
10974@item Working with widely used discrete and continuous probability
10975distributions. (There are dozens of exotic distributions in use; we focus
10976on the most common.)
10977
10978@item Computing with sample data: quantile estimation, kernel density
10979estimation, histograms, bootstrap methods, significance testing,
10980and regression and autocorrelation analysis.
10981
10982@item Random variate generation under several different distributions.
10983
10984@item Common statistical tests for significant differences between samples.
10985@end itemize")
10986 (license license:bsd-2)))
10987
10988(define-public ghc-stm-chans
10989 (package
10990 (name "ghc-stm-chans")
10991 (version "3.0.0.4")
10992 (source
10993 (origin
10994 (method url-fetch)
10995 (uri (string-append "https://hackage.haskell.org/package/"
10996 "stm-chans-" version "/"
10997 "stm-chans-" version ".tar.gz"))
10998 (sha256
10999 (base32
11000 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11001 (build-system haskell-build-system)
11002 (home-page "https://hackage.haskell.org/package/stm-chans")
11003 (synopsis "Additional types of channels for ghc-stm")
11004 (description "This Haskell package offers a collection of channel types,
11005similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11006features.")
11007 (license license:bsd-3)))
11008
11009(define-public ghc-stm-conduit
11010 (package
11011 (name "ghc-stm-conduit")
cd518e95 11012 (version "4.0.1")
dddbc90c
RV
11013 (source
11014 (origin
11015 (method url-fetch)
11016 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11017 "stm-conduit-" version ".tar.gz"))
11018 (sha256
11019 (base32
cd518e95 11020 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11021 (build-system haskell-build-system)
11022 (inputs
11023 `(("ghc-stm-chans" ,ghc-stm-chans)
11024 ("ghc-cereal" ,ghc-cereal)
11025 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11026 ("ghc-conduit" ,ghc-conduit)
11027 ("ghc-conduit-extra" ,ghc-conduit-extra)
11028 ("ghc-exceptions" ,ghc-exceptions)
11029 ("ghc-resourcet" ,ghc-resourcet)
11030 ("ghc-async" ,ghc-async)
11031 ("ghc-monad-loops" ,ghc-monad-loops)
11032 ("ghc-unliftio" ,ghc-unliftio)))
11033 (native-inputs
11034 `(("ghc-doctest" ,ghc-doctest)
11035 ("ghc-quickcheck" ,ghc-quickcheck)
11036 ("ghc-hunit" ,ghc-hunit)
11037 ("ghc-test-framework" ,ghc-test-framework)
11038 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11039 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11040 (home-page "https://github.com/cgaebel/stm-conduit")
11041 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11042 (description
11043 "This package provides two simple conduit wrappers around STM channels: a
11044source and a sink.")
11045 (license license:bsd-3)))
11046
11047(define-public ghc-stmonadtrans
11048 (package
11049 (name "ghc-stmonadtrans")
11050 (version "0.4.3")
11051 (source
11052 (origin
11053 (method url-fetch)
11054 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11055 "/STMonadTrans-" version ".tar.gz"))
11056 (sha256
11057 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11058 (build-system haskell-build-system)
11059 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11060 (synopsis "Monad transformer version of the ST monad")
11061 (description
11062 "This package provides a monad transformer version of the @code{ST} monad
11063for strict state threads.")
11064 (license license:bsd-3)))
11065
11066(define-public ghc-storable-complex
11067 (package
11068 (name "ghc-storable-complex")
4a35e3c3 11069 (version "0.2.3.0")
dddbc90c
RV
11070 (source
11071 (origin
11072 (method url-fetch)
11073 (uri (string-append
11074 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11075 version ".tar.gz"))
11076 (sha256
4a35e3c3 11077 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11078 (build-system haskell-build-system)
4a35e3c3
TS
11079 (inputs
11080 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11081 (home-page "https://github.com/cartazio/storable-complex")
11082 (synopsis "Haskell Storable instance for Complex")
11083 (description "This package provides a Haskell library including a
11084Storable instance for Complex which is binary compatible with C99, C++
11085and Fortran complex data types.")
11086 (license license:bsd-3)))
11087
ad80074a
JS
11088(define-public ghc-storable-record
11089 (package
11090 (name "ghc-storable-record")
11091 (version "0.0.4")
11092 (source
11093 (origin
11094 (method url-fetch)
11095 (uri
11096 (string-append
11097 "https://hackage.haskell.org/package/storable-record/"
11098 "storable-record-" version ".tar.gz"))
11099 (sha256
11100 (base32
11101 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11102 (build-system haskell-build-system)
11103 (inputs
11104 `(("ghc-semigroups" ,ghc-semigroups)
11105 ("ghc-utility-ht" ,ghc-utility-ht)
11106 ("ghc-storablevector" ,ghc-storablevector)
11107 ("ghc-timeit" ,ghc-timeit)))
11108 (home-page "https://hackage.haskell.org/package/storable-record")
11109 (synopsis "Elegant definition of Storable instances for records")
11110 (description "With this package you can build a Storable instance of
11111a record type from Storable instances of its elements in an elegant way.
11112It does not do any magic, just a bit arithmetic to compute the right
11113offsets, that would be otherwise done manually or by a preprocessor like
11114C2HS. There is no guarantee that the generated memory layout is
11115compatible with that of a corresponding C struct. However, the module
11116generates the smallest layout that is possible with respect to the
11117alignment of the record elements.")
11118 (license license:bsd-3)))
11119
55f4c653
JS
11120(define-public ghc-storable-tuple
11121 (package
11122 (name "ghc-storable-tuple")
11123 (version "0.0.3.3")
11124 (source
11125 (origin
11126 (method url-fetch)
11127 (uri
11128 (string-append
11129 "https://hackage.haskell.org/package/storable-tuple/"
11130 "storable-tuple-" version ".tar.gz"))
11131 (sha256
11132 (base32
11133 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11134 (build-system haskell-build-system)
11135 (inputs
11136 `(("ghc-storable-record" ,ghc-storable-record)
11137 ("ghc-utility-ht" ,ghc-utility-ht)
11138 ("ghc-base-orphans" ,ghc-base-orphans)))
11139 (home-page "https://hackage.haskell.org/package/storable-tuple")
11140 (synopsis "Storable instance for pairs and triples")
11141 (description "This package provides a Storable instance for pairs
11142and triples which should be binary compatible with C99 and C++. The
11143only purpose of this package is to provide a standard location for this
11144instance so that other packages needing this instance can play nicely
11145together.")
11146 (license license:bsd-3)))
11147
bc06ca45
JS
11148(define-public ghc-storablevector
11149 (package
11150 (name "ghc-storablevector")
11151 (version "0.2.13")
11152 (source
11153 (origin
11154 (method url-fetch)
11155 (uri
11156 (string-append
11157 "https://hackage.haskell.org/package/storablevector/storablevector-"
11158 version ".tar.gz"))
11159 (sha256
11160 (base32
11161 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11162 (build-system haskell-build-system)
11163 (inputs
11164 `(("ghc-non-negative" ,ghc-non-negative)
11165 ("ghc-utility-ht" ,ghc-utility-ht)
11166 ("ghc-semigroups" ,ghc-semigroups)
11167 ("ghc-unsafe" ,ghc-unsafe)
11168 ("ghc-quickcheck" ,ghc-quickcheck)
11169 ("ghc-syb" ,ghc-syb)))
11170 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11171 (synopsis "Fast, packed, strict storable arrays with a list interface")
11172 (description "This library provides fast, packed, strict storable
11173arrays with a list interface, a chunky lazy list interface with variable
11174chunk size and an interface for write access via the ST monad. This is
11175much like bytestring and binary but can be used for every
11176@code{Foreign.Storable.Storable} type. See also
11177@url{http://hackage.haskell.org/package/vector}, a library with a
11178similar intention.
11179
11180This library does not do advanced fusion optimization, since especially
11181for lazy vectors this would either be incorrect or not applicable. See
11182@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11183a library that provides fusion with lazy lists.")
11184 (license license:bsd-3)))
11185
dddbc90c
RV
11186(define-public ghc-streaming-commons
11187 (package
11188 (name "ghc-streaming-commons")
11189 (version "0.2.1.1")
11190 (source
11191 (origin
11192 (method url-fetch)
11193 (uri (string-append "https://hackage.haskell.org/package/"
11194 "streaming-commons/streaming-commons-"
11195 version ".tar.gz"))
11196 (sha256
11197 (base32
11198 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11199 (build-system haskell-build-system)
11200 (inputs
11201 `(("ghc-async" ,ghc-async)
11202 ("ghc-blaze-builder" ,ghc-blaze-builder)
11203 ("ghc-network" ,ghc-network)
11204 ("ghc-random" ,ghc-random)
11205 ("ghc-zlib" ,ghc-zlib)))
11206 (native-inputs
11207 `(("ghc-quickcheck" ,ghc-quickcheck)
11208 ("ghc-hspec" ,ghc-hspec)
11209 ("hspec-discover" ,hspec-discover)))
11210 (home-page "https://hackage.haskell.org/package/streaming-commons")
11211 (synopsis "Conduit and pipes needed by some streaming data libraries")
11212 (description "This package provides low-dependency functionality commonly
11213needed by various Haskell streaming data libraries, such as @code{conduit} and
11214@code{pipe}s.")
11215 (license license:expat)))
11216
11217(define-public ghc-strict
11218 (package
11219 (name "ghc-strict")
11220 (version "0.3.2")
11221 (source
11222 (origin
11223 (method url-fetch)
11224 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11225 version ".tar.gz"))
11226 (sha256
11227 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11228 (build-system haskell-build-system)
11229 (home-page "https://hackage.haskell.org/package/strict")
11230 (synopsis "Strict data types and String IO")
11231 (description
11232 "This package provides strict versions of some standard Haskell data
11233types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11234IO operations.")
11235 (license license:bsd-3)))
11236
11237(define-public ghc-stringbuilder
11238 (package
11239 (name "ghc-stringbuilder")
11240 (version "0.5.1")
11241 (source
11242 (origin
11243 (method url-fetch)
11244 (uri (string-append
11245 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11246 version
11247 ".tar.gz"))
11248 (sha256
11249 (base32
11250 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11251 (build-system haskell-build-system)
11252 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11253 ; enabled
11254 (home-page "https://hackage.haskell.org/package/stringbuilder")
11255 (synopsis "Writer monad for multi-line string literals")
11256 (description "This package provides a writer monad for multi-line string
11257literals.")
11258 (license license:expat)))
11259
11260(define-public ghc-string-qq
11261 (package
11262 (name "ghc-string-qq")
4d6fddc3 11263 (version "0.0.4")
dddbc90c
RV
11264 (source
11265 (origin
11266 (method url-fetch)
11267 (uri (string-append
11268 "https://hackage.haskell.org/package/string-qq/string-qq-"
11269 version
11270 ".tar.gz"))
11271 (sha256
11272 (base32
4d6fddc3 11273 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11274 (build-system haskell-build-system)
4d6fddc3
TS
11275 (native-inputs
11276 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 11277 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
11278 (synopsis
11279 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11280 (description
11281 "This package provides a quasiquoter for non-interpolated strings, texts
11282and bytestrings.")
11283 (license license:public-domain)))
11284
11285(define-public ghc-stringsearch
11286 (package
11287 (name "ghc-stringsearch")
11288 (version "0.3.6.6")
11289 (source
11290 (origin
11291 (method url-fetch)
11292 (uri (string-append
11293 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11294 version
11295 ".tar.gz"))
11296 (sha256
11297 (base32
11298 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11299 (build-system haskell-build-system)
e2303abb
TS
11300 (arguments
11301 `(#:cabal-revision
11302 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11303 (home-page "https://bitbucket.org/dafis/stringsearch")
11304 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11305 (description "This package provides several functions to quickly search
11306for substrings in strict or lazy @code{ByteStrings}. It also provides
11307functions for breaking or splitting on substrings and replacing all
11308occurrences of a substring (the first in case of overlaps) with another.")
11309 (license license:bsd-3)))
11310
dcf3f8f4
TS
11311(define-public ghc-svg-builder
11312 (package
11313 (name "ghc-svg-builder")
11314 (version "0.1.1")
11315 (source
11316 (origin
11317 (method url-fetch)
11318 (uri (string-append "https://hackage.haskell.org/package/"
11319 "svg-builder/svg-builder-" version ".tar.gz"))
11320 (sha256
11321 (base32
11322 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11323 (build-system haskell-build-system)
11324 (inputs
11325 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11326 ("ghc-hashable" ,ghc-hashable)
11327 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11328 (arguments
11329 `(#:cabal-revision
11330 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11331 (home-page "https://github.com/diagrams/svg-builder.git")
11332 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11333 (description "Easy-to-write domain-specific language (DSL) for
11334building Scalable Vector Graphics (SVG).")
11335 (license license:bsd-3)))
11336
dddbc90c
RV
11337(define-public ghc-syb
11338 (package
11339 (name "ghc-syb")
07d65eef 11340 (version "0.7.1")
dddbc90c
RV
11341 (outputs '("out" "doc"))
11342 (source
11343 (origin
11344 (method url-fetch)
11345 (uri (string-append
11346 "https://hackage.haskell.org/package/syb/syb-"
11347 version
11348 ".tar.gz"))
11349 (sha256
11350 (base32
07d65eef 11351 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11352 (build-system haskell-build-system)
11353 (inputs
11354 `(("ghc-hunit" ,ghc-hunit)))
11355 (home-page
11356 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11357 (synopsis "Scrap Your Boilerplate")
11358 (description "This package contains the generics system described in the
11359/Scrap Your Boilerplate/ papers (see
11360@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11361defines the @code{Data} class of types permitting folding and unfolding of
11362constructor applications, instances of this class for primitive types, and a
11363variety of traversals.")
11364 (license license:bsd-3)))
11365
11366(define-public ghc-system-fileio
11367 (package
11368 (name "ghc-system-fileio")
dcfb99d4 11369 (version "0.3.16.4")
dddbc90c
RV
11370 (source
11371 (origin
11372 (method url-fetch)
11373 (uri (string-append
11374 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11375 version ".tar.gz"))
11376 (sha256
11377 (base32
dcfb99d4 11378 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11379 (build-system haskell-build-system)
dcfb99d4
TS
11380 (arguments
11381 `(#:phases
11382 (modify-phases %standard-phases
11383 (add-before 'configure 'update-constraints
11384 (lambda _
11385 (substitute* "system-fileio.cabal"
11386 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11387 #t)))))
dddbc90c
RV
11388 (inputs
11389 `(("ghc-system-filepath" ,ghc-system-filepath)
11390 ("ghc-chell" ,ghc-chell)
11391 ("ghc-temporary" ,ghc-temporary)))
11392 (home-page "https://github.com/fpco/haskell-filesystem")
11393 (synopsis "Consistent file system interaction across GHC versions")
11394 (description
11395 "This is a small wrapper around the directory, unix, and Win32 packages,
11396for use with system-filepath. It provides a consistent API to the various
11397versions of these packages distributed with different versions of GHC.
11398In particular, this library supports working with POSIX files that have paths
11399which can't be decoded in the current locale encoding.")
11400 (license license:expat)))
11401
11402;; See ghc-system-filepath-bootstrap. In addition this package depends on
11403;; ghc-system-filepath.
11404(define ghc-system-fileio-bootstrap
11405 (package
11406 (name "ghc-system-fileio-bootstrap")
11407 (version "0.3.16.3")
11408 (source
11409 (origin
11410 (method url-fetch)
11411 (uri (string-append
11412 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11413 version ".tar.gz"))
11414 (sha256
11415 (base32
11416 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11417 (build-system haskell-build-system)
11418 (arguments
11419 `(#:tests? #f))
11420 (inputs
11421 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11422 ("ghc-temporary" ,ghc-temporary)))
11423 (home-page "https://github.com/fpco/haskell-filesystem")
11424 (synopsis "Consistent file system interaction across GHC versions")
11425 (description
11426 "This is a small wrapper around the directory, unix, and Win32 packages,
11427for use with system-filepath. It provides a consistent API to the various
11428versions of these packages distributed with different versions of GHC.
11429In particular, this library supports working with POSIX files that have paths
11430which can't be decoded in the current locale encoding.")
11431 (license license:expat)))
11432
11433
11434(define-public ghc-system-filepath
11435 (package
11436 (name "ghc-system-filepath")
11437 (version "0.4.14")
11438 (source
11439 (origin
11440 (method url-fetch)
11441 (uri (string-append
11442 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11443 version ".tar.gz"))
11444 (sha256
11445 (base32
11446 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11447 (build-system haskell-build-system)
11448 ;; FIXME: One of the tests fails:
11449 ;; [ FAIL ] tests.validity.posix
11450 ;; note: seed=7310214548328823169
11451 ;; *** Failed! Falsifiable (after 24 tests):
11452 ;; 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"
11453 (arguments `(#:tests? #f))
11454 (inputs
11455 `(("ghc-chell" ,ghc-chell)
11456 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11457 ("ghc-quickcheck" ,ghc-quickcheck)))
11458 (home-page "https://github.com/fpco/haskell-filesystem")
11459 (synopsis "High-level, byte-based file and directory path manipulations")
11460 (description
11461 "Provides a FilePath datatype and utility functions for operating on it.
11462Unlike the filepath package, this package does not simply reuse String,
11463increasing type safety.")
11464 (license license:expat)))
11465
11466;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11467;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11468;; which depends on ghc-chell and ghc-chell-quickcheck.
11469;; Therefore we bootstrap it with tests disabled.
11470(define ghc-system-filepath-bootstrap
11471 (package
11472 (name "ghc-system-filepath-bootstrap")
11473 (version "0.4.14")
11474 (source
11475 (origin
11476 (method url-fetch)
11477 (uri (string-append
11478 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11479 version ".tar.gz"))
11480 (sha256
11481 (base32
11482 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11483 (build-system haskell-build-system)
11484 (arguments
11485 `(#:tests? #f))
11486 (inputs
11487 `(("ghc-quickcheck" ,ghc-quickcheck)))
11488 (home-page "https://github.com/fpco/haskell-filesystem")
11489 (synopsis "High-level, byte-based file and directory path manipulations")
11490 (description
11491 "Provides a FilePath datatype and utility functions for operating on it.
11492Unlike the filepath package, this package does not simply reuse String,
11493increasing type safety.")
11494 (license license:expat)))
11495
11496
11497(define-public ghc-tagged
11498 (package
11499 (name "ghc-tagged")
f0f3756a 11500 (version "0.8.6")
dddbc90c
RV
11501 (source
11502 (origin
11503 (method url-fetch)
11504 (uri (string-append
11505 "https://hackage.haskell.org/package/tagged/tagged-"
11506 version
11507 ".tar.gz"))
11508 (sha256
11509 (base32
f0f3756a 11510 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11511 (build-system haskell-build-system)
11512 (arguments
11513 `(#:cabal-revision
f0f3756a 11514 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11515 (inputs
11516 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11517 (home-page "https://hackage.haskell.org/package/tagged")
11518 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11519 (description "This library provides phantom types for Haskell 98, to avoid
11520having to unsafely pass dummy arguments.")
11521 (license license:bsd-3)))
11522
11523(define-public ghc-tar
11524 (package
11525 (name "ghc-tar")
ec83929f 11526 (version "0.5.1.1")
dddbc90c
RV
11527 (source
11528 (origin
11529 (method url-fetch)
11530 (uri (string-append
11531 "https://hackage.haskell.org/package/tar/tar-"
11532 version ".tar.gz"))
11533 (sha256
11534 (base32
ec83929f 11535 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11536 (build-system haskell-build-system)
11537 ;; FIXME: 2/24 tests fail.
11538 (arguments `(#:tests? #f))
11539 (inputs
11540 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11541 ("ghc-quickcheck" ,ghc-quickcheck)
11542 ("ghc-tasty" ,ghc-tasty)
11543 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11544 (home-page "https://hackage.haskell.org/package/tar")
11545 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11546 (description
11547 "This library is for working with \\\"@.tar@\\\" archive files.
11548It can read and write a range of common variations of the tar archive format
11549including V7, POSIX USTAR and GNU formats. It provides support for packing and
11550unpacking portable archives. This makes it suitable for distribution but not
11551backup because details like file ownership and exact permissions are not
11552preserved. It also provides features for random access to archive content using
11553an index.")
11554 (license license:bsd-3)))
11555
f8d17902
TS
11556(define-public ghc-tar-conduit
11557 (package
11558 (name "ghc-tar-conduit")
11559 (version "0.3.2")
11560 (source
11561 (origin
11562 (method url-fetch)
11563 (uri (string-append "https://hackage.haskell.org/package/"
11564 "tar-conduit/tar-conduit-" version ".tar.gz"))
11565 (sha256
11566 (base32
11567 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11568 (build-system haskell-build-system)
11569 (inputs
11570 `(("ghc-conduit" ,ghc-conduit)
11571 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11572 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11573 (native-inputs
11574 `(("ghc-quickcheck" ,ghc-quickcheck)
11575 ("ghc-conduit-extra" ,ghc-conduit-extra)
11576 ("ghc-hspec" ,ghc-hspec)
11577 ("ghc-hspec" ,ghc-hspec)
11578 ("ghc-weigh" ,ghc-weigh)))
11579 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11580 (synopsis "Extract and create tar files using conduit for streaming")
11581 (description "This library provides a conduit-based, streaming
11582interface for extracting and creating tar files.")
11583 (license license:expat)))
11584
dddbc90c
RV
11585(define-public ghc-temporary
11586 (package
11587 (name "ghc-temporary")
11588 (version "1.3")
11589 (source
11590 (origin
11591 (method url-fetch)
11592 (uri (string-append
11593 "https://hackage.haskell.org/package/temporary/temporary-"
11594 version
11595 ".tar.gz"))
11596 (sha256
11597 (base32
11598 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11599 (build-system haskell-build-system)
11600 (inputs
11601 `(("ghc-exceptions" ,ghc-exceptions)
11602 ("ghc-random" ,ghc-random)))
11603 (native-inputs
11604 `(("ghc-base-compat" ,ghc-base-compat)
11605 ("ghc-tasty" ,ghc-tasty)
11606 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11607 (home-page "https://www.github.com/batterseapower/temporary")
11608 (synopsis "Temporary file and directory support")
11609 (description "The functions for creating temporary files and directories
11610in the Haskelll base library are quite limited. This library just repackages
11611the Cabal implementations of its own temporary file and folder functions so
11612that you can use them without linking against Cabal or depending on it being
11613installed.")
11614 (license license:bsd-3)))
11615
11616(define-public ghc-temporary-rc
11617 (package
11618 (name "ghc-temporary-rc")
11619 (version "1.2.0.3")
11620 (source
11621 (origin
11622 (method url-fetch)
11623 (uri (string-append
11624 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11625 version
11626 ".tar.gz"))
11627 (sha256
11628 (base32
11629 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11630 (build-system haskell-build-system)
11631 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11632 (home-page
11633 "https://www.github.com/feuerbach/temporary")
11634 (synopsis
11635 "Portable temporary file and directory support")
11636 (description
11637 "The functions for creating temporary files and directories in the base
11638library are quite limited. The unixutils package contains some good ones, but
11639they aren't portable to Windows. This library just repackages the Cabal
11640implementations of its own temporary file and folder functions so that you can
11641use them without linking against Cabal or depending on it being installed.
11642This is a better maintained fork of the \"temporary\" package.")
11643 (license license:bsd-3)))
11644
11645(define-public ghc-terminal-size
11646 (package
11647 (name "ghc-terminal-size")
11648 (version "0.3.2.1")
11649 (source (origin
11650 (method url-fetch)
11651 (uri (string-append
11652 "https://hackage.haskell.org/package/terminal-size/"
11653 "terminal-size-" version ".tar.gz"))
11654 (sha256
11655 (base32
11656 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11657 (build-system haskell-build-system)
11658 (home-page "https://hackage.haskell.org/package/terminal-size")
11659 (synopsis "Get terminal window height and width")
11660 (description "Get terminal window height and width without ncurses
11661dependency.")
11662 (license license:bsd-3)))
11663
11664(define-public ghc-texmath
11665 (package
11666 (name "ghc-texmath")
7fec7e66 11667 (version "0.11.3")
dddbc90c
RV
11668 (source (origin
11669 (method url-fetch)
11670 (uri (string-append "https://hackage.haskell.org/package/"
11671 "texmath/texmath-" version ".tar.gz"))
11672 (sha256
11673 (base32
7fec7e66 11674 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11675 (build-system haskell-build-system)
11676 (inputs
11677 `(("ghc-syb" ,ghc-syb)
11678 ("ghc-network-uri" ,ghc-network-uri)
11679 ("ghc-split" ,ghc-split)
11680 ("ghc-temporary" ,ghc-temporary)
11681 ("ghc-utf8-string" ,ghc-utf8-string)
11682 ("ghc-xml" ,ghc-xml)
11683 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11684 (home-page "https://github.com/jgm/texmath")
11685 (synopsis "Conversion between formats used to represent mathematics")
11686 (description
11687 "The texmath library provides functions to read and write TeX math,
11688presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11689Office). Support is also included for converting math formats to pandoc's
11690native format (allowing conversion, via pandoc, to a variety of different
11691markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11692it can parse and apply LaTeX macros.")
11693 (license license:gpl2+)))
11694
11695(define-public ghc-text-binary
11696 (package
11697 (name "ghc-text-binary")
11698 (version "0.2.1.1")
11699 (source
11700 (origin
11701 (method url-fetch)
11702 (uri (string-append "https://hackage.haskell.org/package/"
11703 "text-binary/text-binary-"
11704 version ".tar.gz"))
11705 (sha256
11706 (base32
11707 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11708 (build-system haskell-build-system)
11709 (home-page "https://github.com/kawu/text-binary")
11710 (synopsis "Binary instances for text types")
11711 (description
11712 "This package provides a compatibility layer providing @code{Binary}
11713instances for strict and lazy text types for versions older than 1.2.1 of the
11714text package.")
11715 (license license:bsd-2)))
11716
bdc877c4
TS
11717(define-public ghc-text-metrics
11718 (package
11719 (name "ghc-text-metrics")
11720 (version "0.3.0")
11721 (source
11722 (origin
11723 (method url-fetch)
11724 (uri (string-append "https://hackage.haskell.org/package/"
11725 "text-metrics/text-metrics-" version ".tar.gz"))
11726 (sha256
11727 (base32
11728 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11729 (build-system haskell-build-system)
11730 (inputs
11731 `(("ghc-vector" ,ghc-vector)))
11732 (native-inputs
11733 `(("ghc-quickcheck" ,ghc-quickcheck)
11734 ("ghc-hspec" ,ghc-hspec)))
11735 (arguments
11736 `(#:cabal-revision
11737 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11738 (home-page "https://github.com/mrkkrp/text-metrics")
11739 (synopsis "Calculate various string metrics efficiently")
11740 (description "This library provides tools to calculate various
11741string metrics efficiently.")
11742 (license license:bsd-3)))
11743
dddbc90c
RV
11744(define-public ghc-tf-random
11745 (package
11746 (name "ghc-tf-random")
11747 (version "0.5")
11748 (outputs '("out" "doc"))
11749 (source
11750 (origin
11751 (method url-fetch)
11752 (uri (string-append
11753 "https://hackage.haskell.org/package/tf-random/tf-random-"
11754 version
11755 ".tar.gz"))
11756 (sha256
11757 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11758 (build-system haskell-build-system)
11759 (inputs
11760 `(("ghc-primitive" ,ghc-primitive)
11761 ("ghc-random" ,ghc-random)))
11762 (home-page "https://hackage.haskell.org/package/tf-random")
11763 (synopsis "High-quality splittable pseudorandom number generator")
11764 (description "This package contains an implementation of a high-quality
11765splittable pseudorandom number generator. The generator is based on a
11766cryptographic hash function built on top of the ThreeFish block cipher. See
11767the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11768Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11769 (license license:bsd-3)))
11770
11771(define-public ghc-th-abstraction
11772 (package
11773 (name "ghc-th-abstraction")
1188eabb 11774 (version "0.3.1.0")
dddbc90c
RV
11775 (source
11776 (origin
11777 (method url-fetch)
11778 (uri (string-append "https://hackage.haskell.org/package/"
11779 "th-abstraction/th-abstraction-"
11780 version ".tar.gz"))
11781 (sha256
11782 (base32
1188eabb 11783 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11784 (build-system haskell-build-system)
11785 (home-page "https://github.com/glguy/th-abstraction")
11786 (synopsis "Nicer interface for reified information about data types")
11787 (description
11788 "This package normalizes variations in the interface for inspecting
11789datatype information via Template Haskell so that packages and support a
11790single, easier to use informational datatype while supporting many versions of
11791Template Haskell.")
11792 (license license:isc)))
11793
11794(define-public ghc-th-expand-syns
11795 (package
11796 (name "ghc-th-expand-syns")
8c766600 11797 (version "0.4.5.0")
dddbc90c
RV
11798 (source (origin
11799 (method url-fetch)
11800 (uri (string-append "https://hackage.haskell.org/package/"
11801 "th-expand-syns/th-expand-syns-"
11802 version ".tar.gz"))
11803 (sha256
11804 (base32
8c766600 11805 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11806 (build-system haskell-build-system)
11807 (inputs
11808 `(("ghc-syb" ,ghc-syb)))
11809 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11810 (synopsis "Expands type synonyms in Template Haskell ASTs")
11811 (description
11812 "This package enables users to expand type synonyms in Template Haskell
11813@dfn{abstract syntax trees} (ASTs).")
11814 (license license:bsd-3)))
11815
11816(define-public ghc-th-lift
11817 (package
11818 (name "ghc-th-lift")
bd76b20a 11819 (version "0.8.0.1")
dddbc90c
RV
11820 (source (origin
11821 (method url-fetch)
11822 (uri (string-append "https://hackage.haskell.org/package/"
11823 "th-lift/th-lift-" version ".tar.gz"))
11824 (sha256
11825 (base32
bd76b20a 11826 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11827 (build-system haskell-build-system)
11828 (inputs
11829 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11830 (home-page "https://github.com/mboes/th-lift")
11831 (synopsis "Derive Template Haskell's Lift class for datatypes")
11832 (description
11833 "This is a Haskell library to derive Template Haskell's Lift class for
11834datatypes.")
11835 (license license:bsd-3)))
11836
11837(define-public ghc-th-lift-instances
11838 (package
11839 (name "ghc-th-lift-instances")
d3db399e 11840 (version "0.1.14")
dddbc90c
RV
11841 (source
11842 (origin
11843 (method url-fetch)
11844 (uri (string-append "https://hackage.haskell.org/package/"
11845 "th-lift-instances/th-lift-instances-"
11846 version ".tar.gz"))
11847 (sha256
11848 (base32
d3db399e 11849 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11850 (build-system haskell-build-system)
11851 (inputs
11852 `(("ghc-th-lift" ,ghc-th-lift)
11853 ("ghc-vector" ,ghc-vector)
11854 ("ghc-quickcheck" ,ghc-quickcheck)))
11855 (home-page "https://github.com/bennofs/th-lift-instances/")
11856 (synopsis "Lift instances for template-haskell for common data types.")
11857 (description "Most data types in the Haskell platform do not have Lift
11858instances. This package provides orphan instances for @code{containers},
11859@code{text}, @code{bytestring} and @code{vector}.")
11860 (license license:bsd-3)))
11861
11862(define-public ghc-th-orphans
11863 (package
11864 (name "ghc-th-orphans")
882b23e2 11865 (version "0.13.9")
dddbc90c
RV
11866 (source (origin
11867 (method url-fetch)
11868 (uri (string-append "https://hackage.haskell.org/package/"
11869 "th-orphans/th-orphans-" version ".tar.gz"))
11870 (sha256
11871 (base32
882b23e2 11872 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11873 (build-system haskell-build-system)
11874 (inputs
11875 `(("ghc-th-lift" ,ghc-th-lift)
11876 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11877 ("ghc-th-reify-many" ,ghc-th-reify-many)
11878 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11879 (native-inputs
11880 `(("ghc-hspec" ,ghc-hspec)))
11881 (home-page "https://hackage.haskell.org/package/th-orphans")
11882 (synopsis "Orphan instances for TH datatypes")
11883 (description
11884 "This package provides orphan instances for Template Haskell datatypes. In particular,
11885instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11886and @code{Eq} instances. These instances used to live in the haskell-src-meta
11887package, and that's where the version number started.")
11888 (license license:bsd-3)))
11889
11890(define-public ghc-threads
11891 (package
11892 (name "ghc-threads")
11893 (version "0.5.1.6")
11894 (source
11895 (origin
11896 (method url-fetch)
11897 (uri (string-append "https://hackage.haskell.org/package/"
11898 "threads/threads-" version ".tar.gz"))
11899 (sha256
11900 (base32
11901 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11902 (build-system haskell-build-system)
11903 (native-inputs
11904 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11905 ("ghc-hunit" ,ghc-hunit)
11906 ("ghc-test-framework" ,ghc-test-framework)
11907 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11908 (home-page "https://github.com/basvandijk/threads")
11909 (synopsis "Fork threads and wait for their result")
11910 (description "This package provides functions to fork threads and
11911wait for their result, whether it's an exception or a normal value.
11912Besides waiting for the termination of a single thread this package also
11913provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11914package is similar to the @code{threadmanager}, @code{async} and
11915@code{spawn} packages. The advantages of this package are:
11916
dddbc90c
RV
11917@itemize
11918@item Simpler API.
11919@item More efficient in both space and time.
11920@item No space-leak when forking a large number of threads.
11921@item Correct handling of asynchronous exceptions.
11922@item GHC specific functionality like @code{forkOn} and
11923@code{forkIOWithUnmask}.
11924@end itemize")
11925 (license license:bsd-3)))
11926
11927(define-public ghc-th-reify-many
11928 (package
11929 (name "ghc-th-reify-many")
32d4a6ae 11930 (version "0.1.9")
dddbc90c
RV
11931 (source (origin
11932 (method url-fetch)
11933 (uri (string-append "https://hackage.haskell.org/package/"
11934 "th-reify-many/th-reify-many-"
11935 version ".tar.gz"))
11936 (sha256
11937 (base32
32d4a6ae 11938 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11939 (build-system haskell-build-system)
11940 (inputs
11941 `(("ghc-safe" ,ghc-safe)
11942 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11943 (home-page "https://github.com/mgsloan/th-reify-many")
11944 (synopsis "Recurseively reify template haskell datatype info")
11945 (description
11946 "th-reify-many provides functions for recursively reifying top level
11947declarations. The main intended use case is for enumerating the names of
11948datatypes reachable from an initial datatype, and passing these names to some
11949function which generates instances.")
11950 (license license:bsd-3)))
11951
75cfc9a2
TS
11952(define-public ghc-time-compat
11953 (package
11954 (name "ghc-time-compat")
11955 (version "1.9.2.2")
11956 (source
11957 (origin
11958 (method url-fetch)
11959 (uri (string-append "https://hackage.haskell.org/package/"
11960 "time-compat/time-compat-" version ".tar.gz"))
11961 (sha256
11962 (base32
11963 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11964 (build-system haskell-build-system)
11965 (inputs
11966 `(("ghc-base-orphans" ,ghc-base-orphans)))
11967 (native-inputs
11968 `(("ghc-hunit" ,ghc-hunit)
11969 ("ghc-base-compat" ,ghc-base-compat)
11970 ("ghc-quickcheck" ,ghc-quickcheck)
11971 ("ghc-tagged" ,ghc-tagged)
11972 ("ghc-tasty" ,ghc-tasty)
11973 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11974 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11975 (arguments
11976 `(#:cabal-revision
11977 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11978 (home-page "https://github.com/phadej/time-compat")
11979 (synopsis "Compatibility package for time")
a8d73e69 11980 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
11981features as possible.")
11982 (license license:bsd-3)))
11983
dddbc90c
RV
11984(define-public ghc-time-locale-compat
11985 (package
11986 (name "ghc-time-locale-compat")
11987 (version "0.1.1.5")
11988 (source
11989 (origin
11990 (method url-fetch)
11991 (uri (string-append "https://hackage.haskell.org/package/"
11992 "time-locale-compat/time-locale-compat-"
11993 version ".tar.gz"))
11994 (sha256
11995 (base32
11996 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11997 (build-system haskell-build-system)
11998 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11999 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12000 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12001 (description "This package contains a wrapped name module for
12002@code{TimeLocale}.")
12003 (license license:bsd-3)))
12004
c022a4d4
TS
12005(define-public ghc-time-manager
12006 (package
12007 (name "ghc-time-manager")
12008 (version "0.0.0")
12009 (source
12010 (origin
12011 (method url-fetch)
12012 (uri (string-append "https://hackage.haskell.org/package/"
12013 "time-manager/time-manager-" version ".tar.gz"))
12014 (sha256
12015 (base32
12016 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12017 (build-system haskell-build-system)
12018 (inputs
12019 `(("ghc-auto-update" ,ghc-auto-update)))
12020 (home-page "https://github.com/yesodweb/wai")
12021 (synopsis "Scalable timer")
12022 (description "This library contains scalable timer functions provided by a
12023timer manager.")
12024 (license license:expat)))
12025
7bbfa392
JS
12026(define-public ghc-timeit
12027 (package
12028 (name "ghc-timeit")
12029 (version "2.0")
12030 (source
12031 (origin
12032 (method url-fetch)
12033 (uri
12034 (string-append
12035 "https://hackage.haskell.org/package/timeit/timeit-"
12036 version ".tar.gz"))
12037 (sha256
12038 (base32
12039 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12040 (build-system haskell-build-system)
12041 (home-page "https://github.com/merijn/timeit")
12042 (synopsis "Time monadic computations with an IO base")
12043 (description "This package provides a simple wrapper to show the
12044used CPU time of monadic computation with an IO base.")
12045 (license license:bsd-3)))
12046
2ed8bd2d
JS
12047(define-public ghc-timezone-series
12048 (package
12049 (name "ghc-timezone-series")
12050 (version "0.1.9")
12051 (source
12052 (origin
12053 (method url-fetch)
12054 (uri
12055 (string-append
12056 "mirror://hackage/package/timezone-series/timezone-series-"
12057 version ".tar.gz"))
12058 (sha256
12059 (base32
12060 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12061 (build-system haskell-build-system)
12062 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12063 (synopsis "Enhanced timezone handling for Time")
12064 (description
12065 "This package endows @code{Data.Time}, from the time package, with several
12066data types and functions for enhanced processing of timezones. For one way to
12067create timezone series, see the ghc-timezone-olson package.")
12068 (license license:bsd-3)))
12069
ff0f5786
JS
12070(define-public ghc-timezone-olson
12071 (package
12072 (name "ghc-timezone-olson")
12073 (version "0.1.9")
12074 (source
12075 (origin
12076 (method url-fetch)
12077 (uri
12078 (string-append
12079 "mirror://hackage/package/timezone-olson/timezone-olson-"
12080 version ".tar.gz"))
12081 (sha256
12082 (base32
12083 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12084 (build-system haskell-build-system)
12085 (inputs
12086 `(("ghc-timezone-series" ,ghc-timezone-series)
12087 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12088 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12089 (synopsis "Parser and renderer for binary Olson timezone files")
12090 (description
12091 "A parser and renderer for binary Olson timezone files whose format
12092is specified by the tzfile(5) man page on Unix-like systems. For more
12093information about this format, see
12094@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12095are provided for converting the parsed data into @code{TimeZoneSeries}
12096objects from the timezone-series package.")
12097 (license license:bsd-3)))
12098
dddbc90c
RV
12099(define-public ghc-tldr
12100 (package
12101 (name "ghc-tldr")
871ceb31 12102 (version "0.4.0.2")
dddbc90c
RV
12103 (source
12104 (origin
12105 (method url-fetch)
12106 (uri (string-append
12107 "https://hackage.haskell.org/package/tldr/tldr-"
12108 version
12109 ".tar.gz"))
12110 (sha256
12111 (base32
871ceb31 12112 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
12113 (build-system haskell-build-system)
12114 (inputs
12115 `(("ghc-cmark" ,ghc-cmark)
12116 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12117 ("ghc-typed-process" ,ghc-typed-process)
12118 ("ghc-semigroups" ,ghc-semigroups)))
12119 (native-inputs
12120 `(("ghc-tasty" ,ghc-tasty)
12121 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12122 (home-page "https://github.com/psibi/tldr-hs#readme")
12123 (synopsis "Haskell tldr client")
12124 (description "This package provides the @command{tldr} command and a
12125Haskell client library allowing users to update and view @code{tldr} pages
12126from a shell. The @code{tldr} pages are a community effort to simplify the
12127man pages with practical examples.")
12128 (license license:bsd-3)))
12129
12130(define-public ghc-transformers-base
12131 (package
12132 (name "ghc-transformers-base")
12133 (version "0.4.5.2")
12134 (source
12135 (origin
12136 (method url-fetch)
12137 (uri (string-append
12138 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12139 version
12140 ".tar.gz"))
12141 (sha256
12142 (base32
12143 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12144 (build-system haskell-build-system)
12145 (inputs
12146 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12147 (home-page
12148 "https://hackage.haskell.org/package/transformers-compat")
12149 (synopsis
12150 "Backported transformer library")
12151 (description
12152 "Backported versions of types that were added to transformers in
12153transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12154compatibility to run on old versions of the platform.")
12155 (license license:bsd-3)))
12156
12157(define-public ghc-transformers-compat
12158 (package
12159 (name "ghc-transformers-compat")
1c9c4d58 12160 (version "0.6.5")
dddbc90c
RV
12161 (source
12162 (origin
12163 (method url-fetch)
12164 (uri (string-append
12165 "https://hackage.haskell.org/package/transformers-compat"
12166 "/transformers-compat-" version ".tar.gz"))
12167 (sha256
12168 (base32
1c9c4d58 12169 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
12170 (build-system haskell-build-system)
12171 (home-page "https://github.com/ekmett/transformers-compat/")
12172 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12173 (description "This package includes backported versions of types that were
12174added to transformers in transformers 0.3 and 0.4 for users who need strict
12175transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12176but also need those types.")
12177 (license license:bsd-3)))
12178
12179(define-public ghc-tree-diff
12180 (package
12181 (name "ghc-tree-diff")
b4e26067 12182 (version "0.1")
dddbc90c
RV
12183 (source
12184 (origin
12185 (method url-fetch)
12186 (uri (string-append
12187 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12188 version
12189 ".tar.gz"))
12190 (sha256
12191 (base32
b4e26067 12192 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 12193 (build-system haskell-build-system)
dddbc90c
RV
12194 (inputs
12195 `(("ghc-aeson" ,ghc-aeson)
12196 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12197 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12198 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 12199 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 12200 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
12201 ("ghc-parsers" ,ghc-parsers)
12202 ("ghc-quickcheck" ,ghc-quickcheck)
12203 ("ghc-scientific" ,ghc-scientific)
12204 ("ghc-tagged" ,ghc-tagged)
12205 ("ghc-unordered-containers" ,ghc-unordered-containers)
12206 ("ghc-uuid-types" ,ghc-uuid-types)
12207 ("ghc-vector" ,ghc-vector)))
12208 (native-inputs
12209 `(("ghc-base-compat" ,ghc-base-compat)
12210 ("ghc-quickcheck" ,ghc-quickcheck)
12211 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12212 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12213 ("ghc-trifecta" ,ghc-trifecta)
12214 ("ghc-tasty" ,ghc-tasty)
12215 ("ghc-tasty-golden" ,ghc-tasty-golden)
12216 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12217 (home-page "https://github.com/phadej/tree-diff")
12218 (synopsis "Compute difference between (expression) trees")
12219 (description "This Haskell library provides a function for computing
12220the difference between (expression) trees. It also provides a way to
12221compute the difference between arbitrary abstract datatypes (ADTs) using
12222@code{Generics}-derivable helpers.")
12223 (license license:bsd-3)))
12224
12225(define-public ghc-trifecta
12226 (package
12227 (name "ghc-trifecta")
12228 (version "2")
12229 (source (origin
12230 (method url-fetch)
12231 (uri (string-append
12232 "https://hackage.haskell.org/package/trifecta/"
12233 "trifecta-" version ".tar.gz"))
12234 (sha256
12235 (base32
12236 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12237 (build-system haskell-build-system)
5ffe8cfd
TS
12238 (arguments
12239 `(#:tests? #f ; doctest suite fails to build on i686
12240 #:cabal-revision
12241 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
12242 (inputs
12243 `(("ghc-reducers" ,ghc-reducers)
12244 ("ghc-semigroups" ,ghc-semigroups)
12245 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12246 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12247 ("ghc-blaze-builder" ,ghc-blaze-builder)
12248 ("ghc-blaze-html" ,ghc-blaze-html)
12249 ("ghc-blaze-markup" ,ghc-blaze-markup)
12250 ("ghc-charset" ,ghc-charset)
12251 ("ghc-comonad" ,ghc-comonad)
12252 ("ghc-fingertree" ,ghc-fingertree)
12253 ("ghc-hashable" ,ghc-hashable)
12254 ("ghc-lens" ,ghc-lens)
12255 ("ghc-parsers" ,ghc-parsers)
12256 ("ghc-profunctors" ,ghc-profunctors)
12257 ("ghc-unordered-containers" ,ghc-unordered-containers)
12258 ("ghc-utf8-string" ,ghc-utf8-string)))
12259 (native-inputs
12260 `(("cabal-doctest" ,cabal-doctest)
12261 ("ghc-doctest" ,ghc-doctest)
12262 ("ghc-quickcheck" ,ghc-quickcheck)))
12263 (home-page "https://github.com/ekmett/trifecta/")
12264 (synopsis "Parser combinator library with convenient diagnostics")
12265 (description "Trifecta is a modern parser combinator library for Haskell,
12266with slicing and Clang-style colored diagnostics.")
12267 (license license:bsd-3)))
12268
12269(define-public ghc-tuple-th
12270 (package
12271 (name "ghc-tuple-th")
12272 (version "0.2.5")
12273 (source
12274 (origin
12275 (method url-fetch)
12276 (uri (string-append "https://hackage.haskell.org/package/"
12277 "tuple-th-" version "/"
12278 "tuple-th-" version ".tar.gz"))
12279 (sha256
12280 (base32
12281 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12282 (build-system haskell-build-system)
12283 (home-page "https://github.com/DanielSchuessler/tuple-th")
12284 (synopsis "Generate utility functions for tuples of statically known size
12285for Haskell")
12286 (description "This Haskell package contains Template Haskell functions for
12287generating functions similar to those in @code{Data.List} for tuples of
12288statically known size.")
12289 (license license:bsd-3)))
12290
12291(define-public ghc-typed-process
12292 (package
12293 (name "ghc-typed-process")
72fb84a5 12294 (version "0.2.6.0")
dddbc90c
RV
12295 (source
12296 (origin
12297 (method url-fetch)
12298 (uri (string-append "https://hackage.haskell.org/package/"
12299 "typed-process/typed-process-"
12300 version ".tar.gz"))
12301 (sha256
12302 (base32
72fb84a5 12303 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
12304 (build-system haskell-build-system)
12305 (inputs
72fb84a5
TS
12306 `(("ghc-async" ,ghc-async)
12307 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
12308 (native-inputs
12309 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12310 ("ghc-hspec" ,ghc-hspec)
12311 ("hspec-discover" ,hspec-discover)
12312 ("ghc-temporary" ,ghc-temporary)))
12313 (home-page "https://haskell-lang.org/library/typed-process")
12314 (synopsis "Run external processes with strong typing of streams")
12315 (description
12316 "This library provides the ability to launch and interact with external
12317processes. It wraps around the @code{process} library, and intends to improve
12318upon it.")
12319 (license license:expat)))
12320
d392f803
AG
12321(define-public ghc-unagi-chan
12322 (package
12323 (name "ghc-unagi-chan")
12324 (version "0.4.1.2")
12325 (source
12326 (origin
12327 (method url-fetch)
12328 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12329 "/unagi-chan-" version ".tar.gz"))
12330 (sha256
12331 (base32
12332 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12333 (build-system haskell-build-system)
12334 (inputs
12335 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12336 ("ghc-primitive" ,ghc-primitive)))
12337 (arguments
12338 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12339 #:cabal-revision
12340 ("1"
12341 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 12342 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
12343 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12344 (description
12345 "This library provides implementations of concurrent FIFO queues (for
12346both general boxed and primitive unboxed values) that are fast, perform well
12347under contention, and offer a Chan-like interface. The library may be of
12348limited usefulness outside of x86 architectures where the fetch-and-add
12349instruction is not available.")
12350 (license license:bsd-3)))
12351
dddbc90c
RV
12352(define-public ghc-unbounded-delays
12353 (package
12354 (name "ghc-unbounded-delays")
12355 (version "0.1.1.0")
12356 (source
12357 (origin
12358 (method url-fetch)
12359 (uri (string-append
12360 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12361 version
12362 ".tar.gz"))
12363 (sha256
12364 (base32
12365 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12366 (build-system haskell-build-system)
12367 (home-page "https://github.com/basvandijk/unbounded-delays")
12368 (synopsis "Unbounded thread delays and timeouts")
12369 (description "The @code{threadDelay} and @code{timeout} functions from the
12370Haskell base library use the bounded @code{Int} type for specifying the delay
12371or timeout period. This package provides alternative functions which use the
12372unbounded @code{Integer} type.")
12373 (license license:bsd-3)))
12374
12375(define-public ghc-unexceptionalio
12376 (package
12377 (name "ghc-unexceptionalio")
12378 (version "0.4.0")
12379 (source
12380 (origin
12381 (method url-fetch)
12382 (uri (string-append "https://hackage.haskell.org/package/"
12383 "unexceptionalio-" version "/" "unexceptionalio-"
12384 version ".tar.gz"))
12385 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12386 (build-system haskell-build-system)
12387 (home-page "https://github.com/singpolyma/unexceptionalio")
12388 (synopsis "IO without any non-error, synchronous exceptions")
12389 (description "When you've caught all the exceptions that can be
12390handled safely, this is what you're left with.")
12391 (license license:isc)))
12392
b69d4aa7
TS
12393(define-public ghc-unicode-transforms
12394 (package
12395 (name "ghc-unicode-transforms")
12396 (version "0.3.6")
12397 (source
12398 (origin
12399 (method url-fetch)
12400 (uri (string-append "https://hackage.haskell.org/package/"
12401 "unicode-transforms/unicode-transforms-"
12402 version ".tar.gz"))
12403 (sha256
12404 (base32
12405 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12406 (build-system haskell-build-system)
12407 (inputs
12408 `(("ghc-bitarray" ,ghc-bitarray)))
12409 (native-inputs
12410 `(("ghc-quickcheck" ,ghc-quickcheck)
12411 ("ghc-getopt-generics" ,ghc-getopt-generics)
12412 ("ghc-split" ,ghc-split)))
12413 (home-page "https://github.com/composewell/unicode-transforms")
12414 (synopsis "Unicode normalization")
12415 (description "This library provides tools for fast Unicode 12.1.0
12416normalization in Haskell (normalization forms C, KC, D, and KD).")
12417 (license license:bsd-3)))
12418
dddbc90c
RV
12419(define-public ghc-union-find
12420 (package
12421 (name "ghc-union-find")
12422 (version "0.2")
12423 (source (origin
12424 (method url-fetch)
12425 (uri (string-append
12426 "https://hackage.haskell.org/package/union-find/union-find-"
12427 version ".tar.gz"))
12428 (sha256
12429 (base32
12430 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12431 (build-system haskell-build-system)
12432 (home-page "https://github.com/nominolo/union-find")
12433 (synopsis "Efficient union and equivalence testing of sets")
12434 (description
12435 "The Union/Find algorithm implements these operations in (effectively)
12436constant-time:
12437@enumerate
12438@item Check whether two elements are in the same equivalence class.
12439@item Create a union of two equivalence classes.
12440@item Look up the descriptor of the equivalence class.
12441@end enumerate\n")
12442 (license license:bsd-3)))
12443
12444(define-public ghc-uniplate
12445 (package
12446 (name "ghc-uniplate")
12447 (version "1.6.12")
12448 (source
12449 (origin
12450 (method url-fetch)
12451 (uri (string-append
12452 "https://hackage.haskell.org/package/uniplate/uniplate-"
12453 version
12454 ".tar.gz"))
12455 (sha256
12456 (base32
12457 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12458 (build-system haskell-build-system)
12459 (inputs
12460 `(("ghc-syb" ,ghc-syb)
12461 ("ghc-hashable" ,ghc-hashable)
12462 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12463 (home-page "http://community.haskell.org/~ndm/uniplate/")
12464 (synopsis "Simple, concise and fast generic operations")
12465 (description "Uniplate is a library for writing simple and concise generic
12466operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12467work, but is substantially simpler and faster.")
12468 (license license:bsd-3)))
12469
12470(define-public ghc-unix-compat
12471 (package
12472 (name "ghc-unix-compat")
bc82e9f5 12473 (version "0.5.2")
dddbc90c
RV
12474 (source
12475 (origin
12476 (method url-fetch)
12477 (uri (string-append
12478 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12479 version
12480 ".tar.gz"))
12481 (sha256
12482 (base32
bc82e9f5 12483 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12484 (build-system haskell-build-system)
12485 (home-page
12486 "https://github.com/jystic/unix-compat")
12487 (synopsis "Portable POSIX-compatibility layer")
12488 (description
12489 "This package provides portable implementations of parts of the unix
12490package. This package re-exports the unix package when available. When it
12491isn't available, portable implementations are used.")
12492 (license license:bsd-3)))
12493
12494(define-public ghc-unix-time
12495 (package
12496 (name "ghc-unix-time")
fad9cff2 12497 (version "0.4.7")
dddbc90c
RV
12498 (source
12499 (origin
12500 (method url-fetch)
12501 (uri (string-append
12502 "https://hackage.haskell.org/package/unix-time/unix-time-"
12503 version
12504 ".tar.gz"))
12505 (sha256
12506 (base32
fad9cff2 12507 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12508 (build-system haskell-build-system)
12509 (arguments
12510 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12511 ; is weird, that should be provided by GHC 7.10.2.
12512 (inputs
12513 `(("ghc-old-time" ,ghc-old-time)
12514 ("ghc-old-locale" ,ghc-old-locale)))
12515 (home-page "https://hackage.haskell.org/package/unix-time")
12516 (synopsis "Unix time parser/formatter and utilities")
12517 (description "This library provides fast parsing and formatting utilities
12518for Unix time in Haskell.")
12519 (license license:bsd-3)))
12520
12521(define-public ghc-unliftio
12522 (package
12523 (name "ghc-unliftio")
a4084db1 12524 (version "0.2.12")
dddbc90c
RV
12525 (source
12526 (origin
12527 (method url-fetch)
12528 (uri (string-append
12529 "https://hackage.haskell.org/package/unliftio/unliftio-"
12530 version
12531 ".tar.gz"))
12532 (sha256
12533 (base32
a4084db1 12534 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12535 (build-system haskell-build-system)
12536 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12537 (inputs
12538 `(("ghc-async" ,ghc-async)
12539 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12540 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12541 (home-page "https://github.com/fpco/unliftio")
12542 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12543IO (batteries included)")
12544 (description "This Haskell package provides the core @code{MonadUnliftIO}
12545typeclass, a number of common instances, and a collection of common functions
12546working with it.")
12547 (license license:expat)))
12548
12549(define-public ghc-unliftio-core
12550 (package
12551 (name "ghc-unliftio-core")
2ae42618 12552 (version "0.1.2.0")
dddbc90c
RV
12553 (source
12554 (origin
12555 (method url-fetch)
12556 (uri (string-append "https://hackage.haskell.org/package/"
12557 "unliftio-core-" version "/"
12558 "unliftio-core-" version ".tar.gz"))
12559 (sha256
12560 (base32
2ae42618 12561 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12562 (build-system haskell-build-system)
12563 (arguments
12564 `(#:cabal-revision
2ae42618 12565 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12566 (home-page
12567 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12568 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12569 (description "This Haskell package provides the core @code{MonadUnliftIO}
12570typeclass, instances for base and transformers, and basic utility
12571functions.")
12572 (license license:expat)))
12573
12574(define-public ghc-unordered-containers
12575 (package
12576 (name "ghc-unordered-containers")
ca01f8d3 12577 (version "0.2.10.0")
dddbc90c
RV
12578 (outputs '("out" "doc"))
12579 (source
12580 (origin
12581 (method url-fetch)
12582 (uri (string-append
12583 "https://hackage.haskell.org/package/unordered-containers"
12584 "/unordered-containers-" version ".tar.gz"))
12585 (sha256
12586 (base32
ca01f8d3 12587 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12588 (build-system haskell-build-system)
12589 (inputs
12590 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12591 ("ghc-hunit" ,ghc-hunit)
12592 ("ghc-quickcheck" ,ghc-quickcheck)
12593 ("ghc-test-framework" ,ghc-test-framework)
12594 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12595 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12596 ("ghc-hashable" ,ghc-hashable)))
12597 (home-page
12598 "https://github.com/tibbe/unordered-containers")
12599 (synopsis
12600 "Efficient hashing-based container types")
12601 (description
12602 "Efficient hashing-based container types. The containers have been
12603optimized for performance critical use, both in terms of large data quantities
12604and high speed.")
12605 (license license:bsd-3)))
12606
12607(define-public ghc-unordered-containers-bootstrap
12608 (package
12609 (inherit ghc-unordered-containers)
12610 (name "ghc-unordered-containers-bootstrap")
12611 (arguments `(#:tests? #f))
12612 (inputs
12613 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12614 (properties '((hidden? #t)))))
dddbc90c 12615
a52f4c57
JS
12616(define-public ghc-unsafe
12617 (package
12618 (name "ghc-unsafe")
12619 (version "0.0")
12620 (source
12621 (origin
12622 (method url-fetch)
12623 (uri
12624 (string-append
12625 "https://hackage.haskell.org/package/unsafe/unsafe-"
12626 version ".tar.gz"))
12627 (sha256
12628 (base32
12629 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12630 (build-system haskell-build-system)
12631 (home-page "https://hackage.haskell.org/package/unsafe")
12632 (synopsis "Unified interface to unsafe functions")
12633 (description "Safe Haskell introduced the notion of safe and unsafe
12634modules. In order to make as many as possible modules ``safe'', the
12635well-known unsafe functions were moved to distinguished modules. This
12636makes it hard to write packages that work with both old and new versions
12637of GHC. This package provides a single module System.Unsafe that
12638exports the unsafe functions from the base package. It provides them in
12639a style ready for qualification, that is, you should import them by
12640@code{import qualified System.Unsafe as Unsafe}.")
12641 (license license:bsd-3)))
12642
dddbc90c
RV
12643(define-public ghc-uri-bytestring
12644 (package
12645 (name "ghc-uri-bytestring")
d35ffd39 12646 (version "0.3.2.2")
dddbc90c
RV
12647 (source
12648 (origin
12649 (method url-fetch)
12650 (uri (string-append "https://hackage.haskell.org/package/"
12651 "uri-bytestring-" version "/"
12652 "uri-bytestring-" version ".tar.gz"))
12653 (sha256
12654 (base32
d35ffd39 12655 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12656 (build-system haskell-build-system)
12657 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12658 ("ghc-blaze-builder" ,ghc-blaze-builder)
12659 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12660 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12661 ("ghc-tasty" ,ghc-tasty)
12662 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12663 ("ghc-hedgehog" ,ghc-hedgehog)
12664 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12665 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12666 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12667 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12668 (home-page "https://github.com/Soostone/uri-bytestring")
12669 (synopsis "Haskell URI parsing as ByteStrings")
12670 (description "This Haskell package aims to be an RFC3986 compliant URI
12671parser that uses ByteStrings for parsing and representing the URI data.")
12672 (license license:bsd-3)))
12673
d7ad0823
JS
12674(define-public ghc-utf8-light
12675 (package
12676 (name "ghc-utf8-light")
12677 (version "0.4.2")
12678 (source
12679 (origin
12680 (method url-fetch)
12681 (uri (string-append
12682 "mirror://hackage/package/utf8-light/utf8-light-"
12683 version
12684 ".tar.gz"))
12685 (sha256
12686 (base32
12687 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
12688 (build-system haskell-build-system)
12689 (home-page
12690 "http://hackage.haskell.org/package/utf8-light")
12691 (synopsis "Lightweight unicode support for Haskell")
12692 (description
12693 "This package profides a class for encoding and decoding UTF8 strings
12694with instances for several common types. It also includes several functions
12695for working with UTF8. It aims to be lightweight, depending only on Base and
12696including only one module.")
12697 (license license:bsd-3)))
12698
dddbc90c
RV
12699(define-public ghc-utf8-string
12700 (package
12701 (name "ghc-utf8-string")
12702 (version "1.0.1.1")
12703 (source
12704 (origin
12705 (method url-fetch)
12706 (uri (string-append
12707 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12708 version
12709 ".tar.gz"))
12710 (sha256
12711 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12712 (build-system haskell-build-system)
12713 (arguments
12714 `(#:cabal-revision
12715 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12716 (home-page "https://github.com/glguy/utf8-string/")
12717 (synopsis "Support for reading and writing UTF8 Strings")
12718 (description
12719 "A UTF8 layer for Strings. The utf8-string package provides operations
12720for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12721UTF8 without truncation.")
12722 (license license:bsd-3)))
12723
12724(define-public ghc-utility-ht
12725 (package
12726 (name "ghc-utility-ht")
12727 (version "0.0.14")
12728 (home-page "https://hackage.haskell.org/package/utility-ht")
12729 (source
12730 (origin
12731 (method url-fetch)
12732 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12733 (sha256
12734 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12735 (build-system haskell-build-system)
12736 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12737 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12738 (description "This package includes Hakell modules providing various
12739helper functions for Lists, Maybes, Tuples, Functions.")
12740 (license license:bsd-3)))
12741
12742(define-public ghc-uuid
12743 (package
12744 (name "ghc-uuid")
12745 (version "1.3.13")
12746 (source
12747 (origin
12748 (method url-fetch)
12749 (uri (string-append "https://hackage.haskell.org/package/"
12750 "uuid-" version "/"
12751 "uuid-" version ".tar.gz"))
12752 (sha256
12753 (base32
12754 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12755 (build-system haskell-build-system)
12756 (arguments
12757 `(#:cabal-revision
12758 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12759 #:phases
12760 (modify-phases %standard-phases
12761 (add-before 'configure 'strip-test-framework-constraints
12762 (lambda _
12763 (substitute* "uuid.cabal"
12764 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12765 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12766 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12767 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12768 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12769 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12770 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12771 ("ghc-entropy" ,ghc-entropy)
12772 ("ghc-network-info" ,ghc-network-info)
12773 ("ghc-random" ,ghc-random)
12774 ("ghc-uuid-types" ,ghc-uuid-types)))
12775 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12776 ("ghc-quickcheck" ,ghc-quickcheck)
12777 ("ghc-tasty" ,ghc-tasty)
12778 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12779 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12780 (home-page "https://github.com/hvr/uuid")
12781 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12782 (description "This Haskell library provides utilities creating, comparing,
12783parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12784 (license license:bsd-3)))
12785
12786(define-public ghc-uuid-types
12787 (package
12788 (name "ghc-uuid-types")
12789 (version "1.0.3")
12790 (source
12791 (origin
12792 (method url-fetch)
12793 (uri (string-append "https://hackage.haskell.org/package/"
12794 "uuid-types-" version "/"
12795 "uuid-types-" version ".tar.gz"))
12796 (sha256
12797 (base32
12798 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12799 (build-system haskell-build-system)
12800 (arguments
12801 `(#:phases
12802 (modify-phases %standard-phases
12803 (add-before 'configure 'strip-test-framework-constraints
12804 (lambda _
12805 (substitute* "uuid-types.cabal"
12806 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12807 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12808 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12809 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12810 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12811 (inputs `(("ghc-hashable" ,ghc-hashable)
12812 ("ghc-random" ,ghc-random)))
12813 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12814 ("ghc-quickcheck" ,ghc-quickcheck)
12815 ("ghc-tasty" ,ghc-tasty)
12816 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12817 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12818 (home-page "https://github.com/hvr/uuid")
12819 (synopsis "Haskell type definitions for UUIDs")
12820 (description "This Haskell library contains type definitions for
12821@dfn{Universally Unique Identifiers} or
12822@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12823functions.")
12824 (license license:bsd-3)))
12825
12826(define-public ghc-validation
12827 (package
12828 (name "ghc-validation")
08397fde 12829 (version "1.1")
dddbc90c
RV
12830 (source
12831 (origin
12832 (method url-fetch)
12833 (uri (string-append
12834 "mirror://hackage/package/validation/validation-"
12835 version
12836 ".tar.gz"))
12837 (sha256
12838 (base32
08397fde 12839 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12840 (build-system haskell-build-system)
12841 (arguments
12842 `(#:cabal-revision
08397fde 12843 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12844 (inputs
12845 `(("ghc-semigroups" ,ghc-semigroups)
12846 ("ghc-semigroupoids" ,ghc-semigroupoids)
12847 ("ghc-bifunctors" ,ghc-bifunctors)
12848 ("ghc-lens" ,ghc-lens)))
12849 (native-inputs
12850 `(("ghc-hedgehog" ,ghc-hedgehog)
12851 ("ghc-hunit" ,ghc-hunit)))
12852 (home-page "https://github.com/qfpl/validation")
12853 (synopsis
12854 "Data-type like Either but with an accumulating Applicative")
12855 (description
12856 "A data-type like Either but with differing properties and type-class
12857instances.
12858
12859Library support is provided for this different representation, including
12860@code{lens}-related functions for converting between each and abstracting over
12861their similarities.
12862
12863The @code{Validation} data type is isomorphic to @code{Either}, but has an
12864instance of @code{Applicative} that accumulates on the error side. That is to
12865say, if two (or more) errors are encountered, they are appended using a
12866@{Semigroup} operation.
12867
12868As a consequence of this @code{Applicative} instance, there is no
12869corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12870example of, \"An applicative functor that is not a monad.\"")
12871 (license license:bsd-3)))
12872
12873(define-public ghc-validity
12874 (package
12875 (name "ghc-validity")
3f1ba75d 12876 (version "0.9.0.2")
dddbc90c
RV
12877 (source
12878 (origin
12879 (method url-fetch)
12880 (uri (string-append
12881 "https://hackage.haskell.org/package/validity/validity-"
12882 version
12883 ".tar.gz"))
12884 (sha256
12885 (base32
3f1ba75d 12886 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12887 (build-system haskell-build-system)
12888 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12889 ("hspec-discover" ,hspec-discover)))
12890 (home-page
12891 "https://github.com/NorfairKing/validity")
12892 (synopsis "Validity typeclass")
12893 (description
12894 "Values of custom types usually have invariants imposed upon them. This
12895package provides the @code{Validity} type class, which makes these invariants
12896explicit by providing a function to check whether the invariants hold.")
12897 (license license:expat)))
12898
12899(define-public ghc-vault
12900 (package
12901 (name "ghc-vault")
b40a436e 12902 (version "0.3.1.3")
dddbc90c
RV
12903 (source
12904 (origin
12905 (method url-fetch)
12906 (uri (string-append
12907 "https://hackage.haskell.org/package/vault/vault-"
12908 version
12909 ".tar.gz"))
12910 (sha256
12911 (base32
b40a436e 12912 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12913 (build-system haskell-build-system)
12914 (inputs
12915 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12916 ("ghc-hashable" ,ghc-hashable)
b40a436e 12917 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12918 (home-page
12919 "https://github.com/HeinrichApfelmus/vault")
12920 (synopsis "Persistent store for arbitrary values")
12921 (description "This package provides vaults for Haskell. A vault is a
12922persistent store for values of arbitrary types. It's like having first-class
12923access to the storage space behind @code{IORefs}. The data structure is
12924analogous to a bank vault, where you can access different bank boxes with
12925different keys; hence the name. Also provided is a @code{locker} type,
12926representing a store for a single element.")
12927 (license license:bsd-3)))
12928
12929(define-public ghc-vector
12930 (package
12931 (name "ghc-vector")
3ad67f6b 12932 (version "0.12.0.3")
dddbc90c
RV
12933 (outputs '("out" "doc"))
12934 (source
12935 (origin
12936 (method url-fetch)
12937 (uri (string-append
12938 "https://hackage.haskell.org/package/vector/vector-"
12939 version
12940 ".tar.gz"))
12941 (sha256
12942 (base32
3ad67f6b 12943 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12944 (build-system haskell-build-system)
12945 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12946 ;; disabled for now.
12947 (arguments
3ad67f6b 12948 `(#:tests? #f))
dddbc90c
RV
12949 (inputs
12950 `(("ghc-primitive" ,ghc-primitive)
12951 ("ghc-random" ,ghc-random)
12952 ("ghc-quickcheck" ,ghc-quickcheck)
12953 ;; ("ghc-hunit" ,ghc-hunit)
12954 ;; ("ghc-test-framework" ,ghc-test-framework)
12955 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12956 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12957 ))
12958 (home-page "https://github.com/haskell/vector")
12959 (synopsis "Efficient Arrays")
12960 (description "This library provides an efficient implementation of
12961Int-indexed arrays (both mutable and immutable), with a powerful loop
12962optimisation framework.")
12963 (license license:bsd-3)))
12964
12965(define-public ghc-vector-algorithms
12966 (package
12967 (name "ghc-vector-algorithms")
e71f316f 12968 (version "0.8.0.1")
dddbc90c
RV
12969 (source
12970 (origin
12971 (method url-fetch)
12972 (uri (string-append "https://hackage.haskell.org/package/"
12973 "vector-algorithms-" version "/"
12974 "vector-algorithms-" version ".tar.gz"))
12975 (sha256
12976 (base32
e71f316f 12977 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12978 (build-system haskell-build-system)
12979 (inputs
12980 `(("ghc-vector" ,ghc-vector)))
12981 (native-inputs
12982 `(("ghc-quickcheck" ,ghc-quickcheck)))
12983 (home-page "https://github.com/bos/math-functions")
12984 (synopsis "Algorithms for vector arrays in Haskell")
12985 (description "This Haskell library algorithms for vector arrays.")
12986 (license license:bsd-3)))
12987
12988(define-public ghc-vector-binary-instances
12989 (package
12990 (name "ghc-vector-binary-instances")
ca0701ef 12991 (version "0.2.5.1")
dddbc90c
RV
12992 (source
12993 (origin
12994 (method url-fetch)
12995 (uri (string-append
12996 "https://hackage.haskell.org/package/"
12997 "vector-binary-instances/vector-binary-instances-"
12998 version ".tar.gz"))
12999 (sha256
13000 (base32
ca0701ef 13001 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13002 (build-system haskell-build-system)
dddbc90c
RV
13003 (inputs
13004 `(("ghc-vector" ,ghc-vector)))
13005 (native-inputs
13006 `(("ghc-tasty" ,ghc-tasty)
13007 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13008 (home-page "https://github.com/bos/vector-binary-instances")
13009 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
13010 (description "This library provides instances of @code{Binary} for the
13011types defined in the @code{vector} package, making it easy to serialize
13012vectors to and from disk. We use the generic interface to vectors, so all
13013vector types are supported. Specific instances are provided for unboxed,
13014boxed and storable vectors.")
13015 (license license:bsd-3)))
13016
13017(define-public ghc-vector-builder
13018 (package
13019 (name "ghc-vector-builder")
1fc05441 13020 (version "0.3.8")
dddbc90c
RV
13021 (source
13022 (origin
13023 (method url-fetch)
13024 (uri (string-append "https://hackage.haskell.org/package/"
13025 "vector-builder-" version "/"
13026 "vector-builder-" version ".tar.gz"))
13027 (sha256
13028 (base32
1fc05441 13029 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
13030 (build-system haskell-build-system)
13031 (inputs `(("ghc-vector" ,ghc-vector)
13032 ("ghc-semigroups" ,ghc-semigroups)
13033 ("ghc-base-prelude" ,ghc-base-prelude)))
13034 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13035 ("ghc-tasty" ,ghc-tasty)
13036 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13037 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
13038 ("ghc-hunit" ,ghc-hunit)
13039 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
13040 ("ghc-rerebase" ,ghc-rerebase)))
13041 (home-page "https://github.com/nikita-volkov/vector-builder")
13042 (synopsis "Vector builder for Haskell")
13043 (description "This Haskell package provides an API for constructing vectors.
13044It provides the composable @code{Builder} abstraction, which has instances of the
13045@code{Monoid} and @code{Semigroup} classes.
13046
13047You would first use the @code{Builder} abstraction to specify the structure of
13048the vector; then you can execute the builder to actually produce the
13049vector. ")
13050 (license license:expat)))
13051
13052(define-public ghc-vector-th-unbox
13053 (package
13054 (name "ghc-vector-th-unbox")
63056e61 13055 (version "0.2.1.7")
dddbc90c
RV
13056 (source
13057 (origin
13058 (method url-fetch)
13059 (uri (string-append "https://hackage.haskell.org/package/"
13060 "vector-th-unbox-" version "/"
13061 "vector-th-unbox-" version ".tar.gz"))
13062 (sha256
13063 (base32
63056e61 13064 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
13065 (build-system haskell-build-system)
13066 (inputs
13067 `(("ghc-vector" ,ghc-vector)
13068 ("ghc-data-default" ,ghc-data-default)))
13069 (home-page "https://github.com/liyang/vector-th-unbox")
13070 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
13071 (description "This Haskell library provides a Template Haskell
13072deriver for unboxed vectors, given a pair of coercion functions to
13073and from some existing type with an Unbox instance.")
13074 (license license:bsd-3)))
13075
13076(define-public ghc-void
13077 (package
13078 (name "ghc-void")
51889121 13079 (version "0.7.3")
dddbc90c
RV
13080 (source
13081 (origin
13082 (method url-fetch)
13083 (uri (string-append
13084 "https://hackage.haskell.org/package/void/void-"
13085 version
13086 ".tar.gz"))
13087 (sha256
13088 (base32
51889121 13089 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
13090 (build-system haskell-build-system)
13091 (inputs
13092 `(("ghc-semigroups" ,ghc-semigroups)
13093 ("ghc-hashable" ,ghc-hashable)))
13094 (home-page "https://github.com/ekmett/void")
13095 (synopsis
13096 "Logically uninhabited data type")
13097 (description
13098 "A Haskell 98 logically uninhabited data type, used to indicate that a
13099given term should not exist.")
13100 (license license:bsd-3)))
13101
13102(define-public ghc-wave
13103 (package
13104 (name "ghc-wave")
1631a0f7 13105 (version "0.2.0")
dddbc90c
RV
13106 (source (origin
13107 (method url-fetch)
13108 (uri (string-append
13109 "https://hackage.haskell.org/package/wave/wave-"
13110 version
13111 ".tar.gz"))
13112 (sha256
13113 (base32
1631a0f7 13114 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
13115 (build-system haskell-build-system)
13116 (arguments
13117 '(#:phases
13118 (modify-phases %standard-phases
13119 (add-before 'configure 'update-constraints
13120 (lambda _
13121 (substitute* "wave.cabal"
13122 (("temporary.* < 1\\.3")
13123 "temporary >= 1.1 && < 1.4")))))))
13124 (inputs
13125 `(("ghc-cereal" ,ghc-cereal)
13126 ("ghc-data-default-class"
13127 ,ghc-data-default-class)
13128 ("ghc-quickcheck" ,ghc-quickcheck)
13129 ("ghc-temporary" ,ghc-temporary)))
13130 (native-inputs
13131 `(("hspec-discover" ,hspec-discover)
13132 ("ghc-hspec" ,ghc-hspec)))
13133 (home-page "https://github.com/mrkkrp/wave")
13134 (synopsis "Work with WAVE and RF64 files in Haskell")
13135 (description "This package allows you to work with WAVE and RF64
13136files in Haskell.")
13137 (license license:bsd-3)))
13138
13139(define-public ghc-wcwidth
13140 (package
13141 (name "ghc-wcwidth")
13142 (version "0.0.2")
13143 (source
13144 (origin
13145 (method url-fetch)
13146 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
13147 version ".tar.gz"))
13148 (sha256
13149 (base32
13150 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13151 (build-system haskell-build-system)
13152 (inputs
13153 `(("ghc-setlocale" ,ghc-setlocale)
13154 ("ghc-utf8-string" ,ghc-utf8-string)
13155 ("ghc-attoparsec" ,ghc-attoparsec)))
13156 (home-page "https://github.com/solidsnack/wcwidth/")
13157 (synopsis "Haskell bindings to wcwidth")
13158 (description "This package provides Haskell bindings to your system's
13159native wcwidth and a command line tool to examine the widths assigned by it.
13160The command line tool can compile a width table to Haskell code that assigns
13161widths to the Char type.")
13162 (license license:bsd-3)))
13163
13164(define-public ghc-wcwidth-bootstrap
13165 (package
13166 (inherit ghc-wcwidth)
13167 (name "ghc-wcwidth-bootstrap")
13168 (inputs
13169 `(("ghc-setlocale" ,ghc-setlocale)
13170 ("ghc-utf8-string" ,ghc-utf8-string)
13171 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 13172 (properties '((hidden? #t)))))
dddbc90c
RV
13173
13174(define-public ghc-weigh
13175 (package
13176 (name "ghc-weigh")
b6d9777f 13177 (version "0.0.14")
dddbc90c
RV
13178 (source
13179 (origin
13180 (method url-fetch)
13181 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13182 "weigh-" version ".tar.gz"))
13183 (sha256
13184 (base32
b6d9777f 13185 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
13186 (build-system haskell-build-system)
13187 (inputs
13188 `(("ghc-split" ,ghc-split)
13189 ("ghc-temporary" ,ghc-temporary)))
13190 (home-page "https://github.com/fpco/weigh#readme")
13191 (synopsis "Measure allocations of a Haskell functions/values")
13192 (description "This package provides tools to measure the memory usage of a
13193Haskell value or function.")
13194 (license license:bsd-3)))
13195
13196(define-public ghc-wl-pprint
13197 (package
13198 (name "ghc-wl-pprint")
13199 (version "1.2.1")
13200 (source (origin
13201 (method url-fetch)
13202 (uri (string-append
13203 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13204 version ".tar.gz"))
13205 (sha256
13206 (base32
13207 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13208 (build-system haskell-build-system)
13209 (home-page "https://hackage.haskell.org/package/wl-pprint")
13210 (synopsis "Wadler/Leijen pretty printer")
13211 (description
13212 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13213Printer}. This version allows the library user to declare overlapping
13214instances of the @code{Pretty} class.")
13215 (license license:bsd-3)))
13216
13217(define-public ghc-wl-pprint-annotated
13218 (package
13219 (name "ghc-wl-pprint-annotated")
13220 (version "0.1.0.1")
13221 (source
13222 (origin
13223 (method url-fetch)
13224 (uri (string-append
13225 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13226 version
13227 ".tar.gz"))
13228 (sha256
13229 (base32
13230 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13231 (build-system haskell-build-system)
13232 (native-inputs
13233 `(("ghc-tasty" ,ghc-tasty)
13234 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13235 (home-page
13236 "https://github.com/minad/wl-pprint-annotated#readme")
13237 (synopsis
13238 "Wadler/Leijen pretty printer with annotation support")
13239 (description
13240 "Annotations are useful for coloring. This is a limited version of
13241@code{wl-pprint-extras} without support for point effects and without the free
13242monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13243Compared to @code{annotated-wl-pprint} this library provides a slightly
13244modernized interface.")
13245 (license license:bsd-3)))
13246
13247(define-public ghc-wl-pprint-text
13248 (package
13249 (name "ghc-wl-pprint-text")
13250 (version "1.2.0.0")
13251 (source
13252 (origin
13253 (method url-fetch)
13254 (uri (string-append
13255 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13256 version ".tar.gz"))
13257 (sha256
13258 (base32
13259 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13260 (build-system haskell-build-system)
13261 (inputs
13262 `(("ghc-base-compat" ,ghc-base-compat)))
13263 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13264 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13265 (description
13266 "A clone of wl-pprint for use with the text library.")
13267 (license license:bsd-3)))
13268
13269(define-public ghc-word8
13270 (package
13271 (name "ghc-word8")
13272 (version "0.1.3")
13273 (source
13274 (origin
13275 (method url-fetch)
13276 (uri (string-append
13277 "https://hackage.haskell.org/package/word8/word8-"
13278 version
13279 ".tar.gz"))
13280 (sha256
13281 (base32
13282 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13283 (build-system haskell-build-system)
13284 (native-inputs
13285 `(("ghc-hspec" ,ghc-hspec)
13286 ("hspec-discover" ,hspec-discover)))
13287 (home-page "https://hackage.haskell.org/package/word8")
13288 (synopsis "Word8 library for Haskell")
13289 (description "Word8 library to be used with @code{Data.ByteString}.")
13290 (license license:bsd-3)))
13291
13292(define-public ghc-x11
13293 (package
13294 (name "ghc-x11")
6c4581a3 13295 (version "1.9.1")
dddbc90c
RV
13296 (source
13297 (origin
13298 (method url-fetch)
13299 (uri (string-append "https://hackage.haskell.org/package/X11/"
13300 "X11-" version ".tar.gz"))
13301 (sha256
6c4581a3 13302 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
13303 (build-system haskell-build-system)
13304 (inputs
13305 `(("libx11" ,libx11)
13306 ("libxrandr" ,libxrandr)
13307 ("libxinerama" ,libxinerama)
13308 ("libxscrnsaver" ,libxscrnsaver)
13309 ("ghc-data-default" ,ghc-data-default)))
13310 (home-page "https://github.com/haskell-pkg-janitors/X11")
13311 (synopsis "Bindings to the X11 graphics library")
13312 (description
13313 "This package provides Haskell bindings to the X11 graphics library. The
13314bindings are a direct translation of the C bindings.")
13315 (license license:bsd-3)))
13316
13317(define-public ghc-x11-xft
13318 (package
13319 (name "ghc-x11-xft")
13320 (version "0.3.1")
13321 (source
13322 (origin
13323 (method url-fetch)
13324 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13325 "X11-xft-" version ".tar.gz"))
13326 (sha256
13327 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13328 (inputs
13329 `(("ghc-x11" ,ghc-x11)
13330 ("ghc-utf8-string" ,ghc-utf8-string)
13331 ("libx11" ,libx11)
13332 ("libxft" ,libxft)
13333 ("xorgproto" ,xorgproto)))
13334 (native-inputs
13335 `(("pkg-config" ,pkg-config)))
13336 (build-system haskell-build-system)
13337 (home-page "https://hackage.haskell.org/package/X11-xft")
13338 (synopsis "Bindings to Xft")
13339 (description
13340 "Bindings to the Xft, X Free Type interface library, and some Xrender
13341parts.")
13342 (license license:lgpl2.1)))
13343
13344(define-public ghc-xdg-basedir
13345 (package
13346 (name "ghc-xdg-basedir")
13347 (version "0.2.2")
13348 (source
13349 (origin
13350 (method url-fetch)
13351 (uri (string-append
13352 "https://hackage.haskell.org/package/xdg-basedir/"
13353 "xdg-basedir-" version ".tar.gz"))
13354 (sha256
13355 (base32
13356 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13357 (build-system haskell-build-system)
13358 (home-page "http://github.com/willdonnelly/xdg-basedir")
13359 (synopsis "XDG Base Directory library for Haskell")
13360 (description "This package provides a library implementing the XDG Base Directory spec.")
13361 (license license:bsd-3)))
13362
13363(define-public ghc-xml
13364 (package
13365 (name "ghc-xml")
13366 (version "1.3.14")
13367 (source
13368 (origin
13369 (method url-fetch)
13370 (uri (string-append
13371 "https://hackage.haskell.org/package/xml/xml-"
13372 version
13373 ".tar.gz"))
13374 (sha256
13375 (base32
13376 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13377 (build-system haskell-build-system)
2b62f5d0 13378 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
13379 (synopsis "Simple XML library for Haskell")
13380 (description "This package provides a simple XML library for Haskell.")
13381 (license license:bsd-3)))
13382
13383(define-public ghc-xml-conduit
13384 (package
13385 (name "ghc-xml-conduit")
13386 (version "1.8.0.1")
13387 (source
13388 (origin
13389 (method url-fetch)
13390 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13391 "xml-conduit-" version ".tar.gz"))
13392 (sha256
13393 (base32
13394 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13395 (build-system haskell-build-system)
13396 (inputs
13397 `(("ghc-conduit" ,ghc-conduit)
13398 ("ghc-conduit-extra" ,ghc-conduit-extra)
13399 ("ghc-doctest" ,ghc-doctest)
13400 ("ghc-resourcet" ,ghc-resourcet)
13401 ("ghc-xml-types" ,ghc-xml-types)
13402 ("ghc-attoparsec" ,ghc-attoparsec)
13403 ("ghc-data-default-class" ,ghc-data-default-class)
13404 ("ghc-blaze-markup" ,ghc-blaze-markup)
13405 ("ghc-blaze-html" ,ghc-blaze-html)
13406 ("ghc-monad-control" ,ghc-monad-control)
13407 ("ghc-hspec" ,ghc-hspec)
13408 ("ghc-hunit" ,ghc-hunit)))
13409 (home-page "https://github.com/snoyberg/xml")
13410 (synopsis "Utilities for dealing with XML with the conduit package")
13411 (description
13412 "This package provides pure-Haskell utilities for dealing with XML with
13413the @code{conduit} package.")
13414 (license license:expat)))
13415
13416(define-public ghc-xml-types
13417 (package
13418 (name "ghc-xml-types")
13419 (version "0.3.6")
13420 (source
13421 (origin
13422 (method url-fetch)
13423 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13424 "xml-types-" version ".tar.gz"))
13425 (sha256
13426 (base32
13427 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13428 (build-system haskell-build-system)
13429 (home-page "https://john-millikin.com/software/haskell-xml/")
13430 (synopsis "Basic types for representing XML")
13431 (description "This package provides basic types for representing XML
13432documents.")
13433 (license license:expat)))
13434
13435(define-public ghc-yaml
13436 (package
13437 (name "ghc-yaml")
b58e5b84 13438 (version "0.11.1.2")
dddbc90c
RV
13439 (source (origin
13440 (method url-fetch)
13441 (uri (string-append "https://hackage.haskell.org/package/"
13442 "yaml/yaml-" version ".tar.gz"))
13443 (sha256
13444 (base32
b58e5b84 13445 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 13446 (build-system haskell-build-system)
dddbc90c
RV
13447 (inputs
13448 `(("ghc-conduit" ,ghc-conduit)
13449 ("ghc-resourcet" ,ghc-resourcet)
13450 ("ghc-aeson" ,ghc-aeson)
13451 ("ghc-unordered-containers" ,ghc-unordered-containers)
13452 ("ghc-vector" ,ghc-vector)
13453 ("ghc-attoparsec" ,ghc-attoparsec)
13454 ("ghc-scientific" ,ghc-scientific)
13455 ("ghc-semigroups" ,ghc-semigroups)
13456 ("ghc-temporary" ,ghc-temporary)
13457 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13458 ("ghc-base-compat" ,ghc-base-compat)
13459 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13460 (native-inputs
13461 `(("ghc-hspec" ,ghc-hspec)
13462 ("ghc-hunit" ,ghc-hunit)
13463 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13464 ("ghc-mockery" ,ghc-mockery)
13465 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13466 (home-page "https://github.com/snoyberg/yaml/")
13467 (synopsis "Parsing and rendering YAML documents")
13468 (description
13469 "This package provides a library to parse and render YAML documents.")
13470 (license license:bsd-3)))
13471
13472(define-public ghc-zip-archive
13473 (package
13474 (name "ghc-zip-archive")
93c1fdd3 13475 (version "0.4.1")
dddbc90c
RV
13476 (source
13477 (origin
13478 (method url-fetch)
13479 (uri (string-append
13480 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13481 version
13482 ".tar.gz"))
13483 (sha256
13484 (base32
93c1fdd3 13485 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13486 (build-system haskell-build-system)
93c1fdd3
TS
13487 (arguments
13488 `(#:phases
13489 (modify-phases %standard-phases
13490 (add-before 'check 'set-PATH-for-tests
13491 (lambda* (#:key inputs #:allow-other-keys)
13492 (let ((unzip (assoc-ref inputs "unzip"))
13493 (which (assoc-ref inputs "which"))
13494 (path (getenv "PATH")))
13495 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13496 #t))))))
dddbc90c
RV
13497 (inputs
13498 `(("ghc-digest" ,ghc-digest)
13499 ("ghc-temporary" ,ghc-temporary)
13500 ("ghc-zlib" ,ghc-zlib)))
13501 (native-inputs
13502 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13503 ("unzip" ,unzip)
13504 ("which" ,which)))
dddbc90c
RV
13505 (home-page "https://hackage.haskell.org/package/zip-archive")
13506 (synopsis "Zip archive library for Haskell")
13507 (description "The zip-archive library provides functions for creating,
13508modifying, and extracting files from zip archives in Haskell.")
13509 (license license:bsd-3)))
13510
13511(define-public ghc-zlib
13512 (package
13513 (name "ghc-zlib")
bf12089a 13514 (version "0.6.2.1")
dddbc90c
RV
13515 (outputs '("out" "doc"))
13516 (source
13517 (origin
13518 (method url-fetch)
13519 (uri (string-append
13520 "https://hackage.haskell.org/package/zlib/zlib-"
13521 version
13522 ".tar.gz"))
13523 (sha256
13524 (base32
bf12089a 13525 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13526 (build-system haskell-build-system)
13527 (arguments
13528 `(#:phases
13529 (modify-phases %standard-phases
13530 (add-before 'configure 'strip-test-framework-constraints
13531 (lambda _
13532 (substitute* "zlib.cabal"
13533 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13534 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13535 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13536 (inputs `(("zlib" ,zlib)))
13537 (native-inputs
13538 `(("ghc-quickcheck" ,ghc-quickcheck)
13539 ("ghc-tasty" ,ghc-tasty)
13540 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13541 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13542 (home-page "https://hackage.haskell.org/package/zlib")
13543 (synopsis
13544 "Compression and decompression in the gzip and zlib formats")
13545 (description
13546 "This package provides a pure interface for compressing and decompressing
13547streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13548library so it has high performance. It supports the @code{zlib}, @code{gzip}
13549and @code{raw} compression formats. It provides a convenient high level API
13550suitable for most tasks and for the few cases where more control is needed it
13551provides access to the full zlib feature set.")
bbf8bf31 13552 (license license:bsd-3)))
14e41996
RV
13553
13554(define-public ghc-zlib-bindings
13555 (package
13556 (name "ghc-zlib-bindings")
13557 (version "0.1.1.5")
13558 (source
13559 (origin
13560 (method url-fetch)
13561 (uri (string-append "https://hackage.haskell.org/package/"
13562 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13563 (sha256
13564 (base32
13565 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13566 (build-system haskell-build-system)
13567 (inputs
13568 `(("ghc-zlib" ,ghc-zlib)))
13569 (native-inputs
13570 `(("ghc-hspec" ,ghc-hspec)
13571 ("ghc-quickcheck" ,ghc-quickcheck)))
13572 (arguments
13573 `(#:cabal-revision
13574 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13575 (home-page "https://github.com/snapframework/zlib-bindings")
13576 (synopsis "Low-level bindings to the @code{zlib} package")
13577 (description "This package provides low-level bindings to the
13578@code{zlib} package.")
13579 (license license:bsd-3)))
8428e92c
TS
13580
13581(define-public ghc-zstd
13582 (package
13583 (name "ghc-zstd")
13584 (version "0.1.1.2")
13585 (source
13586 (origin
13587 (method url-fetch)
13588 (uri (string-append "https://hackage.haskell.org/package/"
13589 "zstd/zstd-" version ".tar.gz"))
13590 (sha256
13591 (base32
13592 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13593 (build-system haskell-build-system)
13594 (native-inputs
13595 `(("ghc-quickcheck" ,ghc-quickcheck)
13596 ("ghc-test-framework" ,ghc-test-framework)
13597 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13598 (home-page "https://github.com/luispedro/hs-zstd")
13599 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13600 (description "This library provides Haskell bindings to the
13601Zstandard compression algorithm, a fast lossless compression algorithm
13602targeting real-time compression scenarios at zlib-level and better
13603compression ratios.")
13604 (license license:bsd-3)))