gnu: Add ghc-turtle.
[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>
3c986a7d 7;;; Copyright © 2016, 2017 Nikita <nikita@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>
82c36002 22;;; Copyright © 2019,2020 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
af369394
JS
459(define-public ghc-assoc
460 (package
461 (name "ghc-assoc")
462 (version "1.0.1")
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/assoc/assoc-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
472 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-bifunctors" ,ghc-bifunctors)
476 ("ghc-tagged" ,ghc-tagged)))
477 (home-page
478 "http://hackage.haskell.org/package/assoc")
479 (synopsis
480 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
481 (description
482 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
483@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
484similar operations (e.g. @code{Either}, @code{These}).")
485 (license license:bsd-3)))
486
dddbc90c
RV
487(define-public ghc-async
488 (package
489 (name "ghc-async")
048ef066 490 (version "2.2.2")
dddbc90c
RV
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append
495 "https://hackage.haskell.org/package/async/async-"
496 version
497 ".tar.gz"))
498 (sha256
499 (base32
048ef066 500 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
501 (build-system haskell-build-system)
502 (inputs
503 `(("ghc-hashable" ,ghc-hashable)
504 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
505 ("ghc-test-framework" ,ghc-test-framework)
506 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
507 (home-page "https://github.com/simonmar/async")
508 (synopsis "Library to run IO operations asynchronously")
509 (description "Async provides a library to run IO operations
510asynchronously, and wait for their results. It is a higher-level interface
511over threads in Haskell, in which @code{Async a} is a concurrent thread that
512will eventually deliver a value of type @code{a}.")
7b01a977
RV
513 (license license:bsd-3)))
514
9ad9ec2e
AG
515(define-public ghc-atomic-primops
516 (package
517 (name "ghc-atomic-primops")
af16c6b0 518 (version "0.8.3")
9ad9ec2e
AG
519 (source
520 (origin
521 (method url-fetch)
522 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
523 "/atomic-primops-" version ".tar.gz"))
524 (sha256
525 (base32
af16c6b0 526 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
527 (build-system haskell-build-system)
528 (inputs `(("ghc-primitive" ,ghc-primitive)))
529 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
530 (synopsis "Safe approach to CAS and other atomic ops")
531 (description
532 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
533use safely, because pointer equality is a highly unstable property in Haskell.
534This library provides a safer method based on the concept of @code{Ticket}s.")
535 (license license:bsd-3)))
536
dddbc90c 537(define-public ghc-atomic-write
79fcc5e5 538 (package
dddbc90c 539 (name "ghc-atomic-write")
c09d1e62 540 (version "0.2.0.6")
79fcc5e5
RV
541 (source
542 (origin
543 (method url-fetch)
dddbc90c
RV
544 (uri (string-append
545 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
546 version
547 ".tar.gz"))
79fcc5e5
RV
548 (sha256
549 (base32
c09d1e62 550 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
551 (build-system haskell-build-system)
552 (inputs
553 `(("ghc-temporary" ,ghc-temporary)
554 ("ghc-unix-compat" ,ghc-unix-compat)))
555 (native-inputs
556 `(("ghc-temporary" ,ghc-temporary)
557 ("ghc-unix-compat" ,ghc-unix-compat)
558 ("ghc-hspec" ,ghc-hspec)
559 ("hspec-discover" ,hspec-discover)))
560 (home-page "https://github.com/stackbuilders/atomic-write")
561 (synopsis "Atomically write to a file")
562 (description
563 "Atomically write to a file on POSIX-compliant systems while preserving
564permissions. @code{mv} is an atomic operation. This makes it simple to write
565to a file atomically just by using the @code{mv} operation. However, this
566will destroy the permissions on the original file. This library preserves
567permissions while atomically writing to a file.")
568 (license license:expat)))
569
570(define-public ghc-attoparsec
571 (package
572 (name "ghc-attoparsec")
511c3204 573 (version "0.13.2.3")
dddbc90c
RV
574 (source
575 (origin
576 (method url-fetch)
577 (uri (string-append
578 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
579 version
580 ".tar.gz"))
581 (sha256
582 (base32
511c3204 583 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 584 (build-system haskell-build-system)
79fcc5e5 585 (arguments
dddbc90c
RV
586 `(#:phases
587 (modify-phases %standard-phases
588 (add-after 'unpack 'patch-for-newer-quickcheck
589 (lambda _
590 (substitute* "attoparsec.cabal"
591 (("QuickCheck >= 2\\.7 && < 2\\.10")
592 "QuickCheck >= 2.7 && < 2.12"))
593 ;; This test fails because of the newer QuickCheck:
594 ;; <https://github.com/bos/attoparsec/issues/134>.
595 (substitute* "tests/QC/ByteString.hs"
596 ((", testProperty \"satisfyWith\" satisfyWith")
597 "")))))))
598 (inputs
599 `(("ghc-scientific" ,ghc-scientific)))
600 (native-inputs
601 `(("ghc-tasty" ,ghc-tasty)
602 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
603 ("ghc-quickcheck" ,ghc-quickcheck)
604 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
605 ("ghc-vector" ,ghc-vector)))
606 (home-page "https://github.com/bos/attoparsec")
607 (synopsis "Fast combinator parsing for bytestrings and text")
608 (description "This library provides a fast parser combinator library,
609aimed particularly at dealing efficiently with network protocols and
610complicated text/binary file formats.")
79fcc5e5
RV
611 (license license:bsd-3)))
612
dddbc90c 613(define-public ghc-attoparsec-bootstrap
6b34d01c 614 (package
dddbc90c
RV
615 (inherit ghc-attoparsec)
616 (name "ghc-attoparsec-bootstrap")
617 (arguments `(#:tests? #f))
618 (inputs
619 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
620 (native-inputs '())
799d8d3c 621 (properties '((hidden? #t)))))
dddbc90c
RV
622
623(define-public ghc-attoparsec-iso8601
624 (package
625 (name "ghc-attoparsec-iso8601")
97f267c8 626 (version "1.0.1.0")
6b34d01c
RV
627 (source
628 (origin
629 (method url-fetch)
630 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
631 "attoparsec-iso8601-" version "/"
632 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
633 (sha256
634 (base32
97f267c8 635 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 636 (build-system haskell-build-system)
dddbc90c
RV
637 (arguments
638 `(#:cabal-revision
97f267c8 639 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
640 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
641 ("ghc-base-compat" ,ghc-base-compat)))
642 (home-page "https://github.com/bos/aeson")
643 (synopsis "Parse ISO 8601 dates")
644 (description "Haskell library for parsing of ISO 8601 dates, originally
645from aeson.")
6b34d01c 646 (license license:bsd-3)))
b57e99f5 647
dddbc90c 648(define-public ghc-auto-update
b57e99f5 649 (package
dddbc90c 650 (name "ghc-auto-update")
11b1b6cd 651 (version "0.1.6")
dddbc90c
RV
652 (source
653 (origin
654 (method url-fetch)
655 (uri (string-append
656 "https://hackage.haskell.org/package/auto-update/auto-update-"
657 version
658 ".tar.gz"))
659 (sha256
660 (base32
11b1b6cd 661 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 662 (build-system haskell-build-system)
11b1b6cd
TS
663 (native-inputs
664 `(("ghc-hspec" ,ghc-hspec)
665 ("ghc-hunit" ,ghc-hunit)
666 ("ghc-retry" ,ghc-retry)
667 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
668 (home-page "https://github.com/yesodweb/wai")
669 (synopsis "Efficiently run periodic, on-demand actions")
670 (description "This library provides mechanisms to efficiently run
671periodic, on-demand actions in Haskell.")
672 (license license:expat)))
673
674(define-public ghc-aws
675 (package
676 (name "ghc-aws")
677 (version "0.20")
b57e99f5
RV
678 (source
679 (origin
680 (method url-fetch)
681 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
682 "aws-" version "/aws-" version ".tar.gz"))
683 (sha256 (base32
684 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
685 (build-system haskell-build-system)
686 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
687 (inputs
688 `(("ghc-aeson" ,ghc-aeson)
689 ("ghc-attoparsec" ,ghc-attoparsec)
690 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
691 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
692 ("ghc-blaze-builder" ,ghc-blaze-builder)
693 ("ghc-byteable" ,ghc-byteable)
694 ("ghc-case-insensitive" ,ghc-case-insensitive)
695 ("ghc-cereal" ,ghc-cereal)
696 ("ghc-conduit" ,ghc-conduit)
697 ("ghc-conduit-extra" ,ghc-conduit-extra)
698 ("ghc-cryptonite" ,ghc-cryptonite)
699 ("ghc-data-default" ,ghc-data-default)
700 ("ghc-http-conduit" ,ghc-http-conduit)
701 ("ghc-http-types" ,ghc-http-types)
702 ("ghc-lifted-base" ,ghc-lifted-base)
703 ("ghc-monad-control" ,ghc-monad-control)
704 ("ghc-network" ,ghc-network)
705 ("ghc-old-locale" ,ghc-old-locale)
706 ("ghc-safe" ,ghc-safe)
707 ("ghc-scientific" ,ghc-scientific)
708 ("ghc-tagged" ,ghc-tagged)
709 ("ghc-unordered-containers" ,ghc-unordered-containers)
710 ("ghc-utf8-string" ,ghc-utf8-string)
711 ("ghc-vector" ,ghc-vector)
712 ("ghc-xml-conduit" ,ghc-xml-conduit)))
713 (native-inputs
714 `(("ghc-quickcheck" ,ghc-quickcheck)
715 ("ghc-errors" ,ghc-errors)
716 ("ghc-http-client" ,ghc-http-client)
717 ("ghc-http-client-tls" ,ghc-http-client-tls)
718 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
719 ("ghc-tasty" ,ghc-tasty)
720 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
721 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
722 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
723 (home-page "https://github.com/aristidb/aws")
724 (synopsis "Amazon Web Services for Haskell")
725 (description "This package attempts to provide support for using
726Amazon Web Services like S3 (storage), SQS (queuing) and others to
727Haskell programmers. The ultimate goal is to support all Amazon
728Web Services.")
729 (license license:bsd-3)))
730
731(define-public ghc-base16-bytestring
732 (package
733 (name "ghc-base16-bytestring")
734 (version "0.1.1.6")
735 (source
736 (origin
737 (method url-fetch)
738 (uri (string-append
739 "https://hackage.haskell.org/package/base16-bytestring/"
740 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
741 (sha256
742 (base32
dddbc90c 743 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 744 (build-system haskell-build-system)
dddbc90c
RV
745 (home-page "https://github.com/bos/base16-bytestring")
746 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
747 (description
748 "This package provides a Haskell library for working with base16-encoded
749data quickly and efficiently, using the ByteString type.")
b57e99f5 750 (license license:bsd-3)))
bbf8bf31 751
dddbc90c 752(define-public ghc-base64-bytestring
bbf8bf31 753 (package
dddbc90c
RV
754 (name "ghc-base64-bytestring")
755 (version "1.0.0.2")
bbf8bf31
RV
756 (source
757 (origin
758 (method url-fetch)
dddbc90c
RV
759 (uri (string-append
760 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
761 version
762 ".tar.gz"))
763 (sha256
764 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
765 (build-system haskell-build-system)
766 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
767 (home-page "https://github.com/bos/base64-bytestring")
768 (synopsis "Base64 encoding and decoding for ByteStrings")
769 (description "This library provides fast base64 encoding and decoding for
770Haskell @code{ByteString}s.")
771 (license license:bsd-3)))
772
773(define-public ghc-base-compat
774 (package
775 (name "ghc-base-compat")
4daaa371 776 (version "0.10.5")
dddbc90c
RV
777 (source
778 (origin
779 (method url-fetch)
780 (uri (string-append
781 "https://hackage.haskell.org/package/base-compat/base-compat-"
782 version
783 ".tar.gz"))
bbf8bf31
RV
784 (sha256
785 (base32
4daaa371 786 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
787 (build-system haskell-build-system)
788 (native-inputs
dddbc90c
RV
789 `(("ghc-quickcheck" ,ghc-quickcheck)
790 ("ghc-hspec" ,ghc-hspec)
791 ("hspec-discover" ,hspec-discover)))
792 (home-page "https://hackage.haskell.org/package/base-compat")
793 (synopsis "Haskell compiler compatibility library")
794 (description "This library provides functions available in later versions
795of base to a wider range of compilers, without requiring the use of CPP
796pragmas in your code.")
797 (license license:bsd-3)))
798
f9d78c7f
TS
799(define-public ghc-base-compat-batteries
800 (package
801 (name "ghc-base-compat-batteries")
802 (version "0.10.5")
803 (source
804 (origin
805 (method url-fetch)
806 (uri (string-append "https://hackage.haskell.org/package/"
807 "base-compat-batteries/base-compat-batteries-"
808 version ".tar.gz"))
809 (sha256
810 (base32
811 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
812 (build-system haskell-build-system)
813 (inputs
814 `(("ghc-base-compat" ,ghc-base-compat)))
815 (native-inputs
816 `(("ghc-hspec" ,ghc-hspec)
817 ("ghc-quickcheck" ,ghc-quickcheck)
818 ("hspec-discover" ,hspec-discover)))
819 (arguments
820 `(#:cabal-revision
821 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 822 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
823 (synopsis "base-compat with extra batteries")
824 (description "This library provides functions available in later
825versions of @code{base} to a wider range of compilers, without requiring
826you to use CPP pragmas in your code. This package provides the same API
827as the @code{base-compat} library, but depends on compatibility
828packages (such as @code{semigroups}) to offer a wider support window
829than @code{base-compat}, which has no dependencies.")
830 (license license:expat)))
831
dddbc90c
RV
832(define-public ghc-basement
833 (package
834 (name "ghc-basement")
8b56c1fd 835 (version "0.0.11")
dddbc90c
RV
836 (source
837 (origin
838 (method url-fetch)
839 (uri (string-append "https://hackage.haskell.org/package/"
840 "basement/basement-" version ".tar.gz"))
841 (sha256
842 (base32
8b56c1fd 843 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
844 (build-system haskell-build-system)
845 (home-page "https://github.com/haskell-foundation/foundation")
846 (synopsis "Basic primitives for Foundation starter pack")
847 (description
848 "This package contains basic primitives for the Foundation set of
849packages.")
850 (license license:bsd-3)))
851
852(define-public ghc-base-orphans
853 (package
854 (name "ghc-base-orphans")
780477fb 855 (version "0.8.1")
dddbc90c
RV
856 (source
857 (origin
858 (method url-fetch)
859 (uri (string-append
860 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
861 version
862 ".tar.gz"))
863 (sha256
864 (base32
780477fb 865 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
866 (build-system haskell-build-system)
867 (native-inputs
868 `(("ghc-quickcheck" ,ghc-quickcheck)
869 ("ghc-hspec" ,ghc-hspec)
870 ("hspec-discover" ,hspec-discover)))
871 (home-page "https://hackage.haskell.org/package/base-orphans")
872 (synopsis "Orphan instances for backwards compatibility")
873 (description "This package defines orphan instances that mimic instances
874available in later versions of base to a wider (older) range of compilers.")
875 (license license:bsd-3)))
876
877(define-public ghc-base-prelude
878 (package
879 (name "ghc-base-prelude")
880 (version "1.3")
881 (source
882 (origin
883 (method url-fetch)
884 (uri (string-append "https://hackage.haskell.org/package/"
885 "base-prelude-" version "/"
886 "base-prelude-" version ".tar.gz"))
887 (sha256
888 (base32
889 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
890 (build-system haskell-build-system)
891 (home-page "https://github.com/nikita-volkov/base-prelude")
892 (synopsis "The most complete prelude formed solely from the Haskell's base
893package")
894 (description "This Haskell package aims to reexport all the non-conflicting
895and most general definitions from the \"base\" package.
896
897This includes APIs for applicatives, arrows, monoids, foldables, traversables,
898exceptions, generics, ST, MVars and STM.
899
900This package will never have any dependencies other than \"base\".
901
902Versioning policy:
903
904The versioning policy of this package deviates from PVP in the sense
905that its exports in part are transitively determined by the version of \"base\".
906Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
907the bounds of \"base\" as well.")
908 (license license:expat)))
909
910(define-public ghc-base-unicode-symbols
911 (package
912 (name "ghc-base-unicode-symbols")
913 (version "0.2.3")
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
918 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
919 version
920 ".tar.gz"))
921 (sha256
922 (base32
923 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
924 (build-system haskell-build-system)
925 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
926 (synopsis "Unicode alternatives for common functions and operators")
927 (description "This package defines new symbols for a number of functions,
928operators and types in the base package. All symbols are documented with
929their actual definition and information regarding their Unicode code point.
930They should be completely interchangeable with their definitions. For
931further Unicode goodness you can enable the @code{UnicodeSyntax}
932@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
933language extension}. This extension enables Unicode characters to be used to
934stand for certain ASCII character sequences, i.e. → instead of @code{->},
935∀ instead of @code{forall} and many others.")
936 (license license:bsd-3)))
937
ec8491b0
ASM
938(define-public ghc-basic-prelude
939 (package
940 (name "ghc-basic-prelude")
941 (version "0.7.0")
942 (source
943 (origin
944 (method url-fetch)
945 (uri (string-append
946 "https://hackage.haskell.org/package/basic-prelude/"
947 "basic-prelude-" version ".tar.gz"))
948 (sha256
949 (base32
950 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
951 (build-system haskell-build-system)
952 (inputs
953 `(("ghc-hashable" ,ghc-hashable)
954 ("ghc-unordered-containers"
955 ,ghc-unordered-containers)
956 ("ghc-vector" ,ghc-vector)))
957 (home-page "https://github.com/snoyberg/basic-prelude#readme")
958 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
959 (description
960 "The premise of basic-prelude is that there are a lot of very commonly
961desired features missing from the standard Prelude, such as commonly used
962operators (<$> and >=>, for instance) and imports for common datatypes
963(e.g., ByteString and Vector). At the same time, there are lots of other
964components which are more debatable, such as providing polymorphic versions
965of common functions.
966
967So basic-prelude is intended to give a common foundation for a number of
968alternate preludes. The package provides two modules: CorePrelude provides
969the common ground for other preludes to build on top of, while BasicPrelude
970exports CorePrelude together with commonly used list functions to provide a
971drop-in replacement for the standard Prelude.
972
973Users wishing to have an improved Prelude can use BasicPrelude. Developers
974wishing to create a new prelude should use CorePrelude.")
975 (license license:expat)))
976
dddbc90c
RV
977(define-public ghc-bifunctors
978 (package
979 (name "ghc-bifunctors")
0beaec66 980 (version "5.5.5")
dddbc90c
RV
981 (source
982 (origin
983 (method url-fetch)
984 (uri (string-append
985 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
986 version
987 ".tar.gz"))
988 (sha256
989 (base32
0beaec66 990 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
991 (build-system haskell-build-system)
992 (inputs
993 `(("ghc-base-orphans" ,ghc-base-orphans)
994 ("ghc-comonad" ,ghc-comonad)
995 ("ghc-th-abstraction" ,ghc-th-abstraction)
996 ("ghc-transformers-compat" ,ghc-transformers-compat)
997 ("ghc-tagged" ,ghc-tagged)
998 ("ghc-semigroups" ,ghc-semigroups)))
999 (native-inputs
1000 `(("ghc-hspec" ,ghc-hspec)
1001 ("hspec-discover" ,hspec-discover)
1002 ("ghc-quickcheck" ,ghc-quickcheck)))
1003 (home-page "https://github.com/ekmett/bifunctors/")
1004 (synopsis "Bifunctors for Haskell")
1005 (description "This package provides bifunctors for Haskell.")
1006 (license license:bsd-3)))
1007
1008(define-public ghc-bindings-dsl
1009 (package
1010 (name "ghc-bindings-dsl")
1011 (version "1.0.25")
1012 (source
1013 (origin
1014 (method url-fetch)
1015 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1016 "bindings-DSL-" version ".tar.gz"))
1017 (sha256
1018 (base32
1019 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1020 (build-system haskell-build-system)
1021 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1022 (synopsis "FFI domain specific language, on top of hsc2hs")
1023 (description
1024 "This is a set of macros to be used when writing Haskell FFI. They were
1025designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1026extract from them all Haskell code needed to mimic such interfaces. All
1027Haskell names used are automatically derived from C names, structures are
1028mapped to Haskell instances of @code{Storable}, and there are also macros you
1029can use with C code to help write bindings to inline functions or macro
1030functions.")
1031 (license license:bsd-3)))
1032
64f42786
TS
1033(define-public ghc-bitarray
1034 (package
1035 (name "ghc-bitarray")
1036 (version "0.0.1.1")
1037 (source
1038 (origin
1039 (method url-fetch)
1040 (uri (string-append "https://hackage.haskell.org/package/"
1041 "bitarray/bitarray-" version ".tar.gz"))
1042 (sha256
1043 (base32
1044 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1045 (build-system haskell-build-system)
1046 (arguments
1047 `(#:cabal-revision
1048 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1049 (home-page "https://hackage.haskell.org/package/bitarray")
1050 (synopsis "Mutable and immutable bit arrays")
1051 (description "The package provides mutable and immutable bit arrays.")
1052 (license license:bsd-3)))
1053
dddbc90c
RV
1054(define-public ghc-blaze-builder
1055 (package
1056 (name "ghc-blaze-builder")
1057 (version "0.4.1.0")
1058 (source
1059 (origin
1060 (method url-fetch)
1061 (uri (string-append
1062 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1063 version
1064 ".tar.gz"))
1065 (sha256
1066 (base32
1067 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1068 (build-system haskell-build-system)
1069 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1070 (inputs
1071 `(("ghc-utf8-string" ,ghc-utf8-string)))
1072 (home-page "https://github.com/lpsmith/blaze-builder")
1073 (synopsis "Efficient buffered output")
1074 (description "This library provides an implementation of the older
1075@code{blaze-builder} interface in terms of the new builder that shipped with
1076@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1077bridge to the new builder, so that code that uses the old interface can
1078interoperate with code that uses the new implementation.")
1079 (license license:bsd-3)))
1080
1081(define-public ghc-blaze-markup
1082 (package
1083 (name "ghc-blaze-markup")
7d30fcf3 1084 (version "0.8.2.3")
dddbc90c
RV
1085 (source
1086 (origin
1087 (method url-fetch)
1088 (uri (string-append "https://hackage.haskell.org/package/"
1089 "blaze-markup/blaze-markup-"
1090 version ".tar.gz"))
1091 (sha256
1092 (base32
7d30fcf3 1093 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1094 (build-system haskell-build-system)
1095 (arguments
1096 `(#:phases
1097 (modify-phases %standard-phases
1098 (add-before 'configure 'update-constraints
1099 (lambda _
1100 (substitute* "blaze-markup.cabal"
1101 (("tasty >= 1\\.0 && < 1\\.1")
1102 "tasty >= 1.0 && < 1.2")))))))
1103 (inputs
1104 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1105 (native-inputs
1106 `(("ghc-hunit" ,ghc-hunit)
1107 ("ghc-quickcheck" ,ghc-quickcheck)
1108 ("ghc-tasty" ,ghc-tasty)
1109 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1110 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1111 (home-page "https://jaspervdj.be/blaze")
1112 (synopsis "Fast markup combinator library for Haskell")
1113 (description "This library provides core modules of a markup combinator
1114library for Haskell.")
1115 (license license:bsd-3)))
1116
1117(define-public ghc-bloomfilter
1118 (package
1119 (name "ghc-bloomfilter")
1120 (version "2.0.1.0")
1121 (source
1122 (origin
1123 (method url-fetch)
1124 (uri (string-append "https://hackage.haskell.org/package/"
1125 "bloomfilter/bloomfilter-" version ".tar.gz"))
1126 (sha256
1127 (base32
1128 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1129 (build-system haskell-build-system)
1130 (native-inputs
1131 `(("ghc-quickcheck" ,ghc-quickcheck)
1132 ("ghc-random" ,ghc-random)
1133 ("ghc-test-framework" ,ghc-test-framework)
1134 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1135 (home-page "https://github.com/bos/bloomfilter")
1136 (synopsis "Pure and impure Bloom filter implementations")
1137 (description "This package provides both mutable and immutable Bloom
1138filter data types, along with a family of hash functions and an easy-to-use
1139interface.")
1140 (license license:bsd-3)))
1141
1142(define-public ghc-boxes
1143 (package
1144 (name "ghc-boxes")
1145 (version "0.1.5")
1146 (source
1147 (origin
1148 (method url-fetch)
1149 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1150 version ".tar.gz"))
1151 (sha256
1152 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1153 (build-system haskell-build-system)
1154 (inputs
1155 `(("ghc-split" ,ghc-split)
1156 ("ghc-quickcheck" ,ghc-quickcheck)))
1157 (home-page "https://hackage.haskell.org/package/boxes")
1158 (synopsis "2D text pretty-printing library")
1159 (description
1160 "Boxes is a pretty-printing library for laying out text in two dimensions,
1161using a simple box model.")
1162 (license license:bsd-3)))
1163
1164(define-public ghc-byteable
1165 (package
1166 (name "ghc-byteable")
1167 (version "0.1.1")
1168 (source (origin
1169 (method url-fetch)
1170 (uri (string-append "https://hackage.haskell.org/package/"
1171 "byteable/byteable-" version ".tar.gz"))
1172 (sha256
1173 (base32
1174 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1175 (build-system haskell-build-system)
1176 (home-page "https://github.com/vincenthz/hs-byteable")
1177 (synopsis "Type class for sequence of bytes")
1178 (description
1179 "This package provides an abstract class to manipulate sequence of bytes.
1180The use case of this class is abstracting manipulation of types that are just
1181wrapping a bytestring with stronger and more meaniful name.")
1182 (license license:bsd-3)))
1183
1184(define-public ghc-byteorder
1185 (package
1186 (name "ghc-byteorder")
1187 (version "1.0.4")
1188 (source
1189 (origin
1190 (method url-fetch)
1191 (uri (string-append
1192 "https://hackage.haskell.org/package/byteorder/byteorder-"
1193 version
1194 ".tar.gz"))
1195 (sha256
1196 (base32
1197 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1198 (build-system haskell-build-system)
1199 (home-page
1200 "http://community.haskell.org/~aslatter/code/byteorder")
1201 (synopsis
1202 "Exposes the native endianness of the system")
1203 (description
1204 "This package is for working with the native byte-ordering of the
1205system.")
1206 (license license:bsd-3)))
1207
1208(define-public ghc-bytes
1209 (package
1210 (name "ghc-bytes")
1211 (version "0.15.5")
1212 (source
1213 (origin
1214 (method url-fetch)
1215 (uri
1216 (string-append "https://hackage.haskell.org/package/bytes-"
1217 version "/bytes-"
1218 version ".tar.gz"))
1219 (file-name (string-append name "-" version ".tar.gz"))
1220 (sha256
1221 (base32
1222 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1223 (build-system haskell-build-system)
1224 (inputs `(("ghc-cereal" ,ghc-cereal)
1225 ("cabal-doctest" ,cabal-doctest)
1226 ("ghc-doctest" ,ghc-doctest)
1227 ("ghc-scientific" ,ghc-scientific)
1228 ("ghc-transformers-compat" ,ghc-transformers-compat)
1229 ("ghc-unordered-containers" ,ghc-unordered-containers)
1230 ("ghc-void" ,ghc-void)
1231 ("ghc-vector" ,ghc-vector)))
1232 (synopsis "Serialization between @code{binary} and @code{cereal}")
1233 (description "This package provides a simple compatibility shim that lets
1234you work with both @code{binary} and @code{cereal} with one chunk of
1235serialization code.")
1236 (home-page "https://hackage.haskell.org/package/bytes")
1237 (license license:bsd-3)))
1238
1239(define-public ghc-bytestring-builder
1240 (package
1241 (name "ghc-bytestring-builder")
13ac8a7f 1242 (version "0.10.8.2.0")
dddbc90c
RV
1243 (source
1244 (origin
1245 (method url-fetch)
1246 (uri (string-append
1247 "https://hackage.haskell.org/package/bytestring-builder"
1248 "/bytestring-builder-" version ".tar.gz"))
1249 (sha256
1250 (base32
13ac8a7f 1251 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1252 (build-system haskell-build-system)
1253 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1254 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1255 (synopsis "The new bytestring builder, packaged outside of GHC")
1256 (description "This package provides the bytestring builder that is
1257debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1258Compatibility package for older packages.")
1259 (license license:bsd-3)))
1260
1261(define-public ghc-bytestring-handle
1262 (package
1263 (name "ghc-bytestring-handle")
1264 (version "0.1.0.6")
1265 (source
1266 (origin
1267 (method url-fetch)
1268 (uri (string-append
1269 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1270 version ".tar.gz"))
1271 (sha256
1272 (base32
1273 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1274 (build-system haskell-build-system)
1275 (arguments
853748c4
TS
1276 `(#:cabal-revision
1277 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1278 #:phases
dddbc90c
RV
1279 (modify-phases %standard-phases
1280 (add-before 'configure 'update-constraints
1281 (lambda _
1282 (substitute* "bytestring-handle.cabal"
1283 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1284 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1285 (inputs
1286 `(("ghc-hunit" ,ghc-hunit)
1287 ("ghc-quickcheck" ,ghc-quickcheck)
1288 ("ghc-test-framework" ,ghc-test-framework)
1289 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1290 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1291 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1292 (synopsis "ByteString-backed Handles")
1293 (description "ByteString-backed Handles") ; There is no description
1294 (license license:bsd-3)))
1295
1296(define-public ghc-bytestring-lexing
1297 (package
1298 (name "ghc-bytestring-lexing")
1299 (version "0.5.0.2")
1300 (source
1301 (origin
1302 (method url-fetch)
1303 (uri (string-append "https://hackage.haskell.org/package/"
1304 "bytestring-lexing/bytestring-lexing-"
1305 version ".tar.gz"))
1306 (sha256
1307 (base32
1308 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1309 (build-system haskell-build-system)
1310 (home-page "http://code.haskell.org/~wren/")
1311 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1312 (description
1313 "This package provides tools to parse and produce literals efficiently
1314from strict or lazy bytestrings.")
1315 (license license:bsd-2)))
1316
1317(define-public ghc-bzlib-conduit
1318 (package
1319 (name "ghc-bzlib-conduit")
5fba8d6d 1320 (version "0.3.0.2")
dddbc90c
RV
1321 (source
1322 (origin
1323 (method url-fetch)
1324 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1325 "bzlib-conduit-" version ".tar.gz"))
1326 (sha256
1327 (base32
5fba8d6d 1328 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1329 (build-system haskell-build-system)
1330 (inputs
1331 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1332 ("ghc-conduit" ,ghc-conduit)
1333 ("ghc-data-default-class" ,ghc-data-default-class)
1334 ("ghc-resourcet" ,ghc-resourcet)))
1335 (native-inputs
1336 `(("ghc-hspec" ,ghc-hspec)
1337 ("ghc-random" ,ghc-random)))
1338 (home-page "https://github.com/snoyberg/bzlib-conduit")
1339 (synopsis "Streaming compression/decompression via conduits")
1340 (description
1341 "This package provides Haskell bindings to bzlib and Conduit support for
1342streaming compression and decompression.")
1343 (license license:bsd-3)))
1344
1345(define-public ghc-c2hs
1346 (package
1347 (name "ghc-c2hs")
1348 (version "0.28.6")
1349 (source
1350 (origin
1351 (method url-fetch)
1352 (uri (string-append
1353 "https://hackage.haskell.org/package/c2hs/c2hs-"
1354 version
1355 ".tar.gz"))
1356 (sha256
1357 (base32
1358 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1359 (build-system haskell-build-system)
1360 (inputs
1361 `(("ghc-language-c" ,ghc-language-c)
1362 ("ghc-dlist" ,ghc-dlist)))
1363 (native-inputs
1364 `(("ghc-test-framework" ,ghc-test-framework)
1365 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1366 ("ghc-hunit" ,ghc-hunit)
1367 ("ghc-shelly" ,ghc-shelly)
1368 ("gcc" ,gcc)))
1369 (arguments
1370 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1371 ;; of glibc 2.28.
1372 #:tests? #f
1373
1374 #:phases
1375 (modify-phases %standard-phases
1376 (add-before 'check 'set-cc
1377 ;; add a cc executable in the path, needed for some tests to pass
1378 (lambda* (#:key inputs #:allow-other-keys)
1379 (let ((gcc (assoc-ref inputs "gcc"))
1380 (tmpbin (tmpnam))
1381 (curpath (getenv "PATH")))
1382 (mkdir-p tmpbin)
1383 (symlink (which "gcc") (string-append tmpbin "/cc"))
1384 (setenv "PATH" (string-append tmpbin ":" curpath)))
1385 #t))
1386 (add-after 'check 'remove-cc
1387 ;; clean the tmp dir made in 'set-cc
1388 (lambda _
1389 (let* ((cc-path (which "cc"))
1390 (cc-dir (dirname cc-path)))
1391 (delete-file-recursively cc-dir)
1392 #t))))))
1393 (home-page "https://github.com/haskell/c2hs")
1394 (synopsis "Create Haskell bindings to C libraries")
1395 (description "C->Haskell assists in the development of Haskell bindings to
1396C libraries. It extracts interface information from C header files and
1397generates Haskell code with foreign imports and marshaling. Unlike writing
1398foreign imports by hand (or using hsc2hs), this ensures that C functions are
1399imported with the correct Haskell types.")
1400 (license license:gpl2)))
1401
1402(define-public ghc-cairo
1403 (package
1404 (name "ghc-cairo")
1405 (version "0.13.5.0")
1406 (source
1407 (origin
1408 (method url-fetch)
1409 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1410 "cairo-" version ".tar.gz"))
1411 (sha256
1412 (base32
1413 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1414 (build-system haskell-build-system)
1415 (arguments
1416 `(#:modules ((guix build haskell-build-system)
1417 (guix build utils)
1418 (ice-9 match)
1419 (srfi srfi-26))
1420 #:phases
1421 (modify-phases %standard-phases
1422 ;; FIXME: This is a copy of the standard configure phase with a tiny
1423 ;; difference: this package needs the -package-db flag to be passed
1424 ;; to "runhaskell" in addition to the "configure" action, because it
1425 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1426 ;; this option the Setup.hs file cannot be evaluated. The
1427 ;; haskell-build-system should be changed to pass "-package-db" to
1428 ;; "runhaskell" in any case.
1429 (replace 'configure
1430 (lambda* (#:key outputs inputs tests? (configure-flags '())
1431 #:allow-other-keys)
1432 (let* ((out (assoc-ref outputs "out"))
1433 (name-version (strip-store-file-name out))
1434 (input-dirs (match inputs
1435 (((_ . dir) ...)
1436 dir)
1437 (_ '())))
1438 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1439 (params (append `(,(string-append "--prefix=" out))
1440 `(,(string-append "--libdir=" out "/lib"))
1441 `(,(string-append "--bindir=" out "/bin"))
1442 `(,(string-append
1443 "--docdir=" out
1444 "/share/doc/" name-version))
1445 '("--libsubdir=$compiler/$pkg-$version")
1446 '("--package-db=../package.conf.d")
1447 '("--global")
1448 `(,@(map
1449 (cut string-append "--extra-include-dirs=" <>)
1450 (search-path-as-list '("include") input-dirs)))
1451 `(,@(map
1452 (cut string-append "--extra-lib-dirs=" <>)
1453 (search-path-as-list '("lib") input-dirs)))
1454 (if tests?
1455 '("--enable-tests")
1456 '())
1457 configure-flags)))
1458 (unsetenv "GHC_PACKAGE_PATH")
1459 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1460 "Setup.hs" "configure" params)
1461 (setenv "GHC_PACKAGE_PATH" ghc-path)
1462 #t))))))
1463 (inputs
1464 `(("ghc-utf8-string" ,ghc-utf8-string)
1465 ("cairo" ,cairo)))
1466 (native-inputs
1467 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1468 ("pkg-config" ,pkg-config)))
1469 (home-page "http://projects.haskell.org/gtk2hs/")
1470 (synopsis "Haskell bindings to the Cairo vector graphics library")
1471 (description
1472 "Cairo is a library to render high quality vector graphics. There exist
1473various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1474documents, amongst others.")
1475 (license license:bsd-3)))
1476
1477(define-public ghc-call-stack
1478 (package
1479 (name "ghc-call-stack")
1480 (version "0.1.0")
1481 (source
1482 (origin
1483 (method url-fetch)
1484 (uri (string-append "https://hackage.haskell.org/package/"
1485 "call-stack/call-stack-"
1486 version ".tar.gz"))
1487 (sha256
1488 (base32
1489 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1490 (build-system haskell-build-system)
1491 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1492 (home-page "https://github.com/sol/call-stack#readme")
1493 (synopsis "Use GHC call-stacks in a backward compatible way")
1494 (description "This package provides a compatibility layer for using GHC
1495call stacks with different versions of the compiler.")
1496 (license license:expat)))
1497
1498;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1499;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1500(define-public ghc-call-stack-boot
1501 (hidden-package
1502 (package
1503 (inherit ghc-call-stack)
1504 (arguments '(#:tests? #f))
1505 (inputs '()))))
1506
1507(define-public ghc-case-insensitive
1508 (package
1509 (name "ghc-case-insensitive")
1510 (version "1.2.0.11")
1511 (outputs '("out" "doc"))
1512 (source
1513 (origin
1514 (method url-fetch)
1515 (uri (string-append
1516 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1517 version
1518 ".tar.gz"))
1519 (sha256
1520 (base32
1521 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1522 (build-system haskell-build-system)
1523 ;; these inputs are necessary to use this library
1524 (inputs
1525 `(("ghc-hashable" ,ghc-hashable)))
1526 (arguments
1527 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1528 (home-page
1529 "https://github.com/basvandijk/case-insensitive")
1530 (synopsis "Case insensitive string comparison")
1531 (description
1532 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1533constructor which can be parameterised by a string-like type like:
1534@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1535the resulting type will be insensitive to cases.")
1536 (license license:bsd-3)))
1537
6ba536a1
JS
1538(define-public ghc-cborg
1539 (package
1540 (name "ghc-cborg")
1541 (version "0.2.2.0")
1542 (source
1543 (origin
1544 (method url-fetch)
1545 (uri (string-append
1546 "mirror://hackage/package/cborg/cborg-"
1547 version
1548 ".tar.gz"))
1549 (sha256
1550 (base32
1551 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1552 (build-system haskell-build-system)
1553 (inputs
1554 `(("ghc-half" ,ghc-half)
1555 ("ghc-primitive" ,ghc-primitive)))
1556 (native-inputs
1557 `(("ghc-aeson" ,ghc-aeson)
1558 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1559 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1560 ("ghc-fail" ,ghc-fail)
1561 ("ghc-quickcheck" ,ghc-quickcheck)
1562 ("ghc-scientific" ,ghc-scientific)
1563 ("ghc-tasty" ,ghc-tasty)
1564 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1565 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1566 ("ghc-vector" ,ghc-vector)))
1567 (home-page "http://hackage.haskell.org/package/cborg")
1568 (synopsis "Concise Binary Object Representation")
1569 (description
1570 "This package (formerly binary-serialise-cbor) provides an
1571efficient implementation of the Concise Binary Object
1572Representation (CBOR), as specified by RFC 7049 at
1573https://tools.ietf.org/html/rfc7049.
1574
1575If you are looking for a library for serialisation of Haskell values, have a
1576look at the @url{https://hackage.haskell.org/package/serialise} package, which
1577is built upon this library.
1578
1579An implementation of the standard bijection between CBOR and JSON is provided
1580by the @url{https://hackage.haskell.org/package/cborg-json} package.
1581
1582Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1583command-line utility for working with CBOR data.")
1584 (license license:bsd-3)))
1585
5434fec9
JS
1586(define-public ghc-cborg-json
1587 (package
1588 (name "ghc-cborg-json")
1589 (version "0.2.2.0")
1590 (source
1591 (origin
1592 (method url-fetch)
1593 (uri (string-append
1594 "mirror://hackage/package/cborg-json/cborg-json-"
1595 version
1596 ".tar.gz"))
1597 (sha256
1598 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1599 (build-system haskell-build-system)
1600 (inputs
1601 `(("ghc-aeson" ,ghc-aeson)
1602 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1603 ("ghc-unordered-containers" ,ghc-unordered-containers)
1604 ("ghc-scientific" ,ghc-scientific)
1605 ("ghc-vector" ,ghc-vector)
1606 ("ghc-cborg" ,ghc-cborg)))
1607 (home-page "https://github.com/well-typed/cborg")
1608 (synopsis "A library for encoding JSON as CBOR")
1609 (description
1610 "This package implements the bijection between JSON and CBOR
1611defined in the CBOR specification, RFC 7049.")
1612 (license license:bsd-3)))
1613
dddbc90c
RV
1614(define-public ghc-cereal
1615 (package
1616 (name "ghc-cereal")
bd95427e 1617 (version "0.5.8.1")
dddbc90c
RV
1618 (source
1619 (origin
1620 (method url-fetch)
1621 (uri (string-append
1622 "https://hackage.haskell.org/package/cereal/cereal-"
1623 version
1624 ".tar.gz"))
1625 (sha256
1626 (base32
bd95427e 1627 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1628 (build-system haskell-build-system)
1629 (native-inputs
1630 `(("ghc-quickcheck" ,ghc-quickcheck)
1631 ("ghc-fail" ,ghc-fail)
1632 ("ghc-test-framework" ,ghc-test-framework)
1633 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1634 (home-page "https://hackage.haskell.org/package/cereal")
1635 (synopsis "Binary serialization library")
1636 (description "This package provides a binary serialization library,
1637similar to @code{binary}, that introduces an @code{isolate} primitive for
1638parser isolation, and labeled blocks for better error messages.")
1639 (license license:bsd-3)))
1640
1641(define-public ghc-cereal-conduit
1642 (package
1643 (name "ghc-cereal-conduit")
1644 (version "0.8.0")
1645 (source
1646 (origin
1647 (method url-fetch)
1648 (uri (string-append "https://hackage.haskell.org/package/"
1649 "cereal-conduit/cereal-conduit-"
1650 version ".tar.gz"))
1651 (sha256
1652 (base32
1653 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1654 (build-system haskell-build-system)
1655 (inputs
1656 `(("ghc-conduit" ,ghc-conduit)
1657 ("ghc-resourcet" ,ghc-resourcet)
1658 ("ghc-cereal" ,ghc-cereal)))
1659 (native-inputs
1660 `(("ghc-hunit" ,ghc-hunit)))
1661 (home-page "https://github.com/snoyberg/conduit")
1662 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1663 (description
1664 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1665@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1666 (license license:bsd-3)))
1667
1668(define-public ghc-cgi
1669 (package
1670 (name "ghc-cgi")
b6b2c218 1671 (version "3001.4.0.0")
dddbc90c
RV
1672 (source
1673 (origin
1674 (method url-fetch)
1675 (uri (string-append
1676 "https://hackage.haskell.org/package/cgi/cgi-"
1677 version
1678 ".tar.gz"))
1679 (sha256
1680 (base32
b6b2c218 1681 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1682 (build-system haskell-build-system)
dddbc90c
RV
1683 (inputs
1684 `(("ghc-exceptions" ,ghc-exceptions)
1685 ("ghc-multipart" ,ghc-multipart)
1686 ("ghc-network-uri" ,ghc-network-uri)
1687 ("ghc-network" ,ghc-network)))
1688 (native-inputs
1689 `(("ghc-doctest" ,ghc-doctest)
1690 ("ghc-quickcheck" ,ghc-quickcheck)))
1691 (home-page
1692 "https://github.com/cheecheeo/haskell-cgi")
1693 (synopsis "Library for writing CGI programs")
1694 (description
1695 "This is a Haskell library for writing CGI programs.")
1696 (license license:bsd-3)))
1697
1698(define-public ghc-charset
1699 (package
1700 (name "ghc-charset")
1701 (version "0.3.7.1")
1702 (source
1703 (origin
1704 (method url-fetch)
1705 (uri (string-append
1706 "https://hackage.haskell.org/package/charset/charset-"
1707 version
1708 ".tar.gz"))
1709 (sha256
1710 (base32
1711 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1712 (build-system haskell-build-system)
35ee173c
TS
1713 (arguments
1714 `(#:cabal-revision
1715 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1716 (inputs
1717 `(("ghc-semigroups" ,ghc-semigroups)
1718 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1719 (home-page "https://github.com/ekmett/charset")
1720 (synopsis "Fast unicode character sets for Haskell")
1721 (description "This package provides fast unicode character sets for
1722Haskell, based on complemented PATRICIA tries.")
1723 (license license:bsd-3)))
1724
1725(define-public ghc-chart
1726 (package
1727 (name "ghc-chart")
6cd84b98 1728 (version "1.9.1")
dddbc90c
RV
1729 (source
1730 (origin
1731 (method url-fetch)
1732 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1733 "Chart-" version ".tar.gz"))
1734 (sha256
1735 (base32
6cd84b98 1736 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1737 (build-system haskell-build-system)
1738 (inputs
1739 `(("ghc-old-locale" ,ghc-old-locale)
1740 ("ghc-lens" ,ghc-lens)
1741 ("ghc-colour" ,ghc-colour)
1742 ("ghc-data-default-class" ,ghc-data-default-class)
1743 ("ghc-operational" ,ghc-operational)
1744 ("ghc-vector" ,ghc-vector)))
1745 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1746 (synopsis "Library for generating 2D charts and plots")
1747 (description
1748 "This package provides a library for generating 2D charts and plots, with
1749backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1750 (license license:bsd-3)))
1751
1752(define-public ghc-chart-cairo
1753 (package
1754 (name "ghc-chart-cairo")
5cf9264d 1755 (version "1.9.1")
dddbc90c
RV
1756 (source
1757 (origin
1758 (method url-fetch)
1759 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1760 "Chart-cairo-" version ".tar.gz"))
1761 (sha256
1762 (base32
5cf9264d 1763 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1764 (build-system haskell-build-system)
1765 (inputs
1766 `(("ghc-old-locale" ,ghc-old-locale)
1767 ("ghc-cairo" ,ghc-cairo)
1768 ("ghc-colour" ,ghc-colour)
1769 ("ghc-data-default-class" ,ghc-data-default-class)
1770 ("ghc-operational" ,ghc-operational)
1771 ("ghc-lens" ,ghc-lens)
1772 ("ghc-chart" ,ghc-chart)))
1773 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1774 (synopsis "Cairo backend for Charts")
1775 (description "This package provides a Cairo vector graphics rendering
1776backend for the Charts library.")
1777 (license license:bsd-3)))
1778
1779(define-public ghc-chasingbottoms
1780 (package
1781 (name "ghc-chasingbottoms")
1f67853e 1782 (version "1.3.1.7")
dddbc90c
RV
1783 (source
1784 (origin
1785 (method url-fetch)
1786 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1787 "ChasingBottoms-" version ".tar.gz"))
1788 (sha256
1789 (base32
1f67853e 1790 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1791 (build-system haskell-build-system)
1792 (inputs
1793 `(("ghc-quickcheck" ,ghc-quickcheck)
1794 ("ghc-random" ,ghc-random)
1795 ("ghc-syb" ,ghc-syb)))
1796 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1797 (synopsis "Testing of partial and infinite values in Haskell")
1798 (description
1799 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1800 ;; rendered properly.
1801 "This is a library for testing code involving bottoms or infinite values.
1802For the underlying theory and a larger example involving use of QuickCheck,
1803see the article
1804@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1805\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1806Partial and Infinite Values\"}.")
1807 (license license:expat)))
1808
1809(define-public ghc-cheapskate
1810 (package
1811 (name "ghc-cheapskate")
5e18bb9e 1812 (version "0.1.1.1")
dddbc90c
RV
1813 (source
1814 (origin
1815 (method url-fetch)
1816 (uri (string-append
1817 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1818 version
1819 ".tar.gz"))
1820 (sha256
1821 (base32
5e18bb9e 1822 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1823 (build-system haskell-build-system)
1824 (inputs
1825 `(("ghc-blaze-html" ,ghc-blaze-html)
1826 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1827 ("ghc-data-default" ,ghc-data-default)
1828 ("ghc-syb" ,ghc-syb)
1829 ("ghc-uniplate" ,ghc-uniplate)))
1830 (home-page "https://github.com/jgm/cheapskate")
1831 (synopsis "Experimental markdown processor")
1832 (description "Cheapskate is an experimental Markdown processor in pure
1833Haskell. It aims to process Markdown efficiently and in the most forgiving
1834possible way. It is designed to deal with any input, including garbage, with
1835linear performance. Output is sanitized by default for protection against
1836cross-site scripting (@dfn{XSS}) attacks.")
1837 (license license:bsd-3)))
1838
1839(define-public ghc-chell
1840 (package
1841 (name "ghc-chell")
acdd03be 1842 (version "0.5")
dddbc90c
RV
1843 (source
1844 (origin
1845 (method url-fetch)
1846 (uri (string-append
1847 "https://hackage.haskell.org/package/chell/chell-"
1848 version ".tar.gz"))
1849 (sha256
1850 (base32
acdd03be 1851 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1852 (build-system haskell-build-system)
acdd03be
TS
1853 (arguments
1854 `(#:cabal-revision
1855 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1856 (inputs
1857 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1858 ("ghc-patience" ,ghc-patience)
1859 ("ghc-random" ,ghc-random)
1860 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1861 (home-page "https://john-millikin.com/software/chell/")
1862 (synopsis "Simple and intuitive library for automated testing")
1863 (description
1864 "Chell is a simple and intuitive library for automated testing.
1865It natively supports assertion-based testing, and can use companion
1866libraries such as @code{chell-quickcheck} to support more complex
1867testing strategies.")
1868 (license license:expat)))
1869
1870(define-public ghc-chell-quickcheck
1871 (package
1872 (name "ghc-chell-quickcheck")
e0e21831 1873 (version "0.2.5.2")
dddbc90c
RV
1874 (source
1875 (origin
1876 (method url-fetch)
1877 (uri (string-append
1878 "https://hackage.haskell.org/package/chell-quickcheck/"
1879 "chell-quickcheck-" version ".tar.gz"))
1880 (sha256
1881 (base32
e0e21831 1882 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1883 (build-system haskell-build-system)
1884 (arguments
1885 `(#:phases
1886 (modify-phases %standard-phases
1887 (add-before 'configure 'update-constraints
1888 (lambda _
1889 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1890 (("QuickCheck >= 2\\.3 && < 2\\.13")
1891 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1892 (inputs
1893 `(("ghc-chell" ,ghc-chell)
1894 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1895 ("ghc-random" ,ghc-random)
1896 ("ghc-quickcheck" ,ghc-quickcheck)))
1897 (home-page "https://john-millikin.com/software/chell/")
1898 (synopsis "QuickCheck support for the Chell testing library")
1899 (description "More complex tests for @code{chell}.")
1900 (license license:expat)))
1901
1902(define ghc-chell-quickcheck-bootstrap
1903 (package
1904 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1905 (version "0.2.5.2")
dddbc90c
RV
1906 (source
1907 (origin
1908 (method url-fetch)
1909 (uri (string-append
1910 "https://hackage.haskell.org/package/chell-quickcheck/"
1911 "chell-quickcheck-" version ".tar.gz"))
1912 (sha256
1913 (base32
e0e21831 1914 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1915 (build-system haskell-build-system)
1916 (inputs
1917 `(("ghc-chell" ,ghc-chell)
1918 ("ghc-random" ,ghc-random)
1919 ("ghc-quickcheck" ,ghc-quickcheck)))
1920 (arguments
1921 `(#:tests? #f
1922 #:phases
1923 (modify-phases %standard-phases
1924 (add-before 'configure 'update-constraints
1925 (lambda _
1926 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1927 (("QuickCheck >= 2\\.3 && < 2\\.13")
1928 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1929 (home-page "https://john-millikin.com/software/chell/")
1930 (synopsis "QuickCheck support for the Chell testing library")
1931 (description "More complex tests for @code{chell}.")
1932 (license license:expat)))
1933
1934(define-public ghc-chunked-data
1935 (package
1936 (name "ghc-chunked-data")
1937 (version "0.3.1")
1938 (source
1939 (origin
1940 (method url-fetch)
1941 (uri (string-append "https://hackage.haskell.org/package/"
1942 "chunked-data-" version "/"
1943 "chunked-data-" version ".tar.gz"))
1944 (sha256
1945 (base32
1946 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1947 (build-system haskell-build-system)
1948 (inputs `(("ghc-vector" ,ghc-vector)
1949 ("ghc-semigroups" ,ghc-semigroups)))
1950 (home-page "https://github.com/snoyberg/mono-traversable")
1951 (synopsis "Typeclasses for dealing with various chunked data
1952representations for Haskell")
1953 (description "This Haskell package was originally present in
1954classy-prelude.")
1955 (license license:expat)))
1956
1957(define-public ghc-clock
1958 (package
1959 (name "ghc-clock")
0841b6f2 1960 (version "0.8")
dddbc90c
RV
1961 (source
1962 (origin
1963 (method url-fetch)
1964 (uri (string-append
1965 "https://hackage.haskell.org/package/"
1966 "clock/"
1967 "clock-" version ".tar.gz"))
1968 (sha256
0841b6f2 1969 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1970 (build-system haskell-build-system)
1971 (inputs
1972 `(("ghc-tasty" ,ghc-tasty)
1973 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1974 (home-page "https://hackage.haskell.org/package/clock")
1975 (synopsis "High-resolution clock for Haskell")
1976 (description "A package for convenient access to high-resolution clock and
1977timer functions of different operating systems via a unified API.")
1978 (license license:bsd-3)))
1979
1980;; This package builds `clock` without tests, since the tests rely on tasty
1981;; and tasty-quickcheck, which in turn require clock to build.
1982(define-public ghc-clock-bootstrap
1983 (package
1984 (inherit ghc-clock)
1985 (name "ghc-clock-bootstrap")
1986 (arguments '(#:tests? #f))
1987 (inputs '())
1988 (properties '((hidden? #t)))))
1989
1990(define-public ghc-cmark
1991 (package
1992 (name "ghc-cmark")
6bdd36c0 1993 (version "0.6")
dddbc90c
RV
1994 (source (origin
1995 (method url-fetch)
6bdd36c0 1996 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1997 ;; See cbits/cmark_version.h.
1998 (uri (string-append "https://hackage.haskell.org/package/"
1999 "cmark/cmark-" version ".tar.gz"))
2000 (sha256
2001 (base32
6bdd36c0 2002 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
2003 (build-system haskell-build-system)
2004 (native-inputs
2005 `(("ghc-hunit" ,ghc-hunit)))
2006 (home-page "https://github.com/jgm/commonmark-hs")
2007 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2008 (description
2009 "This package provides Haskell bindings for
2010@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2011CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2012sources, and does not require prior installation of the C library.")
2013 (license license:bsd-3)))
2014
2015(define-public ghc-cmark-gfm
2016 (package
2017 (name "ghc-cmark-gfm")
24fc8dae 2018 (version "0.2.0")
dddbc90c
RV
2019 (source
2020 (origin
2021 (method url-fetch)
2022 (uri (string-append "https://hackage.haskell.org/package/"
2023 "cmark-gfm/cmark-gfm-"
2024 version ".tar.gz"))
2025 (sha256
2026 (base32
24fc8dae 2027 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
2028 (build-system haskell-build-system)
2029 (native-inputs
2030 `(("ghc-hunit" ,ghc-hunit)))
2031 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2032 (synopsis
2033 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2034 (description
2035 "This package provides Haskell bindings for libcmark-gfm, the reference
2036parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2037It includes sources for libcmark-gfm and does not require prior installation
2038of the C library.")
2039 (license license:bsd-3)))
2040
2041(define-public ghc-cmdargs
2042 (package
2043 (name "ghc-cmdargs")
2044 (version "0.10.20")
2045 (source
2046 (origin
2047 (method url-fetch)
2048 (uri (string-append
2049 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2050 version ".tar.gz"))
2051 (sha256
2052 (base32
2053 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2054 (build-system haskell-build-system)
2055 (home-page
2056 "http://community.haskell.org/~ndm/cmdargs/")
2057 (synopsis "Command line argument processing")
2058 (description
2059 "This library provides an easy way to define command line parsers.")
2060 (license license:bsd-3)))
2061
2062(define-public ghc-code-page
2063 (package
2064 (name "ghc-code-page")
f6bb6519 2065 (version "0.2")
dddbc90c
RV
2066 (source
2067 (origin
2068 (method url-fetch)
2069 (uri (string-append
2070 "https://hackage.haskell.org/package/code-page/code-page-"
2071 version ".tar.gz"))
2072 (sha256
2073 (base32
f6bb6519 2074 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
2075 (build-system haskell-build-system)
2076 (home-page "https://github.com/RyanGlScott/code-page")
2077 (synopsis "Windows code page library for Haskell")
2078 (description "A cross-platform library with functions for adjusting
2079code pages on Windows. On all other operating systems, the library does
2080nothing.")
2081 (license license:bsd-3)))
2082
2083(define-public ghc-colour
2084(package
2085 (name "ghc-colour")
bc9d1af9 2086 (version "2.3.5")
dddbc90c
RV
2087 (source
2088 (origin
2089 (method url-fetch)
2090 (uri (string-append
2091 "https://hackage.haskell.org/package/colour/colour-"
2092 version ".tar.gz"))
2093 (sha256
2094 (base32
bc9d1af9 2095 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
2096 (arguments
2097 ;; The tests for this package have the following dependency cycle:
2098 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2099 `(#:tests? #f))
2100 (build-system haskell-build-system)
2101 (home-page "https://www.haskell.org/haskellwiki/Colour")
2102 (synopsis "Model for human colour perception")
2103 (description
2104 "This package provides a data type for colours and transparency.
2105Colours can be blended and composed. Various colour spaces are
2106supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2107 (license license:expat)))
2108
2109(define-public ghc-comonad
2110 (package
2111 (name "ghc-comonad")
1a825512 2112 (version "5.0.5")
dddbc90c
RV
2113 (source
2114 (origin
2115 (method url-fetch)
2116 (uri (string-append
2117 "https://hackage.haskell.org/package/comonad/comonad-"
2118 version
2119 ".tar.gz"))
2120 (sha256
2121 (base32
1a825512 2122 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2123 (build-system haskell-build-system)
2124 (native-inputs
2125 `(("cabal-doctest" ,cabal-doctest)
2126 ("ghc-doctest" ,ghc-doctest)))
2127 (inputs
2128 `(("ghc-contravariant" ,ghc-contravariant)
2129 ("ghc-distributive" ,ghc-distributive)
2130 ("ghc-semigroups" ,ghc-semigroups)
2131 ("ghc-tagged" ,ghc-tagged)
2132 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2133 (home-page "https://github.com/ekmett/comonad/")
2134 (synopsis "Comonads for Haskell")
2135 (description "This library provides @code{Comonad}s for Haskell.")
2136 (license license:bsd-3)))
2137
2138(define-public ghc-concatenative
2139 (package
2140 (name "ghc-concatenative")
2141 (version "1.0.1")
2142 (source (origin
2143 (method url-fetch)
2144 (uri (string-append
2145 "https://hackage.haskell.org/package/concatenative/concatenative-"
2146 version ".tar.gz"))
2147 (sha256
2148 (base32
2149 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2150 (build-system haskell-build-system)
2151 (home-page
2152 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2153 (synopsis "Library for postfix control flow")
2154 (description
2155 "Concatenative gives Haskell Factor-style combinators and arrows for
2156postfix notation. For more information on stack based languages, see
2157@uref{https://concatenative.org}.")
2158 (license license:bsd-3)))
2159
2160(define-public ghc-concurrent-extra
2161 (package
2162 (name "ghc-concurrent-extra")
2163 (version "0.7.0.12")
2164 (source
2165 (origin
2166 (method url-fetch)
2167 (uri (string-append "https://hackage.haskell.org/package/"
2168 "concurrent-extra/concurrent-extra-"
2169 version ".tar.gz"))
2170 (sha256
2171 (base32
2172 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2173 (build-system haskell-build-system)
2174 (arguments
2175 ;; XXX: The ReadWriteLock 'stressTest' fails.
2176 `(#:tests? #f))
2177 (inputs
2178 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2179 (native-inputs
2180 `(("ghc-async" ,ghc-async)
2181 ("ghc-hunit" ,ghc-hunit)
2182 ("ghc-random" ,ghc-random)
2183 ("ghc-test-framework" ,ghc-test-framework)
2184 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2185 (home-page "https://github.com/basvandijk/concurrent-extra")
2186 (synopsis "Extra concurrency primitives")
2187 (description "This Haskell library offers (among other things) the
2188following selection of synchronisation primitives:
2189
2190@itemize
2191@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2192@item @code{Event}: Wake multiple threads by signalling an event.
2193@item @code{Lock}: Enforce exclusive access to a resource. Also known
2194as a binary semaphore or mutex. The package additionally provides an
2195alternative that works in the STM monad.
2196@item @code{RLock}: A lock which can be acquired multiple times by the
2197same thread. Also known as a reentrant mutex.
2198@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2199to protect shared resources which may be concurrently read, but only
2200sequentially written.
2201@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2202@end itemize
2203
2204Please consult the API documentation of the individual modules for more
2205detailed information.
2206
2207This package was inspired by the concurrency libraries of Java and
2208Python.")
2209 (license license:bsd-3)))
2210
2211(define-public ghc-concurrent-output
2212 (package
2213 (name "ghc-concurrent-output")
4fce0a4a 2214 (version "1.10.11")
dddbc90c
RV
2215 (source
2216 (origin
2217 (method url-fetch)
2218 (uri (string-append
2219 "mirror://hackage/package/concurrent-output/concurrent-output-"
2220 version
2221 ".tar.gz"))
2222 (sha256
2223 (base32
4fce0a4a 2224 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2225 (build-system haskell-build-system)
2226 (inputs
2227 `(("ghc-async" ,ghc-async)
2228 ("ghc-exceptions" ,ghc-exceptions)
2229 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2230 ("ghc-terminal-size" ,ghc-terminal-size)))
2231 (home-page
2232 "https://hackage.haskell.org/package/concurrent-output")
2233 (synopsis
2234 "Ungarble output from several threads or commands")
2235 (description
2236 "Lets multiple threads and external processes concurrently output to the
2237console, without it getting all garbled up.
2238
2239Built on top of that is a way of defining multiple output regions, which are
2240automatically laid out on the screen and can be individually updated by
2241concurrent threads. Can be used for progress displays etc.")
2242 (license license:bsd-2)))
2243
2244(define-public ghc-conduit
2245 (package
2246 (name "ghc-conduit")
1ac981d4 2247 (version "1.3.1.1")
dddbc90c
RV
2248 (source (origin
2249 (method url-fetch)
2250 (uri (string-append "https://hackage.haskell.org/package/"
2251 "conduit/conduit-" version ".tar.gz"))
2252 (sha256
2253 (base32
1ac981d4 2254 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2255 (build-system haskell-build-system)
2256 (inputs
2257 `(("ghc-exceptions" ,ghc-exceptions)
2258 ("ghc-lifted-base" ,ghc-lifted-base)
2259 ("ghc-mono-traversable" ,ghc-mono-traversable)
2260 ("ghc-mmorph" ,ghc-mmorph)
2261 ("ghc-resourcet" ,ghc-resourcet)
2262 ("ghc-silently" ,ghc-silently)
2263 ("ghc-transformers-base" ,ghc-transformers-base)
2264 ("ghc-unliftio" ,ghc-unliftio)
2265 ("ghc-unliftio-core" ,ghc-unliftio-core)
2266 ("ghc-vector" ,ghc-vector)
2267 ("ghc-void" ,ghc-void)))
2268 (native-inputs
2269 `(("ghc-quickcheck" ,ghc-quickcheck)
2270 ("ghc-hspec" ,ghc-hspec)
2271 ("ghc-safe" ,ghc-safe)
2272 ("ghc-split" ,ghc-split)))
2273 (home-page "https://github.com/snoyberg/conduit")
2274 (synopsis "Streaming data library ")
2275 (description
2276 "The conduit package is a solution to the streaming data problem,
2277allowing for production, transformation, and consumption of streams of data
2278in constant memory. It is an alternative to lazy I/O which guarantees
2279deterministic resource handling, and fits in the same general solution
2280space as enumerator/iteratee and pipes.")
2281 (license license:expat)))
2282
2283(define-public ghc-conduit-algorithms
2284 (package
2285 (name "ghc-conduit-algorithms")
503b74ae 2286 (version "0.0.11.0")
dddbc90c
RV
2287 (source
2288 (origin
2289 (method url-fetch)
2290 (uri (string-append "https://hackage.haskell.org/package/"
2291 "conduit-algorithms/conduit-algorithms-"
2292 version ".tar.gz"))
2293 (sha256
2294 (base32
503b74ae 2295 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2296 (build-system haskell-build-system)
2297 (inputs
2298 `(("ghc-async" ,ghc-async)
2299 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2300 ("ghc-conduit" ,ghc-conduit)
2301 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2302 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2303 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2304 ("ghc-exceptions" ,ghc-exceptions)
2305 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2306 ("ghc-monad-control" ,ghc-monad-control)
2307 ("ghc-pqueue" ,ghc-pqueue)
2308 ("ghc-resourcet" ,ghc-resourcet)
2309 ("ghc-stm-conduit" ,ghc-stm-conduit)
2310 ("ghc-streaming-commons" ,ghc-streaming-commons)
2311 ("ghc-unliftio-core" ,ghc-unliftio-core)
2312 ("ghc-vector" ,ghc-vector)))
2313 (native-inputs
2314 `(("ghc-hunit" ,ghc-hunit)
2315 ("ghc-test-framework" ,ghc-test-framework)
2316 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2317 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2318 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2319 (synopsis "Conduit-based algorithms")
2320 (description
2321 "This package provides algorithms on @code{Conduits}, including higher
2322level asynchronous processing and some other utilities.")
2323 (license license:expat)))
2324
2325(define-public ghc-conduit-combinators
2326 (package
2327 (name "ghc-conduit-combinators")
2328 (version "1.3.0")
2329 (source
2330 (origin
2331 (method url-fetch)
2332 (uri (string-append "https://hackage.haskell.org/package/"
2333 "conduit-combinators-" version "/"
2334 "conduit-combinators-" version ".tar.gz"))
2335 (sha256
2336 (base32
2337 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2338 (build-system haskell-build-system)
2339 (inputs `(("ghc-conduit" ,ghc-conduit)
2340 ("ghc-conduit-extra" ,ghc-conduit-extra)
2341 ("ghc-transformers-base" ,ghc-transformers-base)
2342 ("ghc-primitive" ,ghc-primitive)
2343 ("ghc-vector" ,ghc-vector)
2344 ("ghc-void" ,ghc-void)
2345 ("ghc-mwc-random" ,ghc-mwc-random)
2346 ("ghc-unix-compat" ,ghc-unix-compat)
2347 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2348 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2349 ("ghc-resourcet" ,ghc-resourcet)
2350 ("ghc-monad-control" ,ghc-monad-control)
2351 ("ghc-chunked-data" ,ghc-chunked-data)
2352 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2353 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2354 ("ghc-silently" ,ghc-silently)
2355 ("ghc-safe" ,ghc-safe)
2356 ("ghc-quickcheck" ,ghc-quickcheck)))
2357 (home-page "https://github.com/snoyberg/mono-traversable")
2358 (synopsis "Commonly used conduit functions, for both chunked and
2359unchunked data")
2360 (description "This Haskell package provides a replacement for Data.Conduit.List,
2361as well as a convenient Conduit module.")
2362 (license license:expat)))
2363
2364(define-public ghc-conduit-extra
2365 (package
2366 (name "ghc-conduit-extra")
151774d9 2367 (version "1.3.4")
dddbc90c
RV
2368 (source
2369 (origin
2370 (method url-fetch)
2371 (uri (string-append "https://hackage.haskell.org/package/"
2372 "conduit-extra/conduit-extra-"
2373 version ".tar.gz"))
2374 (sha256
2375 (base32
151774d9 2376 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2377 (build-system haskell-build-system)
2378 (inputs
2379 `(("ghc-conduit" ,ghc-conduit)
2380 ("ghc-exceptions" ,ghc-exceptions)
2381 ("ghc-monad-control" ,ghc-monad-control)
2382 ("ghc-transformers-base" ,ghc-transformers-base)
2383 ("ghc-typed-process" ,ghc-typed-process)
2384 ("ghc-async" ,ghc-async)
2385 ("ghc-attoparsec" ,ghc-attoparsec)
2386 ("ghc-blaze-builder" ,ghc-blaze-builder)
2387 ("ghc-network" ,ghc-network)
2388 ("ghc-primitive" ,ghc-primitive)
2389 ("ghc-resourcet" ,ghc-resourcet)
2390 ("ghc-streaming-commons" ,ghc-streaming-commons)
2391 ("ghc-hspec" ,ghc-hspec)
2392 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2393 ("ghc-quickcheck" ,ghc-quickcheck)))
2394 (native-inputs
2395 `(("hspec-discover" ,hspec-discover)))
2396 (home-page "https://github.com/snoyberg/conduit")
2397 (synopsis "Conduit adapters for common libraries")
2398 (description
2399 "The @code{conduit} package itself maintains relative small dependencies.
2400The purpose of this package is to collect commonly used utility functions
2401wrapping other library dependencies, without depending on heavier-weight
2402dependencies. The basic idea is that this package should only depend on
2403@code{haskell-platform} packages and @code{conduit}.")
2404 (license license:expat)))
2405
b59c3518
TS
2406(define-public ghc-conduit-zstd
2407 (package
2408 (name "ghc-conduit-zstd")
2409 (version "0.0.1.1")
2410 (source
2411 (origin
2412 (method url-fetch)
2413 (uri (string-append "https://hackage.haskell.org/package/"
2414 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2415 (sha256
2416 (base32
2417 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2418 (build-system haskell-build-system)
2419 (inputs
2420 `(("ghc-conduit" ,ghc-conduit)
2421 ("ghc-zstd" ,ghc-zstd)))
2422 (native-inputs
2423 `(("ghc-hunit" ,ghc-hunit)
2424 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2425 ("ghc-conduit-extra" ,ghc-conduit-extra)
2426 ("ghc-test-framework" ,ghc-test-framework)
2427 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2428 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2429 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2430 (synopsis "Conduit-based ZStd Compression")
2431 (description "Zstandard compression packaged as a conduit. This is
2432a very thin wrapper around the
2433@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2434interface}.")
2435 (license license:expat)))
2436
dddbc90c
RV
2437(define-public ghc-configurator
2438 (package
2439 (name "ghc-configurator")
2440 (version "0.3.0.0")
2441 (source
2442 (origin
2443 (method url-fetch)
2444 (uri (string-append "https://hackage.haskell.org/package/"
2445 "configurator/configurator-"
2446 version ".tar.gz"))
2447 (sha256
2448 (base32
2449 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2450 (build-system haskell-build-system)
2451 (inputs
2452 `(("ghc-attoparsec" ,ghc-attoparsec)
2453 ("ghc-hashable" ,ghc-hashable)
2454 ("ghc-unix-compat" ,ghc-unix-compat)
2455 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2456 (native-inputs
2457 `(("ghc-hunit" ,ghc-hunit)
2458 ("ghc-test-framework" ,ghc-test-framework)
2459 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2460 (home-page "http://github.com/bos/configurator")
2461 (synopsis "Configuration management")
2462 (description
2463 "This package provides a configuration management library for programs
2464and daemons. The features include:
2465
2466@enumerate
2467@item Automatic, dynamic reloading in response to modifications to
2468 configuration files.
2469@item A simple, but flexible, configuration language, supporting several of
2470 the most commonly needed types of data, along with interpolation of strings
2471 from the configuration or the system environment (e.g. @code{$(HOME)}).
2472@item Subscription-based notification of changes to configuration properties.
2473@item An @code{import} directive allows the configuration of a complex
2474 application to be split across several smaller files, or common configuration
2475 data to be shared across several applications.
2476@end enumerate\n")
2477 (license license:bsd-3)))
2478
2479(define-public ghc-connection
2480 (package
2481 (name "ghc-connection")
6ee0d258 2482 (version "0.3.1")
dddbc90c
RV
2483 (source (origin
2484 (method url-fetch)
2485 (uri (string-append "https://hackage.haskell.org/package/"
2486 "connection/connection-"
2487 version ".tar.gz"))
2488 (sha256
2489 (base32
6ee0d258 2490 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2491 (build-system haskell-build-system)
2492 (inputs
2493 `(("ghc-byteable" ,ghc-byteable)
2494 ("ghc-data-default-class" ,ghc-data-default-class)
2495 ("ghc-network" ,ghc-network)
2496 ("ghc-tls" ,ghc-tls)
2497 ("ghc-socks" ,ghc-socks)
2498 ("ghc-x509" ,ghc-x509)
2499 ("ghc-x509-store" ,ghc-x509-store)
2500 ("ghc-x509-system" ,ghc-x509-system)
2501 ("ghc-x509-validation" ,ghc-x509-validation)))
2502 (home-page "https://github.com/vincenthz/hs-connection")
2503 (synopsis "Simple and easy network connections API")
2504 (description
2505 "This package provides a simple network library for all your connection
2506needs. It provides a very simple API to create sockets to a destination with
2507the choice of SSL/TLS, and SOCKS.")
2508 (license license:bsd-3)))
2509
2510(define-public ghc-constraints
2511 (package
2512 (name "ghc-constraints")
2513 (version "0.10.1")
2514 (source
2515 (origin
2516 (method url-fetch)
2517 (uri (string-append
2518 "https://hackage.haskell.org/package/constraints/constraints-"
2519 version ".tar.gz"))
2520 (sha256
2521 (base32
2522 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2523 (build-system haskell-build-system)
2524 (inputs
2525 `(("ghc-hashable" ,ghc-hashable)
2526 ("ghc-semigroups" ,ghc-semigroups)
2527 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2528 (native-inputs
2529 `(("ghc-hspec" ,ghc-hspec)
2530 ("hspec-discover" ,hspec-discover)))
2531 (home-page "https://github.com/ekmett/constraints/")
2532 (synopsis "Constraint manipulation")
2533 (description
2534 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2535They stopped crashing the compiler in GHC 7.6. This package provides
2536a vocabulary for working with them.")
2537 (license license:bsd-3)))
2538
2539(define-public ghc-contravariant
2540 (package
2541 (name "ghc-contravariant")
e7b35ff0 2542 (version "1.5.2")
dddbc90c
RV
2543 (source
2544 (origin
2545 (method url-fetch)
2546 (uri (string-append
2547 "https://hackage.haskell.org/package/contravariant/contravariant-"
2548 version
2549 ".tar.gz"))
2550 (sha256
2551 (base32
e7b35ff0 2552 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2553 (build-system haskell-build-system)
2554 (inputs
2555 `(("ghc-void" ,ghc-void)
2556 ("ghc-transformers-compat" ,ghc-transformers-compat)
2557 ("ghc-statevar" ,ghc-statevar)
2558 ("ghc-semigroups" ,ghc-semigroups)))
2559 (home-page
2560 "https://github.com/ekmett/contravariant/")
2561 (synopsis "Contravariant functors")
2562 (description "Contravariant functors for Haskell.")
2563 (license license:bsd-3)))
2564
2565(define-public ghc-contravariant-extras
2566 (package
2567 (name "ghc-contravariant-extras")
2568 (version "0.3.4")
2569 (source
2570 (origin
2571 (method url-fetch)
2572 (uri (string-append "https://hackage.haskell.org/package/"
2573 "contravariant-extras-" version "/"
2574 "contravariant-extras-" version ".tar.gz"))
2575 (sha256
2576 (base32
2577 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2578 (build-system haskell-build-system)
f3aca086
TS
2579 (arguments
2580 `(#:cabal-revision
2581 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2582 (inputs
2583 `(("ghc-tuple-th" ,ghc-tuple-th)
2584 ("ghc-contravariant" ,ghc-contravariant)
2585 ("ghc-base-prelude" ,ghc-base-prelude)
2586 ("ghc-semigroups" ,ghc-semigroups)))
2587 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2588 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2589 (description "This Haskell package provides extras for the
2590@code{ghc-contravariant} package.")
2591 (license license:expat)))
2592
2593(define-public ghc-convertible
2594 (package
2595 (name "ghc-convertible")
2596 (version "1.1.1.0")
2597 (source
2598 (origin
2599 (method url-fetch)
2600 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2601 "convertible-" version ".tar.gz"))
2602 (sha256
2603 (base32
2604 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2605 (build-system haskell-build-system)
2606 (inputs
2607 `(("ghc-old-time" ,ghc-old-time)
2608 ("ghc-old-locale" ,ghc-old-locale)))
2609 (home-page "https://hackage.haskell.org/package/convertible")
2610 (synopsis "Typeclasses and instances for converting between types")
2611 (description
2612 "This package provides a typeclass with a single function that is
2613designed to help convert between different types: numeric values, dates and
2614times, and the like. The conversions perform bounds checking and return a
2615pure @code{Either} value. This means that you need not remember which specific
2616function performs the conversion you desire.")
2617 (license license:bsd-3)))
2618
2619(define-public ghc-data-accessor
2620 (package
2621 (name "ghc-data-accessor")
6dcca515 2622 (version "0.2.2.8")
dddbc90c
RV
2623 (source
2624 (origin
2625 (method url-fetch)
2626 (uri (string-append
2627 "mirror://hackage/package/data-accessor/data-accessor-"
2628 version ".tar.gz"))
2629 (sha256
6dcca515 2630 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2631 (build-system haskell-build-system)
2632 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2633 (synopsis
2634 "Haskell utilities for accessing and manipulating fields of records")
2635 (description "This package provides Haskell modules for accessing and
2636manipulating fields of records.")
2637 (license license:bsd-3)))
2638
2639(define-public ghc-data-accessor-transformers
2640 (package
2641 (name "ghc-data-accessor-transformers")
2642 (version "0.2.1.7")
2643 (source
2644 (origin
2645 (method url-fetch)
2646 (uri (string-append
2647 "mirror://hackage/package/data-accessor-transformers/"
2648 "data-accessor-transformers-" version ".tar.gz"))
2649 (sha256
2650 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2651 (build-system haskell-build-system)
2652 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2653 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2654 (synopsis "Use Accessor to access state in transformers State monad")
2655 (description "This package provides Haskell modules to allow use of
2656Accessor to access state in transformers State monad.")
2657 (license license:bsd-3)))
2658
2659(define-public ghc-data-default
2660 (package
2661 (name "ghc-data-default")
2662 (version "0.7.1.1")
2663 (source
2664 (origin
2665 (method url-fetch)
2666 (uri (string-append
2667 "https://hackage.haskell.org/package/data-default/data-default-"
2668 version
2669 ".tar.gz"))
2670 (sha256
2671 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2672 (build-system haskell-build-system)
2673 (inputs
2674 `(("ghc-data-default-class"
2675 ,ghc-data-default-class)
2676 ("ghc-data-default-instances-base"
2677 ,ghc-data-default-instances-base)
2678 ("ghc-data-default-instances-containers"
2679 ,ghc-data-default-instances-containers)
2680 ("ghc-data-default-instances-dlist"
2681 ,ghc-data-default-instances-dlist)
2682 ("ghc-data-default-instances-old-locale"
2683 ,ghc-data-default-instances-old-locale)))
2684 (home-page "https://hackage.haskell.org/package/data-default")
2685 (synopsis "Types with default values")
2686 (description
2687 "This package defines a class for types with a default value, and
2688provides instances for types from the base, containers, dlist and old-locale
2689packages.")
2690 (license license:bsd-3)))
2691
2692(define-public ghc-data-default-class
2693 (package
2694 (name "ghc-data-default-class")
2695 (version "0.1.2.0")
2696 (source
2697 (origin
2698 (method url-fetch)
2699 (uri (string-append
2700 "https://hackage.haskell.org/package/data-default-class/"
2701 "data-default-class-" version ".tar.gz"))
2702 (sha256
2703 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2704 (build-system haskell-build-system)
2705 (home-page "https://hackage.haskell.org/package/data-default-class")
2706 (synopsis "Types with default values")
2707 (description
2708 "This package defines a class for types with default values.")
2709 (license license:bsd-3)))
2710
2711(define-public ghc-data-default-instances-base
2712 (package
2713 (name "ghc-data-default-instances-base")
2714 (version "0.1.0.1")
2715 (source
2716 (origin
2717 (method url-fetch)
2718 (uri (string-append
2719 "https://hackage.haskell.org/package/"
2720 "data-default-instances-base/"
2721 "data-default-instances-base-" version ".tar.gz"))
2722 (sha256
2723 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2724 (build-system haskell-build-system)
2725 (inputs
2726 `(("ghc-data-default-class" ,ghc-data-default-class)))
2727 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2728 (synopsis "Default instances for types in base")
2729 (description
2730 "This package provides default instances for types from the base
2731package.")
2732 (license license:bsd-3)))
2733
2734(define-public ghc-data-default-instances-containers
2735 (package
2736 (name "ghc-data-default-instances-containers")
2737 (version "0.0.1")
2738 (source
2739 (origin
2740 (method url-fetch)
2741 (uri (string-append
2742 "https://hackage.haskell.org/package/"
2743 "data-default-instances-containers/"
2744 "data-default-instances-containers-" version ".tar.gz"))
2745 (sha256
2746 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2747 (build-system haskell-build-system)
2748 (inputs
2749 `(("ghc-data-default-class" ,ghc-data-default-class)))
2750 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2751 (synopsis "Default instances for types in containers")
2752 (description "Provides default instances for types from the containers
2753package.")
2754 (license license:bsd-3)))
2755
2756(define-public ghc-data-default-instances-dlist
2757 (package
2758 (name "ghc-data-default-instances-dlist")
2759 (version "0.0.1")
2760 (source
2761 (origin
2762 (method url-fetch)
2763 (uri (string-append
2764 "https://hackage.haskell.org/package/"
2765 "data-default-instances-dlist/"
2766 "data-default-instances-dlist-" version ".tar.gz"))
2767 (sha256
2768 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2769 (build-system haskell-build-system)
2770 (inputs
2771 `(("ghc-data-default-class" ,ghc-data-default-class)
2772 ("ghc-dlist" ,ghc-dlist)))
2773 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2774 (synopsis "Default instances for types in dlist")
2775 (description "Provides default instances for types from the dlist
2776package.")
2777 (license license:bsd-3)))
2778
2779(define-public ghc-data-default-instances-old-locale
2780 (package
2781 (name "ghc-data-default-instances-old-locale")
2782 (version "0.0.1")
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append
2787 "https://hackage.haskell.org/package/"
2788 "data-default-instances-old-locale/"
2789 "data-default-instances-old-locale-" version ".tar.gz"))
2790 (sha256
2791 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2792 (build-system haskell-build-system)
2793 (inputs
2794 `(("ghc-data-default-class" ,ghc-data-default-class)
2795 ("ghc-old-locale" ,ghc-old-locale)))
2796 (home-page
2797 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2798 (synopsis "Default instances for types in old-locale")
2799 (description "Provides Default instances for types from the old-locale
2800 package.")
2801 (license license:bsd-3)))
2802
82c36002
JS
2803(define-public ghc-data-fix
2804 (package
2805 (name "ghc-data-fix")
2806 (version "0.2.0")
2807 (source
2808 (origin
2809 (method url-fetch)
2810 (uri (string-append
2811 "mirror://hackage/package/data-fix/"
2812 "data-fix-" version ".tar.gz"))
2813 (sha256
2814 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2815 (build-system haskell-build-system)
2816 (home-page "https://github.com/spell-music/data-fix")
2817 (synopsis "Fixpoint data types")
2818 (description
2819 "Fixpoint types and recursion schemes. If you define your AST as
2820fixpoint type, you get fold and unfold operations for free.
2821
2822Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2823 (license license:bsd-3)))
2824
dddbc90c
RV
2825(define-public ghc-data-hash
2826 (package
2827 (name "ghc-data-hash")
2828 (version "0.2.0.1")
2829 (source
2830 (origin
2831 (method url-fetch)
2832 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2833 "/data-hash-" version ".tar.gz"))
2834 (sha256
2835 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2836 (build-system haskell-build-system)
2837 (inputs
2838 `(("ghc-quickcheck" ,ghc-quickcheck)
2839 ("ghc-test-framework" ,ghc-test-framework)
2840 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2841 (home-page "https://hackage.haskell.org/package/data-hash")
2842 (synopsis "Combinators for building fast hashing functions")
2843 (description
2844 "This package provides combinators for building fast hashing functions.
2845It includes hashing functions for all basic Haskell98 types.")
2846 (license license:bsd-3)))
2847
2848(define-public ghc-data-ordlist
2849 (package
2850 (name "ghc-data-ordlist")
2851 (version "0.4.7.0")
2852 (source
2853 (origin
2854 (method url-fetch)
2855 (uri (string-append
2856 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2857 version ".tar.gz"))
2858 (sha256
2859 (base32
2860 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2861 (build-system haskell-build-system)
2862 (home-page "https://hackage.haskell.org/package/data-ordlist")
2863 (synopsis "Set and bag operations on ordered lists")
2864 (description
2865 "This module provides set and multiset operations on ordered lists.")
2866 (license license:bsd-3)))
2867
d05f32d6
JS
2868(define-public ghc-dbus
2869 (package
2870 (name "ghc-dbus")
2871 (version "1.2.7")
2872 (source
2873 (origin
2874 (method url-fetch)
2875 (uri
2876 (string-append
2877 "mirror://hackage/package/dbus/dbus-"
2878 version ".tar.gz"))
2879 (sha256
2880 (base32
2881 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2882 (build-system haskell-build-system)
2883 (inputs
2884 `(("ghc-cereal" ,ghc-cereal)
2885 ("ghc-conduit" ,ghc-conduit)
2886 ("ghc-exceptions" ,ghc-exceptions)
2887 ("ghc-lens" ,ghc-lens)
2888 ("ghc-network" ,ghc-network)
2889 ("ghc-random" ,ghc-random)
2890 ("ghc-split" ,ghc-split)
2891 ("ghc-th-lift" ,ghc-th-lift)
2892 ("ghc-vector" ,ghc-vector)
2893 ("ghc-xml-conduit" ,ghc-xml-conduit)
2894 ("ghc-xml-types" ,ghc-xml-types)))
2895 (native-inputs
2896 `(("ghc-extra" ,ghc-extra)
2897 ("ghc-quickcheck" ,ghc-quickcheck)
2898 ("ghc-resourcet" ,ghc-resourcet)
2899 ("ghc-tasty" ,ghc-tasty)
2900 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2901 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2902 ;; FIXME - Some tests try to talk to network.
2903 (arguments `(#:tests? #f))
2904 (home-page "https://github.com/rblaze/haskell-dbus")
2905 (synopsis "Client library for the D-Bus IPC system")
2906 (description
2907 "D-Bus is a simple, message-based protocol for inter-process
2908communication, which allows applications to interact with other parts
2909of the machine and the user's session using remote procedure
2910calls. D-Bus is a essential part of the modern Linux desktop, where
2911it replaces earlier protocols such as CORBA and DCOP. This library
2912is an implementation of the D-Bus protocol in Haskell. It can be used
2913to add D-Bus support to Haskell applications, without the awkward
2914interfaces common to foreign bindings.")
2915 (license license:asl2.0)))
2916
dddbc90c
RV
2917(define-public ghc-deepseq-generics
2918 (package
2919 (name "ghc-deepseq-generics")
2920 (version "0.2.0.0")
2921 (source (origin
2922 (method url-fetch)
2923 (uri (string-append "https://hackage.haskell.org/package/"
2924 "deepseq-generics/deepseq-generics-"
2925 version ".tar.gz"))
2926 (sha256
2927 (base32
2928 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2929 (build-system haskell-build-system)
2930 (arguments
2931 `(#:cabal-revision
490ceae4 2932 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2933 (native-inputs
2934 `(("ghc-hunit" ,ghc-hunit)
2935 ("ghc-test-framework" ,ghc-test-framework)
2936 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2937 (home-page "https://github.com/hvr/deepseq-generics")
2938 (synopsis "Generic RNF implementation")
2939 (description
2940 "This package provides a @code{GHC.Generics}-based
2941@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2942providing an @code{rnf} implementation.")
2943 (license license:bsd-3)))
2944
e924e17e
TS
2945(define-public ghc-dense-linear-algebra
2946 (package
2947 (name "ghc-dense-linear-algebra")
2948 (version "0.1.0.0")
2949 (source
2950 (origin
2951 (method url-fetch)
2952 (uri (string-append "https://hackage.haskell.org/package/"
2953 "dense-linear-algebra/dense-linear-algebra-"
2954 version ".tar.gz"))
2955 (sha256
2956 (base32
2957 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2958 (build-system haskell-build-system)
2959 (inputs
2960 `(("ghc-math-functions" ,ghc-math-functions)
2961 ("ghc-primitive" ,ghc-primitive)
2962 ("ghc-vector" ,ghc-vector)
2963 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2964 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2965 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2966 (native-inputs
2967 `(("ghc-hspec" ,ghc-hspec)
2968 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2969 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2970 (synopsis "Simple and incomplete implementation of linear algebra")
2971 (description "This library is simply a collection of linear-algebra
2972related modules split from the statistics library.")
2973 (license license:bsd-2)))
2974
dddbc90c
RV
2975(define-public ghc-descriptive
2976 (package
2977 (name "ghc-descriptive")
2978 (version "0.9.5")
2979 (source
2980 (origin
2981 (method url-fetch)
2982 (uri (string-append
2983 "https://hackage.haskell.org/package/descriptive/descriptive-"
2984 version
2985 ".tar.gz"))
2986 (sha256
2987 (base32
2988 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2989 (build-system haskell-build-system)
2990 (inputs
2991 `(("ghc-aeson" ,ghc-aeson)
2992 ("ghc-bifunctors" ,ghc-bifunctors)
2993 ("ghc-scientific" ,ghc-scientific)
2994 ("ghc-vector" ,ghc-vector)))
2995 (native-inputs
2996 `(("ghc-hunit" ,ghc-hunit)
2997 ("ghc-hspec" ,ghc-hspec)))
2998 (home-page
2999 "https://github.com/chrisdone/descriptive")
3000 (synopsis
3001 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3002 (description
3003 "This package provides datatypes and functions for creating consumers
3004and parsers with useful semantics.")
3005 (license license:bsd-3)))
3006
1859c94a
TS
3007(define-public ghc-diagrams-core
3008 (package
3009 (name "ghc-diagrams-core")
3010 (version "1.4.2")
3011 (source
3012 (origin
3013 (method url-fetch)
3014 (uri (string-append "https://hackage.haskell.org/package/"
3015 "diagrams-core/diagrams-core-" version ".tar.gz"))
3016 (sha256
3017 (base32
3018 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3019 (build-system haskell-build-system)
3020 (inputs
3021 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3022 ("ghc-semigroups" ,ghc-semigroups)
3023 ("ghc-monoid-extras" ,ghc-monoid-extras)
3024 ("ghc-dual-tree" ,ghc-dual-tree)
3025 ("ghc-lens" ,ghc-lens)
3026 ("ghc-linear" ,ghc-linear)
3027 ("ghc-adjunctions" ,ghc-adjunctions)
3028 ("ghc-distributive" ,ghc-distributive)
3029 ("ghc-profunctors" ,ghc-profunctors)))
3030 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3031 (synopsis "Core libraries for diagrams embedded domain-specific language")
3032 (description "This package provides the core modules underlying
3033diagrams, an embedded domain-specific language for compositional,
3034declarative drawing.")
3035 (license license:bsd-3)))
3036
f9f1a630
TS
3037(define-public ghc-diagrams-lib
3038 (package
3039 (name "ghc-diagrams-lib")
3040 (version "1.4.2.3")
3041 (source
3042 (origin
3043 (method url-fetch)
3044 (uri (string-append "https://hackage.haskell.org/package/"
3045 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3046 (sha256
3047 (base32
3048 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3049 (build-system haskell-build-system)
3050 (inputs
3051 `(("ghc-semigroups" ,ghc-semigroups)
3052 ("ghc-monoid-extras" ,ghc-monoid-extras)
3053 ("ghc-dual-tree" ,ghc-dual-tree)
3054 ("ghc-diagrams-core" ,ghc-diagrams-core)
3055 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3056 ("ghc-active" ,ghc-active)
3057 ("ghc-colour" ,ghc-colour)
3058 ("ghc-data-default-class" ,ghc-data-default-class)
3059 ("ghc-fingertree" ,ghc-fingertree)
3060 ("ghc-intervals" ,ghc-intervals)
3061 ("ghc-lens" ,ghc-lens)
3062 ("ghc-tagged" ,ghc-tagged)
3063 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3064 ("ghc-juicypixels" ,ghc-juicypixels)
3065 ("ghc-hashable" ,ghc-hashable)
3066 ("ghc-linear" ,ghc-linear)
3067 ("ghc-adjunctions" ,ghc-adjunctions)
3068 ("ghc-distributive" ,ghc-distributive)
3069 ("ghc-fsnotify" ,ghc-fsnotify)
3070 ("ghc-unordered-containers" ,ghc-unordered-containers)
3071 ("ghc-profunctors" ,ghc-profunctors)
3072 ("ghc-exceptions" ,ghc-exceptions)
3073 ("ghc-cereal" ,ghc-cereal)))
3074 (native-inputs
3075 `(("ghc-tasty" ,ghc-tasty)
3076 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3077 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3078 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3079 (arguments
3080 `(#:cabal-revision
3081 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3082 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3083 (synopsis "Embedded domain-specific language for declarative graphics")
3084 (description "Diagrams is a flexible, extensible embedded
3085domain-specific language (EDSL) for creating graphics of many types.
3086Graphics can be created in arbitrary vector spaces and rendered with
3087multiple backends. This package provides a standard library of
3088primitives and operations for creating diagrams.")
3089 (license license:bsd-3)))
3090
fd33ffa0
TS
3091(define-public ghc-diagrams-solve
3092 (package
3093 (name "ghc-diagrams-solve")
3094 (version "0.1.1")
3095 (source
3096 (origin
3097 (method url-fetch)
3098 (uri (string-append "https://hackage.haskell.org/package/"
3099 "diagrams-solve/diagrams-solve-"
3100 version ".tar.gz"))
3101 (sha256
3102 (base32
3103 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3104 (build-system haskell-build-system)
3105 (native-inputs
3106 `(("ghc-tasty" ,ghc-tasty)
3107 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3108 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3109 (arguments
3110 `(#:cabal-revision
3111 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3112 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3113 (synopsis "Pure Haskell solver routines used by diagrams")
3114 (description "This library provides Pure Haskell solver routines for
3115use by the
3116@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3117diagrams framework}. It currently includes routines for finding real
3118roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3119and cyclic tridiagonal linear systems.")
3120 (license license:bsd-3)))
3121
74be1cb7
TS
3122(define-public ghc-diagrams-svg
3123 (package
3124 (name "ghc-diagrams-svg")
3125 (version "1.4.2")
3126 (source
3127 (origin
3128 (method url-fetch)
3129 (uri (string-append "https://hackage.haskell.org/package/"
3130 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3131 (sha256
3132 (base32
3133 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3134 (build-system haskell-build-system)
3135 (inputs
3136 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3137 ("ghc-colour" ,ghc-colour)
3138 ("ghc-diagrams-core" ,ghc-diagrams-core)
3139 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3140 ("ghc-monoid-extras" ,ghc-monoid-extras)
3141 ("ghc-svg-builder" ,ghc-svg-builder)
3142 ("ghc-juicypixels" ,ghc-juicypixels)
3143 ("ghc-split" ,ghc-split)
3144 ("ghc-lens" ,ghc-lens)
3145 ("ghc-hashable" ,ghc-hashable)
3146 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3147 ("ghc-semigroups" ,ghc-semigroups)))
3148 (arguments
3149 `(#:cabal-revision
3150 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3151 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3152 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3153 (description "This package provides a modular backend for rendering
3154diagrams created with the diagrams embedded domain-specific
3155language (EDSL) to Scalable Vector Graphics (SVG) files.")
3156 (license license:bsd-3)))
3157
4eb9a167
TS
3158(define-public ghc-dictionary-sharing
3159 (package
3160 (name "ghc-dictionary-sharing")
3161 (version "0.1.0.0")
3162 (source
3163 (origin
3164 (method url-fetch)
3165 (uri (string-append "https://hackage.haskell.org/package/"
3166 "dictionary-sharing/dictionary-sharing-"
3167 version ".tar.gz"))
3168 (sha256
3169 (base32
3170 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3171 (build-system haskell-build-system)
3172 (arguments
3173 `(#:cabal-revision
3174 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3175 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3176 (synopsis "Sharing/memoization of class members")
3177 (description "This library provides tools for ensuring that class
3178members are shared.")
3179 (license license:bsd-3)))
3180
dddbc90c
RV
3181(define-public ghc-diff
3182 (package
3183 (name "ghc-diff")
3184 (version "0.3.4")
3185 (source (origin
3186 (method url-fetch)
3187 (uri (string-append "https://hackage.haskell.org/package/"
3188 "Diff/Diff-" version ".tar.gz"))
a531ff94 3189 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3190 (sha256
3191 (base32
3192 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3193 (build-system haskell-build-system)
3194 (native-inputs
3195 `(("ghc-quickcheck" ,ghc-quickcheck)
3196 ("ghc-test-framework" ,ghc-test-framework)
3197 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3198 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3199 (synopsis "O(ND) diff algorithm in Haskell")
3200 (description
3201 "This package provides an implementation of the standard diff algorithm,
3202and utilities for pretty printing.")
3203 (license license:bsd-3)))
3204
3205(define-public ghc-disk-free-space
3206 (package
3207 (name "ghc-disk-free-space")
3208 (version "0.1.0.1")
3209 (source
3210 (origin
3211 (method url-fetch)
3212 (uri (string-append "https://hackage.haskell.org/package/"
3213 "disk-free-space/disk-free-space-"
3214 version ".tar.gz"))
3215 (sha256
3216 (base32
3217 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3218 (build-system haskell-build-system)
3219 (home-page "https://github.com/redneb/disk-free-space")
3220 (synopsis "Retrieve information about disk space usage")
3221 (description "A cross-platform library for retrieving information about
3222disk space usage.")
3223 (license license:bsd-3)))
3224
3225(define-public ghc-distributive
3226 (package
3227 (name "ghc-distributive")
e4c92f28 3228 (version "0.6.1")
dddbc90c
RV
3229 (source
3230 (origin
3231 (method url-fetch)
3232 (uri (string-append
3233 "https://hackage.haskell.org/package/distributive/distributive-"
3234 version
3235 ".tar.gz"))
3236 (sha256
3237 (base32
e4c92f28 3238 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3239 (build-system haskell-build-system)
dddbc90c
RV
3240 (inputs
3241 `(("ghc-tagged" ,ghc-tagged)
3242 ("ghc-base-orphans" ,ghc-base-orphans)
3243 ("ghc-transformers-compat" ,ghc-transformers-compat)
3244 ("ghc-semigroups" ,ghc-semigroups)
3245 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3246 (native-inputs
3247 `(("cabal-doctest" ,cabal-doctest)
3248 ("ghc-doctest" ,ghc-doctest)
3249 ("ghc-hspec" ,ghc-hspec)
3250 ("hspec-discover" ,hspec-discover)))
3251 (home-page "https://github.com/ekmett/distributive/")
3252 (synopsis "Distributive functors for Haskell")
3253 (description "This package provides distributive functors for Haskell.
3254Dual to @code{Traversable}.")
3255 (license license:bsd-3)))
3256
3257(define-public ghc-dlist
3258 (package
3259 (name "ghc-dlist")
197ddf33 3260 (version "0.8.0.7")
dddbc90c
RV
3261 (source
3262 (origin
3263 (method url-fetch)
3264 (uri (string-append
3265 "https://hackage.haskell.org/package/dlist/dlist-"
3266 version
3267 ".tar.gz"))
3268 (sha256
197ddf33 3269 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3270 (build-system haskell-build-system)
3271 (inputs
3272 `(("ghc-quickcheck" ,ghc-quickcheck)))
3273 (home-page "https://github.com/spl/dlist")
3274 (synopsis "Difference lists")
3275 (description
3276 "Difference lists are a list-like type supporting O(1) append. This is
3277particularly useful for efficient logging and pretty printing (e.g. with the
3278Writer monad), where list append quickly becomes too expensive.")
3279 (license license:bsd-3)))
3280
3281(define-public ghc-doctemplates
3282 (package
3283 (name "ghc-doctemplates")
3284 (version "0.2.2.1")
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append "https://hackage.haskell.org/package/"
3289 "doctemplates/doctemplates-"
3290 version ".tar.gz"))
3291 (sha256
3292 (base32
3293 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3294 (build-system haskell-build-system)
3295 (inputs
3296 `(("ghc-aeson" ,ghc-aeson)
3297 ("ghc-blaze-markup" ,ghc-blaze-markup)
3298 ("ghc-blaze-html" ,ghc-blaze-html)
3299 ("ghc-vector" ,ghc-vector)
3300 ("ghc-unordered-containers" ,ghc-unordered-containers)
3301 ("ghc-scientific" ,ghc-scientific)))
3302 (native-inputs
3303 `(("ghc-hspec" ,ghc-hspec)))
3304 (home-page "https://github.com/jgm/doctemplates#readme")
3305 (synopsis "Pandoc-style document templates")
3306 (description
3307 "This package provides a simple text templating system used by pandoc.")
3308 (license license:bsd-3)))
3309
3310(define-public ghc-doctest
3311 (package
3312 (name "ghc-doctest")
19c14a0f 3313 (version "0.16.2")
dddbc90c
RV
3314 (source
3315 (origin
3316 (method url-fetch)
3317 (uri (string-append
3318 "https://hackage.haskell.org/package/doctest/doctest-"
3319 version
3320 ".tar.gz"))
3321 (sha256
3322 (base32
19c14a0f 3323 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3324 (build-system haskell-build-system)
3325 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3326 (inputs
3327 `(("ghc-syb" ,ghc-syb)
3328 ("ghc-paths" ,ghc-paths)
3329 ("ghc-base-compat" ,ghc-base-compat)
3330 ("ghc-code-page" ,ghc-code-page)
3331 ("ghc-hunit" ,ghc-hunit)
3332 ("ghc-hspec" ,ghc-hspec)
3333 ("ghc-quickcheck" ,ghc-quickcheck)
3334 ("ghc-stringbuilder" ,ghc-stringbuilder)
3335 ("ghc-silently" ,ghc-silently)
3336 ("ghc-setenv" ,ghc-setenv)))
3337 (home-page
3338 "https://github.com/sol/doctest#readme")
3339 (synopsis "Test interactive Haskell examples")
3340 (description "The doctest program checks examples in source code comments.
3341It is modeled after doctest for Python, see
3342@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3343 (license license:expat)))
3344
2b2c8911
JS
3345(define-public ghc-dotgen
3346 (package
3347 (name "ghc-dotgen")
3348 (version "0.4.2")
3349 (source
3350 (origin
3351 (method url-fetch)
3352 (uri (string-append
3353 "mirror://hackage/package/dotgen/dotgen-"
3354 version
3355 ".tar.gz"))
3356 (sha256
3357 (base32
3358 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3359 (build-system haskell-build-system)
3360 (home-page "https://github.com/ku-fpg/dotgen")
3361 (synopsis
3362 "Simple interface for building .dot graph files")
3363 (description
3364 "This package provides a simple interface for building .dot graph
3365files, for input into the dot and graphviz tools. It includes a
3366monadic interface for building graphs.")
3367 (license license:bsd-3)))
3368
dddbc90c
RV
3369(define-public ghc-double-conversion
3370 (package
3371 (name "ghc-double-conversion")
3372 (version "2.0.2.0")
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append "https://hackage.haskell.org/package/"
3377 "double-conversion/double-conversion-"
3378 version ".tar.gz"))
3379 (sha256
3380 (base32
3381 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3382 (build-system haskell-build-system)
3383 (native-inputs
3384 `(("ghc-hunit" ,ghc-hunit)
3385 ("ghc-test-framework" ,ghc-test-framework)
3386 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3387 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3388 (home-page "https://github.com/bos/double-conversion")
3389 (synopsis "Fast conversion between double precision floating point and text")
3390 (description
3391 "This package provides a library that performs fast, accurate conversion
3392between double precision floating point and text.")
3393 (license license:bsd-3)))
3394
577a78b7
TS
3395(define-public ghc-dual-tree
3396 (package
3397 (name "ghc-dual-tree")
3398 (version "0.2.2.1")
3399 (source
3400 (origin
3401 (method url-fetch)
3402 (uri (string-append "https://hackage.haskell.org/package/"
3403 "dual-tree/dual-tree-" version ".tar.gz"))
3404 (sha256
3405 (base32
3406 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3407 (build-system haskell-build-system)
3408 (inputs
3409 `(("ghc-semigroups" ,ghc-semigroups)
3410 ("ghc-newtype-generics" ,ghc-newtype-generics)
3411 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3412 (native-inputs
3413 `(("ghc-quickcheck" ,ghc-quickcheck)
3414 ("ghc-testing-feat" ,ghc-testing-feat)))
3415 (home-page "https://hackage.haskell.org/package/dual-tree")
3416 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3417 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3418cached) and downwards-traveling (i.e. accumulating) monoidal
3419annotations. This is used as the core data structure underlying the
3420@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3421diagrams framework}, but potentially has other applications as well.")
3422 (license license:bsd-3)))
3423
dddbc90c
RV
3424(define-public ghc-easy-file
3425 (package
3426 (name "ghc-easy-file")
3427 (version "0.2.2")
3428 (source
3429 (origin
3430 (method url-fetch)
3431 (uri (string-append
3432 "https://hackage.haskell.org/package/easy-file/easy-file-"
3433 version
3434 ".tar.gz"))
3435 (sha256
3436 (base32
3437 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3438 (build-system haskell-build-system)
3439 (home-page
3440 "https://github.com/kazu-yamamoto/easy-file")
3441 (synopsis "File handling library for Haskell")
3442 (description "This library provides file handling utilities for Haskell.")
3443 (license license:bsd-3)))
3444
3445(define-public ghc-easyplot
3446 (package
3447 (name "ghc-easyplot")
3448 (version "1.0")
3449 (source
3450 (origin
3451 (method url-fetch)
3452 (uri (string-append
3453 "https://hackage.haskell.org/package/easyplot/easyplot-"
3454 version ".tar.gz"))
3455 (sha256
3456 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3457 (build-system haskell-build-system)
3458 (propagated-inputs `(("gnuplot" ,gnuplot)))
3459 (arguments
3460 `(#:phases (modify-phases %standard-phases
3461 (add-after 'unpack 'fix-setup-suffix
3462 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3463 (home-page "https://hub.darcs.net/scravy/easyplot")
3464 (synopsis "Haskell plotting library based on gnuplot")
3465 (description "This package provides a plotting library for
3466Haskell, using gnuplot for rendering.")
3467 (license license:expat)))
3468
3469(define-public ghc-echo
3470 (package
3471 (name "ghc-echo")
3472 (version "0.1.3")
3473 (source
3474 (origin
3475 (method url-fetch)
3476 (uri (string-append
3477 "https://hackage.haskell.org/package/echo/echo-"
3478 version ".tar.gz"))
3479 (sha256
3480 (base32
3481 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3482 (build-system haskell-build-system)
3483 (arguments
3484 `(#:cabal-revision
3485 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3486 (home-page "https://github.com/RyanGlScott/echo")
3487 (synopsis "Echo terminal input portably")
3488 (description "The @code{base} library exposes the @code{hGetEcho} and
3489@code{hSetEcho} functions for querying and setting echo status, but
3490unfortunately, neither function works with MinTTY consoles on Windows.
3491This library provides an alternative interface which works with both
3492MinTTY and other consoles.")
3493 (license license:bsd-3)))
3494
3495(define-public ghc-edisonapi
3496 (package
3497 (name "ghc-edisonapi")
3498 (version "1.3.1")
3499 (source
3500 (origin
3501 (method url-fetch)
3502 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3503 "/EdisonAPI-" version ".tar.gz"))
3504 (sha256
3505 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3506 (build-system haskell-build-system)
3507 (home-page "http://rwd.rdockins.name/edison/home/")
3508 (synopsis "Library of efficient, purely-functional data structures (API)")
3509 (description
3510 "Edison is a library of purely functional data structures written by
3511Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3512value EDiSon (Efficient Data Structures). Edison provides several families of
3513abstractions, each with multiple implementations. The main abstractions
3514provided by Edison are: Sequences such as stacks, queues, and dequeues;
3515Collections such as sets, bags and heaps; and Associative Collections such as
3516finite maps and priority queues where the priority and element are distinct.")
3517 (license license:expat)))
3518
3519(define-public ghc-edisoncore
3520 (package
3521 (name "ghc-edisoncore")
3522 (version "1.3.2.1")
3523 (source
3524 (origin
3525 (method url-fetch)
3526 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3527 "/EdisonCore-" version ".tar.gz"))
3528 (sha256
3529 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3530 (build-system haskell-build-system)
3531 (inputs
3532 `(("ghc-quickcheck" ,ghc-quickcheck)
3533 ("ghc-edisonapi" ,ghc-edisonapi)))
3534 (home-page "http://rwd.rdockins.name/edison/home/")
3535 (synopsis "Library of efficient, purely-functional data structures")
3536 (description
3537 "This package provides the core Edison data structure implementations,
3538including multiple sequence, set, bag, and finite map concrete implementations
3539with various performance characteristics.")
3540 (license license:expat)))
3541
3542(define-public ghc-edit-distance
3543 (package
3544 (name "ghc-edit-distance")
3545 (version "0.2.2.1")
3546 (source
3547 (origin
3548 (method url-fetch)
3549 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3550 "/edit-distance-" version ".tar.gz"))
3551 (sha256
3552 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3553 (build-system haskell-build-system)
3554 (arguments
3555 `(#:phases
3556 (modify-phases %standard-phases
3557 (add-before 'configure 'update-constraints
3558 (lambda _
3559 (substitute* "edit-distance.cabal"
3560 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3561 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3562 (inputs
3563 `(("ghc-random" ,ghc-random)
3564 ("ghc-test-framework" ,ghc-test-framework)
3565 ("ghc-quickcheck" ,ghc-quickcheck)
3566 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3567 (home-page "https://github.com/phadej/edit-distance")
3568 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3569 (description
3570 "This package provides optimized functions to determine the edit
3571distances for fuzzy matching, including Levenshtein and restricted
3572Damerau-Levenshtein algorithms.")
3573 (license license:bsd-3)))
3574
3ebae41f
TS
3575(define-public ghc-edit-distance-vector
3576 (package
3577 (name "ghc-edit-distance-vector")
3578 (version "1.0.0.4")
3579 (source
3580 (origin
3581 (method url-fetch)
3582 (uri (string-append "https://hackage.haskell.org/package/"
3583 "edit-distance-vector/edit-distance-vector-"
3584 version ".tar.gz"))
3585 (sha256
3586 (base32
3587 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3588 (build-system haskell-build-system)
3589 (inputs
3590 `(("ghc-vector" ,ghc-vector)))
3591 (native-inputs
3592 `(("ghc-quickcheck" ,ghc-quickcheck)
3593 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3594 (home-page "https://github.com/thsutton/edit-distance-vector")
3595 (synopsis "Calculate edit distances and edit scripts between vectors")
3596 (description "This package provides implementation of the
3597Wagner-Fischer dynamic programming algorithm to find the optimal edit
3598script and cost between two sequences. The implementation in this
3599package is specialised to sequences represented with @code{Data.Vector}
3600but is otherwise agnostic to:
3601@itemize
3602@item The type of values in the vectors;
3603@item The type representing edit operations; and
3604@item The type representing the cost of operations.
3605@end itemize")
3606 (license license:bsd-3)) )
3607
dddbc90c
RV
3608(define-public ghc-either
3609 (package
3610 (name "ghc-either")
a3fd4dc7 3611 (version "5.0.1.1")
dddbc90c
RV
3612 (source
3613 (origin
3614 (method url-fetch)
3615 (uri (string-append "https://hackage.haskell.org/package/"
3616 "either-" version "/"
3617 "either-" version ".tar.gz"))
3618 (sha256
3619 (base32
a3fd4dc7 3620 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3621 (build-system haskell-build-system)
3622 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3623 ("ghc-exceptions" ,ghc-exceptions)
3624 ("ghc-free" ,ghc-free)
3625 ("ghc-monad-control" ,ghc-monad-control)
3626 ("ghc-manodrandom" ,ghc-monadrandom)
3627 ("ghc-mmorph" ,ghc-mmorph)
3628 ("ghc-profunctors" ,ghc-profunctors)
3629 ("ghc-semigroups" ,ghc-semigroups)
3630 ("ghc-semigroupoids" ,ghc-semigroupoids)
3631 ("ghc-transformers-base" ,ghc-transformers-base)))
3632 (native-inputs
3633 `(("ghc-quickcheck" ,ghc-quickcheck)
3634 ("ghc-test-framework" ,ghc-test-framework)
3635 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3636 (home-page "https://github.com/ekmett/either")
3637 (synopsis "Provides an either monad transformer for Haskell")
3638 (description "This Haskell package provides an either monad transformer.")
3639 (license license:bsd-3)))
3640
3641(define-public ghc-email-validate
3642 (package
3643 (name "ghc-email-validate")
a4fe1c64 3644 (version "2.3.2.12")
dddbc90c
RV
3645 (source
3646 (origin
3647 (method url-fetch)
3648 (uri (string-append
3649 "https://hackage.haskell.org/package/"
3650 "email-validate/email-validate-"
3651 version
3652 ".tar.gz"))
3653 (sha256
3654 (base32
a4fe1c64 3655 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3656 (build-system haskell-build-system)
3657 (inputs
3658 `(("ghc-attoparsec" ,ghc-attoparsec)
3659 ("ghc-hspec" ,ghc-hspec)
3660 ("ghc-quickcheck" ,ghc-quickcheck)
3661 ("ghc-doctest" ,ghc-doctest)))
3662 (home-page
3663 "https://github.com/Porges/email-validate-hs")
3664 (synopsis "Email address validator for Haskell")
3665 (description
3666 "This Haskell package provides a validator that can validate an email
3667address string against RFC 5322.")
3668 (license license:bsd-3)))
3669
3670(define-public ghc-enclosed-exceptions
3671 (package
3672 (name "ghc-enclosed-exceptions")
3673 (version "1.0.3")
3674 (source (origin
3675 (method url-fetch)
3676 (uri (string-append "https://hackage.haskell.org/package/"
3677 "enclosed-exceptions/enclosed-exceptions-"
3678 version ".tar.gz"))
3679 (sha256
3680 (base32
3681 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3682 (build-system haskell-build-system)
3683 ;; FIXME: one of the tests blocks forever:
3684 ;; "thread blocked indefinitely in an MVar operation"
3685 (arguments '(#:tests? #f))
3686 (inputs
3687 `(("ghc-lifted-base" ,ghc-lifted-base)
3688 ("ghc-monad-control" ,ghc-monad-control)
3689 ("ghc-async" ,ghc-async)
3690 ("ghc-transformers-base" ,ghc-transformers-base)))
3691 (native-inputs
3692 `(("ghc-hspec" ,ghc-hspec)
3693 ("ghc-quickcheck" ,ghc-quickcheck)))
3694 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3695 (synopsis "Catch all exceptions from within an enclosed computation")
3696 (description
3697 "This library implements a technique to catch all exceptions raised
3698within an enclosed computation, while remaining responsive to (external)
3699asynchronous exceptions.")
3700 (license license:expat)))
3701
3702(define-public ghc-equivalence
3703 (package
3704 (name "ghc-equivalence")
801cf5b1 3705 (version "0.3.5")
dddbc90c
RV
3706 (source
3707 (origin
3708 (method url-fetch)
3709 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3710 "/equivalence-" version ".tar.gz"))
3711 (sha256
801cf5b1 3712 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3713 (build-system haskell-build-system)
3714 (inputs
3715 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3716 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3717 ("ghc-fail" ,ghc-fail)
3718 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3719 (home-page "https://github.com/pa-ba/equivalence")
3720 (synopsis "Maintaining an equivalence relation implemented as union-find")
3721 (description
3722 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3723Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
372422(2), 1975) in order to maintain an equivalence relation. This
3725implementation is a port of the @code{union-find} package using the @code{ST}
3726monad transformer (instead of the IO monad).")
3727 (license license:bsd-3)))
3728
3729(define-public ghc-erf
3730 (package
3731 (name "ghc-erf")
3732 (version "2.0.0.0")
3733 (source
3734 (origin
3735 (method url-fetch)
3736 (uri (string-append "https://hackage.haskell.org/package/"
3737 "erf-" version "/"
3738 "erf-" version ".tar.gz"))
3739 (sha256
3740 (base32
3741 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3742 (build-system haskell-build-system)
3743 (home-page "https://hackage.haskell.org/package/erf")
3744 (synopsis "The error function, erf, and related functions for Haskell")
3745 (description "This Haskell library provides a type class for the
3746error function, erf, and related functions. Instances for Float and
3747Double.")
3748 (license license:bsd-3)))
3749
3750(define-public ghc-errorcall-eq-instance
3751 (package
3752 (name "ghc-errorcall-eq-instance")
3753 (version "0.3.0")
3754 (source
3755 (origin
3756 (method url-fetch)
3757 (uri (string-append "https://hackage.haskell.org/package/"
3758 "errorcall-eq-instance/errorcall-eq-instance-"
3759 version ".tar.gz"))
3760 (sha256
3761 (base32
3762 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3763 (build-system haskell-build-system)
3764 (inputs
3765 `(("ghc-base-orphans" ,ghc-base-orphans)))
3766 (native-inputs
3767 `(("ghc-quickcheck" ,ghc-quickcheck)
3768 ("ghc-hspec" ,ghc-hspec)
3769 ("hspec-discover" ,hspec-discover)))
3ef91e15 3770 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3771 (synopsis "Orphan Eq instance for ErrorCall")
3772 (description
3773 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3774This package provides an orphan instance.")
3775 (license license:expat)))
3776
3777(define-public ghc-errors
3778 (package
3779 (name "ghc-errors")
3780 (version "2.3.0")
3781 (source
3782 (origin
3783 (method url-fetch)
3784 (uri (string-append "https://hackage.haskell.org/package/"
3785 "errors-" version "/"
3786 "errors-" version ".tar.gz"))
3787 (sha256
3788 (base32
3789 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3790 (build-system haskell-build-system)
3791 (inputs
3792 `(("ghc-exceptions" ,ghc-exceptions)
3793 ("ghc-transformers-compat" ,ghc-transformers-compat)
3794 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3795 ("ghc-safe" ,ghc-safe)))
3796 (home-page "https://github.com/gabriel439/haskell-errors-library")
3797 (synopsis "Error handling library for Haskell")
3798 (description "This library encourages an error-handling style that
3799directly uses the type system, rather than out-of-band exceptions.")
3800 (license license:bsd-3)))
3801
3802(define-public ghc-esqueleto
2648b604
TS
3803 (package
3804 (name "ghc-esqueleto")
2f6ad77b 3805 (version "3.3.1.1")
2648b604
TS
3806 (source
3807 (origin
3808 (method url-fetch)
3809 (uri (string-append "https://hackage.haskell.org/package/"
3810 "esqueleto/esqueleto-" version ".tar.gz"))
3811 (sha256
3812 (base32
2f6ad77b 3813 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3814 (build-system haskell-build-system)
3815 (arguments
3816 `(#:haddock? #f ; Haddock reports an internal error.
3817 #:phases
3818 (modify-phases %standard-phases
3819 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3820 ;; SQLite backends. Since we only have Haskell packages for
3821 ;; SQLite, we remove the other two test suites. FIXME: Add the
3822 ;; other backends and run all three test suites.
3823 (add-before 'configure 'remove-non-sqlite-test-suites
3824 (lambda _
3825 (use-modules (ice-9 rdelim))
3826 (with-atomic-file-replacement "esqueleto.cabal"
3827 (lambda (in out)
3828 (let loop ((line (read-line in 'concat)) (deleting? #f))
3829 (cond
3830 ((eof-object? line) #t)
3831 ((string-every char-set:whitespace line)
3832 (unless deleting? (display line out))
3833 (loop (read-line in 'concat) #f))
3834 ((member line '("test-suite mysql\n"
3835 "test-suite postgresql\n"))
3836 (loop (read-line in 'concat) #t))
3837 (else
3838 (unless deleting? (display line out))
3839 (loop (read-line in 'concat) deleting?)))))))))))
3840 (inputs
3841 `(("ghc-blaze-html" ,ghc-blaze-html)
3842 ("ghc-conduit" ,ghc-conduit)
3843 ("ghc-monad-logger" ,ghc-monad-logger)
3844 ("ghc-persistent" ,ghc-persistent)
3845 ("ghc-resourcet" ,ghc-resourcet)
3846 ("ghc-tagged" ,ghc-tagged)
3847 ("ghc-unliftio" ,ghc-unliftio)
3848 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3849 (native-inputs
3850 `(("ghc-hspec" ,ghc-hspec)
3851 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3852 ("ghc-persistent-template" ,ghc-persistent-template)))
3853 (home-page "https://github.com/bitemyapp/esqueleto")
3854 (synopsis "Type-safe embedded domain specific language for SQL queries")
3855 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3856language (EDSL) for SQL queries that works with SQL backends as provided by
3857@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3858to learn new concepts, just new syntax, and it's fairly easy to predict the
3859generated SQL and optimize it for your backend.")
2648b604 3860 (license license:bsd-3)))
dddbc90c
RV
3861
3862(define-public ghc-exactprint
3863 (package
3864 (name "ghc-exactprint")
50614014 3865 (version "0.6.1")
dddbc90c
RV
3866 (source
3867 (origin
3868 (method url-fetch)
3869 (uri (string-append
3870 "https://hackage.haskell.org/package/"
3871 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3872 (sha256
3873 (base32
50614014 3874 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3875 (build-system haskell-build-system)
3876 (inputs
3877 `(("ghc-paths" ,ghc-paths)
3878 ("ghc-syb" ,ghc-syb)
3879 ("ghc-free" ,ghc-free)))
3880 (native-inputs
3881 `(("ghc-hunit" ,ghc-hunit)
3882 ("ghc-diff" ,ghc-diff)
3883 ("ghc-silently" ,ghc-silently)
3884 ("ghc-filemanip" ,ghc-filemanip)))
3885 (home-page
3ef91e15 3886 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3887 (synopsis "ExactPrint for GHC")
3888 (description
3889 "Using the API Annotations available from GHC 7.10.2, this library
3890provides a means to round-trip any code that can be compiled by GHC, currently
3891excluding @file{.lhs} files.")
3892 (license license:bsd-3)))
3893
3894(define-public ghc-exceptions
3895 (package
3896 (name "ghc-exceptions")
46d3e65b 3897 (version "0.10.3")
dddbc90c
RV
3898 (source
3899 (origin
3900 (method url-fetch)
3901 (uri (string-append
3902 "https://hackage.haskell.org/package/exceptions/exceptions-"
3903 version
3904 ".tar.gz"))
3905 (sha256
3906 (base32
46d3e65b 3907 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3908 (build-system haskell-build-system)
3909 (native-inputs
3910 `(("ghc-quickcheck" ,ghc-quickcheck)
3911 ("ghc-test-framework" ,ghc-test-framework)
3912 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3913 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3914 (inputs
3915 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3916 (home-page "https://github.com/ekmett/exceptions/")
3917 (synopsis "Extensible optionally-pure exceptions")
3918 (description "This library provides extensible optionally-pure exceptions
3919for Haskell.")
3920 (license license:bsd-3)))
3921
3922(define-public ghc-executable-path
3923 (package
3924 (name "ghc-executable-path")
3925 (version "0.0.3.1")
3926 (source (origin
3927 (method url-fetch)
3928 (uri (string-append "https://hackage.haskell.org/package/"
3929 "executable-path/executable-path-"
3930 version ".tar.gz"))
3931 (sha256
3932 (base32
3933 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3934 (build-system haskell-build-system)
3935 (home-page "https://hackage.haskell.org/package/executable-path")
3936 (synopsis "Find out the full path of the executable")
3937 (description
3938 "The documentation of @code{System.Environment.getProgName} says that
3939\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3940instead, for maximum portability, we just return the leafname of the program
3941as invoked.\" This library tries to provide the missing path.")
3942 (license license:public-domain)))
3943
3944(define-public ghc-extensible-exceptions
3945 (package
3946 (name "ghc-extensible-exceptions")
3947 (version "0.1.1.4")
3948 (source
3949 (origin
3950 (method url-fetch)
3951 (uri (string-append "https://hackage.haskell.org/package/"
3952 "extensible-exceptions/extensible-exceptions-"
3953 version ".tar.gz"))
3954 (sha256
3955 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3956 (build-system haskell-build-system)
3957 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3958 (synopsis "Extensible exceptions for Haskell")
3959 (description
3960 "This package provides extensible exceptions for both new and old
3961versions of GHC (i.e., < 6.10).")
3962 (license license:bsd-3)))
3963
3964(define-public ghc-extra
3965 (package
3966 (name "ghc-extra")
0cec5c4e 3967 (version "1.6.21")
dddbc90c
RV
3968 (source
3969 (origin
3970 (method url-fetch)
3971 (uri (string-append
3972 "https://hackage.haskell.org/package/extra/extra-"
3973 version
3974 ".tar.gz"))
3975 (sha256
3976 (base32
0cec5c4e 3977 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3978 (build-system haskell-build-system)
3979 (inputs
3980 `(("ghc-clock" ,ghc-clock)
10650c44 3981 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3982 ("ghc-quickcheck" ,ghc-quickcheck)
3983 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3984 (home-page "https://github.com/ndmitchell/extra")
3985 (synopsis "Extra Haskell functions")
3986 (description "This library provides extra functions for the standard
3987Haskell libraries. Most functions are simple additions, filling out missing
3988functionality. A few functions are available in later versions of GHC, but
3989this package makes them available back to GHC 7.2.")
3990 (license license:bsd-3)))
3991
3992(define-public ghc-fail
3993 (package
3994 (name "ghc-fail")
3995 (version "4.9.0.0")
3996 (source
3997 (origin
3998 (method url-fetch)
3999 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4000 version ".tar.gz"))
4001 (sha256
4002 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4003 (build-system haskell-build-system)
4004 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4005 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4006 (synopsis "Forward-compatible MonadFail class")
4007 (description
4008 "This package contains the @code{Control.Monad.Fail} module providing the
4009@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4010class that became available in
4011@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4012older @code{base} package versions. This package turns into an empty package
4013when used with GHC versions which already provide the
4014@code{Control.Monad.Fail} module.")
4015 (license license:bsd-3)))
4016
4017(define-public ghc-fast-logger
4018 (package
4019 (name "ghc-fast-logger")
d443a52a 4020 (version "2.4.17")
dddbc90c
RV
4021 (source
4022 (origin
4023 (method url-fetch)
4024 (uri (string-append
4025 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4026 version
4027 ".tar.gz"))
4028 (sha256
4029 (base32
d443a52a 4030 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4031 (build-system haskell-build-system)
4032 (inputs
4033 `(("ghc-auto-update" ,ghc-auto-update)
4034 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4035 ("ghc-unix-time" ,ghc-unix-time)
4036 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4037 (native-inputs
4038 `(("hspec-discover" ,hspec-discover)
4039 ("ghc-hspec" ,ghc-hspec)))
4040 (home-page "https://hackage.haskell.org/package/fast-logger")
4041 (synopsis "Fast logging system")
4042 (description "This library provides a fast logging system for Haskell.")
4043 (license license:bsd-3)))
4044
4045(define-public ghc-feed
4046 (package
4047 (name "ghc-feed")
a41c16dc 4048 (version "1.2.0.1")
dddbc90c
RV
4049 (source
4050 (origin
4051 (method url-fetch)
4052 (uri (string-append "https://hackage.haskell.org/package/"
4053 "feed/feed-" version ".tar.gz"))
4054 (sha256
4055 (base32
a41c16dc 4056 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4057 (build-system haskell-build-system)
dddbc90c
RV
4058 (inputs
4059 `(("ghc-base-compat" ,ghc-base-compat)
4060 ("ghc-old-locale" ,ghc-old-locale)
4061 ("ghc-old-time" ,ghc-old-time)
4062 ("ghc-safe" ,ghc-safe)
4063 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4064 ("ghc-utf8-string" ,ghc-utf8-string)
4065 ("ghc-xml-conduit" ,ghc-xml-conduit)
4066 ("ghc-xml-types" ,ghc-xml-types)))
4067 (native-inputs
4068 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4069 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4070 ("ghc-test-framework" ,ghc-test-framework)
4071 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4072 (home-page "https://github.com/bergmark/feed")
4073 (synopsis "Haskell package for handling various syndication formats")
4074 (description "This Haskell package includes tools for generating and
4075consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4076 (license license:bsd-3)))
4077
4078(define-public ghc-fgl
4079 (package
4080 (name "ghc-fgl")
17482b26 4081 (version "5.7.0.1")
dddbc90c
RV
4082 (outputs '("out" "doc"))
4083 (source
4084 (origin
4085 (method url-fetch)
4086 (uri (string-append
4087 "https://hackage.haskell.org/package/fgl/fgl-"
4088 version
4089 ".tar.gz"))
4090 (sha256
4091 (base32
17482b26 4092 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4093 (build-system haskell-build-system)
4094 (arguments
4095 `(#:phases
4096 (modify-phases %standard-phases
4097 (add-before 'configure 'update-constraints
4098 (lambda _
4099 (substitute* "fgl.cabal"
17482b26
TS
4100 (("QuickCheck >= 2\\.8 && < 2\\.13")
4101 "QuickCheck >= 2.8 && < 2.14")
4102 (("hspec >= 2\\.1 && < 2\\.7")
4103 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4104 (inputs
4105 `(("ghc-hspec" ,ghc-hspec)
4106 ("ghc-quickcheck" ,ghc-quickcheck)))
4107 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4108 (synopsis
4109 "Martin Erwig's Functional Graph Library")
4110 (description "The functional graph library, FGL, is a collection of type
4111and function definitions to address graph problems. The basis of the library
4112is an inductive definition of graphs in the style of algebraic data types that
4113encourages inductive, recursive definitions of graph algorithms.")
4114 (license license:bsd-3)))
4115
4116(define-public ghc-fgl-arbitrary
4117 (package
4118 (name "ghc-fgl-arbitrary")
4119 (version "0.2.0.3")
4120 (source
4121 (origin
4122 (method url-fetch)
4123 (uri (string-append
4124 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4125 version ".tar.gz"))
4126 (sha256
4127 (base32
4128 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4129 (build-system haskell-build-system)
4130 (arguments
4131 `(#:phases
4132 (modify-phases %standard-phases
4133 (add-before 'configure 'update-constraints
4134 (lambda _
4135 (substitute* "fgl-arbitrary.cabal"
4136 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4137 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4138 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4139 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4140 (inputs
4141 `(("ghc-fgl" ,ghc-fgl)
4142 ("ghc-quickcheck" ,ghc-quickcheck)
4143 ("ghc-hspec" ,ghc-hspec)))
4144 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4145 (synopsis "QuickCheck support for fgl")
4146 (description
4147 "Provides Arbitrary instances for fgl graphs to avoid adding a
4148QuickCheck dependency for fgl whilst still making the instances
4149available to others. Also available are non-fgl-specific functions
4150for generating graph-like data structures.")
4151 (license license:bsd-3)))
4152
4153(define-public ghc-file-embed
4154 (package
4155 (name "ghc-file-embed")
b5920d50 4156 (version "0.0.11")
dddbc90c
RV
4157 (source
4158 (origin
4159 (method url-fetch)
4160 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4161 "file-embed-" version ".tar.gz"))
4162 (sha256
4163 (base32
b5920d50 4164 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4165 (build-system haskell-build-system)
4166 (home-page "https://github.com/snoyberg/file-embed")
4167 (synopsis "Use Template Haskell to embed file contents directly")
4168 (description
4169 "This package allows you to use Template Haskell to read a file or all
4170the files in a directory, and turn them into @code{(path, bytestring)} pairs
4171embedded in your Haskell code.")
4172 (license license:bsd-3)))
4173
4174(define-public ghc-filemanip
4175 (package
4176 (name "ghc-filemanip")
4177 (version "0.3.6.3")
4178 (source (origin
4179 (method url-fetch)
4180 (uri (string-append "https://hackage.haskell.org/package/"
4181 "filemanip/filemanip-" version ".tar.gz"))
4182 (sha256
4183 (base32
4184 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4185 (build-system haskell-build-system)
4186 (inputs
4187 `(("ghc-unix-compat" ,ghc-unix-compat)))
4188 (home-page "https://github.com/bos/filemanip")
4189 (synopsis "File and directory manipulation for Haskell")
4190 (description
4191 "This package provides a Haskell library for working with files and
4192directories. It includes code for pattern matching, finding files, modifying
4193file contents, and more.")
4194 (license license:bsd-3)))
4195
bb62932a
KM
4196(define-public ghc-filepath-bytestring
4197 (package
4198 (name "ghc-filepath-bytestring")
4199 (version "1.4.2.1.1")
4200 (source
4201 (origin
4202 (method url-fetch)
4203 (uri (string-append
4204 "https://hackage.haskell.org/package/filepath-bytestring/"
4205 "filepath-bytestring-" version ".tar.gz"))
4206 (sha256
4207 (base32
4208 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4209 (build-system haskell-build-system)
4210 (native-inputs
4211 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4212 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4213 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4214 (description "This package provides a drop-in replacement for the standard
4215@code{filepath} library, operating on @code{RawFilePath} values rather than
4216@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4217 (license license:bsd-3)))
4218
dddbc90c
RV
4219(define-public ghc-findbin
4220 (package
4221 (name "ghc-findbin")
4222 (version "0.0.5")
4223 (source
4224 (origin
4225 (method url-fetch)
4226 (uri (string-append
4227 "https://hackage.haskell.org/package/FindBin/FindBin-"
4228 version ".tar.gz"))
4229 (sha256
4230 (base32
4231 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4232 (build-system haskell-build-system)
4233 (home-page "https://github.com/audreyt/findbin")
4234 (synopsis "Get the absolute path of the running program")
4235 (description
4236 "This module locates the full directory of the running program, to allow
4237the use of paths relative to it. FindBin supports invocation of Haskell
4238programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4239an executable.")
4240 (license license:bsd-3)))
4241
4242(define-public ghc-fingertree
4243 (package
4244 (name "ghc-fingertree")
aac14fdc 4245 (version "0.1.4.2")
dddbc90c
RV
4246 (source
4247 (origin
4248 (method url-fetch)
4249 (uri (string-append
4250 "https://hackage.haskell.org/package/fingertree/fingertree-"
4251 version ".tar.gz"))
4252 (sha256
4253 (base32
aac14fdc 4254 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4255 (build-system haskell-build-system)
4256 (native-inputs
4257 `(("ghc-hunit" ,ghc-hunit)
4258 ("ghc-quickcheck" ,ghc-quickcheck)
4259 ("ghc-test-framework" ,ghc-test-framework)
4260 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4261 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4262 (home-page "https://hackage.haskell.org/package/fingertree")
4263 (synopsis "Generic finger-tree structure")
4264 (description "This library provides finger trees, a general sequence
4265representation with arbitrary annotations, for use as a base for
4266implementations of various collection types. It includes examples, as
4267described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4268simple general-purpose data structure\".")
4269 (license license:bsd-3)))
4270
4271(define-public ghc-fixed
4272 (package
4273 (name "ghc-fixed")
099dda5b 4274 (version "0.3")
dddbc90c
RV
4275 (source
4276 (origin
4277 (method url-fetch)
4278 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4279 version ".tar.gz"))
4280 (sha256
4281 (base32
099dda5b 4282 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4283 (build-system haskell-build-system)
4284 (home-page "https://github.com/ekmett/fixed")
4285 (synopsis "Signed 15.16 precision fixed point arithmetic")
4286 (description
4287 "This package provides functions for signed 15.16 precision fixed point
4288arithmetic.")
4289 (license license:bsd-3)))
4290
f169f713
JS
4291(define-public ghc-fmlist
4292 (package
4293 (name "ghc-fmlist")
fe9b83a6 4294 (version "0.9.3")
f169f713
JS
4295 (source
4296 (origin
4297 (method url-fetch)
4298 (uri
4299 (string-append
4300 "https://hackage.haskell.org/package/fmlist/fmlist-"
4301 version ".tar.gz"))
4302 (sha256
4303 (base32
fe9b83a6 4304 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4305 (build-system haskell-build-system)
4306 (home-page "https://github.com/sjoerdvisscher/fmlist")
4307 (synopsis "FoldMap lists")
4308 (description "FoldMap lists are lists represented by their
4309@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4310append, just like DLists, but other operations might have favorable
4311performance characteristics as well. These wild claims are still
4312completely unverified though.")
4313 (license license:bsd-3)))
4314
dddbc90c
RV
4315(define-public ghc-foldl
4316 (package
4317 (name "ghc-foldl")
26c4104f 4318 (version "1.4.5")
dddbc90c
RV
4319 (source
4320 (origin
4321 (method url-fetch)
4322 (uri (string-append "https://hackage.haskell.org/package/"
4323 "foldl-" version "/"
4324 "foldl-" version ".tar.gz"))
4325 (sha256
4326 (base32
26c4104f 4327 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4328 (build-system haskell-build-system)
4329 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4330 ("ghc-primitive" ,ghc-primitive)
4331 ("ghc-vector" ,ghc-vector)
4332 ("ghc-unordered-containers" ,ghc-unordered-containers)
4333 ("ghc-hashable" ,ghc-hashable)
4334 ("ghc-contravariant" ,ghc-contravariant)
4335 ("ghc-semigroups" ,ghc-semigroups)
4336 ("ghc-profunctors" ,ghc-profunctors)
4337 ("ghc-semigroupoids" ,ghc-semigroupoids)
4338 ("ghc-comonad" ,ghc-comonad)
4339 ("ghc-vector-builder" ,ghc-vector-builder)))
4340 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4341 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4342 (description "This Haskell library provides strict left folds that stream
4343in constant memory, and you can combine folds using @code{Applicative} style
4344to derive new folds. Derived folds still traverse the container just once
4345and are often as efficient as hand-written folds.")
4346 (license license:bsd-3)))
4347
4348(define-public ghc-foundation
4349 (package
4350 (name "ghc-foundation")
0a702df9 4351 (version "0.0.25")
dddbc90c
RV
4352 (source
4353 (origin
4354 (method url-fetch)
4355 (uri (string-append "https://hackage.haskell.org/package/"
4356 "foundation/foundation-" version ".tar.gz"))
4357 (sha256
4358 (base32
0a702df9 4359 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4360 (build-system haskell-build-system)
59cd7518
TS
4361 (arguments
4362 `(#:phases
4363 (modify-phases %standard-phases
4364 ;; This test is broken. For details, see
4365 ;; https://github.com/haskell-foundation/foundation/issues/530
4366 (add-after 'unpack 'patch-tests
4367 (lambda _
4368 (substitute* "tests/Test/Foundation/Number.hs"
4369 ((", testDividible proxy") ""))
4370 #t)))))
dddbc90c
RV
4371 (inputs `(("ghc-basement" ,ghc-basement)))
4372 (home-page "https://github.com/haskell-foundation/foundation")
4373 (synopsis "Alternative prelude with batteries and no dependencies")
4374 (description
4375 "This package provides a custom prelude with no dependencies apart from
4376the base package.
4377
4378Foundation has the following goals:
4379
4380@enumerate
4381@item provide a base like sets of modules that provide a consistent set of
4382 features and bugfixes across multiple versions of GHC (unlike base).
4383@item provide a better and more efficient prelude than base's prelude.
4384@item be self-sufficient: no external dependencies apart from base;
4385@item provide better data-types: packed unicode string by default, arrays;
4386@item Numerical classes that better represent mathematical things (no more
4387 all-in-one @code{Num});
4388@item I/O system with less lazy IO.
4389@end enumerate\n")
4390 (license license:bsd-3)))
4391
4392(define-public ghc-free
4393 (package
4394 (name "ghc-free")
4081565d 4395 (version "5.1.2")
dddbc90c
RV
4396 (source
4397 (origin
4398 (method url-fetch)
4399 (uri (string-append
4400 "https://hackage.haskell.org/package/free/free-"
4401 version
4402 ".tar.gz"))
4403 (sha256
4404 (base32
4081565d 4405 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4406 (build-system haskell-build-system)
4407 (inputs
4408 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4409 ("ghc-profunctors" ,ghc-profunctors)
4410 ("ghc-exceptions" ,ghc-exceptions)
4411 ("ghc-bifunctors" ,ghc-bifunctors)
4412 ("ghc-comonad" ,ghc-comonad)
4413 ("ghc-distributive" ,ghc-distributive)
4414 ("ghc-semigroupoids" ,ghc-semigroupoids)
4415 ("ghc-semigroups" ,ghc-semigroups)
4416 ("ghc-transformers-base" ,ghc-transformers-base)
4417 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4418 (home-page "https://github.com/ekmett/free/")
4419 (synopsis "Unrestricted monads for Haskell")
4420 (description "This library provides free monads, which are useful for many
4421tree-like structures and domain specific languages. If @code{f} is a
4422@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4423whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4424is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4425f} makes no constraining assumptions beyond those given by @code{f} and the
4426definition of @code{Monad}.")
4427 (license license:bsd-3)))
4428
4429(define-public ghc-fsnotify
4430 (package
4431 (name "ghc-fsnotify")
4432 (version "0.3.0.1")
4433 (source (origin
4434 (method url-fetch)
4435 (uri (string-append
4436 "https://hackage.haskell.org/package/fsnotify/"
4437 "fsnotify-" version ".tar.gz"))
4438 (sha256
4439 (base32
4440 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4441 (build-system haskell-build-system)
4442 (inputs
4443 `(("ghc-async" ,ghc-async)
4444 ("ghc-unix-compat" ,ghc-unix-compat)
4445 ("ghc-hinotify" ,ghc-hinotify)
4446 ("ghc-tasty" ,ghc-tasty)
4447 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4448 ("ghc-random" ,ghc-random)
4449 ("ghc-shelly" ,ghc-shelly)
4450 ("ghc-temporary" ,ghc-temporary)))
4451 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4452 (synopsis "Cross platform library for file change notification.")
4453 (description "Cross platform library for file creation, modification, and
4454deletion notification. This library builds upon existing libraries for platform
4455specific Windows, Mac, and Linux file system event notification.")
4456 (license license:bsd-3)))
4457
4458(define-public ghc-generic-deriving
4459 (package
4460 (name "ghc-generic-deriving")
55c1e6be 4461 (version "1.12.4")
dddbc90c
RV
4462 (source
4463 (origin
4464 (method url-fetch)
4465 (uri (string-append
4466 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4467 version
4468 ".tar.gz"))
4469 (sha256
4470 (base32
55c1e6be 4471 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4472 (build-system haskell-build-system)
4473 (inputs
4474 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4475 (native-inputs
4476 `(("ghc-hspec" ,ghc-hspec)
4477 ("hspec-discover" ,hspec-discover)))
4478 (home-page "https://hackage.haskell.org/package/generic-deriving")
4479 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4480 (description "This package provides functionality for generalising the
4481deriving mechanism in Haskell to arbitrary classes.")
4482 (license license:bsd-3)))
4483
89e9082e
JS
4484(define-public ghc-generic-random
4485 (package
4486 (name "ghc-generic-random")
4487 (version "1.2.0.0")
4488 (source
4489 (origin
4490 (method url-fetch)
4491 (uri (string-append
4492 "https://hackage.haskell.org/package/generic-random/"
4493 "generic-random-" version ".tar.gz"))
4494 (sha256
4495 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4496 (build-system haskell-build-system)
4497 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4498 (native-inputs
4499 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4500 (arguments
4501 `(#:cabal-revision
4502 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4503 (home-page
4504 "https://github.com/lysxia/generic-random")
4505 (synopsis
4506 "Generic random generators for QuickCheck")
4507 (description
4508 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4509to customize implementations.
4510
4511Automating the arbitrary boilerplate also ensures that when a type changes to
4512have more or fewer constructors, then the generator either fixes itself to
4513generate that new case (when using the uniform distribution) or causes a
4514compilation error so you remember to fix it (when using an explicit
4515distribution).
4516
4517This package also offers a simple (optional) strategy to ensure termination
4518for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4519at every recursive call; when it reaches zero, sample directly from a
4520trivially terminating generator given explicitly (@code{genericArbitraryRec}
4521and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4522 (license license:expat)))
4523
dddbc90c
RV
4524(define-public ghc-generics-sop
4525 (package
4526 (name "ghc-generics-sop")
3ed40e10 4527 (version "0.4.0.1")
dddbc90c
RV
4528 (source
4529 (origin
4530 (method url-fetch)
4531 (uri (string-append "https://hackage.haskell.org/package/"
4532 "generics-sop-" version "/"
4533 "generics-sop-" version ".tar.gz"))
4534 (sha256
4535 (base32
3ed40e10 4536 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4537 (build-system haskell-build-system)
3ed40e10
TS
4538 (inputs
4539 `(("ghc-sop-core" ,ghc-sop-core)
4540 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4541 (home-page "https://github.com/well-typed/generics-sop")
4542 (synopsis "Generic Programming using True Sums of Products for Haskell")
4543 (description "This Haskell package supports the definition of generic
4544functions. Datatypes are viewed in a uniform, structured way: the choice
4545between constructors is represented using an n-ary sum, and the arguments of
4546each constructor are represented using an n-ary product.")
4547 (license license:bsd-3)))
4548
4549(define-public ghc-geniplate-mirror
4550 (package
4551 (name "ghc-geniplate-mirror")
4552 (version "0.7.6")
4553 (source
4554 (origin
4555 (method url-fetch)
4556 (uri (string-append "https://hackage.haskell.org/package"
4557 "/geniplate-mirror"
4558 "/geniplate-mirror-" version ".tar.gz"))
4559 (sha256
4560 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4561 (build-system haskell-build-system)
74a7dd7f
TS
4562 (arguments
4563 `(#:cabal-revision
4564 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4565 (home-page "https://github.com/danr/geniplate")
4566 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4567 (description
4568 "Use Template Haskell to generate Uniplate-like functions. This is a
4569maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4570geniplate} package, written by Lennart Augustsson.")
4571 (license license:bsd-3)))
4572
4573(define-public ghc-genvalidity
4574 (package
4575 (name "ghc-genvalidity")
920f44a1 4576 (version "0.8.0.0")
dddbc90c
RV
4577 (source
4578 (origin
4579 (method url-fetch)
4580 (uri (string-append
4581 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4582 version
4583 ".tar.gz"))
4584 (sha256
4585 (base32
920f44a1 4586 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4587 (build-system haskell-build-system)
4588 (inputs
4589 `(("ghc-quickcheck" ,ghc-quickcheck)
4590 ("ghc-validity" ,ghc-validity)))
4591 (native-inputs
4592 `(("ghc-hspec" ,ghc-hspec)
4593 ("hspec-discover" ,hspec-discover)
4594 ("ghc-hspec-core" ,ghc-hspec-core)))
4595 (home-page
4596 "https://github.com/NorfairKing/validity")
4597 (synopsis
4598 "Testing utilities for the @code{validity} library")
4599 (description
4600 "This package provides testing utilities that are useful in conjunction
4601with the @code{Validity} typeclass.")
4602 (license license:expat)))
4603
4604(define-public ghc-genvalidity-property
4605 (package
4606 (name "ghc-genvalidity-property")
e4ede35b 4607 (version "0.4.0.0")
dddbc90c
RV
4608 (source
4609 (origin
4610 (method url-fetch)
4611 (uri (string-append
4612 "https://hackage.haskell.org/package/"
4613 "genvalidity-property/genvalidity-property-"
4614 version
4615 ".tar.gz"))
4616 (sha256
4617 (base32
e4ede35b 4618 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4619 (build-system haskell-build-system)
4620 (inputs
4621 `(("ghc-quickcheck" ,ghc-quickcheck)
4622 ("ghc-genvalidity" ,ghc-genvalidity)
4623 ("ghc-hspec" ,ghc-hspec)
4624 ("hspec-discover" ,hspec-discover)
4625 ("ghc-validity" ,ghc-validity)))
4626 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4627 (home-page
4628 "https://github.com/NorfairKing/validity")
4629 (synopsis
4630 "Standard properties for functions on @code{Validity} types")
4631 (description
4632 "This package supplements the @code{Validity} typeclass with standard
4633properties for functions operating on them.")
4634 (license license:expat)))
4635
e71fb573
TS
4636(define-public ghc-getopt-generics
4637 (package
4638 (name "ghc-getopt-generics")
4639 (version "0.13.0.4")
4640 (source
4641 (origin
4642 (method url-fetch)
4643 (uri (string-append "https://hackage.haskell.org/package/"
4644 "getopt-generics/getopt-generics-"
4645 version ".tar.gz"))
4646 (sha256
4647 (base32
4648 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4649 (build-system haskell-build-system)
4650 (inputs
4651 `(("ghc-base-compat" ,ghc-base-compat)
4652 ("ghc-base-orphans" ,ghc-base-orphans)
4653 ("ghc-generics-sop" ,ghc-generics-sop)
4654 ("ghc-tagged" ,ghc-tagged)))
4655 (native-inputs
4656 `(("ghc-quickcheck" ,ghc-quickcheck)
4657 ("ghc-hspec" ,ghc-hspec)
4658 ("ghc-safe" ,ghc-safe)
4659 ("ghc-silently" ,ghc-silently)
4660 ("hspec-discover" ,hspec-discover)))
4661 (home-page "https://github.com/soenkehahn/getopt-generics")
4662 (synopsis "Create command line interfaces with ease")
4663 (description "This library provides tools to create command line
4664interfaces with ease.")
4665 (license license:bsd-3)))
4666
dddbc90c
RV
4667(define-public ghc-gitrev
4668 (package
4669 (name "ghc-gitrev")
4670 (version "1.3.1")
4671 (source
4672 (origin
4673 (method url-fetch)
4674 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4675 version ".tar.gz"))
4676 (sha256
4677 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4678 (build-system haskell-build-system)
4679 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4680 (home-page "https://github.com/acfoltzer/gitrev")
4681 (synopsis "Compile git revision info into Haskell projects")
4682 (description
4683 "This package provides some handy Template Haskell splices for including
4684the current git hash and branch in the code of your project. This is useful
4685for including in panic messages, @command{--version} output, or diagnostic
4686info for more informative bug reports.")
4687 (license license:bsd-3)))
4688
4689(define-public ghc-glob
4690 (package
4691 (name "ghc-glob")
b900f486 4692 (version "0.10.0")
dddbc90c
RV
4693 (source
4694 (origin
4695 (method url-fetch)
4696 (uri (string-append "https://hackage.haskell.org/package/"
4697 "Glob-" version "/"
4698 "Glob-" version ".tar.gz"))
4699 (sha256
4700 (base32
b900f486 4701 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4702 (build-system haskell-build-system)
4703 (inputs
4704 `(("ghc-dlist" ,ghc-dlist)
4705 ("ghc-semigroups" ,ghc-semigroups)
4706 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4707 (native-inputs
4708 `(("ghc-hunit" ,ghc-hunit)
4709 ("ghc-quickcheck" ,ghc-quickcheck)
4710 ("ghc-test-framework" ,ghc-test-framework)
4711 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4712 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4713 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4714 (synopsis "Haskell library matching glob patterns against file paths")
4715 (description "This package provides a Haskell library for @dfn{globbing}:
4716matching patterns against file paths.")
4717 (license license:bsd-3)))
4718
4719(define-public ghc-gluraw
4720 (package
4721 (name "ghc-gluraw")
4722 (version "2.0.0.4")
4723 (source
4724 (origin
4725 (method url-fetch)
4726 (uri (string-append
4727 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4728 version
4729 ".tar.gz"))
4730 (sha256
4731 (base32
4732 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4733 (build-system haskell-build-system)
4734 (inputs
4735 `(("ghc-openglraw" ,ghc-openglraw)))
4736 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4737 (synopsis "Raw Haskell bindings GLU")
4738 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4739utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4740basis for a nicer interface.")
4741 (license license:bsd-3)))
4742
4743(define-public ghc-glut
4744 (package
4745 (name "ghc-glut")
8284bd09 4746 (version "2.7.0.15")
dddbc90c
RV
4747 (source
4748 (origin
4749 (method url-fetch)
4750 (uri (string-append
4751 "https://hackage.haskell.org/package/GLUT/GLUT-"
4752 version
4753 ".tar.gz"))
4754 (sha256
4755 (base32
8284bd09 4756 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4757 (build-system haskell-build-system)
4758 (inputs
4759 `(("ghc-statevar" ,ghc-statevar)
4760 ("ghc-opengl" ,ghc-opengl)
4761 ("ghc-openglraw" ,ghc-openglraw)
4762 ("freeglut" ,freeglut)))
4763 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4764 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4765 (description "This library provides Haskell bindings for the OpenGL
4766Utility Toolkit, a window system-independent toolkit for writing OpenGL
4767programs.")
4768 (license license:bsd-3)))
4769
4770(define-public ghc-gnuplot
4771 (package
4772 (name "ghc-gnuplot")
d34860c7 4773 (version "0.5.6")
dddbc90c
RV
4774 (source
4775 (origin
4776 (method url-fetch)
4777 (uri (string-append
4778 "mirror://hackage/package/gnuplot/gnuplot-"
4779 version ".tar.gz"))
4780 (sha256
d34860c7 4781 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4782 (build-system haskell-build-system)
4783 (inputs
4784 `(("ghc-temporary" ,ghc-temporary)
4785 ("ghc-utility-ht" ,ghc-utility-ht)
4786 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4787 ("ghc-data-accessor" ,ghc-data-accessor)
4788 ("ghc-semigroups" ,ghc-semigroups)
4789 ("gnuplot" ,gnuplot)))
4790 (arguments
4791 `(#:phases
4792 (modify-phases %standard-phases
4793 (add-before 'configure 'fix-path-to-gnuplot
4794 (lambda* (#:key inputs #:allow-other-keys)
4795 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4796 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4797 (("(gnuplotName = ).*$" all cmd)
4798 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4799 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4800 (synopsis "2D and 3D plots using gnuplot")
4801 (description "This package provides a Haskell module for creating 2D and
48023D plots using gnuplot.")
4803 (license license:bsd-3)))
4804
4805(define-public ghc-graphviz
4806 (package
4807 (name "ghc-graphviz")
c264bd42 4808 (version "2999.20.0.3")
dddbc90c
RV
4809 (source (origin
4810 (method url-fetch)
4811 (uri (string-append "https://hackage.haskell.org/package/"
4812 "graphviz/graphviz-" version ".tar.gz"))
4813 (sha256
4814 (base32
c264bd42 4815 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4816 (build-system haskell-build-system)
c264bd42
TS
4817 (arguments
4818 `(#:phases
4819 (modify-phases %standard-phases
4820 (add-before 'configure 'update-constraints
4821 (lambda _
4822 (substitute* "graphviz.cabal"
4823 (("QuickCheck >= 2\\.3 && < 2\\.13")
4824 "QuickCheck >= 2.3 && < 2.14")
4825 (("hspec >= 2\\.1 && < 2\\.7")
4826 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4827 (inputs
4828 `(("ghc-quickcheck" ,ghc-quickcheck)
4829 ("ghc-colour" ,ghc-colour)
4830 ("ghc-dlist" ,ghc-dlist)
4831 ("ghc-fgl" ,ghc-fgl)
4832 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4833 ("ghc-polyparse" ,ghc-polyparse)
4834 ("ghc-temporary" ,ghc-temporary)
4835 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4836 (native-inputs
4837 `(("ghc-hspec" ,ghc-hspec)
4838 ("graphviz" ,graphviz)
4839 ("hspec-discover" ,hspec-discover)))
4840 (home-page "https://hackage.haskell.org/package/graphviz")
4841 (synopsis "Bindings to Graphviz for graph visualisation")
4842 (description
4843 "This library provides bindings for the Dot language used by
4844the @uref{https://graphviz.org/, Graphviz} suite of programs for
4845visualising graphs, as well as functions to call those programs.
4846Main features of the graphviz library include:
4847
4848@enumerate
4849@item Almost complete coverage of all Graphviz attributes and syntax
4850@item Support for specifying clusters
4851@item The ability to use a custom node type
4852@item Functions for running a Graphviz layout tool with all specified output types
4853@item Generate and parse Dot code with two options: strict and liberal
4854@item Functions to convert FGL graphs and other graph-like data structures
4855@item Round-trip support for passing an FGL graph through Graphviz to augment node
4856and edge labels with positional information, etc.
4857@end enumerate\n")
4858 (license license:bsd-3)))
4859
f3e18645
TS
4860(define-public ghc-groups
4861 (package
4862 (name "ghc-groups")
4863 (version "0.4.1.0")
4864 (source
4865 (origin
4866 (method url-fetch)
4867 (uri (string-append "https://hackage.haskell.org/package/"
4868 "groups/groups-" version ".tar.gz"))
4869 (sha256
4870 (base32
4871 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4872 (build-system haskell-build-system)
4873 (home-page "https://hackage.haskell.org/package/groups")
4874 (synopsis "Haskell 98 groups")
4875 (description "This package provides Haskell 98 groups. A group is a
4876monoid with invertibility.")
4877 (license license:bsd-3)))
4878
dddbc90c
RV
4879(define-public ghc-gtk2hs-buildtools
4880 (package
4881 (name "ghc-gtk2hs-buildtools")
b79b43d4 4882 (version "0.13.5.4")
dddbc90c
RV
4883 (source
4884 (origin
4885 (method url-fetch)
4886 (uri (string-append "https://hackage.haskell.org/package/"
4887 "gtk2hs-buildtools/gtk2hs-buildtools-"
4888 version ".tar.gz"))
4889 (sha256
4890 (base32
b79b43d4 4891 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4892 (build-system haskell-build-system)
4893 (inputs
4894 `(("ghc-random" ,ghc-random)
4895 ("ghc-hashtables" ,ghc-hashtables)))
4896 (native-inputs
4897 `(("ghc-alex" ,ghc-alex)
4898 ("ghc-happy" ,ghc-happy)))
4899 (home-page "http://projects.haskell.org/gtk2hs/")
4900 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4901 (description
4902 "This package provides a set of helper programs necessary to build the
4903Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4904that is used to generate FFI declarations, a tool to build a type hierarchy
4905that mirrors the C type hierarchy of GObjects found in glib, and a generator
4906for signal declarations that are used to call back from C to Haskell. These
4907tools are not needed to actually run Gtk2Hs programs.")
4908 (license license:gpl2)))
4909
4910(define-public ghc-hackage-security
4911 (package
4912 (name "ghc-hackage-security")
4913 (version "0.5.3.0")
4914 (source
4915 (origin
4916 (method url-fetch)
4917 (uri (string-append "https://hackage.haskell.org/package/"
4918 "hackage-security/hackage-security-"
4919 version ".tar.gz"))
4920 (sha256
4921 (base32
4922 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4923 (build-system haskell-build-system)
4924 (arguments
034380f3
TS
4925 `(#:cabal-revision
4926 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4927 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4928 (inputs
4929 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4930 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4931 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4932 ("ghc-ed25519" ,ghc-ed25519)
4933 ("ghc-network" ,ghc-network)
4934 ("ghc-network-uri" ,ghc-network-uri)
4935 ("ghc-tar" ,ghc-tar)
4936 ("ghc-zlib" ,ghc-zlib)))
4937 (native-inputs
4938 `(("ghc-network-uri" ,ghc-network-uri)
4939 ("ghc-quickcheck" ,ghc-quickcheck)
4940 ("ghc-tar" ,ghc-tar)
4941 ("ghc-tasty" ,ghc-tasty)
4942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4943 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4944 ("ghc-temporary" ,ghc-temporary)
4945 ("ghc-zlib" ,ghc-zlib)))
4946 (home-page "https://github.com/haskell/hackage-security")
4947 (synopsis "Hackage security library")
4948 (description "This Hackage security library provides both server and
4949client utilities for securing @uref{http://hackage.haskell.org/, the
4950Hackage package server}. It is based on
4951@uref{http://theupdateframework.com/, The Update Framework}, a set of
4952recommendations developed by security researchers at various universities
4953in the US as well as developers on the @uref{https://www.torproject.org/,
4954Tor project}.")
4955 (license license:bsd-3)))
4956
4957(define-public ghc-haddock
4958 (package
4959 (name "ghc-haddock")
b0d34d23 4960 (version "2.22.0")
dddbc90c
RV
4961 (source
4962 (origin
4963 (method url-fetch)
4964 (uri (string-append
4965 "https://hackage.haskell.org/package/haddock/haddock-"
4966 version
4967 ".tar.gz"))
4968 (sha256
4969 (base32
b0d34d23 4970 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4971 (build-system haskell-build-system)
4972 (arguments
4973 `(#:phases
4974 (modify-phases %standard-phases
b0d34d23
TS
4975 ;; The release tarball for 2.22.0 is missing the test data for
4976 ;; the Hoogle test, causing it to fail. This is fixed in the
4977 ;; next release, but for now we disable it.
4978 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4979 (lambda _
4980 (use-modules (ice-9 rdelim))
4981 (with-atomic-file-replacement "haddock.cabal"
4982 (lambda (in out)
4983 (let loop ((line (read-line in 'concat)) (deleting? #f))
4984 (cond
4985 ((eof-object? line) #t)
4986 ((string-every char-set:whitespace line)
4987 (unless deleting? (display line out))
4988 (loop (read-line in 'concat) #f))
b0d34d23 4989 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4990 (loop (read-line in 'concat) #t))
4991 (else
4992 (unless deleting? (display line out))
b0d34d23
TS
4993 (loop (read-line in 'concat) deleting?))))))))
4994 (add-before 'check 'add-haddock-to-path
4995 (lambda _
4996 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4997 ":" (getenv "PATH")))
4998 #t)))))
dddbc90c
RV
4999 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5000 (native-inputs
b0d34d23
TS
5001 `(("ghc-haddock-test" ,ghc-haddock-test)
5002 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5003 (home-page "https://www.haskell.org/haddock/")
5004 (synopsis
5005 "Documentation-generation tool for Haskell libraries")
5006 (description
5007 "Haddock is a documentation-generation tool for Haskell libraries.")
5008 (license license:bsd-3)))
5009
5010(define-public ghc-haddock-api
5011 (package
5012 (name "ghc-haddock-api")
1b84d8ef 5013 (version "2.22.0")
dddbc90c
RV
5014 (source
5015 (origin
5016 (method url-fetch)
5017 (uri (string-append
5018 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5019 version
5020 ".tar.gz"))
1b84d8ef 5021 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5022 (sha256
5023 (base32
1b84d8ef 5024 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5025 (build-system haskell-build-system)
5026 (arguments
5027 `(#:phases
5028 (modify-phases %standard-phases
5029 (add-before 'configure 'update-constraints
5030 (lambda _
5031 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5032 (("QuickCheck \\^>= 2\\.11")
5033 "QuickCheck ^>= 2.13")
5034 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5035 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5036 (inputs
5037 `(("ghc-paths" ,ghc-paths)
5038 ("ghc-haddock-library" ,ghc-haddock-library)))
5039 (native-inputs
5040 `(("ghc-quickcheck" ,ghc-quickcheck)
5041 ("ghc-hspec" ,ghc-hspec)
5042 ("hspec-discover" ,hspec-discover)))
5043 (home-page "https://www.haskell.org/haddock/")
5044 (synopsis "API for documentation-generation tool Haddock")
5045 (description "This package provides an API to Haddock, the
5046documentation-generation tool for Haskell libraries.")
5047 (license license:bsd-3)))
5048
5049(define-public ghc-haddock-library
5050 (package
5051 (name "ghc-haddock-library")
10707d57 5052 (version "1.7.0")
dddbc90c
RV
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append
5057 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5058 version
5059 ".tar.gz"))
5060 (sha256
5061 (base32
10707d57 5062 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5063 (build-system haskell-build-system)
5064 (arguments
5065 `(#:phases
5066 (modify-phases %standard-phases
10707d57
TS
5067 ;; Since there is no revised Cabal file upstream, we have to
5068 ;; patch it manually.
dddbc90c
RV
5069 (add-before 'configure 'relax-test-suite-dependencies
5070 (lambda _
5071 (substitute* "haddock-library.cabal"
10707d57
TS
5072 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5073 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5074 #t)))))
5075 (native-inputs
5076 `(("ghc-base-compat" ,ghc-base-compat)
5077 ("ghc-hspec" ,ghc-hspec)
5078 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5079 ("ghc-quickcheck" ,ghc-quickcheck)
5080 ("ghc-tree-diff" ,ghc-tree-diff)
5081 ("hspec-discover" ,hspec-discover)))
5082 (home-page "https://www.haskell.org/haddock/")
5083 (synopsis "Library exposing some functionality of Haddock")
5084 (description
5085 "Haddock is a documentation-generation tool for Haskell libraries. These
5086modules expose some functionality of it without pulling in the GHC dependency.
5087Please note that the API is likely to change so specify upper bounds in your
5088project if you can't release often. For interacting with Haddock itself, see
5089the ‘haddock’ package.")
5090 (license license:bsd-3)))
5091
b0d34d23
TS
5092;; This package is needed for testing 'ghc-haddock'. It is no longer
5093;; published to Hackage, but it is maintained in the Haddock Git
5094;; repository.
5095(define ghc-haddock-test
5096 (package
5097 (name "ghc-haddock-test")
5098 (version "2.22.0")
5099 (source
5100 (origin
5101 (method git-fetch)
5102 (uri (git-reference
5103 (url "https://github.com/haskell/haddock.git")
5104 (commit (string-append "haddock-" version "-release"))))
5105 (file-name (git-file-name name version))
5106 (sha256
5107 (base32
5108 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5109 (build-system haskell-build-system)
5110 (arguments
5111 `(#:phases
5112 (modify-phases %standard-phases
5113 (add-after 'unpack 'change-directory
5114 (lambda _
5115 (chdir "haddock-test"))))))
5116 (inputs
5117 `(("ghc-syb" ,ghc-syb)
5118 ("ghc-xml" ,ghc-xml)))
5119 (home-page "http://www.haskell.org/haddock/")
5120 (synopsis "Test utilities for Haddock")
5121 (description "This package provides test utilities for Haddock.")
5122 (license license:bsd-3)
5123 (properties '((hidden? #t)))))
5124
dddbc90c
RV
5125(define-public ghc-half
5126 (package
5127 (name "ghc-half")
5128 (version "0.3")
5129 (source
5130 (origin
5131 (method url-fetch)
5132 (uri (string-append
5133 "https://hackage.haskell.org/package/half/half-"
5134 version ".tar.gz"))
5135 (sha256
5136 (base32
5137 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5138 (build-system haskell-build-system)
5139 (native-inputs
5140 `(("ghc-hspec" ,ghc-hspec)
5141 ("ghc-quickcheck" ,ghc-quickcheck)))
5142 (home-page "https://github.com/ekmett/half")
5143 (synopsis "Half-precision floating-point computations")
5144 (description "This library provides a half-precision floating-point
5145computation library for Haskell.")
5146 (license license:bsd-3)))
5147
5148(define-public ghc-happy
5149 (package
5150 (name "ghc-happy")
90e7b0e4 5151 (version "1.19.12")
dddbc90c
RV
5152 (source
5153 (origin
5154 (method url-fetch)
5155 (uri (string-append
5156 "https://hackage.haskell.org/package/happy/happy-"
5157 version
5158 ".tar.gz"))
5159 (sha256
5160 (base32
90e7b0e4 5161 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5162 (build-system haskell-build-system)
5163 (arguments
5164 `(#:phases
5165 (modify-phases %standard-phases
5166 (add-after 'unpack 'skip-test-issue93
5167 (lambda _
5168 ;; Tests run out of memory on a system with 2GB of available RAM,
5169 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5170 (substitute* "tests/Makefile"
5171 ((" issue93.y ") " "))
5172 #t)))))
5173 (home-page "https://hackage.haskell.org/package/happy")
5174 (synopsis "Parser generator for Haskell")
5175 (description "Happy is a parser generator for Haskell. Given a grammar
5176specification in BNF, Happy generates Haskell code to parse the grammar.
5177Happy works in a similar way to the yacc tool for C.")
5178 (license license:bsd-3)))
5179
5180(define-public ghc-hashable
5181 (package
5182 (name "ghc-hashable")
5183 (version "1.2.7.0")
5184 (outputs '("out" "doc"))
5185 (source
5186 (origin
5187 (method url-fetch)
5188 (uri (string-append
5189 "https://hackage.haskell.org/package/hashable/hashable-"
5190 version
5191 ".tar.gz"))
5192 (sha256
5193 (base32
5194 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5195 (build-system haskell-build-system)
65a16a45
TS
5196 (arguments
5197 `(#:cabal-revision
5198 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5199 (inputs
5200 `(("ghc-random" ,ghc-random)))
5201 (native-inputs
5202 `(("ghc-test-framework" ,ghc-test-framework)
5203 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5204 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5205 ("ghc-hunit" ,ghc-hunit)
5206 ("ghc-quickcheck" ,ghc-quickcheck)))
5207 (home-page "https://github.com/tibbe/hashable")
5208 (synopsis "Class for types that can be converted to a hash value")
5209 (description
5210 "This package defines a class, @code{Hashable}, for types that can be
5211converted to a hash value. This class exists for the benefit of hashing-based
5212data structures. The package provides instances for basic types and a way to
5213combine hash values.")
5214 (license license:bsd-3)))
5215
5216(define-public ghc-hashable-bootstrap
5217 (package
5218 (inherit ghc-hashable)
5219 (name "ghc-hashable-bootstrap")
65a16a45
TS
5220 (arguments
5221 `(#:tests? #f
5222 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5223 (native-inputs '())
5224 (properties '((hidden? #t)))))
5225
5226(define-public ghc-hashable-time
5227 (package
5228 (name "ghc-hashable-time")
f5051e31 5229 (version "0.2.0.2")
dddbc90c
RV
5230 (source
5231 (origin
5232 (method url-fetch)
5233 (uri (string-append
5234 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5235 version
5236 ".tar.gz"))
5237 (sha256
5238 (base32
f5051e31 5239 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5240 (build-system haskell-build-system)
5241 (arguments
5242 `(#:cabal-revision
f5051e31 5243 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5244 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5245 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5246 (synopsis "Hashable instances for Data.Time")
5247 (description
5248 "This package provides @code{Hashable} instances for types in
5249@code{Data.Time}.")
5250 (license license:bsd-3)))
5251
5252(define-public ghc-hashtables
5253 (package
5254 (name "ghc-hashtables")
19edf0d0 5255 (version "1.2.3.4")
dddbc90c
RV
5256 (source
5257 (origin
5258 (method url-fetch)
5259 (uri (string-append
5260 "https://hackage.haskell.org/package/hashtables/hashtables-"
5261 version ".tar.gz"))
5262 (sha256
19edf0d0 5263 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5264 (build-system haskell-build-system)
5265 (inputs
5266 `(("ghc-hashable" ,ghc-hashable)
5267 ("ghc-primitive" ,ghc-primitive)
5268 ("ghc-vector" ,ghc-vector)))
5269 (home-page "https://github.com/gregorycollins/hashtables")
5270 (synopsis "Haskell Mutable hash tables in the ST monad")
5271 (description "This package provides a Haskell library including a
5272couple of different implementations of mutable hash tables in the ST
5273monad, as well as a typeclass abstracting their common operations, and
5274a set of wrappers to use the hash tables in the IO monad.")
5275 (license license:bsd-3)))
5276
5277(define-public ghc-haskell-lexer
5278 (package
5279 (name "ghc-haskell-lexer")
5280 (version "1.0.2")
5281 (source
5282 (origin
5283 (method url-fetch)
5284 (uri (string-append
5285 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5286 version ".tar.gz"))
5287 (sha256
5288 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5289 (build-system haskell-build-system)
3ef91e15 5290 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5291 (synopsis "Fully compliant Haskell 98 lexer")
5292 (description
5293 "This package provides a fully compliant Haskell 98 lexer.")
5294 (license license:bsd-3)))
5295
5296(define-public ghc-haskell-src
5297 (package
5298 (name "ghc-haskell-src")
5299 (version "1.0.3.0")
5300 (source
5301 (origin
5302 (method url-fetch)
5303 (uri (string-append
5304 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5305 version
5306 ".tar.gz"))
5307 (sha256
5308 (base32
5309 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5310 (build-system haskell-build-system)
5311 (inputs
5312 `(("ghc-happy" ,ghc-happy)
5313 ("ghc-syb" ,ghc-syb)))
5314 (home-page
5315 "https://hackage.haskell.org/package/haskell-src")
5316 (synopsis
5317 "Support for manipulating Haskell source code")
5318 (description
5319 "The @code{haskell-src} package provides support for manipulating Haskell
5320source code. The package provides a lexer, parser and pretty-printer, and a
5321definition of a Haskell abstract syntax tree (AST). Common uses of this
5322package are to parse or generate Haskell 98 code.")
5323 (license license:bsd-3)))
5324
5325(define-public ghc-haskell-src-exts
5326 (package
5327 (name "ghc-haskell-src-exts")
37a05591 5328 (version "1.21.1")
dddbc90c
RV
5329 (source
5330 (origin
5331 (method url-fetch)
5332 (uri (string-append
5333 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5334 version
5335 ".tar.gz"))
5336 (sha256
5337 (base32
37a05591 5338 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5339 (build-system haskell-build-system)
5340 (inputs
5341 `(("cpphs" ,cpphs)
5342 ("ghc-happy" ,ghc-happy)
5343 ("ghc-pretty-show" ,ghc-pretty-show)))
5344 (native-inputs
5345 `(("ghc-smallcheck" ,ghc-smallcheck)
5346 ("ghc-tasty" ,ghc-tasty)
5347 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5348 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5349 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5350 (synopsis "Library for manipulating Haskell source")
5351 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5352extension of the standard @code{haskell-src} package, and handles most
5353registered syntactic extensions to Haskell. All extensions implemented in GHC
5354are supported. Apart from these standard extensions, it also handles regular
5355patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5356 (license license:bsd-3)))
5357
5358(define-public ghc-haskell-src-exts-util
5359 (package
5360 (name "ghc-haskell-src-exts-util")
77355bdf 5361 (version "0.2.5")
dddbc90c
RV
5362 (source
5363 (origin
5364 (method url-fetch)
5365 (uri (string-append "https://hackage.haskell.org/package/"
5366 "haskell-src-exts-util/haskell-src-exts-util-"
5367 version ".tar.gz"))
5368 (sha256
5369 (base32
77355bdf 5370 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5371 (build-system haskell-build-system)
5372 (inputs
5373 `(("ghc-data-default" ,ghc-data-default)
5374 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5375 ("ghc-semigroups" ,ghc-semigroups)
5376 ("ghc-uniplate" ,ghc-uniplate)))
5377 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5378 (synopsis "Helper functions for working with haskell-src-exts trees")
5379 (description
5380 "This package provides helper functions for working with
5381@code{haskell-src-exts} trees.")
5382 (license license:bsd-3)))
5383
5384(define-public ghc-haskell-src-meta
5385 (package
5386 (name "ghc-haskell-src-meta")
e94b3c72 5387 (version "0.8.3")
dddbc90c
RV
5388 (source (origin
5389 (method url-fetch)
5390 (uri (string-append "https://hackage.haskell.org/package/"
5391 "haskell-src-meta/haskell-src-meta-"
5392 version ".tar.gz"))
5393 (sha256
5394 (base32
e94b3c72 5395 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5396 (build-system haskell-build-system)
5397 (inputs
5398 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5399 ("ghc-syb" ,ghc-syb)
5400 ("ghc-th-orphans" ,ghc-th-orphans)))
5401 (native-inputs
5402 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5403 ("ghc-tasty" ,ghc-tasty)
5404 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5405 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5406 (synopsis "Parse source to template-haskell abstract syntax")
5407 (description
5408 "This package provides tools to parse Haskell sources to the
5409template-haskell abstract syntax.")
5410 (license license:bsd-3)))
5411
5412(define-public ghc-hasktags
5413 (package
5414 (name "ghc-hasktags")
5415 (version "0.71.2")
5416 (source
5417 (origin
5418 (method url-fetch)
5419 (uri (string-append
5420 "https://hackage.haskell.org/package/hasktags/hasktags-"
5421 version
5422 ".tar.gz"))
5423 (sha256
5424 (base32
5425 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5426 (build-system haskell-build-system)
5427 (inputs
5428 `(("ghc-system-filepath" ,ghc-system-filepath)
5429 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5430 (native-inputs
5431 `(("ghc-json" ,ghc-json)
5432 ("ghc-utf8-string" ,ghc-utf8-string)
5433 ("ghc-microlens-platform" ,ghc-microlens-platform)
5434 ("ghc-hunit" ,ghc-hunit)))
5435 (home-page "http://github.com/MarcWeber/hasktags")
5436 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5437 (description
5438 "This package provides a means of generating tag files for Emacs and
5439Vim.")
5440 (license license:bsd-3)))
5441
5442(define-public ghc-hex
5443 (package
5444 (name "ghc-hex")
5445 (version "0.1.2")
5446 (source
5447 (origin
5448 (method url-fetch)
5449 (uri (string-append "https://hackage.haskell.org/package/"
5450 "hex-" version "/"
5451 "hex-" version ".tar.gz"))
5452 (sha256
5453 (base32
5454 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5455 (build-system haskell-build-system)
5456 (home-page "https://hackage.haskell.org/package/hex")
5457 (synopsis "Convert strings into hexadecimal and back")
5458 (description "This package provides conversion functions between
5459bytestrings and their hexademical representation.")
5460 (license license:bsd-3)))
5461
5462(define-public ghc-highlighting-kate
5463 (package
5464 (name "ghc-highlighting-kate")
5465 (version "0.6.4")
5466 (source (origin
5467 (method url-fetch)
5468 (uri (string-append "https://hackage.haskell.org/package/"
5469 "highlighting-kate/highlighting-kate-"
5470 version ".tar.gz"))
5471 (sha256
5472 (base32
5473 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5474 (build-system haskell-build-system)
5475 (inputs
5476 `(("ghc-diff" ,ghc-diff)
5477 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5478 (native-inputs
5479 `(("ghc-blaze-html" ,ghc-blaze-html)
5480 ("ghc-utf8-string" ,ghc-utf8-string)))
5481 (home-page "https://github.com/jgm/highlighting-kate")
5482 (synopsis "Syntax highlighting library")
5483 (description
5484 "Highlighting-kate is a syntax highlighting library with support for
5485nearly one hundred languages. The syntax parsers are automatically generated
5486from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5487supported by Kate can be added. An (optional) command-line program is
5488provided, along with a utility for generating new parsers from Kate XML syntax
5489descriptions.")
5490 (license license:gpl2+)))
5491
5492(define-public ghc-hindent
5493 (package
5494 (name "ghc-hindent")
f545f894 5495 (version "5.3.1")
dddbc90c
RV
5496 (source
5497 (origin
5498 (method url-fetch)
5499 (uri (string-append
5500 "https://hackage.haskell.org/package/hindent/hindent-"
5501 version
5502 ".tar.gz"))
5503 (sha256
5504 (base32
f545f894 5505 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5506 (build-system haskell-build-system)
5507 (arguments
5508 `(#:modules ((guix build haskell-build-system)
5509 (guix build utils)
5510 (guix build emacs-utils))
5511 #:imported-modules (,@%haskell-build-system-modules
5512 (guix build emacs-utils))
5513 #:phases
5514 (modify-phases %standard-phases
5515 (add-after 'install 'emacs-install
5516 (lambda* (#:key inputs outputs #:allow-other-keys)
5517 (let* ((out (assoc-ref outputs "out"))
5518 (elisp-file "elisp/hindent.el")
d53e87cf 5519 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5520 (emacs (string-append (assoc-ref inputs "emacs")
5521 "/bin/emacs")))
5522 (make-file-writable elisp-file)
5523 (emacs-substitute-variables elisp-file
5524 ("hindent-process-path"
5525 (string-append out "/bin/hindent")))
5526 (install-file elisp-file dest)
5527 (emacs-generate-autoloads "hindent" dest)))))))
5528 (inputs
5529 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5530 ("ghc-monad-loops" ,ghc-monad-loops)
5531 ("ghc-utf8-string" ,ghc-utf8-string)
5532 ("ghc-exceptions" ,ghc-exceptions)
5533 ("ghc-yaml" ,ghc-yaml)
5534 ("ghc-unix-compat" ,ghc-unix-compat)
5535 ("ghc-path" ,ghc-path)
5536 ("ghc-path-io" ,ghc-path-io)
5537 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5538 (native-inputs
5539 `(("ghc-hspec" ,ghc-hspec)
5540 ("ghc-diff" ,ghc-diff)
5541 ("emacs" ,emacs-minimal)))
5542 (home-page
5543 "https://github.com/commercialhaskell/hindent")
5544 (synopsis "Extensible Haskell pretty printer")
5545 (description
5546 "This package provides automatic formatting for Haskell files. Both a
5547library and an executable.")
5548 (license license:bsd-3)))
5549
5550(define-public ghc-hinotify
5551 (package
5552 (name "ghc-hinotify")
c2342abb 5553 (version "0.4")
dddbc90c
RV
5554 (source (origin
5555 (method url-fetch)
5556 (uri (string-append
5557 "https://hackage.haskell.org/package/hinotify/"
5558 "hinotify-" version ".tar.gz"))
5559 (sha256
5560 (base32
c2342abb 5561 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5562 (build-system haskell-build-system)
5563 (inputs
5564 `(("ghc-async" ,ghc-async)))
5565 (home-page "https://github.com/kolmodin/hinotify.git")
5566 (synopsis "Haskell binding to inotify")
5567 (description "This library provides a wrapper to the Linux kernel's inotify
5568feature, allowing applications to subscribe to notifications when a file is
5569accessed or modified.")
5570 (license license:bsd-3)))
5571
5572(define-public ghc-hmatrix
5573 (package
5574 (name "ghc-hmatrix")
65e29ed1 5575 (version "0.20.0.0")
dddbc90c
RV
5576 (source
5577 (origin
5578 (method url-fetch)
5579 (uri (string-append
5580 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5581 version ".tar.gz"))
5582 (sha256
65e29ed1 5583 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5584 (build-system haskell-build-system)
5585 (inputs
5586 `(("ghc-random" ,ghc-random)
5587 ("ghc-split" ,ghc-split)
5588 ("ghc-storable-complex" ,ghc-storable-complex)
5589 ("ghc-semigroups" ,ghc-semigroups)
5590 ("ghc-vector" ,ghc-vector)
5591 ;;("openblas" ,openblas)
5592 ("lapack" ,lapack)))
5593 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5594 ;; disables inclusion of the LAPACK functions.
5595 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5596 (home-page "https://github.com/albertoruiz/hmatrix")
5597 (synopsis "Haskell numeric linear algebra library")
5598 (description "The HMatrix package provices a Haskell library for
5599dealing with linear systems, matrix decompositions, and other
5600numerical computations based on BLAS and LAPACK.")
5601 (license license:bsd-3)))
5602
5603(define-public ghc-hmatrix-gsl
5604 (package
5605 (name "ghc-hmatrix-gsl")
5606 (version "0.19.0.1")
5607 (source
5608 (origin
5609 (method url-fetch)
5610 (uri (string-append
5611 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5612 version ".tar.gz"))
5613 (sha256
5614 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5615 (build-system haskell-build-system)
5616 (inputs
5617 `(("ghc-hmatrix" ,ghc-hmatrix)
5618 ("ghc-vector" ,ghc-vector)
5619 ("ghc-random" ,ghc-random)
5620 ("gsl" ,gsl)))
5621 (native-inputs `(("pkg-config" ,pkg-config)))
5622 (home-page "https://github.com/albertoruiz/hmatrix")
5623 (synopsis "Haskell GSL binding")
5624 (description "This Haskell library provides a purely functional
5625interface to selected numerical computations, internally implemented
5626using GSL.")
5627 (license license:gpl3+)))
5628
5629(define-public ghc-hmatrix-gsl-stats
5630 (package
5631 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5632 (version "0.4.1.8")
dddbc90c
RV
5633 (source
5634 (origin
5635 (method url-fetch)
5636 (uri
5637 (string-append
5638 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5639 version ".tar.gz"))
5640 (sha256
e9b359f5 5641 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5642 (build-system haskell-build-system)
5643 (inputs
5644 `(("ghc-vector" ,ghc-vector)
5645 ("ghc-storable-complex" ,ghc-storable-complex)
5646 ("ghc-hmatrix" ,ghc-hmatrix)
5647 ("gsl" ,gsl)))
5648 (native-inputs `(("pkg-config" ,pkg-config)))
5649 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5650 (synopsis "GSL Statistics interface for Haskell")
5651 (description "This Haskell library provides a purely functional
5652interface for statistics based on hmatrix and GSL.")
5653 (license license:bsd-3)))
5654
5655(define-public ghc-hmatrix-special
5656 (package
5657 (name "ghc-hmatrix-special")
5658 (version "0.19.0.0")
5659 (source
5660 (origin
5661 (method url-fetch)
5662 (uri
5663 (string-append
5664 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5665 version ".tar.gz"))
5666 (sha256
5667 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5668 (build-system haskell-build-system)
5669 (inputs
5670 `(("ghc-hmatrix" ,ghc-hmatrix)
5671 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5672 (home-page "https://github.com/albertoruiz/hmatrix")
5673 (synopsis "Haskell interface to GSL special functions")
5674 (description "This library provides an interface to GSL special
5675functions for Haskell.")
5676 (license license:gpl3+)))
5677
5678(define-public ghc-hostname
5679 (package
5680 (name "ghc-hostname")
5681 (version "1.0")
5682 (source
5683 (origin
5684 (method url-fetch)
5685 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5686 "hostname-" version ".tar.gz"))
5687 (sha256
5688 (base32
5689 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5690 (build-system haskell-build-system)
5691 (home-page "https://hackage.haskell.org/package/hostname")
5692 (synopsis "Hostname in Haskell")
5693 (description "Network.HostName is a simple package providing a means to
5694determine the hostname.")
5695 (license license:bsd-3)))
5696
5697(define-public ghc-hourglass
5698 (package
5699 (name "ghc-hourglass")
5700 (version "0.2.12")
5701 (source (origin
5702 (method url-fetch)
5703 (uri (string-append "https://hackage.haskell.org/package/"
5704 "hourglass/hourglass-" version ".tar.gz"))
5705 (sha256
5706 (base32
5707 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5708 (build-system haskell-build-system)
5709 (inputs
5710 `(("ghc-old-locale" ,ghc-old-locale)))
5711 (native-inputs
5712 `(("ghc-tasty" ,ghc-tasty)
5713 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5714 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5715 (home-page "https://github.com/vincenthz/hs-hourglass")
5716 (synopsis "Simple time-related library for Haskell")
5717 (description
5718 "This is a simple time library providing a simple but powerful and
5719performant API. The backbone of the library are the @code{Timeable} and
5720@code{Time} type classes. Each @code{Timeable} instances can be converted to
5721a type that has a @code{Time} instances, and thus are different
5722representations of current time.")
5723 (license license:bsd-3)))
5724
5725(define-public ghc-hpack
5726 (package
5727 (name "ghc-hpack")
06344a3a 5728 (version "0.31.2")
dddbc90c
RV
5729 (source
5730 (origin
5731 (method url-fetch)
5732 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5733 "hpack-" version ".tar.gz"))
06344a3a 5734 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5735 (sha256
5736 (base32
06344a3a 5737 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5738 (build-system haskell-build-system)
5739 (inputs
5740 `(("ghc-aeson" ,ghc-aeson)
5741 ("ghc-bifunctors" ,ghc-bifunctors)
5742 ("ghc-cryptonite" ,ghc-cryptonite)
5743 ("ghc-glob" ,ghc-glob)
5744 ("ghc-http-client" ,ghc-http-client)
5745 ("ghc-http-client-tls" ,ghc-http-client-tls)
5746 ("ghc-http-types" ,ghc-http-types)
06344a3a 5747 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5748 ("ghc-scientific" ,ghc-scientific)
5749 ("ghc-unordered-containers" ,ghc-unordered-containers)
5750 ("ghc-vector" ,ghc-vector)
5751 ("ghc-yaml" ,ghc-yaml)))
5752 (native-inputs
5753 `(("ghc-hspec" ,ghc-hspec)
5754 ("ghc-hunit" ,ghc-hunit)
5755 ("ghc-interpolate" ,ghc-interpolate)
5756 ("ghc-mockery" ,ghc-mockery)
5757 ("ghc-quickcheck" ,ghc-quickcheck)
5758 ("ghc-temporary" ,ghc-temporary)
5759 ("hspec-discover" ,hspec-discover)))
5760 (home-page "https://github.com/sol/hpack")
5761 (synopsis "Tools for an alternative Haskell package format")
5762 (description
5763 "Hpack is a format for Haskell packages. It is an alternative to the
5764Cabal package format and follows different design principles. Hpack packages
5765are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5766@code{stack} support @code{package.yaml} natively. For other build tools the
5767@code{hpack} executable can be used to generate a @code{.cabal} file from
5768@code{package.yaml}.")
5769 (license license:expat)))
5770
5771(define-public ghc-hs-bibutils
5772 (package
5773 (name "ghc-hs-bibutils")
ebcb4f23 5774 (version "6.7.0.0")
dddbc90c
RV
5775 (source
5776 (origin
5777 (method url-fetch)
5778 (uri (string-append
5779 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5780 version ".tar.gz"))
5781 (sha256
5782 (base32
ebcb4f23 5783 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5784 (build-system haskell-build-system)
5785 (inputs `(("ghc-syb" ,ghc-syb)))
5786 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5787 (synopsis "Haskell bindings to bibutils")
5788 (description
5789 "This package provides Haskell bindings to @code{bibutils}, a library
5790that interconverts between various bibliography formats using a common
5791MODS-format XML intermediate.")
5792 (license license:gpl2+)))
5793
5794(define-public ghc-hslogger
5795 (package
5796 (name "ghc-hslogger")
e5ccc5f7 5797 (version "1.2.12")
dddbc90c
RV
5798 (source
5799 (origin
5800 (method url-fetch)
5801 (uri (string-append "https://hackage.haskell.org/package/"
5802 "hslogger-" version "/" "hslogger-"
5803 version ".tar.gz"))
5804 (sha256 (base32
e5ccc5f7 5805 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5806 (build-system haskell-build-system)
5807 (inputs
5808 `(("ghc-network" ,ghc-network)
5809 ("ghc-old-locale" ,ghc-old-locale)))
5810 (native-inputs
5811 `(("ghc-hunit" ,ghc-hunit)))
5812 (home-page "https://software.complete.org/hslogger")
5813 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5814 (description "Hslogger lets each log message have a priority and source be
5815associated with it. The programmer can then define global handlers that route
5816or filter messages based on the priority and source. It also has a syslog
5817handler built in.")
5818 (license license:bsd-3)))
5819
5820(define-public ghc-hslua
5821 (package
5822 (name "ghc-hslua")
cc784d7b 5823 (version "1.0.3.2")
dddbc90c
RV
5824 (source (origin
5825 (method url-fetch)
5826 (uri (string-append "https://hackage.haskell.org/package/"
5827 "hslua/hslua-" version ".tar.gz"))
5828 (sha256
5829 (base32
cc784d7b 5830 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5831 (build-system haskell-build-system)
5832 (arguments
5833 `(#:configure-flags '("-fsystem-lua")))
5834 (inputs
5835 `(("lua" ,lua)
5836 ("ghc-exceptions" ,ghc-exceptions)
5837 ("ghc-fail" ,ghc-fail)))
5838 (native-inputs
5839 `(("ghc-tasty" ,ghc-tasty)
5840 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5841 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5842 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5843 ("ghc-quickcheck" ,ghc-quickcheck)
5844 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5845 (home-page "https://hackage.haskell.org/package/hslua")
5846 (synopsis "Lua language interpreter embedding in Haskell")
5847 (description
5848 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5849described in @url{https://www.lua.org/}.")
5850 (license license:expat)))
5851
ff303e4e
TS
5852(define-public ghc-hslua-module-system
5853 (package
5854 (name "ghc-hslua-module-system")
5855 (version "0.2.1")
5856 (source
5857 (origin
5858 (method url-fetch)
5859 (uri (string-append "https://hackage.haskell.org/package/"
5860 "hslua-module-system/hslua-module-system-"
5861 version ".tar.gz"))
5862 (sha256
5863 (base32
5864 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5865 (build-system haskell-build-system)
5866 (inputs
5867 `(("ghc-exceptions" ,ghc-exceptions)
5868 ("ghc-hslua" ,ghc-hslua)
5869 ("ghc-temporary" ,ghc-temporary)))
5870 (native-inputs
5871 `(("ghc-tasty" ,ghc-tasty)
5872 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5873 (home-page "https://github.com/hslua/hslua-module-system")
5874 (synopsis "Lua module wrapper around Haskell's System module")
5875 (description "This library provides access to system information and
5876functionality to Lua scripts via Haskell's @code{System} module. Intended
5877usage for this package is to preload it by adding the loader function to
5878@code{package.preload}. Note that the Lua @code{package} library must have
5879already been loaded before the loader can be added.")
5880 (license license:expat)))
5881
dddbc90c
RV
5882(define-public ghc-hslua-module-text
5883 (package
5884 (name "ghc-hslua-module-text")
ecaf0b0c 5885 (version "0.2.1")
dddbc90c
RV
5886 (source
5887 (origin
5888 (method url-fetch)
5889 (uri (string-append "https://hackage.haskell.org/package/"
5890 "hslua-module-text/hslua-module-text-"
5891 version ".tar.gz"))
5892 (sha256
5893 (base32
ecaf0b0c 5894 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5895 (build-system haskell-build-system)
dddbc90c
RV
5896 (inputs
5897 `(("ghc-hslua" ,ghc-hslua)))
5898 (native-inputs
5899 `(("ghc-tasty" ,ghc-tasty)
5900 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5901 (home-page "https://github.com/hslua/hslua-module-text")
5902 (synopsis "Lua module for text")
5903 (description
5904 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5905for Haskell. The functions provided by this module are @code{upper},
5906@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5907 (license license:expat)))
5908
fac520bf
TS
5909(define-public ghc-hsyaml
5910 (package
5911 (name "ghc-hsyaml")
5912 (version "0.1.2.0")
5913 (source
5914 (origin
5915 (method url-fetch)
5916 (uri (string-append "https://hackage.haskell.org/package/"
5917 "HsYAML/HsYAML-" version ".tar.gz"))
5918 (sha256
5919 (base32
5920 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5921 (build-system haskell-build-system)
5922 (arguments
5923 `(#:cabal-revision
5924 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5925 (home-page "https://github.com/haskell-hvr/HsYAML")
5926 (synopsis "Pure Haskell YAML 1.2 parser")
5927 (description "This library provides a
5928@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5929for Haskell. Its features include:
5930
5931@itemize
5932@item Pure Haskell implementation with small dependency footprint and
5933emphasis on strict compliance with the YAML 1.2 specification.
5934
5935@item Direct decoding to native Haskell types via (aeson-inspired)
5936typeclass-based API (see @code{Data.YAML}).
5937
5938@item Support for constructing custom YAML node graph
5939representation (including support for cyclic YAML data structures).
5940
5941@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5942@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5943typing rules as defined in the YAML 1.2 specification (including support
5944for user-defined custom schemas).
5945
5946@item Event-based API resembling LibYAML's Event-based API (see
5947@code{Data.YAML.Event}).
5948
5949@item Low-level API access to lexical token-based scanner (see
5950@code{Data.YAML.Token}).
5951@end itemize")
5952 (license license:gpl2+)))
5953
dddbc90c
RV
5954(define-public ghc-http-api-data
5955 (package
5956 (name "ghc-http-api-data")
a57236eb 5957 (version "0.4.1")
dddbc90c
RV
5958 (source
5959 (origin
5960 (method url-fetch)
5961 (uri (string-append "https://hackage.haskell.org/package/"
5962 "http-api-data-" version "/"
5963 "http-api-data-" version ".tar.gz"))
5964 (sha256
5965 (base32
a57236eb 5966 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5967 (build-system haskell-build-system)
dddbc90c
RV
5968 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5969 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5970 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5971 ("ghc-hashable" ,ghc-hashable)
5972 ("ghc-http-types" ,ghc-http-types)
a57236eb 5973 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5974 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5975 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5976 (native-inputs
5977 `(("cabal-doctest" ,cabal-doctest)
5978 ("ghc-nats" ,ghc-nats)
5979 ("ghc-hunit" ,ghc-hunit)
5980 ("ghc-hspec" ,ghc-hspec)
5981 ("ghc-quickcheck" ,ghc-quickcheck)
5982 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5983 ("ghc-doctest" ,ghc-doctest)
5984 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5985 (home-page "https://github.com/fizruk/http-api-data")
5986 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5987query parameters")
5988 (description "This Haskell package defines typeclasses used for converting
5989Haskell data types to and from HTTP API data.")
5990 (license license:bsd-3)))
5991
5992(define-public ghc-ieee754
5993 (package
5994 (name "ghc-ieee754")
5995 (version "0.8.0")
5996 (source (origin
5997 (method url-fetch)
5998 (uri (string-append
5999 "https://hackage.haskell.org/package/ieee754/"
6000 "ieee754-" version ".tar.gz"))
6001 (sha256
6002 (base32
6003 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6004 (build-system haskell-build-system)
6005 (home-page "https://github.com/patperry/hs-ieee754")
6006 (synopsis "Utilities for dealing with IEEE floating point numbers")
6007 (description "Utilities for dealing with IEEE floating point numbers,
6008ported from the Tango math library; approximate and exact equality comparisons
6009for general types.")
6010 (license license:bsd-3)))
6011
6012(define-public ghc-ifelse
6013 (package
6014 (name "ghc-ifelse")
6015 (version "0.85")
6016 (source
6017 (origin
6018 (method url-fetch)
6019 (uri (string-append "https://hackage.haskell.org/package/"
6020 "IfElse/IfElse-" version ".tar.gz"))
6021 (sha256
6022 (base32
6023 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6024 (build-system haskell-build-system)
3ef91e15 6025 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6026 (synopsis "Monadic control flow with anaphoric variants")
6027 (description "This library provides functions for control flow inside of
6028monads with anaphoric variants on @code{if} and @code{when} and a C-like
6029@code{switch} function.")
6030 (license license:bsd-3)))
6031
6032(define-public ghc-indents
6033 (package
6034 (name "ghc-indents")
d66473fb 6035 (version "0.5.0.1")
dddbc90c
RV
6036 (source (origin
6037 (method url-fetch)
6038 (uri (string-append
6039 "https://hackage.haskell.org/package/indents/indents-"
6040 version ".tar.gz"))
6041 (sha256
6042 (base32
d66473fb 6043 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6044 (build-system haskell-build-system)
6045 ;; This package needs an older version of tasty.
6046 (arguments '(#:tests? #f))
6047 (inputs
6048 `(("ghc-concatenative" ,ghc-concatenative)))
6049 (native-inputs
6050 `(("ghc-tasty" ,ghc-tasty)
6051 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6052 (home-page "http://patch-tag.com/r/salazar/indents")
6053 (synopsis "Indentation sensitive parser-combinators for parsec")
6054 (description
6055 "This library provides functions for use in parsing indentation sensitive
6056contexts. It parses blocks of lines all indented to the same level as well as
6057lines continued at an indented level below.")
6058 (license license:bsd-3)))
6059
1f656b17
TS
6060(define-public ghc-infer-license
6061 (package
6062 (name "ghc-infer-license")
6063 (version "0.2.0")
6064 (source
6065 (origin
6066 (method url-fetch)
6067 (uri (string-append "https://hackage.haskell.org/package/"
6068 "infer-license/infer-license-" version ".tar.gz"))
6069 (sha256
6070 (base32
6071 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6072 (build-system haskell-build-system)
6073 (inputs
6074 `(("ghc-text-metrics" ,ghc-text-metrics)))
6075 (native-inputs
6076 `(("ghc-hspec" ,ghc-hspec)
6077 ("hspec-discover" ,hspec-discover)))
3ef91e15 6078 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6079 (synopsis "Infer software license from a given license file")
6080 (description "This library provides tools to infer a software
6081license from a given license file.")
6082 (license license:expat)))
6083
dddbc90c
RV
6084(define-public ghc-inline-c
6085 (package
6086 (name "ghc-inline-c")
55ec98f2 6087 (version "0.7.0.1")
dddbc90c
RV
6088 (source
6089 (origin
6090 (method url-fetch)
6091 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6092 "inline-c-" version ".tar.gz"))
6093 (sha256
6094 (base32
55ec98f2 6095 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6096 (build-system haskell-build-system)
6097 (inputs
6098 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6099 ("ghc-cryptohash" ,ghc-cryptohash)
6100 ("ghc-hashable" ,ghc-hashable)
6101 ("ghc-parsers" ,ghc-parsers)
6102 ("ghc-unordered-containers" ,ghc-unordered-containers)
6103 ("ghc-vector" ,ghc-vector)))
6104 (native-inputs
6105 `(("ghc-quickcheck" ,ghc-quickcheck)
6106 ("ghc-hspec" ,ghc-hspec)
6107 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6108 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6109 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6110 (synopsis "Write Haskell source files including C code inline")
6111 (description
6112 "inline-c lets you seamlessly call C libraries and embed high-performance
6113inline C code in Haskell modules. Haskell and C can be freely intermixed in
6114the same source file, and data passed to and from code in either language with
6115minimal overhead. No FFI required.")
6116 (license license:expat)))
6117
6118(define-public ghc-inline-c-cpp
6119 (package
6120 (name "ghc-inline-c-cpp")
cae58e56 6121 (version "0.3.0.3")
dddbc90c
RV
6122 (source
6123 (origin
6124 (method url-fetch)
6125 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6126 "inline-c-cpp-" version ".tar.gz"))
6127 (sha256
6128 (base32
cae58e56 6129 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6130 (build-system haskell-build-system)
6131 (inputs
6132 `(("ghc-inline-c" ,ghc-inline-c)
6133 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6134 (native-inputs
6135 `(("ghc-hspec" ,ghc-hspec)))
6136 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6137 (synopsis "Lets you embed C++ code into Haskell")
6138 (description
6139 "This package provides utilities to inline C++ code into Haskell using
6140@code{inline-c}.")
6141 (license license:expat)))
6142
6143(define-public ghc-integer-logarithms
6144 (package
6145 (name "ghc-integer-logarithms")
86a704db 6146 (version "1.0.3")
dddbc90c
RV
6147 (source
6148 (origin
6149 (method url-fetch)
6150 (uri (string-append "https://hackage.haskell.org/package/"
6151 "integer-logarithms/integer-logarithms-"
6152 version ".tar.gz"))
6153 (sha256
6154 (base32
86a704db 6155 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6156 (build-system haskell-build-system)
6157 (arguments
6158 `(#:phases
6159 (modify-phases %standard-phases
6160 (add-before 'configure 'update-constraints
6161 (lambda _
6162 (substitute* "integer-logarithms.cabal"
6163 (("tasty >= 0\\.10 && < 1\\.1")
6164 "tasty >= 0.10 && < 1.2")))))))
6165 (native-inputs
6166 `(("ghc-quickcheck" ,ghc-quickcheck)
6167 ("ghc-smallcheck" ,ghc-smallcheck)
6168 ("ghc-tasty" ,ghc-tasty)
6169 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6170 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6171 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6172 (home-page "https://github.com/Bodigrim/integer-logarithms")
6173 (synopsis "Integer logarithms")
6174 (description
6175 "This package provides the following modules:
6176@code{Math.NumberTheory.Logarithms} and
6177@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6178@code{GHC.Integer.Logarithms.Compat} and
6179@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6180in migrated modules.")
6181 (license license:expat)))
6182
6183(define-public ghc-integer-logarithms-bootstrap
6184 (package
6185 (inherit ghc-integer-logarithms)
6186 (name "ghc-integer-logarithms-bootstrap")
6187 (arguments `(#:tests? #f))
6188 (native-inputs '())
799d8d3c 6189 (properties '((hidden? #t)))))
dddbc90c
RV
6190
6191(define-public ghc-interpolate
6192 (package
6193 (name "ghc-interpolate")
6194 (version "0.2.0")
6195 (source
6196 (origin
6197 (method url-fetch)
6198 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6199 "interpolate-" version ".tar.gz"))
6200 (sha256
6201 (base32
6202 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6203 (build-system haskell-build-system)
6204 (inputs
6205 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6206 (native-inputs
6207 `(("ghc-base-compat" ,ghc-base-compat)
6208 ("ghc-hspec" ,ghc-hspec)
6209 ("ghc-quickcheck" ,ghc-quickcheck)
6210 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6211 ("hspec-discover" ,hspec-discover)))
6212 (home-page "https://github.com/sol/interpolate")
6213 (synopsis "String interpolation library")
6214 (description "This package provides a string interpolation library for
6215Haskell.")
6216 (license license:expat)))
6217
6218(define-public ghc-intervalmap
6219 (package
6220 (name "ghc-intervalmap")
e4946e32 6221 (version "0.6.1.1")
dddbc90c
RV
6222 (source
6223 (origin
6224 (method url-fetch)
6225 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6226 "IntervalMap-" version ".tar.gz"))
6227 (sha256
6228 (base32
e4946e32 6229 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6230 (build-system haskell-build-system)
6231 (native-inputs
6232 `(("ghc-quickcheck" ,ghc-quickcheck)))
6233 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6234 (synopsis "Containers for intervals, with efficient search")
6235 (description
6236 "This package provides ordered containers of intervals, with efficient
6237search for all keys containing a point or overlapping an interval. See the
6238example code on the home page for a quick introduction.")
6239 (license license:bsd-3)))
6240
f7ca1fa8
TS
6241(define-public ghc-intervals
6242 (package
6243 (name "ghc-intervals")
6244 (version "0.8.1")
6245 (source
6246 (origin
6247 (method url-fetch)
6248 (uri (string-append "https://hackage.haskell.org/package/"
6249 "intervals/intervals-" version ".tar.gz"))
6250 (sha256
6251 (base32
6252 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6253 (build-system haskell-build-system)
6254 (inputs
6255 `(("ghc-distributive" ,ghc-distributive)))
6256 (native-inputs
6257 `(("cabal-doctest" ,cabal-doctest)
6258 ("ghc-doctest" ,ghc-doctest)
6259 ("ghc-quickcheck" ,ghc-quickcheck)))
6260 (arguments
6261 `(#:cabal-revision
6262 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6263 (home-page "https://github.com/ekmett/intervals")
6264 (synopsis "Interval arithmetic")
6265 (description "This library provides
6266@code{Numeric.Interval.Interval}, which represets a closed, convex set
6267of floating point values.")
6268 (license license:bsd-3)))
6269
dddbc90c
RV
6270(define-public ghc-invariant
6271 (package
6272 (name "ghc-invariant")
d3a0e0b4 6273 (version "0.5.3")
dddbc90c
RV
6274 (source
6275 (origin
6276 (method url-fetch)
6277 (uri (string-append
6278 "https://hackage.haskell.org/package/invariant/invariant-"
6279 version ".tar.gz"))
6280 (sha256
6281 (base32
d3a0e0b4 6282 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6283 (build-system haskell-build-system)
6284 (inputs
6285 `(("ghc-bifunctors" ,ghc-bifunctors)
6286 ("ghc-comonad" ,ghc-comonad)
6287 ("ghc-contravariant" ,ghc-contravariant)
6288 ("ghc-profunctors" ,ghc-profunctors)
6289 ("ghc-semigroups" ,ghc-semigroups)
6290 ("ghc-statevar" ,ghc-statevar)
6291 ("ghc-tagged" ,ghc-tagged)
6292 ("ghc-th-abstraction" ,ghc-th-abstraction)
6293 ("ghc-transformers-compat" ,ghc-transformers-compat)
6294 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6295 (native-inputs
6296 `(("ghc-hspec" ,ghc-hspec)
6297 ("ghc-quickcheck" ,ghc-quickcheck)
6298 ("hspec-discover" ,hspec-discover)))
6299 (home-page "https://github.com/nfrisby/invariant-functors")
6300 (synopsis "Haskell98 invariant functors")
6301 (description "Haskell98 invariant functors (also known as exponential
6302functors). For more information, see Edward Kmett's article
6303@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6304 (license license:bsd-2)))
6305
6306(define-public ghc-io-streams
6307 (package
6308 (name "ghc-io-streams")
59e98d75 6309 (version "1.5.1.0")
dddbc90c
RV
6310 (source
6311 (origin
6312 (method url-fetch)
6313 (uri (string-append "https://hackage.haskell.org/package/"
6314 "io-streams/io-streams-" version ".tar.gz"))
6315 (sha256
6316 (base32
59e98d75 6317 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6318 (build-system haskell-build-system)
6319 (inputs
6320 `(("ghc-attoparsec" ,ghc-attoparsec)
6321 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6322 ("ghc-network" ,ghc-network)
6323 ("ghc-primitive" ,ghc-primitive)
6324 ("ghc-vector" ,ghc-vector)
6325 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6326 (native-inputs
6327 `(("ghc-hunit" ,ghc-hunit)
6328 ("ghc-quickcheck" ,ghc-quickcheck)
6329 ("ghc-test-framework" ,ghc-test-framework)
6330 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6331 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6332 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6333 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6334 (synopsis "Simple and composable stream I/O")
6335 (description "This library contains simple and easy-to-use
6336primitives for I/O using streams.")
6337 (license license:bsd-3)))
6338
6339(define-public ghc-io-streams-haproxy
6340 (package
6341 (name "ghc-io-streams-haproxy")
1a4fbc36 6342 (version "1.0.1.0")
dddbc90c
RV
6343 (source
6344 (origin
6345 (method url-fetch)
6346 (uri (string-append "https://hackage.haskell.org/package/"
6347 "io-streams-haproxy/io-streams-haproxy-"
6348 version ".tar.gz"))
6349 (sha256
6350 (base32
1a4fbc36 6351 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6352 (build-system haskell-build-system)
6353 (inputs
6354 `(("ghc-attoparsec" ,ghc-attoparsec)
6355 ("ghc-io-streams" ,ghc-io-streams)
6356 ("ghc-network" ,ghc-network)))
6357 (native-inputs
6358 `(("ghc-hunit" ,ghc-hunit)
6359 ("ghc-test-framework" ,ghc-test-framework)
6360 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6361 (home-page "http://snapframework.com/")
6362 (synopsis "HAProxy protocol 1.5 support for io-streams")
6363 (description "HAProxy protocol version 1.5 support
6364(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6365for applications using io-streams. The proxy protocol allows information
6366about a networked peer (like remote address and port) to be propagated
6367through a forwarding proxy that is configured to speak this protocol.")
6368 (license license:bsd-3)))
6369
6370(define-public ghc-iproute
6371 (package
6372 (name "ghc-iproute")
ec25d536 6373 (version "1.7.7")
dddbc90c
RV
6374 (source
6375 (origin
6376 (method url-fetch)
6377 (uri (string-append
6378 "https://hackage.haskell.org/package/iproute/iproute-"
6379 version
6380 ".tar.gz"))
6381 (sha256
6382 (base32
ec25d536 6383 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6384 (build-system haskell-build-system)
6385 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6386 ; exported by ghc-byteorder. Doctest issue.
6387 (inputs
6388 `(("ghc-appar" ,ghc-appar)
6389 ("ghc-byteorder" ,ghc-byteorder)
6390 ("ghc-network" ,ghc-network)
6391 ("ghc-safe" ,ghc-safe)))
6392 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6393 (synopsis "IP routing table")
6394 (description "IP Routing Table is a tree of IP ranges to search one of
6395them on the longest match base. It is a kind of TRIE with one way branching
6396removed. Both IPv4 and IPv6 are supported.")
6397 (license license:bsd-3)))
6398
4828e54e
TS
6399(define-public ghc-ipynb
6400 (package
6401 (name "ghc-ipynb")
6402 (version "0.1")
6403 (source
6404 (origin
6405 (method url-fetch)
6406 (uri (string-append "https://hackage.haskell.org/package/"
6407 "ipynb/ipynb-" version ".tar.gz"))
6408 (sha256
6409 (base32
6410 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6411 (build-system haskell-build-system)
6412 (inputs
6413 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6414 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6415 ("ghc-aeson" ,ghc-aeson)
6416 ("ghc-semigroups" ,ghc-semigroups)))
6417 (native-inputs
6418 `(("ghc-tasty" ,ghc-tasty)
6419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6420 ("ghc-aeson-diff" ,ghc-aeson-diff)
6421 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6422 ("ghc-microlens" ,ghc-microlens)
6423 ("ghc-vector" ,ghc-vector)))
6424 (home-page "https://hackage.haskell.org/package/ipynb")
6425 (synopsis "Data structure for working with Jupyter notebooks")
6426 (description "This library defines a data structure for representing
6427Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6428instances for conversion to and from JSON .ipynb files.")
6429 (license license:bsd-3)))
6430
dddbc90c
RV
6431(define-public ghc-iwlib
6432 (package
6433 (name "ghc-iwlib")
6434 (version "0.1.0")
6435 (source
6436 (origin
6437 (method url-fetch)
6438 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6439 version ".tar.gz"))
6440 (sha256
6441 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6442 (build-system haskell-build-system)
6443 (inputs
6444 `(("wireless-tools" ,wireless-tools)))
6445 (home-page "https://github.com/jaor/iwlib")
6446 (synopsis "Haskell binding to the iw wireless networking library")
6447 (description
6448 "IWlib is a thin Haskell binding to the iw C library. It provides
6449information about the current wireless network connections, and adapters on
6450supported systems.")
6451 (license license:bsd-3)))
6452
6453(define-public ghc-json
6454 (package
6455 (name "ghc-json")
0ad3d574 6456 (version "0.9.3")
dddbc90c
RV
6457 (source
6458 (origin
6459 (method url-fetch)
6460 (uri (string-append "https://hackage.haskell.org/package/json/"
6461 "json-" version ".tar.gz"))
6462 (sha256
6463 (base32
0ad3d574 6464 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6465 (build-system haskell-build-system)
6466 (inputs
6467 `(("ghc-syb" ,ghc-syb)))
6468 (home-page "https://hackage.haskell.org/package/json")
6469 (synopsis "Serializes Haskell data to and from JSON")
6470 (description "This package provides a parser and pretty printer for
6471converting between Haskell values and JSON.
6472JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6473 (license license:bsd-3)))
6474
6475(define-public ghc-juicypixels
6476 (package
6477 (name "ghc-juicypixels")
b50b6004 6478 (version "3.3.4")
dddbc90c
RV
6479 (source (origin
6480 (method url-fetch)
6481 (uri (string-append "https://hackage.haskell.org/package/"
6482 "JuicyPixels/JuicyPixels-"
6483 version ".tar.gz"))
6484 (sha256
6485 (base32
b50b6004 6486 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6487 (build-system haskell-build-system)
6488 (inputs
6489 `(("ghc-zlib" ,ghc-zlib)
6490 ("ghc-vector" ,ghc-vector)
6491 ("ghc-primitive" ,ghc-primitive)
6492 ("ghc-mmap" ,ghc-mmap)))
6493 (home-page "https://github.com/Twinside/Juicy.Pixels")
6494 (synopsis "Picture loading and serialization library")
6495 (description
6496 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6497TIFF and GIF formats.")
6498 (license license:bsd-3)))
6499
6500(define-public ghc-kan-extensions
6501 (package
6502 (name "ghc-kan-extensions")
6503 (version "5.2")
6504 (source
6505 (origin
6506 (method url-fetch)
6507 (uri (string-append
6508 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6509 version
6510 ".tar.gz"))
6511 (sha256
6512 (base32
6513 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6514 (build-system haskell-build-system)
6515 (inputs
6516 `(("ghc-adjunctions" ,ghc-adjunctions)
6517 ("ghc-comonad" ,ghc-comonad)
6518 ("ghc-contravariant" ,ghc-contravariant)
6519 ("ghc-distributive" ,ghc-distributive)
6520 ("ghc-free" ,ghc-free)
6521 ("ghc-invariant" ,ghc-invariant)
6522 ("ghc-semigroupoids" ,ghc-semigroupoids)
6523 ("ghc-tagged" ,ghc-tagged)
6524 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6525 (home-page "https://github.com/ekmett/kan-extensions/")
6526 (synopsis "Kan extensions library")
6527 (description "This library provides Kan extensions, Kan lifts, various
6528forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6529 (license license:bsd-3)))
6530
6531(define-public ghc-language-c
6532 (package
6533 (name "ghc-language-c")
4e1cf651 6534 (version "0.8.3")
dddbc90c
RV
6535 (source
6536 (origin
6537 (method url-fetch)
6538 (uri (string-append "https://hackage.haskell.org/package/"
6539 "language-c/language-c-" version ".tar.gz"))
6540 (sha256
6541 (base32
4e1cf651 6542 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6543 (build-system haskell-build-system)
6544 (inputs `(("ghc-syb" ,ghc-syb)))
6545 (native-inputs
6546 `(("ghc-happy" ,ghc-happy)
6547 ("ghc-alex" ,ghc-alex)))
6548 (home-page "https://visq.github.io/language-c/")
6549 (synopsis "Analysis and generation of C code")
6550 (description
6551 "Language C is a Haskell library for the analysis and generation of C code.
6552It features a complete, well-tested parser and pretty printer for all of C99
6553and a large set of GNU extensions.")
6554 (license license:bsd-3)))
6555
6556(define-public ghc-language-glsl
6557 (package
6558 (name "ghc-language-glsl")
6559 (version "0.3.0")
6560 (source
6561 (origin
6562 (method url-fetch)
6563 (uri (string-append "https://hackage.haskell.org/package/"
6564 "language-glsl/language-glsl-" version ".tar.gz"))
6565 (sha256
6566 (base32
6567 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6568 (build-system haskell-build-system)
6569 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6570 (arguments
6571 `(#:tests? #f
6572 #:cabal-revision
6573 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6574 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6575 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6576 (description "This package is a Haskell library for the
6577representation, parsing, and pretty-printing of GLSL 1.50 code.")
6578 (license license:bsd-3)))
6579
6580(define-public ghc-language-haskell-extract
6581 (package
6582 (name "ghc-language-haskell-extract")
6583 (version "0.2.4")
6584 (source
6585 (origin
6586 (method url-fetch)
6587 (uri (string-append "https://hackage.haskell.org/package/"
6588 "language-haskell-extract-" version "/"
6589 "language-haskell-extract-" version ".tar.gz"))
6590 (sha256
6591 (base32
6592 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6593 (build-system haskell-build-system)
6594 (inputs
6595 `(("ghc-regex-posix" ,ghc-regex-posix)))
6596 (home-page "https://github.com/finnsson/template-helper")
6597 (synopsis "Haskell module to automatically extract functions from
6598the local code")
6599 (description "This package contains helper functions on top of
6600Template Haskell.
6601
6602For example, @code{functionExtractor} extracts all functions after a
6603regexp-pattern, which can be useful if you wish to extract all functions
6604beginning with @code{test} (for a test framework) or all functions beginning
6605with @code{wc} (for a web service).")
6606 (license license:bsd-3)))
6607
6608(define-public ghc-lens
6609 (package
6610 (name "ghc-lens")
262e6323 6611 (version "4.17.1")
dddbc90c
RV
6612 (source
6613 (origin
6614 (method url-fetch)
6615 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6616 version ".tar.gz"))
6617 (sha256
6618 (base32
262e6323 6619 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6620 (build-system haskell-build-system)
dddbc90c
RV
6621 (inputs
6622 `(("ghc-base-orphans" ,ghc-base-orphans)
6623 ("ghc-bifunctors" ,ghc-bifunctors)
6624 ("ghc-distributive" ,ghc-distributive)
6625 ("ghc-exceptions" ,ghc-exceptions)
6626 ("ghc-free" ,ghc-free)
6627 ("ghc-kan-extensions" ,ghc-kan-extensions)
6628 ("ghc-parallel" ,ghc-parallel)
6629 ("ghc-reflection" ,ghc-reflection)
6630 ("ghc-semigroupoids" ,ghc-semigroupoids)
6631 ("ghc-vector" ,ghc-vector)
6632 ("ghc-call-stack" ,ghc-call-stack)
6633 ("ghc-comonad" ,ghc-comonad)
6634 ("ghc-contravariant" ,ghc-contravariant)
6635 ("ghc-hashable" ,ghc-hashable)
6636 ("ghc-profunctors" ,ghc-profunctors)
6637 ("ghc-semigroups" ,ghc-semigroups)
6638 ("ghc-tagged" ,ghc-tagged)
6639 ("ghc-transformers-compat" ,ghc-transformers-compat)
6640 ("ghc-unordered-containers" ,ghc-unordered-containers)
6641 ("ghc-void" ,ghc-void)
6642 ("ghc-generic-deriving" ,ghc-generic-deriving)
6643 ("ghc-nats" ,ghc-nats)
6644 ("ghc-simple-reflect" ,ghc-simple-reflect)
6645 ("hlint" ,hlint)))
6646 (native-inputs
6647 `(("cabal-doctest" ,cabal-doctest)
6648 ("ghc-doctest" ,ghc-doctest)
6649 ("ghc-hunit" ,ghc-hunit)
6650 ("ghc-test-framework" ,ghc-test-framework)
6651 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6652 ("ghc-test-framework-th" ,ghc-test-framework-th)
6653 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6654 ("ghc-quickcheck" ,ghc-quickcheck)))
6655 (home-page "https://github.com/ekmett/lens/")
6656 (synopsis "Lenses, Folds and Traversals")
6657 (description "This library provides @code{Control.Lens}. The combinators
6658in @code{Control.Lens} provide a highly generic toolbox for composing families
6659of getters, folds, isomorphisms, traversals, setters and lenses and their
6660indexed variants.")
6661 (license license:bsd-3)))
6662
6663(define-public ghc-libffi
6664 (package
6665 (name "ghc-libffi")
6666 (version "0.1")
6667 (source
6668 (origin
6669 (method url-fetch)
6670 (uri (string-append "https://hackage.haskell.org/package/"
6671 "libffi/libffi-" version ".tar.gz"))
6672 (sha256
6673 (base32
6674 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6675 (build-system haskell-build-system)
6676 (native-inputs `(("pkg-config" ,pkg-config)))
6677 (inputs `(("libffi" ,libffi)))
3ef91e15 6678 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6679 (synopsis "Haskell binding to libffi")
6680 (description
6681 "A binding to libffi, allowing C functions of types only known at runtime
6682to be called from Haskell.")
6683 (license license:bsd-3)))
6684
6685(define-public ghc-libmpd
6686 (package
6687 (name "ghc-libmpd")
bbf9845f 6688 (version "0.9.0.10")
dddbc90c
RV
6689 (source
6690 (origin
6691 (method url-fetch)
6692 (uri (string-append
6693 "mirror://hackage/package/libmpd/libmpd-"
6694 version
6695 ".tar.gz"))
6696 (sha256
6697 (base32
bbf9845f 6698 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6699 (build-system haskell-build-system)
6700 ;; Tests fail on i686.
6701 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6702 (arguments `(#:tests? #f))
6703 (inputs
6704 `(("ghc-attoparsec" ,ghc-attoparsec)
6705 ("ghc-old-locale" ,ghc-old-locale)
6706 ("ghc-data-default-class" ,ghc-data-default-class)
6707 ("ghc-network" ,ghc-network)
bbf9845f 6708 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6709 ("ghc-utf8-string" ,ghc-utf8-string)))
6710 (native-inputs
6711 `(("ghc-quickcheck" ,ghc-quickcheck)
6712 ("ghc-hspec" ,ghc-hspec)
6713 ("hspec-discover" ,hspec-discover)))
6714 (home-page "https://github.com/vimus/libmpd-haskell")
6715 (synopsis "Haskell client library for the Music Player Daemon")
6716 (description "This package provides a pure Haskell client library for the
6717Music Player Daemon.")
6718 (license license:expat)))
6719
e34df1c3
TS
6720(define-public ghc-lib-parser
6721 (package
6722 (name "ghc-lib-parser")
6723 (version "8.8.0.20190424")
6724 (source
6725 (origin
6726 (method url-fetch)
6727 (uri (string-append "https://hackage.haskell.org/package/"
6728 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6729 (sha256
6730 (base32
6731 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6732 (build-system haskell-build-system)
6733 (native-inputs
6734 `(("ghc-alex" ,ghc-alex)
6735 ("ghc-happy" ,ghc-happy)))
6736 (home-page "https://github.com/digital-asset/ghc-lib")
6737 (synopsis "The GHC API, decoupled from GHC versions")
6738 (description "This library implements the GHC API. It is like the
6739compiler-provided @code{ghc} package, but it can be loaded on many
6740compiler versions.")
6741 (license license:bsd-3)))
6742
dddbc90c
RV
6743(define-public ghc-libxml
6744 (package
6745 (name "ghc-libxml")
6746 (version "0.1.1")
6747 (source
6748 (origin
6749 (method url-fetch)
6750 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6751 "libxml-" version ".tar.gz"))
6752 (sha256
6753 (base32
6754 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6755 (build-system haskell-build-system)
6756 (inputs
6757 `(("libxml2" ,libxml2)))
6758 (arguments
6759 `(#:configure-flags
6760 `(,(string-append "--extra-include-dirs="
6761 (assoc-ref %build-inputs "libxml2")
6762 "/include/libxml2"))))
6763 (home-page "https://hackage.haskell.org/package/libxml")
6764 (synopsis "Haskell bindings to libxml2")
6765 (description
6766 "This library provides minimal Haskell binding to libxml2.")
6767 (license license:bsd-3)))
6768
0c2d6fc2
TS
6769(define-public ghc-libyaml
6770 (package
6771 (name "ghc-libyaml")
6772 (version "0.1.1.0")
6773 (source
6774 (origin
6775 (method url-fetch)
6776 (uri (string-append "https://hackage.haskell.org/package/"
6777 "libyaml/libyaml-" version ".tar.gz"))
6778 (sha256
6779 (base32
6780 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6781 (modules '((guix build utils)))
6782 (snippet
6783 ;; Delete bundled LibYAML.
6784 '(begin
6785 (delete-file-recursively "libyaml_src")
6786 #t))))
6787 (build-system haskell-build-system)
6788 (arguments
6789 `(#:configure-flags `("--flags=system-libyaml")))
6790 (inputs
6791 `(("ghc-conduit" ,ghc-conduit)
6792 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6793 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6794 (home-page "https://github.com/snoyberg/yaml#readme")
6795 (synopsis "Low-level, streaming YAML interface.")
6796 (description "This package provides a Haskell wrapper over the
6797LibYAML C library.")
6798 (license license:bsd-3)))
6799
dddbc90c
RV
6800(define-public ghc-lifted-async
6801 (package
6802 (name "ghc-lifted-async")
b5b6d7ea 6803 (version "0.10.0.4")
dddbc90c
RV
6804 (source
6805 (origin
6806 (method url-fetch)
6807 (uri (string-append
6808 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6809 version ".tar.gz"))
6810 (sha256
6811 (base32
b5b6d7ea 6812 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6813 (build-system haskell-build-system)
6814 (inputs
6815 `(("ghc-async" ,ghc-async)
6816 ("ghc-lifted-base" ,ghc-lifted-base)
6817 ("ghc-transformers-base" ,ghc-transformers-base)
6818 ("ghc-monad-control" ,ghc-monad-control)
6819 ("ghc-constraints" ,ghc-constraints)
6820 ("ghc-hunit" ,ghc-hunit)
6821 ("ghc-tasty" ,ghc-tasty)
6822 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6823 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6824 ("ghc-tasty-th" ,ghc-tasty-th)))
6825 (home-page "https://github.com/maoe/lifted-async")
6826 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6827 (description
6828 "This package provides IO operations from @code{async} package lifted to any
6829instance of @code{MonadBase} or @code{MonadBaseControl}.")
6830 (license license:bsd-3)))
6831
6832(define-public ghc-lifted-base
6833 (package
6834 (name "ghc-lifted-base")
6835 (version "0.2.3.12")
6836 (source
6837 (origin
6838 (method url-fetch)
6839 (uri (string-append
6840 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6841 version
6842 ".tar.gz"))
6843 (sha256
6844 (base32
6845 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6846 (build-system haskell-build-system)
6847 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6848 (inputs
6849 `(("ghc-transformers-base" ,ghc-transformers-base)
6850 ("ghc-monad-control" ,ghc-monad-control)
6851 ("ghc-transformers-compat" ,ghc-transformers-compat)
6852 ("ghc-hunit" ,ghc-hunit)))
6853 (home-page "https://github.com/basvandijk/lifted-base")
6854 (synopsis "Lifted IO operations from the base library")
6855 (description "Lifted-base exports IO operations from the @code{base}
6856library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6857Note that not all modules from @code{base} are converted yet. The package
6858includes a copy of the @code{monad-peel} test suite written by Anders
6859Kaseorg.")
6860 (license license:bsd-3)))
6861
6862(define-public ghc-linear
6863 (package
6864 (name "ghc-linear")
86526f37 6865 (version "1.20.9")
dddbc90c
RV
6866 (source
6867 (origin
6868 (method url-fetch)
6869 (uri (string-append "https://hackage.haskell.org/package/linear/"
6870 "linear-" version ".tar.gz"))
6871 (sha256
6872 (base32
86526f37 6873 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6874 (build-system haskell-build-system)
6875 (inputs
6876 `(("ghc-adjunctions" ,ghc-adjunctions)
6877 ("ghc-base-orphans" ,ghc-base-orphans)
6878 ("ghc-bytes" ,ghc-bytes)
6879 ("ghc-cereal" ,ghc-cereal)
6880 ("ghc-distributive" ,ghc-distributive)
6881 ("ghc-hashable" ,ghc-hashable)
6882 ("ghc-lens" ,ghc-lens)
6883 ("ghc-reflection" ,ghc-reflection)
6884 ("ghc-semigroups" ,ghc-semigroups)
6885 ("ghc-semigroupoids" ,ghc-semigroupoids)
6886 ("ghc-tagged" ,ghc-tagged)
6887 ("ghc-transformers-compat" ,ghc-transformers-compat)
6888 ("ghc-unordered-containers" ,ghc-unordered-containers)
6889 ("ghc-vector" ,ghc-vector)
6890 ("ghc-void" ,ghc-void)))
6891 (native-inputs
6892 `(("cabal-doctest" ,cabal-doctest)
6893 ("ghc-doctest" ,ghc-doctest)
6894 ("ghc-simple-reflect" ,ghc-simple-reflect)
6895 ("ghc-test-framework" ,ghc-test-framework)
6896 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6897 ("ghc-hunit" ,ghc-hunit)))
6898 (home-page "http://github.com/ekmett/linear/")
6899 (synopsis "Linear algebra library for Haskell")
6900 (description
6901 "This package provides types and combinators for linear algebra on free
6902vector spaces.")
6903 (license license:bsd-3)))
1307e4c7
JS
6904
6905(define-public ghc-listlike
6906 (package
6907 (name "ghc-listlike")
6908 (version "4.6.2")
6909 (source
6910 (origin
6911 (method url-fetch)
6912 (uri
6913 (string-append
6914 "https://hackage.haskell.org/package/ListLike/ListLike-"
6915 version ".tar.gz"))
6916 (sha256
6917 (base32
6918 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6919 (build-system haskell-build-system)
6920 (inputs
6921 `(("ghc-vector" ,ghc-vector)
6922 ("ghc-dlist" ,ghc-dlist)
6923 ("ghc-fmlist" ,ghc-fmlist)
6924 ("ghc-hunit" ,ghc-hunit)
6925 ("ghc-quickcheck" ,ghc-quickcheck)
6926 ("ghc-random" ,ghc-random)
6927 ("ghc-utf8-string" ,ghc-utf8-string)))
6928 (home-page "https://github.com/JohnLato/listlike")
6929 (synopsis "Generic support for list-like structures")
6930 (description "The ListLike module provides a common interface to the
6931various Haskell types that are list-like. Predefined interfaces include
6932standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6933Custom types can easily be made ListLike instances as well.
6934
6935ListLike also provides for String-like types, such as String and
6936ByteString, for types that support input and output, and for types that
6937can handle infinite lists.")
6938 (license license:bsd-3)))
dddbc90c 6939
84436be0
J
6940(define-public ghc-llvm-hs-pure
6941 (package
6942 (name "ghc-llvm-hs-pure")
6943 (version "9.0.0")
6944 (source
6945 (origin
6946 (method url-fetch)
6947 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6948 "llvm-hs-pure-" version ".tar.gz"))
6949 (sha256
6950 (base32
6951 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6952 (build-system haskell-build-system)
6953 (inputs
6954 `(("ghc-attoparsec" ,ghc-attoparsec)
6955 ("ghc-fail" ,ghc-fail)
6956 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6957 (native-inputs
6958 `(("ghc-tasty" ,ghc-tasty)
6959 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6960 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6961 (home-page "https://github.com/llvm-hs/llvm-hs/")
6962 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6963 (description "llvm-hs-pure is a set of pure Haskell types and functions
6964for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6965LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6966llvm-hs-pure does not require LLVM to be available.")
6967 (license license:bsd-3)))
6968
e3ee8023
J
6969(define-public ghc-llvm-hs
6970 (package
6971 (name "ghc-llvm-hs")
6972 (version "9.0.1")
6973 (source
6974 (origin
6975 (method url-fetch)
6976 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6977 version ".tar.gz"))
6978 (sha256
6979 (base32
6980 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6981 (build-system haskell-build-system)
6982 (inputs
6983 `(("ghc-attoparsec" ,ghc-attoparsec)
6984 ("ghc-exceptions" ,ghc-exceptions)
6985 ("ghc-utf8-string" ,ghc-utf8-string)
6986 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6987 ("llvm" ,llvm-9)))
6988 (native-inputs
6989 `(("ghc-tasty" ,ghc-tasty)
6990 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6991 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6992 ("ghc-quickcheck" ,ghc-quickcheck)
6993 ("ghc-temporary" ,ghc-temporary)
6994 ("ghc-pretty-show" ,ghc-pretty-show)
6995 ("ghc-temporary" ,ghc-temporary)))
6996 (home-page "https://github.com/llvm-hs/llvm-hs/")
6997 (synopsis "General purpose LLVM bindings for Haskell")
6998 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6999current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7000IR, and so offers two advantages: it handles almost all of the stateful
7001complexities of using the LLVM API to build IR; and it supports moving IR not
7002only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7003into Haskell.")
7004 (license license:bsd-3)))
7005
dddbc90c
RV
7006(define-public ghc-logging-facade
7007 (package
7008 (name "ghc-logging-facade")
7009 (version "0.3.0")
7010 (source (origin
7011 (method url-fetch)
7012 (uri (string-append "https://hackage.haskell.org/package/"
7013 "logging-facade/logging-facade-"
7014 version ".tar.gz"))
7015 (sha256
7016 (base32
7017 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7018 (build-system haskell-build-system)
7019 (native-inputs
7020 `(("ghc-hspec" ,ghc-hspec)
7021 ("hspec-discover" ,hspec-discover)))
7022 (home-page "https://hackage.haskell.org/package/logging-facade")
7023 (synopsis "Simple logging abstraction that allows multiple back-ends")
7024 (description
7025 "This package provides a simple logging abstraction that allows multiple
7026back-ends.")
7027 (license license:expat)))
7028
7029(define-public ghc-logict
7030 (package
7031 (name "ghc-logict")
79d9326f 7032 (version "0.7.0.2")
dddbc90c
RV
7033 (source
7034 (origin
7035 (method url-fetch)
7036 (uri (string-append
7037 "https://hackage.haskell.org/package/logict/logict-"
7038 version
7039 ".tar.gz"))
7040 (sha256
7041 (base32
79d9326f 7042 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7043 (build-system haskell-build-system)
79d9326f
TS
7044 (native-inputs
7045 `(("ghc-tasty" ,ghc-tasty)
7046 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7047 (home-page "http://code.haskell.org/~dolio/")
7048 (synopsis "Backtracking logic-programming monad")
7049 (description "This library provides a continuation-based, backtracking,
7050logic programming monad. An adaptation of the two-continuation implementation
7051found in the paper \"Backtracking, Interleaving, and Terminating Monad
7052Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7053online}.")
7054 (license license:bsd-3)))
7055
7056(define-public ghc-lzma
7057 (package
7058 (name "ghc-lzma")
7059 (version "0.0.0.3")
7060 (source
7061 (origin
7062 (method url-fetch)
7063 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7064 "lzma-" version ".tar.gz"))
7065 (sha256
7066 (base32
7067 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7068 (build-system haskell-build-system)
7069 (arguments
7070 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7071 #:cabal-revision
7072 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7073 (native-inputs
7074 `(("ghc-hunit" ,ghc-hunit)
7075 ("ghc-quickcheck" ,ghc-quickcheck)
7076 ("ghc-tasty" ,ghc-tasty)
7077 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7078 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7079 (home-page "https://github.com/hvr/lzma")
7080 (synopsis "LZMA/XZ compression and decompression")
7081 (description
7082 "This package provides a pure interface for compressing and
7083decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7084monadic incremental interface is provided as well.")
7085 (license license:bsd-3)))
7086
7087(define-public ghc-lzma-conduit
7088 (package
7089 (name "ghc-lzma-conduit")
7090 (version "1.2.1")
7091 (source
7092 (origin
7093 (method url-fetch)
7094 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7095 "lzma-conduit-" version ".tar.gz"))
7096 (sha256
7097 (base32
7098 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7099 (build-system haskell-build-system)
7100 (inputs
7101 `(("ghc-conduit" ,ghc-conduit)
7102 ("ghc-lzma" ,ghc-lzma)
7103 ("ghc-resourcet" ,ghc-resourcet)))
7104 (native-inputs
7105 `(("ghc-base-compat" ,ghc-base-compat)
7106 ("ghc-test-framework" ,ghc-test-framework)
7107 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7108 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7109 ("ghc-hunit" ,ghc-hunit)
7110 ("ghc-quickcheck" ,ghc-quickcheck)))
7111 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7112 (synopsis "Conduit interface for lzma/xz compression")
7113 (description
7114 "This package provides a @code{Conduit} interface for the LZMA
7115compression algorithm used in the @code{.xz} file format.")
7116 (license license:bsd-3)))
7117
e405912c
KM
7118(define-public ghc-magic
7119 (package
7120 (name "ghc-magic")
7121 (version "1.1")
7122 (source
7123 (origin
7124 (method url-fetch)
7125 (uri (string-append
7126 "https://hackage.haskell.org/package/magic/magic-"
7127 version ".tar.gz"))
7128 (sha256
7129 (base32
7130 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7131 (build-system haskell-build-system)
3ef91e15 7132 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7133 (synopsis "Interface to C file/magic library")
7134 (description
7135 "This package provides a full-featured binding to the C libmagic library.
7136With it, you can determine the type of a file by examining its contents rather
7137than its name.")
7138 (license license:bsd-3)))
7139
dddbc90c
RV
7140(define-public ghc-markdown-unlit
7141 (package
7142 (name "ghc-markdown-unlit")
7143 (version "0.5.0")
7144 (source (origin
7145 (method url-fetch)
7146 (uri (string-append
7147 "mirror://hackage/package/markdown-unlit/"
7148 "markdown-unlit-" version ".tar.gz"))
7149 (sha256
7150 (base32
7151 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7152 (build-system haskell-build-system)
7153 (inputs
7154 `(("ghc-base-compat" ,ghc-base-compat)
7155 ("ghc-hspec" ,ghc-hspec)
7156 ("ghc-quickcheck" ,ghc-quickcheck)
7157 ("ghc-silently" ,ghc-silently)
7158 ("ghc-stringbuilder" ,ghc-stringbuilder)
7159 ("ghc-temporary" ,ghc-temporary)
7160 ("hspec-discover" ,hspec-discover)))
7161 (home-page "https://github.com/sol/markdown-unlit#readme")
7162 (synopsis "Literate Haskell support for Markdown")
7163 (description "This package allows you to have a README.md that at the
7164same time is a literate Haskell program.")
7165 (license license:expat)))
7166
7167(define-public ghc-math-functions
7168 (package
7169 (name "ghc-math-functions")
b45de2bf 7170 (version "0.3.3.0")
dddbc90c
RV
7171 (source
7172 (origin
7173 (method url-fetch)
7174 (uri (string-append "https://hackage.haskell.org/package/"
7175 "math-functions-" version "/"
7176 "math-functions-" version ".tar.gz"))
7177 (sha256
7178 (base32
b45de2bf 7179 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7180 (build-system haskell-build-system)
7181 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7182 (inputs
b45de2bf
TS
7183 `(("ghc-data-default-class" ,ghc-data-default-class)
7184 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7185 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7186 (native-inputs
7187 `(("ghc-hunit" ,ghc-hunit)
7188 ("ghc-quickcheck" ,ghc-quickcheck)
7189 ("ghc-erf" ,ghc-erf)
7190 ("ghc-test-framework" ,ghc-test-framework)
7191 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7192 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7193 (home-page "https://github.com/bos/math-functions")
7194 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7195 (description "This Haskell library provides implementations of
7196special mathematical functions and Chebyshev polynomials. These
7197functions are often useful in statistical and numerical computing.")
7198 (license license:bsd-3)))
7199
7200(define-public ghc-megaparsec
7201 (package
7202 (name "ghc-megaparsec")
03b0c92e 7203 (version "7.0.5")
dddbc90c
RV
7204 (source
7205 (origin
7206 (method url-fetch)
7207 (uri (string-append "https://hackage.haskell.org/package/"
7208 "megaparsec/megaparsec-"
7209 version ".tar.gz"))
7210 (sha256
7211 (base32
03b0c92e 7212 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7213 (build-system haskell-build-system)
dddbc90c
RV
7214 (inputs
7215 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7216 ("ghc-parser-combinators" ,ghc-parser-combinators)
7217 ("ghc-scientific" ,ghc-scientific)))
7218 (native-inputs
7219 `(("ghc-quickcheck" ,ghc-quickcheck)
7220 ("ghc-hspec" ,ghc-hspec)
7221 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7222 ("hspec-discover" ,hspec-discover)))
7223 (home-page "https://github.com/mrkkrp/megaparsec")
7224 (synopsis "Monadic parser combinators")
7225 (description
7226 "This is an industrial-strength monadic parser combinator library.
7227Megaparsec is a feature-rich package that strikes a nice balance between
7228speed, flexibility, and quality of parse errors.")
7229 (license license:bsd-2)))
7230
7231(define-public ghc-memory
7232 (package
7233 (name "ghc-memory")
d2c7d336 7234 (version "0.14.18")
dddbc90c
RV
7235 (source (origin
7236 (method url-fetch)
7237 (uri (string-append "https://hackage.haskell.org/package/"
7238 "memory/memory-" version ".tar.gz"))
7239 (sha256
7240 (base32
d2c7d336 7241 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7242 (build-system haskell-build-system)
7243 (inputs
7244 `(("ghc-basement" ,ghc-basement)
7245 ("ghc-foundation" ,ghc-foundation)))
7246 (native-inputs
7247 `(("ghc-tasty" ,ghc-tasty)
7248 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7249 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7250 (home-page "https://github.com/vincenthz/hs-memory")
7251 (synopsis "Memory abstractions for Haskell")
7252 (description
7253 "This package provides memory abstractions, such as chunk of memory,
7254polymorphic byte array management and manipulation functions. It contains a
7255polymorphic byte array abstraction and functions similar to strict ByteString,
7256different type of byte array abstraction, raw memory IO operations (memory
7257set, memory copy, ..) and more")
7258 (license license:bsd-3)))
7259
7260(define-public ghc-memotrie
7261 (package
7262 (name "ghc-memotrie")
7263 (version "0.6.9")
7264 (source
7265 (origin
7266 (method url-fetch)
7267 (uri (string-append
7268 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7269 version
7270 ".tar.gz"))
7271 (sha256
7272 (base32
7273 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7274 (build-system haskell-build-system)
7275 (inputs
7276 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7277 (home-page "https://github.com/conal/MemoTrie")
7278 (synopsis "Trie-based memo functions")
7279 (description "This package provides a functional library for creating
7280efficient memo functions using tries.")
7281 (license license:bsd-3)))
7282
7283(define-public ghc-microlens
7284 (package
7285 (name "ghc-microlens")
82478c58 7286 (version "0.4.10")
dddbc90c
RV
7287 (source
7288 (origin
7289 (method url-fetch)
7290 (uri (string-append "https://hackage.haskell.org/package/"
7291 "microlens-" version "/"
7292 "microlens-" version ".tar.gz"))
7293 (sha256
7294 (base32
82478c58 7295 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7296 (build-system haskell-build-system)
7297 (home-page
7298 "https://github.com/aelve/microlens")
7299 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7300 (description "This Haskell package provides a lens library, just like
7301@code{ghc-lens}, but smaller. It provides essential lenses and
7302traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7303nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7304combinators (like @code{failing} and @code{singular}), but everything else is
7305stripped. As the result, this package has no dependencies.")
7306 (license license:bsd-3)))
7307
1cd3333e
TS
7308(define-public ghc-microlens-aeson
7309 (package
7310 (name "ghc-microlens-aeson")
7311 (version "2.3.0.4")
7312 (source
7313 (origin
7314 (method url-fetch)
7315 (uri (string-append "https://hackage.haskell.org/package/"
7316 "microlens-aeson/microlens-aeson-"
7317 version ".tar.gz"))
b4a00fec 7318 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7319 (sha256
7320 (base32
7321 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7322 (build-system haskell-build-system)
7323 (inputs
7324 `(("ghc-aeson" ,ghc-aeson)
7325 ("ghc-attoparsec" ,ghc-attoparsec)
7326 ("ghc-hashable" ,ghc-hashable)
7327 ("ghc-microlens" ,ghc-microlens)
7328 ("ghc-scientific" ,ghc-scientific)
7329 ("ghc-unordered-containers" ,ghc-unordered-containers)
7330 ("ghc-vector" ,ghc-vector)))
7331 (native-inputs
7332 `(("ghc-tasty" ,ghc-tasty)
7333 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7334 (home-page "https://github.com/fosskers/microlens-aeson")
7335 (synopsis "Law-abiding lenses for Aeson, using microlens")
7336 (description "This library provides law-abiding lenses for Aeson, using
7337microlens.")
7338 (license license:expat)))
7339
dddbc90c
RV
7340(define-public ghc-microlens-ghc
7341 (package
7342 (name "ghc-microlens-ghc")
027beb55 7343 (version "0.4.10")
dddbc90c
RV
7344 (source
7345 (origin
7346 (method url-fetch)
7347 (uri (string-append
7348 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7349 version
7350 ".tar.gz"))
7351 (sha256
7352 (base32
027beb55 7353 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7354 (build-system haskell-build-system)
7355 (inputs `(("ghc-microlens" ,ghc-microlens)))
7356 (home-page "https://github.com/monadfix/microlens")
7357 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7358 (description "This library provides everything that @code{microlens}
7359provides plus instances to make @code{each}, @code{at}, and @code{ix}
7360usable with arrays, @code{ByteString}, and containers. This package is
7361a part of the @uref{http://hackage.haskell.org/package/microlens,
7362microlens} family; see the readme
7363@uref{https://github.com/aelve/microlens#readme, on Github}.")
7364 (license license:bsd-3)))
7365
7366(define-public ghc-microlens-mtl
7367 (package
7368 (name "ghc-microlens-mtl")
7369 (version "0.1.11.1")
7370 (source
7371 (origin
7372 (method url-fetch)
7373 (uri (string-append
7374 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7375 version
7376 ".tar.gz"))
7377 (sha256
7378 (base32
7379 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7380 (build-system haskell-build-system)
7381 (inputs
7382 `(("ghc-microlens" ,ghc-microlens)
7383 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7384 (home-page "https://github.com/monadfix/microlens")
7385 (synopsis
7386 "@code{microlens} support for Reader/Writer/State from mtl")
7387 (description
7388 "This package contains functions (like @code{view} or @code{+=}) which
7389work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7390mtl package. This package is a part of the
7391@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7392readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7393 (license license:bsd-3)))
7394
7395(define-public ghc-microlens-platform
7396 (package
7397 (name "ghc-microlens-platform")
85decc1f 7398 (version "0.3.11")
dddbc90c
RV
7399 (source
7400 (origin
7401 (method url-fetch)
7402 (uri (string-append
7403 "https://hackage.haskell.org/package/"
7404 "microlens-platform/microlens-platform-" version ".tar.gz"))
7405 (sha256
7406 (base32
85decc1f 7407 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7408 (build-system haskell-build-system)
7409 (inputs
7410 `(("ghc-hashable" ,ghc-hashable)
7411 ("ghc-microlens" ,ghc-microlens)
7412 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7413 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7414 ("ghc-microlens-th" ,ghc-microlens-th)
7415 ("ghc-unordered-containers" ,ghc-unordered-containers)
7416 ("ghc-vector" ,ghc-vector)))
7417 (home-page "https://github.com/monadfix/microlens")
7418 (synopsis "Feature-complete microlens")
7419 (description
7420 "This package exports a module which is the recommended starting point
7421for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7422you aren't trying to keep your dependencies minimal. By importing
7423@code{Lens.Micro.Platform} you get all functions and instances from
7424@uref{http://hackage.haskell.org/package/microlens, microlens},
7425@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7426@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7427@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7428well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7429minor and major versions of @code{microlens-platform} are incremented whenever
7430the minor and major versions of any other @code{microlens} package are
7431incremented, so you can depend on the exact version of
7432@code{microlens-platform} without specifying the version of @code{microlens}
7433you need. This package is a part of the
7434@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7435readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7436 (license license:bsd-3)))
7437
7438(define-public ghc-microlens-th
7439 (package
7440 (name "ghc-microlens-th")
7ae52867 7441 (version "0.4.2.3")
dddbc90c
RV
7442 (source
7443 (origin
7444 (method url-fetch)
7445 (uri (string-append "https://hackage.haskell.org/package/"
7446 "microlens-th-" version "/"
7447 "microlens-th-" version ".tar.gz"))
7448 (sha256
7449 (base32
7ae52867 7450 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7451 (build-system haskell-build-system)
7ae52867
TS
7452 (arguments
7453 `(#:cabal-revision
7454 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7455 (inputs `(("ghc-microlens" ,ghc-microlens)
7456 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7457 (home-page
7458 "https://github.com/aelve/microlens")
7459 (synopsis "Automatic generation of record lenses for
7460@code{ghc-microlens}")
7461 (description "This Haskell package lets you automatically generate lenses
7462for data types; code was extracted from the lens package, and therefore
7463generated lenses are fully compatible with ones generated by lens (and can be
7464used both from lens and microlens).")
7465 (license license:bsd-3)))
7466
7467(define-public ghc-missingh
7468 (package
7469 (name "ghc-missingh")
641207cb 7470 (version "1.4.1.0")
dddbc90c
RV
7471 (source
7472 (origin
7473 (method url-fetch)
7474 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7475 "MissingH-" version ".tar.gz"))
7476 (sha256
7477 (base32
641207cb 7478 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7479 (build-system haskell-build-system)
7480 ;; Tests require the unmaintained testpack package, which depends on the
7481 ;; outdated QuickCheck version 2.7, which can no longer be built with
7482 ;; recent versions of GHC and Haskell libraries.
7483 (arguments '(#:tests? #f))
7484 (inputs
7485 `(("ghc-network" ,ghc-network)
7486 ("ghc-hunit" ,ghc-hunit)
7487 ("ghc-regex-compat" ,ghc-regex-compat)
7488 ("ghc-hslogger" ,ghc-hslogger)
7489 ("ghc-random" ,ghc-random)
7490 ("ghc-old-time" ,ghc-old-time)
7491 ("ghc-old-locale" ,ghc-old-locale)))
7492 (native-inputs
7493 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7494 ("ghc-quickcheck" ,ghc-quickcheck)
7495 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7496 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7497 (synopsis "Large utility library")
7498 (description
7499 "MissingH is a library of all sorts of utility functions for Haskell
7500programmers. It is written in pure Haskell and thus should be extremely
7501portable and easy to use.")
7502 (license license:bsd-3)))
7503
7504(define-public ghc-mmap
7505 (package
7506 (name "ghc-mmap")
7507 (version "0.5.9")
7508 (source (origin
7509 (method url-fetch)
7510 (uri (string-append "https://hackage.haskell.org/package/"
7511 "mmap/mmap-" version ".tar.gz"))
7512 (sha256
7513 (base32
7514 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7515 (build-system haskell-build-system)
7516 (home-page "https://hackage.haskell.org/package/mmap")
7517 (synopsis "Memory mapped files for Haskell")
7518 (description
7519 "This library provides a wrapper to @code{mmap}, allowing files or
7520devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7521@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7522do on-demand loading.")
7523 (license license:bsd-3)))
7524
7525(define-public ghc-mmorph
7526 (package
7527 (name "ghc-mmorph")
e0389704 7528 (version "1.1.3")
dddbc90c
RV
7529 (source
7530 (origin
7531 (method url-fetch)
7532 (uri (string-append
7533 "https://hackage.haskell.org/package/mmorph/mmorph-"
7534 version
7535 ".tar.gz"))
7536 (sha256
7537 (base32
e0389704 7538 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7539 (build-system haskell-build-system)
7540 (inputs
7541 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7542 (home-page "https://hackage.haskell.org/package/mmorph")
7543 (synopsis "Monad morphisms")
7544 (description
7545 "This library provides monad morphism utilities, most commonly used for
7546manipulating monad transformer stacks.")
7547 (license license:bsd-3)))
7548
7549(define-public ghc-mockery
7550 (package
7551 (name "ghc-mockery")
7552 (version "0.3.5")
7553 (source (origin
7554 (method url-fetch)
7555 (uri (string-append "https://hackage.haskell.org/package/"
7556 "mockery/mockery-" version ".tar.gz"))
7557 (sha256
7558 (base32
7559 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7560 (build-system haskell-build-system)
7561 (inputs
7562 `(("ghc-temporary" ,ghc-temporary)
7563 ("ghc-logging-facade" ,ghc-logging-facade)
7564 ("ghc-base-compat" ,ghc-base-compat)))
7565 (native-inputs
7566 `(("ghc-hspec" ,ghc-hspec)
7567 ("hspec-discover" ,hspec-discover)))
7568 (home-page "https://hackage.haskell.org/package/mockery")
7569 (synopsis "Support functions for automated testing")
7570 (description
7571 "The mockery package provides support functions for automated testing.")
7572 (license license:expat)))
7573
7574(define-public ghc-monad-control
7575 (package
7576 (name "ghc-monad-control")
7577 (version "1.0.2.3")
7578 (source
7579 (origin
7580 (method url-fetch)
7581 (uri (string-append
7582 "https://hackage.haskell.org/package/monad-control"
7583 "/monad-control-" version ".tar.gz"))
7584 (sha256
7585 (base32
7586 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7587 (build-system haskell-build-system)
7588 (inputs
7589 `(("ghc-transformers-base" ,ghc-transformers-base)
7590 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7591 (home-page "https://github.com/basvandijk/monad-control")
7592 (synopsis "Monad transformers to lift control operations like exception
7593catching")
7594 (description "This package defines the type class @code{MonadBaseControl},
7595a subset of @code{MonadBase} into which generic control operations such as
7596@code{catch} can be lifted from @code{IO} or any other base monad.")
7597 (license license:bsd-3)))
7598
7599(define-public ghc-monad-logger
7600 (package
7601 (name "ghc-monad-logger")
26980aae 7602 (version "0.3.30")
dddbc90c
RV
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append "https://hackage.haskell.org/package/"
7607 "monad-logger-" version "/"
7608 "monad-logger-" version ".tar.gz"))
7609 (sha256
7610 (base32
26980aae 7611 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7612 (build-system haskell-build-system)
7613 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7614 ("ghc-stm-chans" ,ghc-stm-chans)
7615 ("ghc-lifted-base" ,ghc-lifted-base)
7616 ("ghc-resourcet" ,ghc-resourcet)
7617 ("ghc-conduit" ,ghc-conduit)
7618 ("ghc-conduit-extra" ,ghc-conduit-extra)
7619 ("ghc-fast-logger" ,ghc-fast-logger)
7620 ("ghc-transformers-base" ,ghc-transformers-base)
7621 ("ghc-monad-control" ,ghc-monad-control)
7622 ("ghc-monad-loops" ,ghc-monad-loops)
7623 ("ghc-blaze-builder" ,ghc-blaze-builder)
7624 ("ghc-exceptions" ,ghc-exceptions)))
7625 (home-page "https://github.com/kazu-yamamoto/logger")
7626 (synopsis "Provides a class of monads which can log messages for Haskell")
7627 (description "This Haskell package uses a monad transformer approach
7628for logging.
7629
7630This package provides Template Haskell functions for determining source
7631code locations of messages.")
7632 (license license:expat)))
7633
7634(define-public ghc-monad-loops
7635 (package
7636 (name "ghc-monad-loops")
7637 (version "0.4.3")
7638 (source
7639 (origin
7640 (method url-fetch)
7641 (uri (string-append "https://hackage.haskell.org/package/"
7642 "monad-loops-" version "/"
7643 "monad-loops-" version ".tar.gz"))
7644 (sha256
7645 (base32
7646 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7647 (build-system haskell-build-system)
7648 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7649 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7650 (home-page "https://github.com/mokus0/monad-loops")
7651 (synopsis "Monadic loops for Haskell")
7652 (description "This Haskell package provides some useful control
7653operators for looping.")
7654 (license license:public-domain)))
7655
7656(define-public ghc-monad-par
7657 (package
7658 (name "ghc-monad-par")
7659 (version "0.3.4.8")
7660 (source
7661 (origin
7662 (method url-fetch)
7663 (uri (string-append "https://hackage.haskell.org/package/"
7664 "monad-par-" version "/"
7665 "monad-par-" version ".tar.gz"))
faac56f3 7666 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7667 (sha256
7668 (base32
7669 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7670 (build-system haskell-build-system)
7671 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7672 ("ghc-abstract-deque" ,ghc-abstract-deque)
7673 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7674 ("ghc-mwc-random" ,ghc-mwc-random)
7675 ("ghc-parallel" ,ghc-parallel)))
7676 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7677 ("ghc-hunit" ,ghc-hunit)
7678 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7679 ("ghc-test-framework-quickcheck2"
7680 ,ghc-test-framework-quickcheck2)
7681 ("ghc-test-framework" ,ghc-test-framework)
7682 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7683 (home-page "https://github.com/simonmar/monad-par")
7684 (synopsis "Haskell library for parallel programming based on a monad")
7685 (description "The @code{Par} monad offers an API for parallel
7686programming. The library works for parallelising both pure and @code{IO}
7687computations, although only the pure version is deterministic. The default
7688implementation provides a work-stealing scheduler and supports forking tasks
7689that are much lighter weight than IO-threads.")
7690 (license license:bsd-3)))
7691
7692(define-public ghc-monad-par-extras
7693 (package
7694 (name "ghc-monad-par-extras")
7695 (version "0.3.3")
7696 (source
7697 (origin
7698 (method url-fetch)
7699 (uri (string-append "https://hackage.haskell.org/package/"
7700 "monad-par-extras-" version "/"
7701 "monad-par-extras-" version ".tar.gz"))
7702 (sha256
7703 (base32
7704 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7705 (build-system haskell-build-system)
7706 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7707 ("ghc-cereal" ,ghc-cereal)
7708 ("ghc-random" ,ghc-random)))
7709 (home-page "https://github.com/simonmar/monad-par")
7710 (synopsis "Combinators and extra features for Par monads for Haskell")
7711 (description "This Haskell package provides additional data structures,
7712and other added capabilities layered on top of the @code{Par} monad.")
7713 (license license:bsd-3)))
7714
dddbc90c
RV
7715(define-public ghc-monadrandom
7716 (package
7717 (name "ghc-monadrandom")
7718 (version "0.5.1.1")
7719 (source
7720 (origin
7721 (method url-fetch)
7722 (uri (string-append "https://hackage.haskell.org/package/"
7723 "MonadRandom-" version "/"
7724 "MonadRandom-" version ".tar.gz"))
7725 (sha256
7726 (base32
7727 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7728 (build-system haskell-build-system)
7729 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7730 ("ghc-primitive" ,ghc-primitive)
7731 ("ghc-fail" ,ghc-fail)
7732 ("ghc-random" ,ghc-random)))
7733 (home-page "https://github.com/byorgey/MonadRandom")
7734 (synopsis "Random-number generation monad for Haskell")
7735 (description "This Haskell package provides support for computations
7736which consume random values.")
7737 (license license:bsd-3)))
7738
7739(define-public ghc-monads-tf
7740 (package
7741 (name "ghc-monads-tf")
7742 (version "0.1.0.3")
7743 (source
7744 (origin
7745 (method url-fetch)
7746 (uri (string-append
7747 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7748 version ".tar.gz"))
7749 (sha256
7750 (base32
7751 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7752 (build-system haskell-build-system)
7753 (home-page "https://hackage.haskell.org/package/monads-tf")
7754 (synopsis "Monad classes, using type families")
7755 (description
7756 "Monad classes using type families, with instances for various monad transformers,
7757inspired by the paper 'Functional Programming with Overloading and Higher-Order
7758Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7759the @code{mtl-tf} package.")
7760 (license license:bsd-3)))
7761
7762(define-public ghc-mono-traversable
7763 (package
7764 (name "ghc-mono-traversable")
23bb445b 7765 (version "1.0.13.0")
dddbc90c
RV
7766 (source
7767 (origin
7768 (method url-fetch)
7769 (uri (string-append "https://hackage.haskell.org/package/"
7770 "mono-traversable-" version "/"
7771 "mono-traversable-" version ".tar.gz"))
7772 (sha256
7773 (base32
23bb445b 7774 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7775 (build-system haskell-build-system)
7776 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7777 ("ghc-hashable" ,ghc-hashable)
7778 ("ghc-vector" ,ghc-vector)
7779 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7780 ("ghc-split" ,ghc-split)))
7781 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7782 ("ghc-hunit" ,ghc-hunit)
7783 ("ghc-quickcheck" ,ghc-quickcheck)
7784 ("ghc-semigroups" ,ghc-semigroups)
7785 ("ghc-foldl" ,ghc-foldl)))
7786 (home-page "https://github.com/snoyberg/mono-traversable")
7787 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7788containers")
7789 (description "This Haskell package provides Monomorphic variants of the
7790Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7791basic typeclasses, you understand mono-traversable. In addition to what
7792you are used to, it adds on an IsSequence typeclass and has code for marking
7793data structures as non-empty.")
7794 (license license:expat)))
7795
471e77cf
TS
7796(define-public ghc-monoid-extras
7797 (package
7798 (name "ghc-monoid-extras")
7799 (version "0.5.1")
7800 (source
7801 (origin
7802 (method url-fetch)
7803 (uri (string-append "https://hackage.haskell.org/package/"
7804 "monoid-extras/monoid-extras-" version ".tar.gz"))
7805 (sha256
7806 (base32
7807 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7808 (build-system haskell-build-system)
7809 (inputs
7810 `(("ghc-groups" ,ghc-groups)
7811 ("ghc-semigroups" ,ghc-semigroups)
7812 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7813 (arguments
7814 `(#:cabal-revision
7815 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7816 (home-page "https://hackage.haskell.org/package/monoid-extras")
7817 (synopsis "Various extra monoid-related definitions and utilities")
7818 (description "This package provides various extra monoid-related
7819definitions and utilities, such as monoid actions, monoid coproducts,
7820semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7821\"cut\" monoids.")
7822 (license license:bsd-3)))
7823
4759b617
JS
7824(define-public ghc-mtl-compat
7825 (package
7826 (name "ghc-mtl-compat")
7827 (version "0.2.2")
7828 (source
7829 (origin
7830 (method url-fetch)
7831 (uri (string-append
7832 "mirror://hackage/package/mtl-compat/mtl-compat-"
7833 version
7834 ".tar.gz"))
7835 (sha256
7836 (base32
7837 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7838 (build-system haskell-build-system)
7839 (home-page
7840 "https://github.com/haskell-compat/mtl-compat")
7841 (synopsis
7842 "Backported Control.Monad.Except module from mtl")
7843 (description
7844 "This package backports the Control.Monad.Except module from mtl (if
7845using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7846and the MonadError class.
7847
7848This package should only be used if there is a need to use the
7849Control.Monad.Except module specifically. If you just want the mtl class
7850instances for ExceptT, use transformers-compat instead, since mtl-compat does
7851nothing but reexport the instances from that package.
7852
7853Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7854module defined in this package exports all of ExceptT's monad class instances.
7855Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7856the top of your file to get all of the ExceptT instances in scope.")
7857 (license license:bsd-3)))
7858
dddbc90c
RV
7859(define-public ghc-murmur-hash
7860 (package
7861 (name "ghc-murmur-hash")
7862 (version "0.1.0.9")
7863 (source
7864 (origin
7865 (method url-fetch)
7866 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7867 "/murmur-hash-" version ".tar.gz"))
7868 (sha256
7869 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7870 (build-system haskell-build-system)
7871 (home-page "https://github.com/nominolo/murmur-hash")
7872 (synopsis "MurmurHash2 implementation for Haskell")
7873 (description
7874 "This package provides an implementation of MurmurHash2, a good, fast,
7875general-purpose, non-cryptographic hashing function. See
7876@url{https://sites.google.com/site/murmurhash/} for details. This
7877implementation is pure Haskell, so it might be a bit slower than a C FFI
7878binding.")
7879 (license license:bsd-3)))
7880
7881(define-public ghc-mwc-random
7882 (package
7883 (name "ghc-mwc-random")
33268e2c 7884 (version "0.14.0.0")
dddbc90c
RV
7885 (source
7886 (origin
7887 (method url-fetch)
7888 (uri (string-append "https://hackage.haskell.org/package/"
7889 "mwc-random-" version "/"
7890 "mwc-random-" version ".tar.gz"))
7891 (sha256
7892 (base32
33268e2c 7893 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7894 (build-system haskell-build-system)
7895 (inputs
7896 `(("ghc-primitive" ,ghc-primitive)
7897 ("ghc-vector" ,ghc-vector)
7898 ("ghc-math-functions" ,ghc-math-functions)))
7899 (arguments
7900 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7901 (native-inputs
7902 `(("ghc-hunit" ,ghc-hunit)
7903 ("ghc-quickcheck" ,ghc-quickcheck)
7904 ("ghc-test-framework" ,ghc-test-framework)
7905 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7906 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7907 (home-page "https://github.com/bos/mwc-random")
7908 (synopsis "Random number generation library for Haskell")
7909 (description "This Haskell package contains code for generating
7910high quality random numbers that follow either a uniform or normal
7911distribution. The generated numbers are suitable for use in
7912statistical applications.
7913
7914The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7915multiply-with-carry generator, which has a period of 2^{8222} and
7916fares well in tests of randomness. It is also extremely fast,
7917between 2 and 3 times faster than the Mersenne Twister.")
7918 (license license:bsd-3)))
7919
7920(define-public ghc-nats
7921 (package
7922 (name "ghc-nats")
7923 (version "1.1.2")
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri (string-append
7928 "https://hackage.haskell.org/package/nats/nats-"
7929 version
7930 ".tar.gz"))
7931 (sha256
7932 (base32
7933 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7934 (build-system haskell-build-system)
7935 (arguments `(#:haddock? #f))
7936 (inputs
7937 `(("ghc-hashable" ,ghc-hashable)))
7938 (home-page "https://hackage.haskell.org/package/nats")
7939 (synopsis "Natural numbers")
7940 (description "This library provides the natural numbers for Haskell.")
7941 (license license:bsd-3)))
7942
7943(define-public ghc-nats-bootstrap
7944 (package
7945 (inherit ghc-nats)
7946 (name "ghc-nats-bootstrap")
7947 (inputs
7948 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7949 (properties '((hidden? #t)))))
7950
52915062
EF
7951(define-public ghc-ncurses
7952 (package
7953 (name "ghc-ncurses")
7954 (version "0.2.16")
7955 (source
7956 (origin
7957 (method url-fetch)
7958 (uri (string-append
7959 "https://hackage.haskell.org/package/ncurses/ncurses-"
7960 version ".tar.gz"))
7961 (sha256
7962 (base32
7963 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7964 (build-system haskell-build-system)
7965 (arguments
7966 '(#:phases
7967 (modify-phases %standard-phases
7968 (add-before 'build 'fix-includes
7969 (lambda _
7970 (substitute* '("cbits/hsncurses-shim.h"
7971 "lib/UI/NCurses.chs"
7972 "lib/UI/NCurses/Enums.chs"
7973 "lib/UI/NCurses/Panel.chs")
7974 (("<ncursesw/") "<"))
7975 #t)))
7976 #:cabal-revision
7977 ("1"
7978 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7979 (inputs `(("ncurses" ,ncurses)))
7980 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7981 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7982 (synopsis "Modernised bindings to GNU ncurses")
7983 (description "GNU ncurses is a library for creating command-line application
7984with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7985ncurses.")
7986 (license license:gpl3)))
7987
dddbc90c
RV
7988(define-public ghc-network
7989 (package
7990 (name "ghc-network")
d4473202 7991 (version "2.8.0.1")
dddbc90c
RV
7992 (outputs '("out" "doc"))
7993 (source
7994 (origin
7995 (method url-fetch)
7996 (uri (string-append
7997 "https://hackage.haskell.org/package/network/network-"
7998 version
7999 ".tar.gz"))
8000 (sha256
8001 (base32
d4473202 8002 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8003 (build-system haskell-build-system)
8004 ;; The regression tests depend on an unpublished module.
8005 (arguments `(#:tests? #f))
8006 (native-inputs
8007 `(("ghc-hunit" ,ghc-hunit)
8008 ("ghc-doctest" ,ghc-doctest)
8009 ("ghc-test-framework" ,ghc-test-framework)
8010 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8011 (home-page "https://github.com/haskell/network")
8012 (synopsis "Low-level networking interface")
8013 (description
8014 "This package provides a low-level networking interface.")
8015 (license license:bsd-3)))
4780db2c 8016
30eebbe6
TS
8017(define-public ghc-network-bsd
8018 (package
8019 (name "ghc-network-bsd")
8020 (version "2.8.0.0")
8021 (source
8022 (origin
8023 (method url-fetch)
8024 (uri (string-append "https://hackage.haskell.org/package/"
8025 "network-bsd/network-bsd-" version ".tar.gz"))
8026 (sha256
8027 (base32
8028 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8029 (build-system haskell-build-system)
8030 (inputs
8031 `(("ghc-network" ,ghc-network)))
8032 (home-page "https://github.com/haskell/network-bsd")
8033 (synopsis "POSIX network database (<netdb.h>) API")
8034 (description "This package provides Haskell bindings to the the POSIX
8035network database (<netdb.h>) API.")
8036 (license license:bsd-3)))
8037
096781a1
TS
8038(define-public ghc-network-byte-order
8039 (package
8040 (name "ghc-network-byte-order")
8041 (version "0.1.1.1")
8042 (source
8043 (origin
8044 (method url-fetch)
8045 (uri (string-append "https://hackage.haskell.org/package/"
8046 "network-byte-order/network-byte-order-"
8047 version ".tar.gz"))
8048 (sha256
8049 (base32
8050 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8051 (build-system haskell-build-system)
8052 (native-inputs
8053 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8054 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8055 (synopsis "Network byte order utilities")
8056 (description "This library provides peek and poke functions for network
8057byte order.")
8058 (license license:bsd-3)))
8059
dddbc90c
RV
8060(define-public ghc-network-info
8061 (package
8062 (name "ghc-network-info")
8063 (version "0.2.0.10")
8064 (source
8065 (origin
8066 (method url-fetch)
8067 (uri (string-append "https://hackage.haskell.org/package/"
8068 "network-info-" version "/"
8069 "network-info-" version ".tar.gz"))
8070 (sha256
8071 (base32
8072 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8073 (build-system haskell-build-system)
8074 (home-page "https://github.com/jystic/network-info")
8075 (synopsis "Access the local computer's basic network configuration")
8076 (description "This Haskell library provides simple read-only access to the
8077local computer's networking configuration. It is currently capable of
8078getting a list of all the network interfaces and their respective
8079IPv4, IPv6 and MAC addresses.")
8080 (license license:bsd-3)))
8081
8082(define-public ghc-network-uri
8083 (package
8084 (name "ghc-network-uri")
8085 (version "2.6.1.0")
8086 (outputs '("out" "doc"))
8087 (source
8088 (origin
8089 (method url-fetch)
8090 (uri (string-append
8091 "https://hackage.haskell.org/package/network-uri/network-uri-"
8092 version
8093 ".tar.gz"))
8094 (sha256
8095 (base32
8096 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8097 (build-system haskell-build-system)
8098 (arguments
8099 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8100 (inputs
8101 `(("ghc-network" ,ghc-network)))
8102 (native-inputs
8103 `(("ghc-hunit" ,ghc-hunit)))
8104 (home-page
8105 "https://github.com/haskell/network-uri")
8106 (synopsis "Library for URI manipulation")
8107 (description "This package provides an URI manipulation interface. In
8108@code{network-2.6} the @code{Network.URI} module was split off from the
8109@code{network} package into this package.")
8110 (license license:bsd-3)))
8111
8112(define-public ghc-newtype-generics
8113 (package
8114 (name "ghc-newtype-generics")
c07e16dd 8115 (version "0.5.4")
dddbc90c
RV
8116 (source
8117 (origin
8118 (method url-fetch)
8119 (uri (string-append "https://hackage.haskell.org/package/"
8120 "newtype-generics/newtype-generics-"
8121 version ".tar.gz"))
8122 (sha256
8123 (base32
c07e16dd 8124 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8125 (build-system haskell-build-system)
8126 (native-inputs
8127 `(("ghc-hspec" ,ghc-hspec)
8128 ("hspec-discover" ,hspec-discover)))
8129 (home-page "http://github.com/sjakobi/newtype-generics")
8130 (synopsis "Typeclass and set of functions for working with newtypes")
8131 (description "The @code{Newtype} typeclass represents the packing and
8132unpacking of a newtype, and allows you to operate under that newtype with
8133functions such as @code{ala}. Generics support was added in version 0.4,
8134making this package a full replacement for the original newtype package,
8135and an alternative to newtype-th.")
8136 (license license:bsd-3)))
8137
6b652f5a
JS
8138(define-public ghc-non-negative
8139 (package
8140 (name "ghc-non-negative")
8141 (version "0.1.2")
8142 (source
8143 (origin
8144 (method url-fetch)
8145 (uri
8146 (string-append
8147 "https://hackage.haskell.org/package/non-negative/non-negative-"
8148 version ".tar.gz"))
8149 (sha256
8150 (base32
8151 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8152 (build-system haskell-build-system)
8153 (inputs
8154 `(("ghc-semigroups" ,ghc-semigroups)
8155 ("ghc-utility-ht" ,ghc-utility-ht)
8156 ("ghc-quickcheck" ,ghc-quickcheck)))
8157 (home-page "https://hackage.haskell.org/package/non-negative")
8158 (synopsis "Non-negative numbers class")
8159 (description "This library provides a class for non-negative numbers,
8160a wrapper which can turn any ordered numeric type into a member of that
8161class, and a lazy number type for non-negative numbers (a generalization
8162of Peano numbers).")
8163 (license license:gpl3+)))
8164
49bcca84
ASM
8165(define-public ghc-nonce
8166 (package
8167 (name "ghc-nonce")
8168 (version "1.0.7")
8169 (source
8170 (origin
8171 (method url-fetch)
8172 (uri (string-append
8173 "https://hackage.haskell.org/package/nonce/"
8174 "nonce-" version ".tar.gz"))
8175 (sha256
8176 (base32
8177 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8178 (build-system haskell-build-system)
8179 (inputs
8180 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8181 ("ghc-entropy" ,ghc-entropy)
8182 ("ghc-unliftio" ,ghc-unliftio)
8183 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8184 (home-page "https://github.com/prowdsponsor/nonce")
8185 (synopsis "Generate cryptographic nonces in Haskell")
8186 (description
8187 "A nonce is an arbitrary number used only once in a cryptographic
8188communication. This package contain helper functions for generating nonces.
8189There are many kinds of nonces used in different situations. It's not
8190guaranteed that by using the nonces from this package you won't have any
8191security issues. Please make sure that the nonces generated via this
8192package are usable on your design.")
8193 (license license:bsd-3)))
8194
194a82e6
TS
8195(define-public ghc-numeric-extras
8196 (package
8197 (name "ghc-numeric-extras")
8198 (version "0.1")
8199 (source
8200 (origin
8201 (method url-fetch)
8202 (uri (string-append "https://hackage.haskell.org/package/"
8203 "numeric-extras/numeric-extras-"
8204 version ".tar.gz"))
8205 (sha256
8206 (base32
8207 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8208 (build-system haskell-build-system)
8209 (home-page "https://github.com/ekmett/numeric-extras")
8210 (synopsis "Useful tools from the C standard library")
8211 (description "This library provides some useful tools from the C
8212standard library.")
8213 (license license:bsd-3)))
8214
dddbc90c
RV
8215(define-public ghc-objectname
8216 (package
8217 (name "ghc-objectname")
8218 (version "1.1.0.1")
8219 (source
8220 (origin
8221 (method url-fetch)
8222 (uri (string-append
8223 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8224 version
8225 ".tar.gz"))
8226 (sha256
8227 (base32
8228 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8229 (build-system haskell-build-system)
8230 (home-page "https://hackage.haskell.org/package/ObjectName")
8231 (synopsis "Helper library for Haskell OpenGL")
8232 (description "This tiny package contains the class ObjectName, which
8233corresponds to the general notion of explicitly handled identifiers for API
8234objects, e.g. a texture object name in OpenGL or a buffer object name in
8235OpenAL.")
8236 (license license:bsd-3)))
8237
8238(define-public ghc-old-locale
8239 (package
8240 (name "ghc-old-locale")
8241 (version "1.0.0.7")
8242 (source
8243 (origin
8244 (method url-fetch)
8245 (uri (string-append
8246 "https://hackage.haskell.org/package/old-locale/old-locale-"
8247 version
8248 ".tar.gz"))
8249 (sha256
8250 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8251 (build-system haskell-build-system)
8252 (arguments
8253 `(#:cabal-revision
8254 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8255 (home-page "https://hackage.haskell.org/package/old-locale")
8256 (synopsis "Adapt to locale conventions")
8257 (description
8258 "This package provides the ability to adapt to locale conventions such as
8259date and time formats.")
8260 (license license:bsd-3)))
8261
8262(define-public ghc-old-time
8263 (package
8264 (name "ghc-old-time")
8265 (version "1.1.0.3")
8266 (source
8267 (origin
8268 (method url-fetch)
8269 (uri (string-append
8270 "https://hackage.haskell.org/package/old-time/old-time-"
8271 version
8272 ".tar.gz"))
8273 (sha256
8274 (base32
8275 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8276 (build-system haskell-build-system)
8277 (arguments
8278 `(#:cabal-revision
8279 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8280 (inputs
8281 `(("ghc-old-locale" ,ghc-old-locale)))
8282 (home-page "https://hackage.haskell.org/package/old-time")
8283 (synopsis "Time compatibility library for Haskell")
8284 (description "Old-time is a package for backwards compatibility with the
8285old @code{time} library. For new projects, the newer
8286@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8287 (license license:bsd-3)))
8288
8289(define-public ghc-opengl
8290 (package
8291 (name "ghc-opengl")
79a06910 8292 (version "3.0.3.0")
dddbc90c
RV
8293 (source
8294 (origin
8295 (method url-fetch)
8296 (uri (string-append
8297 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8298 version
8299 ".tar.gz"))
8300 (sha256
8301 (base32
79a06910 8302 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8303 (build-system haskell-build-system)
79a06910
TS
8304 (arguments
8305 `(#:cabal-revision
8306 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8307 (inputs
8308 `(("ghc-objectname" ,ghc-objectname)
8309 ("ghc-gluraw" ,ghc-gluraw)
8310 ("ghc-statevar" ,ghc-statevar)
8311 ("ghc-openglraw" ,ghc-openglraw)))
8312 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8313 (synopsis "Haskell bindings for the OpenGL graphics system")
8314 (description "This package provides Haskell bindings for the OpenGL
8315graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8316version 1.3).")
8317 (license license:bsd-3)))
8318
8319(define-public ghc-openglraw
8320 (package
8321 (name "ghc-openglraw")
15ebc815 8322 (version "3.3.3.0")
dddbc90c
RV
8323 (source
8324 (origin
8325 (method url-fetch)
8326 (uri (string-append
8327 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8328 version
8329 ".tar.gz"))
8330 (sha256
8331 (base32
15ebc815 8332 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8333 (build-system haskell-build-system)
8334 (inputs
8335 `(("ghc-half" ,ghc-half)
8336 ("ghc-fixed" ,ghc-fixed)
8337 ("glu" ,glu)))
8338 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8339 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8340 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8341graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8342of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8343offers access to all necessary functions, tokens and types plus a general
8344facility for loading extension entries. The module hierarchy closely mirrors
8345the naming structure of the OpenGL extensions, making it easy to find the
8346right module to import. All API entries are loaded dynamically, so no special
8347C header files are needed for building this package. If an API entry is not
8348found at runtime, a userError is thrown.")
8349 (license license:bsd-3)))
8350
8351(define-public ghc-operational
8352 (package
8353 (name "ghc-operational")
8354 (version "0.2.3.5")
8355 (source
8356 (origin
8357 (method url-fetch)
8358 (uri (string-append "https://hackage.haskell.org/package/operational/"
8359 "operational-" version ".tar.gz"))
8360 (sha256
8361 (base32
8362 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8363 (build-system haskell-build-system)
8364 (inputs
8365 `(("ghc-random" ,ghc-random)))
8366 (home-page "http://wiki.haskell.org/Operational")
8367 (synopsis "Implementation of difficult monads made easy with operational semantics")
8368 (description
8369 "This library makes it easy to implement monads with tricky control
8370flow. This is useful for: writing web applications in a sequential style,
8371programming games with a uniform interface for human and AI players and easy
8372replay capababilities, implementing fast parser monads, designing monadic
8373DSLs, etc.")
8374 (license license:bsd-3)))
8375
6f1477d2
JS
8376(define-public ghc-optional-args
8377 (package
8378 (name "ghc-optional-args")
8379 (version "1.0.2")
8380 (source
8381 (origin
8382 (method url-fetch)
8383 (uri (string-append
8384 "mirror://hackage/package/optional-args/optional-args-"
8385 version
8386 ".tar.gz"))
8387 (sha256
8388 (base32
8389 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8390 (build-system haskell-build-system)
8391 (home-page
8392 "http://hackage.haskell.org/package/optional-args")
8393 (synopsis "Optional function arguments")
8394 (description
8395 "This library provides a type for specifying @code{Optional} function
8396arguments.")
8397 (license license:bsd-3)))
8398
dddbc90c
RV
8399(define-public ghc-options
8400 (package
8401 (name "ghc-options")
8402 (version "1.2.1.1")
8403 (source
8404 (origin
8405 (method url-fetch)
8406 (uri (string-append
8407 "https://hackage.haskell.org/package/options/options-"
8408 version ".tar.gz"))
8409 (sha256
8410 (base32
8411 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8412 (build-system haskell-build-system)
24cf2a8b
TS
8413 (arguments
8414 `(#:phases
8415 (modify-phases %standard-phases
8416 (add-before 'configure 'update-constraints
8417 (lambda _
8418 (substitute* "options.cabal"
8419 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8420 #t)))))
dddbc90c
RV
8421 (inputs
8422 `(("ghc-monads-tf" ,ghc-monads-tf)
8423 ("ghc-chell" ,ghc-chell)
8424 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8425 (home-page "https://john-millikin.com/software/haskell-options/")
8426 (synopsis "Powerful and easy-to-use command-line option parser")
8427 (description
8428 "The @code{options} package lets library and application developers
8429easily work with command-line options.")
8430 (license license:expat)))
8431
8432;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8433(define ghc-options-bootstrap
8434 (package
8435 (name "ghc-options-bootstrap")
8436 (version "1.2.1.1")
8437 (source
8438 (origin
8439 (method url-fetch)
8440 (uri (string-append
8441 "https://hackage.haskell.org/package/options/options-"
8442 version ".tar.gz"))
8443 (sha256
8444 (base32
8445 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8446 (build-system haskell-build-system)
8447 (arguments
8448 `(#:tests? #f))
8449 (inputs
8450 `(("ghc-monads-tf" ,ghc-monads-tf)))
8451 (home-page "https://john-millikin.com/software/haskell-options/")
8452 (synopsis "Powerful and easy-to-use command-line option parser")
8453 (description
8454 "The @code{options} package lets library and application developers
8455easily work with command-line options.")
8456 (license license:expat)))
8457
8458
8459(define-public ghc-optparse-applicative
8460 (package
8461 (name "ghc-optparse-applicative")
74bf6965 8462 (version "0.14.3.0")
dddbc90c
RV
8463 (source
8464 (origin
8465 (method url-fetch)
8466 (uri (string-append
8467 "https://hackage.haskell.org/package/optparse-applicative"
8468 "/optparse-applicative-" version ".tar.gz"))
8469 (sha256
8470 (base32
74bf6965 8471 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8472 (build-system haskell-build-system)
74bf6965
TS
8473 (arguments
8474 `(#:cabal-revision
8475 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8476 (inputs
8477 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8478 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8479 (native-inputs
8480 `(("ghc-quickcheck" ,ghc-quickcheck)))
8481 (home-page "https://github.com/pcapriotti/optparse-applicative")
8482 (synopsis "Utilities and combinators for parsing command line options")
8483 (description "This package provides utilities and combinators for parsing
8484command line options in Haskell.")
8485 (license license:bsd-3)))
8486
d56c8120
NG
8487(define-public ghc-jira-wiki-markup
8488 (package
8489 (name "ghc-jira-wiki-markup")
8490 (version "1.0.0")
8491 (source
8492 (origin
8493 (method url-fetch)
8494 (uri (string-append
8495 "https://hackage.haskell.org/package/jira-wiki-markup/"
8496 "jira-wiki-markup-" version ".tar.gz"))
8497 (sha256
8498 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8499 (build-system haskell-build-system)
8500 (native-inputs
8501 `(("ghc-tasty" ,ghc-tasty)
8502 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8503 (home-page "https://github.com/tarleb/jira-wiki-markup")
8504 (synopsis "Handle Jira wiki markup")
8505 (description
8506 "Parse jira wiki text into an abstract syntax tree for easy transformation
8507to other formats.")
8508 (license license:expat)))
8509
20690771
NG
8510(define-public ghc-emojis
8511 (package
8512 (name "ghc-emojis")
8513 (version "0.1")
8514 (source
8515 (origin
8516 (method url-fetch)
8517 (uri (string-append
8518 "https://hackage.haskell.org/package/emojis/"
8519 "emojis-" version ".tar.gz"))
8520 (sha256
8521 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8522 (build-system haskell-build-system)
8523 (native-inputs
8524 `(("ghc-hunit" ,ghc-hunit)))
8525 (home-page "https://github.com/jgm/emojis#readme")
8526 (synopsis "Conversion between emoji characters and their names.")
8527 (description
8528 "This package provides functions for converting emoji names to emoji
8529characters and vice versa.
8530
8531How does it differ from the @code{emoji} package?
8532@itemize
8533@item It supports a fuller range of emojis, including all those supported by
8534GitHub
8535@item It supports lookup of emoji aliases from emoji
8536@item It uses Text rather than String
8537@item It has a lighter dependency footprint: in particular, it does not
8538require aeson
8539@item It does not require TemplateHaskell
8540@end itemize")
8541 (license license:bsd-3)))
8542
e90a06fc
NG
8543(define-public ghc-text-conversions
8544 (package
8545 (name "ghc-text-conversions")
8546 (version "0.3.0")
8547 (source
8548 (origin
8549 (method url-fetch)
8550 (uri (string-append
8551 "https://hackage.haskell.org/package/text-conversions/"
8552 "text-conversions-" version ".tar.gz"))
8553 (sha256
8554 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8555 (build-system haskell-build-system)
8556 (inputs
8557 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8558 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8559 ("ghc-errors" ,ghc-errors)))
8560 (native-inputs
8561 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8562 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8563 (home-page "https://github.com/cjdev/text-conversions#readme")
8564 (synopsis "Safe conversions between textual types")
8565 (description "Safe conversions between textual types")
8566 (license license:isc)))
8567
ba7cbae3
NG
8568(define-public ghc-doclayout
8569 (package
8570 (name "ghc-doclayout")
8571 (version "0.3")
8572 (source
8573 (origin
8574 (method url-fetch)
8575 (uri (string-append
8576 "https://hackage.haskell.org/package/doclayout/"
8577 "doclayout-" version ".tar.gz"))
8578 (sha256
8579 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8580 (build-system haskell-build-system)
8581 (inputs
8582 `(("ghc-safe" ,ghc-safe)))
8583 (native-inputs
8584 `(("ghc-tasty" ,ghc-tasty)
8585 ("ghc-tasty-golden" ,ghc-tasty-golden)
8586 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8587 (home-page "https://github.com/jgm/doclayout")
8588 (synopsis "Pretty-printing library for laying out text documents")
8589 (description
8590 "doclayout is a pretty-printing library for laying out text documents,
8591with several features not present in pretty-printing libraries designed for
8592code. It was designed for use in @code{Pandoc}.")
8593 (license license:bsd-3)))
8594
dddbc90c
RV
8595(define-public ghc-pandoc
8596 (package
8597 (name "ghc-pandoc")
d9b1567a 8598 (version "2.7.3")
dddbc90c
RV
8599 (source
8600 (origin
8601 (method url-fetch)
8602 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8603 version ".tar.gz"))
d9b1567a
TS
8604 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8605 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8606 (sha256
8607 (base32
d9b1567a 8608 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8609 (build-system haskell-build-system)
dddbc90c
RV
8610 (inputs
8611 `(("ghc-aeson" ,ghc-aeson)
8612 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8613 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8614 ("ghc-blaze-html" ,ghc-blaze-html)
8615 ("ghc-blaze-markup" ,ghc-blaze-markup)
8616 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8617 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8618 ("ghc-diff" ,ghc-diff)
8619 ("ghc-doctemplates" ,ghc-doctemplates)
8620 ("ghc-executable-path" ,ghc-executable-path)
8621 ("ghc-glob" ,ghc-glob)
8622 ("ghc-haddock-library" ,ghc-haddock-library)
8623 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8624 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8625 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8626 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8627 ("ghc-http" ,ghc-http)
8628 ("ghc-http-client" ,ghc-http-client)
8629 ("ghc-http-client-tls" ,ghc-http-client-tls)
8630 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8631 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8632 ("ghc-juicypixels" ,ghc-juicypixels)
8633 ("ghc-network" ,ghc-network)
8634 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8635 ("ghc-pandoc-types" ,ghc-pandoc-types)
8636 ("ghc-random" ,ghc-random)
8637 ("ghc-scientific" ,ghc-scientific)
8638 ("ghc-sha" ,ghc-sha)
8639 ("ghc-skylighting" ,ghc-skylighting)
8640 ("ghc-split" ,ghc-split)
8641 ("ghc-syb" ,ghc-syb)
8642 ("ghc-tagsoup" ,ghc-tagsoup)
8643 ("ghc-temporary" ,ghc-temporary)
8644 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8645 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8646 ("ghc-unordered-containers" ,ghc-unordered-containers)
8647 ("ghc-vector" ,ghc-vector)
8648 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8649 ("ghc-zip-archive" ,ghc-zip-archive)
8650 ("ghc-zlib" ,ghc-zlib)))
8651 (native-inputs
8652 `(("ghc-tasty" ,ghc-tasty)
8653 ("ghc-tasty-golden" ,ghc-tasty-golden)
8654 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8655 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8656 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8657 ("ghc-quickcheck" ,ghc-quickcheck)
8658 ("ghc-hunit" ,ghc-hunit)))
8659 (home-page "https://pandoc.org")
8660 (synopsis "Conversion between markup formats")
8661 (description
8662 "Pandoc is a Haskell library for converting from one markup format to
8663another, and a command-line tool that uses this library. It can read and
8664write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8665LaTeX, DocBook, and many more.
8666
8667Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8668definition lists, tables, and other features. A compatibility mode is
8669provided for those who need a drop-in replacement for Markdown.pl.")
8670 (license license:gpl2+)))
8671
8672(define-public ghc-pandoc-citeproc
8673 (package
8674 (name "ghc-pandoc-citeproc")
2da02d09 8675 (version "0.16.2")
dddbc90c
RV
8676 (source
8677 (origin
8678 (method url-fetch)
8679 (uri (string-append "https://hackage.haskell.org/package/"
8680 "pandoc-citeproc/pandoc-citeproc-"
8681 version ".tar.gz"))
8682 (sha256
8683 (base32
2da02d09 8684 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8685 (build-system haskell-build-system)
8686 (arguments
8687 `(#:phases
8688 (modify-phases %standard-phases
8689 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8690 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8691 (add-before 'configure 'patch-tests
8692 (lambda _
8693 (substitute* "tests/test-pandoc-citeproc.hs"
8694 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8695 "let allTests = citeprocTests"))))
8696 ;; Tests need to be run after installation.
8697 (delete 'check)
8698 (add-after 'install 'post-install-check
8699 (assoc-ref %standard-phases 'check)))))
8700 (inputs
8701 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8702 ("ghc-pandoc" ,ghc-pandoc)
8703 ("ghc-tagsoup" ,ghc-tagsoup)
8704 ("ghc-aeson" ,ghc-aeson)
8705 ("ghc-vector" ,ghc-vector)
8706 ("ghc-xml-conduit" ,ghc-xml-conduit)
8707 ("ghc-unordered-containers" ,ghc-unordered-containers)
8708 ("ghc-data-default" ,ghc-data-default)
8709 ("ghc-setenv" ,ghc-setenv)
8710 ("ghc-split" ,ghc-split)
8711 ("ghc-yaml" ,ghc-yaml)
8712 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8713 ("ghc-rfc5051" ,ghc-rfc5051)
8714 ("ghc-syb" ,ghc-syb)
8715 ("ghc-old-locale" ,ghc-old-locale)
8716 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8717 ("ghc-attoparsec" ,ghc-attoparsec)
8718 ("ghc-temporary" ,ghc-temporary)))
8719 (home-page "https://github.com/jgm/pandoc-citeproc")
8720 (synopsis "Library for using pandoc with citeproc")
8721 (description
8722 "The @code{pandoc-citeproc} library exports functions for using the
8723citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8724rendering bibliographic reference citations into a variety of styles using a
8725macro language called @dfn{Citation Style Language} (CSL). This package also
8726contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8727and also has a mode for converting bibliographic databases a YAML format
8728suitable for inclusion in pandoc YAML metadata.")
8729 (license license:bsd-3)))
8730
8731(define-public ghc-pandoc-types
8732 (package
8733 (name "ghc-pandoc-types")
0eaa88c8 8734 (version "1.17.6.1")
dddbc90c
RV
8735 (source (origin
8736 (method url-fetch)
8737 (uri (string-append "https://hackage.haskell.org/package/"
8738 "pandoc-types/pandoc-types-"
8739 version ".tar.gz"))
8740 (sha256
8741 (base32
0eaa88c8 8742 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8743 (build-system haskell-build-system)
8744 (inputs
8745 `(("ghc-syb" ,ghc-syb)
8746 ("ghc-aeson" ,ghc-aeson)
8747 ("ghc-string-qq" ,ghc-string-qq)))
8748 (native-inputs
8749 `(("ghc-quickcheck" ,ghc-quickcheck)
8750 ("ghc-test-framework" ,ghc-test-framework)
8751 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8752 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8753 ("ghc-hunit" ,ghc-hunit)))
8754 (home-page "http://johnmacfarlane.net/pandoc")
8755 (synopsis "Types for representing a structured document")
8756 (description
8757 "This module defines the @code{Pandoc} data structure, which is used by
8758pandoc to represent structured documents. It also provides functions for
8759building up, manipulating and serialising @code{Pandoc} structures.")
8760 (license license:bsd-3)))
8761
8762(define-public ghc-parallel
8763 (package
8764 (name "ghc-parallel")
8765 (version "3.2.2.0")
8766 (outputs '("out" "doc"))
8767 (source
8768 (origin
8769 (method url-fetch)
8770 (uri (string-append
8771 "https://hackage.haskell.org/package/parallel/parallel-"
8772 version
8773 ".tar.gz"))
8774 (sha256
8775 (base32
8776 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8777 (build-system haskell-build-system)
8778 (home-page "https://hackage.haskell.org/package/parallel")
8779 (synopsis "Parallel programming library")
8780 (description
8781 "This package provides a library for parallel programming.")
8782 (license license:bsd-3)))
8783
8784(define-public ghc-parsec-numbers
8785 (package
8786 (name "ghc-parsec-numbers")
8787 (version "0.1.0")
8788 (source
8789 (origin
8790 (method url-fetch)
8791 (uri (string-append "https://hackage.haskell.org/package/"
8792 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8793 (sha256
8794 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8795 (build-system haskell-build-system)
8796 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8797 (synopsis "Utilities for parsing numbers from strings")
8798 (description
8799 "This package provides the number parsers without the need to use a large
8800(and unportable) token parser.")
8801 (license license:bsd-3)))
8802
8803(define-public ghc-parser-combinators
8804 (package
8805 (name "ghc-parser-combinators")
2f173160 8806 (version "1.1.0")
dddbc90c
RV
8807 (source
8808 (origin
8809 (method url-fetch)
8810 (uri (string-append "https://hackage.haskell.org/package/"
8811 "parser-combinators/parser-combinators-"
8812 version ".tar.gz"))
8813 (sha256
8814 (base32
2f173160 8815 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8816 (build-system haskell-build-system)
8817 (home-page "https://github.com/mrkkrp/parser-combinators")
8818 (synopsis "Commonly useful parser combinators")
8819 (description
8820 "This is a lightweight package providing commonly useful parser
8821combinators.")
8822 (license license:bsd-3)))
8823
8824(define-public ghc-parsers
8825 (package
8826 (name "ghc-parsers")
6818f970 8827 (version "0.12.10")
dddbc90c
RV
8828 (source
8829 (origin
8830 (method url-fetch)
8831 (uri (string-append
8832 "https://hackage.haskell.org/package/parsers/parsers-"
8833 version
8834 ".tar.gz"))
8835 (sha256
8836 (base32
6818f970 8837 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8838 (build-system haskell-build-system)
8839 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8840 ; -package attoparsec-0.13.0.1"
8841 (inputs
8842 `(("ghc-base-orphans" ,ghc-base-orphans)
8843 ("ghc-attoparsec" ,ghc-attoparsec)
8844 ("ghc-scientific" ,ghc-scientific)
8845 ("ghc-charset" ,ghc-charset)
8846 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8847 (home-page "https://github.com/ekmett/parsers/")
8848 (synopsis "Parsing combinators")
8849 (description "This library provides convenient combinators for working
8850with and building parsing combinator libraries. Given a few simple instances,
8851you get access to a large number of canned definitions. Instances exist for
8852the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8853@code{Text.Read}.")
8854 (license license:bsd-3)))
8855
8856(define-public ghc-path
8857 (package
8858 (name "ghc-path")
8859 (version "0.6.1")
8860 (source
8861 (origin
8862 (method url-fetch)
8863 (uri (string-append
8864 "https://hackage.haskell.org/package/path/path-"
8865 version
8866 ".tar.gz"))
8867 (sha256
8868 (base32
8869 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8870 (build-system haskell-build-system)
8871 (arguments
8872 ;; TODO: There are some Windows-related tests and modules that need to be
8873 ;; danced around.
8874 `(#:tests? #f
8875 #:cabal-revision
8876 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8877 (inputs
8878 `(("ghc-aeson" ,ghc-aeson)
8879 ("ghc-exceptions" ,ghc-exceptions)
8880 ("ghc-hashable" ,ghc-hashable)))
8881 (native-inputs
8882 `(("ghc-hspec" ,ghc-hspec)
8883 ("ghc-quickcheck" ,ghc-quickcheck)
8884 ("ghc-genvalidity" ,ghc-genvalidity)
8885 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8886 ("ghc-hspec" ,ghc-hspec)
8887 ("ghc-validity" ,ghc-validity)))
8888 (home-page
3ef91e15 8889 "https://hackage.haskell.org/package/path")
dddbc90c
RV
8890 (synopsis "Support for well-typed paths")
8891 (description "This package introduces a type for paths upholding useful
8892invariants.")
8893 (license license:bsd-3)))
8894
8895(define-public ghc-path-io
8896 (package
8897 (name "ghc-path-io")
a06613ea 8898 (version "1.4.2")
dddbc90c
RV
8899 (source
8900 (origin
8901 (method url-fetch)
8902 (uri (string-append
8903 "https://hackage.haskell.org/package/path-io/path-io-"
8904 version
8905 ".tar.gz"))
8906 (sha256
8907 (base32
a06613ea 8908 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8909 (build-system haskell-build-system)
8910 (inputs
8911 `(("ghc-dlist" ,ghc-dlist)
8912 ("ghc-exceptions" ,ghc-exceptions)
8913 ("ghc-path" ,ghc-path)
8914 ("ghc-transformers-base" ,ghc-transformers-base)
8915 ("ghc-unix-compat" ,ghc-unix-compat)
8916 ("ghc-temporary" ,ghc-temporary)))
8917 (native-inputs
8918 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8919 (home-page
8920 "https://github.com/mrkkrp/path-io")
8921 (synopsis "Functions for manipulating well-typed paths")
8922 (description "This package provides an interface to the @code{directory}
8923package for users of @code{path}. It also implements some missing stuff like
8924recursive scanning and copying of directories, working with temporary
8925files/directories, and more.")
8926 (license license:bsd-3)))
8927
8928(define-public ghc-paths
8929 (package
8930 (name "ghc-paths")
9a8adeb1 8931 (version "0.1.0.12")
dddbc90c
RV
8932 (outputs '("out" "doc"))
8933 (source
8934 (origin
8935 (method url-fetch)
8936 (uri (string-append
8937 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8938 version
8939 ".tar.gz"))
8940 (sha256
8941 (base32
9a8adeb1 8942 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8943 (build-system haskell-build-system)
8944 (home-page "https://github.com/simonmar/ghc-paths")
8945 (synopsis
8946 "Knowledge of GHC's installation directories")
8947 (description
8948 "Knowledge of GHC's installation directories.")
8949 (license license:bsd-3)))
8950
8951(define-public ghc-patience
8952 (package
8953 (name "ghc-patience")
484476f3 8954 (version "0.3")
dddbc90c
RV
8955 (source
8956 (origin
8957 (method url-fetch)
8958 (uri (string-append
8959 "https://hackage.haskell.org/package/patience/patience-"
8960 version ".tar.gz"))
8961 (sha256
8962 (base32
484476f3 8963 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8964 (build-system haskell-build-system)
8965 (home-page "https://hackage.haskell.org/package/patience")
8966 (synopsis "Patience diff and longest increasing subsequence")
8967 (description
8968 "This library implements the 'patience diff' algorithm, as well as the
8969patience algorithm for the longest increasing subsequence problem.
8970Patience diff computes the difference between two lists, for example the lines
8971of two versions of a source file. It provides a good balance between
8972performance, nice output for humans, and simplicity of implementation.")
8973 (license license:bsd-3)))
8974
25a221a8
JS
8975(define-public ghc-pattern-arrows
8976 (package
8977 (name "ghc-pattern-arrows")
8978 (version "0.0.2")
8979 (source
8980 (origin
8981 (method url-fetch)
8982 (uri (string-append
8983 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
8984 version
8985 ".tar.gz"))
8986 (sha256
8987 (base32
8988 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
8989 (build-system haskell-build-system)
8990 (home-page
8991 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
8992 (synopsis "Arrows for Pretty Printing")
8993 (description
8994 "A library for generating concise pretty printers based on precedence
8995rules.")
8996 (license license:expat)))
8997
dddbc90c
RV
8998(define-public ghc-pcre-light
8999 (package
9000 (name "ghc-pcre-light")
9001 (version "0.4.0.4")
9002 (source
9003 (origin
9004 (method url-fetch)
9005 (uri (string-append
9006 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9007 version
9008 ".tar.gz"))
9009 (sha256
9010 (base32
9011 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9012 (build-system haskell-build-system)
9013 (inputs
9014 `(("pcre" ,pcre)))
9015 (native-inputs
9016 `(("pkg-config" ,pkg-config)))
9017 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9018 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9019 (description "This package provides a small, efficient, and portable regex
9020library for Perl 5 compatible regular expressions. The PCRE library is a set
9021of functions that implement regular expression pattern matching using the same
9022syntax and semantics as Perl 5.")
9023 (license license:bsd-3)))
9024
9025(define-public ghc-persistent
9026 (package
9027 (name "ghc-persistent")
8c9697a9 9028 (version "2.10.4")
dddbc90c
RV
9029 (source
9030 (origin
9031 (method url-fetch)
8c9697a9
ASM
9032 (uri (string-append
9033 "https://hackage.haskell.org/package/persistent/"
9034 "persistent-" version ".tar.gz"))
dddbc90c
RV
9035 (sha256
9036 (base32
8c9697a9 9037 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9038 (build-system haskell-build-system)
8c9697a9
ASM
9039 (inputs
9040 `(("ghc-aeson" ,ghc-aeson)
9041 ("ghc-attoparsec" ,ghc-attoparsec)
9042 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9043 ("ghc-blaze-html" ,ghc-blaze-html)
9044 ("ghc-conduit" ,ghc-conduit)
9045 ("ghc-fast-logger" ,ghc-fast-logger)
9046 ("ghc-http-api-data" ,ghc-http-api-data)
9047 ("ghc-monad-logger" ,ghc-monad-logger)
9048 ("ghc-path-pieces" ,ghc-path-pieces)
9049 ("ghc-resource-pool" ,ghc-resource-pool)
9050 ("ghc-resourcet" ,ghc-resourcet)
9051 ("ghc-scientific" ,ghc-scientific)
9052 ("ghc-silently" ,ghc-silently)
9053 ("ghc-unliftio-core" ,ghc-unliftio-core)
9054 ("ghc-unliftio" ,ghc-unliftio)
9055 ("ghc-unordered-containers"
9056 ,ghc-unordered-containers)
9057 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9058 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9059 (home-page "https://www.yesodweb.com/book/persistent")
9060 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9061 (description "This Haskell package allows Haskell programs to access data
9062storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9063way.")
9064 (license license:expat)))
9065
9066(define-public ghc-persistent-sqlite
9067 (package
9068 (name "ghc-persistent-sqlite")
78858787 9069 (version "2.10.5.2")
dddbc90c
RV
9070 (source
9071 (origin
9072 (method url-fetch)
78858787
ASM
9073 (uri (string-append
9074 "https://hackage.haskell.org/package/persistent-sqlite/"
9075 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9076 (sha256
9077 (base32
78858787 9078 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9079 (build-system haskell-build-system)
78858787
ASM
9080 (inputs
9081 `(("ghc-persistent" ,ghc-persistent)
9082 ("ghc-aeson" ,ghc-aeson)
9083 ("ghc-conduit" ,ghc-conduit)
9084 ("ghc-microlens-th" ,ghc-microlens-th)
9085 ("ghc-monad-logger" ,ghc-monad-logger)
9086 ("ghc-resource-pool" ,ghc-resource-pool)
9087 ("ghc-resourcet" ,ghc-resourcet)
9088 ("ghc-unliftio-core" ,ghc-unliftio-core)
9089 ("ghc-unordered-containers"
9090 ,ghc-unordered-containers)))
9091 (native-inputs
9092 `(("ghc-persistent-template"
9093 ,ghc-persistent-template)
9094 ("ghc-persistent-test" ,ghc-persistent-test)
9095 ("ghc-exceptions" ,ghc-exceptions)
9096 ("ghc-fast-logger" ,ghc-fast-logger)
9097 ("ghc-hspec" ,ghc-hspec)
9098 ("ghc-hunit" ,ghc-hunit)
9099 ("ghc-quickcheck" ,ghc-quickcheck)
9100 ("ghc-system-fileio" ,ghc-system-fileio)
9101 ("ghc-system-filepath" ,ghc-system-filepath)
9102 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9103 (home-page
9104 "https://www.yesodweb.com/book/persistent")
9105 (synopsis "Backend for the persistent library using sqlite3")
9106 (description "This Haskell package includes a thin sqlite3 wrapper based
9107on the direct-sqlite package, as well as the entire C library, so there are no
9108system dependencies.")
9109 (license license:expat)))
9110
9111(define-public ghc-persistent-template
9112 (package
9113 (name "ghc-persistent-template")
d5378e98 9114 (version "2.8.0")
dddbc90c
RV
9115 (source
9116 (origin
9117 (method url-fetch)
d5378e98
ASM
9118 (uri (string-append
9119 "https://hackage.haskell.org/package/persistent-template/"
9120 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9121 (sha256
9122 (base32
d5378e98 9123 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9124 (build-system haskell-build-system)
d5378e98
ASM
9125 (inputs
9126 `(("ghc-persistent" ,ghc-persistent)
9127 ("ghc-aeson" ,ghc-aeson)
9128 ("ghc-http-api-data" ,ghc-http-api-data)
9129 ("ghc-monad-control" ,ghc-monad-control)
9130 ("ghc-monad-logger" ,ghc-monad-logger)
9131 ("ghc-path-pieces" ,ghc-path-pieces)
9132 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9133 ("ghc-unordered-containers"
9134 ,ghc-unordered-containers)))
9135 (native-inputs
9136 `(("ghc-hspec" ,ghc-hspec)
9137 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9138 (home-page "https://www.yesodweb.com/book/persistent")
9139 (synopsis "Type-safe, non-relational, multi-backend persistence")
9140 (description "This Haskell package provides interfaces and helper
9141functions for the ghc-persistent package.")
9142 (license license:expat)))
9143
ce32f7c7
ASM
9144(define-public ghc-persistent-test
9145 (package
9146 (name "ghc-persistent-test")
9147 (version "2.0.3.1")
9148 (source
9149 (origin
9150 (method url-fetch)
9151 (uri (string-append
9152 "https://hackage.haskell.org/package/persistent-test/"
9153 "persistent-test-" version ".tar.gz"))
9154 (sha256
9155 (base32
9156 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9157 (build-system haskell-build-system)
9158 (inputs
9159 `(("ghc-aeson" ,ghc-aeson)
9160 ("ghc-blaze-html" ,ghc-blaze-html)
9161 ("ghc-conduit" ,ghc-conduit)
9162 ("ghc-monad-control" ,ghc-monad-control)
9163 ("ghc-monad-logger" ,ghc-monad-logger)
9164 ("ghc-path-pieces" ,ghc-path-pieces)
9165 ("ghc-persistent" ,ghc-persistent)
9166 ("ghc-persistent-template" ,ghc-persistent-template)
9167 ("ghc-random" ,ghc-random)
9168 ("ghc-resourcet" ,ghc-resourcet)
9169 ("ghc-transformers-base" ,ghc-transformers-base)
9170 ("ghc-unliftio" ,ghc-unliftio)
9171 ("ghc-unliftio-core" ,ghc-unliftio-core)
9172 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9173 (native-inputs
9174 `(("ghc-quickcheck" ,ghc-quickcheck)
9175 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9176 ("ghc-hspec" ,ghc-hspec)
9177 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9178 ("ghc-hunit" ,ghc-hunit)))
9179 (home-page "https://www.yesodweb.com/book/persistent")
9180 (synopsis "Tests for the Persistent database library")
9181 (description
9182 "This is only for use in developing libraries that should conform to
9183the persistent interface, not for users of the persistent suite of database
9184libraries.")
9185 (license license:expat)))
9186
0fb34235
JS
9187(define-public ghc-pgp-wordlist
9188 (package
9189 (name "ghc-pgp-wordlist")
9190 (version "0.1.0.3")
9191 (source
9192 (origin
9193 (method url-fetch)
9194 (uri (string-append
9195 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9196 version
9197 ".tar.gz"))
9198 (sha256
9199 (base32
9200 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9201 (build-system haskell-build-system)
9202 (inputs
9203 `(("ghc-vector" ,ghc-vector)))
9204 (native-inputs
9205 `(("ghc-hunit" ,ghc-hunit)
9206 ("ghc-tasty" ,ghc-tasty)
9207 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9208 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9209 ("ghc-doctest" ,ghc-doctest)))
9210 (home-page
9211 "https://github.com/quchen/pgp-wordlist")
9212 (synopsis
9213 "Translate between binary data and a human-readable collection of words")
9214 (description
9215 "The PGP Word List consists of two phonetic alphabets, each with one word
9216per possible byte value. A string of bytes is translated with these
9217alphabets, alternating between them at each byte.
9218
9219The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9220spellbind headwaters\", for example.
9221
9222For further information, see
9223@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9224 (license license:bsd-3)))
9225
4639fa32
ASM
9226(define-public ghc-pipes
9227 (package
9228 (name "ghc-pipes")
9229 (version "4.3.13")
9230 (source
9231 (origin
9232 (method url-fetch)
9233 (uri (string-append
9234 "https://hackage.haskell.org/package/pipes/"
9235 "pipes-" version ".tar.gz"))
9236 (sha256
9237 (base32
9238 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9239 (build-system haskell-build-system)
9240 (inputs
9241 `(("ghc-exceptions" ,ghc-exceptions)
9242 ("ghc-mmorph" ,ghc-mmorph)
9243 ("ghc-void" ,ghc-void)
9244 ("ghc-semigroups" ,ghc-semigroups)))
9245 (native-inputs
9246 `(("ghc-quickcheck" ,ghc-quickcheck)
9247 ("ghc-test-framework" ,ghc-test-framework)
9248 ("ghc-test-framework-quickcheck2"
9249 ,ghc-test-framework-quickcheck2)))
9250 (home-page
9251 "https://hackage.haskell.org/package/pipes")
9252 (synopsis "Compositional pipelines")
9253 (description
9254 "A clean and powerful stream processing library that lets you build
9255and connect reusable streaming components. Advantages over traditional streaming
9256libraries:
9257@itemize
9258@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9259and @code{yield}
9260@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9261@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9262dependencies
9263@item Elegant semantics: Use practical category theory
9264@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9265@item Bidirectionality: Implement duplex channels
9266@end itemize")
9267 (license license:bsd-3)))
9268
451775a5
ASM
9269(define-public ghc-pointedlist
9270 (package
9271 (name "ghc-pointedlist")
9272 (version "0.6.1")
9273 (source
9274 (origin
9275 (method url-fetch)
9276 (uri (string-append
9277 "https://hackage.haskell.org/package/pointedlist/"
9278 "pointedlist-" version ".tar.gz"))
9279 (sha256
9280 (base32
9281 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9282 (build-system haskell-build-system)
9283 (home-page
3ef91e15 9284 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9285 (synopsis
9286 "Zipper-like comonad which works as a list, tracking a position")
9287 (description
9288 "A PointedList tracks the position in a non-empty list which works
9289similarly to a zipper. A current item is always required, and therefore
9290the list may never be empty. A circular PointedList wraps around to the
9291other end when progressing past the actual edge.")
9292 (license license:bsd-3)))
9293
dddbc90c
RV
9294(define-public ghc-polyparse
9295 (package
9296 (name "ghc-polyparse")
9822b9ca 9297 (version "1.12.1")
dddbc90c
RV
9298 (source
9299 (origin
9300 (method url-fetch)
9301 (uri (string-append
9302 "https://hackage.haskell.org/package/polyparse/polyparse-"
9303 version
9304 ".tar.gz"))
9305 (sha256
9306 (base32
9822b9ca 9307 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9308 (build-system haskell-build-system)
9309 (home-page
9310 "http://code.haskell.org/~malcolm/polyparse/")
9311 (synopsis
9312 "Alternative parser combinator libraries")
9313 (description
9314 "This package provides a variety of alternative parser combinator
9315libraries, including the original HuttonMeijer set. The Poly sets have
9316features like good error reporting, arbitrary token type, running state, lazy
9317parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9318standard Read class, for better deserialisation of Haskell values from
9319Strings.")
9320 (license license:lgpl2.1)))
9321
9322(define-public ghc-pqueue
9323 (package
9324 (name "ghc-pqueue")
142415b0 9325 (version "1.4.1.2")
dddbc90c
RV
9326 (source
9327 (origin
9328 (method url-fetch)
9329 (uri (string-append "https://hackage.haskell.org/package/"
9330 "pqueue/pqueue-" version ".tar.gz"))
9331 (sha256
9332 (base32
142415b0 9333 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9334 (build-system haskell-build-system)
9335 (native-inputs
9336 `(("ghc-quickcheck" ,ghc-quickcheck)))
9337 (home-page "https://hackage.haskell.org/package/pqueue")
9338 (synopsis "Reliable, persistent, fast priority queues")
9339 (description
9340 "This package provides a fast, reliable priority queue implementation
9341based on a binomial heap.")
9342 (license license:bsd-3)))
9343
9344(define-public ghc-prelude-extras
9345 (package
9346 (name "ghc-prelude-extras")
9347 (version "0.4.0.3")
9348 (source
9349 (origin
9350 (method url-fetch)
9351 (uri (string-append
9352 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9353 version
9354 ".tar.gz"))
9355 (sha256
9356 (base32
9357 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9358 (build-system haskell-build-system)
9359 (home-page "https://github.com/ekmett/prelude-extras")
9360 (synopsis "Higher order versions of Prelude classes")
9361 (description "This library provides higher order versions of
9362@code{Prelude} classes to ease programming with polymorphic recursion and
9363reduce @code{UndecidableInstances}.")
9364 (license license:bsd-3)))
9365
9366(define-public ghc-prettyclass
9367 (package
9368 (name "ghc-prettyclass")
9369 (version "1.0.0.0")
9370 (source
9371 (origin
9372 (method url-fetch)
9373 (uri (string-append "https://hackage.haskell.org/package/"
9374 "prettyclass/prettyclass-" version ".tar.gz"))
9375 (sha256
9376 (base32
9377 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9378 (build-system haskell-build-system)
3ef91e15 9379 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9380 (synopsis "Pretty printing class similar to Show")
9381 (description "This package provides a pretty printing class similar
9382to @code{Show}, based on the HughesPJ pretty printing library. It
9383provides the pretty printing class and instances for the Prelude
9384types.")
9385 (license license:bsd-3)))
9386
9387(define-public ghc-pretty-hex
9388 (package
9389 (name "ghc-pretty-hex")
9390 (version "1.0")
9391 (source
9392 (origin
9393 (method url-fetch)
9394 (uri (string-append "https://hackage.haskell.org/package/"
9395 "pretty-hex-" version "/"
9396 "pretty-hex-" version ".tar.gz"))
9397 (sha256
9398 (base32
9399 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9400 (build-system haskell-build-system)
9401 (home-page "https://github.com/GaloisInc/hexdump")
9402 (synopsis "Haskell library for hex dumps of ByteStrings")
9403 (description "This Haskell library generates pretty hex dumps of
9404ByteStrings in the style of other common *nix hex dump tools.")
9405 (license license:bsd-3)))
9406
9407(define-public ghc-pretty-show
9408 (package
9409 (name "ghc-pretty-show")
7683a084 9410 (version "1.9.5")
dddbc90c
RV
9411 (source
9412 (origin
9413 (method url-fetch)
9414 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9415 "pretty-show-" version ".tar.gz"))
9416 (sha256
9417 (base32
7683a084 9418 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9419 (build-system haskell-build-system)
9420 (inputs
9421 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9422 ("ghc-happy" ,ghc-happy)))
9423 (home-page "http://wiki.github.com/yav/pretty-show")
9424 (synopsis "Tools for working with derived `Show` instances")
9425 (description
9426 "This package provides a library and an executable for working with
9427derived @code{Show} instances. By using the library, derived @code{Show}
9428instances can be parsed into a generic data structure. The @code{ppsh} tool
9429uses the library to produce human-readable versions of @code{Show} instances,
9430which can be quite handy for debugging Haskell programs. We can also render
9431complex generic values into an interactive Html page, for easier
9432examination.")
9433 (license license:expat)))
9434
f011e3d6
JS
9435(define-public ghc-pretty-simple
9436 (package
9437 (name "ghc-pretty-simple")
9438 (version "2.2.0.1")
9439 (source
9440 (origin
9441 (method url-fetch)
9442 (uri (string-append
9443 "mirror://hackage/package/pretty-simple/"
9444 "pretty-simple-" version ".tar.gz"))
9445 (sha256
9446 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9447 (build-system haskell-build-system)
9448 (inputs
9449 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9450 ("ghc-glob" ,ghc-glob)
9451 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9452 ("ghc-aeson" ,ghc-aeson)))
9453 (native-inputs
9454 `(("ghc-doctest" ,ghc-doctest)))
9455 (home-page "https://github.com/cdepillabout/pretty-simple")
9456 (synopsis "Pretty printer for data types with a 'Show' instance")
9457 (description
9458 "Pretty-simple is a pretty printer for Haskell data types that have a
9459Show instance.")
9460 (license license:bsd-3)))
9461
dddbc90c
RV
9462(define-public ghc-primitive
9463 (package
9464 (name "ghc-primitive")
9465 (version "0.6.4.0")
9466 (outputs '("out" "doc"))
9467 (source
9468 (origin
9469 (method url-fetch)
9470 (uri (string-append
9471 "https://hackage.haskell.org/package/primitive/primitive-"
9472 version
9473 ".tar.gz"))
9474 (sha256
9475 (base32
9476 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9477 (build-system haskell-build-system)
6cf0daa4
TS
9478 (arguments
9479 `(#:cabal-revision
9480 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9481 (home-page
9482 "https://github.com/haskell/primitive")
9483 (synopsis "Primitive memory-related operations")
9484 (description
9485 "This package provides various primitive memory-related operations.")
9486 (license license:bsd-3)))
9487
21f5b9a9
JS
9488(define-public ghc-process-extras
9489 (package
9490 (name "ghc-process-extras")
9491 (version "0.7.4")
9492 (source
9493 (origin
9494 (method url-fetch)
9495 (uri
9496 (string-append
9497 "https://hackage.haskell.org/package/process-extras/"
9498 "process-extras-" version ".tar.gz"))
9499 (sha256
9500 (base32
9501 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9502 (build-system haskell-build-system)
9503 (inputs
9504 `(("ghc-data-default" ,ghc-data-default)
9505 ("ghc-generic-deriving" ,ghc-generic-deriving)
9506 ("ghc-hunit" ,ghc-hunit)
9507 ("ghc-listlike" ,ghc-listlike)))
9508 (home-page "https://github.com/seereason/process-extras")
9509 (synopsis "Extra tools for managing processes")
f74b6983 9510 (description "This package extends
21f5b9a9
JS
9511@url{http://hackage.haskell.org/package/process}. It allows you to read
9512process input and output as ByteStrings or Text, or write your own
9513ProcessOutput instance. It also provides lazy process input and output,
9514and a ProcessMaker class for more flexibility in the process creation
9515API.")
9516 (license license:expat)))
9517
dddbc90c
RV
9518(define-public ghc-profunctors
9519 (package
9520 (name "ghc-profunctors")
899b5297 9521 (version "5.3")
dddbc90c
RV
9522 (source
9523 (origin
9524 (method url-fetch)
9525 (uri (string-append
9526 "https://hackage.haskell.org/package/profunctors/profunctors-"
9527 version
9528 ".tar.gz"))
9529 (sha256
9530 (base32
899b5297 9531 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9532 (build-system haskell-build-system)
dddbc90c
RV
9533 (inputs
9534 `(("ghc-base-orphans" ,ghc-base-orphans)
9535 ("ghc-bifunctors" ,ghc-bifunctors)
9536 ("ghc-comonad" ,ghc-comonad)
9537 ("ghc-contravariant" ,ghc-contravariant)
9538 ("ghc-distributive" ,ghc-distributive)
9539 ("ghc-semigroups" ,ghc-semigroups)
9540 ("ghc-tagged" ,ghc-tagged)))
9541 (home-page "https://github.com/ekmett/profunctors/")
9542 (synopsis "Profunctors for Haskell")
9543 (description "This library provides profunctors for Haskell.")
9544 (license license:bsd-3)))
9545
fbe32d46
ASM
9546(define-public ghc-project-template
9547 (package
9548 (name "ghc-project-template")
9549 (version "0.2.0.1")
9550 (source
9551 (origin
9552 (method url-fetch)
9553 (uri (string-append
9554 "https://hackage.haskell.org/package/project-template/project-template-"
9555 version ".tar.gz"))
9556 (sha256
9557 (base32
9558 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9559 (build-system haskell-build-system)
9560 (inputs
9561 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9562 ("ghc-conduit" ,ghc-conduit)
9563 ("ghc-conduit-extra" ,ghc-conduit-extra)
9564 ("ghc-resourcet" ,ghc-resourcet)))
9565 (native-inputs
9566 `(("ghc-hspec" ,ghc-hspec)
9567 ("hspec-discover" ,hspec-discover)
9568 ("ghc-quickcheck" ,ghc-quickcheck)))
9569 (arguments
9570 `(#:cabal-revision
9571 ("1"
9572 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9573 (home-page "https://github.com/fpco/haskell-ide")
9574 (synopsis "Specify Haskell project templates and generate files")
9575 (description
9576 "Haskell library for both generating and consuming project templates.
9577
9578ost IDEs provide the concept of a project template: instead of writing all
9579of the code for a project from scratch, you select a template, answer a few
9580questions, and a bunch of files are automatically generated.
9581
9582project-template tries to provide a canonical Haskell library for implementing
9583the ideal templating system.")
9584 (license license:bsd-3)))
9585
8a6e745d
JS
9586(define-public ghc-protolude
9587 (package
9588 (name "ghc-protolude")
9589 (version "0.2.3")
9590 (source
9591 (origin
9592 (method url-fetch)
9593 (uri (string-append
9594 "mirror://hackage/package/protolude/protolude-"
9595 version
9596 ".tar.gz"))
9597 (sha256
9598 (base32
9599 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9600 (build-system haskell-build-system)
9601 (inputs
9602 `(("ghc-async" ,ghc-async)
9603 ("ghc-hashable" ,ghc-hashable)
9604 ("ghc-mtl-compat" ,ghc-mtl-compat)
9605 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9606 (home-page "https://github.com/protolude/protolude")
9607 (synopsis "Sensible set of defaults for writing custom Preludes")
9608 (description
9609 "Protolude gives you sensible defaults for writing custom Preludes to
9610replace the standard one provided by GHC.")
9611 (license license:expat)))
9612
dddbc90c
RV
9613(define-public ghc-psqueues
9614 (package
9615 (name "ghc-psqueues")
5d133942 9616 (version "0.2.7.2")
dddbc90c
RV
9617 (source
9618 (origin
9619 (method url-fetch)
9620 (uri (string-append "https://hackage.haskell.org/package/"
9621 "psqueues-" version "/"
9622 "psqueues-" version ".tar.gz"))
9623 (sha256
9624 (base32
5d133942 9625 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9626 (build-system haskell-build-system)
9627 (inputs
9628 `(("ghc-hashable" ,ghc-hashable)))
9629 (native-inputs
9630 `(("ghc-hunit" ,ghc-hunit)
9631 ("ghc-quickcheck" ,ghc-quickcheck)
9632 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9633 ("ghc-tasty" ,ghc-tasty)
9634 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9635 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9636 (home-page "https://github.com/jaspervdj/psqueues")
9637 (synopsis "Pure priority search queues")
9638 (description "The psqueues package provides
9639@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9640three different flavors:
9641
9642@itemize
9643@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9644fast insertion, deletion and lookup. This implementation is based on Ralf
9645Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9646Implementation Technique for Priority Search Queues}.
9647
9648Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9649PSQueue} library, although it is considerably faster and provides a slightly
9650different API.
9651
9652@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9653key type to @code{Int} and uses a
9654@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9655with an additional min-heap property.
9656
9657@item @code{HashPSQ k p v} is a fairly straightforward extension
9658of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9659@code{IntPSQ}. If there are any hash collisions, it uses an
9660@code{OrdPSQ} to resolve those. The performance of this implementation
9661is comparable to that of @code{IntPSQ}, but it is more widely
9662applicable since the keys are not restricted to @code{Int},
9663but rather to any @code{Hashable} datatype.
9664@end itemize
9665
9666Each of the three implementations provides the same API, so they can
9667be used interchangeably.
9668
9669Typical applications of Priority Search Queues include:
9670
9671@itemize
9672@item Caches, and more specifically LRU Caches;
9673@item Schedulers;
9674@item Pathfinding algorithms, such as Dijkstra's and A*.
9675@end itemize")
9676 (license license:bsd-3)))
b1dbc9f5
ASM
9677
9678(define-public ghc-pwstore-fast
9679 (package
9680 (name "ghc-pwstore-fast")
9681 (version "2.4.4")
9682 (source
9683 (origin
9684 (method url-fetch)
9685 (uri (string-append
9686 "https://hackage.haskell.org/package/pwstore-fast/"
9687 "pwstore-fast-" version ".tar.gz"))
9688 (sha256
9689 (base32
9690 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9691 (build-system haskell-build-system)
9692 (inputs
9693 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9694 ("ghc-cryptohash" ,ghc-cryptohash)
9695 ("ghc-random" ,ghc-random)
9696 ("ghc-byteable" ,ghc-byteable)))
9697 (home-page "https://github.com/PeterScott/pwstore")
9698 (synopsis "Secure password storage")
9699 (description
9700 "To store passwords securely, they should be salted, then hashed with
9701a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9702details. It uses the cryptohash package for speed; if you need a pure
9703Haskell library, pwstore-purehaskell has the exact same API, but uses only
9704pure Haskell. It is about 25 times slower than this package, but still quite
9705usable.")
9706 (license license:bsd-3)))
dddbc90c
RV
9707
9708(define-public ghc-random
9709 (package
9710 (name "ghc-random")
9711 (version "1.1")
9712 (outputs '("out" "doc"))
9713 (source
9714 (origin
9715 (method url-fetch)
9716 (uri (string-append
9717 "https://hackage.haskell.org/package/random/random-"
9718 version
9719 ".tar.gz"))
9720 (sha256
9721 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9722 (build-system haskell-build-system)
9723 (home-page "https://hackage.haskell.org/package/random")
9724 (synopsis "Random number library")
9725 (description "This package provides a basic random number generation
9726library, including the ability to split random number generators.")
9727 (license license:bsd-3)))
9728
9729(define-public ghc-raw-strings-qq
9730 (package
9731 (name "ghc-raw-strings-qq")
9732 (version "1.1")
9733 (source
9734 (origin
9735 (method url-fetch)
9736 (uri (string-append "https://hackage.haskell.org/package/"
9737 "raw-strings-qq/raw-strings-qq-"
9738 version ".tar.gz"))
9739 (sha256
9740 (base32
9741 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9742 (build-system haskell-build-system)
9743 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9744 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9745 (synopsis "Raw string literals for Haskell")
9746 (description
9747 "This package provides a quasiquoter for raw string literals, i.e. string
9748literals that don't recognise the standard escape sequences. Basically, they
9749make your code more readable by freeing you from the responsibility to escape
9750backslashes. They are useful when working with regular expressions,
9751DOS/Windows paths and markup languages (such as XML).")
9752 (license license:bsd-3)))
9753
9754(define-public ghc-readable
9755 (package
9756 (name "ghc-readable")
9757 (version "0.3.1")
9758 (source
9759 (origin
9760 (method url-fetch)
9761 (uri (string-append "https://hackage.haskell.org/package/"
9762 "readable/readable-" version ".tar.gz"))
9763 (sha256
9764 (base32
9765 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9766 (build-system haskell-build-system)
9767 (home-page "https://github.com/mightybyte/readable")
9768 (synopsis "Type class for reading from Text and ByteString")
9769 (description "This package provides a @code{Readable} type class for
9770reading data types from @code{ByteString} and @code{Text}. It also
9771includes efficient implementations for common data types.")
9772 (license license:bsd-3)))
9773
9774(define-public ghc-rebase
9775 (package
9776 (name "ghc-rebase")
8d2ae3fe 9777 (version "1.3.1.1")
dddbc90c
RV
9778 (source
9779 (origin
9780 (method url-fetch)
9781 (uri (string-append "https://hackage.haskell.org/package/"
9782 "rebase-" version "/"
9783 "rebase-" version ".tar.gz"))
9784 (sha256
9785 (base32
8d2ae3fe 9786 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9787 (build-system haskell-build-system)
9788 (inputs `(("ghc-hashable" ,ghc-hashable)
9789 ("ghc-vector" ,ghc-vector)
9790 ("ghc-unordered-containers" ,ghc-unordered-containers)
9791 ("ghc-scientific" ,ghc-scientific)
9792 ("ghc-uuid" ,ghc-uuid)
9793 ("ghc-dlist" ,ghc-dlist)
9794 ("ghc-void" ,ghc-void)
9795 ("ghc-bifunctors" ,ghc-bifunctors)
9796 ("ghc-profunctors" ,ghc-profunctors)
9797 ("ghc-contravariant" ,ghc-contravariant)
9798 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9799 ("ghc-semigroups" ,ghc-semigroups)
9800 ("ghc-either" ,ghc-either)
9801 ("ghc-fail" ,ghc-fail)
9802 ("ghc-base-prelude" ,ghc-base-prelude)))
9803 (home-page "https://github.com/nikita-volkov/rebase")
9804 (synopsis "Progressive alternative to the base package
9805for Haskell")
9806 (description "This Haskell package is intended for those who are
9807tired of keeping long lists of dependencies to the same essential libraries
9808in each package as well as the endless imports of the same APIs all over again.
9809
9810It also supports the modern tendencies in the language.
9811
9812To solve those problems this package does the following:
9813
9814@itemize
9815@item Reexport the original APIs under the @code{Rebase} namespace.
9816
9817@item Export all the possible non-conflicting symbols from the
9818@code{Rebase.Prelude} module.
9819
9820@item Give priority to the modern practices in the conflicting cases.
9821@end itemize
9822
9823The policy behind the package is only to reexport the non-ambiguous and
9824non-controversial APIs, which the community has obviously settled on.
9825The package is intended to rapidly evolve with the contribution from
9826the community, with the missing features being added with pull-requests.")
9827 (license license:expat)))
9828
9829(define-public ghc-reducers
9830 (package
9831 (name "ghc-reducers")
9832 (version "3.12.3")
9833 (source
9834 (origin
9835 (method url-fetch)
9836 (uri (string-append
9837 "https://hackage.haskell.org/package/reducers/reducers-"
9838 version
9839 ".tar.gz"))
9840 (sha256
9841 (base32
9842 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9843 (build-system haskell-build-system)
9844 (inputs
9845 `(("ghc-fingertree" ,ghc-fingertree)
9846 ("ghc-hashable" ,ghc-hashable)
9847 ("ghc-unordered-containers" ,ghc-unordered-containers)
9848 ("ghc-semigroupoids" ,ghc-semigroupoids)
9849 ("ghc-semigroups" ,ghc-semigroups)))
9850 (home-page "https://github.com/ekmett/reducers/")
9851 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9852 (description "This library provides various semigroups, specialized
9853containers and a general map/reduce framework for Haskell.")
9854 (license license:bsd-3)))
9855
9856(define-public ghc-refact
9857 (package
9858 (name "ghc-refact")
9859 (version "0.3.0.2")
9860 (source
9861 (origin
9862 (method url-fetch)
9863 (uri (string-append "https://hackage.haskell.org/package/"
9864 "refact/refact-"
9865 version ".tar.gz"))
9866 (sha256
9867 (base32
9868 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9869 (build-system haskell-build-system)
3ef91e15 9870 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
9871 (synopsis "Specify refactorings to perform with apply-refact")
9872 (description
9873 "This library provides a datatype which can be interpreted by
9874@code{apply-refact}. It exists as a separate library so that applications can
9875specify refactorings without depending on GHC.")
9876 (license license:bsd-3)))
9877
9878(define-public ghc-reflection
9879 (package
9880 (name "ghc-reflection")
d215f1cc 9881 (version "2.1.5")
dddbc90c
RV
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/reflection/reflection-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
d215f1cc 9891 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9892 (build-system haskell-build-system)
9893 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9894 (native-inputs
9895 `(("ghc-hspec" ,ghc-hspec)
9896 ("ghc-quickcheck" ,ghc-quickcheck)
9897 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9898 (home-page "https://github.com/ekmett/reflection")
9899 (synopsis "Reify arbitrary terms into types that can be reflected back
9900into terms")
9901 (description "This package addresses the 'configuration problem' which is
9902propagating configurations that are available at run-time, allowing multiple
9903configurations to coexist without resorting to mutable global variables or
9904@code{System.IO.Unsafe.unsafePerformIO}.")
9905 (license license:bsd-3)))
9906
9907(define-public ghc-regex
9908 (package
9909 (name "ghc-regex")
b9a5e634 9910 (version "1.0.2.0")
dddbc90c
RV
9911 (source
9912 (origin
9913 (method url-fetch)
9914 (uri (string-append "https://hackage.haskell.org/package/regex/"
9915 "regex-" version ".tar.gz"))
9916 (sha256
9917 (base32
b9a5e634 9918 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9919 (build-system haskell-build-system)
9920 (arguments
9921 `(#:phases
9922 (modify-phases %standard-phases
9923 (add-after 'unpack 'relax-dependencies
9924 (lambda _
9925 (substitute* "regex.cabal"
9926 (("base-compat.*>=.*0.6.*")
9927 "base-compat >= 0.6\n")
9928 (("template-haskell.*>=.*2.7.*")
9929 "template-haskell >= 2.7\n"))
9930 #t)))))
9931 (inputs
9932 `(("ghc-base-compat" ,ghc-base-compat)
9933 ("ghc-hashable" ,ghc-hashable)
9934 ("ghc-regex-base" ,ghc-regex-base)
9935 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9936 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9937 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9938 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9939 ("ghc-unordered-containers" ,ghc-unordered-containers)
9940 ("ghc-utf8-string" ,ghc-utf8-string)))
9941 (home-page "http://regex.uk")
9942 (synopsis "Toolkit for regex-base")
9943 (description
9944 "This package provides a regular expression toolkit for @code{regex-base}
9945with compile-time checking of regular expression syntax, data types for
9946matches and captures, a text replacement toolkit, portable options, high-level
9947AWK-like tools for building text processing apps, regular expression macros
9948with parsers and test bench, comprehensive documentation, tutorials and
9949copious examples.")
9950 (license license:bsd-3)))
9951
9952(define-public ghc-regex-applicative
9953 (package
9954 (name "ghc-regex-applicative")
30f60e42 9955 (version "0.3.3.1")
dddbc90c
RV
9956 (source
9957 (origin
9958 (method url-fetch)
9959 (uri (string-append
9960 "https://hackage.haskell.org/package/regex-applicative/"
9961 "regex-applicative-" version ".tar.gz"))
9962 (sha256
9963 (base32
30f60e42 9964 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9965 (build-system haskell-build-system)
9966 (inputs
9967 `(("ghc-smallcheck" ,ghc-smallcheck)
9968 ("ghc-tasty" ,ghc-tasty)
9969 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9970 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9971 (home-page "https://github.com/feuerbach/regex-applicative")
9972 (synopsis "Regex-based parsing with applicative interface")
9973 (description
9974 "@code{regex-applicative} is a Haskell library for parsing using
9975regular expressions. Parsers can be built using Applicative interface.")
9976 (license license:expat)))
9977
9978(define-public ghc-regex-base
9979 (package
9980 (name "ghc-regex-base")
9981 (version "0.93.2")
9982 (source
9983 (origin
9984 (method url-fetch)
9985 (uri (string-append
9986 "https://hackage.haskell.org/package/regex-base/regex-base-"
9987 version
9988 ".tar.gz"))
9989 (sha256
9990 (base32
9991 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9992 (build-system haskell-build-system)
9993 (home-page
9994 "https://sourceforge.net/projects/lazy-regex")
9995 (synopsis "Replaces/Enhances Text.Regex")
9996 (description "@code{Text.Regex.Base} provides the interface API for
9997regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9998 (license license:bsd-3)))
9999
10000(define-public ghc-regex-compat
10001 (package
10002 (name "ghc-regex-compat")
10003 (version "0.95.1")
10004 (source
10005 (origin
10006 (method url-fetch)
10007 (uri (string-append
10008 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10009 version
10010 ".tar.gz"))
10011 (sha256
10012 (base32
10013 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10014 (build-system haskell-build-system)
10015 (inputs
10016 `(("ghc-regex-base" ,ghc-regex-base)
10017 ("ghc-regex-posix" ,ghc-regex-posix)))
10018 (home-page "https://sourceforge.net/projects/lazy-regex")
10019 (synopsis "Replaces/Enhances Text.Regex")
10020 (description "This library provides one module layer over
10021@code{regex-posix} to replace @code{Text.Regex}.")
10022 (license license:bsd-3)))
10023
10024(define-public ghc-regex-compat-tdfa
10025 (package
10026 (name "ghc-regex-compat-tdfa")
10027 (version "0.95.1.4")
10028 (source
10029 (origin
10030 (method url-fetch)
10031 (uri (string-append
10032 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10033 version ".tar.gz"))
10034 (sha256
10035 (base32
10036 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10037 (build-system haskell-build-system)
10038 (inputs
10039 `(("ghc-regex-base" ,ghc-regex-base)
10040 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10041 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10042 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10043 (description
10044 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10045@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10046This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10047this problem.")
10048 (license license:bsd-3)))
10049
10050(define-public ghc-regex-pcre-builtin
10051 (package
10052 (name "ghc-regex-pcre-builtin")
ee946143 10053 (version "0.94.5.8.8.35")
dddbc90c
RV
10054 (source (origin
10055 (method url-fetch)
10056 (uri (string-append "https://hackage.haskell.org/package/"
10057 "regex-pcre-builtin/regex-pcre-builtin-"
10058 version ".tar.gz"))
10059 (sha256
10060 (base32
ee946143 10061 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10062 (build-system haskell-build-system)
10063 (inputs
10064 `(("ghc-regex-base" ,ghc-regex-base)))
10065 (home-page "https://hackage.haskell.org/package/regex-pcre")
10066 (synopsis "Enhancement of the builtin Text.Regex library")
10067 (description
10068 "This package is an enhancement of the @code{Text.Regex} library,
10069providing the PCRE backend to accompany regex-base, with bundled code from
10070@url{https://www.pcre.org}.")
10071 (license license:bsd-3)))
10072
10073(define-public ghc-regex-posix
10074 (package
10075 (name "ghc-regex-posix")
10076 (version "0.95.2")
10077 (source
10078 (origin
10079 (method url-fetch)
10080 (uri (string-append
10081 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10082 version
10083 ".tar.gz"))
10084 (sha256
10085 (base32
10086 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10087 (build-system haskell-build-system)
10088 (inputs
10089 `(("ghc-regex-base" ,ghc-regex-base)))
10090 (home-page "https://sourceforge.net/projects/lazy-regex")
10091 (synopsis "POSIX regular expressions for Haskell")
10092 (description "This library provides the POSIX regex backend used by the
10093Haskell library @code{regex-base}.")
10094 (license license:bsd-3)))
10095
10096(define-public ghc-regex-tdfa
10097 (package
10098 (name "ghc-regex-tdfa")
ce684db0 10099 (version "1.2.3.2")
dddbc90c
RV
10100 (source
10101 (origin
10102 (method url-fetch)
10103 (uri (string-append
10104 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10105 version ".tar.gz"))
10106 (sha256
10107 (base32
ce684db0 10108 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10109 (build-system haskell-build-system)
10110 (inputs
10111 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10112 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10113 (synopsis "POSIX extended regular expressions in Haskell.")
10114 (description
10115 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10116extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10117inspired by libtre.")
10118 (license license:bsd-3)))
10119
10120(define-public ghc-regex-tdfa-text
10121 (package
10122 (name "ghc-regex-tdfa-text")
10123 (version "1.0.0.3")
10124 (source
10125 (origin
10126 (method url-fetch)
10127 (uri (string-append
10128 "https://hackage.haskell.org/package/regex-tdfa-text/"
10129 "regex-tdfa-text-" version ".tar.gz"))
10130 (sha256
10131 (base32
10132 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10133 (build-system haskell-build-system)
10134 (inputs
10135 `(("ghc-regex-base" ,ghc-regex-base)
10136 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10137 (home-page
3ef91e15 10138 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10139 (synopsis "Text interface for regex-tdfa")
10140 (description
10141 "This provides an extra text interface for regex-tdfa.")
10142 (license license:bsd-3)))
10143
10144(define-public ghc-rerebase
10145 (package
10146 (name "ghc-rerebase")
cdec7b8c 10147 (version "1.3.1.1")
dddbc90c
RV
10148 (source
10149 (origin
10150 (method url-fetch)
10151 (uri (string-append
10152 "https://hackage.haskell.org/package/rerebase/rerebase-"
10153 version ".tar.gz"))
10154 (sha256
10155 (base32
cdec7b8c 10156 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10157 (build-system haskell-build-system)
10158 (inputs
10159 `(("ghc-rebase" ,ghc-rebase)))
10160 (home-page "https://github.com/nikita-volkov/rerebase")
10161 (synopsis "Reexports from ``base'' with many other standard libraries")
10162 (description "A rich drop-in replacement for @code{base}. For details and
10163documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10164the project's home page}.")
10165 (license license:expat)))
10166
10167(define-public ghc-resolv
10168 (package
10169 (name "ghc-resolv")
87309478 10170 (version "0.1.1.2")
dddbc90c
RV
10171 (source
10172 (origin
10173 (method url-fetch)
10174 (uri (string-append
10175 "https://hackage.haskell.org/package/resolv/resolv-"
10176 version ".tar.gz"))
10177 (sha256
10178 (base32
87309478 10179 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10180 (build-system haskell-build-system)
10181 (arguments
87309478
TS
10182 `(#:phases
10183 (modify-phases %standard-phases
10184 (add-before 'configure 'update-constraints
10185 (lambda _
10186 (substitute* "resolv.cabal"
10187 (("tasty >= 1\\.1 && < 1\\.2")
10188 "tasty >= 1.1 && < 1.3"))
10189 #t)))))
dddbc90c
RV
10190 (inputs
10191 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10192 (native-inputs
10193 `(("ghc-tasty" ,ghc-tasty)
10194 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10195 (home-page "https://github.com/haskell/hackage-security")
10196 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10197 (description "This package implements an API for accessing the
10198@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10199resolver service via the standard @code{libresolv} system library (whose
10200API is often available directly via the standard @code{libc} C library) on
10201Unix systems.")
10202 (license license:gpl3)))
10203
10204(define-public ghc-resource-pool
10205 (package
10206 (name "ghc-resource-pool")
10207 (version "0.2.3.2")
10208 (source
10209 (origin
10210 (method url-fetch)
10211 (uri (string-append "https://hackage.haskell.org/package/"
10212 "resource-pool-" version "/"
10213 "resource-pool-" version ".tar.gz"))
10214 (sha256
10215 (base32
10216 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10217 (build-system haskell-build-system)
10218 (inputs `(("ghc-hashable" ,ghc-hashable)
10219 ("ghc-monad-control" ,ghc-monad-control)
10220 ("ghc-transformers-base" ,ghc-transformers-base)
10221 ("ghc-vector" ,ghc-vector)))
10222 (home-page "https://github.com/bos/pool")
10223 (synopsis "Striped resource pooling implementation in Haskell")
10224 (description "This Haskell package provides striped pooling abstraction
10225for managing flexibly-sized collections of resources such as database
10226connections.")
10227 (license license:bsd-3)))
10228
10229(define-public ghc-resourcet
10230 (package
10231 (name "ghc-resourcet")
9ac341ac 10232 (version "1.2.2")
dddbc90c
RV
10233 (source
10234 (origin
10235 (method url-fetch)
10236 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10237 "resourcet-" version ".tar.gz"))
10238 (sha256
10239 (base32
9ac341ac 10240 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10241 (build-system haskell-build-system)
10242 (inputs
10243 `(("ghc-transformers-base" ,ghc-transformers-base)
10244 ("ghc-monad-control" ,ghc-monad-control)
10245 ("ghc-transformers-compat" ,ghc-transformers-compat)
10246 ("ghc-mmorph" ,ghc-mmorph)
10247 ("ghc-exceptions" ,ghc-exceptions)
10248 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10249 (native-inputs
10250 `(("ghc-lifted-base" ,ghc-lifted-base)
10251 ("ghc-hspec" ,ghc-hspec)))
10252 (home-page "https://github.com/snoyberg/conduit")
10253 (synopsis "Deterministic allocation and freeing of scarce resources")
10254 (description "ResourceT is a monad transformer which creates a region of
10255code where you can safely allocate resources.")
10256 (license license:bsd-3)))
10257
b9debc37
TS
10258(define-public ghc-retry
10259 (package
10260 (name "ghc-retry")
10261 (version "0.8.1.0")
10262 (source
10263 (origin
10264 (method url-fetch)
10265 (uri (string-append "https://hackage.haskell.org/package/"
10266 "retry/retry-" version ".tar.gz"))
10267 (sha256
10268 (base32
10269 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10270 (build-system haskell-build-system)
10271 (inputs
10272 `(("ghc-exceptions" ,ghc-exceptions)
10273 ("ghc-random" ,ghc-random)))
10274 (native-inputs
10275 `(("ghc-hunit" ,ghc-hunit)
10276 ("ghc-tasty" ,ghc-tasty)
10277 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10278 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10279 ("ghc-hedgehog" ,ghc-hedgehog)))
10280 (home-page "http://github.com/Soostone/retry")
10281 (synopsis "Retry combinators for monadic actions that may fail")
10282 (description "This package exposes combinators that can wrap
10283arbitrary monadic actions. They run the action and potentially retry
10284running it with some configurable delay for a configurable number of
10285times. The purpose is to make it easier to work with IO and especially
10286network IO actions that often experience temporary failure and warrant
10287retrying of the original action. For example, a database query may time
10288out for a while, in which case we should hang back for a bit and retry
10289the query instead of simply raising an exception.")
10290 (license license:bsd-3)))
10291
dddbc90c
RV
10292(define-public ghc-rfc5051
10293 (package
10294 (name "ghc-rfc5051")
ec42ab7c 10295 (version "0.1.0.4")
dddbc90c
RV
10296 (source
10297 (origin
10298 (method url-fetch)
10299 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10300 "rfc5051-" version ".tar.gz"))
10301 (sha256
10302 (base32
ec42ab7c 10303 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10304 (build-system haskell-build-system)
10305 (home-page "https://hackage.haskell.org/package/rfc5051")
10306 (synopsis "Simple unicode collation as per RFC5051")
10307 (description
10308 "This library implements @code{unicode-casemap}, the simple, non
10309locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10310unicode collation can be done using @code{text-icu}, but that is a big
10311dependency that depends on a large C library, and @code{rfc5051} might be
10312better for some purposes.")
10313 (license license:bsd-3)))
10314
10315(define-public ghc-rio
10316 (package
10317 (name "ghc-rio")
8bda2fa7 10318 (version "0.1.12.0")
dddbc90c
RV
10319 (source
10320 (origin
10321 (method url-fetch)
10322 (uri (string-append
10323 "https://hackage.haskell.org/package/rio/rio-"
10324 version ".tar.gz"))
10325 (sha256
10326 (base32
8bda2fa7 10327 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10328 (build-system haskell-build-system)
10329 (inputs
10330 `(("ghc-exceptions" ,ghc-exceptions)
10331 ("ghc-hashable" ,ghc-hashable)
10332 ("ghc-microlens" ,ghc-microlens)
10333 ("ghc-primitive" ,ghc-primitive)
10334 ("ghc-typed-process" ,ghc-typed-process)
10335 ("ghc-unliftio" ,ghc-unliftio)
10336 ("ghc-unordered-containers" ,ghc-unordered-containers)
10337 ("ghc-vector" ,ghc-vector)))
10338 (native-inputs
10339 `(("ghc-hspec" ,ghc-hspec)
10340 ("hspec-discover" ,hspec-discover)))
10341 (home-page "https://github.com/commercialhaskell/rio#readme")
10342 (synopsis "A standard library for Haskell")
10343 (description "This package works as a prelude replacement for Haskell,
10344providing more functionality and types out of the box than the standard
10345prelude (such as common data types like @code{ByteString} and
10346@code{Text}), as well as removing common ``gotchas'', like partial
10347functions and lazy I/O. The guiding principle here is:
10348@itemize
10349@item If something is safe to use in general and has no expected naming
10350conflicts, expose it.
10351@item If something should not always be used, or has naming conflicts,
10352expose it from another module in the hierarchy.
10353@end itemize")
10354 (license license:expat)))
10355
10356(define-public ghc-safe
10357 (package
10358 (name "ghc-safe")
10359 (version "0.3.17")
10360 (source
10361 (origin
10362 (method url-fetch)
10363 (uri (string-append
10364 "https://hackage.haskell.org/package/safe/safe-"
10365 version
10366 ".tar.gz"))
10367 (sha256
10368 (base32
10369 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10370 (build-system haskell-build-system)
10371 (native-inputs
10372 `(("ghc-quickcheck" ,ghc-quickcheck)))
10373 (home-page "https://github.com/ndmitchell/safe#readme")
10374 (synopsis "Library of safe (exception free) functions")
10375 (description "This library provides wrappers around @code{Prelude} and
10376@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10377exceptions.")
10378 (license license:bsd-3)))
10379
10380(define-public ghc-safe-exceptions
10381 (package
10382 (name "ghc-safe-exceptions")
10383 (version "0.1.7.0")
10384 (source
10385 (origin
10386 (method url-fetch)
10387 (uri (string-append "https://hackage.haskell.org/package/"
10388 "safe-exceptions/safe-exceptions-"
10389 version ".tar.gz"))
10390 (sha256
10391 (base32
10392 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10393 (build-system haskell-build-system)
10394 (arguments
10395 '(#:cabal-revision
10396 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10397 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10398 (native-inputs
10399 `(("ghc-hspec" ,ghc-hspec)
10400 ("ghc-void" ,ghc-void)
10401 ("hspec-discover" ,hspec-discover)))
10402 (home-page "https://github.com/fpco/safe-exceptions")
10403 (synopsis "Safe, consistent, and easy exception handling")
10404 (description "Runtime exceptions - as exposed in @code{base} by the
10405@code{Control.Exception} module - have long been an intimidating part of the
10406Haskell ecosystem. This package is intended to overcome this. It provides a
10407safe and simple API on top of the existing exception handling machinery. The
10408API is equivalent to the underlying implementation in terms of power but
10409encourages best practices to minimize the chances of getting the exception
10410handling wrong.")
10411 (license license:expat)))
10412
10413(define-public ghc-safeio
10414 (package
10415 (name "ghc-safeio")
10416 (version "0.0.5.0")
10417 (source
10418 (origin
10419 (method url-fetch)
10420 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10421 "safeio-" version ".tar.gz"))
10422 (sha256
10423 (base32
10424 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10425 (build-system haskell-build-system)
10426 (inputs
10427 `(("ghc-conduit" ,ghc-conduit)
10428 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10429 ("ghc-exceptions" ,ghc-exceptions)
10430 ("ghc-resourcet" ,ghc-resourcet)))
10431 (native-inputs
10432 `(("ghc-hunit" ,ghc-hunit)
10433 ("ghc-test-framework" ,ghc-test-framework)
10434 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10435 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10436 (home-page "https://github.com/luispedro/safeio")
10437 (synopsis "Write output to disk atomically")
10438 (description
10439 "This package implements utilities to perform atomic output so as to
10440avoid the problem of partial intermediate files.")
10441 (license license:expat)))
10442
10443(define-public ghc-safesemaphore
10444 (package
10445 (name "ghc-safesemaphore")
10446 (version "0.10.1")
10447 (source
10448 (origin
10449 (method url-fetch)
10450 (uri (string-append "https://hackage.haskell.org/package/"
10451 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10452 (sha256
10453 (base32
10454 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10455 (build-system haskell-build-system)
10456 (native-inputs
10457 `(("ghc-hunit" ,ghc-hunit)))
10458 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10459 (synopsis "Exception safe semaphores")
10460 (description "This library provides exception safe semaphores that can be
10461used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10462are not exception safe and can be broken by @code{killThread}.")
10463 (license license:bsd-3)))
10464
10465(define-public ghc-sandi
10466 (package
10467 (name "ghc-sandi")
b867c2b0 10468 (version "0.5")
dddbc90c
RV
10469 (source
10470 (origin
10471 (method url-fetch)
10472 (uri (string-append
10473 "https://hackage.haskell.org/package/sandi/sandi-"
10474 version ".tar.gz"))
10475 (sha256
10476 (base32
b867c2b0 10477 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10478 (build-system haskell-build-system)
10479 (inputs
10480 `(("ghc-stringsearch" ,ghc-stringsearch)
10481 ("ghc-conduit" ,ghc-conduit)
10482 ("ghc-exceptions" ,ghc-exceptions)
10483 ("ghc-hunit" ,ghc-hunit)
10484 ("ghc-tasty" ,ghc-tasty)
10485 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10486 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10487 ("ghc-tasty-th" ,ghc-tasty-th)))
10488 (home-page "https://hackage.haskell.org/package/sandi")
10489 (synopsis "Data encoding library")
10490 (description "Reasonably fast data encoding library.")
10491 (license license:bsd-3)))
10492
4da75228
ASM
10493(define-public ghc-say
10494 (package
10495 (name "ghc-say")
10496 (version "0.1.0.1")
10497 (source
10498 (origin
10499 (method url-fetch)
10500 (uri (string-append
10501 "https://hackage.haskell.org/package/say/say-"
10502 version
10503 ".tar.gz"))
10504 (sha256
10505 (base32
10506 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10507 (build-system haskell-build-system)
10508 (native-inputs
10509 `(("ghc-hspec" ,ghc-hspec)
10510 ("hspec-discover" ,hspec-discover)
10511 ("ghc-unliftio" ,ghc-unliftio)))
10512 (home-page "https://github.com/fpco/say")
10513 (synopsis
10514 "Send textual messages to a Handle in a thread-friendly way")
10515 (description
10516 "A thread safe API to write a line of textual data to a Handle, such
10517as sending some messages to the terminal - that has the following properties:
10518@itemize
10519@item Properly handle character encoding settings on the Handle
10520@item For reasonably sized messages, ensure that the entire message is written
10521 in one chunk to avoid interleaving data with other threads
10522@item Avoid unnecessary memory allocations and copies
10523@item Minimize locking.
10524@end itemize")
10525 (license license:expat)))
10526
dddbc90c
RV
10527(define-public ghc-scientific
10528 (package
10529 (name "ghc-scientific")
10530 (version "0.3.6.2")
10531 (source
10532 (origin
10533 (method url-fetch)
10534 (uri (string-append
10535 "https://hackage.haskell.org/package/scientific/scientific-"
10536 version
10537 ".tar.gz"))
10538 (sha256
10539 (base32
10540 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10541 (build-system haskell-build-system)
10542 (inputs
10543 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10544 ("ghc-hashable" ,ghc-hashable)
10545 ("ghc-primitive" ,ghc-primitive)))
10546 (native-inputs
10547 `(("ghc-tasty" ,ghc-tasty)
10548 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10549 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10550 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10551 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10552 ("ghc-smallcheck" ,ghc-smallcheck)
10553 ("ghc-quickcheck" ,ghc-quickcheck)))
10554 (home-page "https://github.com/basvandijk/scientific")
10555 (synopsis "Numbers represented using scientific notation")
10556 (description "This package provides @code{Data.Scientific}, which provides
10557the number type @code{Scientific}. Scientific numbers are arbitrary precision
10558and space efficient. They are represented using
10559@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10560notation}.")
10561 (license license:bsd-3)))
10562
10563(define-public ghc-scientific-bootstrap
10564 (package
10565 (inherit ghc-scientific)
10566 (name "ghc-scientific-bootstrap")
10567 (arguments `(#:tests? #f))
10568 (inputs
10569 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10570 ("ghc-hashable" ,ghc-hashable)
10571 ("ghc-primitive" ,ghc-primitive)))
10572 (native-inputs '())
799d8d3c 10573 (properties '((hidden? #t)))))
dddbc90c
RV
10574
10575(define-public ghc-sdl
10576 (package
10577 (name "ghc-sdl")
10578 (version "0.6.7.0")
10579 (source
10580 (origin
10581 (method url-fetch)
10582 (uri (string-append
10583 "https://hackage.haskell.org/package/SDL/SDL-"
10584 version
10585 ".tar.gz"))
10586 (sha256
10587 (base32
10588 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10589 (build-system haskell-build-system)
10590 (inputs
10591 `(("sdl" ,sdl)))
10592 (home-page "https://hackage.haskell.org/package/SDL")
10593 (synopsis "LibSDL for Haskell")
10594 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10595multimedia library designed to provide low level access to audio, keyboard,
10596mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10597by MPEG playback software, emulators, and many popular games, including the
10598award winning Linux port of \"Civilization: Call To Power.\"")
10599 (license license:bsd-3)))
10600
1874cdc1
RV
10601(define-public ghc-sdl2
10602 (package
10603 (name "ghc-sdl2")
145148ca 10604 (version "2.5.0.0")
1874cdc1
RV
10605 (source
10606 (origin
10607 (method url-fetch)
10608 (uri (string-append "https://hackage.haskell.org/package/"
10609 "sdl2/sdl2-" version ".tar.gz"))
10610 (sha256
10611 (base32
145148ca 10612 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10613 (build-system haskell-build-system)
10614 (arguments '(#:tests? #f)) ; tests require graphical environment
10615 (inputs
10616 `(("ghc-exceptions" ,ghc-exceptions)
10617 ("ghc-linear" ,ghc-linear)
10618 ("ghc-statevar" ,ghc-statevar)
10619 ("ghc-vector" ,ghc-vector)
10620 ("sdl2" ,sdl2)))
10621 (native-inputs
10622 `(("ghc-weigh" ,ghc-weigh)
10623 ("pkg-config" ,pkg-config)))
35437dbf 10624 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10625 (synopsis "High- and low-level bindings to the SDL library")
10626 (description
10627 "This package contains bindings to the SDL 2 library, in both high- and
10628low-level forms. The @code{SDL} namespace contains high-level bindings, where
10629enumerations are split into sum types, and we perform automatic
10630error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10631translation of the C API into Haskell FFI calls. As such, this does not
10632contain sum types nor error checking. Thus this namespace is suitable for
10633building your own abstraction over SDL, but is not recommended for day-to-day
10634programming.")
10635 (license license:bsd-3)))
10636
10637(define-public ghc-sdl2-image
10638 (package
10639 (name "ghc-sdl2-image")
10640 (version "2.0.0")
10641 (source
10642 (origin
10643 (method url-fetch)
10644 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10645 "sdl2-image-" version ".tar.gz"))
10646 (sha256
10647 (base32
10648 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10649 (build-system haskell-build-system)
10650 (inputs
10651 `(("ghc-sdl2" ,ghc-sdl2)
10652 ("sdl2-image" ,sdl2-image)))
10653 (native-inputs
10654 `(("pkg-config" ,pkg-config)))
3ef91e15 10655 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10656 (synopsis "Bindings to SDL2_image")
10657 (description "This package provides Haskell bindings to
10658@code{SDL2_image}.")
10659 (license license:expat)))
10660
10661(define-public ghc-sdl2-mixer
10662 (package
10663 (name "ghc-sdl2-mixer")
10664 (version "1.1.0")
10665 (source
10666 (origin
10667 (method url-fetch)
10668 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10669 "sdl2-mixer-" version ".tar.gz"))
10670 (sha256
10671 (base32
10672 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10673 (build-system haskell-build-system)
10674 (inputs
10675 `(("ghc-data-default-class" ,ghc-data-default-class)
10676 ("ghc-lifted-base" ,ghc-lifted-base)
10677 ("ghc-monad-control" ,ghc-monad-control)
10678 ("ghc-sdl2" ,ghc-sdl2)
10679 ("ghc-vector" ,ghc-vector)
10680 ("sdl2-mixer" ,sdl2-mixer)))
10681 (native-inputs
10682 `(("pkg-config" ,pkg-config)))
3ef91e15 10683 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10684 (synopsis "Bindings to SDL2 mixer")
10685 (description "This package provides Haskell bindings to
10686@code{SDL2_mixer}.")
10687 (license license:bsd-3)))
10688
dddbc90c
RV
10689(define-public ghc-sdl-image
10690 (package
10691 (name "ghc-sdl-image")
10692 (version "0.6.2.0")
10693 (source
10694 (origin
10695 (method url-fetch)
10696 (uri (string-append
10697 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10698 version
10699 ".tar.gz"))
10700 (sha256
10701 (base32
10702 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10703 (build-system haskell-build-system)
10704 (arguments
10705 `(#:configure-flags
10706 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10707 (sdl-image-include (string-append sdl-image "/include/SDL")))
10708 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10709 (inputs
10710 `(("ghc-sdl" ,ghc-sdl)
10711 ("sdl-image" ,sdl-image)))
10712 (home-page "https://hackage.haskell.org/package/SDL-image")
10713 (synopsis "Haskell bindings to libSDL_image")
10714 (description "SDL_image is an image file loading library. It loads images
10715as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10716PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10717 (license license:bsd-3)))
10718
10719(define-public ghc-sdl-mixer
10720 (package
10721 (name "ghc-sdl-mixer")
10722 (version "0.6.3.0")
10723 (source
10724 (origin
10725 (method url-fetch)
10726 (uri (string-append
10727 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10728 version
10729 ".tar.gz"))
10730 (sha256
10731 (base32
10732 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10733 (build-system haskell-build-system)
10734 (arguments
10735 `(#:configure-flags
10736 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10737 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10738 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10739 (inputs
10740 `(("ghc-sdl" ,ghc-sdl)
10741 ("sdl-mixer" ,sdl-mixer)))
10742 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10743 (synopsis "Haskell bindings to libSDL_mixer")
10744 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10745supports any number of simultaneously playing channels of 16 bit stereo audio,
10746plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10747MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10748 (license license:bsd-3)))
10749
10750(define-public ghc-securemem
10751 (package
10752 (name "ghc-securemem")
10753 (version "0.1.10")
10754 (source
10755 (origin
10756 (method url-fetch)
10757 (uri (string-append "https://hackage.haskell.org/package/"
10758 "securemem-" version "/"
10759 "securemem-" version ".tar.gz"))
10760 (sha256
10761 (base32
10762 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10763 (build-system haskell-build-system)
10764 (inputs `(("ghc-byteable" ,ghc-byteable)
10765 ("ghc-memory" ,ghc-memory)))
10766 (home-page "https://github.com/vincenthz/hs-securemem")
10767 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10768Haskell")
10769 (description "SecureMem is similar to ByteString, except that it provides
10770a memory chunk that will be auto-scrubbed after it run out of scope.")
10771 (license license:bsd-3)))
10772
3cf7219c
JS
10773(define-public ghc-semialign
10774 (package
10775 (name "ghc-semialign")
10776 (version "1")
10777 (source
10778 (origin
10779 (method url-fetch)
10780 (uri (string-append
10781 "https://hackage.haskell.org/package/semialign/semialign-"
10782 version
10783 ".tar.gz"))
10784 (sha256
10785 (base32
10786 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
10787 (build-system haskell-build-system)
10788 (inputs
10789 `(("ghc-these" ,ghc-these)
10790 ("ghc-base-compat" ,ghc-base-compat)
10791 ("ghc-hashable" ,ghc-hashable)
10792 ("ghc-tagged" ,ghc-tagged)
10793 ("ghc-unordered-containers" ,ghc-unordered-containers)
10794 ("ghc-vector" ,ghc-vector)
10795 ("ghc-semigroupoids" ,ghc-semigroupoids)))
10796 (arguments
10797 `(#:cabal-revision
10798 ("1"
10799 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
10800 (home-page
10801 "https://github.com/isomorphism/these")
10802 (synopsis
10803 "Align and Zip type-classes from the common Semialign ancestor ")
10804 (description
10805 "The major use of @code{These} of this is provided by the
10806@code{align} member of @code{Semialign} class, representing a
10807generalized notion of \"zipping with padding\" that combines
10808structures without truncating to the size of the smaller input. It
10809turns out that @code{zip} operation fits well the @code{Semialign}
10810class, forming lattice-like structure.")
10811 (license license:bsd-3)))
10812
dddbc90c
RV
10813(define-public ghc-semigroupoids
10814 (package
10815 (name "ghc-semigroupoids")
a8aaadf2 10816 (version "5.3.3")
dddbc90c
RV
10817 (source
10818 (origin
10819 (method url-fetch)
10820 (uri (string-append
10821 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10822 version
10823 ".tar.gz"))
10824 (sha256
10825 (base32
a8aaadf2 10826 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10827 (build-system haskell-build-system)
dddbc90c
RV
10828 (inputs
10829 `(("ghc-base-orphans" ,ghc-base-orphans)
10830 ("ghc-transformers-compat" ,ghc-transformers-compat)
10831 ("ghc-bifunctors" ,ghc-bifunctors)
10832 ("ghc-comonad" ,ghc-comonad)
10833 ("ghc-contravariant" ,ghc-contravariant)
10834 ("ghc-distributive" ,ghc-distributive)
10835 ("ghc-hashable" ,ghc-hashable)
10836 ("ghc-semigroups" ,ghc-semigroups)
10837 ("ghc-tagged" ,ghc-tagged)
10838 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10839 (native-inputs
10840 `(("cabal-doctest" ,cabal-doctest)
10841 ("ghc-doctest" ,ghc-doctest)))
10842 (home-page "https://github.com/ekmett/semigroupoids")
10843 (synopsis "Semigroupoids operations for Haskell")
10844 (description "This library provides a wide array of (semi)groupoids and
10845operations for working with them. A @code{Semigroupoid} is a @code{Category}
10846without the requirement of identity arrows for every object in the category.
10847A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10848Finally, to work with these weaker structures it is beneficial to have
10849containers that can provide stronger guarantees about their contents, so
10850versions of @code{Traversable} and @code{Foldable} that can be folded with
10851just a @code{Semigroup} are added.")
10852 (license license:bsd-3)))
10853
10854(define-public ghc-semigroups
10855 (package
10856 (name "ghc-semigroups")
10857 (version "0.18.5")
10858 (source
10859 (origin
10860 (method url-fetch)
10861 (uri (string-append
10862 "https://hackage.haskell.org/package/semigroups/semigroups-"
10863 version
10864 ".tar.gz"))
10865 (sha256
10866 (base32
10867 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10868 (build-system haskell-build-system)
10869 (inputs
10870 `(("ghc-nats" ,ghc-nats)
10871 ("ghc-tagged" ,ghc-tagged)
10872 ("ghc-unordered-containers" ,ghc-unordered-containers)
10873 ("ghc-hashable" ,ghc-hashable)))
10874 (home-page "https://github.com/ekmett/semigroups/")
10875 (synopsis "Semigroup operations for Haskell")
10876 (description "This package provides semigroups for Haskell. In
10877mathematics, a semigroup is an algebraic structure consisting of a set
10878together with an associative binary operation. A semigroup generalizes a
10879monoid in that there might not exist an identity element. It
10880also (originally) generalized a group (a monoid with all inverses) to a type
10881where every element did not have to have an inverse, thus the name
10882semigroup.")
10883 (license license:bsd-3)))
10884
10885(define-public ghc-semigroups-bootstrap
10886 (package
10887 (inherit ghc-semigroups)
10888 (name "ghc-semigroups-bootstrap")
10889 (inputs
10890 `(("ghc-nats" ,ghc-nats-bootstrap)
10891 ("ghc-tagged" ,ghc-tagged)
10892 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10893 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10894 (properties '((hidden? #t)))))
dddbc90c 10895
47c526df
JS
10896(define-public ghc-serialise
10897 (package
10898 (name "ghc-serialise")
10899 (version "0.2.1.0")
10900 (source
10901 (origin
10902 (method url-fetch)
10903 (uri (string-append
10904 "mirror://hackage/package/serialise/serialise-"
10905 version
10906 ".tar.gz"))
10907 (sha256
10908 (base32
10909 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
10910 (build-system haskell-build-system)
10911 (inputs
10912 `(("ghc-cborg" ,ghc-cborg)
10913 ("ghc-half" ,ghc-half)
10914 ("ghc-hashable" ,ghc-hashable)
10915 ("ghc-primitive" ,ghc-primitive)
10916 ("ghc-unordered-containers" ,ghc-unordered-containers)
10917 ("ghc-vector" ,ghc-vector)))
10918 (native-inputs
10919 `(("ghc-quickcheck" ,ghc-quickcheck)
10920 ("ghc-tasty" ,ghc-tasty)
10921 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10922 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10923 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
10924 (arguments
10925 `(#:cabal-revision
10926 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
10927 (home-page "https://github.com/well-typed/cborg")
10928 (synopsis "Binary serialisation library for Haskell values")
10929 (description
10930 "This package (formerly binary-serialise-cbor) provides pure,
10931efficient serialization of Haskell values directly into ByteStrings for
10932storage or transmission purposes. By providing a set of type class instances,
10933you can also serialise any custom data type you have as well.
10934
10935The underlying binary format used is the 'Concise Binary Object
10936Representation', or CBOR, specified in RFC 7049. As a result, serialised
10937Haskell values have implicit structure outside of the Haskell program itself,
10938meaning they can be inspected or analyzed without custom tools.
10939
10940An implementation of the standard bijection between CBOR and JSON is
10941provided by the https://hackage.haskell.org/package/cborg-json
10942package. Also see https://hackage.haskell.org/package/cbor-tool for a
10943convenient command-line utility for working with CBOR data.")
10944 (license license:bsd-3)))
10945
dddbc90c
RV
10946(define-public ghc-setenv
10947 (package
10948 (name "ghc-setenv")
10949 (version "0.1.1.3")
10950 (source
10951 (origin
10952 (method url-fetch)
10953 (uri (string-append
10954 "https://hackage.haskell.org/package/setenv/setenv-"
10955 version
10956 ".tar.gz"))
10957 (sha256
10958 (base32
10959 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10960 (build-system haskell-build-system)
10961 (home-page "https://hackage.haskell.org/package/setenv")
10962 (synopsis "Library for setting environment variables")
10963 (description "This package provides a Haskell library for setting
10964environment variables.")
10965 (license license:expat)))
10966
10967(define-public ghc-setlocale
10968 (package
10969 (name "ghc-setlocale")
9d7cfc9b 10970 (version "1.0.0.9")
dddbc90c
RV
10971 (source (origin
10972 (method url-fetch)
10973 (uri (string-append
10974 "https://hackage.haskell.org/package/setlocale-"
10975 version "/setlocale-" version ".tar.gz"))
10976 (sha256
10977 (base32
9d7cfc9b 10978 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10979 (build-system haskell-build-system)
10980 (home-page "https://hackage.haskell.org/package/setlocale")
10981 (synopsis "Haskell bindings to setlocale")
10982 (description "This package provides Haskell bindings to the
10983@code{setlocale} C function.")
10984 (license license:bsd-3)))
10985
10986(define-public ghc-shakespeare
10987 (package
10988 (name "ghc-shakespeare")
f680955f 10989 (version "2.0.22")
dddbc90c
RV
10990 (source
10991 (origin
10992 (method url-fetch)
10993 (uri (string-append "https://hackage.haskell.org/package/"
10994 "shakespeare-" version "/"
10995 "shakespeare-" version ".tar.gz"))
10996 (sha256
10997 (base32
f680955f 10998 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10999 (build-system haskell-build-system)
11000 (inputs `(("ghc-aeson" ,ghc-aeson)
11001 ("ghc-blaze-markup" ,ghc-blaze-markup)
11002 ("ghc-blaze-html" ,ghc-blaze-html)
11003 ("ghc-exceptions" ,ghc-exceptions)
11004 ("ghc-vector" ,ghc-vector)
11005 ("ghc-unordered-containers" ,ghc-unordered-containers)
11006 ("ghc-scientific" ,ghc-scientific)))
11007 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11008 ("ghc-hunit" ,ghc-hunit)
11009 ("hspec-discover" ,hspec-discover)))
11010 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11011 (synopsis "Family of type-safe template languages for Haskell")
11012 (description "This Haskell package provides a family of type-safe
11013templates with simple variable interpolation. Shakespeare templates can
11014be used inline with a quasi-quoter or in an external file and it
11015interpolates variables according to the type being inserted.")
11016 (license license:expat)))
11017
11018(define-public ghc-shelly
11019 (package
11020 (name "ghc-shelly")
11021 (version "1.8.1")
11022 (source
11023 (origin
11024 (method url-fetch)
11025 (uri (string-append
11026 "https://hackage.haskell.org/package/shelly/shelly-"
11027 version ".tar.gz"))
11028 (sha256
11029 (base32
11030 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11031 (build-system haskell-build-system)
11032 (inputs
11033 `(("ghc-unix-compat" ,ghc-unix-compat)
11034 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11035 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11036 ("ghc-monad-control" ,ghc-monad-control)
11037 ("ghc-lifted-base" ,ghc-lifted-base)
11038 ("ghc-lifted-async" ,ghc-lifted-async)
11039 ("ghc-exceptions" ,ghc-exceptions)
11040 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11041 ("ghc-async" ,ghc-async)
11042 ("ghc-transformers-base" ,ghc-transformers-base)
11043 ("ghc-hunit" ,ghc-hunit)
11044 ("ghc-hspec" ,ghc-hspec)
11045 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11046 (home-page "https://github.com/yesodweb/Shelly.hs")
11047 (synopsis "Shell-like (systems) programming in Haskell")
11048 (description
11049 "Shelly provides convenient systems programming in Haskell, similar in
11050spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11051 (license license:bsd-3)))
11052
11053(define-public ghc-silently
11054 (package
11055 (name "ghc-silently")
544bb369 11056 (version "1.2.5.1")
dddbc90c
RV
11057 (source
11058 (origin
11059 (method url-fetch)
11060 (uri (string-append
11061 "https://hackage.haskell.org/package/silently/silently-"
11062 version
11063 ".tar.gz"))
11064 (sha256
11065 (base32
544bb369 11066 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11067 (build-system haskell-build-system)
11068 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11069 ;; (inputs
11070 ;; `(("ghc-temporary" ,ghc-temporary)))
11071 (home-page "https://github.com/hspec/silently")
11072 (synopsis "Prevent writing to stdout")
11073 (description "This package provides functions to prevent or capture
11074writing to stdout and other handles.")
11075 (license license:bsd-3)))
11076
11077(define-public ghc-simple-reflect
11078 (package
11079 (name "ghc-simple-reflect")
11080 (version "0.3.3")
11081 (source
11082 (origin
11083 (method url-fetch)
11084 (uri (string-append
11085 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11086 version
11087 ".tar.gz"))
11088 (sha256
11089 (base32
11090 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11091 (build-system haskell-build-system)
11092 (home-page
11093 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11094 (synopsis
11095 "Simple reflection of expressions containing variables")
11096 (description
11097 "This package allows simple reflection of expressions containing
11098variables. Reflection here means that a Haskell expression is turned into a
11099string. The primary aim of this package is teaching and understanding; there
11100are no options for manipulating the reflected expressions beyond showing
11101them.")
11102 (license license:bsd-3)))
11103
11104(define-public ghc-simple-sendfile
11105 (package
11106 (name "ghc-simple-sendfile")
08f54390 11107 (version "0.2.30")
dddbc90c
RV
11108 (source
11109 (origin
11110 (method url-fetch)
11111 (uri (string-append "https://hackage.haskell.org/package/"
11112 "simple-sendfile-" version "/"
11113 "simple-sendfile-" version ".tar.gz"))
11114 (sha256
11115 (base32
08f54390 11116 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11117 (build-system haskell-build-system)
11118 (inputs
11119 `(("ghc-conduit" ,ghc-conduit)
11120 ("ghc-conduit-extra" ,ghc-conduit-extra)
11121 ("ghc-network" ,ghc-network)
11122 ("ghc-resourcet" ,ghc-resourcet)))
11123 (native-inputs
11124 `(("ghc-hspec" ,ghc-hspec)
11125 ("hspec-discover" ,hspec-discover)))
11126 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11127 (synopsis "Cross platform library for the sendfile system call")
11128 (description "This library tries to call minimum system calls which
11129are the bottleneck of web servers.")
11130 (license license:bsd-3)))
11131
06966c05
TS
11132(define-public ghc-size-based
11133 (package
11134 (name "ghc-size-based")
11135 (version "0.1.2.0")
11136 (source
11137 (origin
11138 (method url-fetch)
11139 (uri (string-append "https://hackage.haskell.org/package/"
11140 "size-based/size-based-" version ".tar.gz"))
11141 (sha256
11142 (base32
11143 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11144 (build-system haskell-build-system)
11145 (inputs
11146 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11147 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11148 ("ghc-semigroups" ,ghc-semigroups)))
11149 (arguments
11150 `(#:cabal-revision
11151 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11152 (home-page "https://hackage.haskell.org/package/size-based")
11153 (synopsis "Sized functors for size-based enumerations")
11154 (description "This library provides a framework for size-based
11155enumerations.")
11156 (license license:bsd-3)))
11157
dddbc90c
RV
11158(define-public ghc-skylighting-core
11159 (package
11160 (name "ghc-skylighting-core")
1826c2a8 11161 (version "0.8.2.1")
dddbc90c
RV
11162 (source (origin
11163 (method url-fetch)
11164 (uri (string-append "https://hackage.haskell.org/package/"
11165 "skylighting-core/skylighting-core-"
11166 version ".tar.gz"))
11167 (sha256
11168 (base32
1826c2a8 11169 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11170 (build-system haskell-build-system)
11171 (inputs
11172 `(("ghc-aeson" ,ghc-aeson)
11173 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11174 ("ghc-attoparsec" ,ghc-attoparsec)
11175 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11176 ("ghc-blaze-html" ,ghc-blaze-html)
11177 ("ghc-case-insensitive" ,ghc-case-insensitive)
11178 ("ghc-colour" ,ghc-colour)
11179 ("ghc-hxt" ,ghc-hxt)
11180 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11181 ("ghc-safe" ,ghc-safe)
11182 ("ghc-utf8-string" ,ghc-utf8-string)))
11183 (native-inputs
11184 `(("ghc-diff" ,ghc-diff)
11185 ("ghc-hunit" ,ghc-hunit)
11186 ("ghc-pretty-show" ,ghc-pretty-show)
11187 ("ghc-quickcheck" ,ghc-quickcheck)
11188 ("ghc-tasty" ,ghc-tasty)
11189 ("ghc-tasty-golden" ,ghc-tasty-golden)
11190 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11191 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11192 (home-page "https://github.com/jgm/skylighting")
11193 (synopsis "Syntax highlighting library")
11194 (description "Skylighting is a syntax highlighting library with support
11195for over one hundred languages. It derives its tokenizers from XML syntax
11196definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11197supported by that framework can be added. An optional command-line program is
11198provided. Skylighting is intended to be the successor to highlighting-kate.")
11199 (license license:gpl2)))
11200
11201(define-public ghc-skylighting
11202 (package
11203 (inherit ghc-skylighting-core)
11204 (name "ghc-skylighting")
36c940cf 11205 (version "0.8.2.1")
dddbc90c
RV
11206 (source (origin
11207 (method url-fetch)
11208 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11209 version "/skylighting-" version ".tar.gz"))
11210 (sha256
11211 (base32
36c940cf 11212 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11213 (inputs
11214 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11215 ,@(package-inputs ghc-skylighting-core)))))
11216
11217(define-public ghc-smallcheck
11218 (package
11219 (name "ghc-smallcheck")
11220 (version "1.1.5")
11221 (source
11222 (origin
11223 (method url-fetch)
11224 (uri (string-append
11225 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11226 version
11227 ".tar.gz"))
11228 (sha256
11229 (base32
11230 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11231 (build-system haskell-build-system)
11232 (inputs
11233 `(("ghc-logict" ,ghc-logict)))
11234 (home-page
11235 "https://github.com/feuerbach/smallcheck")
11236 (synopsis "Property-based testing library")
a84be333 11237 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11238properties for all test cases up to some depth. The test cases are generated
11239automatically by SmallCheck.")
11240 (license license:bsd-3)))
11241
11242(define-public ghc-socks
11243 (package
11244 (name "ghc-socks")
ab761e9d 11245 (version "0.6.1")
dddbc90c
RV
11246 (source (origin
11247 (method url-fetch)
11248 (uri (string-append "https://hackage.haskell.org/package/"
11249 "socks/socks-" version ".tar.gz"))
11250 (sha256
11251 (base32
ab761e9d 11252 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11253 (build-system haskell-build-system)
11254 (inputs
11255 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11256 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11257 ("ghc-network" ,ghc-network)))
11258 (home-page "https://github.com/vincenthz/hs-socks")
11259 (synopsis "SOCKS proxy (version 5) implementation")
11260 (description
11261 "This library provides a SOCKS proxy (version 5) implementation.")
11262 (license license:bsd-3)))
11263
081d85d6
TS
11264(define-public ghc-sop-core
11265 (package
11266 (name "ghc-sop-core")
11267 (version "0.4.0.0")
11268 (source
11269 (origin
11270 (method url-fetch)
11271 (uri (string-append "https://hackage.haskell.org/package/"
11272 "sop-core/sop-core-" version ".tar.gz"))
11273 (sha256
11274 (base32
11275 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11276 (build-system haskell-build-system)
3ef91e15 11277 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11278 (synopsis "True Sums of Products")
11279 (description "This package provides an implementation of
11280@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11281is the main module of this library and contains more detailed
11282documentation. The main use case of this package is to serve as the
11283core of @url{https://hackage.haskell.org/package/generics-sop,
11284generics-sop}.")
11285 (license license:bsd-3)))
11286
4c77a1a0
JS
11287(define-public ghc-special-values
11288 (package
11289 (name "ghc-special-values")
11290 (version "0.1.0.0")
11291 (source
11292 (origin
11293 (method url-fetch)
11294 (uri (string-append
11295 "https://hackage.haskell.org/package/special-values/"
11296 "special-values-" version ".tar.gz"))
11297 (sha256
11298 (base32
11299 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11300 (build-system haskell-build-system)
11301 (inputs
11302 `(("ghc-scientific" ,ghc-scientific)
11303 ("ghc-ieee754" ,ghc-ieee754)
11304 ("ghc-nats" ,ghc-nats)))
11305 (home-page
11306 "https://github.com/minad/special-values#readme")
11307 (synopsis "Typeclass providing special values")
11308 (description
11309 "Special values are provided by a SpecialValues typeclass. Those can be
11310used for example by QuickCheck, see quickcheck-special." )
11311 (license license:expat)))
11312
dddbc90c
RV
11313(define-public ghc-split
11314 (package
11315 (name "ghc-split")
11316 (version "0.2.3.3")
11317 (outputs '("out" "doc"))
11318 (source
11319 (origin
11320 (method url-fetch)
11321 (uri (string-append
11322 "https://hackage.haskell.org/package/split/split-"
11323 version
11324 ".tar.gz"))
11325 (sha256
11326 (base32
11327 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11328 (build-system haskell-build-system)
9bbc21a7
TS
11329 (arguments
11330 `(#:cabal-revision
11331 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11332 (native-inputs
11333 `(("ghc-quickcheck" ,ghc-quickcheck)))
11334 (home-page "https://hackage.haskell.org/package/split")
11335 (synopsis "Combinator library for splitting lists")
11336 (description "This package provides a collection of Haskell functions for
11337splitting lists into parts, akin to the @code{split} function found in several
11338mainstream languages.")
11339 (license license:bsd-3)))
11340
7799d17f 11341(define-public ghc-splitmix
49367c92 11342 (package
7799d17f 11343 (name "ghc-splitmix")
49367c92
TS
11344 (version "0.0.3")
11345 (source
11346 (origin
11347 (method url-fetch)
11348 (uri (string-append "https://hackage.haskell.org/package/"
11349 "splitmix/splitmix-" version ".tar.gz"))
11350 (sha256
11351 (base32
11352 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11353 (build-system haskell-build-system)
49367c92
TS
11354 (inputs
11355 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11356 (native-inputs
11357 `(("ghc-hunit" ,ghc-hunit)
11358 ("ghc-async" ,ghc-async)
11359 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11360 ("ghc-tf-random" ,ghc-tf-random)
11361 ("ghc-vector" ,ghc-vector)))
92a79fee 11362 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11363 (synopsis "Fast and splittable pseudorandom number generator")
11364 (description "This package provides a Pure Haskell implementation of the
11365SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11366pseudorandom number generator that is quite fast: 9 64-bit
11367arithmetic/logical operations per 64 bits generated. SplitMix is tested
11368with two standard statistical test suites (DieHarder and TestU01, this
11369implementation only using the former) and it appears to be adequate for
11370\"everyday\" use, such as Monte Carlo algorithms and randomized data
11371structures where speed is important. In particular, it @strong{should not
11372be used for cryptographic or security applications}, because generated
11373sequences of pseudorandom values are too predictable (the mixing functions
11374are easily inverted, and two successive outputs suffice to reconstruct the
11375internal state).")
11376 (license license:bsd-3)))
11377
7799d17f
TS
11378(define-public ghc-splitmix-bootstrap
11379 (package
11380 (inherit ghc-splitmix)
11381 (name "ghc-splitmix-bootstrap")
11382 (arguments `(#:tests? #f))
11383 (native-inputs '())
11384 (properties '((hidden? #t)))))
11385
a152258b
JS
11386(define-public ghc-spoon
11387 (package
11388 (name "ghc-spoon")
11389 (version "0.3.1")
11390 (source
11391 (origin
11392 (method url-fetch)
11393 (uri (string-append
11394 "https://hackage.haskell.org/package/spoon/spoon-"
11395 version
11396 ".tar.gz"))
11397 (sha256
11398 (base32
11399 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11400 (build-system haskell-build-system)
11401 (arguments
11402 `(#:cabal-revision
11403 ("1"
11404 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11405 (home-page
11406 "http://hackage.haskell.org/package/spoon")
11407 (synopsis
11408 "Catch errors thrown from pure computations")
11409 (description
11410 "Takes an error-throwing expression and puts it back in the Maybe it
11411belongs in.
11412
11413Note that this suffers from the
11414@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11415 (license license:bsd-3)))
11416
dddbc90c
RV
11417(define-public ghc-statevar
11418 (package
11419 (name "ghc-statevar")
19419709 11420 (version "1.2")
dddbc90c
RV
11421 (source
11422 (origin
11423 (method url-fetch)
11424 (uri (string-append
11425 "https://hackage.haskell.org/package/StateVar/StateVar-"
11426 version
11427 ".tar.gz"))
11428 (sha256
11429 (base32
19419709 11430 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11431 (build-system haskell-build-system)
11432 (home-page "https://hackage.haskell.org/package/StateVar")
11433 (synopsis "State variables for Haskell")
11434 (description "This package provides state variables, which are references
11435in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11436 (license license:bsd-3)))
11437
11438(define-public ghc-statistics
11439 (package
11440 (name "ghc-statistics")
60e78e68 11441 (version "0.15.1.1")
dddbc90c
RV
11442 (source
11443 (origin
11444 (method url-fetch)
11445 (uri (string-append "https://hackage.haskell.org/package/"
11446 "statistics-" version "/"
11447 "statistics-" version ".tar.gz"))
11448 (sha256
11449 (base32
60e78e68 11450 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11451 (build-system haskell-build-system)
11452 (arguments
60e78e68 11453 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11454 #:tests? #f))
11455 (inputs
11456 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11457 ("ghc-async" ,ghc-async)
dddbc90c 11458 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11459 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11460 ("ghc-math-functions" ,ghc-math-functions)
11461 ("ghc-monad-par" ,ghc-monad-par)
11462 ("ghc-mwc-random" ,ghc-mwc-random)
11463 ("ghc-primitive" ,ghc-primitive)
11464 ("ghc-vector" ,ghc-vector)
11465 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11466 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11467 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11468 (native-inputs
11469 `(("ghc-hunit" ,ghc-hunit)
11470 ("ghc-quickcheck" ,ghc-quickcheck)
11471 ("ghc-ieee754" ,ghc-ieee754)
11472 ("ghc-test-framework" ,ghc-test-framework)
11473 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11474 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11475 (home-page "https://github.com/bos/mwc-random")
11476 (synopsis "Haskell library of statistical types, data, and functions")
11477 (description "This library provides a number of common functions
11478and types useful in statistics. We focus on high performance, numerical
11479robustness, and use of good algorithms. Where possible, we provide references
11480to the statistical literature.
11481
11482The library's facilities can be divided into four broad categories:
11483
11484@itemize
11485@item Working with widely used discrete and continuous probability
11486distributions. (There are dozens of exotic distributions in use; we focus
11487on the most common.)
11488
11489@item Computing with sample data: quantile estimation, kernel density
11490estimation, histograms, bootstrap methods, significance testing,
11491and regression and autocorrelation analysis.
11492
11493@item Random variate generation under several different distributions.
11494
11495@item Common statistical tests for significant differences between samples.
11496@end itemize")
11497 (license license:bsd-2)))
11498
11499(define-public ghc-stm-chans
11500 (package
11501 (name "ghc-stm-chans")
11502 (version "3.0.0.4")
11503 (source
11504 (origin
11505 (method url-fetch)
11506 (uri (string-append "https://hackage.haskell.org/package/"
11507 "stm-chans-" version "/"
11508 "stm-chans-" version ".tar.gz"))
11509 (sha256
11510 (base32
11511 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11512 (build-system haskell-build-system)
11513 (home-page "https://hackage.haskell.org/package/stm-chans")
11514 (synopsis "Additional types of channels for ghc-stm")
11515 (description "This Haskell package offers a collection of channel types,
11516similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11517features.")
11518 (license license:bsd-3)))
11519
11520(define-public ghc-stm-conduit
11521 (package
11522 (name "ghc-stm-conduit")
cd518e95 11523 (version "4.0.1")
dddbc90c
RV
11524 (source
11525 (origin
11526 (method url-fetch)
11527 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11528 "stm-conduit-" version ".tar.gz"))
11529 (sha256
11530 (base32
cd518e95 11531 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11532 (build-system haskell-build-system)
11533 (inputs
11534 `(("ghc-stm-chans" ,ghc-stm-chans)
11535 ("ghc-cereal" ,ghc-cereal)
11536 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11537 ("ghc-conduit" ,ghc-conduit)
11538 ("ghc-conduit-extra" ,ghc-conduit-extra)
11539 ("ghc-exceptions" ,ghc-exceptions)
11540 ("ghc-resourcet" ,ghc-resourcet)
11541 ("ghc-async" ,ghc-async)
11542 ("ghc-monad-loops" ,ghc-monad-loops)
11543 ("ghc-unliftio" ,ghc-unliftio)))
11544 (native-inputs
11545 `(("ghc-doctest" ,ghc-doctest)
11546 ("ghc-quickcheck" ,ghc-quickcheck)
11547 ("ghc-hunit" ,ghc-hunit)
11548 ("ghc-test-framework" ,ghc-test-framework)
11549 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11550 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11551 (home-page "https://github.com/cgaebel/stm-conduit")
11552 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11553 (description
11554 "This package provides two simple conduit wrappers around STM channels: a
11555source and a sink.")
11556 (license license:bsd-3)))
11557
11558(define-public ghc-stmonadtrans
11559 (package
11560 (name "ghc-stmonadtrans")
11561 (version "0.4.3")
11562 (source
11563 (origin
11564 (method url-fetch)
11565 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11566 "/STMonadTrans-" version ".tar.gz"))
11567 (sha256
11568 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11569 (build-system haskell-build-system)
11570 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11571 (synopsis "Monad transformer version of the ST monad")
11572 (description
11573 "This package provides a monad transformer version of the @code{ST} monad
11574for strict state threads.")
11575 (license license:bsd-3)))
11576
11577(define-public ghc-storable-complex
11578 (package
11579 (name "ghc-storable-complex")
4a35e3c3 11580 (version "0.2.3.0")
dddbc90c
RV
11581 (source
11582 (origin
11583 (method url-fetch)
11584 (uri (string-append
11585 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11586 version ".tar.gz"))
11587 (sha256
4a35e3c3 11588 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11589 (build-system haskell-build-system)
4a35e3c3
TS
11590 (inputs
11591 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11592 (home-page "https://github.com/cartazio/storable-complex")
11593 (synopsis "Haskell Storable instance for Complex")
11594 (description "This package provides a Haskell library including a
11595Storable instance for Complex which is binary compatible with C99, C++
11596and Fortran complex data types.")
11597 (license license:bsd-3)))
11598
ad80074a
JS
11599(define-public ghc-storable-record
11600 (package
11601 (name "ghc-storable-record")
11602 (version "0.0.4")
11603 (source
11604 (origin
11605 (method url-fetch)
11606 (uri
11607 (string-append
11608 "https://hackage.haskell.org/package/storable-record/"
11609 "storable-record-" version ".tar.gz"))
11610 (sha256
11611 (base32
11612 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11613 (build-system haskell-build-system)
11614 (inputs
11615 `(("ghc-semigroups" ,ghc-semigroups)
11616 ("ghc-utility-ht" ,ghc-utility-ht)
11617 ("ghc-storablevector" ,ghc-storablevector)
11618 ("ghc-timeit" ,ghc-timeit)))
11619 (home-page "https://hackage.haskell.org/package/storable-record")
11620 (synopsis "Elegant definition of Storable instances for records")
11621 (description "With this package you can build a Storable instance of
11622a record type from Storable instances of its elements in an elegant way.
11623It does not do any magic, just a bit arithmetic to compute the right
11624offsets, that would be otherwise done manually or by a preprocessor like
11625C2HS. There is no guarantee that the generated memory layout is
11626compatible with that of a corresponding C struct. However, the module
11627generates the smallest layout that is possible with respect to the
11628alignment of the record elements.")
11629 (license license:bsd-3)))
11630
55f4c653
JS
11631(define-public ghc-storable-tuple
11632 (package
11633 (name "ghc-storable-tuple")
11634 (version "0.0.3.3")
11635 (source
11636 (origin
11637 (method url-fetch)
11638 (uri
11639 (string-append
11640 "https://hackage.haskell.org/package/storable-tuple/"
11641 "storable-tuple-" version ".tar.gz"))
11642 (sha256
11643 (base32
11644 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11645 (build-system haskell-build-system)
11646 (inputs
11647 `(("ghc-storable-record" ,ghc-storable-record)
11648 ("ghc-utility-ht" ,ghc-utility-ht)
11649 ("ghc-base-orphans" ,ghc-base-orphans)))
11650 (home-page "https://hackage.haskell.org/package/storable-tuple")
11651 (synopsis "Storable instance for pairs and triples")
11652 (description "This package provides a Storable instance for pairs
11653and triples which should be binary compatible with C99 and C++. The
11654only purpose of this package is to provide a standard location for this
11655instance so that other packages needing this instance can play nicely
11656together.")
11657 (license license:bsd-3)))
11658
bc06ca45
JS
11659(define-public ghc-storablevector
11660 (package
11661 (name "ghc-storablevector")
11662 (version "0.2.13")
11663 (source
11664 (origin
11665 (method url-fetch)
11666 (uri
11667 (string-append
11668 "https://hackage.haskell.org/package/storablevector/storablevector-"
11669 version ".tar.gz"))
11670 (sha256
11671 (base32
11672 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11673 (build-system haskell-build-system)
11674 (inputs
11675 `(("ghc-non-negative" ,ghc-non-negative)
11676 ("ghc-utility-ht" ,ghc-utility-ht)
11677 ("ghc-semigroups" ,ghc-semigroups)
11678 ("ghc-unsafe" ,ghc-unsafe)
11679 ("ghc-quickcheck" ,ghc-quickcheck)
11680 ("ghc-syb" ,ghc-syb)))
11681 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11682 (synopsis "Fast, packed, strict storable arrays with a list interface")
11683 (description "This library provides fast, packed, strict storable
11684arrays with a list interface, a chunky lazy list interface with variable
11685chunk size and an interface for write access via the ST monad. This is
11686much like bytestring and binary but can be used for every
11687@code{Foreign.Storable.Storable} type. See also
11688@url{http://hackage.haskell.org/package/vector}, a library with a
11689similar intention.
11690
11691This library does not do advanced fusion optimization, since especially
11692for lazy vectors this would either be incorrect or not applicable. See
11693@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11694a library that provides fusion with lazy lists.")
11695 (license license:bsd-3)))
11696
dddbc90c
RV
11697(define-public ghc-streaming-commons
11698 (package
11699 (name "ghc-streaming-commons")
11700 (version "0.2.1.1")
11701 (source
11702 (origin
11703 (method url-fetch)
11704 (uri (string-append "https://hackage.haskell.org/package/"
11705 "streaming-commons/streaming-commons-"
11706 version ".tar.gz"))
11707 (sha256
11708 (base32
11709 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11710 (build-system haskell-build-system)
11711 (inputs
11712 `(("ghc-async" ,ghc-async)
11713 ("ghc-blaze-builder" ,ghc-blaze-builder)
11714 ("ghc-network" ,ghc-network)
11715 ("ghc-random" ,ghc-random)
11716 ("ghc-zlib" ,ghc-zlib)))
11717 (native-inputs
11718 `(("ghc-quickcheck" ,ghc-quickcheck)
11719 ("ghc-hspec" ,ghc-hspec)
11720 ("hspec-discover" ,hspec-discover)))
11721 (home-page "https://hackage.haskell.org/package/streaming-commons")
11722 (synopsis "Conduit and pipes needed by some streaming data libraries")
11723 (description "This package provides low-dependency functionality commonly
11724needed by various Haskell streaming data libraries, such as @code{conduit} and
11725@code{pipe}s.")
11726 (license license:expat)))
11727
11728(define-public ghc-strict
11729 (package
11730 (name "ghc-strict")
11731 (version "0.3.2")
11732 (source
11733 (origin
11734 (method url-fetch)
11735 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11736 version ".tar.gz"))
11737 (sha256
11738 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11739 (build-system haskell-build-system)
11740 (home-page "https://hackage.haskell.org/package/strict")
11741 (synopsis "Strict data types and String IO")
11742 (description
11743 "This package provides strict versions of some standard Haskell data
11744types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11745IO operations.")
11746 (license license:bsd-3)))
11747
11748(define-public ghc-stringbuilder
11749 (package
11750 (name "ghc-stringbuilder")
11751 (version "0.5.1")
11752 (source
11753 (origin
11754 (method url-fetch)
11755 (uri (string-append
11756 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11757 version
11758 ".tar.gz"))
11759 (sha256
11760 (base32
11761 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11762 (build-system haskell-build-system)
11763 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11764 ; enabled
11765 (home-page "https://hackage.haskell.org/package/stringbuilder")
11766 (synopsis "Writer monad for multi-line string literals")
11767 (description "This package provides a writer monad for multi-line string
11768literals.")
11769 (license license:expat)))
11770
11771(define-public ghc-string-qq
11772 (package
11773 (name "ghc-string-qq")
4d6fddc3 11774 (version "0.0.4")
dddbc90c
RV
11775 (source
11776 (origin
11777 (method url-fetch)
11778 (uri (string-append
11779 "https://hackage.haskell.org/package/string-qq/string-qq-"
11780 version
11781 ".tar.gz"))
11782 (sha256
11783 (base32
4d6fddc3 11784 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11785 (build-system haskell-build-system)
4d6fddc3
TS
11786 (native-inputs
11787 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 11788 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
11789 (synopsis
11790 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11791 (description
11792 "This package provides a quasiquoter for non-interpolated strings, texts
11793and bytestrings.")
11794 (license license:public-domain)))
11795
11796(define-public ghc-stringsearch
11797 (package
11798 (name "ghc-stringsearch")
11799 (version "0.3.6.6")
11800 (source
11801 (origin
11802 (method url-fetch)
11803 (uri (string-append
11804 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11805 version
11806 ".tar.gz"))
11807 (sha256
11808 (base32
11809 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11810 (build-system haskell-build-system)
e2303abb
TS
11811 (arguments
11812 `(#:cabal-revision
11813 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11814 (home-page "https://bitbucket.org/dafis/stringsearch")
11815 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11816 (description "This package provides several functions to quickly search
11817for substrings in strict or lazy @code{ByteStrings}. It also provides
11818functions for breaking or splitting on substrings and replacing all
11819occurrences of a substring (the first in case of overlaps) with another.")
11820 (license license:bsd-3)))
11821
dcf3f8f4
TS
11822(define-public ghc-svg-builder
11823 (package
11824 (name "ghc-svg-builder")
11825 (version "0.1.1")
11826 (source
11827 (origin
11828 (method url-fetch)
11829 (uri (string-append "https://hackage.haskell.org/package/"
11830 "svg-builder/svg-builder-" version ".tar.gz"))
11831 (sha256
11832 (base32
11833 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11834 (build-system haskell-build-system)
11835 (inputs
11836 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11837 ("ghc-hashable" ,ghc-hashable)
11838 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11839 (arguments
11840 `(#:cabal-revision
11841 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11842 (home-page "https://github.com/diagrams/svg-builder.git")
11843 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11844 (description "Easy-to-write domain-specific language (DSL) for
11845building Scalable Vector Graphics (SVG).")
11846 (license license:bsd-3)))
11847
dddbc90c
RV
11848(define-public ghc-syb
11849 (package
11850 (name "ghc-syb")
07d65eef 11851 (version "0.7.1")
dddbc90c
RV
11852 (outputs '("out" "doc"))
11853 (source
11854 (origin
11855 (method url-fetch)
11856 (uri (string-append
11857 "https://hackage.haskell.org/package/syb/syb-"
11858 version
11859 ".tar.gz"))
11860 (sha256
11861 (base32
07d65eef 11862 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11863 (build-system haskell-build-system)
11864 (inputs
11865 `(("ghc-hunit" ,ghc-hunit)))
11866 (home-page
11867 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11868 (synopsis "Scrap Your Boilerplate")
11869 (description "This package contains the generics system described in the
11870/Scrap Your Boilerplate/ papers (see
11871@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11872defines the @code{Data} class of types permitting folding and unfolding of
11873constructor applications, instances of this class for primitive types, and a
11874variety of traversals.")
11875 (license license:bsd-3)))
11876
11877(define-public ghc-system-fileio
11878 (package
11879 (name "ghc-system-fileio")
dcfb99d4 11880 (version "0.3.16.4")
dddbc90c
RV
11881 (source
11882 (origin
11883 (method url-fetch)
11884 (uri (string-append
11885 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11886 version ".tar.gz"))
11887 (sha256
11888 (base32
dcfb99d4 11889 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11890 (build-system haskell-build-system)
dcfb99d4
TS
11891 (arguments
11892 `(#:phases
11893 (modify-phases %standard-phases
11894 (add-before 'configure 'update-constraints
11895 (lambda _
11896 (substitute* "system-fileio.cabal"
11897 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11898 #t)))))
dddbc90c
RV
11899 (inputs
11900 `(("ghc-system-filepath" ,ghc-system-filepath)
11901 ("ghc-chell" ,ghc-chell)
11902 ("ghc-temporary" ,ghc-temporary)))
11903 (home-page "https://github.com/fpco/haskell-filesystem")
11904 (synopsis "Consistent file system interaction across GHC versions")
11905 (description
11906 "This is a small wrapper around the directory, unix, and Win32 packages,
11907for use with system-filepath. It provides a consistent API to the various
11908versions of these packages distributed with different versions of GHC.
11909In particular, this library supports working with POSIX files that have paths
11910which can't be decoded in the current locale encoding.")
11911 (license license:expat)))
11912
11913;; See ghc-system-filepath-bootstrap. In addition this package depends on
11914;; ghc-system-filepath.
11915(define ghc-system-fileio-bootstrap
11916 (package
11917 (name "ghc-system-fileio-bootstrap")
11918 (version "0.3.16.3")
11919 (source
11920 (origin
11921 (method url-fetch)
11922 (uri (string-append
11923 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11924 version ".tar.gz"))
11925 (sha256
11926 (base32
11927 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11928 (build-system haskell-build-system)
11929 (arguments
11930 `(#:tests? #f))
11931 (inputs
11932 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11933 ("ghc-temporary" ,ghc-temporary)))
11934 (home-page "https://github.com/fpco/haskell-filesystem")
11935 (synopsis "Consistent file system interaction across GHC versions")
11936 (description
11937 "This is a small wrapper around the directory, unix, and Win32 packages,
11938for use with system-filepath. It provides a consistent API to the various
11939versions of these packages distributed with different versions of GHC.
11940In particular, this library supports working with POSIX files that have paths
11941which can't be decoded in the current locale encoding.")
11942 (license license:expat)))
11943
11944
11945(define-public ghc-system-filepath
11946 (package
11947 (name "ghc-system-filepath")
11948 (version "0.4.14")
11949 (source
11950 (origin
11951 (method url-fetch)
11952 (uri (string-append
11953 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11954 version ".tar.gz"))
11955 (sha256
11956 (base32
11957 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11958 (build-system haskell-build-system)
11959 ;; FIXME: One of the tests fails:
11960 ;; [ FAIL ] tests.validity.posix
11961 ;; note: seed=7310214548328823169
11962 ;; *** Failed! Falsifiable (after 24 tests):
11963 ;; 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"
11964 (arguments `(#:tests? #f))
11965 (inputs
11966 `(("ghc-chell" ,ghc-chell)
11967 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11968 ("ghc-quickcheck" ,ghc-quickcheck)))
11969 (home-page "https://github.com/fpco/haskell-filesystem")
11970 (synopsis "High-level, byte-based file and directory path manipulations")
11971 (description
11972 "Provides a FilePath datatype and utility functions for operating on it.
11973Unlike the filepath package, this package does not simply reuse String,
11974increasing type safety.")
11975 (license license:expat)))
11976
11977;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11978;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11979;; which depends on ghc-chell and ghc-chell-quickcheck.
11980;; Therefore we bootstrap it with tests disabled.
11981(define ghc-system-filepath-bootstrap
11982 (package
11983 (name "ghc-system-filepath-bootstrap")
11984 (version "0.4.14")
11985 (source
11986 (origin
11987 (method url-fetch)
11988 (uri (string-append
11989 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11990 version ".tar.gz"))
11991 (sha256
11992 (base32
11993 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11994 (build-system haskell-build-system)
11995 (arguments
11996 `(#:tests? #f))
11997 (inputs
11998 `(("ghc-quickcheck" ,ghc-quickcheck)))
11999 (home-page "https://github.com/fpco/haskell-filesystem")
12000 (synopsis "High-level, byte-based file and directory path manipulations")
12001 (description
12002 "Provides a FilePath datatype and utility functions for operating on it.
12003Unlike the filepath package, this package does not simply reuse String,
12004increasing type safety.")
12005 (license license:expat)))
12006
12007
12008(define-public ghc-tagged
12009 (package
12010 (name "ghc-tagged")
f0f3756a 12011 (version "0.8.6")
dddbc90c
RV
12012 (source
12013 (origin
12014 (method url-fetch)
12015 (uri (string-append
12016 "https://hackage.haskell.org/package/tagged/tagged-"
12017 version
12018 ".tar.gz"))
12019 (sha256
12020 (base32
f0f3756a 12021 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12022 (build-system haskell-build-system)
12023 (arguments
12024 `(#:cabal-revision
f0f3756a 12025 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12026 (inputs
12027 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12028 (home-page "https://hackage.haskell.org/package/tagged")
12029 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12030 (description "This library provides phantom types for Haskell 98, to avoid
12031having to unsafely pass dummy arguments.")
12032 (license license:bsd-3)))
12033
12034(define-public ghc-tar
12035 (package
12036 (name "ghc-tar")
ec83929f 12037 (version "0.5.1.1")
dddbc90c
RV
12038 (source
12039 (origin
12040 (method url-fetch)
12041 (uri (string-append
12042 "https://hackage.haskell.org/package/tar/tar-"
12043 version ".tar.gz"))
12044 (sha256
12045 (base32
ec83929f 12046 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12047 (build-system haskell-build-system)
12048 ;; FIXME: 2/24 tests fail.
12049 (arguments `(#:tests? #f))
12050 (inputs
12051 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12052 ("ghc-quickcheck" ,ghc-quickcheck)
12053 ("ghc-tasty" ,ghc-tasty)
12054 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12055 (home-page "https://hackage.haskell.org/package/tar")
12056 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12057 (description
12058 "This library is for working with \\\"@.tar@\\\" archive files.
12059It can read and write a range of common variations of the tar archive format
12060including V7, POSIX USTAR and GNU formats. It provides support for packing and
12061unpacking portable archives. This makes it suitable for distribution but not
12062backup because details like file ownership and exact permissions are not
12063preserved. It also provides features for random access to archive content using
12064an index.")
12065 (license license:bsd-3)))
12066
f8d17902
TS
12067(define-public ghc-tar-conduit
12068 (package
12069 (name "ghc-tar-conduit")
12070 (version "0.3.2")
12071 (source
12072 (origin
12073 (method url-fetch)
12074 (uri (string-append "https://hackage.haskell.org/package/"
12075 "tar-conduit/tar-conduit-" version ".tar.gz"))
12076 (sha256
12077 (base32
12078 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12079 (build-system haskell-build-system)
12080 (inputs
12081 `(("ghc-conduit" ,ghc-conduit)
12082 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12083 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12084 (native-inputs
12085 `(("ghc-quickcheck" ,ghc-quickcheck)
12086 ("ghc-conduit-extra" ,ghc-conduit-extra)
12087 ("ghc-hspec" ,ghc-hspec)
12088 ("ghc-hspec" ,ghc-hspec)
12089 ("ghc-weigh" ,ghc-weigh)))
12090 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12091 (synopsis "Extract and create tar files using conduit for streaming")
12092 (description "This library provides a conduit-based, streaming
12093interface for extracting and creating tar files.")
12094 (license license:expat)))
12095
dddbc90c
RV
12096(define-public ghc-temporary
12097 (package
12098 (name "ghc-temporary")
12099 (version "1.3")
12100 (source
12101 (origin
12102 (method url-fetch)
12103 (uri (string-append
12104 "https://hackage.haskell.org/package/temporary/temporary-"
12105 version
12106 ".tar.gz"))
12107 (sha256
12108 (base32
12109 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12110 (build-system haskell-build-system)
12111 (inputs
12112 `(("ghc-exceptions" ,ghc-exceptions)
12113 ("ghc-random" ,ghc-random)))
12114 (native-inputs
12115 `(("ghc-base-compat" ,ghc-base-compat)
12116 ("ghc-tasty" ,ghc-tasty)
12117 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12118 (home-page "https://www.github.com/batterseapower/temporary")
12119 (synopsis "Temporary file and directory support")
12120 (description "The functions for creating temporary files and directories
12121in the Haskelll base library are quite limited. This library just repackages
12122the Cabal implementations of its own temporary file and folder functions so
12123that you can use them without linking against Cabal or depending on it being
12124installed.")
12125 (license license:bsd-3)))
12126
12127(define-public ghc-temporary-rc
12128 (package
12129 (name "ghc-temporary-rc")
12130 (version "1.2.0.3")
12131 (source
12132 (origin
12133 (method url-fetch)
12134 (uri (string-append
12135 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12136 version
12137 ".tar.gz"))
12138 (sha256
12139 (base32
12140 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12141 (build-system haskell-build-system)
12142 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12143 (home-page
12144 "https://www.github.com/feuerbach/temporary")
12145 (synopsis
12146 "Portable temporary file and directory support")
12147 (description
12148 "The functions for creating temporary files and directories in the base
12149library are quite limited. The unixutils package contains some good ones, but
12150they aren't portable to Windows. This library just repackages the Cabal
12151implementations of its own temporary file and folder functions so that you can
12152use them without linking against Cabal or depending on it being installed.
12153This is a better maintained fork of the \"temporary\" package.")
12154 (license license:bsd-3)))
12155
12156(define-public ghc-terminal-size
12157 (package
12158 (name "ghc-terminal-size")
12159 (version "0.3.2.1")
12160 (source (origin
12161 (method url-fetch)
12162 (uri (string-append
12163 "https://hackage.haskell.org/package/terminal-size/"
12164 "terminal-size-" version ".tar.gz"))
12165 (sha256
12166 (base32
12167 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12168 (build-system haskell-build-system)
12169 (home-page "https://hackage.haskell.org/package/terminal-size")
12170 (synopsis "Get terminal window height and width")
12171 (description "Get terminal window height and width without ncurses
12172dependency.")
12173 (license license:bsd-3)))
12174
12175(define-public ghc-texmath
12176 (package
12177 (name "ghc-texmath")
7fec7e66 12178 (version "0.11.3")
dddbc90c
RV
12179 (source (origin
12180 (method url-fetch)
12181 (uri (string-append "https://hackage.haskell.org/package/"
12182 "texmath/texmath-" version ".tar.gz"))
12183 (sha256
12184 (base32
7fec7e66 12185 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12186 (build-system haskell-build-system)
12187 (inputs
12188 `(("ghc-syb" ,ghc-syb)
12189 ("ghc-network-uri" ,ghc-network-uri)
12190 ("ghc-split" ,ghc-split)
12191 ("ghc-temporary" ,ghc-temporary)
12192 ("ghc-utf8-string" ,ghc-utf8-string)
12193 ("ghc-xml" ,ghc-xml)
12194 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12195 (home-page "https://github.com/jgm/texmath")
12196 (synopsis "Conversion between formats used to represent mathematics")
12197 (description
12198 "The texmath library provides functions to read and write TeX math,
12199presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12200Office). Support is also included for converting math formats to pandoc's
12201native format (allowing conversion, via pandoc, to a variety of different
12202markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12203it can parse and apply LaTeX macros.")
12204 (license license:gpl2+)))
12205
12206(define-public ghc-text-binary
12207 (package
12208 (name "ghc-text-binary")
12209 (version "0.2.1.1")
12210 (source
12211 (origin
12212 (method url-fetch)
12213 (uri (string-append "https://hackage.haskell.org/package/"
12214 "text-binary/text-binary-"
12215 version ".tar.gz"))
12216 (sha256
12217 (base32
12218 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12219 (build-system haskell-build-system)
12220 (home-page "https://github.com/kawu/text-binary")
12221 (synopsis "Binary instances for text types")
12222 (description
12223 "This package provides a compatibility layer providing @code{Binary}
12224instances for strict and lazy text types for versions older than 1.2.1 of the
12225text package.")
12226 (license license:bsd-2)))
12227
714e5605
JS
12228(define-public ghc-text-manipulate
12229 (package
12230 (name "ghc-text-manipulate")
12231 (version "0.2.0.1")
12232 (source
12233 (origin
12234 (method url-fetch)
12235 (uri (string-append
12236 "https://hackage.haskell.org/package/text-manipulate"
12237 "/text-manipulate-"
12238 version
12239 ".tar.gz"))
12240 (sha256
12241 (base32
12242 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12243 (build-system haskell-build-system)
12244 (native-inputs
12245 `(("ghc-tasty" ,ghc-tasty)
12246 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12247 (home-page
12248 "https://github.com/brendanhay/text-manipulate")
12249 (synopsis
12250 "Case conversion, word boundary manipulation, and textual subjugation")
12251 (description
12252 "Manipulate identifiers and structurally non-complex pieces of text by
12253delimiting word boundaries via a combination of whitespace,
12254control-characters, and case-sensitivity.
12255
12256Has support for common idioms like casing of programmatic variable names,
12257taking, dropping, and splitting by word, and modifying the first character of
12258a piece of text.
12259
12260Caution: this library makes heavy use of the text library's internal loop
12261optimisation framework. Since internal modules are not guaranteed to have a
12262stable API there is potential for build breakage when the text dependency is
12263upgraded. Consider yourself warned!")
12264 (license license:mpl2.0)))
12265
bdc877c4
TS
12266(define-public ghc-text-metrics
12267 (package
12268 (name "ghc-text-metrics")
12269 (version "0.3.0")
12270 (source
12271 (origin
12272 (method url-fetch)
12273 (uri (string-append "https://hackage.haskell.org/package/"
12274 "text-metrics/text-metrics-" version ".tar.gz"))
12275 (sha256
12276 (base32
12277 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12278 (build-system haskell-build-system)
12279 (inputs
12280 `(("ghc-vector" ,ghc-vector)))
12281 (native-inputs
12282 `(("ghc-quickcheck" ,ghc-quickcheck)
12283 ("ghc-hspec" ,ghc-hspec)))
12284 (arguments
12285 `(#:cabal-revision
12286 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12287 (home-page "https://github.com/mrkkrp/text-metrics")
12288 (synopsis "Calculate various string metrics efficiently")
12289 (description "This library provides tools to calculate various
12290string metrics efficiently.")
12291 (license license:bsd-3)))
12292
dddbc90c
RV
12293(define-public ghc-tf-random
12294 (package
12295 (name "ghc-tf-random")
12296 (version "0.5")
12297 (outputs '("out" "doc"))
12298 (source
12299 (origin
12300 (method url-fetch)
12301 (uri (string-append
12302 "https://hackage.haskell.org/package/tf-random/tf-random-"
12303 version
12304 ".tar.gz"))
12305 (sha256
12306 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12307 (build-system haskell-build-system)
12308 (inputs
12309 `(("ghc-primitive" ,ghc-primitive)
12310 ("ghc-random" ,ghc-random)))
12311 (home-page "https://hackage.haskell.org/package/tf-random")
12312 (synopsis "High-quality splittable pseudorandom number generator")
12313 (description "This package contains an implementation of a high-quality
12314splittable pseudorandom number generator. The generator is based on a
12315cryptographic hash function built on top of the ThreeFish block cipher. See
12316the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12317Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12318 (license license:bsd-3)))
12319
12320(define-public ghc-th-abstraction
12321 (package
12322 (name "ghc-th-abstraction")
1188eabb 12323 (version "0.3.1.0")
dddbc90c
RV
12324 (source
12325 (origin
12326 (method url-fetch)
12327 (uri (string-append "https://hackage.haskell.org/package/"
12328 "th-abstraction/th-abstraction-"
12329 version ".tar.gz"))
12330 (sha256
12331 (base32
1188eabb 12332 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12333 (build-system haskell-build-system)
12334 (home-page "https://github.com/glguy/th-abstraction")
12335 (synopsis "Nicer interface for reified information about data types")
12336 (description
12337 "This package normalizes variations in the interface for inspecting
12338datatype information via Template Haskell so that packages and support a
12339single, easier to use informational datatype while supporting many versions of
12340Template Haskell.")
12341 (license license:isc)))
12342
12343(define-public ghc-th-expand-syns
12344 (package
12345 (name "ghc-th-expand-syns")
8c766600 12346 (version "0.4.5.0")
dddbc90c
RV
12347 (source (origin
12348 (method url-fetch)
12349 (uri (string-append "https://hackage.haskell.org/package/"
12350 "th-expand-syns/th-expand-syns-"
12351 version ".tar.gz"))
12352 (sha256
12353 (base32
8c766600 12354 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12355 (build-system haskell-build-system)
12356 (inputs
12357 `(("ghc-syb" ,ghc-syb)))
12358 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12359 (synopsis "Expands type synonyms in Template Haskell ASTs")
12360 (description
12361 "This package enables users to expand type synonyms in Template Haskell
12362@dfn{abstract syntax trees} (ASTs).")
12363 (license license:bsd-3)))
12364
12365(define-public ghc-th-lift
12366 (package
12367 (name "ghc-th-lift")
bd76b20a 12368 (version "0.8.0.1")
dddbc90c
RV
12369 (source (origin
12370 (method url-fetch)
12371 (uri (string-append "https://hackage.haskell.org/package/"
12372 "th-lift/th-lift-" version ".tar.gz"))
12373 (sha256
12374 (base32
bd76b20a 12375 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12376 (build-system haskell-build-system)
12377 (inputs
12378 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12379 (home-page "https://github.com/mboes/th-lift")
12380 (synopsis "Derive Template Haskell's Lift class for datatypes")
12381 (description
12382 "This is a Haskell library to derive Template Haskell's Lift class for
12383datatypes.")
12384 (license license:bsd-3)))
12385
12386(define-public ghc-th-lift-instances
12387 (package
12388 (name "ghc-th-lift-instances")
d3db399e 12389 (version "0.1.14")
dddbc90c
RV
12390 (source
12391 (origin
12392 (method url-fetch)
12393 (uri (string-append "https://hackage.haskell.org/package/"
12394 "th-lift-instances/th-lift-instances-"
12395 version ".tar.gz"))
12396 (sha256
12397 (base32
d3db399e 12398 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12399 (build-system haskell-build-system)
12400 (inputs
12401 `(("ghc-th-lift" ,ghc-th-lift)
12402 ("ghc-vector" ,ghc-vector)
12403 ("ghc-quickcheck" ,ghc-quickcheck)))
12404 (home-page "https://github.com/bennofs/th-lift-instances/")
12405 (synopsis "Lift instances for template-haskell for common data types.")
12406 (description "Most data types in the Haskell platform do not have Lift
12407instances. This package provides orphan instances for @code{containers},
12408@code{text}, @code{bytestring} and @code{vector}.")
12409 (license license:bsd-3)))
12410
12411(define-public ghc-th-orphans
12412 (package
12413 (name "ghc-th-orphans")
882b23e2 12414 (version "0.13.9")
dddbc90c
RV
12415 (source (origin
12416 (method url-fetch)
12417 (uri (string-append "https://hackage.haskell.org/package/"
12418 "th-orphans/th-orphans-" version ".tar.gz"))
12419 (sha256
12420 (base32
882b23e2 12421 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12422 (build-system haskell-build-system)
12423 (inputs
12424 `(("ghc-th-lift" ,ghc-th-lift)
12425 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12426 ("ghc-th-reify-many" ,ghc-th-reify-many)
12427 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12428 (native-inputs
12429 `(("ghc-hspec" ,ghc-hspec)))
12430 (home-page "https://hackage.haskell.org/package/th-orphans")
12431 (synopsis "Orphan instances for TH datatypes")
12432 (description
12433 "This package provides orphan instances for Template Haskell datatypes. In particular,
12434instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12435and @code{Eq} instances. These instances used to live in the haskell-src-meta
12436package, and that's where the version number started.")
12437 (license license:bsd-3)))
12438
20c440ea
JS
12439(define-public ghc-these
12440 (package
12441 (name "ghc-these")
12442 (version "1.0.1")
12443 (source
12444 (origin
12445 (method url-fetch)
12446 (uri (string-append
12447 "https://hackage.haskell.org/package/these/these-"
12448 version
12449 ".tar.gz"))
12450 (sha256
12451 (base32
12452 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12453 (build-system haskell-build-system)
12454 (inputs
12455 `(("ghc-base-compat" ,ghc-base-compat)
12456 ("ghc-hashable" ,ghc-hashable)
12457 ("ghc-aeson" ,ghc-aeson)
12458 ("ghc-unordered-containers" ,ghc-unordered-containers)
12459 ("ghc-assoc" ,ghc-assoc)
12460 ("ghc-semigroupoids" ,ghc-semigroupoids)
12461 ("ghc-quickcheck" ,ghc-quickcheck)))
12462 (arguments
12463 `(#:cabal-revision
12464 ("1"
12465 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12466 (home-page
12467 "https://github.com/isomorphism/these")
12468 (synopsis "Either-or-both data type")
12469 (description
12470 "This package provides a data type @code{These a b} which can
12471hold a value of either type or values of each type. This is usually
12472thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12473\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12474as \"inner join\").
12475
12476@code{data These a b = This a | That b | These a b}
12477
12478Since version 1, this package was split into parts:
12479
12480@itemize
12481@item
12482https://hackage.haskell.org/package/semialign For @code{Align} and
12483@code{Zip} type-classes.
12484@item
12485https://hackage.haskell.org/package/semialign-indexed For
12486@code{SemialignWithIndex} class, providing @code{ialignWith} and
12487@code{izipWith}
12488@item
12489https://hackage.haskell.org/package/these-lens For lens combinators.
12490@item
12491http://hackage.haskell.org/package/monad-chronicle For transformers
12492variant of @code{These}.
12493@end itemize")
12494 (license license:bsd-3)))
12495
dddbc90c
RV
12496(define-public ghc-threads
12497 (package
12498 (name "ghc-threads")
12499 (version "0.5.1.6")
12500 (source
12501 (origin
12502 (method url-fetch)
12503 (uri (string-append "https://hackage.haskell.org/package/"
12504 "threads/threads-" version ".tar.gz"))
12505 (sha256
12506 (base32
12507 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12508 (build-system haskell-build-system)
12509 (native-inputs
12510 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12511 ("ghc-hunit" ,ghc-hunit)
12512 ("ghc-test-framework" ,ghc-test-framework)
12513 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12514 (home-page "https://github.com/basvandijk/threads")
12515 (synopsis "Fork threads and wait for their result")
12516 (description "This package provides functions to fork threads and
12517wait for their result, whether it's an exception or a normal value.
12518Besides waiting for the termination of a single thread this package also
12519provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12520package is similar to the @code{threadmanager}, @code{async} and
12521@code{spawn} packages. The advantages of this package are:
12522
dddbc90c
RV
12523@itemize
12524@item Simpler API.
12525@item More efficient in both space and time.
12526@item No space-leak when forking a large number of threads.
12527@item Correct handling of asynchronous exceptions.
12528@item GHC specific functionality like @code{forkOn} and
12529@code{forkIOWithUnmask}.
12530@end itemize")
12531 (license license:bsd-3)))
12532
12533(define-public ghc-th-reify-many
12534 (package
12535 (name "ghc-th-reify-many")
32d4a6ae 12536 (version "0.1.9")
dddbc90c
RV
12537 (source (origin
12538 (method url-fetch)
12539 (uri (string-append "https://hackage.haskell.org/package/"
12540 "th-reify-many/th-reify-many-"
12541 version ".tar.gz"))
12542 (sha256
12543 (base32
32d4a6ae 12544 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12545 (build-system haskell-build-system)
12546 (inputs
12547 `(("ghc-safe" ,ghc-safe)
12548 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12549 (home-page "https://github.com/mgsloan/th-reify-many")
12550 (synopsis "Recurseively reify template haskell datatype info")
12551 (description
12552 "th-reify-many provides functions for recursively reifying top level
12553declarations. The main intended use case is for enumerating the names of
12554datatypes reachable from an initial datatype, and passing these names to some
12555function which generates instances.")
12556 (license license:bsd-3)))
12557
75cfc9a2
TS
12558(define-public ghc-time-compat
12559 (package
12560 (name "ghc-time-compat")
12561 (version "1.9.2.2")
12562 (source
12563 (origin
12564 (method url-fetch)
12565 (uri (string-append "https://hackage.haskell.org/package/"
12566 "time-compat/time-compat-" version ".tar.gz"))
12567 (sha256
12568 (base32
12569 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12570 (build-system haskell-build-system)
12571 (inputs
12572 `(("ghc-base-orphans" ,ghc-base-orphans)))
12573 (native-inputs
12574 `(("ghc-hunit" ,ghc-hunit)
12575 ("ghc-base-compat" ,ghc-base-compat)
12576 ("ghc-quickcheck" ,ghc-quickcheck)
12577 ("ghc-tagged" ,ghc-tagged)
12578 ("ghc-tasty" ,ghc-tasty)
12579 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12580 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12581 (arguments
12582 `(#:cabal-revision
12583 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12584 (home-page "https://github.com/phadej/time-compat")
12585 (synopsis "Compatibility package for time")
a8d73e69 12586 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12587features as possible.")
12588 (license license:bsd-3)))
12589
dddbc90c
RV
12590(define-public ghc-time-locale-compat
12591 (package
12592 (name "ghc-time-locale-compat")
12593 (version "0.1.1.5")
12594 (source
12595 (origin
12596 (method url-fetch)
12597 (uri (string-append "https://hackage.haskell.org/package/"
12598 "time-locale-compat/time-locale-compat-"
12599 version ".tar.gz"))
12600 (sha256
12601 (base32
12602 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12603 (build-system haskell-build-system)
12604 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12605 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12606 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12607 (description "This package contains a wrapped name module for
12608@code{TimeLocale}.")
12609 (license license:bsd-3)))
12610
c022a4d4
TS
12611(define-public ghc-time-manager
12612 (package
12613 (name "ghc-time-manager")
12614 (version "0.0.0")
12615 (source
12616 (origin
12617 (method url-fetch)
12618 (uri (string-append "https://hackage.haskell.org/package/"
12619 "time-manager/time-manager-" version ".tar.gz"))
12620 (sha256
12621 (base32
12622 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12623 (build-system haskell-build-system)
12624 (inputs
12625 `(("ghc-auto-update" ,ghc-auto-update)))
12626 (home-page "https://github.com/yesodweb/wai")
12627 (synopsis "Scalable timer")
12628 (description "This library contains scalable timer functions provided by a
12629timer manager.")
12630 (license license:expat)))
12631
7bbfa392
JS
12632(define-public ghc-timeit
12633 (package
12634 (name "ghc-timeit")
12635 (version "2.0")
12636 (source
12637 (origin
12638 (method url-fetch)
12639 (uri
12640 (string-append
12641 "https://hackage.haskell.org/package/timeit/timeit-"
12642 version ".tar.gz"))
12643 (sha256
12644 (base32
12645 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12646 (build-system haskell-build-system)
12647 (home-page "https://github.com/merijn/timeit")
12648 (synopsis "Time monadic computations with an IO base")
12649 (description "This package provides a simple wrapper to show the
12650used CPU time of monadic computation with an IO base.")
12651 (license license:bsd-3)))
12652
2ed8bd2d
JS
12653(define-public ghc-timezone-series
12654 (package
12655 (name "ghc-timezone-series")
12656 (version "0.1.9")
12657 (source
12658 (origin
12659 (method url-fetch)
12660 (uri
12661 (string-append
12662 "mirror://hackage/package/timezone-series/timezone-series-"
12663 version ".tar.gz"))
12664 (sha256
12665 (base32
12666 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12667 (build-system haskell-build-system)
12668 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12669 (synopsis "Enhanced timezone handling for Time")
12670 (description
12671 "This package endows @code{Data.Time}, from the time package, with several
12672data types and functions for enhanced processing of timezones. For one way to
12673create timezone series, see the ghc-timezone-olson package.")
12674 (license license:bsd-3)))
12675
ff0f5786
JS
12676(define-public ghc-timezone-olson
12677 (package
12678 (name "ghc-timezone-olson")
12679 (version "0.1.9")
12680 (source
12681 (origin
12682 (method url-fetch)
12683 (uri
12684 (string-append
12685 "mirror://hackage/package/timezone-olson/timezone-olson-"
12686 version ".tar.gz"))
12687 (sha256
12688 (base32
12689 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12690 (build-system haskell-build-system)
12691 (inputs
12692 `(("ghc-timezone-series" ,ghc-timezone-series)
12693 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12694 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12695 (synopsis "Parser and renderer for binary Olson timezone files")
12696 (description
12697 "A parser and renderer for binary Olson timezone files whose format
12698is specified by the tzfile(5) man page on Unix-like systems. For more
12699information about this format, see
12700@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12701are provided for converting the parsed data into @code{TimeZoneSeries}
12702objects from the timezone-series package.")
12703 (license license:bsd-3)))
12704
dddbc90c
RV
12705(define-public ghc-tldr
12706 (package
12707 (name "ghc-tldr")
871ceb31 12708 (version "0.4.0.2")
dddbc90c
RV
12709 (source
12710 (origin
12711 (method url-fetch)
12712 (uri (string-append
12713 "https://hackage.haskell.org/package/tldr/tldr-"
12714 version
12715 ".tar.gz"))
12716 (sha256
12717 (base32
871ceb31 12718 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
12719 (build-system haskell-build-system)
12720 (inputs
12721 `(("ghc-cmark" ,ghc-cmark)
12722 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12723 ("ghc-typed-process" ,ghc-typed-process)
12724 ("ghc-semigroups" ,ghc-semigroups)))
12725 (native-inputs
12726 `(("ghc-tasty" ,ghc-tasty)
12727 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12728 (home-page "https://github.com/psibi/tldr-hs#readme")
12729 (synopsis "Haskell tldr client")
12730 (description "This package provides the @command{tldr} command and a
12731Haskell client library allowing users to update and view @code{tldr} pages
12732from a shell. The @code{tldr} pages are a community effort to simplify the
12733man pages with practical examples.")
12734 (license license:bsd-3)))
12735
460e4e42
JS
12736(define-public ghc-transformers
12737 (package
12738 (name "ghc-transformers")
12739 (version "0.5.6.2")
12740 (source
12741 (origin
12742 (method url-fetch)
12743 (uri (string-append
12744 "mirror://hackage/package/transformers/transformers-"
12745 version
12746 ".tar.gz"))
12747 (sha256
12748 (base32
12749 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
12750 (build-system haskell-build-system)
12751 (home-page
12752 "http://hackage.haskell.org/package/transformers")
12753 (synopsis "Concrete functor and monad transformers")
12754 (description
12755 "Transformers provides functor and monad transformers, inspired by the
12756paper \"Functional Programming with Overloading and Higher-Order
12757Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
127581995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
12759
12760This package contains:
12761@itemize
12762@item the monad transformer class (in @code{Control.Monad.Trans.Class})
12763@item concrete functor and monad transformers, each with associated operations
12764and functions to lift operations associated with other transformers.
12765@end itemize
12766
12767This package can be used on its own in portable Haskell code, in which case
12768operations need to be manually lifted through transformer stacks (see
12769@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
12770used with the non-portable monad classes in the mtl or monads-tf packages,
12771which automatically lift operations introduced by monad transformers through
12772other transformers.")
12773 (license license:bsd-3)))
12774
dddbc90c
RV
12775(define-public ghc-transformers-base
12776 (package
12777 (name "ghc-transformers-base")
12778 (version "0.4.5.2")
12779 (source
12780 (origin
12781 (method url-fetch)
12782 (uri (string-append
12783 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12784 version
12785 ".tar.gz"))
12786 (sha256
12787 (base32
12788 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12789 (build-system haskell-build-system)
12790 (inputs
12791 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12792 (home-page
12793 "https://hackage.haskell.org/package/transformers-compat")
12794 (synopsis
12795 "Backported transformer library")
12796 (description
12797 "Backported versions of types that were added to transformers in
12798transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12799compatibility to run on old versions of the platform.")
12800 (license license:bsd-3)))
12801
12802(define-public ghc-transformers-compat
12803 (package
12804 (name "ghc-transformers-compat")
1c9c4d58 12805 (version "0.6.5")
dddbc90c
RV
12806 (source
12807 (origin
12808 (method url-fetch)
12809 (uri (string-append
12810 "https://hackage.haskell.org/package/transformers-compat"
12811 "/transformers-compat-" version ".tar.gz"))
12812 (sha256
12813 (base32
1c9c4d58 12814 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
12815 (build-system haskell-build-system)
12816 (home-page "https://github.com/ekmett/transformers-compat/")
12817 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12818 (description "This package includes backported versions of types that were
12819added to transformers in transformers 0.3 and 0.4 for users who need strict
12820transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12821but also need those types.")
12822 (license license:bsd-3)))
12823
12824(define-public ghc-tree-diff
12825 (package
12826 (name "ghc-tree-diff")
b4e26067 12827 (version "0.1")
dddbc90c
RV
12828 (source
12829 (origin
12830 (method url-fetch)
12831 (uri (string-append
12832 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
12833 version
12834 ".tar.gz"))
12835 (sha256
12836 (base32
b4e26067 12837 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 12838 (build-system haskell-build-system)
dddbc90c
RV
12839 (inputs
12840 `(("ghc-aeson" ,ghc-aeson)
12841 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12842 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12843 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 12844 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 12845 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
12846 ("ghc-parsers" ,ghc-parsers)
12847 ("ghc-quickcheck" ,ghc-quickcheck)
12848 ("ghc-scientific" ,ghc-scientific)
12849 ("ghc-tagged" ,ghc-tagged)
12850 ("ghc-unordered-containers" ,ghc-unordered-containers)
12851 ("ghc-uuid-types" ,ghc-uuid-types)
12852 ("ghc-vector" ,ghc-vector)))
12853 (native-inputs
12854 `(("ghc-base-compat" ,ghc-base-compat)
12855 ("ghc-quickcheck" ,ghc-quickcheck)
12856 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12857 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12858 ("ghc-trifecta" ,ghc-trifecta)
12859 ("ghc-tasty" ,ghc-tasty)
12860 ("ghc-tasty-golden" ,ghc-tasty-golden)
12861 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12862 (home-page "https://github.com/phadej/tree-diff")
12863 (synopsis "Compute difference between (expression) trees")
12864 (description "This Haskell library provides a function for computing
12865the difference between (expression) trees. It also provides a way to
12866compute the difference between arbitrary abstract datatypes (ADTs) using
12867@code{Generics}-derivable helpers.")
12868 (license license:bsd-3)))
12869
12870(define-public ghc-trifecta
12871 (package
12872 (name "ghc-trifecta")
12873 (version "2")
12874 (source (origin
12875 (method url-fetch)
12876 (uri (string-append
12877 "https://hackage.haskell.org/package/trifecta/"
12878 "trifecta-" version ".tar.gz"))
12879 (sha256
12880 (base32
12881 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12882 (build-system haskell-build-system)
5ffe8cfd
TS
12883 (arguments
12884 `(#:tests? #f ; doctest suite fails to build on i686
12885 #:cabal-revision
12886 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
12887 (inputs
12888 `(("ghc-reducers" ,ghc-reducers)
12889 ("ghc-semigroups" ,ghc-semigroups)
12890 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12891 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12892 ("ghc-blaze-builder" ,ghc-blaze-builder)
12893 ("ghc-blaze-html" ,ghc-blaze-html)
12894 ("ghc-blaze-markup" ,ghc-blaze-markup)
12895 ("ghc-charset" ,ghc-charset)
12896 ("ghc-comonad" ,ghc-comonad)
12897 ("ghc-fingertree" ,ghc-fingertree)
12898 ("ghc-hashable" ,ghc-hashable)
12899 ("ghc-lens" ,ghc-lens)
12900 ("ghc-parsers" ,ghc-parsers)
12901 ("ghc-profunctors" ,ghc-profunctors)
12902 ("ghc-unordered-containers" ,ghc-unordered-containers)
12903 ("ghc-utf8-string" ,ghc-utf8-string)))
12904 (native-inputs
12905 `(("cabal-doctest" ,cabal-doctest)
12906 ("ghc-doctest" ,ghc-doctest)
12907 ("ghc-quickcheck" ,ghc-quickcheck)))
12908 (home-page "https://github.com/ekmett/trifecta/")
12909 (synopsis "Parser combinator library with convenient diagnostics")
12910 (description "Trifecta is a modern parser combinator library for Haskell,
12911with slicing and Clang-style colored diagnostics.")
12912 (license license:bsd-3)))
12913
12914(define-public ghc-tuple-th
12915 (package
12916 (name "ghc-tuple-th")
12917 (version "0.2.5")
12918 (source
12919 (origin
12920 (method url-fetch)
12921 (uri (string-append "https://hackage.haskell.org/package/"
12922 "tuple-th-" version "/"
12923 "tuple-th-" version ".tar.gz"))
12924 (sha256
12925 (base32
12926 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12927 (build-system haskell-build-system)
12928 (home-page "https://github.com/DanielSchuessler/tuple-th")
12929 (synopsis "Generate utility functions for tuples of statically known size
12930for Haskell")
12931 (description "This Haskell package contains Template Haskell functions for
12932generating functions similar to those in @code{Data.List} for tuples of
12933statically known size.")
12934 (license license:bsd-3)))
12935
9f776fe2
JS
12936(define-public ghc-turtle
12937 (package
12938 (name "ghc-turtle")
12939 (version "1.5.15")
12940 (source
12941 (origin
12942 (method url-fetch)
12943 (uri (string-append
12944 "mirror://hackage/package/turtle/turtle-"
12945 version
12946 ".tar.gz"))
12947 (sha256
12948 (base32
12949 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
12950 (build-system haskell-build-system)
12951 (inputs
12952 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12953 ("ghc-async" ,ghc-async)
12954 ("ghc-clock" ,ghc-clock)
12955 ("ghc-exceptions" ,ghc-exceptions)
12956 ("ghc-foldl" ,ghc-foldl)
12957 ("ghc-hostname" ,ghc-hostname)
12958 ("ghc-managed" ,ghc-managed)
12959 ("ghc-semigroups" ,ghc-semigroups)
12960 ("ghc-system-filepath" ,ghc-system-filepath)
12961 ("ghc-system-fileio" ,ghc-system-fileio)
12962 ("ghc-streaming-commons" ,ghc-streaming-commons)
12963 ("ghc-temporary" ,ghc-temporary)
12964 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12965 ("ghc-optional-args" ,ghc-optional-args)
12966 ("ghc-unix-compat" ,ghc-unix-compat)))
12967 (native-inputs
12968 `(("ghc-doctest" ,ghc-doctest)
12969 ("ghc-fail" ,ghc-fail)))
12970 (arguments
12971 `(#:cabal-revision
12972 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
12973 (home-page
12974 "http://hackage.haskell.org/package/turtle")
12975 (synopsis "Shell programming, Haskell-style")
12976 (description
12977 "Turtle is a reimplementation of the Unix command line environment in
12978Haskell so that you can use Haskell as both a shell and a scripting
12979language. Features include:
12980
12981@itemize
12982@item Batteries included: Command an extended suite of predefined utilities.
12983@item Interoperability: You can still run external shell commands.
12984@item Portability: Works on Windows, OS X, and Linux.
12985@item Exception safety: Safely acquire and release resources.
12986@item Streaming: Transform or fold command output in constant space.
12987@item Patterns: Use typed regular expressions that can parse structured values.
12988@item Formatting: Type-safe printf-style text formatting.
12989@item Modern: Supports text and system-filepath.
12990@end itemize
12991
12992Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
12993quick-start guide. Turtle is designed to be beginner-friendly, but as a
12994result lacks certain features, like tracing commands. If you feel comfortable
12995using turtle then you should also check out the Shelly library which provides
12996similar functionality.")
12997 (license license:bsd-3)))
12998
dddbc90c
RV
12999(define-public ghc-typed-process
13000 (package
13001 (name "ghc-typed-process")
72fb84a5 13002 (version "0.2.6.0")
dddbc90c
RV
13003 (source
13004 (origin
13005 (method url-fetch)
13006 (uri (string-append "https://hackage.haskell.org/package/"
13007 "typed-process/typed-process-"
13008 version ".tar.gz"))
13009 (sha256
13010 (base32
72fb84a5 13011 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13012 (build-system haskell-build-system)
13013 (inputs
72fb84a5
TS
13014 `(("ghc-async" ,ghc-async)
13015 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13016 (native-inputs
13017 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13018 ("ghc-hspec" ,ghc-hspec)
13019 ("hspec-discover" ,hspec-discover)
13020 ("ghc-temporary" ,ghc-temporary)))
13021 (home-page "https://haskell-lang.org/library/typed-process")
13022 (synopsis "Run external processes with strong typing of streams")
13023 (description
13024 "This library provides the ability to launch and interact with external
13025processes. It wraps around the @code{process} library, and intends to improve
13026upon it.")
13027 (license license:expat)))
13028
d392f803
AG
13029(define-public ghc-unagi-chan
13030 (package
13031 (name "ghc-unagi-chan")
13032 (version "0.4.1.2")
13033 (source
13034 (origin
13035 (method url-fetch)
13036 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13037 "/unagi-chan-" version ".tar.gz"))
13038 (sha256
13039 (base32
13040 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13041 (build-system haskell-build-system)
13042 (inputs
13043 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13044 ("ghc-primitive" ,ghc-primitive)))
13045 (arguments
13046 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13047 #:cabal-revision
13048 ("1"
13049 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13050 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13051 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13052 (description
13053 "This library provides implementations of concurrent FIFO queues (for
13054both general boxed and primitive unboxed values) that are fast, perform well
13055under contention, and offer a Chan-like interface. The library may be of
13056limited usefulness outside of x86 architectures where the fetch-and-add
13057instruction is not available.")
13058 (license license:bsd-3)))
13059
dddbc90c
RV
13060(define-public ghc-unbounded-delays
13061 (package
13062 (name "ghc-unbounded-delays")
13063 (version "0.1.1.0")
13064 (source
13065 (origin
13066 (method url-fetch)
13067 (uri (string-append
13068 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13069 version
13070 ".tar.gz"))
13071 (sha256
13072 (base32
13073 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13074 (build-system haskell-build-system)
13075 (home-page "https://github.com/basvandijk/unbounded-delays")
13076 (synopsis "Unbounded thread delays and timeouts")
13077 (description "The @code{threadDelay} and @code{timeout} functions from the
13078Haskell base library use the bounded @code{Int} type for specifying the delay
13079or timeout period. This package provides alternative functions which use the
13080unbounded @code{Integer} type.")
13081 (license license:bsd-3)))
13082
13083(define-public ghc-unexceptionalio
13084 (package
13085 (name "ghc-unexceptionalio")
13086 (version "0.4.0")
13087 (source
13088 (origin
13089 (method url-fetch)
13090 (uri (string-append "https://hackage.haskell.org/package/"
13091 "unexceptionalio-" version "/" "unexceptionalio-"
13092 version ".tar.gz"))
13093 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13094 (build-system haskell-build-system)
13095 (home-page "https://github.com/singpolyma/unexceptionalio")
13096 (synopsis "IO without any non-error, synchronous exceptions")
13097 (description "When you've caught all the exceptions that can be
13098handled safely, this is what you're left with.")
13099 (license license:isc)))
13100
b69d4aa7
TS
13101(define-public ghc-unicode-transforms
13102 (package
13103 (name "ghc-unicode-transforms")
13104 (version "0.3.6")
13105 (source
13106 (origin
13107 (method url-fetch)
13108 (uri (string-append "https://hackage.haskell.org/package/"
13109 "unicode-transforms/unicode-transforms-"
13110 version ".tar.gz"))
13111 (sha256
13112 (base32
13113 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13114 (build-system haskell-build-system)
13115 (inputs
13116 `(("ghc-bitarray" ,ghc-bitarray)))
13117 (native-inputs
13118 `(("ghc-quickcheck" ,ghc-quickcheck)
13119 ("ghc-getopt-generics" ,ghc-getopt-generics)
13120 ("ghc-split" ,ghc-split)))
13121 (home-page "https://github.com/composewell/unicode-transforms")
13122 (synopsis "Unicode normalization")
13123 (description "This library provides tools for fast Unicode 12.1.0
13124normalization in Haskell (normalization forms C, KC, D, and KD).")
13125 (license license:bsd-3)))
13126
dddbc90c
RV
13127(define-public ghc-union-find
13128 (package
13129 (name "ghc-union-find")
13130 (version "0.2")
13131 (source (origin
13132 (method url-fetch)
13133 (uri (string-append
13134 "https://hackage.haskell.org/package/union-find/union-find-"
13135 version ".tar.gz"))
13136 (sha256
13137 (base32
13138 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13139 (build-system haskell-build-system)
13140 (home-page "https://github.com/nominolo/union-find")
13141 (synopsis "Efficient union and equivalence testing of sets")
13142 (description
13143 "The Union/Find algorithm implements these operations in (effectively)
13144constant-time:
13145@enumerate
13146@item Check whether two elements are in the same equivalence class.
13147@item Create a union of two equivalence classes.
13148@item Look up the descriptor of the equivalence class.
13149@end enumerate\n")
13150 (license license:bsd-3)))
13151
13152(define-public ghc-uniplate
13153 (package
13154 (name "ghc-uniplate")
13155 (version "1.6.12")
13156 (source
13157 (origin
13158 (method url-fetch)
13159 (uri (string-append
13160 "https://hackage.haskell.org/package/uniplate/uniplate-"
13161 version
13162 ".tar.gz"))
13163 (sha256
13164 (base32
13165 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13166 (build-system haskell-build-system)
13167 (inputs
13168 `(("ghc-syb" ,ghc-syb)
13169 ("ghc-hashable" ,ghc-hashable)
13170 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13171 (home-page "http://community.haskell.org/~ndm/uniplate/")
13172 (synopsis "Simple, concise and fast generic operations")
13173 (description "Uniplate is a library for writing simple and concise generic
13174operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13175work, but is substantially simpler and faster.")
13176 (license license:bsd-3)))
13177
13178(define-public ghc-unix-compat
13179 (package
13180 (name "ghc-unix-compat")
bc82e9f5 13181 (version "0.5.2")
dddbc90c
RV
13182 (source
13183 (origin
13184 (method url-fetch)
13185 (uri (string-append
13186 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13187 version
13188 ".tar.gz"))
13189 (sha256
13190 (base32
bc82e9f5 13191 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13192 (build-system haskell-build-system)
13193 (home-page
13194 "https://github.com/jystic/unix-compat")
13195 (synopsis "Portable POSIX-compatibility layer")
13196 (description
13197 "This package provides portable implementations of parts of the unix
13198package. This package re-exports the unix package when available. When it
13199isn't available, portable implementations are used.")
13200 (license license:bsd-3)))
13201
13202(define-public ghc-unix-time
13203 (package
13204 (name "ghc-unix-time")
fad9cff2 13205 (version "0.4.7")
dddbc90c
RV
13206 (source
13207 (origin
13208 (method url-fetch)
13209 (uri (string-append
13210 "https://hackage.haskell.org/package/unix-time/unix-time-"
13211 version
13212 ".tar.gz"))
13213 (sha256
13214 (base32
fad9cff2 13215 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13216 (build-system haskell-build-system)
13217 (arguments
13218 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13219 ; is weird, that should be provided by GHC 7.10.2.
13220 (inputs
13221 `(("ghc-old-time" ,ghc-old-time)
13222 ("ghc-old-locale" ,ghc-old-locale)))
13223 (home-page "https://hackage.haskell.org/package/unix-time")
13224 (synopsis "Unix time parser/formatter and utilities")
13225 (description "This library provides fast parsing and formatting utilities
13226for Unix time in Haskell.")
13227 (license license:bsd-3)))
13228
13229(define-public ghc-unliftio
13230 (package
13231 (name "ghc-unliftio")
a4084db1 13232 (version "0.2.12")
dddbc90c
RV
13233 (source
13234 (origin
13235 (method url-fetch)
13236 (uri (string-append
13237 "https://hackage.haskell.org/package/unliftio/unliftio-"
13238 version
13239 ".tar.gz"))
13240 (sha256
13241 (base32
a4084db1 13242 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13243 (build-system haskell-build-system)
13244 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13245 (inputs
13246 `(("ghc-async" ,ghc-async)
13247 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13248 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13249 (home-page "https://github.com/fpco/unliftio")
13250 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13251IO (batteries included)")
13252 (description "This Haskell package provides the core @code{MonadUnliftIO}
13253typeclass, a number of common instances, and a collection of common functions
13254working with it.")
13255 (license license:expat)))
13256
13257(define-public ghc-unliftio-core
13258 (package
13259 (name "ghc-unliftio-core")
2ae42618 13260 (version "0.1.2.0")
dddbc90c
RV
13261 (source
13262 (origin
13263 (method url-fetch)
13264 (uri (string-append "https://hackage.haskell.org/package/"
13265 "unliftio-core-" version "/"
13266 "unliftio-core-" version ".tar.gz"))
13267 (sha256
13268 (base32
2ae42618 13269 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13270 (build-system haskell-build-system)
13271 (arguments
13272 `(#:cabal-revision
2ae42618 13273 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13274 (home-page
13275 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13276 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13277 (description "This Haskell package provides the core @code{MonadUnliftIO}
13278typeclass, instances for base and transformers, and basic utility
13279functions.")
13280 (license license:expat)))
13281
13282(define-public ghc-unordered-containers
13283 (package
13284 (name "ghc-unordered-containers")
ca01f8d3 13285 (version "0.2.10.0")
dddbc90c
RV
13286 (outputs '("out" "doc"))
13287 (source
13288 (origin
13289 (method url-fetch)
13290 (uri (string-append
13291 "https://hackage.haskell.org/package/unordered-containers"
13292 "/unordered-containers-" version ".tar.gz"))
13293 (sha256
13294 (base32
ca01f8d3 13295 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13296 (build-system haskell-build-system)
13297 (inputs
13298 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13299 ("ghc-hunit" ,ghc-hunit)
13300 ("ghc-quickcheck" ,ghc-quickcheck)
13301 ("ghc-test-framework" ,ghc-test-framework)
13302 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13303 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13304 ("ghc-hashable" ,ghc-hashable)))
13305 (home-page
13306 "https://github.com/tibbe/unordered-containers")
13307 (synopsis
13308 "Efficient hashing-based container types")
13309 (description
13310 "Efficient hashing-based container types. The containers have been
13311optimized for performance critical use, both in terms of large data quantities
13312and high speed.")
13313 (license license:bsd-3)))
13314
13315(define-public ghc-unordered-containers-bootstrap
13316 (package
13317 (inherit ghc-unordered-containers)
13318 (name "ghc-unordered-containers-bootstrap")
13319 (arguments `(#:tests? #f))
13320 (inputs
13321 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13322 (properties '((hidden? #t)))))
dddbc90c 13323
a52f4c57
JS
13324(define-public ghc-unsafe
13325 (package
13326 (name "ghc-unsafe")
13327 (version "0.0")
13328 (source
13329 (origin
13330 (method url-fetch)
13331 (uri
13332 (string-append
13333 "https://hackage.haskell.org/package/unsafe/unsafe-"
13334 version ".tar.gz"))
13335 (sha256
13336 (base32
13337 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13338 (build-system haskell-build-system)
13339 (home-page "https://hackage.haskell.org/package/unsafe")
13340 (synopsis "Unified interface to unsafe functions")
13341 (description "Safe Haskell introduced the notion of safe and unsafe
13342modules. In order to make as many as possible modules ``safe'', the
13343well-known unsafe functions were moved to distinguished modules. This
13344makes it hard to write packages that work with both old and new versions
13345of GHC. This package provides a single module System.Unsafe that
13346exports the unsafe functions from the base package. It provides them in
13347a style ready for qualification, that is, you should import them by
13348@code{import qualified System.Unsafe as Unsafe}.")
13349 (license license:bsd-3)))
13350
dddbc90c
RV
13351(define-public ghc-uri-bytestring
13352 (package
13353 (name "ghc-uri-bytestring")
d35ffd39 13354 (version "0.3.2.2")
dddbc90c
RV
13355 (source
13356 (origin
13357 (method url-fetch)
13358 (uri (string-append "https://hackage.haskell.org/package/"
13359 "uri-bytestring-" version "/"
13360 "uri-bytestring-" version ".tar.gz"))
13361 (sha256
13362 (base32
d35ffd39 13363 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13364 (build-system haskell-build-system)
13365 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13366 ("ghc-blaze-builder" ,ghc-blaze-builder)
13367 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13368 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13369 ("ghc-tasty" ,ghc-tasty)
13370 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13371 ("ghc-hedgehog" ,ghc-hedgehog)
13372 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13373 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13374 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13375 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13376 (home-page "https://github.com/Soostone/uri-bytestring")
13377 (synopsis "Haskell URI parsing as ByteStrings")
13378 (description "This Haskell package aims to be an RFC3986 compliant URI
13379parser that uses ByteStrings for parsing and representing the URI data.")
13380 (license license:bsd-3)))
13381
d7ad0823
JS
13382(define-public ghc-utf8-light
13383 (package
13384 (name "ghc-utf8-light")
13385 (version "0.4.2")
13386 (source
13387 (origin
13388 (method url-fetch)
13389 (uri (string-append
13390 "mirror://hackage/package/utf8-light/utf8-light-"
13391 version
13392 ".tar.gz"))
13393 (sha256
13394 (base32
13395 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13396 (build-system haskell-build-system)
13397 (home-page
13398 "http://hackage.haskell.org/package/utf8-light")
13399 (synopsis "Lightweight unicode support for Haskell")
13400 (description
13401 "This package profides a class for encoding and decoding UTF8 strings
13402with instances for several common types. It also includes several functions
13403for working with UTF8. It aims to be lightweight, depending only on Base and
13404including only one module.")
13405 (license license:bsd-3)))
13406
dddbc90c
RV
13407(define-public ghc-utf8-string
13408 (package
13409 (name "ghc-utf8-string")
13410 (version "1.0.1.1")
13411 (source
13412 (origin
13413 (method url-fetch)
13414 (uri (string-append
13415 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13416 version
13417 ".tar.gz"))
13418 (sha256
13419 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13420 (build-system haskell-build-system)
13421 (arguments
13422 `(#:cabal-revision
13423 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13424 (home-page "https://github.com/glguy/utf8-string/")
13425 (synopsis "Support for reading and writing UTF8 Strings")
13426 (description
13427 "A UTF8 layer for Strings. The utf8-string package provides operations
13428for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13429UTF8 without truncation.")
13430 (license license:bsd-3)))
13431
13432(define-public ghc-utility-ht
13433 (package
13434 (name "ghc-utility-ht")
13435 (version "0.0.14")
13436 (home-page "https://hackage.haskell.org/package/utility-ht")
13437 (source
13438 (origin
13439 (method url-fetch)
13440 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13441 (sha256
13442 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13443 (build-system haskell-build-system)
13444 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13445 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13446 (description "This package includes Hakell modules providing various
13447helper functions for Lists, Maybes, Tuples, Functions.")
13448 (license license:bsd-3)))
13449
13450(define-public ghc-uuid
13451 (package
13452 (name "ghc-uuid")
13453 (version "1.3.13")
13454 (source
13455 (origin
13456 (method url-fetch)
13457 (uri (string-append "https://hackage.haskell.org/package/"
13458 "uuid-" version "/"
13459 "uuid-" version ".tar.gz"))
13460 (sha256
13461 (base32
13462 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13463 (build-system haskell-build-system)
13464 (arguments
13465 `(#:cabal-revision
13466 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13467 #:phases
13468 (modify-phases %standard-phases
13469 (add-before 'configure 'strip-test-framework-constraints
13470 (lambda _
13471 (substitute* "uuid.cabal"
13472 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13473 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13474 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13475 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13476 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13477 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13478 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13479 ("ghc-entropy" ,ghc-entropy)
13480 ("ghc-network-info" ,ghc-network-info)
13481 ("ghc-random" ,ghc-random)
13482 ("ghc-uuid-types" ,ghc-uuid-types)))
13483 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13484 ("ghc-quickcheck" ,ghc-quickcheck)
13485 ("ghc-tasty" ,ghc-tasty)
13486 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13487 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13488 (home-page "https://github.com/hvr/uuid")
13489 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13490 (description "This Haskell library provides utilities creating, comparing,
13491parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13492 (license license:bsd-3)))
13493
13494(define-public ghc-uuid-types
13495 (package
13496 (name "ghc-uuid-types")
13497 (version "1.0.3")
13498 (source
13499 (origin
13500 (method url-fetch)
13501 (uri (string-append "https://hackage.haskell.org/package/"
13502 "uuid-types-" version "/"
13503 "uuid-types-" version ".tar.gz"))
13504 (sha256
13505 (base32
13506 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13507 (build-system haskell-build-system)
13508 (arguments
13509 `(#:phases
13510 (modify-phases %standard-phases
13511 (add-before 'configure 'strip-test-framework-constraints
13512 (lambda _
13513 (substitute* "uuid-types.cabal"
13514 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13515 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13516 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13517 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13518 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13519 (inputs `(("ghc-hashable" ,ghc-hashable)
13520 ("ghc-random" ,ghc-random)))
13521 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13522 ("ghc-quickcheck" ,ghc-quickcheck)
13523 ("ghc-tasty" ,ghc-tasty)
13524 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13525 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13526 (home-page "https://github.com/hvr/uuid")
13527 (synopsis "Haskell type definitions for UUIDs")
13528 (description "This Haskell library contains type definitions for
13529@dfn{Universally Unique Identifiers} or
13530@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13531functions.")
13532 (license license:bsd-3)))
13533
13534(define-public ghc-validation
13535 (package
13536 (name "ghc-validation")
08397fde 13537 (version "1.1")
dddbc90c
RV
13538 (source
13539 (origin
13540 (method url-fetch)
13541 (uri (string-append
13542 "mirror://hackage/package/validation/validation-"
13543 version
13544 ".tar.gz"))
13545 (sha256
13546 (base32
08397fde 13547 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13548 (build-system haskell-build-system)
13549 (arguments
13550 `(#:cabal-revision
08397fde 13551 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13552 (inputs
13553 `(("ghc-semigroups" ,ghc-semigroups)
13554 ("ghc-semigroupoids" ,ghc-semigroupoids)
13555 ("ghc-bifunctors" ,ghc-bifunctors)
13556 ("ghc-lens" ,ghc-lens)))
13557 (native-inputs
13558 `(("ghc-hedgehog" ,ghc-hedgehog)
13559 ("ghc-hunit" ,ghc-hunit)))
13560 (home-page "https://github.com/qfpl/validation")
13561 (synopsis
13562 "Data-type like Either but with an accumulating Applicative")
13563 (description
13564 "A data-type like Either but with differing properties and type-class
13565instances.
13566
13567Library support is provided for this different representation, including
13568@code{lens}-related functions for converting between each and abstracting over
13569their similarities.
13570
13571The @code{Validation} data type is isomorphic to @code{Either}, but has an
13572instance of @code{Applicative} that accumulates on the error side. That is to
13573say, if two (or more) errors are encountered, they are appended using a
13574@{Semigroup} operation.
13575
13576As a consequence of this @code{Applicative} instance, there is no
13577corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13578example of, \"An applicative functor that is not a monad.\"")
13579 (license license:bsd-3)))
13580
13581(define-public ghc-validity
13582 (package
13583 (name "ghc-validity")
3f1ba75d 13584 (version "0.9.0.2")
dddbc90c
RV
13585 (source
13586 (origin
13587 (method url-fetch)
13588 (uri (string-append
13589 "https://hackage.haskell.org/package/validity/validity-"
13590 version
13591 ".tar.gz"))
13592 (sha256
13593 (base32
3f1ba75d 13594 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13595 (build-system haskell-build-system)
13596 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13597 ("hspec-discover" ,hspec-discover)))
13598 (home-page
13599 "https://github.com/NorfairKing/validity")
13600 (synopsis "Validity typeclass")
13601 (description
13602 "Values of custom types usually have invariants imposed upon them. This
13603package provides the @code{Validity} type class, which makes these invariants
13604explicit by providing a function to check whether the invariants hold.")
13605 (license license:expat)))
13606
13607(define-public ghc-vault
13608 (package
13609 (name "ghc-vault")
b40a436e 13610 (version "0.3.1.3")
dddbc90c
RV
13611 (source
13612 (origin
13613 (method url-fetch)
13614 (uri (string-append
13615 "https://hackage.haskell.org/package/vault/vault-"
13616 version
13617 ".tar.gz"))
13618 (sha256
13619 (base32
b40a436e 13620 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13621 (build-system haskell-build-system)
13622 (inputs
13623 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13624 ("ghc-hashable" ,ghc-hashable)
b40a436e 13625 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13626 (home-page
13627 "https://github.com/HeinrichApfelmus/vault")
13628 (synopsis "Persistent store for arbitrary values")
13629 (description "This package provides vaults for Haskell. A vault is a
13630persistent store for values of arbitrary types. It's like having first-class
13631access to the storage space behind @code{IORefs}. The data structure is
13632analogous to a bank vault, where you can access different bank boxes with
13633different keys; hence the name. Also provided is a @code{locker} type,
13634representing a store for a single element.")
13635 (license license:bsd-3)))
13636
13637(define-public ghc-vector
13638 (package
13639 (name "ghc-vector")
3ad67f6b 13640 (version "0.12.0.3")
dddbc90c
RV
13641 (outputs '("out" "doc"))
13642 (source
13643 (origin
13644 (method url-fetch)
13645 (uri (string-append
13646 "https://hackage.haskell.org/package/vector/vector-"
13647 version
13648 ".tar.gz"))
13649 (sha256
13650 (base32
3ad67f6b 13651 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13652 (build-system haskell-build-system)
13653 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13654 ;; disabled for now.
13655 (arguments
3ad67f6b 13656 `(#:tests? #f))
dddbc90c
RV
13657 (inputs
13658 `(("ghc-primitive" ,ghc-primitive)
13659 ("ghc-random" ,ghc-random)
13660 ("ghc-quickcheck" ,ghc-quickcheck)
13661 ;; ("ghc-hunit" ,ghc-hunit)
13662 ;; ("ghc-test-framework" ,ghc-test-framework)
13663 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13664 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13665 ))
13666 (home-page "https://github.com/haskell/vector")
13667 (synopsis "Efficient Arrays")
13668 (description "This library provides an efficient implementation of
13669Int-indexed arrays (both mutable and immutable), with a powerful loop
13670optimisation framework.")
13671 (license license:bsd-3)))
13672
13673(define-public ghc-vector-algorithms
13674 (package
13675 (name "ghc-vector-algorithms")
e71f316f 13676 (version "0.8.0.1")
dddbc90c
RV
13677 (source
13678 (origin
13679 (method url-fetch)
13680 (uri (string-append "https://hackage.haskell.org/package/"
13681 "vector-algorithms-" version "/"
13682 "vector-algorithms-" version ".tar.gz"))
13683 (sha256
13684 (base32
e71f316f 13685 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13686 (build-system haskell-build-system)
13687 (inputs
13688 `(("ghc-vector" ,ghc-vector)))
13689 (native-inputs
13690 `(("ghc-quickcheck" ,ghc-quickcheck)))
13691 (home-page "https://github.com/bos/math-functions")
13692 (synopsis "Algorithms for vector arrays in Haskell")
13693 (description "This Haskell library algorithms for vector arrays.")
13694 (license license:bsd-3)))
13695
13696(define-public ghc-vector-binary-instances
13697 (package
13698 (name "ghc-vector-binary-instances")
ca0701ef 13699 (version "0.2.5.1")
dddbc90c
RV
13700 (source
13701 (origin
13702 (method url-fetch)
13703 (uri (string-append
13704 "https://hackage.haskell.org/package/"
13705 "vector-binary-instances/vector-binary-instances-"
13706 version ".tar.gz"))
13707 (sha256
13708 (base32
ca0701ef 13709 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13710 (build-system haskell-build-system)
dddbc90c
RV
13711 (inputs
13712 `(("ghc-vector" ,ghc-vector)))
13713 (native-inputs
13714 `(("ghc-tasty" ,ghc-tasty)
13715 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13716 (home-page "https://github.com/bos/vector-binary-instances")
13717 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
13718 (description "This library provides instances of @code{Binary} for the
13719types defined in the @code{vector} package, making it easy to serialize
13720vectors to and from disk. We use the generic interface to vectors, so all
13721vector types are supported. Specific instances are provided for unboxed,
13722boxed and storable vectors.")
13723 (license license:bsd-3)))
13724
13725(define-public ghc-vector-builder
13726 (package
13727 (name "ghc-vector-builder")
1fc05441 13728 (version "0.3.8")
dddbc90c
RV
13729 (source
13730 (origin
13731 (method url-fetch)
13732 (uri (string-append "https://hackage.haskell.org/package/"
13733 "vector-builder-" version "/"
13734 "vector-builder-" version ".tar.gz"))
13735 (sha256
13736 (base32
1fc05441 13737 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
13738 (build-system haskell-build-system)
13739 (inputs `(("ghc-vector" ,ghc-vector)
13740 ("ghc-semigroups" ,ghc-semigroups)
13741 ("ghc-base-prelude" ,ghc-base-prelude)))
13742 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13743 ("ghc-tasty" ,ghc-tasty)
13744 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13745 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
13746 ("ghc-hunit" ,ghc-hunit)
13747 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
13748 ("ghc-rerebase" ,ghc-rerebase)))
13749 (home-page "https://github.com/nikita-volkov/vector-builder")
13750 (synopsis "Vector builder for Haskell")
13751 (description "This Haskell package provides an API for constructing vectors.
13752It provides the composable @code{Builder} abstraction, which has instances of the
13753@code{Monoid} and @code{Semigroup} classes.
13754
13755You would first use the @code{Builder} abstraction to specify the structure of
13756the vector; then you can execute the builder to actually produce the
13757vector. ")
13758 (license license:expat)))
13759
13760(define-public ghc-vector-th-unbox
13761 (package
13762 (name "ghc-vector-th-unbox")
63056e61 13763 (version "0.2.1.7")
dddbc90c
RV
13764 (source
13765 (origin
13766 (method url-fetch)
13767 (uri (string-append "https://hackage.haskell.org/package/"
13768 "vector-th-unbox-" version "/"
13769 "vector-th-unbox-" version ".tar.gz"))
13770 (sha256
13771 (base32
63056e61 13772 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
13773 (build-system haskell-build-system)
13774 (inputs
13775 `(("ghc-vector" ,ghc-vector)
13776 ("ghc-data-default" ,ghc-data-default)))
13777 (home-page "https://github.com/liyang/vector-th-unbox")
13778 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
13779 (description "This Haskell library provides a Template Haskell
13780deriver for unboxed vectors, given a pair of coercion functions to
13781and from some existing type with an Unbox instance.")
13782 (license license:bsd-3)))
13783
13784(define-public ghc-void
13785 (package
13786 (name "ghc-void")
51889121 13787 (version "0.7.3")
dddbc90c
RV
13788 (source
13789 (origin
13790 (method url-fetch)
13791 (uri (string-append
13792 "https://hackage.haskell.org/package/void/void-"
13793 version
13794 ".tar.gz"))
13795 (sha256
13796 (base32
51889121 13797 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
13798 (build-system haskell-build-system)
13799 (inputs
13800 `(("ghc-semigroups" ,ghc-semigroups)
13801 ("ghc-hashable" ,ghc-hashable)))
13802 (home-page "https://github.com/ekmett/void")
13803 (synopsis
13804 "Logically uninhabited data type")
13805 (description
13806 "A Haskell 98 logically uninhabited data type, used to indicate that a
13807given term should not exist.")
13808 (license license:bsd-3)))
13809
13810(define-public ghc-wave
13811 (package
13812 (name "ghc-wave")
1631a0f7 13813 (version "0.2.0")
dddbc90c
RV
13814 (source (origin
13815 (method url-fetch)
13816 (uri (string-append
13817 "https://hackage.haskell.org/package/wave/wave-"
13818 version
13819 ".tar.gz"))
13820 (sha256
13821 (base32
1631a0f7 13822 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
13823 (build-system haskell-build-system)
13824 (arguments
13825 '(#:phases
13826 (modify-phases %standard-phases
13827 (add-before 'configure 'update-constraints
13828 (lambda _
13829 (substitute* "wave.cabal"
13830 (("temporary.* < 1\\.3")
13831 "temporary >= 1.1 && < 1.4")))))))
13832 (inputs
13833 `(("ghc-cereal" ,ghc-cereal)
13834 ("ghc-data-default-class"
13835 ,ghc-data-default-class)
13836 ("ghc-quickcheck" ,ghc-quickcheck)
13837 ("ghc-temporary" ,ghc-temporary)))
13838 (native-inputs
13839 `(("hspec-discover" ,hspec-discover)
13840 ("ghc-hspec" ,ghc-hspec)))
13841 (home-page "https://github.com/mrkkrp/wave")
13842 (synopsis "Work with WAVE and RF64 files in Haskell")
13843 (description "This package allows you to work with WAVE and RF64
13844files in Haskell.")
13845 (license license:bsd-3)))
13846
13847(define-public ghc-wcwidth
13848 (package
13849 (name "ghc-wcwidth")
13850 (version "0.0.2")
13851 (source
13852 (origin
13853 (method url-fetch)
13854 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
13855 version ".tar.gz"))
13856 (sha256
13857 (base32
13858 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
13859 (build-system haskell-build-system)
13860 (inputs
13861 `(("ghc-setlocale" ,ghc-setlocale)
13862 ("ghc-utf8-string" ,ghc-utf8-string)
13863 ("ghc-attoparsec" ,ghc-attoparsec)))
13864 (home-page "https://github.com/solidsnack/wcwidth/")
13865 (synopsis "Haskell bindings to wcwidth")
13866 (description "This package provides Haskell bindings to your system's
13867native wcwidth and a command line tool to examine the widths assigned by it.
13868The command line tool can compile a width table to Haskell code that assigns
13869widths to the Char type.")
13870 (license license:bsd-3)))
13871
13872(define-public ghc-wcwidth-bootstrap
13873 (package
13874 (inherit ghc-wcwidth)
13875 (name "ghc-wcwidth-bootstrap")
13876 (inputs
13877 `(("ghc-setlocale" ,ghc-setlocale)
13878 ("ghc-utf8-string" ,ghc-utf8-string)
13879 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 13880 (properties '((hidden? #t)))))
dddbc90c
RV
13881
13882(define-public ghc-weigh
13883 (package
13884 (name "ghc-weigh")
b6d9777f 13885 (version "0.0.14")
dddbc90c
RV
13886 (source
13887 (origin
13888 (method url-fetch)
13889 (uri (string-append "https://hackage.haskell.org/package/weigh/"
13890 "weigh-" version ".tar.gz"))
13891 (sha256
13892 (base32
b6d9777f 13893 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
13894 (build-system haskell-build-system)
13895 (inputs
13896 `(("ghc-split" ,ghc-split)
13897 ("ghc-temporary" ,ghc-temporary)))
13898 (home-page "https://github.com/fpco/weigh#readme")
13899 (synopsis "Measure allocations of a Haskell functions/values")
13900 (description "This package provides tools to measure the memory usage of a
13901Haskell value or function.")
13902 (license license:bsd-3)))
13903
13904(define-public ghc-wl-pprint
13905 (package
13906 (name "ghc-wl-pprint")
13907 (version "1.2.1")
13908 (source (origin
13909 (method url-fetch)
13910 (uri (string-append
13911 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
13912 version ".tar.gz"))
13913 (sha256
13914 (base32
13915 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
13916 (build-system haskell-build-system)
13917 (home-page "https://hackage.haskell.org/package/wl-pprint")
13918 (synopsis "Wadler/Leijen pretty printer")
13919 (description
13920 "This is a pretty printing library based on Wadler's paper @i{A Prettier
13921Printer}. This version allows the library user to declare overlapping
13922instances of the @code{Pretty} class.")
13923 (license license:bsd-3)))
13924
13925(define-public ghc-wl-pprint-annotated
13926 (package
13927 (name "ghc-wl-pprint-annotated")
13928 (version "0.1.0.1")
13929 (source
13930 (origin
13931 (method url-fetch)
13932 (uri (string-append
13933 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
13934 version
13935 ".tar.gz"))
13936 (sha256
13937 (base32
13938 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
13939 (build-system haskell-build-system)
13940 (native-inputs
13941 `(("ghc-tasty" ,ghc-tasty)
13942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13943 (home-page
13944 "https://github.com/minad/wl-pprint-annotated#readme")
13945 (synopsis
13946 "Wadler/Leijen pretty printer with annotation support")
13947 (description
13948 "Annotations are useful for coloring. This is a limited version of
13949@code{wl-pprint-extras} without support for point effects and without the free
13950monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13951Compared to @code{annotated-wl-pprint} this library provides a slightly
13952modernized interface.")
13953 (license license:bsd-3)))
13954
13955(define-public ghc-wl-pprint-text
13956 (package
13957 (name "ghc-wl-pprint-text")
13958 (version "1.2.0.0")
13959 (source
13960 (origin
13961 (method url-fetch)
13962 (uri (string-append
13963 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13964 version ".tar.gz"))
13965 (sha256
13966 (base32
13967 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13968 (build-system haskell-build-system)
13969 (inputs
13970 `(("ghc-base-compat" ,ghc-base-compat)))
13971 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13972 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13973 (description
13974 "A clone of wl-pprint for use with the text library.")
13975 (license license:bsd-3)))
13976
13977(define-public ghc-word8
13978 (package
13979 (name "ghc-word8")
13980 (version "0.1.3")
13981 (source
13982 (origin
13983 (method url-fetch)
13984 (uri (string-append
13985 "https://hackage.haskell.org/package/word8/word8-"
13986 version
13987 ".tar.gz"))
13988 (sha256
13989 (base32
13990 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13991 (build-system haskell-build-system)
13992 (native-inputs
13993 `(("ghc-hspec" ,ghc-hspec)
13994 ("hspec-discover" ,hspec-discover)))
13995 (home-page "https://hackage.haskell.org/package/word8")
13996 (synopsis "Word8 library for Haskell")
13997 (description "Word8 library to be used with @code{Data.ByteString}.")
13998 (license license:bsd-3)))
13999
14000(define-public ghc-x11
14001 (package
14002 (name "ghc-x11")
6c4581a3 14003 (version "1.9.1")
dddbc90c
RV
14004 (source
14005 (origin
14006 (method url-fetch)
14007 (uri (string-append "https://hackage.haskell.org/package/X11/"
14008 "X11-" version ".tar.gz"))
14009 (sha256
6c4581a3 14010 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
14011 (build-system haskell-build-system)
14012 (inputs
14013 `(("libx11" ,libx11)
14014 ("libxrandr" ,libxrandr)
14015 ("libxinerama" ,libxinerama)
14016 ("libxscrnsaver" ,libxscrnsaver)
14017 ("ghc-data-default" ,ghc-data-default)))
14018 (home-page "https://github.com/haskell-pkg-janitors/X11")
14019 (synopsis "Bindings to the X11 graphics library")
14020 (description
14021 "This package provides Haskell bindings to the X11 graphics library. The
14022bindings are a direct translation of the C bindings.")
14023 (license license:bsd-3)))
14024
14025(define-public ghc-x11-xft
14026 (package
14027 (name "ghc-x11-xft")
14028 (version "0.3.1")
14029 (source
14030 (origin
14031 (method url-fetch)
14032 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14033 "X11-xft-" version ".tar.gz"))
14034 (sha256
14035 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14036 (inputs
14037 `(("ghc-x11" ,ghc-x11)
14038 ("ghc-utf8-string" ,ghc-utf8-string)
14039 ("libx11" ,libx11)
14040 ("libxft" ,libxft)
14041 ("xorgproto" ,xorgproto)))
14042 (native-inputs
14043 `(("pkg-config" ,pkg-config)))
14044 (build-system haskell-build-system)
14045 (home-page "https://hackage.haskell.org/package/X11-xft")
14046 (synopsis "Bindings to Xft")
14047 (description
14048 "Bindings to the Xft, X Free Type interface library, and some Xrender
14049parts.")
14050 (license license:lgpl2.1)))
14051
14052(define-public ghc-xdg-basedir
14053 (package
14054 (name "ghc-xdg-basedir")
14055 (version "0.2.2")
14056 (source
14057 (origin
14058 (method url-fetch)
14059 (uri (string-append
14060 "https://hackage.haskell.org/package/xdg-basedir/"
14061 "xdg-basedir-" version ".tar.gz"))
14062 (sha256
14063 (base32
14064 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14065 (build-system haskell-build-system)
14066 (home-page "http://github.com/willdonnelly/xdg-basedir")
14067 (synopsis "XDG Base Directory library for Haskell")
14068 (description "This package provides a library implementing the XDG Base Directory spec.")
14069 (license license:bsd-3)))
14070
14071(define-public ghc-xml
14072 (package
14073 (name "ghc-xml")
14074 (version "1.3.14")
14075 (source
14076 (origin
14077 (method url-fetch)
14078 (uri (string-append
14079 "https://hackage.haskell.org/package/xml/xml-"
14080 version
14081 ".tar.gz"))
14082 (sha256
14083 (base32
14084 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14085 (build-system haskell-build-system)
2b62f5d0 14086 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14087 (synopsis "Simple XML library for Haskell")
14088 (description "This package provides a simple XML library for Haskell.")
14089 (license license:bsd-3)))
14090
14091(define-public ghc-xml-conduit
14092 (package
14093 (name "ghc-xml-conduit")
14094 (version "1.8.0.1")
14095 (source
14096 (origin
14097 (method url-fetch)
14098 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14099 "xml-conduit-" version ".tar.gz"))
14100 (sha256
14101 (base32
14102 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14103 (build-system haskell-build-system)
14104 (inputs
14105 `(("ghc-conduit" ,ghc-conduit)
14106 ("ghc-conduit-extra" ,ghc-conduit-extra)
14107 ("ghc-doctest" ,ghc-doctest)
14108 ("ghc-resourcet" ,ghc-resourcet)
14109 ("ghc-xml-types" ,ghc-xml-types)
14110 ("ghc-attoparsec" ,ghc-attoparsec)
14111 ("ghc-data-default-class" ,ghc-data-default-class)
14112 ("ghc-blaze-markup" ,ghc-blaze-markup)
14113 ("ghc-blaze-html" ,ghc-blaze-html)
14114 ("ghc-monad-control" ,ghc-monad-control)
14115 ("ghc-hspec" ,ghc-hspec)
14116 ("ghc-hunit" ,ghc-hunit)))
14117 (home-page "https://github.com/snoyberg/xml")
14118 (synopsis "Utilities for dealing with XML with the conduit package")
14119 (description
14120 "This package provides pure-Haskell utilities for dealing with XML with
14121the @code{conduit} package.")
14122 (license license:expat)))
14123
14124(define-public ghc-xml-types
14125 (package
14126 (name "ghc-xml-types")
14127 (version "0.3.6")
14128 (source
14129 (origin
14130 (method url-fetch)
14131 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14132 "xml-types-" version ".tar.gz"))
14133 (sha256
14134 (base32
14135 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14136 (build-system haskell-build-system)
14137 (home-page "https://john-millikin.com/software/haskell-xml/")
14138 (synopsis "Basic types for representing XML")
14139 (description "This package provides basic types for representing XML
14140documents.")
14141 (license license:expat)))
14142
14143(define-public ghc-yaml
14144 (package
14145 (name "ghc-yaml")
b58e5b84 14146 (version "0.11.1.2")
dddbc90c
RV
14147 (source (origin
14148 (method url-fetch)
14149 (uri (string-append "https://hackage.haskell.org/package/"
14150 "yaml/yaml-" version ".tar.gz"))
14151 (sha256
14152 (base32
b58e5b84 14153 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14154 (build-system haskell-build-system)
dddbc90c
RV
14155 (inputs
14156 `(("ghc-conduit" ,ghc-conduit)
14157 ("ghc-resourcet" ,ghc-resourcet)
14158 ("ghc-aeson" ,ghc-aeson)
14159 ("ghc-unordered-containers" ,ghc-unordered-containers)
14160 ("ghc-vector" ,ghc-vector)
14161 ("ghc-attoparsec" ,ghc-attoparsec)
14162 ("ghc-scientific" ,ghc-scientific)
14163 ("ghc-semigroups" ,ghc-semigroups)
14164 ("ghc-temporary" ,ghc-temporary)
14165 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14166 ("ghc-base-compat" ,ghc-base-compat)
14167 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14168 (native-inputs
14169 `(("ghc-hspec" ,ghc-hspec)
14170 ("ghc-hunit" ,ghc-hunit)
14171 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14172 ("ghc-mockery" ,ghc-mockery)
14173 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14174 (home-page "https://github.com/snoyberg/yaml/")
14175 (synopsis "Parsing and rendering YAML documents")
14176 (description
14177 "This package provides a library to parse and render YAML documents.")
14178 (license license:bsd-3)))
14179
14180(define-public ghc-zip-archive
14181 (package
14182 (name "ghc-zip-archive")
93c1fdd3 14183 (version "0.4.1")
dddbc90c
RV
14184 (source
14185 (origin
14186 (method url-fetch)
14187 (uri (string-append
14188 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14189 version
14190 ".tar.gz"))
14191 (sha256
14192 (base32
93c1fdd3 14193 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14194 (build-system haskell-build-system)
93c1fdd3
TS
14195 (arguments
14196 `(#:phases
14197 (modify-phases %standard-phases
14198 (add-before 'check 'set-PATH-for-tests
14199 (lambda* (#:key inputs #:allow-other-keys)
14200 (let ((unzip (assoc-ref inputs "unzip"))
14201 (which (assoc-ref inputs "which"))
14202 (path (getenv "PATH")))
14203 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14204 #t))))))
dddbc90c
RV
14205 (inputs
14206 `(("ghc-digest" ,ghc-digest)
14207 ("ghc-temporary" ,ghc-temporary)
14208 ("ghc-zlib" ,ghc-zlib)))
14209 (native-inputs
14210 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14211 ("unzip" ,unzip)
14212 ("which" ,which)))
dddbc90c
RV
14213 (home-page "https://hackage.haskell.org/package/zip-archive")
14214 (synopsis "Zip archive library for Haskell")
14215 (description "The zip-archive library provides functions for creating,
14216modifying, and extracting files from zip archives in Haskell.")
14217 (license license:bsd-3)))
14218
14219(define-public ghc-zlib
14220 (package
14221 (name "ghc-zlib")
bf12089a 14222 (version "0.6.2.1")
dddbc90c
RV
14223 (outputs '("out" "doc"))
14224 (source
14225 (origin
14226 (method url-fetch)
14227 (uri (string-append
14228 "https://hackage.haskell.org/package/zlib/zlib-"
14229 version
14230 ".tar.gz"))
14231 (sha256
14232 (base32
bf12089a 14233 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14234 (build-system haskell-build-system)
14235 (arguments
14236 `(#:phases
14237 (modify-phases %standard-phases
14238 (add-before 'configure 'strip-test-framework-constraints
14239 (lambda _
14240 (substitute* "zlib.cabal"
14241 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14242 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14243 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14244 (inputs `(("zlib" ,zlib)))
14245 (native-inputs
14246 `(("ghc-quickcheck" ,ghc-quickcheck)
14247 ("ghc-tasty" ,ghc-tasty)
14248 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14249 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14250 (home-page "https://hackage.haskell.org/package/zlib")
14251 (synopsis
14252 "Compression and decompression in the gzip and zlib formats")
14253 (description
14254 "This package provides a pure interface for compressing and decompressing
14255streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14256library so it has high performance. It supports the @code{zlib}, @code{gzip}
14257and @code{raw} compression formats. It provides a convenient high level API
14258suitable for most tasks and for the few cases where more control is needed it
14259provides access to the full zlib feature set.")
bbf8bf31 14260 (license license:bsd-3)))
14e41996
RV
14261
14262(define-public ghc-zlib-bindings
14263 (package
14264 (name "ghc-zlib-bindings")
14265 (version "0.1.1.5")
14266 (source
14267 (origin
14268 (method url-fetch)
14269 (uri (string-append "https://hackage.haskell.org/package/"
14270 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14271 (sha256
14272 (base32
14273 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14274 (build-system haskell-build-system)
14275 (inputs
14276 `(("ghc-zlib" ,ghc-zlib)))
14277 (native-inputs
14278 `(("ghc-hspec" ,ghc-hspec)
14279 ("ghc-quickcheck" ,ghc-quickcheck)))
14280 (arguments
14281 `(#:cabal-revision
14282 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14283 (home-page "https://github.com/snapframework/zlib-bindings")
14284 (synopsis "Low-level bindings to the @code{zlib} package")
14285 (description "This package provides low-level bindings to the
14286@code{zlib} package.")
14287 (license license:bsd-3)))
8428e92c
TS
14288
14289(define-public ghc-zstd
14290 (package
14291 (name "ghc-zstd")
14292 (version "0.1.1.2")
14293 (source
14294 (origin
14295 (method url-fetch)
14296 (uri (string-append "https://hackage.haskell.org/package/"
14297 "zstd/zstd-" version ".tar.gz"))
14298 (sha256
14299 (base32
14300 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14301 (build-system haskell-build-system)
14302 (native-inputs
14303 `(("ghc-quickcheck" ,ghc-quickcheck)
14304 ("ghc-test-framework" ,ghc-test-framework)
14305 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14306 (home-page "https://github.com/luispedro/hs-zstd")
14307 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14308 (description "This library provides Haskell bindings to the
14309Zstandard compression algorithm, a fast lossless compression algorithm
14310targeting real-time compression scenarios at zlib-level and better
14311compression ratios.")
14312 (license license:bsd-3)))