gnu: Add ghc-repline-0.3.
[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
dd26713e
JS
5277(define-public ghc-haskeline-0.8
5278 (package
5279 (name "ghc-haskeline")
5280 (version "0.8.0.0")
5281 (source
5282 (origin
5283 (method url-fetch)
5284 (uri (string-append
5285 "https://hackage.haskell.org/package/haskeline/haskeline-"
5286 version
5287 ".tar.gz"))
5288 (sha256
5289 (base32
5290 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5291 (build-system haskell-build-system)
5292 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5293 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5294 ;; FIXME: Tests failing
5295 (arguments `(#:tests? #f))
5296 (home-page "https://github.com/judah/haskeline")
5297 (synopsis
5298 "Command-line interface for user input, written in Haskell")
5299 (description
5300 "Haskeline provides a user interface for line input in command-line
5301programs. This library is similar in purpose to readline, but since it is
5302written in Haskell it is (hopefully) more easily used in other Haskell
5303programs.
5304
5305Haskeline runs both on POSIX-compatible systems and on Windows.")
5306 (license license:bsd-3)))
5307
dddbc90c
RV
5308(define-public ghc-haskell-lexer
5309 (package
5310 (name "ghc-haskell-lexer")
5311 (version "1.0.2")
5312 (source
5313 (origin
5314 (method url-fetch)
5315 (uri (string-append
5316 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5317 version ".tar.gz"))
5318 (sha256
5319 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5320 (build-system haskell-build-system)
3ef91e15 5321 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5322 (synopsis "Fully compliant Haskell 98 lexer")
5323 (description
5324 "This package provides a fully compliant Haskell 98 lexer.")
5325 (license license:bsd-3)))
5326
5327(define-public ghc-haskell-src
5328 (package
5329 (name "ghc-haskell-src")
5330 (version "1.0.3.0")
5331 (source
5332 (origin
5333 (method url-fetch)
5334 (uri (string-append
5335 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5336 version
5337 ".tar.gz"))
5338 (sha256
5339 (base32
5340 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5341 (build-system haskell-build-system)
5342 (inputs
5343 `(("ghc-happy" ,ghc-happy)
5344 ("ghc-syb" ,ghc-syb)))
5345 (home-page
5346 "https://hackage.haskell.org/package/haskell-src")
5347 (synopsis
5348 "Support for manipulating Haskell source code")
5349 (description
5350 "The @code{haskell-src} package provides support for manipulating Haskell
5351source code. The package provides a lexer, parser and pretty-printer, and a
5352definition of a Haskell abstract syntax tree (AST). Common uses of this
5353package are to parse or generate Haskell 98 code.")
5354 (license license:bsd-3)))
5355
5356(define-public ghc-haskell-src-exts
5357 (package
5358 (name "ghc-haskell-src-exts")
37a05591 5359 (version "1.21.1")
dddbc90c
RV
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append
5364 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5365 version
5366 ".tar.gz"))
5367 (sha256
5368 (base32
37a05591 5369 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5370 (build-system haskell-build-system)
5371 (inputs
5372 `(("cpphs" ,cpphs)
5373 ("ghc-happy" ,ghc-happy)
5374 ("ghc-pretty-show" ,ghc-pretty-show)))
5375 (native-inputs
5376 `(("ghc-smallcheck" ,ghc-smallcheck)
5377 ("ghc-tasty" ,ghc-tasty)
5378 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5379 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5380 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5381 (synopsis "Library for manipulating Haskell source")
5382 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5383extension of the standard @code{haskell-src} package, and handles most
5384registered syntactic extensions to Haskell. All extensions implemented in GHC
5385are supported. Apart from these standard extensions, it also handles regular
5386patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5387 (license license:bsd-3)))
5388
5389(define-public ghc-haskell-src-exts-util
5390 (package
5391 (name "ghc-haskell-src-exts-util")
77355bdf 5392 (version "0.2.5")
dddbc90c
RV
5393 (source
5394 (origin
5395 (method url-fetch)
5396 (uri (string-append "https://hackage.haskell.org/package/"
5397 "haskell-src-exts-util/haskell-src-exts-util-"
5398 version ".tar.gz"))
5399 (sha256
5400 (base32
77355bdf 5401 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5402 (build-system haskell-build-system)
5403 (inputs
5404 `(("ghc-data-default" ,ghc-data-default)
5405 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5406 ("ghc-semigroups" ,ghc-semigroups)
5407 ("ghc-uniplate" ,ghc-uniplate)))
5408 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5409 (synopsis "Helper functions for working with haskell-src-exts trees")
5410 (description
5411 "This package provides helper functions for working with
5412@code{haskell-src-exts} trees.")
5413 (license license:bsd-3)))
5414
5415(define-public ghc-haskell-src-meta
5416 (package
5417 (name "ghc-haskell-src-meta")
e94b3c72 5418 (version "0.8.3")
dddbc90c
RV
5419 (source (origin
5420 (method url-fetch)
5421 (uri (string-append "https://hackage.haskell.org/package/"
5422 "haskell-src-meta/haskell-src-meta-"
5423 version ".tar.gz"))
5424 (sha256
5425 (base32
e94b3c72 5426 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5427 (build-system haskell-build-system)
5428 (inputs
5429 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5430 ("ghc-syb" ,ghc-syb)
5431 ("ghc-th-orphans" ,ghc-th-orphans)))
5432 (native-inputs
5433 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5434 ("ghc-tasty" ,ghc-tasty)
5435 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5436 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5437 (synopsis "Parse source to template-haskell abstract syntax")
5438 (description
5439 "This package provides tools to parse Haskell sources to the
5440template-haskell abstract syntax.")
5441 (license license:bsd-3)))
5442
5443(define-public ghc-hasktags
5444 (package
5445 (name "ghc-hasktags")
5446 (version "0.71.2")
5447 (source
5448 (origin
5449 (method url-fetch)
5450 (uri (string-append
5451 "https://hackage.haskell.org/package/hasktags/hasktags-"
5452 version
5453 ".tar.gz"))
5454 (sha256
5455 (base32
5456 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5457 (build-system haskell-build-system)
5458 (inputs
5459 `(("ghc-system-filepath" ,ghc-system-filepath)
5460 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5461 (native-inputs
5462 `(("ghc-json" ,ghc-json)
5463 ("ghc-utf8-string" ,ghc-utf8-string)
5464 ("ghc-microlens-platform" ,ghc-microlens-platform)
5465 ("ghc-hunit" ,ghc-hunit)))
5466 (home-page "http://github.com/MarcWeber/hasktags")
5467 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5468 (description
5469 "This package provides a means of generating tag files for Emacs and
5470Vim.")
5471 (license license:bsd-3)))
5472
5473(define-public ghc-hex
5474 (package
5475 (name "ghc-hex")
5476 (version "0.1.2")
5477 (source
5478 (origin
5479 (method url-fetch)
5480 (uri (string-append "https://hackage.haskell.org/package/"
5481 "hex-" version "/"
5482 "hex-" version ".tar.gz"))
5483 (sha256
5484 (base32
5485 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5486 (build-system haskell-build-system)
5487 (home-page "https://hackage.haskell.org/package/hex")
5488 (synopsis "Convert strings into hexadecimal and back")
5489 (description "This package provides conversion functions between
5490bytestrings and their hexademical representation.")
5491 (license license:bsd-3)))
5492
5493(define-public ghc-highlighting-kate
5494 (package
5495 (name "ghc-highlighting-kate")
5496 (version "0.6.4")
5497 (source (origin
5498 (method url-fetch)
5499 (uri (string-append "https://hackage.haskell.org/package/"
5500 "highlighting-kate/highlighting-kate-"
5501 version ".tar.gz"))
5502 (sha256
5503 (base32
5504 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5505 (build-system haskell-build-system)
5506 (inputs
5507 `(("ghc-diff" ,ghc-diff)
5508 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5509 (native-inputs
5510 `(("ghc-blaze-html" ,ghc-blaze-html)
5511 ("ghc-utf8-string" ,ghc-utf8-string)))
5512 (home-page "https://github.com/jgm/highlighting-kate")
5513 (synopsis "Syntax highlighting library")
5514 (description
5515 "Highlighting-kate is a syntax highlighting library with support for
5516nearly one hundred languages. The syntax parsers are automatically generated
5517from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5518supported by Kate can be added. An (optional) command-line program is
5519provided, along with a utility for generating new parsers from Kate XML syntax
5520descriptions.")
5521 (license license:gpl2+)))
5522
5523(define-public ghc-hindent
5524 (package
5525 (name "ghc-hindent")
f545f894 5526 (version "5.3.1")
dddbc90c
RV
5527 (source
5528 (origin
5529 (method url-fetch)
5530 (uri (string-append
5531 "https://hackage.haskell.org/package/hindent/hindent-"
5532 version
5533 ".tar.gz"))
5534 (sha256
5535 (base32
f545f894 5536 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5537 (build-system haskell-build-system)
5538 (arguments
5539 `(#:modules ((guix build haskell-build-system)
5540 (guix build utils)
5541 (guix build emacs-utils))
5542 #:imported-modules (,@%haskell-build-system-modules
5543 (guix build emacs-utils))
5544 #:phases
5545 (modify-phases %standard-phases
5546 (add-after 'install 'emacs-install
5547 (lambda* (#:key inputs outputs #:allow-other-keys)
5548 (let* ((out (assoc-ref outputs "out"))
5549 (elisp-file "elisp/hindent.el")
d53e87cf 5550 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5551 (emacs (string-append (assoc-ref inputs "emacs")
5552 "/bin/emacs")))
5553 (make-file-writable elisp-file)
5554 (emacs-substitute-variables elisp-file
5555 ("hindent-process-path"
5556 (string-append out "/bin/hindent")))
5557 (install-file elisp-file dest)
5558 (emacs-generate-autoloads "hindent" dest)))))))
5559 (inputs
5560 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5561 ("ghc-monad-loops" ,ghc-monad-loops)
5562 ("ghc-utf8-string" ,ghc-utf8-string)
5563 ("ghc-exceptions" ,ghc-exceptions)
5564 ("ghc-yaml" ,ghc-yaml)
5565 ("ghc-unix-compat" ,ghc-unix-compat)
5566 ("ghc-path" ,ghc-path)
5567 ("ghc-path-io" ,ghc-path-io)
5568 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5569 (native-inputs
5570 `(("ghc-hspec" ,ghc-hspec)
5571 ("ghc-diff" ,ghc-diff)
5572 ("emacs" ,emacs-minimal)))
5573 (home-page
5574 "https://github.com/commercialhaskell/hindent")
5575 (synopsis "Extensible Haskell pretty printer")
5576 (description
5577 "This package provides automatic formatting for Haskell files. Both a
5578library and an executable.")
5579 (license license:bsd-3)))
5580
5581(define-public ghc-hinotify
5582 (package
5583 (name "ghc-hinotify")
c2342abb 5584 (version "0.4")
dddbc90c
RV
5585 (source (origin
5586 (method url-fetch)
5587 (uri (string-append
5588 "https://hackage.haskell.org/package/hinotify/"
5589 "hinotify-" version ".tar.gz"))
5590 (sha256
5591 (base32
c2342abb 5592 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5593 (build-system haskell-build-system)
5594 (inputs
5595 `(("ghc-async" ,ghc-async)))
5596 (home-page "https://github.com/kolmodin/hinotify.git")
5597 (synopsis "Haskell binding to inotify")
5598 (description "This library provides a wrapper to the Linux kernel's inotify
5599feature, allowing applications to subscribe to notifications when a file is
5600accessed or modified.")
5601 (license license:bsd-3)))
5602
5603(define-public ghc-hmatrix
5604 (package
5605 (name "ghc-hmatrix")
65e29ed1 5606 (version "0.20.0.0")
dddbc90c
RV
5607 (source
5608 (origin
5609 (method url-fetch)
5610 (uri (string-append
5611 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5612 version ".tar.gz"))
5613 (sha256
65e29ed1 5614 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5615 (build-system haskell-build-system)
5616 (inputs
5617 `(("ghc-random" ,ghc-random)
5618 ("ghc-split" ,ghc-split)
5619 ("ghc-storable-complex" ,ghc-storable-complex)
5620 ("ghc-semigroups" ,ghc-semigroups)
5621 ("ghc-vector" ,ghc-vector)
5622 ;;("openblas" ,openblas)
5623 ("lapack" ,lapack)))
5624 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5625 ;; disables inclusion of the LAPACK functions.
5626 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5627 (home-page "https://github.com/albertoruiz/hmatrix")
5628 (synopsis "Haskell numeric linear algebra library")
5629 (description "The HMatrix package provices a Haskell library for
5630dealing with linear systems, matrix decompositions, and other
5631numerical computations based on BLAS and LAPACK.")
5632 (license license:bsd-3)))
5633
5634(define-public ghc-hmatrix-gsl
5635 (package
5636 (name "ghc-hmatrix-gsl")
5637 (version "0.19.0.1")
5638 (source
5639 (origin
5640 (method url-fetch)
5641 (uri (string-append
5642 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5643 version ".tar.gz"))
5644 (sha256
5645 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5646 (build-system haskell-build-system)
5647 (inputs
5648 `(("ghc-hmatrix" ,ghc-hmatrix)
5649 ("ghc-vector" ,ghc-vector)
5650 ("ghc-random" ,ghc-random)
5651 ("gsl" ,gsl)))
5652 (native-inputs `(("pkg-config" ,pkg-config)))
5653 (home-page "https://github.com/albertoruiz/hmatrix")
5654 (synopsis "Haskell GSL binding")
5655 (description "This Haskell library provides a purely functional
5656interface to selected numerical computations, internally implemented
5657using GSL.")
5658 (license license:gpl3+)))
5659
5660(define-public ghc-hmatrix-gsl-stats
5661 (package
5662 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5663 (version "0.4.1.8")
dddbc90c
RV
5664 (source
5665 (origin
5666 (method url-fetch)
5667 (uri
5668 (string-append
5669 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5670 version ".tar.gz"))
5671 (sha256
e9b359f5 5672 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5673 (build-system haskell-build-system)
5674 (inputs
5675 `(("ghc-vector" ,ghc-vector)
5676 ("ghc-storable-complex" ,ghc-storable-complex)
5677 ("ghc-hmatrix" ,ghc-hmatrix)
5678 ("gsl" ,gsl)))
5679 (native-inputs `(("pkg-config" ,pkg-config)))
5680 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5681 (synopsis "GSL Statistics interface for Haskell")
5682 (description "This Haskell library provides a purely functional
5683interface for statistics based on hmatrix and GSL.")
5684 (license license:bsd-3)))
5685
5686(define-public ghc-hmatrix-special
5687 (package
5688 (name "ghc-hmatrix-special")
5689 (version "0.19.0.0")
5690 (source
5691 (origin
5692 (method url-fetch)
5693 (uri
5694 (string-append
5695 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5696 version ".tar.gz"))
5697 (sha256
5698 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5699 (build-system haskell-build-system)
5700 (inputs
5701 `(("ghc-hmatrix" ,ghc-hmatrix)
5702 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5703 (home-page "https://github.com/albertoruiz/hmatrix")
5704 (synopsis "Haskell interface to GSL special functions")
5705 (description "This library provides an interface to GSL special
5706functions for Haskell.")
5707 (license license:gpl3+)))
5708
5709(define-public ghc-hostname
5710 (package
5711 (name "ghc-hostname")
5712 (version "1.0")
5713 (source
5714 (origin
5715 (method url-fetch)
5716 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5717 "hostname-" version ".tar.gz"))
5718 (sha256
5719 (base32
5720 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5721 (build-system haskell-build-system)
5722 (home-page "https://hackage.haskell.org/package/hostname")
5723 (synopsis "Hostname in Haskell")
5724 (description "Network.HostName is a simple package providing a means to
5725determine the hostname.")
5726 (license license:bsd-3)))
5727
5728(define-public ghc-hourglass
5729 (package
5730 (name "ghc-hourglass")
5731 (version "0.2.12")
5732 (source (origin
5733 (method url-fetch)
5734 (uri (string-append "https://hackage.haskell.org/package/"
5735 "hourglass/hourglass-" version ".tar.gz"))
5736 (sha256
5737 (base32
5738 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5739 (build-system haskell-build-system)
5740 (inputs
5741 `(("ghc-old-locale" ,ghc-old-locale)))
5742 (native-inputs
5743 `(("ghc-tasty" ,ghc-tasty)
5744 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5745 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5746 (home-page "https://github.com/vincenthz/hs-hourglass")
5747 (synopsis "Simple time-related library for Haskell")
5748 (description
5749 "This is a simple time library providing a simple but powerful and
5750performant API. The backbone of the library are the @code{Timeable} and
5751@code{Time} type classes. Each @code{Timeable} instances can be converted to
5752a type that has a @code{Time} instances, and thus are different
5753representations of current time.")
5754 (license license:bsd-3)))
5755
5756(define-public ghc-hpack
5757 (package
5758 (name "ghc-hpack")
06344a3a 5759 (version "0.31.2")
dddbc90c
RV
5760 (source
5761 (origin
5762 (method url-fetch)
5763 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5764 "hpack-" version ".tar.gz"))
06344a3a 5765 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5766 (sha256
5767 (base32
06344a3a 5768 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5769 (build-system haskell-build-system)
5770 (inputs
5771 `(("ghc-aeson" ,ghc-aeson)
5772 ("ghc-bifunctors" ,ghc-bifunctors)
5773 ("ghc-cryptonite" ,ghc-cryptonite)
5774 ("ghc-glob" ,ghc-glob)
5775 ("ghc-http-client" ,ghc-http-client)
5776 ("ghc-http-client-tls" ,ghc-http-client-tls)
5777 ("ghc-http-types" ,ghc-http-types)
06344a3a 5778 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5779 ("ghc-scientific" ,ghc-scientific)
5780 ("ghc-unordered-containers" ,ghc-unordered-containers)
5781 ("ghc-vector" ,ghc-vector)
5782 ("ghc-yaml" ,ghc-yaml)))
5783 (native-inputs
5784 `(("ghc-hspec" ,ghc-hspec)
5785 ("ghc-hunit" ,ghc-hunit)
5786 ("ghc-interpolate" ,ghc-interpolate)
5787 ("ghc-mockery" ,ghc-mockery)
5788 ("ghc-quickcheck" ,ghc-quickcheck)
5789 ("ghc-temporary" ,ghc-temporary)
5790 ("hspec-discover" ,hspec-discover)))
5791 (home-page "https://github.com/sol/hpack")
5792 (synopsis "Tools for an alternative Haskell package format")
5793 (description
5794 "Hpack is a format for Haskell packages. It is an alternative to the
5795Cabal package format and follows different design principles. Hpack packages
5796are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5797@code{stack} support @code{package.yaml} natively. For other build tools the
5798@code{hpack} executable can be used to generate a @code{.cabal} file from
5799@code{package.yaml}.")
5800 (license license:expat)))
5801
5802(define-public ghc-hs-bibutils
5803 (package
5804 (name "ghc-hs-bibutils")
ebcb4f23 5805 (version "6.7.0.0")
dddbc90c
RV
5806 (source
5807 (origin
5808 (method url-fetch)
5809 (uri (string-append
5810 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5811 version ".tar.gz"))
5812 (sha256
5813 (base32
ebcb4f23 5814 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5815 (build-system haskell-build-system)
5816 (inputs `(("ghc-syb" ,ghc-syb)))
5817 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5818 (synopsis "Haskell bindings to bibutils")
5819 (description
5820 "This package provides Haskell bindings to @code{bibutils}, a library
5821that interconverts between various bibliography formats using a common
5822MODS-format XML intermediate.")
5823 (license license:gpl2+)))
5824
5825(define-public ghc-hslogger
5826 (package
5827 (name "ghc-hslogger")
e5ccc5f7 5828 (version "1.2.12")
dddbc90c
RV
5829 (source
5830 (origin
5831 (method url-fetch)
5832 (uri (string-append "https://hackage.haskell.org/package/"
5833 "hslogger-" version "/" "hslogger-"
5834 version ".tar.gz"))
5835 (sha256 (base32
e5ccc5f7 5836 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5837 (build-system haskell-build-system)
5838 (inputs
5839 `(("ghc-network" ,ghc-network)
5840 ("ghc-old-locale" ,ghc-old-locale)))
5841 (native-inputs
5842 `(("ghc-hunit" ,ghc-hunit)))
5843 (home-page "https://software.complete.org/hslogger")
5844 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5845 (description "Hslogger lets each log message have a priority and source be
5846associated with it. The programmer can then define global handlers that route
5847or filter messages based on the priority and source. It also has a syslog
5848handler built in.")
5849 (license license:bsd-3)))
5850
5851(define-public ghc-hslua
5852 (package
5853 (name "ghc-hslua")
cc784d7b 5854 (version "1.0.3.2")
dddbc90c
RV
5855 (source (origin
5856 (method url-fetch)
5857 (uri (string-append "https://hackage.haskell.org/package/"
5858 "hslua/hslua-" version ".tar.gz"))
5859 (sha256
5860 (base32
cc784d7b 5861 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5862 (build-system haskell-build-system)
5863 (arguments
5864 `(#:configure-flags '("-fsystem-lua")))
5865 (inputs
5866 `(("lua" ,lua)
5867 ("ghc-exceptions" ,ghc-exceptions)
5868 ("ghc-fail" ,ghc-fail)))
5869 (native-inputs
5870 `(("ghc-tasty" ,ghc-tasty)
5871 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5872 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5873 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5874 ("ghc-quickcheck" ,ghc-quickcheck)
5875 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5876 (home-page "https://hackage.haskell.org/package/hslua")
5877 (synopsis "Lua language interpreter embedding in Haskell")
5878 (description
5879 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5880described in @url{https://www.lua.org/}.")
5881 (license license:expat)))
5882
ff303e4e
TS
5883(define-public ghc-hslua-module-system
5884 (package
5885 (name "ghc-hslua-module-system")
5886 (version "0.2.1")
5887 (source
5888 (origin
5889 (method url-fetch)
5890 (uri (string-append "https://hackage.haskell.org/package/"
5891 "hslua-module-system/hslua-module-system-"
5892 version ".tar.gz"))
5893 (sha256
5894 (base32
5895 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5896 (build-system haskell-build-system)
5897 (inputs
5898 `(("ghc-exceptions" ,ghc-exceptions)
5899 ("ghc-hslua" ,ghc-hslua)
5900 ("ghc-temporary" ,ghc-temporary)))
5901 (native-inputs
5902 `(("ghc-tasty" ,ghc-tasty)
5903 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5904 (home-page "https://github.com/hslua/hslua-module-system")
5905 (synopsis "Lua module wrapper around Haskell's System module")
5906 (description "This library provides access to system information and
5907functionality to Lua scripts via Haskell's @code{System} module. Intended
5908usage for this package is to preload it by adding the loader function to
5909@code{package.preload}. Note that the Lua @code{package} library must have
5910already been loaded before the loader can be added.")
5911 (license license:expat)))
5912
dddbc90c
RV
5913(define-public ghc-hslua-module-text
5914 (package
5915 (name "ghc-hslua-module-text")
ecaf0b0c 5916 (version "0.2.1")
dddbc90c
RV
5917 (source
5918 (origin
5919 (method url-fetch)
5920 (uri (string-append "https://hackage.haskell.org/package/"
5921 "hslua-module-text/hslua-module-text-"
5922 version ".tar.gz"))
5923 (sha256
5924 (base32
ecaf0b0c 5925 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5926 (build-system haskell-build-system)
dddbc90c
RV
5927 (inputs
5928 `(("ghc-hslua" ,ghc-hslua)))
5929 (native-inputs
5930 `(("ghc-tasty" ,ghc-tasty)
5931 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5932 (home-page "https://github.com/hslua/hslua-module-text")
5933 (synopsis "Lua module for text")
5934 (description
5935 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5936for Haskell. The functions provided by this module are @code{upper},
5937@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5938 (license license:expat)))
5939
fac520bf
TS
5940(define-public ghc-hsyaml
5941 (package
5942 (name "ghc-hsyaml")
5943 (version "0.1.2.0")
5944 (source
5945 (origin
5946 (method url-fetch)
5947 (uri (string-append "https://hackage.haskell.org/package/"
5948 "HsYAML/HsYAML-" version ".tar.gz"))
5949 (sha256
5950 (base32
5951 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5952 (build-system haskell-build-system)
5953 (arguments
5954 `(#:cabal-revision
5955 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5956 (home-page "https://github.com/haskell-hvr/HsYAML")
5957 (synopsis "Pure Haskell YAML 1.2 parser")
5958 (description "This library provides a
5959@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5960for Haskell. Its features include:
5961
5962@itemize
5963@item Pure Haskell implementation with small dependency footprint and
5964emphasis on strict compliance with the YAML 1.2 specification.
5965
5966@item Direct decoding to native Haskell types via (aeson-inspired)
5967typeclass-based API (see @code{Data.YAML}).
5968
5969@item Support for constructing custom YAML node graph
5970representation (including support for cyclic YAML data structures).
5971
5972@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5973@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5974typing rules as defined in the YAML 1.2 specification (including support
5975for user-defined custom schemas).
5976
5977@item Event-based API resembling LibYAML's Event-based API (see
5978@code{Data.YAML.Event}).
5979
5980@item Low-level API access to lexical token-based scanner (see
5981@code{Data.YAML.Token}).
5982@end itemize")
5983 (license license:gpl2+)))
5984
dddbc90c
RV
5985(define-public ghc-http-api-data
5986 (package
5987 (name "ghc-http-api-data")
a57236eb 5988 (version "0.4.1")
dddbc90c
RV
5989 (source
5990 (origin
5991 (method url-fetch)
5992 (uri (string-append "https://hackage.haskell.org/package/"
5993 "http-api-data-" version "/"
5994 "http-api-data-" version ".tar.gz"))
5995 (sha256
5996 (base32
a57236eb 5997 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5998 (build-system haskell-build-system)
dddbc90c
RV
5999 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6000 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6001 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6002 ("ghc-hashable" ,ghc-hashable)
6003 ("ghc-http-types" ,ghc-http-types)
a57236eb 6004 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6005 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6006 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6007 (native-inputs
6008 `(("cabal-doctest" ,cabal-doctest)
6009 ("ghc-nats" ,ghc-nats)
6010 ("ghc-hunit" ,ghc-hunit)
6011 ("ghc-hspec" ,ghc-hspec)
6012 ("ghc-quickcheck" ,ghc-quickcheck)
6013 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6014 ("ghc-doctest" ,ghc-doctest)
6015 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6016 (home-page "https://github.com/fizruk/http-api-data")
6017 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6018query parameters")
6019 (description "This Haskell package defines typeclasses used for converting
6020Haskell data types to and from HTTP API data.")
6021 (license license:bsd-3)))
6022
6023(define-public ghc-ieee754
6024 (package
6025 (name "ghc-ieee754")
6026 (version "0.8.0")
6027 (source (origin
6028 (method url-fetch)
6029 (uri (string-append
6030 "https://hackage.haskell.org/package/ieee754/"
6031 "ieee754-" version ".tar.gz"))
6032 (sha256
6033 (base32
6034 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6035 (build-system haskell-build-system)
6036 (home-page "https://github.com/patperry/hs-ieee754")
6037 (synopsis "Utilities for dealing with IEEE floating point numbers")
6038 (description "Utilities for dealing with IEEE floating point numbers,
6039ported from the Tango math library; approximate and exact equality comparisons
6040for general types.")
6041 (license license:bsd-3)))
6042
6043(define-public ghc-ifelse
6044 (package
6045 (name "ghc-ifelse")
6046 (version "0.85")
6047 (source
6048 (origin
6049 (method url-fetch)
6050 (uri (string-append "https://hackage.haskell.org/package/"
6051 "IfElse/IfElse-" version ".tar.gz"))
6052 (sha256
6053 (base32
6054 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6055 (build-system haskell-build-system)
3ef91e15 6056 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6057 (synopsis "Monadic control flow with anaphoric variants")
6058 (description "This library provides functions for control flow inside of
6059monads with anaphoric variants on @code{if} and @code{when} and a C-like
6060@code{switch} function.")
6061 (license license:bsd-3)))
6062
6063(define-public ghc-indents
6064 (package
6065 (name "ghc-indents")
d66473fb 6066 (version "0.5.0.1")
dddbc90c
RV
6067 (source (origin
6068 (method url-fetch)
6069 (uri (string-append
6070 "https://hackage.haskell.org/package/indents/indents-"
6071 version ".tar.gz"))
6072 (sha256
6073 (base32
d66473fb 6074 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6075 (build-system haskell-build-system)
6076 ;; This package needs an older version of tasty.
6077 (arguments '(#:tests? #f))
6078 (inputs
6079 `(("ghc-concatenative" ,ghc-concatenative)))
6080 (native-inputs
6081 `(("ghc-tasty" ,ghc-tasty)
6082 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6083 (home-page "http://patch-tag.com/r/salazar/indents")
6084 (synopsis "Indentation sensitive parser-combinators for parsec")
6085 (description
6086 "This library provides functions for use in parsing indentation sensitive
6087contexts. It parses blocks of lines all indented to the same level as well as
6088lines continued at an indented level below.")
6089 (license license:bsd-3)))
6090
1f656b17
TS
6091(define-public ghc-infer-license
6092 (package
6093 (name "ghc-infer-license")
6094 (version "0.2.0")
6095 (source
6096 (origin
6097 (method url-fetch)
6098 (uri (string-append "https://hackage.haskell.org/package/"
6099 "infer-license/infer-license-" version ".tar.gz"))
6100 (sha256
6101 (base32
6102 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6103 (build-system haskell-build-system)
6104 (inputs
6105 `(("ghc-text-metrics" ,ghc-text-metrics)))
6106 (native-inputs
6107 `(("ghc-hspec" ,ghc-hspec)
6108 ("hspec-discover" ,hspec-discover)))
3ef91e15 6109 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6110 (synopsis "Infer software license from a given license file")
6111 (description "This library provides tools to infer a software
6112license from a given license file.")
6113 (license license:expat)))
6114
dddbc90c
RV
6115(define-public ghc-inline-c
6116 (package
6117 (name "ghc-inline-c")
55ec98f2 6118 (version "0.7.0.1")
dddbc90c
RV
6119 (source
6120 (origin
6121 (method url-fetch)
6122 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6123 "inline-c-" version ".tar.gz"))
6124 (sha256
6125 (base32
55ec98f2 6126 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6127 (build-system haskell-build-system)
6128 (inputs
6129 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6130 ("ghc-cryptohash" ,ghc-cryptohash)
6131 ("ghc-hashable" ,ghc-hashable)
6132 ("ghc-parsers" ,ghc-parsers)
6133 ("ghc-unordered-containers" ,ghc-unordered-containers)
6134 ("ghc-vector" ,ghc-vector)))
6135 (native-inputs
6136 `(("ghc-quickcheck" ,ghc-quickcheck)
6137 ("ghc-hspec" ,ghc-hspec)
6138 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6139 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6140 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6141 (synopsis "Write Haskell source files including C code inline")
6142 (description
6143 "inline-c lets you seamlessly call C libraries and embed high-performance
6144inline C code in Haskell modules. Haskell and C can be freely intermixed in
6145the same source file, and data passed to and from code in either language with
6146minimal overhead. No FFI required.")
6147 (license license:expat)))
6148
6149(define-public ghc-inline-c-cpp
6150 (package
6151 (name "ghc-inline-c-cpp")
cae58e56 6152 (version "0.3.0.3")
dddbc90c
RV
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6157 "inline-c-cpp-" version ".tar.gz"))
6158 (sha256
6159 (base32
cae58e56 6160 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6161 (build-system haskell-build-system)
6162 (inputs
6163 `(("ghc-inline-c" ,ghc-inline-c)
6164 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6165 (native-inputs
6166 `(("ghc-hspec" ,ghc-hspec)))
6167 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6168 (synopsis "Lets you embed C++ code into Haskell")
6169 (description
6170 "This package provides utilities to inline C++ code into Haskell using
6171@code{inline-c}.")
6172 (license license:expat)))
6173
6174(define-public ghc-integer-logarithms
6175 (package
6176 (name "ghc-integer-logarithms")
86a704db 6177 (version "1.0.3")
dddbc90c
RV
6178 (source
6179 (origin
6180 (method url-fetch)
6181 (uri (string-append "https://hackage.haskell.org/package/"
6182 "integer-logarithms/integer-logarithms-"
6183 version ".tar.gz"))
6184 (sha256
6185 (base32
86a704db 6186 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6187 (build-system haskell-build-system)
6188 (arguments
6189 `(#:phases
6190 (modify-phases %standard-phases
6191 (add-before 'configure 'update-constraints
6192 (lambda _
6193 (substitute* "integer-logarithms.cabal"
6194 (("tasty >= 0\\.10 && < 1\\.1")
6195 "tasty >= 0.10 && < 1.2")))))))
6196 (native-inputs
6197 `(("ghc-quickcheck" ,ghc-quickcheck)
6198 ("ghc-smallcheck" ,ghc-smallcheck)
6199 ("ghc-tasty" ,ghc-tasty)
6200 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6201 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6202 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6203 (home-page "https://github.com/Bodigrim/integer-logarithms")
6204 (synopsis "Integer logarithms")
6205 (description
6206 "This package provides the following modules:
6207@code{Math.NumberTheory.Logarithms} and
6208@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6209@code{GHC.Integer.Logarithms.Compat} and
6210@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6211in migrated modules.")
6212 (license license:expat)))
6213
6214(define-public ghc-integer-logarithms-bootstrap
6215 (package
6216 (inherit ghc-integer-logarithms)
6217 (name "ghc-integer-logarithms-bootstrap")
6218 (arguments `(#:tests? #f))
6219 (native-inputs '())
799d8d3c 6220 (properties '((hidden? #t)))))
dddbc90c
RV
6221
6222(define-public ghc-interpolate
6223 (package
6224 (name "ghc-interpolate")
6225 (version "0.2.0")
6226 (source
6227 (origin
6228 (method url-fetch)
6229 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6230 "interpolate-" version ".tar.gz"))
6231 (sha256
6232 (base32
6233 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6234 (build-system haskell-build-system)
6235 (inputs
6236 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6237 (native-inputs
6238 `(("ghc-base-compat" ,ghc-base-compat)
6239 ("ghc-hspec" ,ghc-hspec)
6240 ("ghc-quickcheck" ,ghc-quickcheck)
6241 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6242 ("hspec-discover" ,hspec-discover)))
6243 (home-page "https://github.com/sol/interpolate")
6244 (synopsis "String interpolation library")
6245 (description "This package provides a string interpolation library for
6246Haskell.")
6247 (license license:expat)))
6248
6249(define-public ghc-intervalmap
6250 (package
6251 (name "ghc-intervalmap")
e4946e32 6252 (version "0.6.1.1")
dddbc90c
RV
6253 (source
6254 (origin
6255 (method url-fetch)
6256 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6257 "IntervalMap-" version ".tar.gz"))
6258 (sha256
6259 (base32
e4946e32 6260 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6261 (build-system haskell-build-system)
6262 (native-inputs
6263 `(("ghc-quickcheck" ,ghc-quickcheck)))
6264 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6265 (synopsis "Containers for intervals, with efficient search")
6266 (description
6267 "This package provides ordered containers of intervals, with efficient
6268search for all keys containing a point or overlapping an interval. See the
6269example code on the home page for a quick introduction.")
6270 (license license:bsd-3)))
6271
f7ca1fa8
TS
6272(define-public ghc-intervals
6273 (package
6274 (name "ghc-intervals")
6275 (version "0.8.1")
6276 (source
6277 (origin
6278 (method url-fetch)
6279 (uri (string-append "https://hackage.haskell.org/package/"
6280 "intervals/intervals-" version ".tar.gz"))
6281 (sha256
6282 (base32
6283 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6284 (build-system haskell-build-system)
6285 (inputs
6286 `(("ghc-distributive" ,ghc-distributive)))
6287 (native-inputs
6288 `(("cabal-doctest" ,cabal-doctest)
6289 ("ghc-doctest" ,ghc-doctest)
6290 ("ghc-quickcheck" ,ghc-quickcheck)))
6291 (arguments
6292 `(#:cabal-revision
6293 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6294 (home-page "https://github.com/ekmett/intervals")
6295 (synopsis "Interval arithmetic")
6296 (description "This library provides
6297@code{Numeric.Interval.Interval}, which represets a closed, convex set
6298of floating point values.")
6299 (license license:bsd-3)))
6300
dddbc90c
RV
6301(define-public ghc-invariant
6302 (package
6303 (name "ghc-invariant")
d3a0e0b4 6304 (version "0.5.3")
dddbc90c
RV
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append
6309 "https://hackage.haskell.org/package/invariant/invariant-"
6310 version ".tar.gz"))
6311 (sha256
6312 (base32
d3a0e0b4 6313 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6314 (build-system haskell-build-system)
6315 (inputs
6316 `(("ghc-bifunctors" ,ghc-bifunctors)
6317 ("ghc-comonad" ,ghc-comonad)
6318 ("ghc-contravariant" ,ghc-contravariant)
6319 ("ghc-profunctors" ,ghc-profunctors)
6320 ("ghc-semigroups" ,ghc-semigroups)
6321 ("ghc-statevar" ,ghc-statevar)
6322 ("ghc-tagged" ,ghc-tagged)
6323 ("ghc-th-abstraction" ,ghc-th-abstraction)
6324 ("ghc-transformers-compat" ,ghc-transformers-compat)
6325 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6326 (native-inputs
6327 `(("ghc-hspec" ,ghc-hspec)
6328 ("ghc-quickcheck" ,ghc-quickcheck)
6329 ("hspec-discover" ,hspec-discover)))
6330 (home-page "https://github.com/nfrisby/invariant-functors")
6331 (synopsis "Haskell98 invariant functors")
6332 (description "Haskell98 invariant functors (also known as exponential
6333functors). For more information, see Edward Kmett's article
6334@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6335 (license license:bsd-2)))
6336
6337(define-public ghc-io-streams
6338 (package
6339 (name "ghc-io-streams")
59e98d75 6340 (version "1.5.1.0")
dddbc90c
RV
6341 (source
6342 (origin
6343 (method url-fetch)
6344 (uri (string-append "https://hackage.haskell.org/package/"
6345 "io-streams/io-streams-" version ".tar.gz"))
6346 (sha256
6347 (base32
59e98d75 6348 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6349 (build-system haskell-build-system)
6350 (inputs
6351 `(("ghc-attoparsec" ,ghc-attoparsec)
6352 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6353 ("ghc-network" ,ghc-network)
6354 ("ghc-primitive" ,ghc-primitive)
6355 ("ghc-vector" ,ghc-vector)
6356 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6357 (native-inputs
6358 `(("ghc-hunit" ,ghc-hunit)
6359 ("ghc-quickcheck" ,ghc-quickcheck)
6360 ("ghc-test-framework" ,ghc-test-framework)
6361 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6362 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6363 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6364 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6365 (synopsis "Simple and composable stream I/O")
6366 (description "This library contains simple and easy-to-use
6367primitives for I/O using streams.")
6368 (license license:bsd-3)))
6369
6370(define-public ghc-io-streams-haproxy
6371 (package
6372 (name "ghc-io-streams-haproxy")
1a4fbc36 6373 (version "1.0.1.0")
dddbc90c
RV
6374 (source
6375 (origin
6376 (method url-fetch)
6377 (uri (string-append "https://hackage.haskell.org/package/"
6378 "io-streams-haproxy/io-streams-haproxy-"
6379 version ".tar.gz"))
6380 (sha256
6381 (base32
1a4fbc36 6382 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6383 (build-system haskell-build-system)
6384 (inputs
6385 `(("ghc-attoparsec" ,ghc-attoparsec)
6386 ("ghc-io-streams" ,ghc-io-streams)
6387 ("ghc-network" ,ghc-network)))
6388 (native-inputs
6389 `(("ghc-hunit" ,ghc-hunit)
6390 ("ghc-test-framework" ,ghc-test-framework)
6391 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6392 (home-page "http://snapframework.com/")
6393 (synopsis "HAProxy protocol 1.5 support for io-streams")
6394 (description "HAProxy protocol version 1.5 support
6395(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6396for applications using io-streams. The proxy protocol allows information
6397about a networked peer (like remote address and port) to be propagated
6398through a forwarding proxy that is configured to speak this protocol.")
6399 (license license:bsd-3)))
6400
6401(define-public ghc-iproute
6402 (package
6403 (name "ghc-iproute")
ec25d536 6404 (version "1.7.7")
dddbc90c
RV
6405 (source
6406 (origin
6407 (method url-fetch)
6408 (uri (string-append
6409 "https://hackage.haskell.org/package/iproute/iproute-"
6410 version
6411 ".tar.gz"))
6412 (sha256
6413 (base32
ec25d536 6414 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6415 (build-system haskell-build-system)
6416 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6417 ; exported by ghc-byteorder. Doctest issue.
6418 (inputs
6419 `(("ghc-appar" ,ghc-appar)
6420 ("ghc-byteorder" ,ghc-byteorder)
6421 ("ghc-network" ,ghc-network)
6422 ("ghc-safe" ,ghc-safe)))
6423 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6424 (synopsis "IP routing table")
6425 (description "IP Routing Table is a tree of IP ranges to search one of
6426them on the longest match base. It is a kind of TRIE with one way branching
6427removed. Both IPv4 and IPv6 are supported.")
6428 (license license:bsd-3)))
6429
4828e54e
TS
6430(define-public ghc-ipynb
6431 (package
6432 (name "ghc-ipynb")
6433 (version "0.1")
6434 (source
6435 (origin
6436 (method url-fetch)
6437 (uri (string-append "https://hackage.haskell.org/package/"
6438 "ipynb/ipynb-" version ".tar.gz"))
6439 (sha256
6440 (base32
6441 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6442 (build-system haskell-build-system)
6443 (inputs
6444 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6445 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6446 ("ghc-aeson" ,ghc-aeson)
6447 ("ghc-semigroups" ,ghc-semigroups)))
6448 (native-inputs
6449 `(("ghc-tasty" ,ghc-tasty)
6450 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6451 ("ghc-aeson-diff" ,ghc-aeson-diff)
6452 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6453 ("ghc-microlens" ,ghc-microlens)
6454 ("ghc-vector" ,ghc-vector)))
6455 (home-page "https://hackage.haskell.org/package/ipynb")
6456 (synopsis "Data structure for working with Jupyter notebooks")
6457 (description "This library defines a data structure for representing
6458Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6459instances for conversion to and from JSON .ipynb files.")
6460 (license license:bsd-3)))
6461
dddbc90c
RV
6462(define-public ghc-iwlib
6463 (package
6464 (name "ghc-iwlib")
6465 (version "0.1.0")
6466 (source
6467 (origin
6468 (method url-fetch)
6469 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6470 version ".tar.gz"))
6471 (sha256
6472 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6473 (build-system haskell-build-system)
6474 (inputs
6475 `(("wireless-tools" ,wireless-tools)))
6476 (home-page "https://github.com/jaor/iwlib")
6477 (synopsis "Haskell binding to the iw wireless networking library")
6478 (description
6479 "IWlib is a thin Haskell binding to the iw C library. It provides
6480information about the current wireless network connections, and adapters on
6481supported systems.")
6482 (license license:bsd-3)))
6483
6484(define-public ghc-json
6485 (package
6486 (name "ghc-json")
0ad3d574 6487 (version "0.9.3")
dddbc90c
RV
6488 (source
6489 (origin
6490 (method url-fetch)
6491 (uri (string-append "https://hackage.haskell.org/package/json/"
6492 "json-" version ".tar.gz"))
6493 (sha256
6494 (base32
0ad3d574 6495 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6496 (build-system haskell-build-system)
6497 (inputs
6498 `(("ghc-syb" ,ghc-syb)))
6499 (home-page "https://hackage.haskell.org/package/json")
6500 (synopsis "Serializes Haskell data to and from JSON")
6501 (description "This package provides a parser and pretty printer for
6502converting between Haskell values and JSON.
6503JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6504 (license license:bsd-3)))
6505
6506(define-public ghc-juicypixels
6507 (package
6508 (name "ghc-juicypixels")
b50b6004 6509 (version "3.3.4")
dddbc90c
RV
6510 (source (origin
6511 (method url-fetch)
6512 (uri (string-append "https://hackage.haskell.org/package/"
6513 "JuicyPixels/JuicyPixels-"
6514 version ".tar.gz"))
6515 (sha256
6516 (base32
b50b6004 6517 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6518 (build-system haskell-build-system)
6519 (inputs
6520 `(("ghc-zlib" ,ghc-zlib)
6521 ("ghc-vector" ,ghc-vector)
6522 ("ghc-primitive" ,ghc-primitive)
6523 ("ghc-mmap" ,ghc-mmap)))
6524 (home-page "https://github.com/Twinside/Juicy.Pixels")
6525 (synopsis "Picture loading and serialization library")
6526 (description
6527 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6528TIFF and GIF formats.")
6529 (license license:bsd-3)))
6530
6531(define-public ghc-kan-extensions
6532 (package
6533 (name "ghc-kan-extensions")
6534 (version "5.2")
6535 (source
6536 (origin
6537 (method url-fetch)
6538 (uri (string-append
6539 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6540 version
6541 ".tar.gz"))
6542 (sha256
6543 (base32
6544 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6545 (build-system haskell-build-system)
6546 (inputs
6547 `(("ghc-adjunctions" ,ghc-adjunctions)
6548 ("ghc-comonad" ,ghc-comonad)
6549 ("ghc-contravariant" ,ghc-contravariant)
6550 ("ghc-distributive" ,ghc-distributive)
6551 ("ghc-free" ,ghc-free)
6552 ("ghc-invariant" ,ghc-invariant)
6553 ("ghc-semigroupoids" ,ghc-semigroupoids)
6554 ("ghc-tagged" ,ghc-tagged)
6555 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6556 (home-page "https://github.com/ekmett/kan-extensions/")
6557 (synopsis "Kan extensions library")
6558 (description "This library provides Kan extensions, Kan lifts, various
6559forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6560 (license license:bsd-3)))
6561
6562(define-public ghc-language-c
6563 (package
6564 (name "ghc-language-c")
4e1cf651 6565 (version "0.8.3")
dddbc90c
RV
6566 (source
6567 (origin
6568 (method url-fetch)
6569 (uri (string-append "https://hackage.haskell.org/package/"
6570 "language-c/language-c-" version ".tar.gz"))
6571 (sha256
6572 (base32
4e1cf651 6573 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6574 (build-system haskell-build-system)
6575 (inputs `(("ghc-syb" ,ghc-syb)))
6576 (native-inputs
6577 `(("ghc-happy" ,ghc-happy)
6578 ("ghc-alex" ,ghc-alex)))
6579 (home-page "https://visq.github.io/language-c/")
6580 (synopsis "Analysis and generation of C code")
6581 (description
6582 "Language C is a Haskell library for the analysis and generation of C code.
6583It features a complete, well-tested parser and pretty printer for all of C99
6584and a large set of GNU extensions.")
6585 (license license:bsd-3)))
6586
6587(define-public ghc-language-glsl
6588 (package
6589 (name "ghc-language-glsl")
6590 (version "0.3.0")
6591 (source
6592 (origin
6593 (method url-fetch)
6594 (uri (string-append "https://hackage.haskell.org/package/"
6595 "language-glsl/language-glsl-" version ".tar.gz"))
6596 (sha256
6597 (base32
6598 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6599 (build-system haskell-build-system)
6600 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6601 (arguments
6602 `(#:tests? #f
6603 #:cabal-revision
6604 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6605 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6606 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6607 (description "This package is a Haskell library for the
6608representation, parsing, and pretty-printing of GLSL 1.50 code.")
6609 (license license:bsd-3)))
6610
6611(define-public ghc-language-haskell-extract
6612 (package
6613 (name "ghc-language-haskell-extract")
6614 (version "0.2.4")
6615 (source
6616 (origin
6617 (method url-fetch)
6618 (uri (string-append "https://hackage.haskell.org/package/"
6619 "language-haskell-extract-" version "/"
6620 "language-haskell-extract-" version ".tar.gz"))
6621 (sha256
6622 (base32
6623 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6624 (build-system haskell-build-system)
6625 (inputs
6626 `(("ghc-regex-posix" ,ghc-regex-posix)))
6627 (home-page "https://github.com/finnsson/template-helper")
6628 (synopsis "Haskell module to automatically extract functions from
6629the local code")
6630 (description "This package contains helper functions on top of
6631Template Haskell.
6632
6633For example, @code{functionExtractor} extracts all functions after a
6634regexp-pattern, which can be useful if you wish to extract all functions
6635beginning with @code{test} (for a test framework) or all functions beginning
6636with @code{wc} (for a web service).")
6637 (license license:bsd-3)))
6638
6639(define-public ghc-lens
6640 (package
6641 (name "ghc-lens")
262e6323 6642 (version "4.17.1")
dddbc90c
RV
6643 (source
6644 (origin
6645 (method url-fetch)
6646 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6647 version ".tar.gz"))
6648 (sha256
6649 (base32
262e6323 6650 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6651 (build-system haskell-build-system)
dddbc90c
RV
6652 (inputs
6653 `(("ghc-base-orphans" ,ghc-base-orphans)
6654 ("ghc-bifunctors" ,ghc-bifunctors)
6655 ("ghc-distributive" ,ghc-distributive)
6656 ("ghc-exceptions" ,ghc-exceptions)
6657 ("ghc-free" ,ghc-free)
6658 ("ghc-kan-extensions" ,ghc-kan-extensions)
6659 ("ghc-parallel" ,ghc-parallel)
6660 ("ghc-reflection" ,ghc-reflection)
6661 ("ghc-semigroupoids" ,ghc-semigroupoids)
6662 ("ghc-vector" ,ghc-vector)
6663 ("ghc-call-stack" ,ghc-call-stack)
6664 ("ghc-comonad" ,ghc-comonad)
6665 ("ghc-contravariant" ,ghc-contravariant)
6666 ("ghc-hashable" ,ghc-hashable)
6667 ("ghc-profunctors" ,ghc-profunctors)
6668 ("ghc-semigroups" ,ghc-semigroups)
6669 ("ghc-tagged" ,ghc-tagged)
6670 ("ghc-transformers-compat" ,ghc-transformers-compat)
6671 ("ghc-unordered-containers" ,ghc-unordered-containers)
6672 ("ghc-void" ,ghc-void)
6673 ("ghc-generic-deriving" ,ghc-generic-deriving)
6674 ("ghc-nats" ,ghc-nats)
6675 ("ghc-simple-reflect" ,ghc-simple-reflect)
6676 ("hlint" ,hlint)))
6677 (native-inputs
6678 `(("cabal-doctest" ,cabal-doctest)
6679 ("ghc-doctest" ,ghc-doctest)
6680 ("ghc-hunit" ,ghc-hunit)
6681 ("ghc-test-framework" ,ghc-test-framework)
6682 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6683 ("ghc-test-framework-th" ,ghc-test-framework-th)
6684 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6685 ("ghc-quickcheck" ,ghc-quickcheck)))
6686 (home-page "https://github.com/ekmett/lens/")
6687 (synopsis "Lenses, Folds and Traversals")
6688 (description "This library provides @code{Control.Lens}. The combinators
6689in @code{Control.Lens} provide a highly generic toolbox for composing families
6690of getters, folds, isomorphisms, traversals, setters and lenses and their
6691indexed variants.")
6692 (license license:bsd-3)))
6693
bcd35444
JS
6694(define-public ghc-lens-family-core
6695 (package
6696 (name "ghc-lens-family-core")
6697 (version "1.2.3")
6698 (source
6699 (origin
6700 (method url-fetch)
6701 (uri (string-append
6702 "mirror://hackage/package/lens-family-core/lens-family-core-"
6703 version
6704 ".tar.gz"))
6705 (sha256
6706 (base32
6707 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6708 (build-system haskell-build-system)
6709 (home-page
6710 "http://hackage.haskell.org/package/lens-family-core")
6711 (synopsis "Haskell 98 Lens Families")
6712 (description
6713 "This package provides first class functional references. In addition to
6714the usual operations of getting, setting and composition, plus integration
6715with the state monad, lens families provide some unique features:
6716
6717@itemize
6718@item Polymorphic updating
6719@item Traversals
6720@item Cast projection functions to read-only lenses
6721@item Cast @code{toList} functions to read-only traversals
6722@item Cast semantic editor combinators to modify-only traversals
6723@end itemize
6724
6725For optimal first-class support use the lens-family package with rank 2/rank N
6726polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6727lenses and traversals for those who require Haskell 98.")
6728 (license license:bsd-3)))
6729
dddbc90c
RV
6730(define-public ghc-libffi
6731 (package
6732 (name "ghc-libffi")
6733 (version "0.1")
6734 (source
6735 (origin
6736 (method url-fetch)
6737 (uri (string-append "https://hackage.haskell.org/package/"
6738 "libffi/libffi-" version ".tar.gz"))
6739 (sha256
6740 (base32
6741 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6742 (build-system haskell-build-system)
6743 (native-inputs `(("pkg-config" ,pkg-config)))
6744 (inputs `(("libffi" ,libffi)))
3ef91e15 6745 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6746 (synopsis "Haskell binding to libffi")
6747 (description
6748 "A binding to libffi, allowing C functions of types only known at runtime
6749to be called from Haskell.")
6750 (license license:bsd-3)))
6751
6752(define-public ghc-libmpd
6753 (package
6754 (name "ghc-libmpd")
bbf9845f 6755 (version "0.9.0.10")
dddbc90c
RV
6756 (source
6757 (origin
6758 (method url-fetch)
6759 (uri (string-append
6760 "mirror://hackage/package/libmpd/libmpd-"
6761 version
6762 ".tar.gz"))
6763 (sha256
6764 (base32
bbf9845f 6765 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6766 (build-system haskell-build-system)
6767 ;; Tests fail on i686.
6768 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6769 (arguments `(#:tests? #f))
6770 (inputs
6771 `(("ghc-attoparsec" ,ghc-attoparsec)
6772 ("ghc-old-locale" ,ghc-old-locale)
6773 ("ghc-data-default-class" ,ghc-data-default-class)
6774 ("ghc-network" ,ghc-network)
bbf9845f 6775 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6776 ("ghc-utf8-string" ,ghc-utf8-string)))
6777 (native-inputs
6778 `(("ghc-quickcheck" ,ghc-quickcheck)
6779 ("ghc-hspec" ,ghc-hspec)
6780 ("hspec-discover" ,hspec-discover)))
6781 (home-page "https://github.com/vimus/libmpd-haskell")
6782 (synopsis "Haskell client library for the Music Player Daemon")
6783 (description "This package provides a pure Haskell client library for the
6784Music Player Daemon.")
6785 (license license:expat)))
6786
e34df1c3
TS
6787(define-public ghc-lib-parser
6788 (package
6789 (name "ghc-lib-parser")
6790 (version "8.8.0.20190424")
6791 (source
6792 (origin
6793 (method url-fetch)
6794 (uri (string-append "https://hackage.haskell.org/package/"
6795 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6796 (sha256
6797 (base32
6798 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6799 (build-system haskell-build-system)
6800 (native-inputs
6801 `(("ghc-alex" ,ghc-alex)
6802 ("ghc-happy" ,ghc-happy)))
6803 (home-page "https://github.com/digital-asset/ghc-lib")
6804 (synopsis "The GHC API, decoupled from GHC versions")
6805 (description "This library implements the GHC API. It is like the
6806compiler-provided @code{ghc} package, but it can be loaded on many
6807compiler versions.")
6808 (license license:bsd-3)))
6809
dddbc90c
RV
6810(define-public ghc-libxml
6811 (package
6812 (name "ghc-libxml")
6813 (version "0.1.1")
6814 (source
6815 (origin
6816 (method url-fetch)
6817 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6818 "libxml-" version ".tar.gz"))
6819 (sha256
6820 (base32
6821 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6822 (build-system haskell-build-system)
6823 (inputs
6824 `(("libxml2" ,libxml2)))
6825 (arguments
6826 `(#:configure-flags
6827 `(,(string-append "--extra-include-dirs="
6828 (assoc-ref %build-inputs "libxml2")
6829 "/include/libxml2"))))
6830 (home-page "https://hackage.haskell.org/package/libxml")
6831 (synopsis "Haskell bindings to libxml2")
6832 (description
6833 "This library provides minimal Haskell binding to libxml2.")
6834 (license license:bsd-3)))
6835
0c2d6fc2
TS
6836(define-public ghc-libyaml
6837 (package
6838 (name "ghc-libyaml")
6839 (version "0.1.1.0")
6840 (source
6841 (origin
6842 (method url-fetch)
6843 (uri (string-append "https://hackage.haskell.org/package/"
6844 "libyaml/libyaml-" version ".tar.gz"))
6845 (sha256
6846 (base32
6847 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6848 (modules '((guix build utils)))
6849 (snippet
6850 ;; Delete bundled LibYAML.
6851 '(begin
6852 (delete-file-recursively "libyaml_src")
6853 #t))))
6854 (build-system haskell-build-system)
6855 (arguments
6856 `(#:configure-flags `("--flags=system-libyaml")))
6857 (inputs
6858 `(("ghc-conduit" ,ghc-conduit)
6859 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6860 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6861 (home-page "https://github.com/snoyberg/yaml#readme")
6862 (synopsis "Low-level, streaming YAML interface.")
6863 (description "This package provides a Haskell wrapper over the
6864LibYAML C library.")
6865 (license license:bsd-3)))
6866
dddbc90c
RV
6867(define-public ghc-lifted-async
6868 (package
6869 (name "ghc-lifted-async")
b5b6d7ea 6870 (version "0.10.0.4")
dddbc90c
RV
6871 (source
6872 (origin
6873 (method url-fetch)
6874 (uri (string-append
6875 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6876 version ".tar.gz"))
6877 (sha256
6878 (base32
b5b6d7ea 6879 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6880 (build-system haskell-build-system)
6881 (inputs
6882 `(("ghc-async" ,ghc-async)
6883 ("ghc-lifted-base" ,ghc-lifted-base)
6884 ("ghc-transformers-base" ,ghc-transformers-base)
6885 ("ghc-monad-control" ,ghc-monad-control)
6886 ("ghc-constraints" ,ghc-constraints)
6887 ("ghc-hunit" ,ghc-hunit)
6888 ("ghc-tasty" ,ghc-tasty)
6889 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6890 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6891 ("ghc-tasty-th" ,ghc-tasty-th)))
6892 (home-page "https://github.com/maoe/lifted-async")
6893 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6894 (description
6895 "This package provides IO operations from @code{async} package lifted to any
6896instance of @code{MonadBase} or @code{MonadBaseControl}.")
6897 (license license:bsd-3)))
6898
6899(define-public ghc-lifted-base
6900 (package
6901 (name "ghc-lifted-base")
6902 (version "0.2.3.12")
6903 (source
6904 (origin
6905 (method url-fetch)
6906 (uri (string-append
6907 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6908 version
6909 ".tar.gz"))
6910 (sha256
6911 (base32
6912 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6913 (build-system haskell-build-system)
6914 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6915 (inputs
6916 `(("ghc-transformers-base" ,ghc-transformers-base)
6917 ("ghc-monad-control" ,ghc-monad-control)
6918 ("ghc-transformers-compat" ,ghc-transformers-compat)
6919 ("ghc-hunit" ,ghc-hunit)))
6920 (home-page "https://github.com/basvandijk/lifted-base")
6921 (synopsis "Lifted IO operations from the base library")
6922 (description "Lifted-base exports IO operations from the @code{base}
6923library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6924Note that not all modules from @code{base} are converted yet. The package
6925includes a copy of the @code{monad-peel} test suite written by Anders
6926Kaseorg.")
6927 (license license:bsd-3)))
6928
6929(define-public ghc-linear
6930 (package
6931 (name "ghc-linear")
86526f37 6932 (version "1.20.9")
dddbc90c
RV
6933 (source
6934 (origin
6935 (method url-fetch)
6936 (uri (string-append "https://hackage.haskell.org/package/linear/"
6937 "linear-" version ".tar.gz"))
6938 (sha256
6939 (base32
86526f37 6940 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6941 (build-system haskell-build-system)
6942 (inputs
6943 `(("ghc-adjunctions" ,ghc-adjunctions)
6944 ("ghc-base-orphans" ,ghc-base-orphans)
6945 ("ghc-bytes" ,ghc-bytes)
6946 ("ghc-cereal" ,ghc-cereal)
6947 ("ghc-distributive" ,ghc-distributive)
6948 ("ghc-hashable" ,ghc-hashable)
6949 ("ghc-lens" ,ghc-lens)
6950 ("ghc-reflection" ,ghc-reflection)
6951 ("ghc-semigroups" ,ghc-semigroups)
6952 ("ghc-semigroupoids" ,ghc-semigroupoids)
6953 ("ghc-tagged" ,ghc-tagged)
6954 ("ghc-transformers-compat" ,ghc-transformers-compat)
6955 ("ghc-unordered-containers" ,ghc-unordered-containers)
6956 ("ghc-vector" ,ghc-vector)
6957 ("ghc-void" ,ghc-void)))
6958 (native-inputs
6959 `(("cabal-doctest" ,cabal-doctest)
6960 ("ghc-doctest" ,ghc-doctest)
6961 ("ghc-simple-reflect" ,ghc-simple-reflect)
6962 ("ghc-test-framework" ,ghc-test-framework)
6963 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6964 ("ghc-hunit" ,ghc-hunit)))
6965 (home-page "http://github.com/ekmett/linear/")
6966 (synopsis "Linear algebra library for Haskell")
6967 (description
6968 "This package provides types and combinators for linear algebra on free
6969vector spaces.")
6970 (license license:bsd-3)))
1307e4c7
JS
6971
6972(define-public ghc-listlike
6973 (package
6974 (name "ghc-listlike")
6975 (version "4.6.2")
6976 (source
6977 (origin
6978 (method url-fetch)
6979 (uri
6980 (string-append
6981 "https://hackage.haskell.org/package/ListLike/ListLike-"
6982 version ".tar.gz"))
6983 (sha256
6984 (base32
6985 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6986 (build-system haskell-build-system)
6987 (inputs
6988 `(("ghc-vector" ,ghc-vector)
6989 ("ghc-dlist" ,ghc-dlist)
6990 ("ghc-fmlist" ,ghc-fmlist)
6991 ("ghc-hunit" ,ghc-hunit)
6992 ("ghc-quickcheck" ,ghc-quickcheck)
6993 ("ghc-random" ,ghc-random)
6994 ("ghc-utf8-string" ,ghc-utf8-string)))
6995 (home-page "https://github.com/JohnLato/listlike")
6996 (synopsis "Generic support for list-like structures")
6997 (description "The ListLike module provides a common interface to the
6998various Haskell types that are list-like. Predefined interfaces include
6999standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7000Custom types can easily be made ListLike instances as well.
7001
7002ListLike also provides for String-like types, such as String and
7003ByteString, for types that support input and output, and for types that
7004can handle infinite lists.")
7005 (license license:bsd-3)))
dddbc90c 7006
84436be0
J
7007(define-public ghc-llvm-hs-pure
7008 (package
7009 (name "ghc-llvm-hs-pure")
7010 (version "9.0.0")
7011 (source
7012 (origin
7013 (method url-fetch)
7014 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7015 "llvm-hs-pure-" version ".tar.gz"))
7016 (sha256
7017 (base32
7018 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7019 (build-system haskell-build-system)
7020 (inputs
7021 `(("ghc-attoparsec" ,ghc-attoparsec)
7022 ("ghc-fail" ,ghc-fail)
7023 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7024 (native-inputs
7025 `(("ghc-tasty" ,ghc-tasty)
7026 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7027 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7028 (home-page "https://github.com/llvm-hs/llvm-hs/")
7029 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7030 (description "llvm-hs-pure is a set of pure Haskell types and functions
7031for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7032LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7033llvm-hs-pure does not require LLVM to be available.")
7034 (license license:bsd-3)))
7035
e3ee8023
J
7036(define-public ghc-llvm-hs
7037 (package
7038 (name "ghc-llvm-hs")
7039 (version "9.0.1")
7040 (source
7041 (origin
7042 (method url-fetch)
7043 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7044 version ".tar.gz"))
7045 (sha256
7046 (base32
7047 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7048 (build-system haskell-build-system)
7049 (inputs
7050 `(("ghc-attoparsec" ,ghc-attoparsec)
7051 ("ghc-exceptions" ,ghc-exceptions)
7052 ("ghc-utf8-string" ,ghc-utf8-string)
7053 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7054 ("llvm" ,llvm-9)))
7055 (native-inputs
7056 `(("ghc-tasty" ,ghc-tasty)
7057 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7059 ("ghc-quickcheck" ,ghc-quickcheck)
7060 ("ghc-temporary" ,ghc-temporary)
7061 ("ghc-pretty-show" ,ghc-pretty-show)
7062 ("ghc-temporary" ,ghc-temporary)))
7063 (home-page "https://github.com/llvm-hs/llvm-hs/")
7064 (synopsis "General purpose LLVM bindings for Haskell")
7065 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7066current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7067IR, and so offers two advantages: it handles almost all of the stateful
7068complexities of using the LLVM API to build IR; and it supports moving IR not
7069only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7070into Haskell.")
7071 (license license:bsd-3)))
7072
dddbc90c
RV
7073(define-public ghc-logging-facade
7074 (package
7075 (name "ghc-logging-facade")
7076 (version "0.3.0")
7077 (source (origin
7078 (method url-fetch)
7079 (uri (string-append "https://hackage.haskell.org/package/"
7080 "logging-facade/logging-facade-"
7081 version ".tar.gz"))
7082 (sha256
7083 (base32
7084 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7085 (build-system haskell-build-system)
7086 (native-inputs
7087 `(("ghc-hspec" ,ghc-hspec)
7088 ("hspec-discover" ,hspec-discover)))
7089 (home-page "https://hackage.haskell.org/package/logging-facade")
7090 (synopsis "Simple logging abstraction that allows multiple back-ends")
7091 (description
7092 "This package provides a simple logging abstraction that allows multiple
7093back-ends.")
7094 (license license:expat)))
7095
7096(define-public ghc-logict
7097 (package
7098 (name "ghc-logict")
79d9326f 7099 (version "0.7.0.2")
dddbc90c
RV
7100 (source
7101 (origin
7102 (method url-fetch)
7103 (uri (string-append
7104 "https://hackage.haskell.org/package/logict/logict-"
7105 version
7106 ".tar.gz"))
7107 (sha256
7108 (base32
79d9326f 7109 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7110 (build-system haskell-build-system)
79d9326f
TS
7111 (native-inputs
7112 `(("ghc-tasty" ,ghc-tasty)
7113 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7114 (home-page "http://code.haskell.org/~dolio/")
7115 (synopsis "Backtracking logic-programming monad")
7116 (description "This library provides a continuation-based, backtracking,
7117logic programming monad. An adaptation of the two-continuation implementation
7118found in the paper \"Backtracking, Interleaving, and Terminating Monad
7119Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7120online}.")
7121 (license license:bsd-3)))
7122
7123(define-public ghc-lzma
7124 (package
7125 (name "ghc-lzma")
7126 (version "0.0.0.3")
7127 (source
7128 (origin
7129 (method url-fetch)
7130 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7131 "lzma-" version ".tar.gz"))
7132 (sha256
7133 (base32
7134 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7135 (build-system haskell-build-system)
7136 (arguments
7137 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7138 #:cabal-revision
7139 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7140 (native-inputs
7141 `(("ghc-hunit" ,ghc-hunit)
7142 ("ghc-quickcheck" ,ghc-quickcheck)
7143 ("ghc-tasty" ,ghc-tasty)
7144 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7145 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7146 (home-page "https://github.com/hvr/lzma")
7147 (synopsis "LZMA/XZ compression and decompression")
7148 (description
7149 "This package provides a pure interface for compressing and
7150decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7151monadic incremental interface is provided as well.")
7152 (license license:bsd-3)))
7153
7154(define-public ghc-lzma-conduit
7155 (package
7156 (name "ghc-lzma-conduit")
7157 (version "1.2.1")
7158 (source
7159 (origin
7160 (method url-fetch)
7161 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7162 "lzma-conduit-" version ".tar.gz"))
7163 (sha256
7164 (base32
7165 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7166 (build-system haskell-build-system)
7167 (inputs
7168 `(("ghc-conduit" ,ghc-conduit)
7169 ("ghc-lzma" ,ghc-lzma)
7170 ("ghc-resourcet" ,ghc-resourcet)))
7171 (native-inputs
7172 `(("ghc-base-compat" ,ghc-base-compat)
7173 ("ghc-test-framework" ,ghc-test-framework)
7174 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7175 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7176 ("ghc-hunit" ,ghc-hunit)
7177 ("ghc-quickcheck" ,ghc-quickcheck)))
7178 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7179 (synopsis "Conduit interface for lzma/xz compression")
7180 (description
7181 "This package provides a @code{Conduit} interface for the LZMA
7182compression algorithm used in the @code{.xz} file format.")
7183 (license license:bsd-3)))
7184
e405912c
KM
7185(define-public ghc-magic
7186 (package
7187 (name "ghc-magic")
7188 (version "1.1")
7189 (source
7190 (origin
7191 (method url-fetch)
7192 (uri (string-append
7193 "https://hackage.haskell.org/package/magic/magic-"
7194 version ".tar.gz"))
7195 (sha256
7196 (base32
7197 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7198 (build-system haskell-build-system)
3ef91e15 7199 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7200 (synopsis "Interface to C file/magic library")
7201 (description
7202 "This package provides a full-featured binding to the C libmagic library.
7203With it, you can determine the type of a file by examining its contents rather
7204than its name.")
7205 (license license:bsd-3)))
7206
bcfe9dba
JS
7207(define-public ghc-managed
7208 (package
7209 (name "ghc-managed")
7210 (version "1.0.6")
7211 (source
7212 (origin
7213 (method url-fetch)
7214 (uri (string-append
7215 "mirror://hackage/package/managed/managed-"
7216 version
7217 ".tar.gz"))
7218 (sha256
7219 (base32
7220 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7221 (build-system haskell-build-system)
7222 (home-page "http://hackage.haskell.org/package/managed")
7223 (synopsis "Monad for managed values")
7224 (description
7225 "In Haskell you very often acquire values using the with... idiom using
7226functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7227special case of the ContT monad (from transformers) or the Codensity
7228monad (from kan-extensions). The main purpose behind this package is to
7229provide a restricted form of these monads specialized to this unusually common
7230case.
7231
7232The reason this package defines a specialized version of these types
7233is to:
7234
7235@itemize
7236@item be more beginner-friendly,
7237@item simplify inferred types and error messages, and:
7238@item provide some additional type class instances that would otherwise be
7239orphan instances
7240@end itemize")
7241 (license license:bsd-3)))
7242
dddbc90c
RV
7243(define-public ghc-markdown-unlit
7244 (package
7245 (name "ghc-markdown-unlit")
7246 (version "0.5.0")
7247 (source (origin
7248 (method url-fetch)
7249 (uri (string-append
7250 "mirror://hackage/package/markdown-unlit/"
7251 "markdown-unlit-" version ".tar.gz"))
7252 (sha256
7253 (base32
7254 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7255 (build-system haskell-build-system)
7256 (inputs
7257 `(("ghc-base-compat" ,ghc-base-compat)
7258 ("ghc-hspec" ,ghc-hspec)
7259 ("ghc-quickcheck" ,ghc-quickcheck)
7260 ("ghc-silently" ,ghc-silently)
7261 ("ghc-stringbuilder" ,ghc-stringbuilder)
7262 ("ghc-temporary" ,ghc-temporary)
7263 ("hspec-discover" ,hspec-discover)))
7264 (home-page "https://github.com/sol/markdown-unlit#readme")
7265 (synopsis "Literate Haskell support for Markdown")
7266 (description "This package allows you to have a README.md that at the
7267same time is a literate Haskell program.")
7268 (license license:expat)))
7269
7270(define-public ghc-math-functions
7271 (package
7272 (name "ghc-math-functions")
b45de2bf 7273 (version "0.3.3.0")
dddbc90c
RV
7274 (source
7275 (origin
7276 (method url-fetch)
7277 (uri (string-append "https://hackage.haskell.org/package/"
7278 "math-functions-" version "/"
7279 "math-functions-" version ".tar.gz"))
7280 (sha256
7281 (base32
b45de2bf 7282 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7283 (build-system haskell-build-system)
7284 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7285 (inputs
b45de2bf
TS
7286 `(("ghc-data-default-class" ,ghc-data-default-class)
7287 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7288 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7289 (native-inputs
7290 `(("ghc-hunit" ,ghc-hunit)
7291 ("ghc-quickcheck" ,ghc-quickcheck)
7292 ("ghc-erf" ,ghc-erf)
7293 ("ghc-test-framework" ,ghc-test-framework)
7294 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7295 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7296 (home-page "https://github.com/bos/math-functions")
7297 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7298 (description "This Haskell library provides implementations of
7299special mathematical functions and Chebyshev polynomials. These
7300functions are often useful in statistical and numerical computing.")
7301 (license license:bsd-3)))
7302
7303(define-public ghc-megaparsec
7304 (package
7305 (name "ghc-megaparsec")
03b0c92e 7306 (version "7.0.5")
dddbc90c
RV
7307 (source
7308 (origin
7309 (method url-fetch)
7310 (uri (string-append "https://hackage.haskell.org/package/"
7311 "megaparsec/megaparsec-"
7312 version ".tar.gz"))
7313 (sha256
7314 (base32
03b0c92e 7315 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7316 (build-system haskell-build-system)
dddbc90c
RV
7317 (inputs
7318 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7319 ("ghc-parser-combinators" ,ghc-parser-combinators)
7320 ("ghc-scientific" ,ghc-scientific)))
7321 (native-inputs
7322 `(("ghc-quickcheck" ,ghc-quickcheck)
7323 ("ghc-hspec" ,ghc-hspec)
7324 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7325 ("hspec-discover" ,hspec-discover)))
7326 (home-page "https://github.com/mrkkrp/megaparsec")
7327 (synopsis "Monadic parser combinators")
7328 (description
7329 "This is an industrial-strength monadic parser combinator library.
7330Megaparsec is a feature-rich package that strikes a nice balance between
7331speed, flexibility, and quality of parse errors.")
7332 (license license:bsd-2)))
7333
7334(define-public ghc-memory
7335 (package
7336 (name "ghc-memory")
d2c7d336 7337 (version "0.14.18")
dddbc90c
RV
7338 (source (origin
7339 (method url-fetch)
7340 (uri (string-append "https://hackage.haskell.org/package/"
7341 "memory/memory-" version ".tar.gz"))
7342 (sha256
7343 (base32
d2c7d336 7344 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7345 (build-system haskell-build-system)
7346 (inputs
7347 `(("ghc-basement" ,ghc-basement)
7348 ("ghc-foundation" ,ghc-foundation)))
7349 (native-inputs
7350 `(("ghc-tasty" ,ghc-tasty)
7351 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7352 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7353 (home-page "https://github.com/vincenthz/hs-memory")
7354 (synopsis "Memory abstractions for Haskell")
7355 (description
7356 "This package provides memory abstractions, such as chunk of memory,
7357polymorphic byte array management and manipulation functions. It contains a
7358polymorphic byte array abstraction and functions similar to strict ByteString,
7359different type of byte array abstraction, raw memory IO operations (memory
7360set, memory copy, ..) and more")
7361 (license license:bsd-3)))
7362
7363(define-public ghc-memotrie
7364 (package
7365 (name "ghc-memotrie")
7366 (version "0.6.9")
7367 (source
7368 (origin
7369 (method url-fetch)
7370 (uri (string-append
7371 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7372 version
7373 ".tar.gz"))
7374 (sha256
7375 (base32
7376 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7377 (build-system haskell-build-system)
7378 (inputs
7379 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7380 (home-page "https://github.com/conal/MemoTrie")
7381 (synopsis "Trie-based memo functions")
7382 (description "This package provides a functional library for creating
7383efficient memo functions using tries.")
7384 (license license:bsd-3)))
7385
7386(define-public ghc-microlens
7387 (package
7388 (name "ghc-microlens")
82478c58 7389 (version "0.4.10")
dddbc90c
RV
7390 (source
7391 (origin
7392 (method url-fetch)
7393 (uri (string-append "https://hackage.haskell.org/package/"
7394 "microlens-" version "/"
7395 "microlens-" version ".tar.gz"))
7396 (sha256
7397 (base32
82478c58 7398 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7399 (build-system haskell-build-system)
7400 (home-page
7401 "https://github.com/aelve/microlens")
7402 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7403 (description "This Haskell package provides a lens library, just like
7404@code{ghc-lens}, but smaller. It provides essential lenses and
7405traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7406nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7407combinators (like @code{failing} and @code{singular}), but everything else is
7408stripped. As the result, this package has no dependencies.")
7409 (license license:bsd-3)))
7410
1cd3333e
TS
7411(define-public ghc-microlens-aeson
7412 (package
7413 (name "ghc-microlens-aeson")
7414 (version "2.3.0.4")
7415 (source
7416 (origin
7417 (method url-fetch)
7418 (uri (string-append "https://hackage.haskell.org/package/"
7419 "microlens-aeson/microlens-aeson-"
7420 version ".tar.gz"))
b4a00fec 7421 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7422 (sha256
7423 (base32
7424 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7425 (build-system haskell-build-system)
7426 (inputs
7427 `(("ghc-aeson" ,ghc-aeson)
7428 ("ghc-attoparsec" ,ghc-attoparsec)
7429 ("ghc-hashable" ,ghc-hashable)
7430 ("ghc-microlens" ,ghc-microlens)
7431 ("ghc-scientific" ,ghc-scientific)
7432 ("ghc-unordered-containers" ,ghc-unordered-containers)
7433 ("ghc-vector" ,ghc-vector)))
7434 (native-inputs
7435 `(("ghc-tasty" ,ghc-tasty)
7436 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7437 (home-page "https://github.com/fosskers/microlens-aeson")
7438 (synopsis "Law-abiding lenses for Aeson, using microlens")
7439 (description "This library provides law-abiding lenses for Aeson, using
7440microlens.")
7441 (license license:expat)))
7442
dddbc90c
RV
7443(define-public ghc-microlens-ghc
7444 (package
7445 (name "ghc-microlens-ghc")
027beb55 7446 (version "0.4.10")
dddbc90c
RV
7447 (source
7448 (origin
7449 (method url-fetch)
7450 (uri (string-append
7451 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7452 version
7453 ".tar.gz"))
7454 (sha256
7455 (base32
027beb55 7456 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7457 (build-system haskell-build-system)
7458 (inputs `(("ghc-microlens" ,ghc-microlens)))
7459 (home-page "https://github.com/monadfix/microlens")
7460 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7461 (description "This library provides everything that @code{microlens}
7462provides plus instances to make @code{each}, @code{at}, and @code{ix}
7463usable with arrays, @code{ByteString}, and containers. This package is
7464a part of the @uref{http://hackage.haskell.org/package/microlens,
7465microlens} family; see the readme
7466@uref{https://github.com/aelve/microlens#readme, on Github}.")
7467 (license license:bsd-3)))
7468
7469(define-public ghc-microlens-mtl
7470 (package
7471 (name "ghc-microlens-mtl")
7472 (version "0.1.11.1")
7473 (source
7474 (origin
7475 (method url-fetch)
7476 (uri (string-append
7477 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7478 version
7479 ".tar.gz"))
7480 (sha256
7481 (base32
7482 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7483 (build-system haskell-build-system)
7484 (inputs
7485 `(("ghc-microlens" ,ghc-microlens)
7486 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7487 (home-page "https://github.com/monadfix/microlens")
7488 (synopsis
7489 "@code{microlens} support for Reader/Writer/State from mtl")
7490 (description
7491 "This package contains functions (like @code{view} or @code{+=}) which
7492work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7493mtl package. This package is a part of the
7494@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7495readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7496 (license license:bsd-3)))
7497
7498(define-public ghc-microlens-platform
7499 (package
7500 (name "ghc-microlens-platform")
85decc1f 7501 (version "0.3.11")
dddbc90c
RV
7502 (source
7503 (origin
7504 (method url-fetch)
7505 (uri (string-append
7506 "https://hackage.haskell.org/package/"
7507 "microlens-platform/microlens-platform-" version ".tar.gz"))
7508 (sha256
7509 (base32
85decc1f 7510 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7511 (build-system haskell-build-system)
7512 (inputs
7513 `(("ghc-hashable" ,ghc-hashable)
7514 ("ghc-microlens" ,ghc-microlens)
7515 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7516 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7517 ("ghc-microlens-th" ,ghc-microlens-th)
7518 ("ghc-unordered-containers" ,ghc-unordered-containers)
7519 ("ghc-vector" ,ghc-vector)))
7520 (home-page "https://github.com/monadfix/microlens")
7521 (synopsis "Feature-complete microlens")
7522 (description
7523 "This package exports a module which is the recommended starting point
7524for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7525you aren't trying to keep your dependencies minimal. By importing
7526@code{Lens.Micro.Platform} you get all functions and instances from
7527@uref{http://hackage.haskell.org/package/microlens, microlens},
7528@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7529@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7530@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7531well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7532minor and major versions of @code{microlens-platform} are incremented whenever
7533the minor and major versions of any other @code{microlens} package are
7534incremented, so you can depend on the exact version of
7535@code{microlens-platform} without specifying the version of @code{microlens}
7536you need. This package is a part of the
7537@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7538readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7539 (license license:bsd-3)))
7540
7541(define-public ghc-microlens-th
7542 (package
7543 (name "ghc-microlens-th")
7ae52867 7544 (version "0.4.2.3")
dddbc90c
RV
7545 (source
7546 (origin
7547 (method url-fetch)
7548 (uri (string-append "https://hackage.haskell.org/package/"
7549 "microlens-th-" version "/"
7550 "microlens-th-" version ".tar.gz"))
7551 (sha256
7552 (base32
7ae52867 7553 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7554 (build-system haskell-build-system)
7ae52867
TS
7555 (arguments
7556 `(#:cabal-revision
7557 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7558 (inputs `(("ghc-microlens" ,ghc-microlens)
7559 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7560 (home-page
7561 "https://github.com/aelve/microlens")
7562 (synopsis "Automatic generation of record lenses for
7563@code{ghc-microlens}")
7564 (description "This Haskell package lets you automatically generate lenses
7565for data types; code was extracted from the lens package, and therefore
7566generated lenses are fully compatible with ones generated by lens (and can be
7567used both from lens and microlens).")
7568 (license license:bsd-3)))
7569
7570(define-public ghc-missingh
7571 (package
7572 (name "ghc-missingh")
641207cb 7573 (version "1.4.1.0")
dddbc90c
RV
7574 (source
7575 (origin
7576 (method url-fetch)
7577 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7578 "MissingH-" version ".tar.gz"))
7579 (sha256
7580 (base32
641207cb 7581 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7582 (build-system haskell-build-system)
7583 ;; Tests require the unmaintained testpack package, which depends on the
7584 ;; outdated QuickCheck version 2.7, which can no longer be built with
7585 ;; recent versions of GHC and Haskell libraries.
7586 (arguments '(#:tests? #f))
7587 (inputs
7588 `(("ghc-network" ,ghc-network)
7589 ("ghc-hunit" ,ghc-hunit)
7590 ("ghc-regex-compat" ,ghc-regex-compat)
7591 ("ghc-hslogger" ,ghc-hslogger)
7592 ("ghc-random" ,ghc-random)
7593 ("ghc-old-time" ,ghc-old-time)
7594 ("ghc-old-locale" ,ghc-old-locale)))
7595 (native-inputs
7596 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7597 ("ghc-quickcheck" ,ghc-quickcheck)
7598 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7599 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7600 (synopsis "Large utility library")
7601 (description
7602 "MissingH is a library of all sorts of utility functions for Haskell
7603programmers. It is written in pure Haskell and thus should be extremely
7604portable and easy to use.")
7605 (license license:bsd-3)))
7606
7607(define-public ghc-mmap
7608 (package
7609 (name "ghc-mmap")
7610 (version "0.5.9")
7611 (source (origin
7612 (method url-fetch)
7613 (uri (string-append "https://hackage.haskell.org/package/"
7614 "mmap/mmap-" version ".tar.gz"))
7615 (sha256
7616 (base32
7617 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7618 (build-system haskell-build-system)
7619 (home-page "https://hackage.haskell.org/package/mmap")
7620 (synopsis "Memory mapped files for Haskell")
7621 (description
7622 "This library provides a wrapper to @code{mmap}, allowing files or
7623devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7624@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7625do on-demand loading.")
7626 (license license:bsd-3)))
7627
7628(define-public ghc-mmorph
7629 (package
7630 (name "ghc-mmorph")
e0389704 7631 (version "1.1.3")
dddbc90c
RV
7632 (source
7633 (origin
7634 (method url-fetch)
7635 (uri (string-append
7636 "https://hackage.haskell.org/package/mmorph/mmorph-"
7637 version
7638 ".tar.gz"))
7639 (sha256
7640 (base32
e0389704 7641 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7642 (build-system haskell-build-system)
7643 (inputs
7644 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7645 (home-page "https://hackage.haskell.org/package/mmorph")
7646 (synopsis "Monad morphisms")
7647 (description
7648 "This library provides monad morphism utilities, most commonly used for
7649manipulating monad transformer stacks.")
7650 (license license:bsd-3)))
7651
7652(define-public ghc-mockery
7653 (package
7654 (name "ghc-mockery")
7655 (version "0.3.5")
7656 (source (origin
7657 (method url-fetch)
7658 (uri (string-append "https://hackage.haskell.org/package/"
7659 "mockery/mockery-" version ".tar.gz"))
7660 (sha256
7661 (base32
7662 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7663 (build-system haskell-build-system)
7664 (inputs
7665 `(("ghc-temporary" ,ghc-temporary)
7666 ("ghc-logging-facade" ,ghc-logging-facade)
7667 ("ghc-base-compat" ,ghc-base-compat)))
7668 (native-inputs
7669 `(("ghc-hspec" ,ghc-hspec)
7670 ("hspec-discover" ,hspec-discover)))
7671 (home-page "https://hackage.haskell.org/package/mockery")
7672 (synopsis "Support functions for automated testing")
7673 (description
7674 "The mockery package provides support functions for automated testing.")
7675 (license license:expat)))
7676
7677(define-public ghc-monad-control
7678 (package
7679 (name "ghc-monad-control")
7680 (version "1.0.2.3")
7681 (source
7682 (origin
7683 (method url-fetch)
7684 (uri (string-append
7685 "https://hackage.haskell.org/package/monad-control"
7686 "/monad-control-" version ".tar.gz"))
7687 (sha256
7688 (base32
7689 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7690 (build-system haskell-build-system)
7691 (inputs
7692 `(("ghc-transformers-base" ,ghc-transformers-base)
7693 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7694 (home-page "https://github.com/basvandijk/monad-control")
7695 (synopsis "Monad transformers to lift control operations like exception
7696catching")
7697 (description "This package defines the type class @code{MonadBaseControl},
7698a subset of @code{MonadBase} into which generic control operations such as
7699@code{catch} can be lifted from @code{IO} or any other base monad.")
7700 (license license:bsd-3)))
7701
7702(define-public ghc-monad-logger
7703 (package
7704 (name "ghc-monad-logger")
26980aae 7705 (version "0.3.30")
dddbc90c
RV
7706 (source
7707 (origin
7708 (method url-fetch)
7709 (uri (string-append "https://hackage.haskell.org/package/"
7710 "monad-logger-" version "/"
7711 "monad-logger-" version ".tar.gz"))
7712 (sha256
7713 (base32
26980aae 7714 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7715 (build-system haskell-build-system)
7716 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7717 ("ghc-stm-chans" ,ghc-stm-chans)
7718 ("ghc-lifted-base" ,ghc-lifted-base)
7719 ("ghc-resourcet" ,ghc-resourcet)
7720 ("ghc-conduit" ,ghc-conduit)
7721 ("ghc-conduit-extra" ,ghc-conduit-extra)
7722 ("ghc-fast-logger" ,ghc-fast-logger)
7723 ("ghc-transformers-base" ,ghc-transformers-base)
7724 ("ghc-monad-control" ,ghc-monad-control)
7725 ("ghc-monad-loops" ,ghc-monad-loops)
7726 ("ghc-blaze-builder" ,ghc-blaze-builder)
7727 ("ghc-exceptions" ,ghc-exceptions)))
7728 (home-page "https://github.com/kazu-yamamoto/logger")
7729 (synopsis "Provides a class of monads which can log messages for Haskell")
7730 (description "This Haskell package uses a monad transformer approach
7731for logging.
7732
7733This package provides Template Haskell functions for determining source
7734code locations of messages.")
7735 (license license:expat)))
7736
7737(define-public ghc-monad-loops
7738 (package
7739 (name "ghc-monad-loops")
7740 (version "0.4.3")
7741 (source
7742 (origin
7743 (method url-fetch)
7744 (uri (string-append "https://hackage.haskell.org/package/"
7745 "monad-loops-" version "/"
7746 "monad-loops-" version ".tar.gz"))
7747 (sha256
7748 (base32
7749 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7750 (build-system haskell-build-system)
7751 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7752 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7753 (home-page "https://github.com/mokus0/monad-loops")
7754 (synopsis "Monadic loops for Haskell")
7755 (description "This Haskell package provides some useful control
7756operators for looping.")
7757 (license license:public-domain)))
7758
7759(define-public ghc-monad-par
7760 (package
7761 (name "ghc-monad-par")
7762 (version "0.3.4.8")
7763 (source
7764 (origin
7765 (method url-fetch)
7766 (uri (string-append "https://hackage.haskell.org/package/"
7767 "monad-par-" version "/"
7768 "monad-par-" version ".tar.gz"))
faac56f3 7769 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7770 (sha256
7771 (base32
7772 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7773 (build-system haskell-build-system)
7774 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7775 ("ghc-abstract-deque" ,ghc-abstract-deque)
7776 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7777 ("ghc-mwc-random" ,ghc-mwc-random)
7778 ("ghc-parallel" ,ghc-parallel)))
7779 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7780 ("ghc-hunit" ,ghc-hunit)
7781 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7782 ("ghc-test-framework-quickcheck2"
7783 ,ghc-test-framework-quickcheck2)
7784 ("ghc-test-framework" ,ghc-test-framework)
7785 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7786 (home-page "https://github.com/simonmar/monad-par")
7787 (synopsis "Haskell library for parallel programming based on a monad")
7788 (description "The @code{Par} monad offers an API for parallel
7789programming. The library works for parallelising both pure and @code{IO}
7790computations, although only the pure version is deterministic. The default
7791implementation provides a work-stealing scheduler and supports forking tasks
7792that are much lighter weight than IO-threads.")
7793 (license license:bsd-3)))
7794
7795(define-public ghc-monad-par-extras
7796 (package
7797 (name "ghc-monad-par-extras")
7798 (version "0.3.3")
7799 (source
7800 (origin
7801 (method url-fetch)
7802 (uri (string-append "https://hackage.haskell.org/package/"
7803 "monad-par-extras-" version "/"
7804 "monad-par-extras-" version ".tar.gz"))
7805 (sha256
7806 (base32
7807 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7808 (build-system haskell-build-system)
7809 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7810 ("ghc-cereal" ,ghc-cereal)
7811 ("ghc-random" ,ghc-random)))
7812 (home-page "https://github.com/simonmar/monad-par")
7813 (synopsis "Combinators and extra features for Par monads for Haskell")
7814 (description "This Haskell package provides additional data structures,
7815and other added capabilities layered on top of the @code{Par} monad.")
7816 (license license:bsd-3)))
7817
dddbc90c
RV
7818(define-public ghc-monadrandom
7819 (package
7820 (name "ghc-monadrandom")
7821 (version "0.5.1.1")
7822 (source
7823 (origin
7824 (method url-fetch)
7825 (uri (string-append "https://hackage.haskell.org/package/"
7826 "MonadRandom-" version "/"
7827 "MonadRandom-" version ".tar.gz"))
7828 (sha256
7829 (base32
7830 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7831 (build-system haskell-build-system)
7832 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7833 ("ghc-primitive" ,ghc-primitive)
7834 ("ghc-fail" ,ghc-fail)
7835 ("ghc-random" ,ghc-random)))
7836 (home-page "https://github.com/byorgey/MonadRandom")
7837 (synopsis "Random-number generation monad for Haskell")
7838 (description "This Haskell package provides support for computations
7839which consume random values.")
7840 (license license:bsd-3)))
7841
7842(define-public ghc-monads-tf
7843 (package
7844 (name "ghc-monads-tf")
7845 (version "0.1.0.3")
7846 (source
7847 (origin
7848 (method url-fetch)
7849 (uri (string-append
7850 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7851 version ".tar.gz"))
7852 (sha256
7853 (base32
7854 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7855 (build-system haskell-build-system)
7856 (home-page "https://hackage.haskell.org/package/monads-tf")
7857 (synopsis "Monad classes, using type families")
7858 (description
7859 "Monad classes using type families, with instances for various monad transformers,
7860inspired by the paper 'Functional Programming with Overloading and Higher-Order
7861Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7862the @code{mtl-tf} package.")
7863 (license license:bsd-3)))
7864
7865(define-public ghc-mono-traversable
7866 (package
7867 (name "ghc-mono-traversable")
23bb445b 7868 (version "1.0.13.0")
dddbc90c
RV
7869 (source
7870 (origin
7871 (method url-fetch)
7872 (uri (string-append "https://hackage.haskell.org/package/"
7873 "mono-traversable-" version "/"
7874 "mono-traversable-" version ".tar.gz"))
7875 (sha256
7876 (base32
23bb445b 7877 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7878 (build-system haskell-build-system)
7879 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7880 ("ghc-hashable" ,ghc-hashable)
7881 ("ghc-vector" ,ghc-vector)
7882 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7883 ("ghc-split" ,ghc-split)))
7884 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7885 ("ghc-hunit" ,ghc-hunit)
7886 ("ghc-quickcheck" ,ghc-quickcheck)
7887 ("ghc-semigroups" ,ghc-semigroups)
7888 ("ghc-foldl" ,ghc-foldl)))
7889 (home-page "https://github.com/snoyberg/mono-traversable")
7890 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7891containers")
7892 (description "This Haskell package provides Monomorphic variants of the
7893Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7894basic typeclasses, you understand mono-traversable. In addition to what
7895you are used to, it adds on an IsSequence typeclass and has code for marking
7896data structures as non-empty.")
7897 (license license:expat)))
7898
471e77cf
TS
7899(define-public ghc-monoid-extras
7900 (package
7901 (name "ghc-monoid-extras")
7902 (version "0.5.1")
7903 (source
7904 (origin
7905 (method url-fetch)
7906 (uri (string-append "https://hackage.haskell.org/package/"
7907 "monoid-extras/monoid-extras-" version ".tar.gz"))
7908 (sha256
7909 (base32
7910 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7911 (build-system haskell-build-system)
7912 (inputs
7913 `(("ghc-groups" ,ghc-groups)
7914 ("ghc-semigroups" ,ghc-semigroups)
7915 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7916 (arguments
7917 `(#:cabal-revision
7918 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7919 (home-page "https://hackage.haskell.org/package/monoid-extras")
7920 (synopsis "Various extra monoid-related definitions and utilities")
7921 (description "This package provides various extra monoid-related
7922definitions and utilities, such as monoid actions, monoid coproducts,
7923semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7924\"cut\" monoids.")
7925 (license license:bsd-3)))
7926
4759b617
JS
7927(define-public ghc-mtl-compat
7928 (package
7929 (name "ghc-mtl-compat")
7930 (version "0.2.2")
7931 (source
7932 (origin
7933 (method url-fetch)
7934 (uri (string-append
7935 "mirror://hackage/package/mtl-compat/mtl-compat-"
7936 version
7937 ".tar.gz"))
7938 (sha256
7939 (base32
7940 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7941 (build-system haskell-build-system)
7942 (home-page
7943 "https://github.com/haskell-compat/mtl-compat")
7944 (synopsis
7945 "Backported Control.Monad.Except module from mtl")
7946 (description
7947 "This package backports the Control.Monad.Except module from mtl (if
7948using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7949and the MonadError class.
7950
7951This package should only be used if there is a need to use the
7952Control.Monad.Except module specifically. If you just want the mtl class
7953instances for ExceptT, use transformers-compat instead, since mtl-compat does
7954nothing but reexport the instances from that package.
7955
7956Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7957module defined in this package exports all of ExceptT's monad class instances.
7958Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7959the top of your file to get all of the ExceptT instances in scope.")
7960 (license license:bsd-3)))
7961
dddbc90c
RV
7962(define-public ghc-murmur-hash
7963 (package
7964 (name "ghc-murmur-hash")
7965 (version "0.1.0.9")
7966 (source
7967 (origin
7968 (method url-fetch)
7969 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7970 "/murmur-hash-" version ".tar.gz"))
7971 (sha256
7972 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7973 (build-system haskell-build-system)
7974 (home-page "https://github.com/nominolo/murmur-hash")
7975 (synopsis "MurmurHash2 implementation for Haskell")
7976 (description
7977 "This package provides an implementation of MurmurHash2, a good, fast,
7978general-purpose, non-cryptographic hashing function. See
7979@url{https://sites.google.com/site/murmurhash/} for details. This
7980implementation is pure Haskell, so it might be a bit slower than a C FFI
7981binding.")
7982 (license license:bsd-3)))
7983
7984(define-public ghc-mwc-random
7985 (package
7986 (name "ghc-mwc-random")
33268e2c 7987 (version "0.14.0.0")
dddbc90c
RV
7988 (source
7989 (origin
7990 (method url-fetch)
7991 (uri (string-append "https://hackage.haskell.org/package/"
7992 "mwc-random-" version "/"
7993 "mwc-random-" version ".tar.gz"))
7994 (sha256
7995 (base32
33268e2c 7996 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7997 (build-system haskell-build-system)
7998 (inputs
7999 `(("ghc-primitive" ,ghc-primitive)
8000 ("ghc-vector" ,ghc-vector)
8001 ("ghc-math-functions" ,ghc-math-functions)))
8002 (arguments
8003 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8004 (native-inputs
8005 `(("ghc-hunit" ,ghc-hunit)
8006 ("ghc-quickcheck" ,ghc-quickcheck)
8007 ("ghc-test-framework" ,ghc-test-framework)
8008 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8009 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8010 (home-page "https://github.com/bos/mwc-random")
8011 (synopsis "Random number generation library for Haskell")
8012 (description "This Haskell package contains code for generating
8013high quality random numbers that follow either a uniform or normal
8014distribution. The generated numbers are suitable for use in
8015statistical applications.
8016
8017The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8018multiply-with-carry generator, which has a period of 2^{8222} and
8019fares well in tests of randomness. It is also extremely fast,
8020between 2 and 3 times faster than the Mersenne Twister.")
8021 (license license:bsd-3)))
8022
8023(define-public ghc-nats
8024 (package
8025 (name "ghc-nats")
8026 (version "1.1.2")
8027 (source
8028 (origin
8029 (method url-fetch)
8030 (uri (string-append
8031 "https://hackage.haskell.org/package/nats/nats-"
8032 version
8033 ".tar.gz"))
8034 (sha256
8035 (base32
8036 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8037 (build-system haskell-build-system)
8038 (arguments `(#:haddock? #f))
8039 (inputs
8040 `(("ghc-hashable" ,ghc-hashable)))
8041 (home-page "https://hackage.haskell.org/package/nats")
8042 (synopsis "Natural numbers")
8043 (description "This library provides the natural numbers for Haskell.")
8044 (license license:bsd-3)))
8045
8046(define-public ghc-nats-bootstrap
8047 (package
8048 (inherit ghc-nats)
8049 (name "ghc-nats-bootstrap")
8050 (inputs
8051 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8052 (properties '((hidden? #t)))))
8053
52915062
EF
8054(define-public ghc-ncurses
8055 (package
8056 (name "ghc-ncurses")
8057 (version "0.2.16")
8058 (source
8059 (origin
8060 (method url-fetch)
8061 (uri (string-append
8062 "https://hackage.haskell.org/package/ncurses/ncurses-"
8063 version ".tar.gz"))
8064 (sha256
8065 (base32
8066 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8067 (build-system haskell-build-system)
8068 (arguments
8069 '(#:phases
8070 (modify-phases %standard-phases
8071 (add-before 'build 'fix-includes
8072 (lambda _
8073 (substitute* '("cbits/hsncurses-shim.h"
8074 "lib/UI/NCurses.chs"
8075 "lib/UI/NCurses/Enums.chs"
8076 "lib/UI/NCurses/Panel.chs")
8077 (("<ncursesw/") "<"))
8078 #t)))
8079 #:cabal-revision
8080 ("1"
8081 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8082 (inputs `(("ncurses" ,ncurses)))
8083 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8084 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8085 (synopsis "Modernised bindings to GNU ncurses")
8086 (description "GNU ncurses is a library for creating command-line application
8087with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8088ncurses.")
8089 (license license:gpl3)))
8090
dddbc90c
RV
8091(define-public ghc-network
8092 (package
8093 (name "ghc-network")
d4473202 8094 (version "2.8.0.1")
dddbc90c
RV
8095 (outputs '("out" "doc"))
8096 (source
8097 (origin
8098 (method url-fetch)
8099 (uri (string-append
8100 "https://hackage.haskell.org/package/network/network-"
8101 version
8102 ".tar.gz"))
8103 (sha256
8104 (base32
d4473202 8105 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8106 (build-system haskell-build-system)
8107 ;; The regression tests depend on an unpublished module.
8108 (arguments `(#:tests? #f))
8109 (native-inputs
8110 `(("ghc-hunit" ,ghc-hunit)
8111 ("ghc-doctest" ,ghc-doctest)
8112 ("ghc-test-framework" ,ghc-test-framework)
8113 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8114 (home-page "https://github.com/haskell/network")
8115 (synopsis "Low-level networking interface")
8116 (description
8117 "This package provides a low-level networking interface.")
8118 (license license:bsd-3)))
4780db2c 8119
30eebbe6
TS
8120(define-public ghc-network-bsd
8121 (package
8122 (name "ghc-network-bsd")
8123 (version "2.8.0.0")
8124 (source
8125 (origin
8126 (method url-fetch)
8127 (uri (string-append "https://hackage.haskell.org/package/"
8128 "network-bsd/network-bsd-" version ".tar.gz"))
8129 (sha256
8130 (base32
8131 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8132 (build-system haskell-build-system)
8133 (inputs
8134 `(("ghc-network" ,ghc-network)))
8135 (home-page "https://github.com/haskell/network-bsd")
8136 (synopsis "POSIX network database (<netdb.h>) API")
8137 (description "This package provides Haskell bindings to the the POSIX
8138network database (<netdb.h>) API.")
8139 (license license:bsd-3)))
8140
096781a1
TS
8141(define-public ghc-network-byte-order
8142 (package
8143 (name "ghc-network-byte-order")
8144 (version "0.1.1.1")
8145 (source
8146 (origin
8147 (method url-fetch)
8148 (uri (string-append "https://hackage.haskell.org/package/"
8149 "network-byte-order/network-byte-order-"
8150 version ".tar.gz"))
8151 (sha256
8152 (base32
8153 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8154 (build-system haskell-build-system)
8155 (native-inputs
8156 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8157 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8158 (synopsis "Network byte order utilities")
8159 (description "This library provides peek and poke functions for network
8160byte order.")
8161 (license license:bsd-3)))
8162
dddbc90c
RV
8163(define-public ghc-network-info
8164 (package
8165 (name "ghc-network-info")
8166 (version "0.2.0.10")
8167 (source
8168 (origin
8169 (method url-fetch)
8170 (uri (string-append "https://hackage.haskell.org/package/"
8171 "network-info-" version "/"
8172 "network-info-" version ".tar.gz"))
8173 (sha256
8174 (base32
8175 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8176 (build-system haskell-build-system)
8177 (home-page "https://github.com/jystic/network-info")
8178 (synopsis "Access the local computer's basic network configuration")
8179 (description "This Haskell library provides simple read-only access to the
8180local computer's networking configuration. It is currently capable of
8181getting a list of all the network interfaces and their respective
8182IPv4, IPv6 and MAC addresses.")
8183 (license license:bsd-3)))
8184
8185(define-public ghc-network-uri
8186 (package
8187 (name "ghc-network-uri")
8188 (version "2.6.1.0")
8189 (outputs '("out" "doc"))
8190 (source
8191 (origin
8192 (method url-fetch)
8193 (uri (string-append
8194 "https://hackage.haskell.org/package/network-uri/network-uri-"
8195 version
8196 ".tar.gz"))
8197 (sha256
8198 (base32
8199 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8200 (build-system haskell-build-system)
8201 (arguments
8202 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8203 (inputs
8204 `(("ghc-network" ,ghc-network)))
8205 (native-inputs
8206 `(("ghc-hunit" ,ghc-hunit)))
8207 (home-page
8208 "https://github.com/haskell/network-uri")
8209 (synopsis "Library for URI manipulation")
8210 (description "This package provides an URI manipulation interface. In
8211@code{network-2.6} the @code{Network.URI} module was split off from the
8212@code{network} package into this package.")
8213 (license license:bsd-3)))
8214
8215(define-public ghc-newtype-generics
8216 (package
8217 (name "ghc-newtype-generics")
c07e16dd 8218 (version "0.5.4")
dddbc90c
RV
8219 (source
8220 (origin
8221 (method url-fetch)
8222 (uri (string-append "https://hackage.haskell.org/package/"
8223 "newtype-generics/newtype-generics-"
8224 version ".tar.gz"))
8225 (sha256
8226 (base32
c07e16dd 8227 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8228 (build-system haskell-build-system)
8229 (native-inputs
8230 `(("ghc-hspec" ,ghc-hspec)
8231 ("hspec-discover" ,hspec-discover)))
8232 (home-page "http://github.com/sjakobi/newtype-generics")
8233 (synopsis "Typeclass and set of functions for working with newtypes")
8234 (description "The @code{Newtype} typeclass represents the packing and
8235unpacking of a newtype, and allows you to operate under that newtype with
8236functions such as @code{ala}. Generics support was added in version 0.4,
8237making this package a full replacement for the original newtype package,
8238and an alternative to newtype-th.")
8239 (license license:bsd-3)))
8240
6b652f5a
JS
8241(define-public ghc-non-negative
8242 (package
8243 (name "ghc-non-negative")
8244 (version "0.1.2")
8245 (source
8246 (origin
8247 (method url-fetch)
8248 (uri
8249 (string-append
8250 "https://hackage.haskell.org/package/non-negative/non-negative-"
8251 version ".tar.gz"))
8252 (sha256
8253 (base32
8254 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8255 (build-system haskell-build-system)
8256 (inputs
8257 `(("ghc-semigroups" ,ghc-semigroups)
8258 ("ghc-utility-ht" ,ghc-utility-ht)
8259 ("ghc-quickcheck" ,ghc-quickcheck)))
8260 (home-page "https://hackage.haskell.org/package/non-negative")
8261 (synopsis "Non-negative numbers class")
8262 (description "This library provides a class for non-negative numbers,
8263a wrapper which can turn any ordered numeric type into a member of that
8264class, and a lazy number type for non-negative numbers (a generalization
8265of Peano numbers).")
8266 (license license:gpl3+)))
8267
49bcca84
ASM
8268(define-public ghc-nonce
8269 (package
8270 (name "ghc-nonce")
8271 (version "1.0.7")
8272 (source
8273 (origin
8274 (method url-fetch)
8275 (uri (string-append
8276 "https://hackage.haskell.org/package/nonce/"
8277 "nonce-" version ".tar.gz"))
8278 (sha256
8279 (base32
8280 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8281 (build-system haskell-build-system)
8282 (inputs
8283 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8284 ("ghc-entropy" ,ghc-entropy)
8285 ("ghc-unliftio" ,ghc-unliftio)
8286 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8287 (home-page "https://github.com/prowdsponsor/nonce")
8288 (synopsis "Generate cryptographic nonces in Haskell")
8289 (description
8290 "A nonce is an arbitrary number used only once in a cryptographic
8291communication. This package contain helper functions for generating nonces.
8292There are many kinds of nonces used in different situations. It's not
8293guaranteed that by using the nonces from this package you won't have any
8294security issues. Please make sure that the nonces generated via this
8295package are usable on your design.")
8296 (license license:bsd-3)))
8297
194a82e6
TS
8298(define-public ghc-numeric-extras
8299 (package
8300 (name "ghc-numeric-extras")
8301 (version "0.1")
8302 (source
8303 (origin
8304 (method url-fetch)
8305 (uri (string-append "https://hackage.haskell.org/package/"
8306 "numeric-extras/numeric-extras-"
8307 version ".tar.gz"))
8308 (sha256
8309 (base32
8310 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8311 (build-system haskell-build-system)
8312 (home-page "https://github.com/ekmett/numeric-extras")
8313 (synopsis "Useful tools from the C standard library")
8314 (description "This library provides some useful tools from the C
8315standard library.")
8316 (license license:bsd-3)))
8317
dddbc90c
RV
8318(define-public ghc-objectname
8319 (package
8320 (name "ghc-objectname")
8321 (version "1.1.0.1")
8322 (source
8323 (origin
8324 (method url-fetch)
8325 (uri (string-append
8326 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8327 version
8328 ".tar.gz"))
8329 (sha256
8330 (base32
8331 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8332 (build-system haskell-build-system)
8333 (home-page "https://hackage.haskell.org/package/ObjectName")
8334 (synopsis "Helper library for Haskell OpenGL")
8335 (description "This tiny package contains the class ObjectName, which
8336corresponds to the general notion of explicitly handled identifiers for API
8337objects, e.g. a texture object name in OpenGL or a buffer object name in
8338OpenAL.")
8339 (license license:bsd-3)))
8340
8341(define-public ghc-old-locale
8342 (package
8343 (name "ghc-old-locale")
8344 (version "1.0.0.7")
8345 (source
8346 (origin
8347 (method url-fetch)
8348 (uri (string-append
8349 "https://hackage.haskell.org/package/old-locale/old-locale-"
8350 version
8351 ".tar.gz"))
8352 (sha256
8353 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8354 (build-system haskell-build-system)
8355 (arguments
8356 `(#:cabal-revision
8357 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8358 (home-page "https://hackage.haskell.org/package/old-locale")
8359 (synopsis "Adapt to locale conventions")
8360 (description
8361 "This package provides the ability to adapt to locale conventions such as
8362date and time formats.")
8363 (license license:bsd-3)))
8364
8365(define-public ghc-old-time
8366 (package
8367 (name "ghc-old-time")
8368 (version "1.1.0.3")
8369 (source
8370 (origin
8371 (method url-fetch)
8372 (uri (string-append
8373 "https://hackage.haskell.org/package/old-time/old-time-"
8374 version
8375 ".tar.gz"))
8376 (sha256
8377 (base32
8378 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8379 (build-system haskell-build-system)
8380 (arguments
8381 `(#:cabal-revision
8382 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8383 (inputs
8384 `(("ghc-old-locale" ,ghc-old-locale)))
8385 (home-page "https://hackage.haskell.org/package/old-time")
8386 (synopsis "Time compatibility library for Haskell")
8387 (description "Old-time is a package for backwards compatibility with the
8388old @code{time} library. For new projects, the newer
8389@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8390 (license license:bsd-3)))
8391
8392(define-public ghc-opengl
8393 (package
8394 (name "ghc-opengl")
79a06910 8395 (version "3.0.3.0")
dddbc90c
RV
8396 (source
8397 (origin
8398 (method url-fetch)
8399 (uri (string-append
8400 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8401 version
8402 ".tar.gz"))
8403 (sha256
8404 (base32
79a06910 8405 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8406 (build-system haskell-build-system)
79a06910
TS
8407 (arguments
8408 `(#:cabal-revision
8409 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8410 (inputs
8411 `(("ghc-objectname" ,ghc-objectname)
8412 ("ghc-gluraw" ,ghc-gluraw)
8413 ("ghc-statevar" ,ghc-statevar)
8414 ("ghc-openglraw" ,ghc-openglraw)))
8415 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8416 (synopsis "Haskell bindings for the OpenGL graphics system")
8417 (description "This package provides Haskell bindings for the OpenGL
8418graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8419version 1.3).")
8420 (license license:bsd-3)))
8421
8422(define-public ghc-openglraw
8423 (package
8424 (name "ghc-openglraw")
15ebc815 8425 (version "3.3.3.0")
dddbc90c
RV
8426 (source
8427 (origin
8428 (method url-fetch)
8429 (uri (string-append
8430 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8431 version
8432 ".tar.gz"))
8433 (sha256
8434 (base32
15ebc815 8435 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8436 (build-system haskell-build-system)
8437 (inputs
8438 `(("ghc-half" ,ghc-half)
8439 ("ghc-fixed" ,ghc-fixed)
8440 ("glu" ,glu)))
8441 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8442 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8443 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8444graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8445of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8446offers access to all necessary functions, tokens and types plus a general
8447facility for loading extension entries. The module hierarchy closely mirrors
8448the naming structure of the OpenGL extensions, making it easy to find the
8449right module to import. All API entries are loaded dynamically, so no special
8450C header files are needed for building this package. If an API entry is not
8451found at runtime, a userError is thrown.")
8452 (license license:bsd-3)))
8453
8454(define-public ghc-operational
8455 (package
8456 (name "ghc-operational")
8457 (version "0.2.3.5")
8458 (source
8459 (origin
8460 (method url-fetch)
8461 (uri (string-append "https://hackage.haskell.org/package/operational/"
8462 "operational-" version ".tar.gz"))
8463 (sha256
8464 (base32
8465 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8466 (build-system haskell-build-system)
8467 (inputs
8468 `(("ghc-random" ,ghc-random)))
8469 (home-page "http://wiki.haskell.org/Operational")
8470 (synopsis "Implementation of difficult monads made easy with operational semantics")
8471 (description
8472 "This library makes it easy to implement monads with tricky control
8473flow. This is useful for: writing web applications in a sequential style,
8474programming games with a uniform interface for human and AI players and easy
8475replay capababilities, implementing fast parser monads, designing monadic
8476DSLs, etc.")
8477 (license license:bsd-3)))
8478
6f1477d2
JS
8479(define-public ghc-optional-args
8480 (package
8481 (name "ghc-optional-args")
8482 (version "1.0.2")
8483 (source
8484 (origin
8485 (method url-fetch)
8486 (uri (string-append
8487 "mirror://hackage/package/optional-args/optional-args-"
8488 version
8489 ".tar.gz"))
8490 (sha256
8491 (base32
8492 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8493 (build-system haskell-build-system)
8494 (home-page
8495 "http://hackage.haskell.org/package/optional-args")
8496 (synopsis "Optional function arguments")
8497 (description
8498 "This library provides a type for specifying @code{Optional} function
8499arguments.")
8500 (license license:bsd-3)))
8501
dddbc90c
RV
8502(define-public ghc-options
8503 (package
8504 (name "ghc-options")
8505 (version "1.2.1.1")
8506 (source
8507 (origin
8508 (method url-fetch)
8509 (uri (string-append
8510 "https://hackage.haskell.org/package/options/options-"
8511 version ".tar.gz"))
8512 (sha256
8513 (base32
8514 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8515 (build-system haskell-build-system)
24cf2a8b
TS
8516 (arguments
8517 `(#:phases
8518 (modify-phases %standard-phases
8519 (add-before 'configure 'update-constraints
8520 (lambda _
8521 (substitute* "options.cabal"
8522 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8523 #t)))))
dddbc90c
RV
8524 (inputs
8525 `(("ghc-monads-tf" ,ghc-monads-tf)
8526 ("ghc-chell" ,ghc-chell)
8527 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8528 (home-page "https://john-millikin.com/software/haskell-options/")
8529 (synopsis "Powerful and easy-to-use command-line option parser")
8530 (description
8531 "The @code{options} package lets library and application developers
8532easily work with command-line options.")
8533 (license license:expat)))
8534
8535;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8536(define ghc-options-bootstrap
8537 (package
8538 (name "ghc-options-bootstrap")
8539 (version "1.2.1.1")
8540 (source
8541 (origin
8542 (method url-fetch)
8543 (uri (string-append
8544 "https://hackage.haskell.org/package/options/options-"
8545 version ".tar.gz"))
8546 (sha256
8547 (base32
8548 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8549 (build-system haskell-build-system)
8550 (arguments
8551 `(#:tests? #f))
8552 (inputs
8553 `(("ghc-monads-tf" ,ghc-monads-tf)))
8554 (home-page "https://john-millikin.com/software/haskell-options/")
8555 (synopsis "Powerful and easy-to-use command-line option parser")
8556 (description
8557 "The @code{options} package lets library and application developers
8558easily work with command-line options.")
8559 (license license:expat)))
8560
8561
8562(define-public ghc-optparse-applicative
8563 (package
8564 (name "ghc-optparse-applicative")
74bf6965 8565 (version "0.14.3.0")
dddbc90c
RV
8566 (source
8567 (origin
8568 (method url-fetch)
8569 (uri (string-append
8570 "https://hackage.haskell.org/package/optparse-applicative"
8571 "/optparse-applicative-" version ".tar.gz"))
8572 (sha256
8573 (base32
74bf6965 8574 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8575 (build-system haskell-build-system)
74bf6965
TS
8576 (arguments
8577 `(#:cabal-revision
8578 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8579 (inputs
8580 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8581 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8582 (native-inputs
8583 `(("ghc-quickcheck" ,ghc-quickcheck)))
8584 (home-page "https://github.com/pcapriotti/optparse-applicative")
8585 (synopsis "Utilities and combinators for parsing command line options")
8586 (description "This package provides utilities and combinators for parsing
8587command line options in Haskell.")
8588 (license license:bsd-3)))
8589
d56c8120
NG
8590(define-public ghc-jira-wiki-markup
8591 (package
8592 (name "ghc-jira-wiki-markup")
8593 (version "1.0.0")
8594 (source
8595 (origin
8596 (method url-fetch)
8597 (uri (string-append
8598 "https://hackage.haskell.org/package/jira-wiki-markup/"
8599 "jira-wiki-markup-" version ".tar.gz"))
8600 (sha256
8601 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8602 (build-system haskell-build-system)
8603 (native-inputs
8604 `(("ghc-tasty" ,ghc-tasty)
8605 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8606 (home-page "https://github.com/tarleb/jira-wiki-markup")
8607 (synopsis "Handle Jira wiki markup")
8608 (description
8609 "Parse jira wiki text into an abstract syntax tree for easy transformation
8610to other formats.")
8611 (license license:expat)))
8612
20690771
NG
8613(define-public ghc-emojis
8614 (package
8615 (name "ghc-emojis")
8616 (version "0.1")
8617 (source
8618 (origin
8619 (method url-fetch)
8620 (uri (string-append
8621 "https://hackage.haskell.org/package/emojis/"
8622 "emojis-" version ".tar.gz"))
8623 (sha256
8624 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8625 (build-system haskell-build-system)
8626 (native-inputs
8627 `(("ghc-hunit" ,ghc-hunit)))
8628 (home-page "https://github.com/jgm/emojis#readme")
8629 (synopsis "Conversion between emoji characters and their names.")
8630 (description
8631 "This package provides functions for converting emoji names to emoji
8632characters and vice versa.
8633
8634How does it differ from the @code{emoji} package?
8635@itemize
8636@item It supports a fuller range of emojis, including all those supported by
8637GitHub
8638@item It supports lookup of emoji aliases from emoji
8639@item It uses Text rather than String
8640@item It has a lighter dependency footprint: in particular, it does not
8641require aeson
8642@item It does not require TemplateHaskell
8643@end itemize")
8644 (license license:bsd-3)))
8645
e90a06fc
NG
8646(define-public ghc-text-conversions
8647 (package
8648 (name "ghc-text-conversions")
8649 (version "0.3.0")
8650 (source
8651 (origin
8652 (method url-fetch)
8653 (uri (string-append
8654 "https://hackage.haskell.org/package/text-conversions/"
8655 "text-conversions-" version ".tar.gz"))
8656 (sha256
8657 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8658 (build-system haskell-build-system)
8659 (inputs
8660 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8661 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8662 ("ghc-errors" ,ghc-errors)))
8663 (native-inputs
8664 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8665 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8666 (home-page "https://github.com/cjdev/text-conversions#readme")
8667 (synopsis "Safe conversions between textual types")
8668 (description "Safe conversions between textual types")
8669 (license license:isc)))
8670
ba7cbae3
NG
8671(define-public ghc-doclayout
8672 (package
8673 (name "ghc-doclayout")
8674 (version "0.3")
8675 (source
8676 (origin
8677 (method url-fetch)
8678 (uri (string-append
8679 "https://hackage.haskell.org/package/doclayout/"
8680 "doclayout-" version ".tar.gz"))
8681 (sha256
8682 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8683 (build-system haskell-build-system)
8684 (inputs
8685 `(("ghc-safe" ,ghc-safe)))
8686 (native-inputs
8687 `(("ghc-tasty" ,ghc-tasty)
8688 ("ghc-tasty-golden" ,ghc-tasty-golden)
8689 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8690 (home-page "https://github.com/jgm/doclayout")
8691 (synopsis "Pretty-printing library for laying out text documents")
8692 (description
8693 "doclayout is a pretty-printing library for laying out text documents,
8694with several features not present in pretty-printing libraries designed for
8695code. It was designed for use in @code{Pandoc}.")
8696 (license license:bsd-3)))
8697
dddbc90c
RV
8698(define-public ghc-pandoc
8699 (package
8700 (name "ghc-pandoc")
d9b1567a 8701 (version "2.7.3")
dddbc90c
RV
8702 (source
8703 (origin
8704 (method url-fetch)
8705 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8706 version ".tar.gz"))
d9b1567a
TS
8707 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8708 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8709 (sha256
8710 (base32
d9b1567a 8711 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8712 (build-system haskell-build-system)
dddbc90c
RV
8713 (inputs
8714 `(("ghc-aeson" ,ghc-aeson)
8715 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8716 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8717 ("ghc-blaze-html" ,ghc-blaze-html)
8718 ("ghc-blaze-markup" ,ghc-blaze-markup)
8719 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8720 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8721 ("ghc-diff" ,ghc-diff)
8722 ("ghc-doctemplates" ,ghc-doctemplates)
8723 ("ghc-executable-path" ,ghc-executable-path)
8724 ("ghc-glob" ,ghc-glob)
8725 ("ghc-haddock-library" ,ghc-haddock-library)
8726 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8727 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8728 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8729 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8730 ("ghc-http" ,ghc-http)
8731 ("ghc-http-client" ,ghc-http-client)
8732 ("ghc-http-client-tls" ,ghc-http-client-tls)
8733 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8734 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8735 ("ghc-juicypixels" ,ghc-juicypixels)
8736 ("ghc-network" ,ghc-network)
8737 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8738 ("ghc-pandoc-types" ,ghc-pandoc-types)
8739 ("ghc-random" ,ghc-random)
8740 ("ghc-scientific" ,ghc-scientific)
8741 ("ghc-sha" ,ghc-sha)
8742 ("ghc-skylighting" ,ghc-skylighting)
8743 ("ghc-split" ,ghc-split)
8744 ("ghc-syb" ,ghc-syb)
8745 ("ghc-tagsoup" ,ghc-tagsoup)
8746 ("ghc-temporary" ,ghc-temporary)
8747 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8748 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8749 ("ghc-unordered-containers" ,ghc-unordered-containers)
8750 ("ghc-vector" ,ghc-vector)
8751 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8752 ("ghc-zip-archive" ,ghc-zip-archive)
8753 ("ghc-zlib" ,ghc-zlib)))
8754 (native-inputs
8755 `(("ghc-tasty" ,ghc-tasty)
8756 ("ghc-tasty-golden" ,ghc-tasty-golden)
8757 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8758 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8759 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8760 ("ghc-quickcheck" ,ghc-quickcheck)
8761 ("ghc-hunit" ,ghc-hunit)))
8762 (home-page "https://pandoc.org")
8763 (synopsis "Conversion between markup formats")
8764 (description
8765 "Pandoc is a Haskell library for converting from one markup format to
8766another, and a command-line tool that uses this library. It can read and
8767write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8768LaTeX, DocBook, and many more.
8769
8770Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8771definition lists, tables, and other features. A compatibility mode is
8772provided for those who need a drop-in replacement for Markdown.pl.")
8773 (license license:gpl2+)))
8774
8775(define-public ghc-pandoc-citeproc
8776 (package
8777 (name "ghc-pandoc-citeproc")
2da02d09 8778 (version "0.16.2")
dddbc90c
RV
8779 (source
8780 (origin
8781 (method url-fetch)
8782 (uri (string-append "https://hackage.haskell.org/package/"
8783 "pandoc-citeproc/pandoc-citeproc-"
8784 version ".tar.gz"))
8785 (sha256
8786 (base32
2da02d09 8787 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8788 (build-system haskell-build-system)
8789 (arguments
8790 `(#:phases
8791 (modify-phases %standard-phases
8792 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8793 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8794 (add-before 'configure 'patch-tests
8795 (lambda _
8796 (substitute* "tests/test-pandoc-citeproc.hs"
8797 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8798 "let allTests = citeprocTests"))))
8799 ;; Tests need to be run after installation.
8800 (delete 'check)
8801 (add-after 'install 'post-install-check
8802 (assoc-ref %standard-phases 'check)))))
8803 (inputs
8804 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8805 ("ghc-pandoc" ,ghc-pandoc)
8806 ("ghc-tagsoup" ,ghc-tagsoup)
8807 ("ghc-aeson" ,ghc-aeson)
8808 ("ghc-vector" ,ghc-vector)
8809 ("ghc-xml-conduit" ,ghc-xml-conduit)
8810 ("ghc-unordered-containers" ,ghc-unordered-containers)
8811 ("ghc-data-default" ,ghc-data-default)
8812 ("ghc-setenv" ,ghc-setenv)
8813 ("ghc-split" ,ghc-split)
8814 ("ghc-yaml" ,ghc-yaml)
8815 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8816 ("ghc-rfc5051" ,ghc-rfc5051)
8817 ("ghc-syb" ,ghc-syb)
8818 ("ghc-old-locale" ,ghc-old-locale)
8819 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8820 ("ghc-attoparsec" ,ghc-attoparsec)
8821 ("ghc-temporary" ,ghc-temporary)))
8822 (home-page "https://github.com/jgm/pandoc-citeproc")
8823 (synopsis "Library for using pandoc with citeproc")
8824 (description
8825 "The @code{pandoc-citeproc} library exports functions for using the
8826citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8827rendering bibliographic reference citations into a variety of styles using a
8828macro language called @dfn{Citation Style Language} (CSL). This package also
8829contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8830and also has a mode for converting bibliographic databases a YAML format
8831suitable for inclusion in pandoc YAML metadata.")
8832 (license license:bsd-3)))
8833
8834(define-public ghc-pandoc-types
8835 (package
8836 (name "ghc-pandoc-types")
0eaa88c8 8837 (version "1.17.6.1")
dddbc90c
RV
8838 (source (origin
8839 (method url-fetch)
8840 (uri (string-append "https://hackage.haskell.org/package/"
8841 "pandoc-types/pandoc-types-"
8842 version ".tar.gz"))
8843 (sha256
8844 (base32
0eaa88c8 8845 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8846 (build-system haskell-build-system)
8847 (inputs
8848 `(("ghc-syb" ,ghc-syb)
8849 ("ghc-aeson" ,ghc-aeson)
8850 ("ghc-string-qq" ,ghc-string-qq)))
8851 (native-inputs
8852 `(("ghc-quickcheck" ,ghc-quickcheck)
8853 ("ghc-test-framework" ,ghc-test-framework)
8854 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8855 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8856 ("ghc-hunit" ,ghc-hunit)))
8857 (home-page "http://johnmacfarlane.net/pandoc")
8858 (synopsis "Types for representing a structured document")
8859 (description
8860 "This module defines the @code{Pandoc} data structure, which is used by
8861pandoc to represent structured documents. It also provides functions for
8862building up, manipulating and serialising @code{Pandoc} structures.")
8863 (license license:bsd-3)))
8864
8865(define-public ghc-parallel
8866 (package
8867 (name "ghc-parallel")
8868 (version "3.2.2.0")
8869 (outputs '("out" "doc"))
8870 (source
8871 (origin
8872 (method url-fetch)
8873 (uri (string-append
8874 "https://hackage.haskell.org/package/parallel/parallel-"
8875 version
8876 ".tar.gz"))
8877 (sha256
8878 (base32
8879 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8880 (build-system haskell-build-system)
8881 (home-page "https://hackage.haskell.org/package/parallel")
8882 (synopsis "Parallel programming library")
8883 (description
8884 "This package provides a library for parallel programming.")
8885 (license license:bsd-3)))
8886
8887(define-public ghc-parsec-numbers
8888 (package
8889 (name "ghc-parsec-numbers")
8890 (version "0.1.0")
8891 (source
8892 (origin
8893 (method url-fetch)
8894 (uri (string-append "https://hackage.haskell.org/package/"
8895 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8896 (sha256
8897 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8898 (build-system haskell-build-system)
8899 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8900 (synopsis "Utilities for parsing numbers from strings")
8901 (description
8902 "This package provides the number parsers without the need to use a large
8903(and unportable) token parser.")
8904 (license license:bsd-3)))
8905
8906(define-public ghc-parser-combinators
8907 (package
8908 (name "ghc-parser-combinators")
2f173160 8909 (version "1.1.0")
dddbc90c
RV
8910 (source
8911 (origin
8912 (method url-fetch)
8913 (uri (string-append "https://hackage.haskell.org/package/"
8914 "parser-combinators/parser-combinators-"
8915 version ".tar.gz"))
8916 (sha256
8917 (base32
2f173160 8918 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8919 (build-system haskell-build-system)
8920 (home-page "https://github.com/mrkkrp/parser-combinators")
8921 (synopsis "Commonly useful parser combinators")
8922 (description
8923 "This is a lightweight package providing commonly useful parser
8924combinators.")
8925 (license license:bsd-3)))
8926
8927(define-public ghc-parsers
8928 (package
8929 (name "ghc-parsers")
6818f970 8930 (version "0.12.10")
dddbc90c
RV
8931 (source
8932 (origin
8933 (method url-fetch)
8934 (uri (string-append
8935 "https://hackage.haskell.org/package/parsers/parsers-"
8936 version
8937 ".tar.gz"))
8938 (sha256
8939 (base32
6818f970 8940 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8941 (build-system haskell-build-system)
8942 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8943 ; -package attoparsec-0.13.0.1"
8944 (inputs
8945 `(("ghc-base-orphans" ,ghc-base-orphans)
8946 ("ghc-attoparsec" ,ghc-attoparsec)
8947 ("ghc-scientific" ,ghc-scientific)
8948 ("ghc-charset" ,ghc-charset)
8949 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8950 (home-page "https://github.com/ekmett/parsers/")
8951 (synopsis "Parsing combinators")
8952 (description "This library provides convenient combinators for working
8953with and building parsing combinator libraries. Given a few simple instances,
8954you get access to a large number of canned definitions. Instances exist for
8955the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8956@code{Text.Read}.")
8957 (license license:bsd-3)))
8958
8959(define-public ghc-path
8960 (package
8961 (name "ghc-path")
8962 (version "0.6.1")
8963 (source
8964 (origin
8965 (method url-fetch)
8966 (uri (string-append
8967 "https://hackage.haskell.org/package/path/path-"
8968 version
8969 ".tar.gz"))
8970 (sha256
8971 (base32
8972 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8973 (build-system haskell-build-system)
8974 (arguments
8975 ;; TODO: There are some Windows-related tests and modules that need to be
8976 ;; danced around.
8977 `(#:tests? #f
8978 #:cabal-revision
8979 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8980 (inputs
8981 `(("ghc-aeson" ,ghc-aeson)
8982 ("ghc-exceptions" ,ghc-exceptions)
8983 ("ghc-hashable" ,ghc-hashable)))
8984 (native-inputs
8985 `(("ghc-hspec" ,ghc-hspec)
8986 ("ghc-quickcheck" ,ghc-quickcheck)
8987 ("ghc-genvalidity" ,ghc-genvalidity)
8988 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8989 ("ghc-hspec" ,ghc-hspec)
8990 ("ghc-validity" ,ghc-validity)))
8991 (home-page
3ef91e15 8992 "https://hackage.haskell.org/package/path")
dddbc90c
RV
8993 (synopsis "Support for well-typed paths")
8994 (description "This package introduces a type for paths upholding useful
8995invariants.")
8996 (license license:bsd-3)))
8997
8998(define-public ghc-path-io
8999 (package
9000 (name "ghc-path-io")
a06613ea 9001 (version "1.4.2")
dddbc90c
RV
9002 (source
9003 (origin
9004 (method url-fetch)
9005 (uri (string-append
9006 "https://hackage.haskell.org/package/path-io/path-io-"
9007 version
9008 ".tar.gz"))
9009 (sha256
9010 (base32
a06613ea 9011 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9012 (build-system haskell-build-system)
9013 (inputs
9014 `(("ghc-dlist" ,ghc-dlist)
9015 ("ghc-exceptions" ,ghc-exceptions)
9016 ("ghc-path" ,ghc-path)
9017 ("ghc-transformers-base" ,ghc-transformers-base)
9018 ("ghc-unix-compat" ,ghc-unix-compat)
9019 ("ghc-temporary" ,ghc-temporary)))
9020 (native-inputs
9021 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9022 (home-page
9023 "https://github.com/mrkkrp/path-io")
9024 (synopsis "Functions for manipulating well-typed paths")
9025 (description "This package provides an interface to the @code{directory}
9026package for users of @code{path}. It also implements some missing stuff like
9027recursive scanning and copying of directories, working with temporary
9028files/directories, and more.")
9029 (license license:bsd-3)))
9030
9031(define-public ghc-paths
9032 (package
9033 (name "ghc-paths")
9a8adeb1 9034 (version "0.1.0.12")
dddbc90c
RV
9035 (outputs '("out" "doc"))
9036 (source
9037 (origin
9038 (method url-fetch)
9039 (uri (string-append
9040 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9041 version
9042 ".tar.gz"))
9043 (sha256
9044 (base32
9a8adeb1 9045 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9046 (build-system haskell-build-system)
9047 (home-page "https://github.com/simonmar/ghc-paths")
9048 (synopsis
9049 "Knowledge of GHC's installation directories")
9050 (description
9051 "Knowledge of GHC's installation directories.")
9052 (license license:bsd-3)))
9053
9054(define-public ghc-patience
9055 (package
9056 (name "ghc-patience")
484476f3 9057 (version "0.3")
dddbc90c
RV
9058 (source
9059 (origin
9060 (method url-fetch)
9061 (uri (string-append
9062 "https://hackage.haskell.org/package/patience/patience-"
9063 version ".tar.gz"))
9064 (sha256
9065 (base32
484476f3 9066 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9067 (build-system haskell-build-system)
9068 (home-page "https://hackage.haskell.org/package/patience")
9069 (synopsis "Patience diff and longest increasing subsequence")
9070 (description
9071 "This library implements the 'patience diff' algorithm, as well as the
9072patience algorithm for the longest increasing subsequence problem.
9073Patience diff computes the difference between two lists, for example the lines
9074of two versions of a source file. It provides a good balance between
9075performance, nice output for humans, and simplicity of implementation.")
9076 (license license:bsd-3)))
9077
25a221a8
JS
9078(define-public ghc-pattern-arrows
9079 (package
9080 (name "ghc-pattern-arrows")
9081 (version "0.0.2")
9082 (source
9083 (origin
9084 (method url-fetch)
9085 (uri (string-append
9086 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9087 version
9088 ".tar.gz"))
9089 (sha256
9090 (base32
9091 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9092 (build-system haskell-build-system)
9093 (home-page
9094 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9095 (synopsis "Arrows for Pretty Printing")
9096 (description
9097 "A library for generating concise pretty printers based on precedence
9098rules.")
9099 (license license:expat)))
9100
dddbc90c
RV
9101(define-public ghc-pcre-light
9102 (package
9103 (name "ghc-pcre-light")
9104 (version "0.4.0.4")
9105 (source
9106 (origin
9107 (method url-fetch)
9108 (uri (string-append
9109 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9110 version
9111 ".tar.gz"))
9112 (sha256
9113 (base32
9114 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9115 (build-system haskell-build-system)
9116 (inputs
9117 `(("pcre" ,pcre)))
9118 (native-inputs
9119 `(("pkg-config" ,pkg-config)))
9120 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9121 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9122 (description "This package provides a small, efficient, and portable regex
9123library for Perl 5 compatible regular expressions. The PCRE library is a set
9124of functions that implement regular expression pattern matching using the same
9125syntax and semantics as Perl 5.")
9126 (license license:bsd-3)))
9127
9128(define-public ghc-persistent
9129 (package
9130 (name "ghc-persistent")
8c9697a9 9131 (version "2.10.4")
dddbc90c
RV
9132 (source
9133 (origin
9134 (method url-fetch)
8c9697a9
ASM
9135 (uri (string-append
9136 "https://hackage.haskell.org/package/persistent/"
9137 "persistent-" version ".tar.gz"))
dddbc90c
RV
9138 (sha256
9139 (base32
8c9697a9 9140 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9141 (build-system haskell-build-system)
8c9697a9
ASM
9142 (inputs
9143 `(("ghc-aeson" ,ghc-aeson)
9144 ("ghc-attoparsec" ,ghc-attoparsec)
9145 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9146 ("ghc-blaze-html" ,ghc-blaze-html)
9147 ("ghc-conduit" ,ghc-conduit)
9148 ("ghc-fast-logger" ,ghc-fast-logger)
9149 ("ghc-http-api-data" ,ghc-http-api-data)
9150 ("ghc-monad-logger" ,ghc-monad-logger)
9151 ("ghc-path-pieces" ,ghc-path-pieces)
9152 ("ghc-resource-pool" ,ghc-resource-pool)
9153 ("ghc-resourcet" ,ghc-resourcet)
9154 ("ghc-scientific" ,ghc-scientific)
9155 ("ghc-silently" ,ghc-silently)
9156 ("ghc-unliftio-core" ,ghc-unliftio-core)
9157 ("ghc-unliftio" ,ghc-unliftio)
9158 ("ghc-unordered-containers"
9159 ,ghc-unordered-containers)
9160 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9161 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9162 (home-page "https://www.yesodweb.com/book/persistent")
9163 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9164 (description "This Haskell package allows Haskell programs to access data
9165storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9166way.")
9167 (license license:expat)))
9168
9169(define-public ghc-persistent-sqlite
9170 (package
9171 (name "ghc-persistent-sqlite")
78858787 9172 (version "2.10.5.2")
dddbc90c
RV
9173 (source
9174 (origin
9175 (method url-fetch)
78858787
ASM
9176 (uri (string-append
9177 "https://hackage.haskell.org/package/persistent-sqlite/"
9178 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9179 (sha256
9180 (base32
78858787 9181 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9182 (build-system haskell-build-system)
78858787
ASM
9183 (inputs
9184 `(("ghc-persistent" ,ghc-persistent)
9185 ("ghc-aeson" ,ghc-aeson)
9186 ("ghc-conduit" ,ghc-conduit)
9187 ("ghc-microlens-th" ,ghc-microlens-th)
9188 ("ghc-monad-logger" ,ghc-monad-logger)
9189 ("ghc-resource-pool" ,ghc-resource-pool)
9190 ("ghc-resourcet" ,ghc-resourcet)
9191 ("ghc-unliftio-core" ,ghc-unliftio-core)
9192 ("ghc-unordered-containers"
9193 ,ghc-unordered-containers)))
9194 (native-inputs
9195 `(("ghc-persistent-template"
9196 ,ghc-persistent-template)
9197 ("ghc-persistent-test" ,ghc-persistent-test)
9198 ("ghc-exceptions" ,ghc-exceptions)
9199 ("ghc-fast-logger" ,ghc-fast-logger)
9200 ("ghc-hspec" ,ghc-hspec)
9201 ("ghc-hunit" ,ghc-hunit)
9202 ("ghc-quickcheck" ,ghc-quickcheck)
9203 ("ghc-system-fileio" ,ghc-system-fileio)
9204 ("ghc-system-filepath" ,ghc-system-filepath)
9205 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9206 (home-page
9207 "https://www.yesodweb.com/book/persistent")
9208 (synopsis "Backend for the persistent library using sqlite3")
9209 (description "This Haskell package includes a thin sqlite3 wrapper based
9210on the direct-sqlite package, as well as the entire C library, so there are no
9211system dependencies.")
9212 (license license:expat)))
9213
9214(define-public ghc-persistent-template
9215 (package
9216 (name "ghc-persistent-template")
d5378e98 9217 (version "2.8.0")
dddbc90c
RV
9218 (source
9219 (origin
9220 (method url-fetch)
d5378e98
ASM
9221 (uri (string-append
9222 "https://hackage.haskell.org/package/persistent-template/"
9223 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9224 (sha256
9225 (base32
d5378e98 9226 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9227 (build-system haskell-build-system)
d5378e98
ASM
9228 (inputs
9229 `(("ghc-persistent" ,ghc-persistent)
9230 ("ghc-aeson" ,ghc-aeson)
9231 ("ghc-http-api-data" ,ghc-http-api-data)
9232 ("ghc-monad-control" ,ghc-monad-control)
9233 ("ghc-monad-logger" ,ghc-monad-logger)
9234 ("ghc-path-pieces" ,ghc-path-pieces)
9235 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9236 ("ghc-unordered-containers"
9237 ,ghc-unordered-containers)))
9238 (native-inputs
9239 `(("ghc-hspec" ,ghc-hspec)
9240 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9241 (home-page "https://www.yesodweb.com/book/persistent")
9242 (synopsis "Type-safe, non-relational, multi-backend persistence")
9243 (description "This Haskell package provides interfaces and helper
9244functions for the ghc-persistent package.")
9245 (license license:expat)))
9246
ce32f7c7
ASM
9247(define-public ghc-persistent-test
9248 (package
9249 (name "ghc-persistent-test")
9250 (version "2.0.3.1")
9251 (source
9252 (origin
9253 (method url-fetch)
9254 (uri (string-append
9255 "https://hackage.haskell.org/package/persistent-test/"
9256 "persistent-test-" version ".tar.gz"))
9257 (sha256
9258 (base32
9259 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9260 (build-system haskell-build-system)
9261 (inputs
9262 `(("ghc-aeson" ,ghc-aeson)
9263 ("ghc-blaze-html" ,ghc-blaze-html)
9264 ("ghc-conduit" ,ghc-conduit)
9265 ("ghc-monad-control" ,ghc-monad-control)
9266 ("ghc-monad-logger" ,ghc-monad-logger)
9267 ("ghc-path-pieces" ,ghc-path-pieces)
9268 ("ghc-persistent" ,ghc-persistent)
9269 ("ghc-persistent-template" ,ghc-persistent-template)
9270 ("ghc-random" ,ghc-random)
9271 ("ghc-resourcet" ,ghc-resourcet)
9272 ("ghc-transformers-base" ,ghc-transformers-base)
9273 ("ghc-unliftio" ,ghc-unliftio)
9274 ("ghc-unliftio-core" ,ghc-unliftio-core)
9275 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9276 (native-inputs
9277 `(("ghc-quickcheck" ,ghc-quickcheck)
9278 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9279 ("ghc-hspec" ,ghc-hspec)
9280 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9281 ("ghc-hunit" ,ghc-hunit)))
9282 (home-page "https://www.yesodweb.com/book/persistent")
9283 (synopsis "Tests for the Persistent database library")
9284 (description
9285 "This is only for use in developing libraries that should conform to
9286the persistent interface, not for users of the persistent suite of database
9287libraries.")
9288 (license license:expat)))
9289
0fb34235
JS
9290(define-public ghc-pgp-wordlist
9291 (package
9292 (name "ghc-pgp-wordlist")
9293 (version "0.1.0.3")
9294 (source
9295 (origin
9296 (method url-fetch)
9297 (uri (string-append
9298 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9299 version
9300 ".tar.gz"))
9301 (sha256
9302 (base32
9303 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9304 (build-system haskell-build-system)
9305 (inputs
9306 `(("ghc-vector" ,ghc-vector)))
9307 (native-inputs
9308 `(("ghc-hunit" ,ghc-hunit)
9309 ("ghc-tasty" ,ghc-tasty)
9310 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9311 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9312 ("ghc-doctest" ,ghc-doctest)))
9313 (home-page
9314 "https://github.com/quchen/pgp-wordlist")
9315 (synopsis
9316 "Translate between binary data and a human-readable collection of words")
9317 (description
9318 "The PGP Word List consists of two phonetic alphabets, each with one word
9319per possible byte value. A string of bytes is translated with these
9320alphabets, alternating between them at each byte.
9321
9322The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9323spellbind headwaters\", for example.
9324
9325For further information, see
9326@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9327 (license license:bsd-3)))
9328
4639fa32
ASM
9329(define-public ghc-pipes
9330 (package
9331 (name "ghc-pipes")
9332 (version "4.3.13")
9333 (source
9334 (origin
9335 (method url-fetch)
9336 (uri (string-append
9337 "https://hackage.haskell.org/package/pipes/"
9338 "pipes-" version ".tar.gz"))
9339 (sha256
9340 (base32
9341 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9342 (build-system haskell-build-system)
9343 (inputs
9344 `(("ghc-exceptions" ,ghc-exceptions)
9345 ("ghc-mmorph" ,ghc-mmorph)
9346 ("ghc-void" ,ghc-void)
9347 ("ghc-semigroups" ,ghc-semigroups)))
9348 (native-inputs
9349 `(("ghc-quickcheck" ,ghc-quickcheck)
9350 ("ghc-test-framework" ,ghc-test-framework)
9351 ("ghc-test-framework-quickcheck2"
9352 ,ghc-test-framework-quickcheck2)))
9353 (home-page
9354 "https://hackage.haskell.org/package/pipes")
9355 (synopsis "Compositional pipelines")
9356 (description
9357 "A clean and powerful stream processing library that lets you build
9358and connect reusable streaming components. Advantages over traditional streaming
9359libraries:
9360@itemize
9361@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9362and @code{yield}
9363@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9364@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9365dependencies
9366@item Elegant semantics: Use practical category theory
9367@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9368@item Bidirectionality: Implement duplex channels
9369@end itemize")
9370 (license license:bsd-3)))
9371
451775a5
ASM
9372(define-public ghc-pointedlist
9373 (package
9374 (name "ghc-pointedlist")
9375 (version "0.6.1")
9376 (source
9377 (origin
9378 (method url-fetch)
9379 (uri (string-append
9380 "https://hackage.haskell.org/package/pointedlist/"
9381 "pointedlist-" version ".tar.gz"))
9382 (sha256
9383 (base32
9384 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9385 (build-system haskell-build-system)
9386 (home-page
3ef91e15 9387 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9388 (synopsis
9389 "Zipper-like comonad which works as a list, tracking a position")
9390 (description
9391 "A PointedList tracks the position in a non-empty list which works
9392similarly to a zipper. A current item is always required, and therefore
9393the list may never be empty. A circular PointedList wraps around to the
9394other end when progressing past the actual edge.")
9395 (license license:bsd-3)))
9396
dddbc90c
RV
9397(define-public ghc-polyparse
9398 (package
9399 (name "ghc-polyparse")
9822b9ca 9400 (version "1.12.1")
dddbc90c
RV
9401 (source
9402 (origin
9403 (method url-fetch)
9404 (uri (string-append
9405 "https://hackage.haskell.org/package/polyparse/polyparse-"
9406 version
9407 ".tar.gz"))
9408 (sha256
9409 (base32
9822b9ca 9410 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9411 (build-system haskell-build-system)
9412 (home-page
9413 "http://code.haskell.org/~malcolm/polyparse/")
9414 (synopsis
9415 "Alternative parser combinator libraries")
9416 (description
9417 "This package provides a variety of alternative parser combinator
9418libraries, including the original HuttonMeijer set. The Poly sets have
9419features like good error reporting, arbitrary token type, running state, lazy
9420parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9421standard Read class, for better deserialisation of Haskell values from
9422Strings.")
9423 (license license:lgpl2.1)))
9424
9425(define-public ghc-pqueue
9426 (package
9427 (name "ghc-pqueue")
142415b0 9428 (version "1.4.1.2")
dddbc90c
RV
9429 (source
9430 (origin
9431 (method url-fetch)
9432 (uri (string-append "https://hackage.haskell.org/package/"
9433 "pqueue/pqueue-" version ".tar.gz"))
9434 (sha256
9435 (base32
142415b0 9436 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9437 (build-system haskell-build-system)
9438 (native-inputs
9439 `(("ghc-quickcheck" ,ghc-quickcheck)))
9440 (home-page "https://hackage.haskell.org/package/pqueue")
9441 (synopsis "Reliable, persistent, fast priority queues")
9442 (description
9443 "This package provides a fast, reliable priority queue implementation
9444based on a binomial heap.")
9445 (license license:bsd-3)))
9446
9447(define-public ghc-prelude-extras
9448 (package
9449 (name "ghc-prelude-extras")
9450 (version "0.4.0.3")
9451 (source
9452 (origin
9453 (method url-fetch)
9454 (uri (string-append
9455 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9456 version
9457 ".tar.gz"))
9458 (sha256
9459 (base32
9460 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9461 (build-system haskell-build-system)
9462 (home-page "https://github.com/ekmett/prelude-extras")
9463 (synopsis "Higher order versions of Prelude classes")
9464 (description "This library provides higher order versions of
9465@code{Prelude} classes to ease programming with polymorphic recursion and
9466reduce @code{UndecidableInstances}.")
9467 (license license:bsd-3)))
9468
9469(define-public ghc-prettyclass
9470 (package
9471 (name "ghc-prettyclass")
9472 (version "1.0.0.0")
9473 (source
9474 (origin
9475 (method url-fetch)
9476 (uri (string-append "https://hackage.haskell.org/package/"
9477 "prettyclass/prettyclass-" version ".tar.gz"))
9478 (sha256
9479 (base32
9480 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9481 (build-system haskell-build-system)
3ef91e15 9482 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9483 (synopsis "Pretty printing class similar to Show")
9484 (description "This package provides a pretty printing class similar
9485to @code{Show}, based on the HughesPJ pretty printing library. It
9486provides the pretty printing class and instances for the Prelude
9487types.")
9488 (license license:bsd-3)))
9489
2fad2bf7
JS
9490(define-public ghc-prettyprinter
9491 (package
9492 (name "ghc-prettyprinter")
9493 (version "1.2.1.1")
9494 (source
9495 (origin
9496 (method url-fetch)
9497 (uri (string-append
9498 "mirror://hackage/package/prettyprinter/prettyprinter-"
9499 version
9500 ".tar.gz"))
9501 (sha256
9502 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9503 (build-system haskell-build-system)
9504 (native-inputs
9505 `(("ghc-doctest" ,ghc-doctest)
9506 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9507 ("ghc-tasty" ,ghc-tasty)
9508 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9509 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9510 (home-page "https://github.com/quchen/prettyprinter")
9511 (synopsis
9512 "Modern, easy to use, well-documented, extensible pretty-printer")
9513 (description
9514 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9515ANSI terminal backend exists, HTML backend is trivial to implement, no name
9516clashes, @code{Text}-based, extensible.")
9517 (license license:bsd-2)))
9518
dddbc90c
RV
9519(define-public ghc-pretty-hex
9520 (package
9521 (name "ghc-pretty-hex")
9522 (version "1.0")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append "https://hackage.haskell.org/package/"
9527 "pretty-hex-" version "/"
9528 "pretty-hex-" version ".tar.gz"))
9529 (sha256
9530 (base32
9531 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9532 (build-system haskell-build-system)
9533 (home-page "https://github.com/GaloisInc/hexdump")
9534 (synopsis "Haskell library for hex dumps of ByteStrings")
9535 (description "This Haskell library generates pretty hex dumps of
9536ByteStrings in the style of other common *nix hex dump tools.")
9537 (license license:bsd-3)))
9538
9539(define-public ghc-pretty-show
9540 (package
9541 (name "ghc-pretty-show")
7683a084 9542 (version "1.9.5")
dddbc90c
RV
9543 (source
9544 (origin
9545 (method url-fetch)
9546 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9547 "pretty-show-" version ".tar.gz"))
9548 (sha256
9549 (base32
7683a084 9550 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9551 (build-system haskell-build-system)
9552 (inputs
9553 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9554 ("ghc-happy" ,ghc-happy)))
9555 (home-page "http://wiki.github.com/yav/pretty-show")
9556 (synopsis "Tools for working with derived `Show` instances")
9557 (description
9558 "This package provides a library and an executable for working with
9559derived @code{Show} instances. By using the library, derived @code{Show}
9560instances can be parsed into a generic data structure. The @code{ppsh} tool
9561uses the library to produce human-readable versions of @code{Show} instances,
9562which can be quite handy for debugging Haskell programs. We can also render
9563complex generic values into an interactive Html page, for easier
9564examination.")
9565 (license license:expat)))
9566
f011e3d6
JS
9567(define-public ghc-pretty-simple
9568 (package
9569 (name "ghc-pretty-simple")
9570 (version "2.2.0.1")
9571 (source
9572 (origin
9573 (method url-fetch)
9574 (uri (string-append
9575 "mirror://hackage/package/pretty-simple/"
9576 "pretty-simple-" version ".tar.gz"))
9577 (sha256
9578 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9579 (build-system haskell-build-system)
9580 (inputs
9581 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9582 ("ghc-glob" ,ghc-glob)
9583 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9584 ("ghc-aeson" ,ghc-aeson)))
9585 (native-inputs
9586 `(("ghc-doctest" ,ghc-doctest)))
9587 (home-page "https://github.com/cdepillabout/pretty-simple")
9588 (synopsis "Pretty printer for data types with a 'Show' instance")
9589 (description
9590 "Pretty-simple is a pretty printer for Haskell data types that have a
9591Show instance.")
9592 (license license:bsd-3)))
9593
dddbc90c
RV
9594(define-public ghc-primitive
9595 (package
9596 (name "ghc-primitive")
9597 (version "0.6.4.0")
9598 (outputs '("out" "doc"))
9599 (source
9600 (origin
9601 (method url-fetch)
9602 (uri (string-append
9603 "https://hackage.haskell.org/package/primitive/primitive-"
9604 version
9605 ".tar.gz"))
9606 (sha256
9607 (base32
9608 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9609 (build-system haskell-build-system)
6cf0daa4
TS
9610 (arguments
9611 `(#:cabal-revision
9612 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9613 (home-page
9614 "https://github.com/haskell/primitive")
9615 (synopsis "Primitive memory-related operations")
9616 (description
9617 "This package provides various primitive memory-related operations.")
9618 (license license:bsd-3)))
9619
21f5b9a9
JS
9620(define-public ghc-process-extras
9621 (package
9622 (name "ghc-process-extras")
9623 (version "0.7.4")
9624 (source
9625 (origin
9626 (method url-fetch)
9627 (uri
9628 (string-append
9629 "https://hackage.haskell.org/package/process-extras/"
9630 "process-extras-" version ".tar.gz"))
9631 (sha256
9632 (base32
9633 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9634 (build-system haskell-build-system)
9635 (inputs
9636 `(("ghc-data-default" ,ghc-data-default)
9637 ("ghc-generic-deriving" ,ghc-generic-deriving)
9638 ("ghc-hunit" ,ghc-hunit)
9639 ("ghc-listlike" ,ghc-listlike)))
9640 (home-page "https://github.com/seereason/process-extras")
9641 (synopsis "Extra tools for managing processes")
f74b6983 9642 (description "This package extends
21f5b9a9
JS
9643@url{http://hackage.haskell.org/package/process}. It allows you to read
9644process input and output as ByteStrings or Text, or write your own
9645ProcessOutput instance. It also provides lazy process input and output,
9646and a ProcessMaker class for more flexibility in the process creation
9647API.")
9648 (license license:expat)))
9649
dddbc90c
RV
9650(define-public ghc-profunctors
9651 (package
9652 (name "ghc-profunctors")
899b5297 9653 (version "5.3")
dddbc90c
RV
9654 (source
9655 (origin
9656 (method url-fetch)
9657 (uri (string-append
9658 "https://hackage.haskell.org/package/profunctors/profunctors-"
9659 version
9660 ".tar.gz"))
9661 (sha256
9662 (base32
899b5297 9663 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9664 (build-system haskell-build-system)
dddbc90c
RV
9665 (inputs
9666 `(("ghc-base-orphans" ,ghc-base-orphans)
9667 ("ghc-bifunctors" ,ghc-bifunctors)
9668 ("ghc-comonad" ,ghc-comonad)
9669 ("ghc-contravariant" ,ghc-contravariant)
9670 ("ghc-distributive" ,ghc-distributive)
9671 ("ghc-semigroups" ,ghc-semigroups)
9672 ("ghc-tagged" ,ghc-tagged)))
9673 (home-page "https://github.com/ekmett/profunctors/")
9674 (synopsis "Profunctors for Haskell")
9675 (description "This library provides profunctors for Haskell.")
9676 (license license:bsd-3)))
9677
fbe32d46
ASM
9678(define-public ghc-project-template
9679 (package
9680 (name "ghc-project-template")
9681 (version "0.2.0.1")
9682 (source
9683 (origin
9684 (method url-fetch)
9685 (uri (string-append
9686 "https://hackage.haskell.org/package/project-template/project-template-"
9687 version ".tar.gz"))
9688 (sha256
9689 (base32
9690 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9691 (build-system haskell-build-system)
9692 (inputs
9693 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9694 ("ghc-conduit" ,ghc-conduit)
9695 ("ghc-conduit-extra" ,ghc-conduit-extra)
9696 ("ghc-resourcet" ,ghc-resourcet)))
9697 (native-inputs
9698 `(("ghc-hspec" ,ghc-hspec)
9699 ("hspec-discover" ,hspec-discover)
9700 ("ghc-quickcheck" ,ghc-quickcheck)))
9701 (arguments
9702 `(#:cabal-revision
9703 ("1"
9704 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9705 (home-page "https://github.com/fpco/haskell-ide")
9706 (synopsis "Specify Haskell project templates and generate files")
9707 (description
9708 "Haskell library for both generating and consuming project templates.
9709
9710ost IDEs provide the concept of a project template: instead of writing all
9711of the code for a project from scratch, you select a template, answer a few
9712questions, and a bunch of files are automatically generated.
9713
9714project-template tries to provide a canonical Haskell library for implementing
9715the ideal templating system.")
9716 (license license:bsd-3)))
9717
8a6e745d
JS
9718(define-public ghc-protolude
9719 (package
9720 (name "ghc-protolude")
9721 (version "0.2.3")
9722 (source
9723 (origin
9724 (method url-fetch)
9725 (uri (string-append
9726 "mirror://hackage/package/protolude/protolude-"
9727 version
9728 ".tar.gz"))
9729 (sha256
9730 (base32
9731 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9732 (build-system haskell-build-system)
9733 (inputs
9734 `(("ghc-async" ,ghc-async)
9735 ("ghc-hashable" ,ghc-hashable)
9736 ("ghc-mtl-compat" ,ghc-mtl-compat)
9737 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9738 (home-page "https://github.com/protolude/protolude")
9739 (synopsis "Sensible set of defaults for writing custom Preludes")
9740 (description
9741 "Protolude gives you sensible defaults for writing custom Preludes to
9742replace the standard one provided by GHC.")
9743 (license license:expat)))
9744
dddbc90c
RV
9745(define-public ghc-psqueues
9746 (package
9747 (name "ghc-psqueues")
5d133942 9748 (version "0.2.7.2")
dddbc90c
RV
9749 (source
9750 (origin
9751 (method url-fetch)
9752 (uri (string-append "https://hackage.haskell.org/package/"
9753 "psqueues-" version "/"
9754 "psqueues-" version ".tar.gz"))
9755 (sha256
9756 (base32
5d133942 9757 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9758 (build-system haskell-build-system)
9759 (inputs
9760 `(("ghc-hashable" ,ghc-hashable)))
9761 (native-inputs
9762 `(("ghc-hunit" ,ghc-hunit)
9763 ("ghc-quickcheck" ,ghc-quickcheck)
9764 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9765 ("ghc-tasty" ,ghc-tasty)
9766 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9767 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9768 (home-page "https://github.com/jaspervdj/psqueues")
9769 (synopsis "Pure priority search queues")
9770 (description "The psqueues package provides
9771@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9772three different flavors:
9773
9774@itemize
9775@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9776fast insertion, deletion and lookup. This implementation is based on Ralf
9777Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9778Implementation Technique for Priority Search Queues}.
9779
9780Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9781PSQueue} library, although it is considerably faster and provides a slightly
9782different API.
9783
9784@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9785key type to @code{Int} and uses a
9786@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9787with an additional min-heap property.
9788
9789@item @code{HashPSQ k p v} is a fairly straightforward extension
9790of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9791@code{IntPSQ}. If there are any hash collisions, it uses an
9792@code{OrdPSQ} to resolve those. The performance of this implementation
9793is comparable to that of @code{IntPSQ}, but it is more widely
9794applicable since the keys are not restricted to @code{Int},
9795but rather to any @code{Hashable} datatype.
9796@end itemize
9797
9798Each of the three implementations provides the same API, so they can
9799be used interchangeably.
9800
9801Typical applications of Priority Search Queues include:
9802
9803@itemize
9804@item Caches, and more specifically LRU Caches;
9805@item Schedulers;
9806@item Pathfinding algorithms, such as Dijkstra's and A*.
9807@end itemize")
9808 (license license:bsd-3)))
b1dbc9f5
ASM
9809
9810(define-public ghc-pwstore-fast
9811 (package
9812 (name "ghc-pwstore-fast")
9813 (version "2.4.4")
9814 (source
9815 (origin
9816 (method url-fetch)
9817 (uri (string-append
9818 "https://hackage.haskell.org/package/pwstore-fast/"
9819 "pwstore-fast-" version ".tar.gz"))
9820 (sha256
9821 (base32
9822 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9823 (build-system haskell-build-system)
9824 (inputs
9825 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9826 ("ghc-cryptohash" ,ghc-cryptohash)
9827 ("ghc-random" ,ghc-random)
9828 ("ghc-byteable" ,ghc-byteable)))
9829 (home-page "https://github.com/PeterScott/pwstore")
9830 (synopsis "Secure password storage")
9831 (description
9832 "To store passwords securely, they should be salted, then hashed with
9833a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9834details. It uses the cryptohash package for speed; if you need a pure
9835Haskell library, pwstore-purehaskell has the exact same API, but uses only
9836pure Haskell. It is about 25 times slower than this package, but still quite
9837usable.")
9838 (license license:bsd-3)))
dddbc90c
RV
9839
9840(define-public ghc-random
9841 (package
9842 (name "ghc-random")
9843 (version "1.1")
9844 (outputs '("out" "doc"))
9845 (source
9846 (origin
9847 (method url-fetch)
9848 (uri (string-append
9849 "https://hackage.haskell.org/package/random/random-"
9850 version
9851 ".tar.gz"))
9852 (sha256
9853 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9854 (build-system haskell-build-system)
9855 (home-page "https://hackage.haskell.org/package/random")
9856 (synopsis "Random number library")
9857 (description "This package provides a basic random number generation
9858library, including the ability to split random number generators.")
9859 (license license:bsd-3)))
9860
9861(define-public ghc-raw-strings-qq
9862 (package
9863 (name "ghc-raw-strings-qq")
9864 (version "1.1")
9865 (source
9866 (origin
9867 (method url-fetch)
9868 (uri (string-append "https://hackage.haskell.org/package/"
9869 "raw-strings-qq/raw-strings-qq-"
9870 version ".tar.gz"))
9871 (sha256
9872 (base32
9873 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9874 (build-system haskell-build-system)
9875 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9876 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9877 (synopsis "Raw string literals for Haskell")
9878 (description
9879 "This package provides a quasiquoter for raw string literals, i.e. string
9880literals that don't recognise the standard escape sequences. Basically, they
9881make your code more readable by freeing you from the responsibility to escape
9882backslashes. They are useful when working with regular expressions,
9883DOS/Windows paths and markup languages (such as XML).")
9884 (license license:bsd-3)))
9885
9886(define-public ghc-readable
9887 (package
9888 (name "ghc-readable")
9889 (version "0.3.1")
9890 (source
9891 (origin
9892 (method url-fetch)
9893 (uri (string-append "https://hackage.haskell.org/package/"
9894 "readable/readable-" version ".tar.gz"))
9895 (sha256
9896 (base32
9897 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9898 (build-system haskell-build-system)
9899 (home-page "https://github.com/mightybyte/readable")
9900 (synopsis "Type class for reading from Text and ByteString")
9901 (description "This package provides a @code{Readable} type class for
9902reading data types from @code{ByteString} and @code{Text}. It also
9903includes efficient implementations for common data types.")
9904 (license license:bsd-3)))
9905
9906(define-public ghc-rebase
9907 (package
9908 (name "ghc-rebase")
8d2ae3fe 9909 (version "1.3.1.1")
dddbc90c
RV
9910 (source
9911 (origin
9912 (method url-fetch)
9913 (uri (string-append "https://hackage.haskell.org/package/"
9914 "rebase-" version "/"
9915 "rebase-" version ".tar.gz"))
9916 (sha256
9917 (base32
8d2ae3fe 9918 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9919 (build-system haskell-build-system)
9920 (inputs `(("ghc-hashable" ,ghc-hashable)
9921 ("ghc-vector" ,ghc-vector)
9922 ("ghc-unordered-containers" ,ghc-unordered-containers)
9923 ("ghc-scientific" ,ghc-scientific)
9924 ("ghc-uuid" ,ghc-uuid)
9925 ("ghc-dlist" ,ghc-dlist)
9926 ("ghc-void" ,ghc-void)
9927 ("ghc-bifunctors" ,ghc-bifunctors)
9928 ("ghc-profunctors" ,ghc-profunctors)
9929 ("ghc-contravariant" ,ghc-contravariant)
9930 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9931 ("ghc-semigroups" ,ghc-semigroups)
9932 ("ghc-either" ,ghc-either)
9933 ("ghc-fail" ,ghc-fail)
9934 ("ghc-base-prelude" ,ghc-base-prelude)))
9935 (home-page "https://github.com/nikita-volkov/rebase")
9936 (synopsis "Progressive alternative to the base package
9937for Haskell")
9938 (description "This Haskell package is intended for those who are
9939tired of keeping long lists of dependencies to the same essential libraries
9940in each package as well as the endless imports of the same APIs all over again.
9941
9942It also supports the modern tendencies in the language.
9943
9944To solve those problems this package does the following:
9945
9946@itemize
9947@item Reexport the original APIs under the @code{Rebase} namespace.
9948
9949@item Export all the possible non-conflicting symbols from the
9950@code{Rebase.Prelude} module.
9951
9952@item Give priority to the modern practices in the conflicting cases.
9953@end itemize
9954
9955The policy behind the package is only to reexport the non-ambiguous and
9956non-controversial APIs, which the community has obviously settled on.
9957The package is intended to rapidly evolve with the contribution from
9958the community, with the missing features being added with pull-requests.")
9959 (license license:expat)))
9960
9961(define-public ghc-reducers
9962 (package
9963 (name "ghc-reducers")
9964 (version "3.12.3")
9965 (source
9966 (origin
9967 (method url-fetch)
9968 (uri (string-append
9969 "https://hackage.haskell.org/package/reducers/reducers-"
9970 version
9971 ".tar.gz"))
9972 (sha256
9973 (base32
9974 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9975 (build-system haskell-build-system)
9976 (inputs
9977 `(("ghc-fingertree" ,ghc-fingertree)
9978 ("ghc-hashable" ,ghc-hashable)
9979 ("ghc-unordered-containers" ,ghc-unordered-containers)
9980 ("ghc-semigroupoids" ,ghc-semigroupoids)
9981 ("ghc-semigroups" ,ghc-semigroups)))
9982 (home-page "https://github.com/ekmett/reducers/")
9983 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9984 (description "This library provides various semigroups, specialized
9985containers and a general map/reduce framework for Haskell.")
9986 (license license:bsd-3)))
9987
9988(define-public ghc-refact
9989 (package
9990 (name "ghc-refact")
9991 (version "0.3.0.2")
9992 (source
9993 (origin
9994 (method url-fetch)
9995 (uri (string-append "https://hackage.haskell.org/package/"
9996 "refact/refact-"
9997 version ".tar.gz"))
9998 (sha256
9999 (base32
10000 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10001 (build-system haskell-build-system)
3ef91e15 10002 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10003 (synopsis "Specify refactorings to perform with apply-refact")
10004 (description
10005 "This library provides a datatype which can be interpreted by
10006@code{apply-refact}. It exists as a separate library so that applications can
10007specify refactorings without depending on GHC.")
10008 (license license:bsd-3)))
10009
10010(define-public ghc-reflection
10011 (package
10012 (name "ghc-reflection")
d215f1cc 10013 (version "2.1.5")
dddbc90c
RV
10014 (source
10015 (origin
10016 (method url-fetch)
10017 (uri (string-append
10018 "https://hackage.haskell.org/package/reflection/reflection-"
10019 version
10020 ".tar.gz"))
10021 (sha256
10022 (base32
d215f1cc 10023 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10024 (build-system haskell-build-system)
10025 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10026 (native-inputs
10027 `(("ghc-hspec" ,ghc-hspec)
10028 ("ghc-quickcheck" ,ghc-quickcheck)
10029 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10030 (home-page "https://github.com/ekmett/reflection")
10031 (synopsis "Reify arbitrary terms into types that can be reflected back
10032into terms")
10033 (description "This package addresses the 'configuration problem' which is
10034propagating configurations that are available at run-time, allowing multiple
10035configurations to coexist without resorting to mutable global variables or
10036@code{System.IO.Unsafe.unsafePerformIO}.")
10037 (license license:bsd-3)))
10038
10039(define-public ghc-regex
10040 (package
10041 (name "ghc-regex")
b9a5e634 10042 (version "1.0.2.0")
dddbc90c
RV
10043 (source
10044 (origin
10045 (method url-fetch)
10046 (uri (string-append "https://hackage.haskell.org/package/regex/"
10047 "regex-" version ".tar.gz"))
10048 (sha256
10049 (base32
b9a5e634 10050 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10051 (build-system haskell-build-system)
10052 (arguments
10053 `(#:phases
10054 (modify-phases %standard-phases
10055 (add-after 'unpack 'relax-dependencies
10056 (lambda _
10057 (substitute* "regex.cabal"
10058 (("base-compat.*>=.*0.6.*")
10059 "base-compat >= 0.6\n")
10060 (("template-haskell.*>=.*2.7.*")
10061 "template-haskell >= 2.7\n"))
10062 #t)))))
10063 (inputs
10064 `(("ghc-base-compat" ,ghc-base-compat)
10065 ("ghc-hashable" ,ghc-hashable)
10066 ("ghc-regex-base" ,ghc-regex-base)
10067 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10068 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10069 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10070 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10071 ("ghc-unordered-containers" ,ghc-unordered-containers)
10072 ("ghc-utf8-string" ,ghc-utf8-string)))
10073 (home-page "http://regex.uk")
10074 (synopsis "Toolkit for regex-base")
10075 (description
10076 "This package provides a regular expression toolkit for @code{regex-base}
10077with compile-time checking of regular expression syntax, data types for
10078matches and captures, a text replacement toolkit, portable options, high-level
10079AWK-like tools for building text processing apps, regular expression macros
10080with parsers and test bench, comprehensive documentation, tutorials and
10081copious examples.")
10082 (license license:bsd-3)))
10083
10084(define-public ghc-regex-applicative
10085 (package
10086 (name "ghc-regex-applicative")
30f60e42 10087 (version "0.3.3.1")
dddbc90c
RV
10088 (source
10089 (origin
10090 (method url-fetch)
10091 (uri (string-append
10092 "https://hackage.haskell.org/package/regex-applicative/"
10093 "regex-applicative-" version ".tar.gz"))
10094 (sha256
10095 (base32
30f60e42 10096 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10097 (build-system haskell-build-system)
10098 (inputs
10099 `(("ghc-smallcheck" ,ghc-smallcheck)
10100 ("ghc-tasty" ,ghc-tasty)
10101 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10102 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10103 (home-page "https://github.com/feuerbach/regex-applicative")
10104 (synopsis "Regex-based parsing with applicative interface")
10105 (description
10106 "@code{regex-applicative} is a Haskell library for parsing using
10107regular expressions. Parsers can be built using Applicative interface.")
10108 (license license:expat)))
10109
10110(define-public ghc-regex-base
10111 (package
10112 (name "ghc-regex-base")
10113 (version "0.93.2")
10114 (source
10115 (origin
10116 (method url-fetch)
10117 (uri (string-append
10118 "https://hackage.haskell.org/package/regex-base/regex-base-"
10119 version
10120 ".tar.gz"))
10121 (sha256
10122 (base32
10123 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10124 (build-system haskell-build-system)
10125 (home-page
10126 "https://sourceforge.net/projects/lazy-regex")
10127 (synopsis "Replaces/Enhances Text.Regex")
10128 (description "@code{Text.Regex.Base} provides the interface API for
10129regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10130 (license license:bsd-3)))
10131
10132(define-public ghc-regex-compat
10133 (package
10134 (name "ghc-regex-compat")
10135 (version "0.95.1")
10136 (source
10137 (origin
10138 (method url-fetch)
10139 (uri (string-append
10140 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10141 version
10142 ".tar.gz"))
10143 (sha256
10144 (base32
10145 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10146 (build-system haskell-build-system)
10147 (inputs
10148 `(("ghc-regex-base" ,ghc-regex-base)
10149 ("ghc-regex-posix" ,ghc-regex-posix)))
10150 (home-page "https://sourceforge.net/projects/lazy-regex")
10151 (synopsis "Replaces/Enhances Text.Regex")
10152 (description "This library provides one module layer over
10153@code{regex-posix} to replace @code{Text.Regex}.")
10154 (license license:bsd-3)))
10155
10156(define-public ghc-regex-compat-tdfa
10157 (package
10158 (name "ghc-regex-compat-tdfa")
10159 (version "0.95.1.4")
10160 (source
10161 (origin
10162 (method url-fetch)
10163 (uri (string-append
10164 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10165 version ".tar.gz"))
10166 (sha256
10167 (base32
10168 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10169 (build-system haskell-build-system)
10170 (inputs
10171 `(("ghc-regex-base" ,ghc-regex-base)
10172 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10173 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10174 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10175 (description
10176 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10177@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10178This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10179this problem.")
10180 (license license:bsd-3)))
10181
10182(define-public ghc-regex-pcre-builtin
10183 (package
10184 (name "ghc-regex-pcre-builtin")
ee946143 10185 (version "0.94.5.8.8.35")
dddbc90c
RV
10186 (source (origin
10187 (method url-fetch)
10188 (uri (string-append "https://hackage.haskell.org/package/"
10189 "regex-pcre-builtin/regex-pcre-builtin-"
10190 version ".tar.gz"))
10191 (sha256
10192 (base32
ee946143 10193 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10194 (build-system haskell-build-system)
10195 (inputs
10196 `(("ghc-regex-base" ,ghc-regex-base)))
10197 (home-page "https://hackage.haskell.org/package/regex-pcre")
10198 (synopsis "Enhancement of the builtin Text.Regex library")
10199 (description
10200 "This package is an enhancement of the @code{Text.Regex} library,
10201providing the PCRE backend to accompany regex-base, with bundled code from
10202@url{https://www.pcre.org}.")
10203 (license license:bsd-3)))
10204
10205(define-public ghc-regex-posix
10206 (package
10207 (name "ghc-regex-posix")
10208 (version "0.95.2")
10209 (source
10210 (origin
10211 (method url-fetch)
10212 (uri (string-append
10213 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10214 version
10215 ".tar.gz"))
10216 (sha256
10217 (base32
10218 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10219 (build-system haskell-build-system)
10220 (inputs
10221 `(("ghc-regex-base" ,ghc-regex-base)))
10222 (home-page "https://sourceforge.net/projects/lazy-regex")
10223 (synopsis "POSIX regular expressions for Haskell")
10224 (description "This library provides the POSIX regex backend used by the
10225Haskell library @code{regex-base}.")
10226 (license license:bsd-3)))
10227
10228(define-public ghc-regex-tdfa
10229 (package
10230 (name "ghc-regex-tdfa")
ce684db0 10231 (version "1.2.3.2")
dddbc90c
RV
10232 (source
10233 (origin
10234 (method url-fetch)
10235 (uri (string-append
10236 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10237 version ".tar.gz"))
10238 (sha256
10239 (base32
ce684db0 10240 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10241 (build-system haskell-build-system)
10242 (inputs
10243 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10244 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10245 (synopsis "POSIX extended regular expressions in Haskell.")
10246 (description
10247 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10248extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10249inspired by libtre.")
10250 (license license:bsd-3)))
10251
10252(define-public ghc-regex-tdfa-text
10253 (package
10254 (name "ghc-regex-tdfa-text")
10255 (version "1.0.0.3")
10256 (source
10257 (origin
10258 (method url-fetch)
10259 (uri (string-append
10260 "https://hackage.haskell.org/package/regex-tdfa-text/"
10261 "regex-tdfa-text-" version ".tar.gz"))
10262 (sha256
10263 (base32
10264 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10265 (build-system haskell-build-system)
10266 (inputs
10267 `(("ghc-regex-base" ,ghc-regex-base)
10268 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10269 (home-page
3ef91e15 10270 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10271 (synopsis "Text interface for regex-tdfa")
10272 (description
10273 "This provides an extra text interface for regex-tdfa.")
10274 (license license:bsd-3)))
10275
798a2df4
JS
10276(define-public ghc-repline
10277 (package
10278 (name "ghc-repline")
10279 (version "0.2.0.0")
10280 (source
10281 (origin
10282 (method url-fetch)
10283 (uri (string-append
10284 "mirror://hackage/package/repline/repline-"
10285 version
10286 ".tar.gz"))
10287 (sha256
10288 (base32
10289 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10290 (build-system haskell-build-system)
10291 (home-page "https://github.com/sdiehl/repline")
10292 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10293 (description
10294 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10295normal mtl transformers.")
10296 (license license:expat)))
10297
6c0858dd
JS
10298(define-public ghc-repline-0.3
10299 (package
10300 (inherit ghc-repline)
10301 (version "0.3.0.0")
10302 (source
10303 (origin
10304 (method url-fetch)
10305 (uri (string-append
10306 "mirror://hackage/package/repline/repline-"
10307 version
10308 ".tar.gz"))
10309 (sha256
10310 (base32
10311 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10312 (inputs
10313 `(("ghc-exceptions" ,ghc-exceptions)
10314 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10315
dddbc90c
RV
10316(define-public ghc-rerebase
10317 (package
10318 (name "ghc-rerebase")
cdec7b8c 10319 (version "1.3.1.1")
dddbc90c
RV
10320 (source
10321 (origin
10322 (method url-fetch)
10323 (uri (string-append
10324 "https://hackage.haskell.org/package/rerebase/rerebase-"
10325 version ".tar.gz"))
10326 (sha256
10327 (base32
cdec7b8c 10328 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10329 (build-system haskell-build-system)
10330 (inputs
10331 `(("ghc-rebase" ,ghc-rebase)))
10332 (home-page "https://github.com/nikita-volkov/rerebase")
10333 (synopsis "Reexports from ``base'' with many other standard libraries")
10334 (description "A rich drop-in replacement for @code{base}. For details and
10335documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10336the project's home page}.")
10337 (license license:expat)))
10338
10339(define-public ghc-resolv
10340 (package
10341 (name "ghc-resolv")
87309478 10342 (version "0.1.1.2")
dddbc90c
RV
10343 (source
10344 (origin
10345 (method url-fetch)
10346 (uri (string-append
10347 "https://hackage.haskell.org/package/resolv/resolv-"
10348 version ".tar.gz"))
10349 (sha256
10350 (base32
87309478 10351 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10352 (build-system haskell-build-system)
10353 (arguments
87309478
TS
10354 `(#:phases
10355 (modify-phases %standard-phases
10356 (add-before 'configure 'update-constraints
10357 (lambda _
10358 (substitute* "resolv.cabal"
10359 (("tasty >= 1\\.1 && < 1\\.2")
10360 "tasty >= 1.1 && < 1.3"))
10361 #t)))))
dddbc90c
RV
10362 (inputs
10363 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10364 (native-inputs
10365 `(("ghc-tasty" ,ghc-tasty)
10366 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10367 (home-page "https://github.com/haskell/hackage-security")
10368 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10369 (description "This package implements an API for accessing the
10370@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10371resolver service via the standard @code{libresolv} system library (whose
10372API is often available directly via the standard @code{libc} C library) on
10373Unix systems.")
10374 (license license:gpl3)))
10375
10376(define-public ghc-resource-pool
10377 (package
10378 (name "ghc-resource-pool")
10379 (version "0.2.3.2")
10380 (source
10381 (origin
10382 (method url-fetch)
10383 (uri (string-append "https://hackage.haskell.org/package/"
10384 "resource-pool-" version "/"
10385 "resource-pool-" version ".tar.gz"))
10386 (sha256
10387 (base32
10388 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10389 (build-system haskell-build-system)
10390 (inputs `(("ghc-hashable" ,ghc-hashable)
10391 ("ghc-monad-control" ,ghc-monad-control)
10392 ("ghc-transformers-base" ,ghc-transformers-base)
10393 ("ghc-vector" ,ghc-vector)))
10394 (home-page "https://github.com/bos/pool")
10395 (synopsis "Striped resource pooling implementation in Haskell")
10396 (description "This Haskell package provides striped pooling abstraction
10397for managing flexibly-sized collections of resources such as database
10398connections.")
10399 (license license:bsd-3)))
10400
10401(define-public ghc-resourcet
10402 (package
10403 (name "ghc-resourcet")
9ac341ac 10404 (version "1.2.2")
dddbc90c
RV
10405 (source
10406 (origin
10407 (method url-fetch)
10408 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10409 "resourcet-" version ".tar.gz"))
10410 (sha256
10411 (base32
9ac341ac 10412 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10413 (build-system haskell-build-system)
10414 (inputs
10415 `(("ghc-transformers-base" ,ghc-transformers-base)
10416 ("ghc-monad-control" ,ghc-monad-control)
10417 ("ghc-transformers-compat" ,ghc-transformers-compat)
10418 ("ghc-mmorph" ,ghc-mmorph)
10419 ("ghc-exceptions" ,ghc-exceptions)
10420 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10421 (native-inputs
10422 `(("ghc-lifted-base" ,ghc-lifted-base)
10423 ("ghc-hspec" ,ghc-hspec)))
10424 (home-page "https://github.com/snoyberg/conduit")
10425 (synopsis "Deterministic allocation and freeing of scarce resources")
10426 (description "ResourceT is a monad transformer which creates a region of
10427code where you can safely allocate resources.")
10428 (license license:bsd-3)))
10429
b9debc37
TS
10430(define-public ghc-retry
10431 (package
10432 (name "ghc-retry")
10433 (version "0.8.1.0")
10434 (source
10435 (origin
10436 (method url-fetch)
10437 (uri (string-append "https://hackage.haskell.org/package/"
10438 "retry/retry-" version ".tar.gz"))
10439 (sha256
10440 (base32
10441 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10442 (build-system haskell-build-system)
10443 (inputs
10444 `(("ghc-exceptions" ,ghc-exceptions)
10445 ("ghc-random" ,ghc-random)))
10446 (native-inputs
10447 `(("ghc-hunit" ,ghc-hunit)
10448 ("ghc-tasty" ,ghc-tasty)
10449 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10450 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10451 ("ghc-hedgehog" ,ghc-hedgehog)))
10452 (home-page "http://github.com/Soostone/retry")
10453 (synopsis "Retry combinators for monadic actions that may fail")
10454 (description "This package exposes combinators that can wrap
10455arbitrary monadic actions. They run the action and potentially retry
10456running it with some configurable delay for a configurable number of
10457times. The purpose is to make it easier to work with IO and especially
10458network IO actions that often experience temporary failure and warrant
10459retrying of the original action. For example, a database query may time
10460out for a while, in which case we should hang back for a bit and retry
10461the query instead of simply raising an exception.")
10462 (license license:bsd-3)))
10463
dddbc90c
RV
10464(define-public ghc-rfc5051
10465 (package
10466 (name "ghc-rfc5051")
ec42ab7c 10467 (version "0.1.0.4")
dddbc90c
RV
10468 (source
10469 (origin
10470 (method url-fetch)
10471 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10472 "rfc5051-" version ".tar.gz"))
10473 (sha256
10474 (base32
ec42ab7c 10475 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10476 (build-system haskell-build-system)
10477 (home-page "https://hackage.haskell.org/package/rfc5051")
10478 (synopsis "Simple unicode collation as per RFC5051")
10479 (description
10480 "This library implements @code{unicode-casemap}, the simple, non
10481locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10482unicode collation can be done using @code{text-icu}, but that is a big
10483dependency that depends on a large C library, and @code{rfc5051} might be
10484better for some purposes.")
10485 (license license:bsd-3)))
10486
10487(define-public ghc-rio
10488 (package
10489 (name "ghc-rio")
8bda2fa7 10490 (version "0.1.12.0")
dddbc90c
RV
10491 (source
10492 (origin
10493 (method url-fetch)
10494 (uri (string-append
10495 "https://hackage.haskell.org/package/rio/rio-"
10496 version ".tar.gz"))
10497 (sha256
10498 (base32
8bda2fa7 10499 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10500 (build-system haskell-build-system)
10501 (inputs
10502 `(("ghc-exceptions" ,ghc-exceptions)
10503 ("ghc-hashable" ,ghc-hashable)
10504 ("ghc-microlens" ,ghc-microlens)
10505 ("ghc-primitive" ,ghc-primitive)
10506 ("ghc-typed-process" ,ghc-typed-process)
10507 ("ghc-unliftio" ,ghc-unliftio)
10508 ("ghc-unordered-containers" ,ghc-unordered-containers)
10509 ("ghc-vector" ,ghc-vector)))
10510 (native-inputs
10511 `(("ghc-hspec" ,ghc-hspec)
10512 ("hspec-discover" ,hspec-discover)))
10513 (home-page "https://github.com/commercialhaskell/rio#readme")
10514 (synopsis "A standard library for Haskell")
10515 (description "This package works as a prelude replacement for Haskell,
10516providing more functionality and types out of the box than the standard
10517prelude (such as common data types like @code{ByteString} and
10518@code{Text}), as well as removing common ``gotchas'', like partial
10519functions and lazy I/O. The guiding principle here is:
10520@itemize
10521@item If something is safe to use in general and has no expected naming
10522conflicts, expose it.
10523@item If something should not always be used, or has naming conflicts,
10524expose it from another module in the hierarchy.
10525@end itemize")
10526 (license license:expat)))
10527
10528(define-public ghc-safe
10529 (package
10530 (name "ghc-safe")
10531 (version "0.3.17")
10532 (source
10533 (origin
10534 (method url-fetch)
10535 (uri (string-append
10536 "https://hackage.haskell.org/package/safe/safe-"
10537 version
10538 ".tar.gz"))
10539 (sha256
10540 (base32
10541 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10542 (build-system haskell-build-system)
10543 (native-inputs
10544 `(("ghc-quickcheck" ,ghc-quickcheck)))
10545 (home-page "https://github.com/ndmitchell/safe#readme")
10546 (synopsis "Library of safe (exception free) functions")
10547 (description "This library provides wrappers around @code{Prelude} and
10548@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10549exceptions.")
10550 (license license:bsd-3)))
10551
10552(define-public ghc-safe-exceptions
10553 (package
10554 (name "ghc-safe-exceptions")
10555 (version "0.1.7.0")
10556 (source
10557 (origin
10558 (method url-fetch)
10559 (uri (string-append "https://hackage.haskell.org/package/"
10560 "safe-exceptions/safe-exceptions-"
10561 version ".tar.gz"))
10562 (sha256
10563 (base32
10564 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10565 (build-system haskell-build-system)
10566 (arguments
10567 '(#:cabal-revision
10568 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10569 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10570 (native-inputs
10571 `(("ghc-hspec" ,ghc-hspec)
10572 ("ghc-void" ,ghc-void)
10573 ("hspec-discover" ,hspec-discover)))
10574 (home-page "https://github.com/fpco/safe-exceptions")
10575 (synopsis "Safe, consistent, and easy exception handling")
10576 (description "Runtime exceptions - as exposed in @code{base} by the
10577@code{Control.Exception} module - have long been an intimidating part of the
10578Haskell ecosystem. This package is intended to overcome this. It provides a
10579safe and simple API on top of the existing exception handling machinery. The
10580API is equivalent to the underlying implementation in terms of power but
10581encourages best practices to minimize the chances of getting the exception
10582handling wrong.")
10583 (license license:expat)))
10584
10585(define-public ghc-safeio
10586 (package
10587 (name "ghc-safeio")
10588 (version "0.0.5.0")
10589 (source
10590 (origin
10591 (method url-fetch)
10592 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10593 "safeio-" version ".tar.gz"))
10594 (sha256
10595 (base32
10596 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10597 (build-system haskell-build-system)
10598 (inputs
10599 `(("ghc-conduit" ,ghc-conduit)
10600 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10601 ("ghc-exceptions" ,ghc-exceptions)
10602 ("ghc-resourcet" ,ghc-resourcet)))
10603 (native-inputs
10604 `(("ghc-hunit" ,ghc-hunit)
10605 ("ghc-test-framework" ,ghc-test-framework)
10606 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10607 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10608 (home-page "https://github.com/luispedro/safeio")
10609 (synopsis "Write output to disk atomically")
10610 (description
10611 "This package implements utilities to perform atomic output so as to
10612avoid the problem of partial intermediate files.")
10613 (license license:expat)))
10614
10615(define-public ghc-safesemaphore
10616 (package
10617 (name "ghc-safesemaphore")
10618 (version "0.10.1")
10619 (source
10620 (origin
10621 (method url-fetch)
10622 (uri (string-append "https://hackage.haskell.org/package/"
10623 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10624 (sha256
10625 (base32
10626 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10627 (build-system haskell-build-system)
10628 (native-inputs
10629 `(("ghc-hunit" ,ghc-hunit)))
10630 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10631 (synopsis "Exception safe semaphores")
10632 (description "This library provides exception safe semaphores that can be
10633used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10634are not exception safe and can be broken by @code{killThread}.")
10635 (license license:bsd-3)))
10636
10637(define-public ghc-sandi
10638 (package
10639 (name "ghc-sandi")
b867c2b0 10640 (version "0.5")
dddbc90c
RV
10641 (source
10642 (origin
10643 (method url-fetch)
10644 (uri (string-append
10645 "https://hackage.haskell.org/package/sandi/sandi-"
10646 version ".tar.gz"))
10647 (sha256
10648 (base32
b867c2b0 10649 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10650 (build-system haskell-build-system)
10651 (inputs
10652 `(("ghc-stringsearch" ,ghc-stringsearch)
10653 ("ghc-conduit" ,ghc-conduit)
10654 ("ghc-exceptions" ,ghc-exceptions)
10655 ("ghc-hunit" ,ghc-hunit)
10656 ("ghc-tasty" ,ghc-tasty)
10657 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10658 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10659 ("ghc-tasty-th" ,ghc-tasty-th)))
10660 (home-page "https://hackage.haskell.org/package/sandi")
10661 (synopsis "Data encoding library")
10662 (description "Reasonably fast data encoding library.")
10663 (license license:bsd-3)))
10664
4da75228
ASM
10665(define-public ghc-say
10666 (package
10667 (name "ghc-say")
10668 (version "0.1.0.1")
10669 (source
10670 (origin
10671 (method url-fetch)
10672 (uri (string-append
10673 "https://hackage.haskell.org/package/say/say-"
10674 version
10675 ".tar.gz"))
10676 (sha256
10677 (base32
10678 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10679 (build-system haskell-build-system)
10680 (native-inputs
10681 `(("ghc-hspec" ,ghc-hspec)
10682 ("hspec-discover" ,hspec-discover)
10683 ("ghc-unliftio" ,ghc-unliftio)))
10684 (home-page "https://github.com/fpco/say")
10685 (synopsis
10686 "Send textual messages to a Handle in a thread-friendly way")
10687 (description
10688 "A thread safe API to write a line of textual data to a Handle, such
10689as sending some messages to the terminal - that has the following properties:
10690@itemize
10691@item Properly handle character encoding settings on the Handle
10692@item For reasonably sized messages, ensure that the entire message is written
10693 in one chunk to avoid interleaving data with other threads
10694@item Avoid unnecessary memory allocations and copies
10695@item Minimize locking.
10696@end itemize")
10697 (license license:expat)))
10698
dddbc90c
RV
10699(define-public ghc-scientific
10700 (package
10701 (name "ghc-scientific")
10702 (version "0.3.6.2")
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append
10707 "https://hackage.haskell.org/package/scientific/scientific-"
10708 version
10709 ".tar.gz"))
10710 (sha256
10711 (base32
10712 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10713 (build-system haskell-build-system)
10714 (inputs
10715 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10716 ("ghc-hashable" ,ghc-hashable)
10717 ("ghc-primitive" ,ghc-primitive)))
10718 (native-inputs
10719 `(("ghc-tasty" ,ghc-tasty)
10720 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10721 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10722 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10723 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10724 ("ghc-smallcheck" ,ghc-smallcheck)
10725 ("ghc-quickcheck" ,ghc-quickcheck)))
10726 (home-page "https://github.com/basvandijk/scientific")
10727 (synopsis "Numbers represented using scientific notation")
10728 (description "This package provides @code{Data.Scientific}, which provides
10729the number type @code{Scientific}. Scientific numbers are arbitrary precision
10730and space efficient. They are represented using
10731@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10732notation}.")
10733 (license license:bsd-3)))
10734
10735(define-public ghc-scientific-bootstrap
10736 (package
10737 (inherit ghc-scientific)
10738 (name "ghc-scientific-bootstrap")
10739 (arguments `(#:tests? #f))
10740 (inputs
10741 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10742 ("ghc-hashable" ,ghc-hashable)
10743 ("ghc-primitive" ,ghc-primitive)))
10744 (native-inputs '())
799d8d3c 10745 (properties '((hidden? #t)))))
dddbc90c
RV
10746
10747(define-public ghc-sdl
10748 (package
10749 (name "ghc-sdl")
10750 (version "0.6.7.0")
10751 (source
10752 (origin
10753 (method url-fetch)
10754 (uri (string-append
10755 "https://hackage.haskell.org/package/SDL/SDL-"
10756 version
10757 ".tar.gz"))
10758 (sha256
10759 (base32
10760 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10761 (build-system haskell-build-system)
10762 (inputs
10763 `(("sdl" ,sdl)))
10764 (home-page "https://hackage.haskell.org/package/SDL")
10765 (synopsis "LibSDL for Haskell")
10766 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10767multimedia library designed to provide low level access to audio, keyboard,
10768mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10769by MPEG playback software, emulators, and many popular games, including the
10770award winning Linux port of \"Civilization: Call To Power.\"")
10771 (license license:bsd-3)))
10772
1874cdc1
RV
10773(define-public ghc-sdl2
10774 (package
10775 (name "ghc-sdl2")
145148ca 10776 (version "2.5.0.0")
1874cdc1
RV
10777 (source
10778 (origin
10779 (method url-fetch)
10780 (uri (string-append "https://hackage.haskell.org/package/"
10781 "sdl2/sdl2-" version ".tar.gz"))
10782 (sha256
10783 (base32
145148ca 10784 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10785 (build-system haskell-build-system)
10786 (arguments '(#:tests? #f)) ; tests require graphical environment
10787 (inputs
10788 `(("ghc-exceptions" ,ghc-exceptions)
10789 ("ghc-linear" ,ghc-linear)
10790 ("ghc-statevar" ,ghc-statevar)
10791 ("ghc-vector" ,ghc-vector)
10792 ("sdl2" ,sdl2)))
10793 (native-inputs
10794 `(("ghc-weigh" ,ghc-weigh)
10795 ("pkg-config" ,pkg-config)))
35437dbf 10796 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10797 (synopsis "High- and low-level bindings to the SDL library")
10798 (description
10799 "This package contains bindings to the SDL 2 library, in both high- and
10800low-level forms. The @code{SDL} namespace contains high-level bindings, where
10801enumerations are split into sum types, and we perform automatic
10802error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10803translation of the C API into Haskell FFI calls. As such, this does not
10804contain sum types nor error checking. Thus this namespace is suitable for
10805building your own abstraction over SDL, but is not recommended for day-to-day
10806programming.")
10807 (license license:bsd-3)))
10808
10809(define-public ghc-sdl2-image
10810 (package
10811 (name "ghc-sdl2-image")
10812 (version "2.0.0")
10813 (source
10814 (origin
10815 (method url-fetch)
10816 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10817 "sdl2-image-" version ".tar.gz"))
10818 (sha256
10819 (base32
10820 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10821 (build-system haskell-build-system)
10822 (inputs
10823 `(("ghc-sdl2" ,ghc-sdl2)
10824 ("sdl2-image" ,sdl2-image)))
10825 (native-inputs
10826 `(("pkg-config" ,pkg-config)))
3ef91e15 10827 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10828 (synopsis "Bindings to SDL2_image")
10829 (description "This package provides Haskell bindings to
10830@code{SDL2_image}.")
10831 (license license:expat)))
10832
10833(define-public ghc-sdl2-mixer
10834 (package
10835 (name "ghc-sdl2-mixer")
10836 (version "1.1.0")
10837 (source
10838 (origin
10839 (method url-fetch)
10840 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10841 "sdl2-mixer-" version ".tar.gz"))
10842 (sha256
10843 (base32
10844 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10845 (build-system haskell-build-system)
10846 (inputs
10847 `(("ghc-data-default-class" ,ghc-data-default-class)
10848 ("ghc-lifted-base" ,ghc-lifted-base)
10849 ("ghc-monad-control" ,ghc-monad-control)
10850 ("ghc-sdl2" ,ghc-sdl2)
10851 ("ghc-vector" ,ghc-vector)
10852 ("sdl2-mixer" ,sdl2-mixer)))
10853 (native-inputs
10854 `(("pkg-config" ,pkg-config)))
3ef91e15 10855 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10856 (synopsis "Bindings to SDL2 mixer")
10857 (description "This package provides Haskell bindings to
10858@code{SDL2_mixer}.")
10859 (license license:bsd-3)))
10860
dddbc90c
RV
10861(define-public ghc-sdl-image
10862 (package
10863 (name "ghc-sdl-image")
10864 (version "0.6.2.0")
10865 (source
10866 (origin
10867 (method url-fetch)
10868 (uri (string-append
10869 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10870 version
10871 ".tar.gz"))
10872 (sha256
10873 (base32
10874 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10875 (build-system haskell-build-system)
10876 (arguments
10877 `(#:configure-flags
10878 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10879 (sdl-image-include (string-append sdl-image "/include/SDL")))
10880 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10881 (inputs
10882 `(("ghc-sdl" ,ghc-sdl)
10883 ("sdl-image" ,sdl-image)))
10884 (home-page "https://hackage.haskell.org/package/SDL-image")
10885 (synopsis "Haskell bindings to libSDL_image")
10886 (description "SDL_image is an image file loading library. It loads images
10887as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10888PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10889 (license license:bsd-3)))
10890
10891(define-public ghc-sdl-mixer
10892 (package
10893 (name "ghc-sdl-mixer")
10894 (version "0.6.3.0")
10895 (source
10896 (origin
10897 (method url-fetch)
10898 (uri (string-append
10899 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10900 version
10901 ".tar.gz"))
10902 (sha256
10903 (base32
10904 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10905 (build-system haskell-build-system)
10906 (arguments
10907 `(#:configure-flags
10908 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10909 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10910 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10911 (inputs
10912 `(("ghc-sdl" ,ghc-sdl)
10913 ("sdl-mixer" ,sdl-mixer)))
10914 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10915 (synopsis "Haskell bindings to libSDL_mixer")
10916 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10917supports any number of simultaneously playing channels of 16 bit stereo audio,
10918plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10919MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10920 (license license:bsd-3)))
10921
10922(define-public ghc-securemem
10923 (package
10924 (name "ghc-securemem")
10925 (version "0.1.10")
10926 (source
10927 (origin
10928 (method url-fetch)
10929 (uri (string-append "https://hackage.haskell.org/package/"
10930 "securemem-" version "/"
10931 "securemem-" version ".tar.gz"))
10932 (sha256
10933 (base32
10934 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10935 (build-system haskell-build-system)
10936 (inputs `(("ghc-byteable" ,ghc-byteable)
10937 ("ghc-memory" ,ghc-memory)))
10938 (home-page "https://github.com/vincenthz/hs-securemem")
10939 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10940Haskell")
10941 (description "SecureMem is similar to ByteString, except that it provides
10942a memory chunk that will be auto-scrubbed after it run out of scope.")
10943 (license license:bsd-3)))
10944
3cf7219c
JS
10945(define-public ghc-semialign
10946 (package
10947 (name "ghc-semialign")
10948 (version "1")
10949 (source
10950 (origin
10951 (method url-fetch)
10952 (uri (string-append
10953 "https://hackage.haskell.org/package/semialign/semialign-"
10954 version
10955 ".tar.gz"))
10956 (sha256
10957 (base32
10958 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
10959 (build-system haskell-build-system)
10960 (inputs
10961 `(("ghc-these" ,ghc-these)
10962 ("ghc-base-compat" ,ghc-base-compat)
10963 ("ghc-hashable" ,ghc-hashable)
10964 ("ghc-tagged" ,ghc-tagged)
10965 ("ghc-unordered-containers" ,ghc-unordered-containers)
10966 ("ghc-vector" ,ghc-vector)
10967 ("ghc-semigroupoids" ,ghc-semigroupoids)))
10968 (arguments
10969 `(#:cabal-revision
10970 ("1"
10971 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
10972 (home-page
10973 "https://github.com/isomorphism/these")
10974 (synopsis
10975 "Align and Zip type-classes from the common Semialign ancestor ")
10976 (description
10977 "The major use of @code{These} of this is provided by the
10978@code{align} member of @code{Semialign} class, representing a
10979generalized notion of \"zipping with padding\" that combines
10980structures without truncating to the size of the smaller input. It
10981turns out that @code{zip} operation fits well the @code{Semialign}
10982class, forming lattice-like structure.")
10983 (license license:bsd-3)))
10984
dddbc90c
RV
10985(define-public ghc-semigroupoids
10986 (package
10987 (name "ghc-semigroupoids")
a8aaadf2 10988 (version "5.3.3")
dddbc90c
RV
10989 (source
10990 (origin
10991 (method url-fetch)
10992 (uri (string-append
10993 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10994 version
10995 ".tar.gz"))
10996 (sha256
10997 (base32
a8aaadf2 10998 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10999 (build-system haskell-build-system)
dddbc90c
RV
11000 (inputs
11001 `(("ghc-base-orphans" ,ghc-base-orphans)
11002 ("ghc-transformers-compat" ,ghc-transformers-compat)
11003 ("ghc-bifunctors" ,ghc-bifunctors)
11004 ("ghc-comonad" ,ghc-comonad)
11005 ("ghc-contravariant" ,ghc-contravariant)
11006 ("ghc-distributive" ,ghc-distributive)
11007 ("ghc-hashable" ,ghc-hashable)
11008 ("ghc-semigroups" ,ghc-semigroups)
11009 ("ghc-tagged" ,ghc-tagged)
11010 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11011 (native-inputs
11012 `(("cabal-doctest" ,cabal-doctest)
11013 ("ghc-doctest" ,ghc-doctest)))
11014 (home-page "https://github.com/ekmett/semigroupoids")
11015 (synopsis "Semigroupoids operations for Haskell")
11016 (description "This library provides a wide array of (semi)groupoids and
11017operations for working with them. A @code{Semigroupoid} is a @code{Category}
11018without the requirement of identity arrows for every object in the category.
11019A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11020Finally, to work with these weaker structures it is beneficial to have
11021containers that can provide stronger guarantees about their contents, so
11022versions of @code{Traversable} and @code{Foldable} that can be folded with
11023just a @code{Semigroup} are added.")
11024 (license license:bsd-3)))
11025
11026(define-public ghc-semigroups
11027 (package
11028 (name "ghc-semigroups")
11029 (version "0.18.5")
11030 (source
11031 (origin
11032 (method url-fetch)
11033 (uri (string-append
11034 "https://hackage.haskell.org/package/semigroups/semigroups-"
11035 version
11036 ".tar.gz"))
11037 (sha256
11038 (base32
11039 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11040 (build-system haskell-build-system)
11041 (inputs
11042 `(("ghc-nats" ,ghc-nats)
11043 ("ghc-tagged" ,ghc-tagged)
11044 ("ghc-unordered-containers" ,ghc-unordered-containers)
11045 ("ghc-hashable" ,ghc-hashable)))
11046 (home-page "https://github.com/ekmett/semigroups/")
11047 (synopsis "Semigroup operations for Haskell")
11048 (description "This package provides semigroups for Haskell. In
11049mathematics, a semigroup is an algebraic structure consisting of a set
11050together with an associative binary operation. A semigroup generalizes a
11051monoid in that there might not exist an identity element. It
11052also (originally) generalized a group (a monoid with all inverses) to a type
11053where every element did not have to have an inverse, thus the name
11054semigroup.")
11055 (license license:bsd-3)))
11056
11057(define-public ghc-semigroups-bootstrap
11058 (package
11059 (inherit ghc-semigroups)
11060 (name "ghc-semigroups-bootstrap")
11061 (inputs
11062 `(("ghc-nats" ,ghc-nats-bootstrap)
11063 ("ghc-tagged" ,ghc-tagged)
11064 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11065 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11066 (properties '((hidden? #t)))))
dddbc90c 11067
47c526df
JS
11068(define-public ghc-serialise
11069 (package
11070 (name "ghc-serialise")
11071 (version "0.2.1.0")
11072 (source
11073 (origin
11074 (method url-fetch)
11075 (uri (string-append
11076 "mirror://hackage/package/serialise/serialise-"
11077 version
11078 ".tar.gz"))
11079 (sha256
11080 (base32
11081 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11082 (build-system haskell-build-system)
11083 (inputs
11084 `(("ghc-cborg" ,ghc-cborg)
11085 ("ghc-half" ,ghc-half)
11086 ("ghc-hashable" ,ghc-hashable)
11087 ("ghc-primitive" ,ghc-primitive)
11088 ("ghc-unordered-containers" ,ghc-unordered-containers)
11089 ("ghc-vector" ,ghc-vector)))
11090 (native-inputs
11091 `(("ghc-quickcheck" ,ghc-quickcheck)
11092 ("ghc-tasty" ,ghc-tasty)
11093 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11094 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11095 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11096 (arguments
11097 `(#:cabal-revision
11098 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11099 (home-page "https://github.com/well-typed/cborg")
11100 (synopsis "Binary serialisation library for Haskell values")
11101 (description
11102 "This package (formerly binary-serialise-cbor) provides pure,
11103efficient serialization of Haskell values directly into ByteStrings for
11104storage or transmission purposes. By providing a set of type class instances,
11105you can also serialise any custom data type you have as well.
11106
11107The underlying binary format used is the 'Concise Binary Object
11108Representation', or CBOR, specified in RFC 7049. As a result, serialised
11109Haskell values have implicit structure outside of the Haskell program itself,
11110meaning they can be inspected or analyzed without custom tools.
11111
11112An implementation of the standard bijection between CBOR and JSON is
11113provided by the https://hackage.haskell.org/package/cborg-json
11114package. Also see https://hackage.haskell.org/package/cbor-tool for a
11115convenient command-line utility for working with CBOR data.")
11116 (license license:bsd-3)))
11117
dddbc90c
RV
11118(define-public ghc-setenv
11119 (package
11120 (name "ghc-setenv")
11121 (version "0.1.1.3")
11122 (source
11123 (origin
11124 (method url-fetch)
11125 (uri (string-append
11126 "https://hackage.haskell.org/package/setenv/setenv-"
11127 version
11128 ".tar.gz"))
11129 (sha256
11130 (base32
11131 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11132 (build-system haskell-build-system)
11133 (home-page "https://hackage.haskell.org/package/setenv")
11134 (synopsis "Library for setting environment variables")
11135 (description "This package provides a Haskell library for setting
11136environment variables.")
11137 (license license:expat)))
11138
11139(define-public ghc-setlocale
11140 (package
11141 (name "ghc-setlocale")
9d7cfc9b 11142 (version "1.0.0.9")
dddbc90c
RV
11143 (source (origin
11144 (method url-fetch)
11145 (uri (string-append
11146 "https://hackage.haskell.org/package/setlocale-"
11147 version "/setlocale-" version ".tar.gz"))
11148 (sha256
11149 (base32
9d7cfc9b 11150 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11151 (build-system haskell-build-system)
11152 (home-page "https://hackage.haskell.org/package/setlocale")
11153 (synopsis "Haskell bindings to setlocale")
11154 (description "This package provides Haskell bindings to the
11155@code{setlocale} C function.")
11156 (license license:bsd-3)))
11157
11158(define-public ghc-shakespeare
11159 (package
11160 (name "ghc-shakespeare")
f680955f 11161 (version "2.0.22")
dddbc90c
RV
11162 (source
11163 (origin
11164 (method url-fetch)
11165 (uri (string-append "https://hackage.haskell.org/package/"
11166 "shakespeare-" version "/"
11167 "shakespeare-" version ".tar.gz"))
11168 (sha256
11169 (base32
f680955f 11170 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11171 (build-system haskell-build-system)
11172 (inputs `(("ghc-aeson" ,ghc-aeson)
11173 ("ghc-blaze-markup" ,ghc-blaze-markup)
11174 ("ghc-blaze-html" ,ghc-blaze-html)
11175 ("ghc-exceptions" ,ghc-exceptions)
11176 ("ghc-vector" ,ghc-vector)
11177 ("ghc-unordered-containers" ,ghc-unordered-containers)
11178 ("ghc-scientific" ,ghc-scientific)))
11179 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11180 ("ghc-hunit" ,ghc-hunit)
11181 ("hspec-discover" ,hspec-discover)))
11182 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11183 (synopsis "Family of type-safe template languages for Haskell")
11184 (description "This Haskell package provides a family of type-safe
11185templates with simple variable interpolation. Shakespeare templates can
11186be used inline with a quasi-quoter or in an external file and it
11187interpolates variables according to the type being inserted.")
11188 (license license:expat)))
11189
11190(define-public ghc-shelly
11191 (package
11192 (name "ghc-shelly")
11193 (version "1.8.1")
11194 (source
11195 (origin
11196 (method url-fetch)
11197 (uri (string-append
11198 "https://hackage.haskell.org/package/shelly/shelly-"
11199 version ".tar.gz"))
11200 (sha256
11201 (base32
11202 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11203 (build-system haskell-build-system)
11204 (inputs
11205 `(("ghc-unix-compat" ,ghc-unix-compat)
11206 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11207 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11208 ("ghc-monad-control" ,ghc-monad-control)
11209 ("ghc-lifted-base" ,ghc-lifted-base)
11210 ("ghc-lifted-async" ,ghc-lifted-async)
11211 ("ghc-exceptions" ,ghc-exceptions)
11212 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11213 ("ghc-async" ,ghc-async)
11214 ("ghc-transformers-base" ,ghc-transformers-base)
11215 ("ghc-hunit" ,ghc-hunit)
11216 ("ghc-hspec" ,ghc-hspec)
11217 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11218 (home-page "https://github.com/yesodweb/Shelly.hs")
11219 (synopsis "Shell-like (systems) programming in Haskell")
11220 (description
11221 "Shelly provides convenient systems programming in Haskell, similar in
11222spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11223 (license license:bsd-3)))
11224
11225(define-public ghc-silently
11226 (package
11227 (name "ghc-silently")
544bb369 11228 (version "1.2.5.1")
dddbc90c
RV
11229 (source
11230 (origin
11231 (method url-fetch)
11232 (uri (string-append
11233 "https://hackage.haskell.org/package/silently/silently-"
11234 version
11235 ".tar.gz"))
11236 (sha256
11237 (base32
544bb369 11238 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11239 (build-system haskell-build-system)
11240 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11241 ;; (inputs
11242 ;; `(("ghc-temporary" ,ghc-temporary)))
11243 (home-page "https://github.com/hspec/silently")
11244 (synopsis "Prevent writing to stdout")
11245 (description "This package provides functions to prevent or capture
11246writing to stdout and other handles.")
11247 (license license:bsd-3)))
11248
11249(define-public ghc-simple-reflect
11250 (package
11251 (name "ghc-simple-reflect")
11252 (version "0.3.3")
11253 (source
11254 (origin
11255 (method url-fetch)
11256 (uri (string-append
11257 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11258 version
11259 ".tar.gz"))
11260 (sha256
11261 (base32
11262 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11263 (build-system haskell-build-system)
11264 (home-page
11265 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11266 (synopsis
11267 "Simple reflection of expressions containing variables")
11268 (description
11269 "This package allows simple reflection of expressions containing
11270variables. Reflection here means that a Haskell expression is turned into a
11271string. The primary aim of this package is teaching and understanding; there
11272are no options for manipulating the reflected expressions beyond showing
11273them.")
11274 (license license:bsd-3)))
11275
11276(define-public ghc-simple-sendfile
11277 (package
11278 (name "ghc-simple-sendfile")
08f54390 11279 (version "0.2.30")
dddbc90c
RV
11280 (source
11281 (origin
11282 (method url-fetch)
11283 (uri (string-append "https://hackage.haskell.org/package/"
11284 "simple-sendfile-" version "/"
11285 "simple-sendfile-" version ".tar.gz"))
11286 (sha256
11287 (base32
08f54390 11288 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11289 (build-system haskell-build-system)
11290 (inputs
11291 `(("ghc-conduit" ,ghc-conduit)
11292 ("ghc-conduit-extra" ,ghc-conduit-extra)
11293 ("ghc-network" ,ghc-network)
11294 ("ghc-resourcet" ,ghc-resourcet)))
11295 (native-inputs
11296 `(("ghc-hspec" ,ghc-hspec)
11297 ("hspec-discover" ,hspec-discover)))
11298 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11299 (synopsis "Cross platform library for the sendfile system call")
11300 (description "This library tries to call minimum system calls which
11301are the bottleneck of web servers.")
11302 (license license:bsd-3)))
11303
06966c05
TS
11304(define-public ghc-size-based
11305 (package
11306 (name "ghc-size-based")
11307 (version "0.1.2.0")
11308 (source
11309 (origin
11310 (method url-fetch)
11311 (uri (string-append "https://hackage.haskell.org/package/"
11312 "size-based/size-based-" version ".tar.gz"))
11313 (sha256
11314 (base32
11315 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11316 (build-system haskell-build-system)
11317 (inputs
11318 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11319 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11320 ("ghc-semigroups" ,ghc-semigroups)))
11321 (arguments
11322 `(#:cabal-revision
11323 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11324 (home-page "https://hackage.haskell.org/package/size-based")
11325 (synopsis "Sized functors for size-based enumerations")
11326 (description "This library provides a framework for size-based
11327enumerations.")
11328 (license license:bsd-3)))
11329
dddbc90c
RV
11330(define-public ghc-skylighting-core
11331 (package
11332 (name "ghc-skylighting-core")
1826c2a8 11333 (version "0.8.2.1")
dddbc90c
RV
11334 (source (origin
11335 (method url-fetch)
11336 (uri (string-append "https://hackage.haskell.org/package/"
11337 "skylighting-core/skylighting-core-"
11338 version ".tar.gz"))
11339 (sha256
11340 (base32
1826c2a8 11341 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11342 (build-system haskell-build-system)
11343 (inputs
11344 `(("ghc-aeson" ,ghc-aeson)
11345 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11346 ("ghc-attoparsec" ,ghc-attoparsec)
11347 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11348 ("ghc-blaze-html" ,ghc-blaze-html)
11349 ("ghc-case-insensitive" ,ghc-case-insensitive)
11350 ("ghc-colour" ,ghc-colour)
11351 ("ghc-hxt" ,ghc-hxt)
11352 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11353 ("ghc-safe" ,ghc-safe)
11354 ("ghc-utf8-string" ,ghc-utf8-string)))
11355 (native-inputs
11356 `(("ghc-diff" ,ghc-diff)
11357 ("ghc-hunit" ,ghc-hunit)
11358 ("ghc-pretty-show" ,ghc-pretty-show)
11359 ("ghc-quickcheck" ,ghc-quickcheck)
11360 ("ghc-tasty" ,ghc-tasty)
11361 ("ghc-tasty-golden" ,ghc-tasty-golden)
11362 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11363 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11364 (home-page "https://github.com/jgm/skylighting")
11365 (synopsis "Syntax highlighting library")
11366 (description "Skylighting is a syntax highlighting library with support
11367for over one hundred languages. It derives its tokenizers from XML syntax
11368definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11369supported by that framework can be added. An optional command-line program is
11370provided. Skylighting is intended to be the successor to highlighting-kate.")
11371 (license license:gpl2)))
11372
11373(define-public ghc-skylighting
11374 (package
11375 (inherit ghc-skylighting-core)
11376 (name "ghc-skylighting")
36c940cf 11377 (version "0.8.2.1")
dddbc90c
RV
11378 (source (origin
11379 (method url-fetch)
11380 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11381 version "/skylighting-" version ".tar.gz"))
11382 (sha256
11383 (base32
36c940cf 11384 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11385 (inputs
11386 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11387 ,@(package-inputs ghc-skylighting-core)))))
11388
11389(define-public ghc-smallcheck
11390 (package
11391 (name "ghc-smallcheck")
11392 (version "1.1.5")
11393 (source
11394 (origin
11395 (method url-fetch)
11396 (uri (string-append
11397 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11398 version
11399 ".tar.gz"))
11400 (sha256
11401 (base32
11402 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11403 (build-system haskell-build-system)
11404 (inputs
11405 `(("ghc-logict" ,ghc-logict)))
11406 (home-page
11407 "https://github.com/feuerbach/smallcheck")
11408 (synopsis "Property-based testing library")
a84be333 11409 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11410properties for all test cases up to some depth. The test cases are generated
11411automatically by SmallCheck.")
11412 (license license:bsd-3)))
11413
11414(define-public ghc-socks
11415 (package
11416 (name "ghc-socks")
ab761e9d 11417 (version "0.6.1")
dddbc90c
RV
11418 (source (origin
11419 (method url-fetch)
11420 (uri (string-append "https://hackage.haskell.org/package/"
11421 "socks/socks-" version ".tar.gz"))
11422 (sha256
11423 (base32
ab761e9d 11424 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11425 (build-system haskell-build-system)
11426 (inputs
11427 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11428 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11429 ("ghc-network" ,ghc-network)))
11430 (home-page "https://github.com/vincenthz/hs-socks")
11431 (synopsis "SOCKS proxy (version 5) implementation")
11432 (description
11433 "This library provides a SOCKS proxy (version 5) implementation.")
11434 (license license:bsd-3)))
11435
081d85d6
TS
11436(define-public ghc-sop-core
11437 (package
11438 (name "ghc-sop-core")
11439 (version "0.4.0.0")
11440 (source
11441 (origin
11442 (method url-fetch)
11443 (uri (string-append "https://hackage.haskell.org/package/"
11444 "sop-core/sop-core-" version ".tar.gz"))
11445 (sha256
11446 (base32
11447 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11448 (build-system haskell-build-system)
3ef91e15 11449 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11450 (synopsis "True Sums of Products")
11451 (description "This package provides an implementation of
11452@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11453is the main module of this library and contains more detailed
11454documentation. The main use case of this package is to serve as the
11455core of @url{https://hackage.haskell.org/package/generics-sop,
11456generics-sop}.")
11457 (license license:bsd-3)))
11458
4c77a1a0
JS
11459(define-public ghc-special-values
11460 (package
11461 (name "ghc-special-values")
11462 (version "0.1.0.0")
11463 (source
11464 (origin
11465 (method url-fetch)
11466 (uri (string-append
11467 "https://hackage.haskell.org/package/special-values/"
11468 "special-values-" version ".tar.gz"))
11469 (sha256
11470 (base32
11471 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11472 (build-system haskell-build-system)
11473 (inputs
11474 `(("ghc-scientific" ,ghc-scientific)
11475 ("ghc-ieee754" ,ghc-ieee754)
11476 ("ghc-nats" ,ghc-nats)))
11477 (home-page
11478 "https://github.com/minad/special-values#readme")
11479 (synopsis "Typeclass providing special values")
11480 (description
11481 "Special values are provided by a SpecialValues typeclass. Those can be
11482used for example by QuickCheck, see quickcheck-special." )
11483 (license license:expat)))
11484
dddbc90c
RV
11485(define-public ghc-split
11486 (package
11487 (name "ghc-split")
11488 (version "0.2.3.3")
11489 (outputs '("out" "doc"))
11490 (source
11491 (origin
11492 (method url-fetch)
11493 (uri (string-append
11494 "https://hackage.haskell.org/package/split/split-"
11495 version
11496 ".tar.gz"))
11497 (sha256
11498 (base32
11499 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11500 (build-system haskell-build-system)
9bbc21a7
TS
11501 (arguments
11502 `(#:cabal-revision
11503 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11504 (native-inputs
11505 `(("ghc-quickcheck" ,ghc-quickcheck)))
11506 (home-page "https://hackage.haskell.org/package/split")
11507 (synopsis "Combinator library for splitting lists")
11508 (description "This package provides a collection of Haskell functions for
11509splitting lists into parts, akin to the @code{split} function found in several
11510mainstream languages.")
11511 (license license:bsd-3)))
11512
7799d17f 11513(define-public ghc-splitmix
49367c92 11514 (package
7799d17f 11515 (name "ghc-splitmix")
49367c92
TS
11516 (version "0.0.3")
11517 (source
11518 (origin
11519 (method url-fetch)
11520 (uri (string-append "https://hackage.haskell.org/package/"
11521 "splitmix/splitmix-" version ".tar.gz"))
11522 (sha256
11523 (base32
11524 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11525 (build-system haskell-build-system)
49367c92
TS
11526 (inputs
11527 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11528 (native-inputs
11529 `(("ghc-hunit" ,ghc-hunit)
11530 ("ghc-async" ,ghc-async)
11531 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11532 ("ghc-tf-random" ,ghc-tf-random)
11533 ("ghc-vector" ,ghc-vector)))
92a79fee 11534 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11535 (synopsis "Fast and splittable pseudorandom number generator")
11536 (description "This package provides a Pure Haskell implementation of the
11537SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11538pseudorandom number generator that is quite fast: 9 64-bit
11539arithmetic/logical operations per 64 bits generated. SplitMix is tested
11540with two standard statistical test suites (DieHarder and TestU01, this
11541implementation only using the former) and it appears to be adequate for
11542\"everyday\" use, such as Monte Carlo algorithms and randomized data
11543structures where speed is important. In particular, it @strong{should not
11544be used for cryptographic or security applications}, because generated
11545sequences of pseudorandom values are too predictable (the mixing functions
11546are easily inverted, and two successive outputs suffice to reconstruct the
11547internal state).")
11548 (license license:bsd-3)))
11549
7799d17f
TS
11550(define-public ghc-splitmix-bootstrap
11551 (package
11552 (inherit ghc-splitmix)
11553 (name "ghc-splitmix-bootstrap")
11554 (arguments `(#:tests? #f))
11555 (native-inputs '())
11556 (properties '((hidden? #t)))))
11557
a152258b
JS
11558(define-public ghc-spoon
11559 (package
11560 (name "ghc-spoon")
11561 (version "0.3.1")
11562 (source
11563 (origin
11564 (method url-fetch)
11565 (uri (string-append
11566 "https://hackage.haskell.org/package/spoon/spoon-"
11567 version
11568 ".tar.gz"))
11569 (sha256
11570 (base32
11571 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11572 (build-system haskell-build-system)
11573 (arguments
11574 `(#:cabal-revision
11575 ("1"
11576 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11577 (home-page
11578 "http://hackage.haskell.org/package/spoon")
11579 (synopsis
11580 "Catch errors thrown from pure computations")
11581 (description
11582 "Takes an error-throwing expression and puts it back in the Maybe it
11583belongs in.
11584
11585Note that this suffers from the
11586@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11587 (license license:bsd-3)))
11588
dddbc90c
RV
11589(define-public ghc-statevar
11590 (package
11591 (name "ghc-statevar")
19419709 11592 (version "1.2")
dddbc90c
RV
11593 (source
11594 (origin
11595 (method url-fetch)
11596 (uri (string-append
11597 "https://hackage.haskell.org/package/StateVar/StateVar-"
11598 version
11599 ".tar.gz"))
11600 (sha256
11601 (base32
19419709 11602 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11603 (build-system haskell-build-system)
11604 (home-page "https://hackage.haskell.org/package/StateVar")
11605 (synopsis "State variables for Haskell")
11606 (description "This package provides state variables, which are references
11607in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11608 (license license:bsd-3)))
11609
11610(define-public ghc-statistics
11611 (package
11612 (name "ghc-statistics")
60e78e68 11613 (version "0.15.1.1")
dddbc90c
RV
11614 (source
11615 (origin
11616 (method url-fetch)
11617 (uri (string-append "https://hackage.haskell.org/package/"
11618 "statistics-" version "/"
11619 "statistics-" version ".tar.gz"))
11620 (sha256
11621 (base32
60e78e68 11622 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11623 (build-system haskell-build-system)
11624 (arguments
60e78e68 11625 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11626 #:tests? #f))
11627 (inputs
11628 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11629 ("ghc-async" ,ghc-async)
dddbc90c 11630 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11631 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11632 ("ghc-math-functions" ,ghc-math-functions)
11633 ("ghc-monad-par" ,ghc-monad-par)
11634 ("ghc-mwc-random" ,ghc-mwc-random)
11635 ("ghc-primitive" ,ghc-primitive)
11636 ("ghc-vector" ,ghc-vector)
11637 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11638 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11639 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11640 (native-inputs
11641 `(("ghc-hunit" ,ghc-hunit)
11642 ("ghc-quickcheck" ,ghc-quickcheck)
11643 ("ghc-ieee754" ,ghc-ieee754)
11644 ("ghc-test-framework" ,ghc-test-framework)
11645 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11646 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11647 (home-page "https://github.com/bos/mwc-random")
11648 (synopsis "Haskell library of statistical types, data, and functions")
11649 (description "This library provides a number of common functions
11650and types useful in statistics. We focus on high performance, numerical
11651robustness, and use of good algorithms. Where possible, we provide references
11652to the statistical literature.
11653
11654The library's facilities can be divided into four broad categories:
11655
11656@itemize
11657@item Working with widely used discrete and continuous probability
11658distributions. (There are dozens of exotic distributions in use; we focus
11659on the most common.)
11660
11661@item Computing with sample data: quantile estimation, kernel density
11662estimation, histograms, bootstrap methods, significance testing,
11663and regression and autocorrelation analysis.
11664
11665@item Random variate generation under several different distributions.
11666
11667@item Common statistical tests for significant differences between samples.
11668@end itemize")
11669 (license license:bsd-2)))
11670
11671(define-public ghc-stm-chans
11672 (package
11673 (name "ghc-stm-chans")
11674 (version "3.0.0.4")
11675 (source
11676 (origin
11677 (method url-fetch)
11678 (uri (string-append "https://hackage.haskell.org/package/"
11679 "stm-chans-" version "/"
11680 "stm-chans-" version ".tar.gz"))
11681 (sha256
11682 (base32
11683 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11684 (build-system haskell-build-system)
11685 (home-page "https://hackage.haskell.org/package/stm-chans")
11686 (synopsis "Additional types of channels for ghc-stm")
11687 (description "This Haskell package offers a collection of channel types,
11688similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11689features.")
11690 (license license:bsd-3)))
11691
11692(define-public ghc-stm-conduit
11693 (package
11694 (name "ghc-stm-conduit")
cd518e95 11695 (version "4.0.1")
dddbc90c
RV
11696 (source
11697 (origin
11698 (method url-fetch)
11699 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11700 "stm-conduit-" version ".tar.gz"))
11701 (sha256
11702 (base32
cd518e95 11703 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11704 (build-system haskell-build-system)
11705 (inputs
11706 `(("ghc-stm-chans" ,ghc-stm-chans)
11707 ("ghc-cereal" ,ghc-cereal)
11708 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11709 ("ghc-conduit" ,ghc-conduit)
11710 ("ghc-conduit-extra" ,ghc-conduit-extra)
11711 ("ghc-exceptions" ,ghc-exceptions)
11712 ("ghc-resourcet" ,ghc-resourcet)
11713 ("ghc-async" ,ghc-async)
11714 ("ghc-monad-loops" ,ghc-monad-loops)
11715 ("ghc-unliftio" ,ghc-unliftio)))
11716 (native-inputs
11717 `(("ghc-doctest" ,ghc-doctest)
11718 ("ghc-quickcheck" ,ghc-quickcheck)
11719 ("ghc-hunit" ,ghc-hunit)
11720 ("ghc-test-framework" ,ghc-test-framework)
11721 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11722 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11723 (home-page "https://github.com/cgaebel/stm-conduit")
11724 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11725 (description
11726 "This package provides two simple conduit wrappers around STM channels: a
11727source and a sink.")
11728 (license license:bsd-3)))
11729
11730(define-public ghc-stmonadtrans
11731 (package
11732 (name "ghc-stmonadtrans")
11733 (version "0.4.3")
11734 (source
11735 (origin
11736 (method url-fetch)
11737 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11738 "/STMonadTrans-" version ".tar.gz"))
11739 (sha256
11740 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11741 (build-system haskell-build-system)
11742 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11743 (synopsis "Monad transformer version of the ST monad")
11744 (description
11745 "This package provides a monad transformer version of the @code{ST} monad
11746for strict state threads.")
11747 (license license:bsd-3)))
11748
11749(define-public ghc-storable-complex
11750 (package
11751 (name "ghc-storable-complex")
4a35e3c3 11752 (version "0.2.3.0")
dddbc90c
RV
11753 (source
11754 (origin
11755 (method url-fetch)
11756 (uri (string-append
11757 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11758 version ".tar.gz"))
11759 (sha256
4a35e3c3 11760 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11761 (build-system haskell-build-system)
4a35e3c3
TS
11762 (inputs
11763 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11764 (home-page "https://github.com/cartazio/storable-complex")
11765 (synopsis "Haskell Storable instance for Complex")
11766 (description "This package provides a Haskell library including a
11767Storable instance for Complex which is binary compatible with C99, C++
11768and Fortran complex data types.")
11769 (license license:bsd-3)))
11770
ad80074a
JS
11771(define-public ghc-storable-record
11772 (package
11773 (name "ghc-storable-record")
11774 (version "0.0.4")
11775 (source
11776 (origin
11777 (method url-fetch)
11778 (uri
11779 (string-append
11780 "https://hackage.haskell.org/package/storable-record/"
11781 "storable-record-" version ".tar.gz"))
11782 (sha256
11783 (base32
11784 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11785 (build-system haskell-build-system)
11786 (inputs
11787 `(("ghc-semigroups" ,ghc-semigroups)
11788 ("ghc-utility-ht" ,ghc-utility-ht)
11789 ("ghc-storablevector" ,ghc-storablevector)
11790 ("ghc-timeit" ,ghc-timeit)))
11791 (home-page "https://hackage.haskell.org/package/storable-record")
11792 (synopsis "Elegant definition of Storable instances for records")
11793 (description "With this package you can build a Storable instance of
11794a record type from Storable instances of its elements in an elegant way.
11795It does not do any magic, just a bit arithmetic to compute the right
11796offsets, that would be otherwise done manually or by a preprocessor like
11797C2HS. There is no guarantee that the generated memory layout is
11798compatible with that of a corresponding C struct. However, the module
11799generates the smallest layout that is possible with respect to the
11800alignment of the record elements.")
11801 (license license:bsd-3)))
11802
55f4c653
JS
11803(define-public ghc-storable-tuple
11804 (package
11805 (name "ghc-storable-tuple")
11806 (version "0.0.3.3")
11807 (source
11808 (origin
11809 (method url-fetch)
11810 (uri
11811 (string-append
11812 "https://hackage.haskell.org/package/storable-tuple/"
11813 "storable-tuple-" version ".tar.gz"))
11814 (sha256
11815 (base32
11816 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11817 (build-system haskell-build-system)
11818 (inputs
11819 `(("ghc-storable-record" ,ghc-storable-record)
11820 ("ghc-utility-ht" ,ghc-utility-ht)
11821 ("ghc-base-orphans" ,ghc-base-orphans)))
11822 (home-page "https://hackage.haskell.org/package/storable-tuple")
11823 (synopsis "Storable instance for pairs and triples")
11824 (description "This package provides a Storable instance for pairs
11825and triples which should be binary compatible with C99 and C++. The
11826only purpose of this package is to provide a standard location for this
11827instance so that other packages needing this instance can play nicely
11828together.")
11829 (license license:bsd-3)))
11830
bc06ca45
JS
11831(define-public ghc-storablevector
11832 (package
11833 (name "ghc-storablevector")
11834 (version "0.2.13")
11835 (source
11836 (origin
11837 (method url-fetch)
11838 (uri
11839 (string-append
11840 "https://hackage.haskell.org/package/storablevector/storablevector-"
11841 version ".tar.gz"))
11842 (sha256
11843 (base32
11844 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11845 (build-system haskell-build-system)
11846 (inputs
11847 `(("ghc-non-negative" ,ghc-non-negative)
11848 ("ghc-utility-ht" ,ghc-utility-ht)
11849 ("ghc-semigroups" ,ghc-semigroups)
11850 ("ghc-unsafe" ,ghc-unsafe)
11851 ("ghc-quickcheck" ,ghc-quickcheck)
11852 ("ghc-syb" ,ghc-syb)))
11853 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11854 (synopsis "Fast, packed, strict storable arrays with a list interface")
11855 (description "This library provides fast, packed, strict storable
11856arrays with a list interface, a chunky lazy list interface with variable
11857chunk size and an interface for write access via the ST monad. This is
11858much like bytestring and binary but can be used for every
11859@code{Foreign.Storable.Storable} type. See also
11860@url{http://hackage.haskell.org/package/vector}, a library with a
11861similar intention.
11862
11863This library does not do advanced fusion optimization, since especially
11864for lazy vectors this would either be incorrect or not applicable. See
11865@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11866a library that provides fusion with lazy lists.")
11867 (license license:bsd-3)))
11868
dddbc90c
RV
11869(define-public ghc-streaming-commons
11870 (package
11871 (name "ghc-streaming-commons")
11872 (version "0.2.1.1")
11873 (source
11874 (origin
11875 (method url-fetch)
11876 (uri (string-append "https://hackage.haskell.org/package/"
11877 "streaming-commons/streaming-commons-"
11878 version ".tar.gz"))
11879 (sha256
11880 (base32
11881 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11882 (build-system haskell-build-system)
11883 (inputs
11884 `(("ghc-async" ,ghc-async)
11885 ("ghc-blaze-builder" ,ghc-blaze-builder)
11886 ("ghc-network" ,ghc-network)
11887 ("ghc-random" ,ghc-random)
11888 ("ghc-zlib" ,ghc-zlib)))
11889 (native-inputs
11890 `(("ghc-quickcheck" ,ghc-quickcheck)
11891 ("ghc-hspec" ,ghc-hspec)
11892 ("hspec-discover" ,hspec-discover)))
11893 (home-page "https://hackage.haskell.org/package/streaming-commons")
11894 (synopsis "Conduit and pipes needed by some streaming data libraries")
11895 (description "This package provides low-dependency functionality commonly
11896needed by various Haskell streaming data libraries, such as @code{conduit} and
11897@code{pipe}s.")
11898 (license license:expat)))
11899
11900(define-public ghc-strict
11901 (package
11902 (name "ghc-strict")
11903 (version "0.3.2")
11904 (source
11905 (origin
11906 (method url-fetch)
11907 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11908 version ".tar.gz"))
11909 (sha256
11910 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11911 (build-system haskell-build-system)
11912 (home-page "https://hackage.haskell.org/package/strict")
11913 (synopsis "Strict data types and String IO")
11914 (description
11915 "This package provides strict versions of some standard Haskell data
11916types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11917IO operations.")
11918 (license license:bsd-3)))
11919
11920(define-public ghc-stringbuilder
11921 (package
11922 (name "ghc-stringbuilder")
11923 (version "0.5.1")
11924 (source
11925 (origin
11926 (method url-fetch)
11927 (uri (string-append
11928 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11929 version
11930 ".tar.gz"))
11931 (sha256
11932 (base32
11933 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
11934 (build-system haskell-build-system)
11935 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
11936 ; enabled
11937 (home-page "https://hackage.haskell.org/package/stringbuilder")
11938 (synopsis "Writer monad for multi-line string literals")
11939 (description "This package provides a writer monad for multi-line string
11940literals.")
11941 (license license:expat)))
11942
11943(define-public ghc-string-qq
11944 (package
11945 (name "ghc-string-qq")
4d6fddc3 11946 (version "0.0.4")
dddbc90c
RV
11947 (source
11948 (origin
11949 (method url-fetch)
11950 (uri (string-append
11951 "https://hackage.haskell.org/package/string-qq/string-qq-"
11952 version
11953 ".tar.gz"))
11954 (sha256
11955 (base32
4d6fddc3 11956 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11957 (build-system haskell-build-system)
4d6fddc3
TS
11958 (native-inputs
11959 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 11960 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
11961 (synopsis
11962 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11963 (description
11964 "This package provides a quasiquoter for non-interpolated strings, texts
11965and bytestrings.")
11966 (license license:public-domain)))
11967
11968(define-public ghc-stringsearch
11969 (package
11970 (name "ghc-stringsearch")
11971 (version "0.3.6.6")
11972 (source
11973 (origin
11974 (method url-fetch)
11975 (uri (string-append
11976 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11977 version
11978 ".tar.gz"))
11979 (sha256
11980 (base32
11981 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11982 (build-system haskell-build-system)
e2303abb
TS
11983 (arguments
11984 `(#:cabal-revision
11985 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11986 (home-page "https://bitbucket.org/dafis/stringsearch")
11987 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11988 (description "This package provides several functions to quickly search
11989for substrings in strict or lazy @code{ByteStrings}. It also provides
11990functions for breaking or splitting on substrings and replacing all
11991occurrences of a substring (the first in case of overlaps) with another.")
11992 (license license:bsd-3)))
11993
dcf3f8f4
TS
11994(define-public ghc-svg-builder
11995 (package
11996 (name "ghc-svg-builder")
11997 (version "0.1.1")
11998 (source
11999 (origin
12000 (method url-fetch)
12001 (uri (string-append "https://hackage.haskell.org/package/"
12002 "svg-builder/svg-builder-" version ".tar.gz"))
12003 (sha256
12004 (base32
12005 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12006 (build-system haskell-build-system)
12007 (inputs
12008 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12009 ("ghc-hashable" ,ghc-hashable)
12010 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12011 (arguments
12012 `(#:cabal-revision
12013 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12014 (home-page "https://github.com/diagrams/svg-builder.git")
12015 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12016 (description "Easy-to-write domain-specific language (DSL) for
12017building Scalable Vector Graphics (SVG).")
12018 (license license:bsd-3)))
12019
dddbc90c
RV
12020(define-public ghc-syb
12021 (package
12022 (name "ghc-syb")
07d65eef 12023 (version "0.7.1")
dddbc90c
RV
12024 (outputs '("out" "doc"))
12025 (source
12026 (origin
12027 (method url-fetch)
12028 (uri (string-append
12029 "https://hackage.haskell.org/package/syb/syb-"
12030 version
12031 ".tar.gz"))
12032 (sha256
12033 (base32
07d65eef 12034 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12035 (build-system haskell-build-system)
12036 (inputs
12037 `(("ghc-hunit" ,ghc-hunit)))
12038 (home-page
12039 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12040 (synopsis "Scrap Your Boilerplate")
12041 (description "This package contains the generics system described in the
12042/Scrap Your Boilerplate/ papers (see
12043@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12044defines the @code{Data} class of types permitting folding and unfolding of
12045constructor applications, instances of this class for primitive types, and a
12046variety of traversals.")
12047 (license license:bsd-3)))
12048
12049(define-public ghc-system-fileio
12050 (package
12051 (name "ghc-system-fileio")
dcfb99d4 12052 (version "0.3.16.4")
dddbc90c
RV
12053 (source
12054 (origin
12055 (method url-fetch)
12056 (uri (string-append
12057 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12058 version ".tar.gz"))
12059 (sha256
12060 (base32
dcfb99d4 12061 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12062 (build-system haskell-build-system)
dcfb99d4
TS
12063 (arguments
12064 `(#:phases
12065 (modify-phases %standard-phases
12066 (add-before 'configure 'update-constraints
12067 (lambda _
12068 (substitute* "system-fileio.cabal"
12069 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12070 #t)))))
dddbc90c
RV
12071 (inputs
12072 `(("ghc-system-filepath" ,ghc-system-filepath)
12073 ("ghc-chell" ,ghc-chell)
12074 ("ghc-temporary" ,ghc-temporary)))
12075 (home-page "https://github.com/fpco/haskell-filesystem")
12076 (synopsis "Consistent file system interaction across GHC versions")
12077 (description
12078 "This is a small wrapper around the directory, unix, and Win32 packages,
12079for use with system-filepath. It provides a consistent API to the various
12080versions of these packages distributed with different versions of GHC.
12081In particular, this library supports working with POSIX files that have paths
12082which can't be decoded in the current locale encoding.")
12083 (license license:expat)))
12084
12085;; See ghc-system-filepath-bootstrap. In addition this package depends on
12086;; ghc-system-filepath.
12087(define ghc-system-fileio-bootstrap
12088 (package
12089 (name "ghc-system-fileio-bootstrap")
12090 (version "0.3.16.3")
12091 (source
12092 (origin
12093 (method url-fetch)
12094 (uri (string-append
12095 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12096 version ".tar.gz"))
12097 (sha256
12098 (base32
12099 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12100 (build-system haskell-build-system)
12101 (arguments
12102 `(#:tests? #f))
12103 (inputs
12104 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12105 ("ghc-temporary" ,ghc-temporary)))
12106 (home-page "https://github.com/fpco/haskell-filesystem")
12107 (synopsis "Consistent file system interaction across GHC versions")
12108 (description
12109 "This is a small wrapper around the directory, unix, and Win32 packages,
12110for use with system-filepath. It provides a consistent API to the various
12111versions of these packages distributed with different versions of GHC.
12112In particular, this library supports working with POSIX files that have paths
12113which can't be decoded in the current locale encoding.")
12114 (license license:expat)))
12115
12116
12117(define-public ghc-system-filepath
12118 (package
12119 (name "ghc-system-filepath")
12120 (version "0.4.14")
12121 (source
12122 (origin
12123 (method url-fetch)
12124 (uri (string-append
12125 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12126 version ".tar.gz"))
12127 (sha256
12128 (base32
12129 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12130 (build-system haskell-build-system)
12131 ;; FIXME: One of the tests fails:
12132 ;; [ FAIL ] tests.validity.posix
12133 ;; note: seed=7310214548328823169
12134 ;; *** Failed! Falsifiable (after 24 tests):
12135 ;; 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"
12136 (arguments `(#:tests? #f))
12137 (inputs
12138 `(("ghc-chell" ,ghc-chell)
12139 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12140 ("ghc-quickcheck" ,ghc-quickcheck)))
12141 (home-page "https://github.com/fpco/haskell-filesystem")
12142 (synopsis "High-level, byte-based file and directory path manipulations")
12143 (description
12144 "Provides a FilePath datatype and utility functions for operating on it.
12145Unlike the filepath package, this package does not simply reuse String,
12146increasing type safety.")
12147 (license license:expat)))
12148
12149;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12150;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12151;; which depends on ghc-chell and ghc-chell-quickcheck.
12152;; Therefore we bootstrap it with tests disabled.
12153(define ghc-system-filepath-bootstrap
12154 (package
12155 (name "ghc-system-filepath-bootstrap")
12156 (version "0.4.14")
12157 (source
12158 (origin
12159 (method url-fetch)
12160 (uri (string-append
12161 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12162 version ".tar.gz"))
12163 (sha256
12164 (base32
12165 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12166 (build-system haskell-build-system)
12167 (arguments
12168 `(#:tests? #f))
12169 (inputs
12170 `(("ghc-quickcheck" ,ghc-quickcheck)))
12171 (home-page "https://github.com/fpco/haskell-filesystem")
12172 (synopsis "High-level, byte-based file and directory path manipulations")
12173 (description
12174 "Provides a FilePath datatype and utility functions for operating on it.
12175Unlike the filepath package, this package does not simply reuse String,
12176increasing type safety.")
12177 (license license:expat)))
12178
12179
12180(define-public ghc-tagged
12181 (package
12182 (name "ghc-tagged")
f0f3756a 12183 (version "0.8.6")
dddbc90c
RV
12184 (source
12185 (origin
12186 (method url-fetch)
12187 (uri (string-append
12188 "https://hackage.haskell.org/package/tagged/tagged-"
12189 version
12190 ".tar.gz"))
12191 (sha256
12192 (base32
f0f3756a 12193 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12194 (build-system haskell-build-system)
12195 (arguments
12196 `(#:cabal-revision
f0f3756a 12197 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12198 (inputs
12199 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12200 (home-page "https://hackage.haskell.org/package/tagged")
12201 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12202 (description "This library provides phantom types for Haskell 98, to avoid
12203having to unsafely pass dummy arguments.")
12204 (license license:bsd-3)))
12205
12206(define-public ghc-tar
12207 (package
12208 (name "ghc-tar")
ec83929f 12209 (version "0.5.1.1")
dddbc90c
RV
12210 (source
12211 (origin
12212 (method url-fetch)
12213 (uri (string-append
12214 "https://hackage.haskell.org/package/tar/tar-"
12215 version ".tar.gz"))
12216 (sha256
12217 (base32
ec83929f 12218 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12219 (build-system haskell-build-system)
12220 ;; FIXME: 2/24 tests fail.
12221 (arguments `(#:tests? #f))
12222 (inputs
12223 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12224 ("ghc-quickcheck" ,ghc-quickcheck)
12225 ("ghc-tasty" ,ghc-tasty)
12226 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12227 (home-page "https://hackage.haskell.org/package/tar")
12228 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12229 (description
12230 "This library is for working with \\\"@.tar@\\\" archive files.
12231It can read and write a range of common variations of the tar archive format
12232including V7, POSIX USTAR and GNU formats. It provides support for packing and
12233unpacking portable archives. This makes it suitable for distribution but not
12234backup because details like file ownership and exact permissions are not
12235preserved. It also provides features for random access to archive content using
12236an index.")
12237 (license license:bsd-3)))
12238
f8d17902
TS
12239(define-public ghc-tar-conduit
12240 (package
12241 (name "ghc-tar-conduit")
12242 (version "0.3.2")
12243 (source
12244 (origin
12245 (method url-fetch)
12246 (uri (string-append "https://hackage.haskell.org/package/"
12247 "tar-conduit/tar-conduit-" version ".tar.gz"))
12248 (sha256
12249 (base32
12250 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12251 (build-system haskell-build-system)
12252 (inputs
12253 `(("ghc-conduit" ,ghc-conduit)
12254 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12255 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12256 (native-inputs
12257 `(("ghc-quickcheck" ,ghc-quickcheck)
12258 ("ghc-conduit-extra" ,ghc-conduit-extra)
12259 ("ghc-hspec" ,ghc-hspec)
12260 ("ghc-hspec" ,ghc-hspec)
12261 ("ghc-weigh" ,ghc-weigh)))
12262 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12263 (synopsis "Extract and create tar files using conduit for streaming")
12264 (description "This library provides a conduit-based, streaming
12265interface for extracting and creating tar files.")
12266 (license license:expat)))
12267
dddbc90c
RV
12268(define-public ghc-temporary
12269 (package
12270 (name "ghc-temporary")
12271 (version "1.3")
12272 (source
12273 (origin
12274 (method url-fetch)
12275 (uri (string-append
12276 "https://hackage.haskell.org/package/temporary/temporary-"
12277 version
12278 ".tar.gz"))
12279 (sha256
12280 (base32
12281 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12282 (build-system haskell-build-system)
12283 (inputs
12284 `(("ghc-exceptions" ,ghc-exceptions)
12285 ("ghc-random" ,ghc-random)))
12286 (native-inputs
12287 `(("ghc-base-compat" ,ghc-base-compat)
12288 ("ghc-tasty" ,ghc-tasty)
12289 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12290 (home-page "https://www.github.com/batterseapower/temporary")
12291 (synopsis "Temporary file and directory support")
12292 (description "The functions for creating temporary files and directories
12293in the Haskelll base library are quite limited. This library just repackages
12294the Cabal implementations of its own temporary file and folder functions so
12295that you can use them without linking against Cabal or depending on it being
12296installed.")
12297 (license license:bsd-3)))
12298
12299(define-public ghc-temporary-rc
12300 (package
12301 (name "ghc-temporary-rc")
12302 (version "1.2.0.3")
12303 (source
12304 (origin
12305 (method url-fetch)
12306 (uri (string-append
12307 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12308 version
12309 ".tar.gz"))
12310 (sha256
12311 (base32
12312 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12313 (build-system haskell-build-system)
12314 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12315 (home-page
12316 "https://www.github.com/feuerbach/temporary")
12317 (synopsis
12318 "Portable temporary file and directory support")
12319 (description
12320 "The functions for creating temporary files and directories in the base
12321library are quite limited. The unixutils package contains some good ones, but
12322they aren't portable to Windows. This library just repackages the Cabal
12323implementations of its own temporary file and folder functions so that you can
12324use them without linking against Cabal or depending on it being installed.
12325This is a better maintained fork of the \"temporary\" package.")
12326 (license license:bsd-3)))
12327
12328(define-public ghc-terminal-size
12329 (package
12330 (name "ghc-terminal-size")
12331 (version "0.3.2.1")
12332 (source (origin
12333 (method url-fetch)
12334 (uri (string-append
12335 "https://hackage.haskell.org/package/terminal-size/"
12336 "terminal-size-" version ".tar.gz"))
12337 (sha256
12338 (base32
12339 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12340 (build-system haskell-build-system)
12341 (home-page "https://hackage.haskell.org/package/terminal-size")
12342 (synopsis "Get terminal window height and width")
12343 (description "Get terminal window height and width without ncurses
12344dependency.")
12345 (license license:bsd-3)))
12346
12347(define-public ghc-texmath
12348 (package
12349 (name "ghc-texmath")
7fec7e66 12350 (version "0.11.3")
dddbc90c
RV
12351 (source (origin
12352 (method url-fetch)
12353 (uri (string-append "https://hackage.haskell.org/package/"
12354 "texmath/texmath-" version ".tar.gz"))
12355 (sha256
12356 (base32
7fec7e66 12357 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12358 (build-system haskell-build-system)
12359 (inputs
12360 `(("ghc-syb" ,ghc-syb)
12361 ("ghc-network-uri" ,ghc-network-uri)
12362 ("ghc-split" ,ghc-split)
12363 ("ghc-temporary" ,ghc-temporary)
12364 ("ghc-utf8-string" ,ghc-utf8-string)
12365 ("ghc-xml" ,ghc-xml)
12366 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12367 (home-page "https://github.com/jgm/texmath")
12368 (synopsis "Conversion between formats used to represent mathematics")
12369 (description
12370 "The texmath library provides functions to read and write TeX math,
12371presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12372Office). Support is also included for converting math formats to pandoc's
12373native format (allowing conversion, via pandoc, to a variety of different
12374markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12375it can parse and apply LaTeX macros.")
12376 (license license:gpl2+)))
12377
12378(define-public ghc-text-binary
12379 (package
12380 (name "ghc-text-binary")
12381 (version "0.2.1.1")
12382 (source
12383 (origin
12384 (method url-fetch)
12385 (uri (string-append "https://hackage.haskell.org/package/"
12386 "text-binary/text-binary-"
12387 version ".tar.gz"))
12388 (sha256
12389 (base32
12390 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12391 (build-system haskell-build-system)
12392 (home-page "https://github.com/kawu/text-binary")
12393 (synopsis "Binary instances for text types")
12394 (description
12395 "This package provides a compatibility layer providing @code{Binary}
12396instances for strict and lazy text types for versions older than 1.2.1 of the
12397text package.")
12398 (license license:bsd-2)))
12399
714e5605
JS
12400(define-public ghc-text-manipulate
12401 (package
12402 (name "ghc-text-manipulate")
12403 (version "0.2.0.1")
12404 (source
12405 (origin
12406 (method url-fetch)
12407 (uri (string-append
12408 "https://hackage.haskell.org/package/text-manipulate"
12409 "/text-manipulate-"
12410 version
12411 ".tar.gz"))
12412 (sha256
12413 (base32
12414 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12415 (build-system haskell-build-system)
12416 (native-inputs
12417 `(("ghc-tasty" ,ghc-tasty)
12418 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12419 (home-page
12420 "https://github.com/brendanhay/text-manipulate")
12421 (synopsis
12422 "Case conversion, word boundary manipulation, and textual subjugation")
12423 (description
12424 "Manipulate identifiers and structurally non-complex pieces of text by
12425delimiting word boundaries via a combination of whitespace,
12426control-characters, and case-sensitivity.
12427
12428Has support for common idioms like casing of programmatic variable names,
12429taking, dropping, and splitting by word, and modifying the first character of
12430a piece of text.
12431
12432Caution: this library makes heavy use of the text library's internal loop
12433optimisation framework. Since internal modules are not guaranteed to have a
12434stable API there is potential for build breakage when the text dependency is
12435upgraded. Consider yourself warned!")
12436 (license license:mpl2.0)))
12437
bdc877c4
TS
12438(define-public ghc-text-metrics
12439 (package
12440 (name "ghc-text-metrics")
12441 (version "0.3.0")
12442 (source
12443 (origin
12444 (method url-fetch)
12445 (uri (string-append "https://hackage.haskell.org/package/"
12446 "text-metrics/text-metrics-" version ".tar.gz"))
12447 (sha256
12448 (base32
12449 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12450 (build-system haskell-build-system)
12451 (inputs
12452 `(("ghc-vector" ,ghc-vector)))
12453 (native-inputs
12454 `(("ghc-quickcheck" ,ghc-quickcheck)
12455 ("ghc-hspec" ,ghc-hspec)))
12456 (arguments
12457 `(#:cabal-revision
12458 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12459 (home-page "https://github.com/mrkkrp/text-metrics")
12460 (synopsis "Calculate various string metrics efficiently")
12461 (description "This library provides tools to calculate various
12462string metrics efficiently.")
12463 (license license:bsd-3)))
12464
dddbc90c
RV
12465(define-public ghc-tf-random
12466 (package
12467 (name "ghc-tf-random")
12468 (version "0.5")
12469 (outputs '("out" "doc"))
12470 (source
12471 (origin
12472 (method url-fetch)
12473 (uri (string-append
12474 "https://hackage.haskell.org/package/tf-random/tf-random-"
12475 version
12476 ".tar.gz"))
12477 (sha256
12478 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12479 (build-system haskell-build-system)
12480 (inputs
12481 `(("ghc-primitive" ,ghc-primitive)
12482 ("ghc-random" ,ghc-random)))
12483 (home-page "https://hackage.haskell.org/package/tf-random")
12484 (synopsis "High-quality splittable pseudorandom number generator")
12485 (description "This package contains an implementation of a high-quality
12486splittable pseudorandom number generator. The generator is based on a
12487cryptographic hash function built on top of the ThreeFish block cipher. See
12488the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12489Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12490 (license license:bsd-3)))
12491
12492(define-public ghc-th-abstraction
12493 (package
12494 (name "ghc-th-abstraction")
1188eabb 12495 (version "0.3.1.0")
dddbc90c
RV
12496 (source
12497 (origin
12498 (method url-fetch)
12499 (uri (string-append "https://hackage.haskell.org/package/"
12500 "th-abstraction/th-abstraction-"
12501 version ".tar.gz"))
12502 (sha256
12503 (base32
1188eabb 12504 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12505 (build-system haskell-build-system)
12506 (home-page "https://github.com/glguy/th-abstraction")
12507 (synopsis "Nicer interface for reified information about data types")
12508 (description
12509 "This package normalizes variations in the interface for inspecting
12510datatype information via Template Haskell so that packages and support a
12511single, easier to use informational datatype while supporting many versions of
12512Template Haskell.")
12513 (license license:isc)))
12514
12515(define-public ghc-th-expand-syns
12516 (package
12517 (name "ghc-th-expand-syns")
8c766600 12518 (version "0.4.5.0")
dddbc90c
RV
12519 (source (origin
12520 (method url-fetch)
12521 (uri (string-append "https://hackage.haskell.org/package/"
12522 "th-expand-syns/th-expand-syns-"
12523 version ".tar.gz"))
12524 (sha256
12525 (base32
8c766600 12526 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12527 (build-system haskell-build-system)
12528 (inputs
12529 `(("ghc-syb" ,ghc-syb)))
12530 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12531 (synopsis "Expands type synonyms in Template Haskell ASTs")
12532 (description
12533 "This package enables users to expand type synonyms in Template Haskell
12534@dfn{abstract syntax trees} (ASTs).")
12535 (license license:bsd-3)))
12536
12537(define-public ghc-th-lift
12538 (package
12539 (name "ghc-th-lift")
bd76b20a 12540 (version "0.8.0.1")
dddbc90c
RV
12541 (source (origin
12542 (method url-fetch)
12543 (uri (string-append "https://hackage.haskell.org/package/"
12544 "th-lift/th-lift-" version ".tar.gz"))
12545 (sha256
12546 (base32
bd76b20a 12547 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12548 (build-system haskell-build-system)
12549 (inputs
12550 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12551 (home-page "https://github.com/mboes/th-lift")
12552 (synopsis "Derive Template Haskell's Lift class for datatypes")
12553 (description
12554 "This is a Haskell library to derive Template Haskell's Lift class for
12555datatypes.")
12556 (license license:bsd-3)))
12557
12558(define-public ghc-th-lift-instances
12559 (package
12560 (name "ghc-th-lift-instances")
d3db399e 12561 (version "0.1.14")
dddbc90c
RV
12562 (source
12563 (origin
12564 (method url-fetch)
12565 (uri (string-append "https://hackage.haskell.org/package/"
12566 "th-lift-instances/th-lift-instances-"
12567 version ".tar.gz"))
12568 (sha256
12569 (base32
d3db399e 12570 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12571 (build-system haskell-build-system)
12572 (inputs
12573 `(("ghc-th-lift" ,ghc-th-lift)
12574 ("ghc-vector" ,ghc-vector)
12575 ("ghc-quickcheck" ,ghc-quickcheck)))
12576 (home-page "https://github.com/bennofs/th-lift-instances/")
12577 (synopsis "Lift instances for template-haskell for common data types.")
12578 (description "Most data types in the Haskell platform do not have Lift
12579instances. This package provides orphan instances for @code{containers},
12580@code{text}, @code{bytestring} and @code{vector}.")
12581 (license license:bsd-3)))
12582
12583(define-public ghc-th-orphans
12584 (package
12585 (name "ghc-th-orphans")
882b23e2 12586 (version "0.13.9")
dddbc90c
RV
12587 (source (origin
12588 (method url-fetch)
12589 (uri (string-append "https://hackage.haskell.org/package/"
12590 "th-orphans/th-orphans-" version ".tar.gz"))
12591 (sha256
12592 (base32
882b23e2 12593 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12594 (build-system haskell-build-system)
12595 (inputs
12596 `(("ghc-th-lift" ,ghc-th-lift)
12597 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12598 ("ghc-th-reify-many" ,ghc-th-reify-many)
12599 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12600 (native-inputs
12601 `(("ghc-hspec" ,ghc-hspec)))
12602 (home-page "https://hackage.haskell.org/package/th-orphans")
12603 (synopsis "Orphan instances for TH datatypes")
12604 (description
12605 "This package provides orphan instances for Template Haskell datatypes. In particular,
12606instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12607and @code{Eq} instances. These instances used to live in the haskell-src-meta
12608package, and that's where the version number started.")
12609 (license license:bsd-3)))
12610
20c440ea
JS
12611(define-public ghc-these
12612 (package
12613 (name "ghc-these")
12614 (version "1.0.1")
12615 (source
12616 (origin
12617 (method url-fetch)
12618 (uri (string-append
12619 "https://hackage.haskell.org/package/these/these-"
12620 version
12621 ".tar.gz"))
12622 (sha256
12623 (base32
12624 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12625 (build-system haskell-build-system)
12626 (inputs
12627 `(("ghc-base-compat" ,ghc-base-compat)
12628 ("ghc-hashable" ,ghc-hashable)
12629 ("ghc-aeson" ,ghc-aeson)
12630 ("ghc-unordered-containers" ,ghc-unordered-containers)
12631 ("ghc-assoc" ,ghc-assoc)
12632 ("ghc-semigroupoids" ,ghc-semigroupoids)
12633 ("ghc-quickcheck" ,ghc-quickcheck)))
12634 (arguments
12635 `(#:cabal-revision
12636 ("1"
12637 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12638 (home-page
12639 "https://github.com/isomorphism/these")
12640 (synopsis "Either-or-both data type")
12641 (description
12642 "This package provides a data type @code{These a b} which can
12643hold a value of either type or values of each type. This is usually
12644thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12645\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12646as \"inner join\").
12647
12648@code{data These a b = This a | That b | These a b}
12649
12650Since version 1, this package was split into parts:
12651
12652@itemize
12653@item
12654https://hackage.haskell.org/package/semialign For @code{Align} and
12655@code{Zip} type-classes.
12656@item
12657https://hackage.haskell.org/package/semialign-indexed For
12658@code{SemialignWithIndex} class, providing @code{ialignWith} and
12659@code{izipWith}
12660@item
12661https://hackage.haskell.org/package/these-lens For lens combinators.
12662@item
12663http://hackage.haskell.org/package/monad-chronicle For transformers
12664variant of @code{These}.
12665@end itemize")
12666 (license license:bsd-3)))
12667
dddbc90c
RV
12668(define-public ghc-threads
12669 (package
12670 (name "ghc-threads")
12671 (version "0.5.1.6")
12672 (source
12673 (origin
12674 (method url-fetch)
12675 (uri (string-append "https://hackage.haskell.org/package/"
12676 "threads/threads-" version ".tar.gz"))
12677 (sha256
12678 (base32
12679 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12680 (build-system haskell-build-system)
12681 (native-inputs
12682 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12683 ("ghc-hunit" ,ghc-hunit)
12684 ("ghc-test-framework" ,ghc-test-framework)
12685 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12686 (home-page "https://github.com/basvandijk/threads")
12687 (synopsis "Fork threads and wait for their result")
12688 (description "This package provides functions to fork threads and
12689wait for their result, whether it's an exception or a normal value.
12690Besides waiting for the termination of a single thread this package also
12691provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12692package is similar to the @code{threadmanager}, @code{async} and
12693@code{spawn} packages. The advantages of this package are:
12694
dddbc90c
RV
12695@itemize
12696@item Simpler API.
12697@item More efficient in both space and time.
12698@item No space-leak when forking a large number of threads.
12699@item Correct handling of asynchronous exceptions.
12700@item GHC specific functionality like @code{forkOn} and
12701@code{forkIOWithUnmask}.
12702@end itemize")
12703 (license license:bsd-3)))
12704
12705(define-public ghc-th-reify-many
12706 (package
12707 (name "ghc-th-reify-many")
32d4a6ae 12708 (version "0.1.9")
dddbc90c
RV
12709 (source (origin
12710 (method url-fetch)
12711 (uri (string-append "https://hackage.haskell.org/package/"
12712 "th-reify-many/th-reify-many-"
12713 version ".tar.gz"))
12714 (sha256
12715 (base32
32d4a6ae 12716 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12717 (build-system haskell-build-system)
12718 (inputs
12719 `(("ghc-safe" ,ghc-safe)
12720 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12721 (home-page "https://github.com/mgsloan/th-reify-many")
12722 (synopsis "Recurseively reify template haskell datatype info")
12723 (description
12724 "th-reify-many provides functions for recursively reifying top level
12725declarations. The main intended use case is for enumerating the names of
12726datatypes reachable from an initial datatype, and passing these names to some
12727function which generates instances.")
12728 (license license:bsd-3)))
12729
75cfc9a2
TS
12730(define-public ghc-time-compat
12731 (package
12732 (name "ghc-time-compat")
12733 (version "1.9.2.2")
12734 (source
12735 (origin
12736 (method url-fetch)
12737 (uri (string-append "https://hackage.haskell.org/package/"
12738 "time-compat/time-compat-" version ".tar.gz"))
12739 (sha256
12740 (base32
12741 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12742 (build-system haskell-build-system)
12743 (inputs
12744 `(("ghc-base-orphans" ,ghc-base-orphans)))
12745 (native-inputs
12746 `(("ghc-hunit" ,ghc-hunit)
12747 ("ghc-base-compat" ,ghc-base-compat)
12748 ("ghc-quickcheck" ,ghc-quickcheck)
12749 ("ghc-tagged" ,ghc-tagged)
12750 ("ghc-tasty" ,ghc-tasty)
12751 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12752 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12753 (arguments
12754 `(#:cabal-revision
12755 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12756 (home-page "https://github.com/phadej/time-compat")
12757 (synopsis "Compatibility package for time")
a8d73e69 12758 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12759features as possible.")
12760 (license license:bsd-3)))
12761
dddbc90c
RV
12762(define-public ghc-time-locale-compat
12763 (package
12764 (name "ghc-time-locale-compat")
12765 (version "0.1.1.5")
12766 (source
12767 (origin
12768 (method url-fetch)
12769 (uri (string-append "https://hackage.haskell.org/package/"
12770 "time-locale-compat/time-locale-compat-"
12771 version ".tar.gz"))
12772 (sha256
12773 (base32
12774 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12775 (build-system haskell-build-system)
12776 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12777 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12778 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12779 (description "This package contains a wrapped name module for
12780@code{TimeLocale}.")
12781 (license license:bsd-3)))
12782
c022a4d4
TS
12783(define-public ghc-time-manager
12784 (package
12785 (name "ghc-time-manager")
12786 (version "0.0.0")
12787 (source
12788 (origin
12789 (method url-fetch)
12790 (uri (string-append "https://hackage.haskell.org/package/"
12791 "time-manager/time-manager-" version ".tar.gz"))
12792 (sha256
12793 (base32
12794 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12795 (build-system haskell-build-system)
12796 (inputs
12797 `(("ghc-auto-update" ,ghc-auto-update)))
12798 (home-page "https://github.com/yesodweb/wai")
12799 (synopsis "Scalable timer")
12800 (description "This library contains scalable timer functions provided by a
12801timer manager.")
12802 (license license:expat)))
12803
7bbfa392
JS
12804(define-public ghc-timeit
12805 (package
12806 (name "ghc-timeit")
12807 (version "2.0")
12808 (source
12809 (origin
12810 (method url-fetch)
12811 (uri
12812 (string-append
12813 "https://hackage.haskell.org/package/timeit/timeit-"
12814 version ".tar.gz"))
12815 (sha256
12816 (base32
12817 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12818 (build-system haskell-build-system)
12819 (home-page "https://github.com/merijn/timeit")
12820 (synopsis "Time monadic computations with an IO base")
12821 (description "This package provides a simple wrapper to show the
12822used CPU time of monadic computation with an IO base.")
12823 (license license:bsd-3)))
12824
2ed8bd2d
JS
12825(define-public ghc-timezone-series
12826 (package
12827 (name "ghc-timezone-series")
12828 (version "0.1.9")
12829 (source
12830 (origin
12831 (method url-fetch)
12832 (uri
12833 (string-append
12834 "mirror://hackage/package/timezone-series/timezone-series-"
12835 version ".tar.gz"))
12836 (sha256
12837 (base32
12838 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12839 (build-system haskell-build-system)
12840 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12841 (synopsis "Enhanced timezone handling for Time")
12842 (description
12843 "This package endows @code{Data.Time}, from the time package, with several
12844data types and functions for enhanced processing of timezones. For one way to
12845create timezone series, see the ghc-timezone-olson package.")
12846 (license license:bsd-3)))
12847
ff0f5786
JS
12848(define-public ghc-timezone-olson
12849 (package
12850 (name "ghc-timezone-olson")
12851 (version "0.1.9")
12852 (source
12853 (origin
12854 (method url-fetch)
12855 (uri
12856 (string-append
12857 "mirror://hackage/package/timezone-olson/timezone-olson-"
12858 version ".tar.gz"))
12859 (sha256
12860 (base32
12861 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12862 (build-system haskell-build-system)
12863 (inputs
12864 `(("ghc-timezone-series" ,ghc-timezone-series)
12865 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12866 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12867 (synopsis "Parser and renderer for binary Olson timezone files")
12868 (description
12869 "A parser and renderer for binary Olson timezone files whose format
12870is specified by the tzfile(5) man page on Unix-like systems. For more
12871information about this format, see
12872@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12873are provided for converting the parsed data into @code{TimeZoneSeries}
12874objects from the timezone-series package.")
12875 (license license:bsd-3)))
12876
dddbc90c
RV
12877(define-public ghc-tldr
12878 (package
12879 (name "ghc-tldr")
871ceb31 12880 (version "0.4.0.2")
dddbc90c
RV
12881 (source
12882 (origin
12883 (method url-fetch)
12884 (uri (string-append
12885 "https://hackage.haskell.org/package/tldr/tldr-"
12886 version
12887 ".tar.gz"))
12888 (sha256
12889 (base32
871ceb31 12890 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
12891 (build-system haskell-build-system)
12892 (inputs
12893 `(("ghc-cmark" ,ghc-cmark)
12894 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12895 ("ghc-typed-process" ,ghc-typed-process)
12896 ("ghc-semigroups" ,ghc-semigroups)))
12897 (native-inputs
12898 `(("ghc-tasty" ,ghc-tasty)
12899 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12900 (home-page "https://github.com/psibi/tldr-hs#readme")
12901 (synopsis "Haskell tldr client")
12902 (description "This package provides the @command{tldr} command and a
12903Haskell client library allowing users to update and view @code{tldr} pages
12904from a shell. The @code{tldr} pages are a community effort to simplify the
12905man pages with practical examples.")
12906 (license license:bsd-3)))
12907
460e4e42
JS
12908(define-public ghc-transformers
12909 (package
12910 (name "ghc-transformers")
12911 (version "0.5.6.2")
12912 (source
12913 (origin
12914 (method url-fetch)
12915 (uri (string-append
12916 "mirror://hackage/package/transformers/transformers-"
12917 version
12918 ".tar.gz"))
12919 (sha256
12920 (base32
12921 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
12922 (build-system haskell-build-system)
12923 (home-page
12924 "http://hackage.haskell.org/package/transformers")
12925 (synopsis "Concrete functor and monad transformers")
12926 (description
12927 "Transformers provides functor and monad transformers, inspired by the
12928paper \"Functional Programming with Overloading and Higher-Order
12929Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
129301995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
12931
12932This package contains:
12933@itemize
12934@item the monad transformer class (in @code{Control.Monad.Trans.Class})
12935@item concrete functor and monad transformers, each with associated operations
12936and functions to lift operations associated with other transformers.
12937@end itemize
12938
12939This package can be used on its own in portable Haskell code, in which case
12940operations need to be manually lifted through transformer stacks (see
12941@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
12942used with the non-portable monad classes in the mtl or monads-tf packages,
12943which automatically lift operations introduced by monad transformers through
12944other transformers.")
12945 (license license:bsd-3)))
12946
dddbc90c
RV
12947(define-public ghc-transformers-base
12948 (package
12949 (name "ghc-transformers-base")
12950 (version "0.4.5.2")
12951 (source
12952 (origin
12953 (method url-fetch)
12954 (uri (string-append
12955 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
12956 version
12957 ".tar.gz"))
12958 (sha256
12959 (base32
12960 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
12961 (build-system haskell-build-system)
12962 (inputs
12963 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12964 (home-page
12965 "https://hackage.haskell.org/package/transformers-compat")
12966 (synopsis
12967 "Backported transformer library")
12968 (description
12969 "Backported versions of types that were added to transformers in
12970transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
12971compatibility to run on old versions of the platform.")
12972 (license license:bsd-3)))
12973
12974(define-public ghc-transformers-compat
12975 (package
12976 (name "ghc-transformers-compat")
1c9c4d58 12977 (version "0.6.5")
dddbc90c
RV
12978 (source
12979 (origin
12980 (method url-fetch)
12981 (uri (string-append
12982 "https://hackage.haskell.org/package/transformers-compat"
12983 "/transformers-compat-" version ".tar.gz"))
12984 (sha256
12985 (base32
1c9c4d58 12986 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
12987 (build-system haskell-build-system)
12988 (home-page "https://github.com/ekmett/transformers-compat/")
12989 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
12990 (description "This package includes backported versions of types that were
12991added to transformers in transformers 0.3 and 0.4 for users who need strict
12992transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
12993but also need those types.")
12994 (license license:bsd-3)))
12995
12996(define-public ghc-tree-diff
12997 (package
12998 (name "ghc-tree-diff")
b4e26067 12999 (version "0.1")
dddbc90c
RV
13000 (source
13001 (origin
13002 (method url-fetch)
13003 (uri (string-append
13004 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13005 version
13006 ".tar.gz"))
13007 (sha256
13008 (base32
b4e26067 13009 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13010 (build-system haskell-build-system)
dddbc90c
RV
13011 (inputs
13012 `(("ghc-aeson" ,ghc-aeson)
13013 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13014 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13015 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13016 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13017 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13018 ("ghc-parsers" ,ghc-parsers)
13019 ("ghc-quickcheck" ,ghc-quickcheck)
13020 ("ghc-scientific" ,ghc-scientific)
13021 ("ghc-tagged" ,ghc-tagged)
13022 ("ghc-unordered-containers" ,ghc-unordered-containers)
13023 ("ghc-uuid-types" ,ghc-uuid-types)
13024 ("ghc-vector" ,ghc-vector)))
13025 (native-inputs
13026 `(("ghc-base-compat" ,ghc-base-compat)
13027 ("ghc-quickcheck" ,ghc-quickcheck)
13028 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13029 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13030 ("ghc-trifecta" ,ghc-trifecta)
13031 ("ghc-tasty" ,ghc-tasty)
13032 ("ghc-tasty-golden" ,ghc-tasty-golden)
13033 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13034 (home-page "https://github.com/phadej/tree-diff")
13035 (synopsis "Compute difference between (expression) trees")
13036 (description "This Haskell library provides a function for computing
13037the difference between (expression) trees. It also provides a way to
13038compute the difference between arbitrary abstract datatypes (ADTs) using
13039@code{Generics}-derivable helpers.")
13040 (license license:bsd-3)))
13041
13042(define-public ghc-trifecta
13043 (package
13044 (name "ghc-trifecta")
13045 (version "2")
13046 (source (origin
13047 (method url-fetch)
13048 (uri (string-append
13049 "https://hackage.haskell.org/package/trifecta/"
13050 "trifecta-" version ".tar.gz"))
13051 (sha256
13052 (base32
13053 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13054 (build-system haskell-build-system)
5ffe8cfd
TS
13055 (arguments
13056 `(#:tests? #f ; doctest suite fails to build on i686
13057 #:cabal-revision
13058 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13059 (inputs
13060 `(("ghc-reducers" ,ghc-reducers)
13061 ("ghc-semigroups" ,ghc-semigroups)
13062 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13063 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13064 ("ghc-blaze-builder" ,ghc-blaze-builder)
13065 ("ghc-blaze-html" ,ghc-blaze-html)
13066 ("ghc-blaze-markup" ,ghc-blaze-markup)
13067 ("ghc-charset" ,ghc-charset)
13068 ("ghc-comonad" ,ghc-comonad)
13069 ("ghc-fingertree" ,ghc-fingertree)
13070 ("ghc-hashable" ,ghc-hashable)
13071 ("ghc-lens" ,ghc-lens)
13072 ("ghc-parsers" ,ghc-parsers)
13073 ("ghc-profunctors" ,ghc-profunctors)
13074 ("ghc-unordered-containers" ,ghc-unordered-containers)
13075 ("ghc-utf8-string" ,ghc-utf8-string)))
13076 (native-inputs
13077 `(("cabal-doctest" ,cabal-doctest)
13078 ("ghc-doctest" ,ghc-doctest)
13079 ("ghc-quickcheck" ,ghc-quickcheck)))
13080 (home-page "https://github.com/ekmett/trifecta/")
13081 (synopsis "Parser combinator library with convenient diagnostics")
13082 (description "Trifecta is a modern parser combinator library for Haskell,
13083with slicing and Clang-style colored diagnostics.")
13084 (license license:bsd-3)))
13085
13086(define-public ghc-tuple-th
13087 (package
13088 (name "ghc-tuple-th")
13089 (version "0.2.5")
13090 (source
13091 (origin
13092 (method url-fetch)
13093 (uri (string-append "https://hackage.haskell.org/package/"
13094 "tuple-th-" version "/"
13095 "tuple-th-" version ".tar.gz"))
13096 (sha256
13097 (base32
13098 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13099 (build-system haskell-build-system)
13100 (home-page "https://github.com/DanielSchuessler/tuple-th")
13101 (synopsis "Generate utility functions for tuples of statically known size
13102for Haskell")
13103 (description "This Haskell package contains Template Haskell functions for
13104generating functions similar to those in @code{Data.List} for tuples of
13105statically known size.")
13106 (license license:bsd-3)))
13107
9f776fe2
JS
13108(define-public ghc-turtle
13109 (package
13110 (name "ghc-turtle")
13111 (version "1.5.15")
13112 (source
13113 (origin
13114 (method url-fetch)
13115 (uri (string-append
13116 "mirror://hackage/package/turtle/turtle-"
13117 version
13118 ".tar.gz"))
13119 (sha256
13120 (base32
13121 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13122 (build-system haskell-build-system)
13123 (inputs
13124 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13125 ("ghc-async" ,ghc-async)
13126 ("ghc-clock" ,ghc-clock)
13127 ("ghc-exceptions" ,ghc-exceptions)
13128 ("ghc-foldl" ,ghc-foldl)
13129 ("ghc-hostname" ,ghc-hostname)
13130 ("ghc-managed" ,ghc-managed)
13131 ("ghc-semigroups" ,ghc-semigroups)
13132 ("ghc-system-filepath" ,ghc-system-filepath)
13133 ("ghc-system-fileio" ,ghc-system-fileio)
13134 ("ghc-streaming-commons" ,ghc-streaming-commons)
13135 ("ghc-temporary" ,ghc-temporary)
13136 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13137 ("ghc-optional-args" ,ghc-optional-args)
13138 ("ghc-unix-compat" ,ghc-unix-compat)))
13139 (native-inputs
13140 `(("ghc-doctest" ,ghc-doctest)
13141 ("ghc-fail" ,ghc-fail)))
13142 (arguments
13143 `(#:cabal-revision
13144 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13145 (home-page
13146 "http://hackage.haskell.org/package/turtle")
13147 (synopsis "Shell programming, Haskell-style")
13148 (description
13149 "Turtle is a reimplementation of the Unix command line environment in
13150Haskell so that you can use Haskell as both a shell and a scripting
13151language. Features include:
13152
13153@itemize
13154@item Batteries included: Command an extended suite of predefined utilities.
13155@item Interoperability: You can still run external shell commands.
13156@item Portability: Works on Windows, OS X, and Linux.
13157@item Exception safety: Safely acquire and release resources.
13158@item Streaming: Transform or fold command output in constant space.
13159@item Patterns: Use typed regular expressions that can parse structured values.
13160@item Formatting: Type-safe printf-style text formatting.
13161@item Modern: Supports text and system-filepath.
13162@end itemize
13163
13164Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13165quick-start guide. Turtle is designed to be beginner-friendly, but as a
13166result lacks certain features, like tracing commands. If you feel comfortable
13167using turtle then you should also check out the Shelly library which provides
13168similar functionality.")
13169 (license license:bsd-3)))
13170
dddbc90c
RV
13171(define-public ghc-typed-process
13172 (package
13173 (name "ghc-typed-process")
72fb84a5 13174 (version "0.2.6.0")
dddbc90c
RV
13175 (source
13176 (origin
13177 (method url-fetch)
13178 (uri (string-append "https://hackage.haskell.org/package/"
13179 "typed-process/typed-process-"
13180 version ".tar.gz"))
13181 (sha256
13182 (base32
72fb84a5 13183 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13184 (build-system haskell-build-system)
13185 (inputs
72fb84a5
TS
13186 `(("ghc-async" ,ghc-async)
13187 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13188 (native-inputs
13189 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13190 ("ghc-hspec" ,ghc-hspec)
13191 ("hspec-discover" ,hspec-discover)
13192 ("ghc-temporary" ,ghc-temporary)))
13193 (home-page "https://haskell-lang.org/library/typed-process")
13194 (synopsis "Run external processes with strong typing of streams")
13195 (description
13196 "This library provides the ability to launch and interact with external
13197processes. It wraps around the @code{process} library, and intends to improve
13198upon it.")
13199 (license license:expat)))
13200
d392f803
AG
13201(define-public ghc-unagi-chan
13202 (package
13203 (name "ghc-unagi-chan")
13204 (version "0.4.1.2")
13205 (source
13206 (origin
13207 (method url-fetch)
13208 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13209 "/unagi-chan-" version ".tar.gz"))
13210 (sha256
13211 (base32
13212 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13213 (build-system haskell-build-system)
13214 (inputs
13215 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13216 ("ghc-primitive" ,ghc-primitive)))
13217 (arguments
13218 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13219 #:cabal-revision
13220 ("1"
13221 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13222 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13223 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13224 (description
13225 "This library provides implementations of concurrent FIFO queues (for
13226both general boxed and primitive unboxed values) that are fast, perform well
13227under contention, and offer a Chan-like interface. The library may be of
13228limited usefulness outside of x86 architectures where the fetch-and-add
13229instruction is not available.")
13230 (license license:bsd-3)))
13231
dddbc90c
RV
13232(define-public ghc-unbounded-delays
13233 (package
13234 (name "ghc-unbounded-delays")
13235 (version "0.1.1.0")
13236 (source
13237 (origin
13238 (method url-fetch)
13239 (uri (string-append
13240 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13241 version
13242 ".tar.gz"))
13243 (sha256
13244 (base32
13245 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13246 (build-system haskell-build-system)
13247 (home-page "https://github.com/basvandijk/unbounded-delays")
13248 (synopsis "Unbounded thread delays and timeouts")
13249 (description "The @code{threadDelay} and @code{timeout} functions from the
13250Haskell base library use the bounded @code{Int} type for specifying the delay
13251or timeout period. This package provides alternative functions which use the
13252unbounded @code{Integer} type.")
13253 (license license:bsd-3)))
13254
13255(define-public ghc-unexceptionalio
13256 (package
13257 (name "ghc-unexceptionalio")
13258 (version "0.4.0")
13259 (source
13260 (origin
13261 (method url-fetch)
13262 (uri (string-append "https://hackage.haskell.org/package/"
13263 "unexceptionalio-" version "/" "unexceptionalio-"
13264 version ".tar.gz"))
13265 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13266 (build-system haskell-build-system)
13267 (home-page "https://github.com/singpolyma/unexceptionalio")
13268 (synopsis "IO without any non-error, synchronous exceptions")
13269 (description "When you've caught all the exceptions that can be
13270handled safely, this is what you're left with.")
13271 (license license:isc)))
13272
b69d4aa7
TS
13273(define-public ghc-unicode-transforms
13274 (package
13275 (name "ghc-unicode-transforms")
13276 (version "0.3.6")
13277 (source
13278 (origin
13279 (method url-fetch)
13280 (uri (string-append "https://hackage.haskell.org/package/"
13281 "unicode-transforms/unicode-transforms-"
13282 version ".tar.gz"))
13283 (sha256
13284 (base32
13285 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13286 (build-system haskell-build-system)
13287 (inputs
13288 `(("ghc-bitarray" ,ghc-bitarray)))
13289 (native-inputs
13290 `(("ghc-quickcheck" ,ghc-quickcheck)
13291 ("ghc-getopt-generics" ,ghc-getopt-generics)
13292 ("ghc-split" ,ghc-split)))
13293 (home-page "https://github.com/composewell/unicode-transforms")
13294 (synopsis "Unicode normalization")
13295 (description "This library provides tools for fast Unicode 12.1.0
13296normalization in Haskell (normalization forms C, KC, D, and KD).")
13297 (license license:bsd-3)))
13298
dddbc90c
RV
13299(define-public ghc-union-find
13300 (package
13301 (name "ghc-union-find")
13302 (version "0.2")
13303 (source (origin
13304 (method url-fetch)
13305 (uri (string-append
13306 "https://hackage.haskell.org/package/union-find/union-find-"
13307 version ".tar.gz"))
13308 (sha256
13309 (base32
13310 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13311 (build-system haskell-build-system)
13312 (home-page "https://github.com/nominolo/union-find")
13313 (synopsis "Efficient union and equivalence testing of sets")
13314 (description
13315 "The Union/Find algorithm implements these operations in (effectively)
13316constant-time:
13317@enumerate
13318@item Check whether two elements are in the same equivalence class.
13319@item Create a union of two equivalence classes.
13320@item Look up the descriptor of the equivalence class.
13321@end enumerate\n")
13322 (license license:bsd-3)))
13323
13324(define-public ghc-uniplate
13325 (package
13326 (name "ghc-uniplate")
13327 (version "1.6.12")
13328 (source
13329 (origin
13330 (method url-fetch)
13331 (uri (string-append
13332 "https://hackage.haskell.org/package/uniplate/uniplate-"
13333 version
13334 ".tar.gz"))
13335 (sha256
13336 (base32
13337 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13338 (build-system haskell-build-system)
13339 (inputs
13340 `(("ghc-syb" ,ghc-syb)
13341 ("ghc-hashable" ,ghc-hashable)
13342 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13343 (home-page "http://community.haskell.org/~ndm/uniplate/")
13344 (synopsis "Simple, concise and fast generic operations")
13345 (description "Uniplate is a library for writing simple and concise generic
13346operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13347work, but is substantially simpler and faster.")
13348 (license license:bsd-3)))
13349
13350(define-public ghc-unix-compat
13351 (package
13352 (name "ghc-unix-compat")
bc82e9f5 13353 (version "0.5.2")
dddbc90c
RV
13354 (source
13355 (origin
13356 (method url-fetch)
13357 (uri (string-append
13358 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13359 version
13360 ".tar.gz"))
13361 (sha256
13362 (base32
bc82e9f5 13363 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13364 (build-system haskell-build-system)
13365 (home-page
13366 "https://github.com/jystic/unix-compat")
13367 (synopsis "Portable POSIX-compatibility layer")
13368 (description
13369 "This package provides portable implementations of parts of the unix
13370package. This package re-exports the unix package when available. When it
13371isn't available, portable implementations are used.")
13372 (license license:bsd-3)))
13373
13374(define-public ghc-unix-time
13375 (package
13376 (name "ghc-unix-time")
fad9cff2 13377 (version "0.4.7")
dddbc90c
RV
13378 (source
13379 (origin
13380 (method url-fetch)
13381 (uri (string-append
13382 "https://hackage.haskell.org/package/unix-time/unix-time-"
13383 version
13384 ".tar.gz"))
13385 (sha256
13386 (base32
fad9cff2 13387 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13388 (build-system haskell-build-system)
13389 (arguments
13390 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13391 ; is weird, that should be provided by GHC 7.10.2.
13392 (inputs
13393 `(("ghc-old-time" ,ghc-old-time)
13394 ("ghc-old-locale" ,ghc-old-locale)))
13395 (home-page "https://hackage.haskell.org/package/unix-time")
13396 (synopsis "Unix time parser/formatter and utilities")
13397 (description "This library provides fast parsing and formatting utilities
13398for Unix time in Haskell.")
13399 (license license:bsd-3)))
13400
13401(define-public ghc-unliftio
13402 (package
13403 (name "ghc-unliftio")
a4084db1 13404 (version "0.2.12")
dddbc90c
RV
13405 (source
13406 (origin
13407 (method url-fetch)
13408 (uri (string-append
13409 "https://hackage.haskell.org/package/unliftio/unliftio-"
13410 version
13411 ".tar.gz"))
13412 (sha256
13413 (base32
a4084db1 13414 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13415 (build-system haskell-build-system)
13416 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13417 (inputs
13418 `(("ghc-async" ,ghc-async)
13419 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13420 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13421 (home-page "https://github.com/fpco/unliftio")
13422 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13423IO (batteries included)")
13424 (description "This Haskell package provides the core @code{MonadUnliftIO}
13425typeclass, a number of common instances, and a collection of common functions
13426working with it.")
13427 (license license:expat)))
13428
13429(define-public ghc-unliftio-core
13430 (package
13431 (name "ghc-unliftio-core")
2ae42618 13432 (version "0.1.2.0")
dddbc90c
RV
13433 (source
13434 (origin
13435 (method url-fetch)
13436 (uri (string-append "https://hackage.haskell.org/package/"
13437 "unliftio-core-" version "/"
13438 "unliftio-core-" version ".tar.gz"))
13439 (sha256
13440 (base32
2ae42618 13441 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13442 (build-system haskell-build-system)
13443 (arguments
13444 `(#:cabal-revision
2ae42618 13445 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13446 (home-page
13447 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13448 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13449 (description "This Haskell package provides the core @code{MonadUnliftIO}
13450typeclass, instances for base and transformers, and basic utility
13451functions.")
13452 (license license:expat)))
13453
13454(define-public ghc-unordered-containers
13455 (package
13456 (name "ghc-unordered-containers")
ca01f8d3 13457 (version "0.2.10.0")
dddbc90c
RV
13458 (outputs '("out" "doc"))
13459 (source
13460 (origin
13461 (method url-fetch)
13462 (uri (string-append
13463 "https://hackage.haskell.org/package/unordered-containers"
13464 "/unordered-containers-" version ".tar.gz"))
13465 (sha256
13466 (base32
ca01f8d3 13467 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13468 (build-system haskell-build-system)
13469 (inputs
13470 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13471 ("ghc-hunit" ,ghc-hunit)
13472 ("ghc-quickcheck" ,ghc-quickcheck)
13473 ("ghc-test-framework" ,ghc-test-framework)
13474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13475 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13476 ("ghc-hashable" ,ghc-hashable)))
13477 (home-page
13478 "https://github.com/tibbe/unordered-containers")
13479 (synopsis
13480 "Efficient hashing-based container types")
13481 (description
13482 "Efficient hashing-based container types. The containers have been
13483optimized for performance critical use, both in terms of large data quantities
13484and high speed.")
13485 (license license:bsd-3)))
13486
13487(define-public ghc-unordered-containers-bootstrap
13488 (package
13489 (inherit ghc-unordered-containers)
13490 (name "ghc-unordered-containers-bootstrap")
13491 (arguments `(#:tests? #f))
13492 (inputs
13493 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13494 (properties '((hidden? #t)))))
dddbc90c 13495
a52f4c57
JS
13496(define-public ghc-unsafe
13497 (package
13498 (name "ghc-unsafe")
13499 (version "0.0")
13500 (source
13501 (origin
13502 (method url-fetch)
13503 (uri
13504 (string-append
13505 "https://hackage.haskell.org/package/unsafe/unsafe-"
13506 version ".tar.gz"))
13507 (sha256
13508 (base32
13509 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13510 (build-system haskell-build-system)
13511 (home-page "https://hackage.haskell.org/package/unsafe")
13512 (synopsis "Unified interface to unsafe functions")
13513 (description "Safe Haskell introduced the notion of safe and unsafe
13514modules. In order to make as many as possible modules ``safe'', the
13515well-known unsafe functions were moved to distinguished modules. This
13516makes it hard to write packages that work with both old and new versions
13517of GHC. This package provides a single module System.Unsafe that
13518exports the unsafe functions from the base package. It provides them in
13519a style ready for qualification, that is, you should import them by
13520@code{import qualified System.Unsafe as Unsafe}.")
13521 (license license:bsd-3)))
13522
dddbc90c
RV
13523(define-public ghc-uri-bytestring
13524 (package
13525 (name "ghc-uri-bytestring")
d35ffd39 13526 (version "0.3.2.2")
dddbc90c
RV
13527 (source
13528 (origin
13529 (method url-fetch)
13530 (uri (string-append "https://hackage.haskell.org/package/"
13531 "uri-bytestring-" version "/"
13532 "uri-bytestring-" version ".tar.gz"))
13533 (sha256
13534 (base32
d35ffd39 13535 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13536 (build-system haskell-build-system)
13537 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13538 ("ghc-blaze-builder" ,ghc-blaze-builder)
13539 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13540 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13541 ("ghc-tasty" ,ghc-tasty)
13542 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13543 ("ghc-hedgehog" ,ghc-hedgehog)
13544 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13545 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13546 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13547 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13548 (home-page "https://github.com/Soostone/uri-bytestring")
13549 (synopsis "Haskell URI parsing as ByteStrings")
13550 (description "This Haskell package aims to be an RFC3986 compliant URI
13551parser that uses ByteStrings for parsing and representing the URI data.")
13552 (license license:bsd-3)))
13553
d7ad0823
JS
13554(define-public ghc-utf8-light
13555 (package
13556 (name "ghc-utf8-light")
13557 (version "0.4.2")
13558 (source
13559 (origin
13560 (method url-fetch)
13561 (uri (string-append
13562 "mirror://hackage/package/utf8-light/utf8-light-"
13563 version
13564 ".tar.gz"))
13565 (sha256
13566 (base32
13567 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13568 (build-system haskell-build-system)
13569 (home-page
13570 "http://hackage.haskell.org/package/utf8-light")
13571 (synopsis "Lightweight unicode support for Haskell")
13572 (description
13573 "This package profides a class for encoding and decoding UTF8 strings
13574with instances for several common types. It also includes several functions
13575for working with UTF8. It aims to be lightweight, depending only on Base and
13576including only one module.")
13577 (license license:bsd-3)))
13578
dddbc90c
RV
13579(define-public ghc-utf8-string
13580 (package
13581 (name "ghc-utf8-string")
13582 (version "1.0.1.1")
13583 (source
13584 (origin
13585 (method url-fetch)
13586 (uri (string-append
13587 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13588 version
13589 ".tar.gz"))
13590 (sha256
13591 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13592 (build-system haskell-build-system)
13593 (arguments
13594 `(#:cabal-revision
13595 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13596 (home-page "https://github.com/glguy/utf8-string/")
13597 (synopsis "Support for reading and writing UTF8 Strings")
13598 (description
13599 "A UTF8 layer for Strings. The utf8-string package provides operations
13600for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13601UTF8 without truncation.")
13602 (license license:bsd-3)))
13603
13604(define-public ghc-utility-ht
13605 (package
13606 (name "ghc-utility-ht")
13607 (version "0.0.14")
13608 (home-page "https://hackage.haskell.org/package/utility-ht")
13609 (source
13610 (origin
13611 (method url-fetch)
13612 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13613 (sha256
13614 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13615 (build-system haskell-build-system)
13616 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13617 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13618 (description "This package includes Hakell modules providing various
13619helper functions for Lists, Maybes, Tuples, Functions.")
13620 (license license:bsd-3)))
13621
13622(define-public ghc-uuid
13623 (package
13624 (name "ghc-uuid")
13625 (version "1.3.13")
13626 (source
13627 (origin
13628 (method url-fetch)
13629 (uri (string-append "https://hackage.haskell.org/package/"
13630 "uuid-" version "/"
13631 "uuid-" version ".tar.gz"))
13632 (sha256
13633 (base32
13634 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13635 (build-system haskell-build-system)
13636 (arguments
13637 `(#:cabal-revision
13638 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13639 #:phases
13640 (modify-phases %standard-phases
13641 (add-before 'configure 'strip-test-framework-constraints
13642 (lambda _
13643 (substitute* "uuid.cabal"
13644 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13645 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13646 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13647 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13648 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13649 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13650 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13651 ("ghc-entropy" ,ghc-entropy)
13652 ("ghc-network-info" ,ghc-network-info)
13653 ("ghc-random" ,ghc-random)
13654 ("ghc-uuid-types" ,ghc-uuid-types)))
13655 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13656 ("ghc-quickcheck" ,ghc-quickcheck)
13657 ("ghc-tasty" ,ghc-tasty)
13658 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13659 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13660 (home-page "https://github.com/hvr/uuid")
13661 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13662 (description "This Haskell library provides utilities creating, comparing,
13663parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13664 (license license:bsd-3)))
13665
13666(define-public ghc-uuid-types
13667 (package
13668 (name "ghc-uuid-types")
13669 (version "1.0.3")
13670 (source
13671 (origin
13672 (method url-fetch)
13673 (uri (string-append "https://hackage.haskell.org/package/"
13674 "uuid-types-" version "/"
13675 "uuid-types-" version ".tar.gz"))
13676 (sha256
13677 (base32
13678 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13679 (build-system haskell-build-system)
13680 (arguments
13681 `(#:phases
13682 (modify-phases %standard-phases
13683 (add-before 'configure 'strip-test-framework-constraints
13684 (lambda _
13685 (substitute* "uuid-types.cabal"
13686 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13687 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13688 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13689 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13690 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13691 (inputs `(("ghc-hashable" ,ghc-hashable)
13692 ("ghc-random" ,ghc-random)))
13693 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13694 ("ghc-quickcheck" ,ghc-quickcheck)
13695 ("ghc-tasty" ,ghc-tasty)
13696 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13697 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13698 (home-page "https://github.com/hvr/uuid")
13699 (synopsis "Haskell type definitions for UUIDs")
13700 (description "This Haskell library contains type definitions for
13701@dfn{Universally Unique Identifiers} or
13702@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13703functions.")
13704 (license license:bsd-3)))
13705
13706(define-public ghc-validation
13707 (package
13708 (name "ghc-validation")
08397fde 13709 (version "1.1")
dddbc90c
RV
13710 (source
13711 (origin
13712 (method url-fetch)
13713 (uri (string-append
13714 "mirror://hackage/package/validation/validation-"
13715 version
13716 ".tar.gz"))
13717 (sha256
13718 (base32
08397fde 13719 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13720 (build-system haskell-build-system)
13721 (arguments
13722 `(#:cabal-revision
08397fde 13723 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13724 (inputs
13725 `(("ghc-semigroups" ,ghc-semigroups)
13726 ("ghc-semigroupoids" ,ghc-semigroupoids)
13727 ("ghc-bifunctors" ,ghc-bifunctors)
13728 ("ghc-lens" ,ghc-lens)))
13729 (native-inputs
13730 `(("ghc-hedgehog" ,ghc-hedgehog)
13731 ("ghc-hunit" ,ghc-hunit)))
13732 (home-page "https://github.com/qfpl/validation")
13733 (synopsis
13734 "Data-type like Either but with an accumulating Applicative")
13735 (description
13736 "A data-type like Either but with differing properties and type-class
13737instances.
13738
13739Library support is provided for this different representation, including
13740@code{lens}-related functions for converting between each and abstracting over
13741their similarities.
13742
13743The @code{Validation} data type is isomorphic to @code{Either}, but has an
13744instance of @code{Applicative} that accumulates on the error side. That is to
13745say, if two (or more) errors are encountered, they are appended using a
13746@{Semigroup} operation.
13747
13748As a consequence of this @code{Applicative} instance, there is no
13749corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13750example of, \"An applicative functor that is not a monad.\"")
13751 (license license:bsd-3)))
13752
13753(define-public ghc-validity
13754 (package
13755 (name "ghc-validity")
3f1ba75d 13756 (version "0.9.0.2")
dddbc90c
RV
13757 (source
13758 (origin
13759 (method url-fetch)
13760 (uri (string-append
13761 "https://hackage.haskell.org/package/validity/validity-"
13762 version
13763 ".tar.gz"))
13764 (sha256
13765 (base32
3f1ba75d 13766 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13767 (build-system haskell-build-system)
13768 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13769 ("hspec-discover" ,hspec-discover)))
13770 (home-page
13771 "https://github.com/NorfairKing/validity")
13772 (synopsis "Validity typeclass")
13773 (description
13774 "Values of custom types usually have invariants imposed upon them. This
13775package provides the @code{Validity} type class, which makes these invariants
13776explicit by providing a function to check whether the invariants hold.")
13777 (license license:expat)))
13778
13779(define-public ghc-vault
13780 (package
13781 (name "ghc-vault")
b40a436e 13782 (version "0.3.1.3")
dddbc90c
RV
13783 (source
13784 (origin
13785 (method url-fetch)
13786 (uri (string-append
13787 "https://hackage.haskell.org/package/vault/vault-"
13788 version
13789 ".tar.gz"))
13790 (sha256
13791 (base32
b40a436e 13792 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13793 (build-system haskell-build-system)
13794 (inputs
13795 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13796 ("ghc-hashable" ,ghc-hashable)
b40a436e 13797 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13798 (home-page
13799 "https://github.com/HeinrichApfelmus/vault")
13800 (synopsis "Persistent store for arbitrary values")
13801 (description "This package provides vaults for Haskell. A vault is a
13802persistent store for values of arbitrary types. It's like having first-class
13803access to the storage space behind @code{IORefs}. The data structure is
13804analogous to a bank vault, where you can access different bank boxes with
13805different keys; hence the name. Also provided is a @code{locker} type,
13806representing a store for a single element.")
13807 (license license:bsd-3)))
13808
13809(define-public ghc-vector
13810 (package
13811 (name "ghc-vector")
3ad67f6b 13812 (version "0.12.0.3")
dddbc90c
RV
13813 (outputs '("out" "doc"))
13814 (source
13815 (origin
13816 (method url-fetch)
13817 (uri (string-append
13818 "https://hackage.haskell.org/package/vector/vector-"
13819 version
13820 ".tar.gz"))
13821 (sha256
13822 (base32
3ad67f6b 13823 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13824 (build-system haskell-build-system)
13825 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13826 ;; disabled for now.
13827 (arguments
3ad67f6b 13828 `(#:tests? #f))
dddbc90c
RV
13829 (inputs
13830 `(("ghc-primitive" ,ghc-primitive)
13831 ("ghc-random" ,ghc-random)
13832 ("ghc-quickcheck" ,ghc-quickcheck)
13833 ;; ("ghc-hunit" ,ghc-hunit)
13834 ;; ("ghc-test-framework" ,ghc-test-framework)
13835 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13836 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13837 ))
13838 (home-page "https://github.com/haskell/vector")
13839 (synopsis "Efficient Arrays")
13840 (description "This library provides an efficient implementation of
13841Int-indexed arrays (both mutable and immutable), with a powerful loop
13842optimisation framework.")
13843 (license license:bsd-3)))
13844
13845(define-public ghc-vector-algorithms
13846 (package
13847 (name "ghc-vector-algorithms")
e71f316f 13848 (version "0.8.0.1")
dddbc90c
RV
13849 (source
13850 (origin
13851 (method url-fetch)
13852 (uri (string-append "https://hackage.haskell.org/package/"
13853 "vector-algorithms-" version "/"
13854 "vector-algorithms-" version ".tar.gz"))
13855 (sha256
13856 (base32
e71f316f 13857 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13858 (build-system haskell-build-system)
13859 (inputs
13860 `(("ghc-vector" ,ghc-vector)))
13861 (native-inputs
13862 `(("ghc-quickcheck" ,ghc-quickcheck)))
13863 (home-page "https://github.com/bos/math-functions")
13864 (synopsis "Algorithms for vector arrays in Haskell")
13865 (description "This Haskell library algorithms for vector arrays.")
13866 (license license:bsd-3)))
13867
13868(define-public ghc-vector-binary-instances
13869 (package
13870 (name "ghc-vector-binary-instances")
ca0701ef 13871 (version "0.2.5.1")
dddbc90c
RV
13872 (source
13873 (origin
13874 (method url-fetch)
13875 (uri (string-append
13876 "https://hackage.haskell.org/package/"
13877 "vector-binary-instances/vector-binary-instances-"
13878 version ".tar.gz"))
13879 (sha256
13880 (base32
ca0701ef 13881 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13882 (build-system haskell-build-system)
dddbc90c
RV
13883 (inputs
13884 `(("ghc-vector" ,ghc-vector)))
13885 (native-inputs
13886 `(("ghc-tasty" ,ghc-tasty)
13887 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13888 (home-page "https://github.com/bos/vector-binary-instances")
13889 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
13890 (description "This library provides instances of @code{Binary} for the
13891types defined in the @code{vector} package, making it easy to serialize
13892vectors to and from disk. We use the generic interface to vectors, so all
13893vector types are supported. Specific instances are provided for unboxed,
13894boxed and storable vectors.")
13895 (license license:bsd-3)))
13896
13897(define-public ghc-vector-builder
13898 (package
13899 (name "ghc-vector-builder")
1fc05441 13900 (version "0.3.8")
dddbc90c
RV
13901 (source
13902 (origin
13903 (method url-fetch)
13904 (uri (string-append "https://hackage.haskell.org/package/"
13905 "vector-builder-" version "/"
13906 "vector-builder-" version ".tar.gz"))
13907 (sha256
13908 (base32
1fc05441 13909 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
13910 (build-system haskell-build-system)
13911 (inputs `(("ghc-vector" ,ghc-vector)
13912 ("ghc-semigroups" ,ghc-semigroups)
13913 ("ghc-base-prelude" ,ghc-base-prelude)))
13914 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13915 ("ghc-tasty" ,ghc-tasty)
13916 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13917 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
13918 ("ghc-hunit" ,ghc-hunit)
13919 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
13920 ("ghc-rerebase" ,ghc-rerebase)))
13921 (home-page "https://github.com/nikita-volkov/vector-builder")
13922 (synopsis "Vector builder for Haskell")
13923 (description "This Haskell package provides an API for constructing vectors.
13924It provides the composable @code{Builder} abstraction, which has instances of the
13925@code{Monoid} and @code{Semigroup} classes.
13926
13927You would first use the @code{Builder} abstraction to specify the structure of
13928the vector; then you can execute the builder to actually produce the
13929vector. ")
13930 (license license:expat)))
13931
13932(define-public ghc-vector-th-unbox
13933 (package
13934 (name "ghc-vector-th-unbox")
63056e61 13935 (version "0.2.1.7")
dddbc90c
RV
13936 (source
13937 (origin
13938 (method url-fetch)
13939 (uri (string-append "https://hackage.haskell.org/package/"
13940 "vector-th-unbox-" version "/"
13941 "vector-th-unbox-" version ".tar.gz"))
13942 (sha256
13943 (base32
63056e61 13944 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
13945 (build-system haskell-build-system)
13946 (inputs
13947 `(("ghc-vector" ,ghc-vector)
13948 ("ghc-data-default" ,ghc-data-default)))
13949 (home-page "https://github.com/liyang/vector-th-unbox")
13950 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
13951 (description "This Haskell library provides a Template Haskell
13952deriver for unboxed vectors, given a pair of coercion functions to
13953and from some existing type with an Unbox instance.")
13954 (license license:bsd-3)))
13955
13956(define-public ghc-void
13957 (package
13958 (name "ghc-void")
51889121 13959 (version "0.7.3")
dddbc90c
RV
13960 (source
13961 (origin
13962 (method url-fetch)
13963 (uri (string-append
13964 "https://hackage.haskell.org/package/void/void-"
13965 version
13966 ".tar.gz"))
13967 (sha256
13968 (base32
51889121 13969 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
13970 (build-system haskell-build-system)
13971 (inputs
13972 `(("ghc-semigroups" ,ghc-semigroups)
13973 ("ghc-hashable" ,ghc-hashable)))
13974 (home-page "https://github.com/ekmett/void")
13975 (synopsis
13976 "Logically uninhabited data type")
13977 (description
13978 "A Haskell 98 logically uninhabited data type, used to indicate that a
13979given term should not exist.")
13980 (license license:bsd-3)))
13981
13982(define-public ghc-wave
13983 (package
13984 (name "ghc-wave")
1631a0f7 13985 (version "0.2.0")
dddbc90c
RV
13986 (source (origin
13987 (method url-fetch)
13988 (uri (string-append
13989 "https://hackage.haskell.org/package/wave/wave-"
13990 version
13991 ".tar.gz"))
13992 (sha256
13993 (base32
1631a0f7 13994 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
13995 (build-system haskell-build-system)
13996 (arguments
13997 '(#:phases
13998 (modify-phases %standard-phases
13999 (add-before 'configure 'update-constraints
14000 (lambda _
14001 (substitute* "wave.cabal"
14002 (("temporary.* < 1\\.3")
14003 "temporary >= 1.1 && < 1.4")))))))
14004 (inputs
14005 `(("ghc-cereal" ,ghc-cereal)
14006 ("ghc-data-default-class"
14007 ,ghc-data-default-class)
14008 ("ghc-quickcheck" ,ghc-quickcheck)
14009 ("ghc-temporary" ,ghc-temporary)))
14010 (native-inputs
14011 `(("hspec-discover" ,hspec-discover)
14012 ("ghc-hspec" ,ghc-hspec)))
14013 (home-page "https://github.com/mrkkrp/wave")
14014 (synopsis "Work with WAVE and RF64 files in Haskell")
14015 (description "This package allows you to work with WAVE and RF64
14016files in Haskell.")
14017 (license license:bsd-3)))
14018
14019(define-public ghc-wcwidth
14020 (package
14021 (name "ghc-wcwidth")
14022 (version "0.0.2")
14023 (source
14024 (origin
14025 (method url-fetch)
14026 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14027 version ".tar.gz"))
14028 (sha256
14029 (base32
14030 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14031 (build-system haskell-build-system)
14032 (inputs
14033 `(("ghc-setlocale" ,ghc-setlocale)
14034 ("ghc-utf8-string" ,ghc-utf8-string)
14035 ("ghc-attoparsec" ,ghc-attoparsec)))
14036 (home-page "https://github.com/solidsnack/wcwidth/")
14037 (synopsis "Haskell bindings to wcwidth")
14038 (description "This package provides Haskell bindings to your system's
14039native wcwidth and a command line tool to examine the widths assigned by it.
14040The command line tool can compile a width table to Haskell code that assigns
14041widths to the Char type.")
14042 (license license:bsd-3)))
14043
14044(define-public ghc-wcwidth-bootstrap
14045 (package
14046 (inherit ghc-wcwidth)
14047 (name "ghc-wcwidth-bootstrap")
14048 (inputs
14049 `(("ghc-setlocale" ,ghc-setlocale)
14050 ("ghc-utf8-string" ,ghc-utf8-string)
14051 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14052 (properties '((hidden? #t)))))
dddbc90c
RV
14053
14054(define-public ghc-weigh
14055 (package
14056 (name "ghc-weigh")
b6d9777f 14057 (version "0.0.14")
dddbc90c
RV
14058 (source
14059 (origin
14060 (method url-fetch)
14061 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14062 "weigh-" version ".tar.gz"))
14063 (sha256
14064 (base32
b6d9777f 14065 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14066 (build-system haskell-build-system)
14067 (inputs
14068 `(("ghc-split" ,ghc-split)
14069 ("ghc-temporary" ,ghc-temporary)))
14070 (home-page "https://github.com/fpco/weigh#readme")
14071 (synopsis "Measure allocations of a Haskell functions/values")
14072 (description "This package provides tools to measure the memory usage of a
14073Haskell value or function.")
14074 (license license:bsd-3)))
14075
14076(define-public ghc-wl-pprint
14077 (package
14078 (name "ghc-wl-pprint")
14079 (version "1.2.1")
14080 (source (origin
14081 (method url-fetch)
14082 (uri (string-append
14083 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14084 version ".tar.gz"))
14085 (sha256
14086 (base32
14087 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14088 (build-system haskell-build-system)
14089 (home-page "https://hackage.haskell.org/package/wl-pprint")
14090 (synopsis "Wadler/Leijen pretty printer")
14091 (description
14092 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14093Printer}. This version allows the library user to declare overlapping
14094instances of the @code{Pretty} class.")
14095 (license license:bsd-3)))
14096
14097(define-public ghc-wl-pprint-annotated
14098 (package
14099 (name "ghc-wl-pprint-annotated")
14100 (version "0.1.0.1")
14101 (source
14102 (origin
14103 (method url-fetch)
14104 (uri (string-append
14105 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14106 version
14107 ".tar.gz"))
14108 (sha256
14109 (base32
14110 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14111 (build-system haskell-build-system)
14112 (native-inputs
14113 `(("ghc-tasty" ,ghc-tasty)
14114 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14115 (home-page
14116 "https://github.com/minad/wl-pprint-annotated#readme")
14117 (synopsis
14118 "Wadler/Leijen pretty printer with annotation support")
14119 (description
14120 "Annotations are useful for coloring. This is a limited version of
14121@code{wl-pprint-extras} without support for point effects and without the free
14122monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14123Compared to @code{annotated-wl-pprint} this library provides a slightly
14124modernized interface.")
14125 (license license:bsd-3)))
14126
14127(define-public ghc-wl-pprint-text
14128 (package
14129 (name "ghc-wl-pprint-text")
14130 (version "1.2.0.0")
14131 (source
14132 (origin
14133 (method url-fetch)
14134 (uri (string-append
14135 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14136 version ".tar.gz"))
14137 (sha256
14138 (base32
14139 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14140 (build-system haskell-build-system)
14141 (inputs
14142 `(("ghc-base-compat" ,ghc-base-compat)))
14143 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14144 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14145 (description
14146 "A clone of wl-pprint for use with the text library.")
14147 (license license:bsd-3)))
14148
14149(define-public ghc-word8
14150 (package
14151 (name "ghc-word8")
14152 (version "0.1.3")
14153 (source
14154 (origin
14155 (method url-fetch)
14156 (uri (string-append
14157 "https://hackage.haskell.org/package/word8/word8-"
14158 version
14159 ".tar.gz"))
14160 (sha256
14161 (base32
14162 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14163 (build-system haskell-build-system)
14164 (native-inputs
14165 `(("ghc-hspec" ,ghc-hspec)
14166 ("hspec-discover" ,hspec-discover)))
14167 (home-page "https://hackage.haskell.org/package/word8")
14168 (synopsis "Word8 library for Haskell")
14169 (description "Word8 library to be used with @code{Data.ByteString}.")
14170 (license license:bsd-3)))
14171
14172(define-public ghc-x11
14173 (package
14174 (name "ghc-x11")
6c4581a3 14175 (version "1.9.1")
dddbc90c
RV
14176 (source
14177 (origin
14178 (method url-fetch)
14179 (uri (string-append "https://hackage.haskell.org/package/X11/"
14180 "X11-" version ".tar.gz"))
14181 (sha256
6c4581a3 14182 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
14183 (build-system haskell-build-system)
14184 (inputs
14185 `(("libx11" ,libx11)
14186 ("libxrandr" ,libxrandr)
14187 ("libxinerama" ,libxinerama)
14188 ("libxscrnsaver" ,libxscrnsaver)
14189 ("ghc-data-default" ,ghc-data-default)))
14190 (home-page "https://github.com/haskell-pkg-janitors/X11")
14191 (synopsis "Bindings to the X11 graphics library")
14192 (description
14193 "This package provides Haskell bindings to the X11 graphics library. The
14194bindings are a direct translation of the C bindings.")
14195 (license license:bsd-3)))
14196
14197(define-public ghc-x11-xft
14198 (package
14199 (name "ghc-x11-xft")
14200 (version "0.3.1")
14201 (source
14202 (origin
14203 (method url-fetch)
14204 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14205 "X11-xft-" version ".tar.gz"))
14206 (sha256
14207 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14208 (inputs
14209 `(("ghc-x11" ,ghc-x11)
14210 ("ghc-utf8-string" ,ghc-utf8-string)
14211 ("libx11" ,libx11)
14212 ("libxft" ,libxft)
14213 ("xorgproto" ,xorgproto)))
14214 (native-inputs
14215 `(("pkg-config" ,pkg-config)))
14216 (build-system haskell-build-system)
14217 (home-page "https://hackage.haskell.org/package/X11-xft")
14218 (synopsis "Bindings to Xft")
14219 (description
14220 "Bindings to the Xft, X Free Type interface library, and some Xrender
14221parts.")
14222 (license license:lgpl2.1)))
14223
14224(define-public ghc-xdg-basedir
14225 (package
14226 (name "ghc-xdg-basedir")
14227 (version "0.2.2")
14228 (source
14229 (origin
14230 (method url-fetch)
14231 (uri (string-append
14232 "https://hackage.haskell.org/package/xdg-basedir/"
14233 "xdg-basedir-" version ".tar.gz"))
14234 (sha256
14235 (base32
14236 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14237 (build-system haskell-build-system)
14238 (home-page "http://github.com/willdonnelly/xdg-basedir")
14239 (synopsis "XDG Base Directory library for Haskell")
14240 (description "This package provides a library implementing the XDG Base Directory spec.")
14241 (license license:bsd-3)))
14242
14243(define-public ghc-xml
14244 (package
14245 (name "ghc-xml")
14246 (version "1.3.14")
14247 (source
14248 (origin
14249 (method url-fetch)
14250 (uri (string-append
14251 "https://hackage.haskell.org/package/xml/xml-"
14252 version
14253 ".tar.gz"))
14254 (sha256
14255 (base32
14256 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14257 (build-system haskell-build-system)
2b62f5d0 14258 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14259 (synopsis "Simple XML library for Haskell")
14260 (description "This package provides a simple XML library for Haskell.")
14261 (license license:bsd-3)))
14262
14263(define-public ghc-xml-conduit
14264 (package
14265 (name "ghc-xml-conduit")
14266 (version "1.8.0.1")
14267 (source
14268 (origin
14269 (method url-fetch)
14270 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14271 "xml-conduit-" version ".tar.gz"))
14272 (sha256
14273 (base32
14274 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14275 (build-system haskell-build-system)
14276 (inputs
14277 `(("ghc-conduit" ,ghc-conduit)
14278 ("ghc-conduit-extra" ,ghc-conduit-extra)
14279 ("ghc-doctest" ,ghc-doctest)
14280 ("ghc-resourcet" ,ghc-resourcet)
14281 ("ghc-xml-types" ,ghc-xml-types)
14282 ("ghc-attoparsec" ,ghc-attoparsec)
14283 ("ghc-data-default-class" ,ghc-data-default-class)
14284 ("ghc-blaze-markup" ,ghc-blaze-markup)
14285 ("ghc-blaze-html" ,ghc-blaze-html)
14286 ("ghc-monad-control" ,ghc-monad-control)
14287 ("ghc-hspec" ,ghc-hspec)
14288 ("ghc-hunit" ,ghc-hunit)))
14289 (home-page "https://github.com/snoyberg/xml")
14290 (synopsis "Utilities for dealing with XML with the conduit package")
14291 (description
14292 "This package provides pure-Haskell utilities for dealing with XML with
14293the @code{conduit} package.")
14294 (license license:expat)))
14295
14296(define-public ghc-xml-types
14297 (package
14298 (name "ghc-xml-types")
14299 (version "0.3.6")
14300 (source
14301 (origin
14302 (method url-fetch)
14303 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14304 "xml-types-" version ".tar.gz"))
14305 (sha256
14306 (base32
14307 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14308 (build-system haskell-build-system)
14309 (home-page "https://john-millikin.com/software/haskell-xml/")
14310 (synopsis "Basic types for representing XML")
14311 (description "This package provides basic types for representing XML
14312documents.")
14313 (license license:expat)))
14314
14315(define-public ghc-yaml
14316 (package
14317 (name "ghc-yaml")
b58e5b84 14318 (version "0.11.1.2")
dddbc90c
RV
14319 (source (origin
14320 (method url-fetch)
14321 (uri (string-append "https://hackage.haskell.org/package/"
14322 "yaml/yaml-" version ".tar.gz"))
14323 (sha256
14324 (base32
b58e5b84 14325 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14326 (build-system haskell-build-system)
dddbc90c
RV
14327 (inputs
14328 `(("ghc-conduit" ,ghc-conduit)
14329 ("ghc-resourcet" ,ghc-resourcet)
14330 ("ghc-aeson" ,ghc-aeson)
14331 ("ghc-unordered-containers" ,ghc-unordered-containers)
14332 ("ghc-vector" ,ghc-vector)
14333 ("ghc-attoparsec" ,ghc-attoparsec)
14334 ("ghc-scientific" ,ghc-scientific)
14335 ("ghc-semigroups" ,ghc-semigroups)
14336 ("ghc-temporary" ,ghc-temporary)
14337 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14338 ("ghc-base-compat" ,ghc-base-compat)
14339 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14340 (native-inputs
14341 `(("ghc-hspec" ,ghc-hspec)
14342 ("ghc-hunit" ,ghc-hunit)
14343 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14344 ("ghc-mockery" ,ghc-mockery)
14345 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14346 (home-page "https://github.com/snoyberg/yaml/")
14347 (synopsis "Parsing and rendering YAML documents")
14348 (description
14349 "This package provides a library to parse and render YAML documents.")
14350 (license license:bsd-3)))
14351
14352(define-public ghc-zip-archive
14353 (package
14354 (name "ghc-zip-archive")
93c1fdd3 14355 (version "0.4.1")
dddbc90c
RV
14356 (source
14357 (origin
14358 (method url-fetch)
14359 (uri (string-append
14360 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14361 version
14362 ".tar.gz"))
14363 (sha256
14364 (base32
93c1fdd3 14365 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14366 (build-system haskell-build-system)
93c1fdd3
TS
14367 (arguments
14368 `(#:phases
14369 (modify-phases %standard-phases
14370 (add-before 'check 'set-PATH-for-tests
14371 (lambda* (#:key inputs #:allow-other-keys)
14372 (let ((unzip (assoc-ref inputs "unzip"))
14373 (which (assoc-ref inputs "which"))
14374 (path (getenv "PATH")))
14375 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14376 #t))))))
dddbc90c
RV
14377 (inputs
14378 `(("ghc-digest" ,ghc-digest)
14379 ("ghc-temporary" ,ghc-temporary)
14380 ("ghc-zlib" ,ghc-zlib)))
14381 (native-inputs
14382 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14383 ("unzip" ,unzip)
14384 ("which" ,which)))
dddbc90c
RV
14385 (home-page "https://hackage.haskell.org/package/zip-archive")
14386 (synopsis "Zip archive library for Haskell")
14387 (description "The zip-archive library provides functions for creating,
14388modifying, and extracting files from zip archives in Haskell.")
14389 (license license:bsd-3)))
14390
14391(define-public ghc-zlib
14392 (package
14393 (name "ghc-zlib")
bf12089a 14394 (version "0.6.2.1")
dddbc90c
RV
14395 (outputs '("out" "doc"))
14396 (source
14397 (origin
14398 (method url-fetch)
14399 (uri (string-append
14400 "https://hackage.haskell.org/package/zlib/zlib-"
14401 version
14402 ".tar.gz"))
14403 (sha256
14404 (base32
bf12089a 14405 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14406 (build-system haskell-build-system)
14407 (arguments
14408 `(#:phases
14409 (modify-phases %standard-phases
14410 (add-before 'configure 'strip-test-framework-constraints
14411 (lambda _
14412 (substitute* "zlib.cabal"
14413 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14414 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14415 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14416 (inputs `(("zlib" ,zlib)))
14417 (native-inputs
14418 `(("ghc-quickcheck" ,ghc-quickcheck)
14419 ("ghc-tasty" ,ghc-tasty)
14420 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14421 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14422 (home-page "https://hackage.haskell.org/package/zlib")
14423 (synopsis
14424 "Compression and decompression in the gzip and zlib formats")
14425 (description
14426 "This package provides a pure interface for compressing and decompressing
14427streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14428library so it has high performance. It supports the @code{zlib}, @code{gzip}
14429and @code{raw} compression formats. It provides a convenient high level API
14430suitable for most tasks and for the few cases where more control is needed it
14431provides access to the full zlib feature set.")
bbf8bf31 14432 (license license:bsd-3)))
14e41996
RV
14433
14434(define-public ghc-zlib-bindings
14435 (package
14436 (name "ghc-zlib-bindings")
14437 (version "0.1.1.5")
14438 (source
14439 (origin
14440 (method url-fetch)
14441 (uri (string-append "https://hackage.haskell.org/package/"
14442 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14443 (sha256
14444 (base32
14445 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14446 (build-system haskell-build-system)
14447 (inputs
14448 `(("ghc-zlib" ,ghc-zlib)))
14449 (native-inputs
14450 `(("ghc-hspec" ,ghc-hspec)
14451 ("ghc-quickcheck" ,ghc-quickcheck)))
14452 (arguments
14453 `(#:cabal-revision
14454 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14455 (home-page "https://github.com/snapframework/zlib-bindings")
14456 (synopsis "Low-level bindings to the @code{zlib} package")
14457 (description "This package provides low-level bindings to the
14458@code{zlib} package.")
14459 (license license:bsd-3)))
8428e92c
TS
14460
14461(define-public ghc-zstd
14462 (package
14463 (name "ghc-zstd")
14464 (version "0.1.1.2")
14465 (source
14466 (origin
14467 (method url-fetch)
14468 (uri (string-append "https://hackage.haskell.org/package/"
14469 "zstd/zstd-" version ".tar.gz"))
14470 (sha256
14471 (base32
14472 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14473 (build-system haskell-build-system)
14474 (native-inputs
14475 `(("ghc-quickcheck" ,ghc-quickcheck)
14476 ("ghc-test-framework" ,ghc-test-framework)
14477 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14478 (home-page "https://github.com/luispedro/hs-zstd")
14479 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14480 (description "This library provides Haskell bindings to the
14481Zstandard compression algorithm, a fast lossless compression algorithm
14482targeting real-time compression scenarios at zlib-level and better
14483compression ratios.")
14484 (license license:bsd-3)))