gnu: ghc-cmdargs: Add "doc" output.
[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)
dddbc90c
RV
50 #:use-module (gnu packages gl)
51 #:use-module (gnu packages graphviz)
52 #:use-module (gnu packages gtk)
53 #:use-module (gnu packages haskell-apps)
efb96749 54 #:use-module (gnu packages haskell-check)
dddbc90c
RV
55 #:use-module (gnu packages haskell-crypto)
56 #:use-module (gnu packages haskell-web)
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages linux)
e3ee8023 59 #:use-module (gnu packages llvm)
dddbc90c
RV
60 #:use-module (gnu packages lua)
61 #:use-module (gnu packages maths)
49e29df5 62 #:use-module (gnu packages ncurses)
dddbc90c
RV
63 #:use-module (gnu packages pcre)
64 #:use-module (gnu packages pkg-config)
65 #:use-module (gnu packages sdl)
0c2d6fc2 66 #:use-module (gnu packages web)
dddbc90c
RV
67 #:use-module (gnu packages xml)
68 #:use-module (gnu packages xorg)
6b34d01c
RV
69 #:use-module (guix build-system haskell)
70 #:use-module (guix download)
dddbc90c 71 #:use-module (guix git-download)
4780db2c 72 #:use-module (guix utils)
6b34d01c
RV
73 #:use-module ((guix licenses) #:prefix license:)
74 #:use-module (guix packages))
75
dddbc90c 76(define-public ghc-abstract-deque
efb96749 77 (package
dddbc90c
RV
78 (name "ghc-abstract-deque")
79 (version "0.3")
efb96749
RV
80 (source
81 (origin
82 (method url-fetch)
83 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
84 "abstract-deque-" version "/"
85 "abstract-deque-" version ".tar.gz"))
efb96749
RV
86 (sha256
87 (base32
dddbc90c 88 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 89 (build-system haskell-build-system)
dddbc90c
RV
90 (inputs `(("ghc-random" ,ghc-random)))
91 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
92 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
93 (description "This Haskell package provides an abstract interface to
94highly-parameterizable queues/deques.
95
96Background: There exists a feature space for queues that extends between:
efb96749
RV
97
98@itemize
dddbc90c
RV
99@item Simple, single-ended, non-concurrent, bounded queues
100
101@item Double-ended, thread-safe, growable queues with important points
102in between (such as the queues used for work stealing).
efb96749
RV
103@end itemize
104
dddbc90c
RV
105This package includes an interface for Deques that allows the programmer
106to use a single API for all of the above, while using the type system to
107select an efficient implementation given the requirements (using type families).
efb96749 108
dddbc90c
RV
109This package also includes a simple reference implementation based on
110@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
111 (license license:bsd-3)))
112
dddbc90c 113(define-public ghc-abstract-par
658dbc7f 114 (package
dddbc90c
RV
115 (name "ghc-abstract-par")
116 (version "0.3.3")
658dbc7f
RV
117 (source
118 (origin
119 (method url-fetch)
120 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
121 "abstract-par-" version "/"
122 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
123 (sha256
124 (base32
dddbc90c
RV
125 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
126 (build-system haskell-build-system)
127 (home-page "https://github.com/simonmar/monad-par")
128 (synopsis "Abstract parallelization interface for Haskell")
129 (description "This Haskell package is an abstract interface
130only. It provides a number of type clasess, but not an
131implementation. The type classes separate different levels
132of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
133module for more details.")
134 (license license:bsd-3)))
135
d8b88d74
TS
136(define-public ghc-active
137 (package
138 (name "ghc-active")
139 (version "0.2.0.14")
140 (source
141 (origin
142 (method url-fetch)
143 (uri (string-append "https://hackage.haskell.org/package/"
144 "active/active-" version ".tar.gz"))
145 (sha256
146 (base32
147 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
148 (build-system haskell-build-system)
149 (inputs
150 `(("ghc-vector" ,ghc-vector)
151 ("ghc-semigroups" ,ghc-semigroups)
152 ("ghc-semigroupoids" ,ghc-semigroupoids)
153 ("ghc-lens" ,ghc-lens)
154 ("ghc-linear" ,ghc-linear)))
155 (native-inputs
156 `(("ghc-quickcheck" ,ghc-quickcheck)))
157 (home-page "https://hackage.haskell.org/package/active")
158 (synopsis "Abstractions for animation")
159 (description "This package defines an @code{Active} abstraction for
160time-varying values with finite start and end times. It is used for
161describing animations within the
162@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
163diagrams framework}.")
164 (license license:bsd-3)))
165
dddbc90c
RV
166(define-public ghc-adjunctions
167 (package
168 (name "ghc-adjunctions")
169 (version "4.4")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
175 version
176 ".tar.gz"))
177 (sha256
178 (base32
179 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 180 (build-system haskell-build-system)
a78262be
TS
181 (arguments
182 `(#:cabal-revision
183 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 184 (inputs
dddbc90c
RV
185 `(("ghc-profunctors" ,ghc-profunctors)
186 ("ghc-comonad" ,ghc-comonad)
187 ("ghc-contravariant" ,ghc-contravariant)
188 ("ghc-distributive" ,ghc-distributive)
189 ("ghc-free" ,ghc-free)
190 ("ghc-tagged" ,ghc-tagged)
191 ("ghc-semigroupoids" ,ghc-semigroupoids)
192 ("ghc-semigroups" ,ghc-semigroups)
193 ("ghc-transformers-compat" ,ghc-transformers-compat)
194 ("ghc-void" ,ghc-void)))
658dbc7f 195 (native-inputs
dddbc90c
RV
196 `(("ghc-generic-deriving" ,ghc-generic-deriving)
197 ("ghc-hspec" ,ghc-hspec)
198 ("hspec-discover" ,hspec-discover)))
199 (home-page "https://github.com/ekmett/adjunctions/")
200 (synopsis "Adjunctions and representable functors")
201 (description "This library provides adjunctions and representable functors
202for Haskell.")
203 (license license:bsd-3)))
204
205(define-public ghc-aeson-compat
206 (package
207 (name "ghc-aeson-compat")
0bafb755 208 (version "0.3.9")
dddbc90c
RV
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-compat-" version "/"
214 "aeson-compat-" version ".tar.gz"))
215 (sha256
216 (base32
0bafb755 217 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
218 (build-system haskell-build-system)
219 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
220 (inputs `(("ghc-base-compat" ,ghc-base-compat)
221 ("ghc-aeson" ,ghc-aeson)
222 ("ghc-attoparsec" ,ghc-attoparsec)
223 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
224 ("ghc-exceptions" ,ghc-exceptions)
225 ("ghc-hashable" ,ghc-hashable)
226 ("ghc-scientific" ,ghc-scientific)
227 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
228 ("ghc-unordered-containers" ,ghc-unordered-containers)
229 ("ghc-vector" ,ghc-vector)
230 ("ghc-tagged" ,ghc-tagged)
231 ("ghc-semigroups" ,ghc-semigroups)
232 ("ghc-nats" ,ghc-nats)))
233 (home-page "https://github.com/phadej/aeson-compat")
234 (synopsis "Compatibility layer for ghc-aeson")
235 (description "This Haskell package provides compatibility layer for
236ghc-aeson.")
237 (license license:bsd-3)))
238
cbc6f861
TS
239(define-public ghc-aeson-diff
240 (package
241 (name "ghc-aeson-diff")
242 (version "1.1.0.7")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append "https://hackage.haskell.org/package/"
247 "aeson-diff/aeson-diff-" version ".tar.gz"))
248 (sha256
249 (base32
250 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
251 (build-system haskell-build-system)
252 (inputs
253 `(("ghc-aeson" ,ghc-aeson)
254 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
255 ("ghc-hashable" ,ghc-hashable)
256 ("ghc-scientific" ,ghc-scientific)
257 ("ghc-unordered-containers" ,ghc-unordered-containers)
258 ("ghc-vector" ,ghc-vector)
259 ("ghc-semigroups" ,ghc-semigroups)
260 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
261 (native-inputs
262 `(("ghc-quickcheck" ,ghc-quickcheck)
263 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
264 ("ghc-glob" ,ghc-glob)
265 ("ghc-quickcheck" ,ghc-quickcheck)
266 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
267 ("ghc-quickcheck" ,ghc-quickcheck)
268 ("ghc-doctest" ,ghc-doctest)
269 ("hlint" ,hlint)))
270 (home-page "https://github.com/thsutton/aeson-diff")
271 (synopsis "Extract and apply patches to JSON documents")
272 (description "This is a small library for working with changes to JSON
273documents. It includes a library and two command-line executables in the
274style of the @command{diff} and @command{patch} commands available on many
275systems.")
276 (license license:bsd-3)))
277
dddbc90c
RV
278(define-public ghc-alex
279 (package
280 (name "ghc-alex")
281 (version "3.2.4")
282 (source
283 (origin
284 (method url-fetch)
285 (uri (string-append
286 "https://hackage.haskell.org/package/alex/alex-"
287 version
288 ".tar.gz"))
289 (sha256
290 (base32
291 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
292 (build-system haskell-build-system)
658dbc7f 293 (arguments
dddbc90c
RV
294 `(#:phases
295 (modify-phases %standard-phases
296 (add-before 'check 'set-check-variables
297 (lambda _
298 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
299 (getenv "PATH")))
300 (setenv "alex_datadir" (string-append (getcwd) "/data"))
301 #t)))))
302 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
303 (native-inputs
304 `(("which" ,which)))
305 (home-page "https://www.haskell.org/alex/")
306 (synopsis
307 "Tool for generating lexical analysers in Haskell")
308 (description
309 "Alex is a tool for generating lexical analysers in Haskell. It takes a
310description of tokens based on regular expressions and generates a Haskell
311module containing code for scanning text efficiently. It is similar to the
312tool lex or flex for C/C++.")
658dbc7f
RV
313 (license license:bsd-3)))
314
dddbc90c 315(define-public ghc-alsa-core
7b01a977 316 (package
dddbc90c
RV
317 (name "ghc-alsa-core")
318 (version "0.5.0.1")
319 (source
320 (origin
321 (method url-fetch)
322 (uri (string-append
323 "mirror://hackage/package/alsa-core/alsa-core-"
324 version
325 ".tar.gz"))
326 (sha256
327 (base32
328 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
329 (build-system haskell-build-system)
54a5fd07
TS
330 (arguments
331 `(#:extra-directories ("alsa-lib")))
dddbc90c
RV
332 (inputs
333 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
334 ("alsa-lib" ,alsa-lib)))
335 (native-inputs
336 `(("pkg-config" ,pkg-config)))
228d2901 337 (home-page "https://wiki.haskell.org/ALSA")
dddbc90c
RV
338 (synopsis "Binding to the ALSA Library API (Exceptions)")
339 (description "This package provides access to ALSA infrastructure, that is
340needed by both alsa-seq and alsa-pcm.")
341 (license license:bsd-3)))
342
f2ed1e6d
JS
343(define-public ghc-alsa-mixer
344 (package
345 (name "ghc-alsa-mixer")
346 (version "0.3.0")
347 (source
348 (origin
349 (method url-fetch)
350 (uri
351 (string-append
352 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
353 version ".tar.gz"))
354 (sha256
355 (base32
356 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
357 (build-system haskell-build-system)
358 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
359 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
360 (home-page "https://github.com/ttuegel/alsa-mixer")
361 (synopsis "Bindings to the ALSA simple mixer API")
362 (description
363 "This package provides bindings to the ALSA simple mixer API.")
364 (license license:bsd-3)))
365
dddbc90c
RV
366(define-public ghc-annotated-wl-pprint
367 (package
368 (name "ghc-annotated-wl-pprint")
369 (version "0.7.0")
370 (source
371 (origin
372 (method url-fetch)
373 (uri (string-append
374 "https://hackage.haskell.org/package/annotated-wl-pprint"
375 "/annotated-wl-pprint-" version
376 ".tar.gz"))
377 (sha256
378 (base32
379 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
380 (build-system haskell-build-system)
381 (home-page
382 "https://github.com/david-christiansen/annotated-wl-pprint")
383 (synopsis
384 "The Wadler/Leijen Pretty Printer, with annotation support")
385 (description "This is a modified version of wl-pprint, which was based on
386Wadler's paper \"A Prettier Printer\". This version allows the library user
387to annotate the text with semantic information, which can later be rendered in
388a variety of ways.")
389 (license license:bsd-3)))
390
391(define-public ghc-ansi-terminal
392 (package
393 (name "ghc-ansi-terminal")
f1b4a73f 394 (version "0.9.1")
dddbc90c
RV
395 (source
396 (origin
397 (method url-fetch)
398 (uri (string-append
399 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
400 version
401 ".tar.gz"))
402 (sha256
403 (base32
f1b4a73f 404 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
405 (build-system haskell-build-system)
406 (inputs
407 `(("ghc-colour" ,ghc-colour)))
408 (home-page "https://github.com/feuerbach/ansi-terminal")
409 (synopsis "ANSI terminal support for Haskell")
410 (description "This package provides ANSI terminal support for Haskell. It
411allows cursor movement, screen clearing, color output showing or hiding the
412cursor, and changing the title.")
413 (license license:bsd-3)))
414
415(define-public ghc-ansi-wl-pprint
416 (package
417 (name "ghc-ansi-wl-pprint")
c38746eb 418 (version "0.6.9")
7b01a977
RV
419 (source
420 (origin
421 (method url-fetch)
422 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 423 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
424 version ".tar.gz"))
425 (sha256
426 (base32
c38746eb 427 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
428 (build-system haskell-build-system)
429 (inputs
dddbc90c
RV
430 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
431 (home-page "https://github.com/ekmett/ansi-wl-pprint")
432 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
433 (description "This is a pretty printing library based on Wadler's paper
434\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
435colored output using the ansi-terminal package.")
436 (license license:bsd-3)))
437
438(define-public ghc-appar
439 (package
440 (name "ghc-appar")
1159d1a5 441 (version "0.1.8")
dddbc90c
RV
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append
446 "https://hackage.haskell.org/package/appar/appar-"
447 version
448 ".tar.gz"))
449 (sha256
450 (base32
1159d1a5 451 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
452 (build-system haskell-build-system)
453 (home-page
454 "https://hackage.haskell.org/package/appar")
455 (synopsis "Simple applicative parser")
456 (description "This package provides a simple applicative parser in Parsec
457style.")
458 (license license:bsd-3)))
459
af369394
JS
460(define-public ghc-assoc
461 (package
462 (name "ghc-assoc")
463 (version "1.0.1")
464 (source
465 (origin
466 (method url-fetch)
467 (uri (string-append
468 "https://hackage.haskell.org/package/assoc/assoc-"
469 version
470 ".tar.gz"))
471 (sha256
472 (base32
473 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
474 (build-system haskell-build-system)
475 (inputs
476 `(("ghc-bifunctors" ,ghc-bifunctors)
477 ("ghc-tagged" ,ghc-tagged)))
478 (home-page
479 "http://hackage.haskell.org/package/assoc")
480 (synopsis
481 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
482 (description
483 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
484@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
485similar operations (e.g. @code{Either}, @code{These}).")
486 (license license:bsd-3)))
487
dddbc90c
RV
488(define-public ghc-async
489 (package
490 (name "ghc-async")
048ef066 491 (version "2.2.2")
dddbc90c
RV
492 (source
493 (origin
494 (method url-fetch)
495 (uri (string-append
496 "https://hackage.haskell.org/package/async/async-"
497 version
498 ".tar.gz"))
499 (sha256
500 (base32
048ef066 501 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
502 (build-system haskell-build-system)
503 (inputs
504 `(("ghc-hashable" ,ghc-hashable)
505 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
506 ("ghc-test-framework" ,ghc-test-framework)
507 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
508 (home-page "https://github.com/simonmar/async")
509 (synopsis "Library to run IO operations asynchronously")
510 (description "Async provides a library to run IO operations
511asynchronously, and wait for their results. It is a higher-level interface
512over threads in Haskell, in which @code{Async a} is a concurrent thread that
513will eventually deliver a value of type @code{a}.")
7b01a977
RV
514 (license license:bsd-3)))
515
9ad9ec2e
AG
516(define-public ghc-atomic-primops
517 (package
518 (name "ghc-atomic-primops")
af16c6b0 519 (version "0.8.3")
9ad9ec2e
AG
520 (source
521 (origin
522 (method url-fetch)
523 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
524 "/atomic-primops-" version ".tar.gz"))
525 (sha256
526 (base32
af16c6b0 527 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
528 (build-system haskell-build-system)
529 (inputs `(("ghc-primitive" ,ghc-primitive)))
530 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
531 (synopsis "Safe approach to CAS and other atomic ops")
532 (description
533 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
534use safely, because pointer equality is a highly unstable property in Haskell.
535This library provides a safer method based on the concept of @code{Ticket}s.")
536 (license license:bsd-3)))
537
dddbc90c 538(define-public ghc-atomic-write
79fcc5e5 539 (package
dddbc90c 540 (name "ghc-atomic-write")
c09d1e62 541 (version "0.2.0.6")
79fcc5e5
RV
542 (source
543 (origin
544 (method url-fetch)
dddbc90c
RV
545 (uri (string-append
546 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
547 version
548 ".tar.gz"))
79fcc5e5
RV
549 (sha256
550 (base32
c09d1e62 551 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
552 (build-system haskell-build-system)
553 (inputs
554 `(("ghc-temporary" ,ghc-temporary)
555 ("ghc-unix-compat" ,ghc-unix-compat)))
556 (native-inputs
557 `(("ghc-temporary" ,ghc-temporary)
558 ("ghc-unix-compat" ,ghc-unix-compat)
559 ("ghc-hspec" ,ghc-hspec)
560 ("hspec-discover" ,hspec-discover)))
561 (home-page "https://github.com/stackbuilders/atomic-write")
562 (synopsis "Atomically write to a file")
563 (description
564 "Atomically write to a file on POSIX-compliant systems while preserving
565permissions. @code{mv} is an atomic operation. This makes it simple to write
566to a file atomically just by using the @code{mv} operation. However, this
567will destroy the permissions on the original file. This library preserves
568permissions while atomically writing to a file.")
569 (license license:expat)))
570
b7250901
JS
571(define-public ghc-atomic-write-0.2.0.7
572 (package
573 (inherit ghc-atomic-write)
574 (version "0.2.0.7")
575 (source
576 (origin
577 (inherit (package-source ghc-atomic-write))
578 (uri (string-append
579 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
580 version
581 ".tar.gz"))
582 (sha256
583 (base32
584 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
585
dddbc90c
RV
586(define-public ghc-attoparsec
587 (package
588 (name "ghc-attoparsec")
511c3204 589 (version "0.13.2.3")
dddbc90c
RV
590 (source
591 (origin
592 (method url-fetch)
593 (uri (string-append
594 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
595 version
596 ".tar.gz"))
597 (sha256
598 (base32
511c3204 599 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 600 (build-system haskell-build-system)
79fcc5e5 601 (arguments
dddbc90c
RV
602 `(#:phases
603 (modify-phases %standard-phases
604 (add-after 'unpack 'patch-for-newer-quickcheck
605 (lambda _
606 (substitute* "attoparsec.cabal"
607 (("QuickCheck >= 2\\.7 && < 2\\.10")
608 "QuickCheck >= 2.7 && < 2.12"))
609 ;; This test fails because of the newer QuickCheck:
610 ;; <https://github.com/bos/attoparsec/issues/134>.
611 (substitute* "tests/QC/ByteString.hs"
612 ((", testProperty \"satisfyWith\" satisfyWith")
613 "")))))))
614 (inputs
615 `(("ghc-scientific" ,ghc-scientific)))
616 (native-inputs
617 `(("ghc-tasty" ,ghc-tasty)
618 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
619 ("ghc-quickcheck" ,ghc-quickcheck)
620 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
621 ("ghc-vector" ,ghc-vector)))
622 (home-page "https://github.com/bos/attoparsec")
623 (synopsis "Fast combinator parsing for bytestrings and text")
624 (description "This library provides a fast parser combinator library,
625aimed particularly at dealing efficiently with network protocols and
626complicated text/binary file formats.")
79fcc5e5
RV
627 (license license:bsd-3)))
628
dddbc90c 629(define-public ghc-attoparsec-bootstrap
6b34d01c 630 (package
dddbc90c
RV
631 (inherit ghc-attoparsec)
632 (name "ghc-attoparsec-bootstrap")
633 (arguments `(#:tests? #f))
634 (inputs
635 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
636 (native-inputs '())
799d8d3c 637 (properties '((hidden? #t)))))
dddbc90c
RV
638
639(define-public ghc-attoparsec-iso8601
640 (package
641 (name "ghc-attoparsec-iso8601")
97f267c8 642 (version "1.0.1.0")
6b34d01c
RV
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
647 "attoparsec-iso8601-" version "/"
648 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
649 (sha256
650 (base32
97f267c8 651 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 652 (build-system haskell-build-system)
dddbc90c
RV
653 (arguments
654 `(#:cabal-revision
97f267c8 655 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
656 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
657 ("ghc-base-compat" ,ghc-base-compat)))
658 (home-page "https://github.com/bos/aeson")
659 (synopsis "Parse ISO 8601 dates")
660 (description "Haskell library for parsing of ISO 8601 dates, originally
661from aeson.")
6b34d01c 662 (license license:bsd-3)))
b57e99f5 663
dddbc90c 664(define-public ghc-auto-update
b57e99f5 665 (package
dddbc90c 666 (name "ghc-auto-update")
11b1b6cd 667 (version "0.1.6")
dddbc90c
RV
668 (source
669 (origin
670 (method url-fetch)
671 (uri (string-append
672 "https://hackage.haskell.org/package/auto-update/auto-update-"
673 version
674 ".tar.gz"))
675 (sha256
676 (base32
11b1b6cd 677 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 678 (build-system haskell-build-system)
11b1b6cd
TS
679 (native-inputs
680 `(("ghc-hspec" ,ghc-hspec)
681 ("ghc-hunit" ,ghc-hunit)
682 ("ghc-retry" ,ghc-retry)
683 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
684 (home-page "https://github.com/yesodweb/wai")
685 (synopsis "Efficiently run periodic, on-demand actions")
686 (description "This library provides mechanisms to efficiently run
687periodic, on-demand actions in Haskell.")
688 (license license:expat)))
689
690(define-public ghc-aws
691 (package
692 (name "ghc-aws")
693 (version "0.20")
b57e99f5
RV
694 (source
695 (origin
696 (method url-fetch)
697 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
698 "aws-" version "/aws-" version ".tar.gz"))
699 (sha256 (base32
700 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
701 (build-system haskell-build-system)
702 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
703 (inputs
704 `(("ghc-aeson" ,ghc-aeson)
705 ("ghc-attoparsec" ,ghc-attoparsec)
706 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
707 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
708 ("ghc-blaze-builder" ,ghc-blaze-builder)
709 ("ghc-byteable" ,ghc-byteable)
710 ("ghc-case-insensitive" ,ghc-case-insensitive)
711 ("ghc-cereal" ,ghc-cereal)
712 ("ghc-conduit" ,ghc-conduit)
713 ("ghc-conduit-extra" ,ghc-conduit-extra)
714 ("ghc-cryptonite" ,ghc-cryptonite)
715 ("ghc-data-default" ,ghc-data-default)
716 ("ghc-http-conduit" ,ghc-http-conduit)
717 ("ghc-http-types" ,ghc-http-types)
718 ("ghc-lifted-base" ,ghc-lifted-base)
719 ("ghc-monad-control" ,ghc-monad-control)
720 ("ghc-network" ,ghc-network)
721 ("ghc-old-locale" ,ghc-old-locale)
722 ("ghc-safe" ,ghc-safe)
723 ("ghc-scientific" ,ghc-scientific)
724 ("ghc-tagged" ,ghc-tagged)
725 ("ghc-unordered-containers" ,ghc-unordered-containers)
726 ("ghc-utf8-string" ,ghc-utf8-string)
727 ("ghc-vector" ,ghc-vector)
728 ("ghc-xml-conduit" ,ghc-xml-conduit)))
729 (native-inputs
730 `(("ghc-quickcheck" ,ghc-quickcheck)
731 ("ghc-errors" ,ghc-errors)
732 ("ghc-http-client" ,ghc-http-client)
733 ("ghc-http-client-tls" ,ghc-http-client-tls)
734 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
735 ("ghc-tasty" ,ghc-tasty)
736 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
737 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
738 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
739 (home-page "https://github.com/aristidb/aws")
740 (synopsis "Amazon Web Services for Haskell")
741 (description "This package attempts to provide support for using
742Amazon Web Services like S3 (storage), SQS (queuing) and others to
743Haskell programmers. The ultimate goal is to support all Amazon
744Web Services.")
745 (license license:bsd-3)))
746
747(define-public ghc-base16-bytestring
748 (package
749 (name "ghc-base16-bytestring")
750 (version "0.1.1.6")
751 (source
752 (origin
753 (method url-fetch)
754 (uri (string-append
755 "https://hackage.haskell.org/package/base16-bytestring/"
756 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
757 (sha256
758 (base32
dddbc90c 759 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 760 (build-system haskell-build-system)
dddbc90c
RV
761 (home-page "https://github.com/bos/base16-bytestring")
762 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
763 (description
764 "This package provides a Haskell library for working with base16-encoded
765data quickly and efficiently, using the ByteString type.")
b57e99f5 766 (license license:bsd-3)))
bbf8bf31 767
dddbc90c 768(define-public ghc-base64-bytestring
bbf8bf31 769 (package
dddbc90c
RV
770 (name "ghc-base64-bytestring")
771 (version "1.0.0.2")
bbf8bf31
RV
772 (source
773 (origin
774 (method url-fetch)
dddbc90c
RV
775 (uri (string-append
776 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
777 version
778 ".tar.gz"))
779 (sha256
780 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
781 (build-system haskell-build-system)
782 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
783 (home-page "https://github.com/bos/base64-bytestring")
784 (synopsis "Base64 encoding and decoding for ByteStrings")
785 (description "This library provides fast base64 encoding and decoding for
786Haskell @code{ByteString}s.")
787 (license license:bsd-3)))
788
789(define-public ghc-base-compat
790 (package
791 (name "ghc-base-compat")
4daaa371 792 (version "0.10.5")
dddbc90c
RV
793 (source
794 (origin
795 (method url-fetch)
796 (uri (string-append
797 "https://hackage.haskell.org/package/base-compat/base-compat-"
798 version
799 ".tar.gz"))
bbf8bf31
RV
800 (sha256
801 (base32
4daaa371 802 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31 803 (build-system haskell-build-system)
e2b021df 804 (outputs '("out" "static" "doc"))
bbf8bf31 805 (native-inputs
dddbc90c
RV
806 `(("ghc-quickcheck" ,ghc-quickcheck)
807 ("ghc-hspec" ,ghc-hspec)
808 ("hspec-discover" ,hspec-discover)))
809 (home-page "https://hackage.haskell.org/package/base-compat")
810 (synopsis "Haskell compiler compatibility library")
811 (description "This library provides functions available in later versions
812of base to a wider range of compilers, without requiring the use of CPP
813pragmas in your code.")
814 (license license:bsd-3)))
815
f9d78c7f
TS
816(define-public ghc-base-compat-batteries
817 (package
818 (name "ghc-base-compat-batteries")
819 (version "0.10.5")
820 (source
821 (origin
822 (method url-fetch)
823 (uri (string-append "https://hackage.haskell.org/package/"
824 "base-compat-batteries/base-compat-batteries-"
825 version ".tar.gz"))
826 (sha256
827 (base32
828 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
829 (build-system haskell-build-system)
830 (inputs
831 `(("ghc-base-compat" ,ghc-base-compat)))
832 (native-inputs
833 `(("ghc-hspec" ,ghc-hspec)
834 ("ghc-quickcheck" ,ghc-quickcheck)
835 ("hspec-discover" ,hspec-discover)))
836 (arguments
837 `(#:cabal-revision
838 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 839 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
840 (synopsis "base-compat with extra batteries")
841 (description "This library provides functions available in later
842versions of @code{base} to a wider range of compilers, without requiring
843you to use CPP pragmas in your code. This package provides the same API
844as the @code{base-compat} library, but depends on compatibility
845packages (such as @code{semigroups}) to offer a wider support window
846than @code{base-compat}, which has no dependencies.")
847 (license license:expat)))
848
dddbc90c
RV
849(define-public ghc-basement
850 (package
851 (name "ghc-basement")
8b56c1fd 852 (version "0.0.11")
dddbc90c
RV
853 (source
854 (origin
855 (method url-fetch)
856 (uri (string-append "https://hackage.haskell.org/package/"
857 "basement/basement-" version ".tar.gz"))
858 (sha256
859 (base32
8b56c1fd 860 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c 861 (build-system haskell-build-system)
05f7f8be 862 (outputs '("out" "static" "doc"))
dddbc90c
RV
863 (home-page "https://github.com/haskell-foundation/foundation")
864 (synopsis "Basic primitives for Foundation starter pack")
865 (description
866 "This package contains basic primitives for the Foundation set of
867packages.")
868 (license license:bsd-3)))
869
870(define-public ghc-base-orphans
871 (package
872 (name "ghc-base-orphans")
780477fb 873 (version "0.8.1")
dddbc90c
RV
874 (source
875 (origin
876 (method url-fetch)
877 (uri (string-append
878 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
879 version
880 ".tar.gz"))
881 (sha256
882 (base32
780477fb 883 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
884 (build-system haskell-build-system)
885 (native-inputs
886 `(("ghc-quickcheck" ,ghc-quickcheck)
887 ("ghc-hspec" ,ghc-hspec)
888 ("hspec-discover" ,hspec-discover)))
889 (home-page "https://hackage.haskell.org/package/base-orphans")
890 (synopsis "Orphan instances for backwards compatibility")
891 (description "This package defines orphan instances that mimic instances
892available in later versions of base to a wider (older) range of compilers.")
893 (license license:bsd-3)))
894
895(define-public ghc-base-prelude
896 (package
897 (name "ghc-base-prelude")
898 (version "1.3")
899 (source
900 (origin
901 (method url-fetch)
902 (uri (string-append "https://hackage.haskell.org/package/"
903 "base-prelude-" version "/"
904 "base-prelude-" version ".tar.gz"))
905 (sha256
906 (base32
907 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
908 (build-system haskell-build-system)
3d7ee2f8 909 (outputs '("out" "static" "doc"))
dddbc90c
RV
910 (home-page "https://github.com/nikita-volkov/base-prelude")
911 (synopsis "The most complete prelude formed solely from the Haskell's base
912package")
913 (description "This Haskell package aims to reexport all the non-conflicting
914and most general definitions from the \"base\" package.
915
916This includes APIs for applicatives, arrows, monoids, foldables, traversables,
917exceptions, generics, ST, MVars and STM.
918
919This package will never have any dependencies other than \"base\".
920
921Versioning policy:
922
923The versioning policy of this package deviates from PVP in the sense
924that its exports in part are transitively determined by the version of \"base\".
925Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
926the bounds of \"base\" as well.")
927 (license license:expat)))
928
929(define-public ghc-base-unicode-symbols
930 (package
931 (name "ghc-base-unicode-symbols")
932 (version "0.2.3")
933 (source
934 (origin
935 (method url-fetch)
936 (uri (string-append
937 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
938 version
939 ".tar.gz"))
940 (sha256
941 (base32
942 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
943 (build-system haskell-build-system)
228d2901 944 (home-page "https://wiki.haskell.org/Unicode-symbols")
dddbc90c
RV
945 (synopsis "Unicode alternatives for common functions and operators")
946 (description "This package defines new symbols for a number of functions,
947operators and types in the base package. All symbols are documented with
948their actual definition and information regarding their Unicode code point.
949They should be completely interchangeable with their definitions. For
950further Unicode goodness you can enable the @code{UnicodeSyntax}
951@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
952language extension}. This extension enables Unicode characters to be used to
953stand for certain ASCII character sequences, i.e. → instead of @code{->},
954∀ instead of @code{forall} and many others.")
955 (license license:bsd-3)))
956
ec8491b0
ASM
957(define-public ghc-basic-prelude
958 (package
959 (name "ghc-basic-prelude")
960 (version "0.7.0")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://hackage.haskell.org/package/basic-prelude/"
966 "basic-prelude-" version ".tar.gz"))
967 (sha256
968 (base32
969 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
970 (build-system haskell-build-system)
971 (inputs
972 `(("ghc-hashable" ,ghc-hashable)
973 ("ghc-unordered-containers"
974 ,ghc-unordered-containers)
975 ("ghc-vector" ,ghc-vector)))
976 (home-page "https://github.com/snoyberg/basic-prelude#readme")
977 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
978 (description
979 "The premise of basic-prelude is that there are a lot of very commonly
980desired features missing from the standard Prelude, such as commonly used
981operators (<$> and >=>, for instance) and imports for common datatypes
982(e.g., ByteString and Vector). At the same time, there are lots of other
983components which are more debatable, such as providing polymorphic versions
984of common functions.
985
986So basic-prelude is intended to give a common foundation for a number of
987alternate preludes. The package provides two modules: CorePrelude provides
988the common ground for other preludes to build on top of, while BasicPrelude
989exports CorePrelude together with commonly used list functions to provide a
990drop-in replacement for the standard Prelude.
991
992Users wishing to have an improved Prelude can use BasicPrelude. Developers
993wishing to create a new prelude should use CorePrelude.")
994 (license license:expat)))
995
dddbc90c
RV
996(define-public ghc-bifunctors
997 (package
998 (name "ghc-bifunctors")
0beaec66 999 (version "5.5.5")
dddbc90c
RV
1000 (source
1001 (origin
1002 (method url-fetch)
1003 (uri (string-append
1004 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1005 version
1006 ".tar.gz"))
1007 (sha256
1008 (base32
0beaec66 1009 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
1010 (build-system haskell-build-system)
1011 (inputs
1012 `(("ghc-base-orphans" ,ghc-base-orphans)
1013 ("ghc-comonad" ,ghc-comonad)
1014 ("ghc-th-abstraction" ,ghc-th-abstraction)
1015 ("ghc-transformers-compat" ,ghc-transformers-compat)
1016 ("ghc-tagged" ,ghc-tagged)
1017 ("ghc-semigroups" ,ghc-semigroups)))
1018 (native-inputs
1019 `(("ghc-hspec" ,ghc-hspec)
1020 ("hspec-discover" ,hspec-discover)
1021 ("ghc-quickcheck" ,ghc-quickcheck)))
1022 (home-page "https://github.com/ekmett/bifunctors/")
1023 (synopsis "Bifunctors for Haskell")
1024 (description "This package provides bifunctors for Haskell.")
1025 (license license:bsd-3)))
1026
1027(define-public ghc-bindings-dsl
1028 (package
1029 (name "ghc-bindings-dsl")
1030 (version "1.0.25")
1031 (source
1032 (origin
1033 (method url-fetch)
1034 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1035 "bindings-DSL-" version ".tar.gz"))
1036 (sha256
1037 (base32
1038 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1039 (build-system haskell-build-system)
1040 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1041 (synopsis "FFI domain specific language, on top of hsc2hs")
1042 (description
1043 "This is a set of macros to be used when writing Haskell FFI. They were
1044designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1045extract from them all Haskell code needed to mimic such interfaces. All
1046Haskell names used are automatically derived from C names, structures are
1047mapped to Haskell instances of @code{Storable}, and there are also macros you
1048can use with C code to help write bindings to inline functions or macro
1049functions.")
1050 (license license:bsd-3)))
1051
64f42786
TS
1052(define-public ghc-bitarray
1053 (package
1054 (name "ghc-bitarray")
1055 (version "0.0.1.1")
1056 (source
1057 (origin
1058 (method url-fetch)
1059 (uri (string-append "https://hackage.haskell.org/package/"
1060 "bitarray/bitarray-" version ".tar.gz"))
1061 (sha256
1062 (base32
1063 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1064 (build-system haskell-build-system)
1065 (arguments
1066 `(#:cabal-revision
1067 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1068 (home-page "https://hackage.haskell.org/package/bitarray")
1069 (synopsis "Mutable and immutable bit arrays")
1070 (description "The package provides mutable and immutable bit arrays.")
1071 (license license:bsd-3)))
1072
dddbc90c
RV
1073(define-public ghc-blaze-builder
1074 (package
1075 (name "ghc-blaze-builder")
1076 (version "0.4.1.0")
1077 (source
1078 (origin
1079 (method url-fetch)
1080 (uri (string-append
1081 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1082 version
1083 ".tar.gz"))
1084 (sha256
1085 (base32
1086 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1087 (build-system haskell-build-system)
1088 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1089 (inputs
1090 `(("ghc-utf8-string" ,ghc-utf8-string)))
1091 (home-page "https://github.com/lpsmith/blaze-builder")
1092 (synopsis "Efficient buffered output")
1093 (description "This library provides an implementation of the older
1094@code{blaze-builder} interface in terms of the new builder that shipped with
1095@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1096bridge to the new builder, so that code that uses the old interface can
1097interoperate with code that uses the new implementation.")
1098 (license license:bsd-3)))
1099
1100(define-public ghc-blaze-markup
1101 (package
1102 (name "ghc-blaze-markup")
7d30fcf3 1103 (version "0.8.2.3")
dddbc90c
RV
1104 (source
1105 (origin
1106 (method url-fetch)
1107 (uri (string-append "https://hackage.haskell.org/package/"
1108 "blaze-markup/blaze-markup-"
1109 version ".tar.gz"))
1110 (sha256
1111 (base32
7d30fcf3 1112 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1113 (build-system haskell-build-system)
1114 (arguments
1115 `(#:phases
1116 (modify-phases %standard-phases
1117 (add-before 'configure 'update-constraints
1118 (lambda _
1119 (substitute* "blaze-markup.cabal"
1120 (("tasty >= 1\\.0 && < 1\\.1")
1121 "tasty >= 1.0 && < 1.2")))))))
1122 (inputs
1123 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1124 (native-inputs
1125 `(("ghc-hunit" ,ghc-hunit)
1126 ("ghc-quickcheck" ,ghc-quickcheck)
1127 ("ghc-tasty" ,ghc-tasty)
1128 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1129 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1130 (home-page "https://jaspervdj.be/blaze")
1131 (synopsis "Fast markup combinator library for Haskell")
1132 (description "This library provides core modules of a markup combinator
1133library for Haskell.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-bloomfilter
1137 (package
1138 (name "ghc-bloomfilter")
1139 (version "2.0.1.0")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri (string-append "https://hackage.haskell.org/package/"
1144 "bloomfilter/bloomfilter-" version ".tar.gz"))
1145 (sha256
1146 (base32
1147 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1148 (build-system haskell-build-system)
1149 (native-inputs
1150 `(("ghc-quickcheck" ,ghc-quickcheck)
1151 ("ghc-random" ,ghc-random)
1152 ("ghc-test-framework" ,ghc-test-framework)
1153 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1154 (home-page "https://github.com/bos/bloomfilter")
1155 (synopsis "Pure and impure Bloom filter implementations")
1156 (description "This package provides both mutable and immutable Bloom
1157filter data types, along with a family of hash functions and an easy-to-use
1158interface.")
1159 (license license:bsd-3)))
1160
1161(define-public ghc-boxes
1162 (package
1163 (name "ghc-boxes")
1164 (version "0.1.5")
1165 (source
1166 (origin
1167 (method url-fetch)
1168 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1169 version ".tar.gz"))
1170 (sha256
1171 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1172 (build-system haskell-build-system)
1173 (inputs
1174 `(("ghc-split" ,ghc-split)
1175 ("ghc-quickcheck" ,ghc-quickcheck)))
1176 (home-page "https://hackage.haskell.org/package/boxes")
1177 (synopsis "2D text pretty-printing library")
1178 (description
1179 "Boxes is a pretty-printing library for laying out text in two dimensions,
1180using a simple box model.")
1181 (license license:bsd-3)))
1182
1183(define-public ghc-byteable
1184 (package
1185 (name "ghc-byteable")
1186 (version "0.1.1")
1187 (source (origin
1188 (method url-fetch)
1189 (uri (string-append "https://hackage.haskell.org/package/"
1190 "byteable/byteable-" version ".tar.gz"))
1191 (sha256
1192 (base32
1193 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1194 (build-system haskell-build-system)
1195 (home-page "https://github.com/vincenthz/hs-byteable")
1196 (synopsis "Type class for sequence of bytes")
1197 (description
1198 "This package provides an abstract class to manipulate sequence of bytes.
1199The use case of this class is abstracting manipulation of types that are just
1200wrapping a bytestring with stronger and more meaniful name.")
1201 (license license:bsd-3)))
1202
1203(define-public ghc-byteorder
1204 (package
1205 (name "ghc-byteorder")
1206 (version "1.0.4")
1207 (source
1208 (origin
1209 (method url-fetch)
1210 (uri (string-append
1211 "https://hackage.haskell.org/package/byteorder/byteorder-"
1212 version
1213 ".tar.gz"))
1214 (sha256
1215 (base32
1216 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1217 (build-system haskell-build-system)
1218 (home-page
1219 "http://community.haskell.org/~aslatter/code/byteorder")
1220 (synopsis
1221 "Exposes the native endianness of the system")
1222 (description
1223 "This package is for working with the native byte-ordering of the
1224system.")
1225 (license license:bsd-3)))
1226
1227(define-public ghc-bytes
1228 (package
1229 (name "ghc-bytes")
1230 (version "0.15.5")
1231 (source
1232 (origin
1233 (method url-fetch)
1234 (uri
1235 (string-append "https://hackage.haskell.org/package/bytes-"
1236 version "/bytes-"
1237 version ".tar.gz"))
1238 (file-name (string-append name "-" version ".tar.gz"))
1239 (sha256
1240 (base32
1241 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1242 (build-system haskell-build-system)
1243 (inputs `(("ghc-cereal" ,ghc-cereal)
1244 ("cabal-doctest" ,cabal-doctest)
1245 ("ghc-doctest" ,ghc-doctest)
1246 ("ghc-scientific" ,ghc-scientific)
1247 ("ghc-transformers-compat" ,ghc-transformers-compat)
1248 ("ghc-unordered-containers" ,ghc-unordered-containers)
1249 ("ghc-void" ,ghc-void)
1250 ("ghc-vector" ,ghc-vector)))
1251 (synopsis "Serialization between @code{binary} and @code{cereal}")
1252 (description "This package provides a simple compatibility shim that lets
1253you work with both @code{binary} and @code{cereal} with one chunk of
1254serialization code.")
1255 (home-page "https://hackage.haskell.org/package/bytes")
1256 (license license:bsd-3)))
1257
1258(define-public ghc-bytestring-builder
1259 (package
1260 (name "ghc-bytestring-builder")
13ac8a7f 1261 (version "0.10.8.2.0")
dddbc90c
RV
1262 (source
1263 (origin
1264 (method url-fetch)
1265 (uri (string-append
1266 "https://hackage.haskell.org/package/bytestring-builder"
1267 "/bytestring-builder-" version ".tar.gz"))
1268 (sha256
1269 (base32
13ac8a7f 1270 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1271 (build-system haskell-build-system)
1272 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1273 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1274 (synopsis "The new bytestring builder, packaged outside of GHC")
1275 (description "This package provides the bytestring builder that is
1276debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1277Compatibility package for older packages.")
1278 (license license:bsd-3)))
1279
1280(define-public ghc-bytestring-handle
1281 (package
1282 (name "ghc-bytestring-handle")
1283 (version "0.1.0.6")
1284 (source
1285 (origin
1286 (method url-fetch)
1287 (uri (string-append
1288 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1289 version ".tar.gz"))
1290 (sha256
1291 (base32
1292 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1293 (build-system haskell-build-system)
1294 (arguments
853748c4
TS
1295 `(#:cabal-revision
1296 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1297 #:phases
dddbc90c
RV
1298 (modify-phases %standard-phases
1299 (add-before 'configure 'update-constraints
1300 (lambda _
1301 (substitute* "bytestring-handle.cabal"
1302 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1303 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1304 (inputs
1305 `(("ghc-hunit" ,ghc-hunit)
1306 ("ghc-quickcheck" ,ghc-quickcheck)
1307 ("ghc-test-framework" ,ghc-test-framework)
1308 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1309 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1310 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1311 (synopsis "ByteString-backed Handles")
1312 (description "ByteString-backed Handles") ; There is no description
1313 (license license:bsd-3)))
1314
1315(define-public ghc-bytestring-lexing
1316 (package
1317 (name "ghc-bytestring-lexing")
1318 (version "0.5.0.2")
1319 (source
1320 (origin
1321 (method url-fetch)
1322 (uri (string-append "https://hackage.haskell.org/package/"
1323 "bytestring-lexing/bytestring-lexing-"
1324 version ".tar.gz"))
1325 (sha256
1326 (base32
1327 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1328 (build-system haskell-build-system)
1329 (home-page "http://code.haskell.org/~wren/")
1330 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1331 (description
1332 "This package provides tools to parse and produce literals efficiently
1333from strict or lazy bytestrings.")
1334 (license license:bsd-2)))
1335
1336(define-public ghc-bzlib-conduit
1337 (package
1338 (name "ghc-bzlib-conduit")
5fba8d6d 1339 (version "0.3.0.2")
dddbc90c
RV
1340 (source
1341 (origin
1342 (method url-fetch)
1343 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1344 "bzlib-conduit-" version ".tar.gz"))
1345 (sha256
1346 (base32
5fba8d6d 1347 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1348 (build-system haskell-build-system)
1349 (inputs
1350 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1351 ("ghc-conduit" ,ghc-conduit)
1352 ("ghc-data-default-class" ,ghc-data-default-class)
1353 ("ghc-resourcet" ,ghc-resourcet)))
1354 (native-inputs
1355 `(("ghc-hspec" ,ghc-hspec)
1356 ("ghc-random" ,ghc-random)))
1357 (home-page "https://github.com/snoyberg/bzlib-conduit")
1358 (synopsis "Streaming compression/decompression via conduits")
1359 (description
1360 "This package provides Haskell bindings to bzlib and Conduit support for
1361streaming compression and decompression.")
1362 (license license:bsd-3)))
1363
1364(define-public ghc-c2hs
1365 (package
1366 (name "ghc-c2hs")
1367 (version "0.28.6")
1368 (source
1369 (origin
1370 (method url-fetch)
1371 (uri (string-append
1372 "https://hackage.haskell.org/package/c2hs/c2hs-"
1373 version
1374 ".tar.gz"))
1375 (sha256
1376 (base32
1377 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1378 (build-system haskell-build-system)
1379 (inputs
1380 `(("ghc-language-c" ,ghc-language-c)
1381 ("ghc-dlist" ,ghc-dlist)))
1382 (native-inputs
1383 `(("ghc-test-framework" ,ghc-test-framework)
1384 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1385 ("ghc-hunit" ,ghc-hunit)
a723d36d 1386 ("ghc-shelly" ,ghc-shelly)))
dddbc90c 1387 (arguments
bfebc598 1388 `(#:phases
dddbc90c
RV
1389 (modify-phases %standard-phases
1390 (add-before 'check 'set-cc
1391 ;; add a cc executable in the path, needed for some tests to pass
1392 (lambda* (#:key inputs #:allow-other-keys)
1393 (let ((gcc (assoc-ref inputs "gcc"))
1394 (tmpbin (tmpnam))
1395 (curpath (getenv "PATH")))
1396 (mkdir-p tmpbin)
1397 (symlink (which "gcc") (string-append tmpbin "/cc"))
1398 (setenv "PATH" (string-append tmpbin ":" curpath)))
1399 #t))
1400 (add-after 'check 'remove-cc
1401 ;; clean the tmp dir made in 'set-cc
1402 (lambda _
1403 (let* ((cc-path (which "cc"))
1404 (cc-dir (dirname cc-path)))
1405 (delete-file-recursively cc-dir)
1406 #t))))))
1407 (home-page "https://github.com/haskell/c2hs")
1408 (synopsis "Create Haskell bindings to C libraries")
1409 (description "C->Haskell assists in the development of Haskell bindings to
1410C libraries. It extracts interface information from C header files and
1411generates Haskell code with foreign imports and marshaling. Unlike writing
1412foreign imports by hand (or using hsc2hs), this ensures that C functions are
1413imported with the correct Haskell types.")
1414 (license license:gpl2)))
1415
1416(define-public ghc-cairo
1417 (package
1418 (name "ghc-cairo")
1419 (version "0.13.5.0")
1420 (source
1421 (origin
1422 (method url-fetch)
1423 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1424 "cairo-" version ".tar.gz"))
1425 (sha256
1426 (base32
1427 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1428 (build-system haskell-build-system)
1429 (arguments
1430 `(#:modules ((guix build haskell-build-system)
1431 (guix build utils)
1432 (ice-9 match)
1433 (srfi srfi-26))
1434 #:phases
1435 (modify-phases %standard-phases
1436 ;; FIXME: This is a copy of the standard configure phase with a tiny
1437 ;; difference: this package needs the -package-db flag to be passed
1438 ;; to "runhaskell" in addition to the "configure" action, because it
1439 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1440 ;; this option the Setup.hs file cannot be evaluated. The
1441 ;; haskell-build-system should be changed to pass "-package-db" to
1442 ;; "runhaskell" in any case.
1443 (replace 'configure
1444 (lambda* (#:key outputs inputs tests? (configure-flags '())
1445 #:allow-other-keys)
1446 (let* ((out (assoc-ref outputs "out"))
1447 (name-version (strip-store-file-name out))
1448 (input-dirs (match inputs
1449 (((_ . dir) ...)
1450 dir)
1451 (_ '())))
1452 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1453 (params (append `(,(string-append "--prefix=" out))
1454 `(,(string-append "--libdir=" out "/lib"))
1455 `(,(string-append "--bindir=" out "/bin"))
1456 `(,(string-append
1457 "--docdir=" out
1458 "/share/doc/" name-version))
1459 '("--libsubdir=$compiler/$pkg-$version")
1460 '("--package-db=../package.conf.d")
1461 '("--global")
1462 `(,@(map
1463 (cut string-append "--extra-include-dirs=" <>)
1464 (search-path-as-list '("include") input-dirs)))
1465 `(,@(map
1466 (cut string-append "--extra-lib-dirs=" <>)
1467 (search-path-as-list '("lib") input-dirs)))
1468 (if tests?
1469 '("--enable-tests")
1470 '())
1471 configure-flags)))
1472 (unsetenv "GHC_PACKAGE_PATH")
1473 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1474 "Setup.hs" "configure" params)
1475 (setenv "GHC_PACKAGE_PATH" ghc-path)
1476 #t))))))
1477 (inputs
1478 `(("ghc-utf8-string" ,ghc-utf8-string)
1479 ("cairo" ,cairo)))
1480 (native-inputs
1481 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1482 ("pkg-config" ,pkg-config)))
1483 (home-page "http://projects.haskell.org/gtk2hs/")
1484 (synopsis "Haskell bindings to the Cairo vector graphics library")
1485 (description
1486 "Cairo is a library to render high quality vector graphics. There exist
1487various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1488documents, amongst others.")
1489 (license license:bsd-3)))
1490
1491(define-public ghc-call-stack
1492 (package
1493 (name "ghc-call-stack")
1494 (version "0.1.0")
1495 (source
1496 (origin
1497 (method url-fetch)
1498 (uri (string-append "https://hackage.haskell.org/package/"
1499 "call-stack/call-stack-"
1500 version ".tar.gz"))
1501 (sha256
1502 (base32
1503 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1504 (build-system haskell-build-system)
1505 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1506 (home-page "https://github.com/sol/call-stack#readme")
1507 (synopsis "Use GHC call-stacks in a backward compatible way")
1508 (description "This package provides a compatibility layer for using GHC
1509call stacks with different versions of the compiler.")
1510 (license license:expat)))
1511
1512;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1513;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1514(define-public ghc-call-stack-boot
1515 (hidden-package
1516 (package
1517 (inherit ghc-call-stack)
1518 (arguments '(#:tests? #f))
1519 (inputs '()))))
1520
1521(define-public ghc-case-insensitive
1522 (package
1523 (name "ghc-case-insensitive")
1524 (version "1.2.0.11")
534d6caa 1525 (outputs '("out" "static" "doc"))
dddbc90c
RV
1526 (source
1527 (origin
1528 (method url-fetch)
1529 (uri (string-append
1530 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1531 version
1532 ".tar.gz"))
1533 (sha256
1534 (base32
1535 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1536 (build-system haskell-build-system)
1537 ;; these inputs are necessary to use this library
1538 (inputs
1539 `(("ghc-hashable" ,ghc-hashable)))
1540 (arguments
1541 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1542 (home-page
1543 "https://github.com/basvandijk/case-insensitive")
1544 (synopsis "Case insensitive string comparison")
1545 (description
1546 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1547constructor which can be parameterised by a string-like type like:
1548@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1549the resulting type will be insensitive to cases.")
1550 (license license:bsd-3)))
1551
6ba536a1
JS
1552(define-public ghc-cborg
1553 (package
1554 (name "ghc-cborg")
1555 (version "0.2.2.0")
1556 (source
1557 (origin
1558 (method url-fetch)
1559 (uri (string-append
1560 "mirror://hackage/package/cborg/cborg-"
1561 version
1562 ".tar.gz"))
1563 (sha256
1564 (base32
1565 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1566 (build-system haskell-build-system)
1567 (inputs
1568 `(("ghc-half" ,ghc-half)
1569 ("ghc-primitive" ,ghc-primitive)))
1570 (native-inputs
1571 `(("ghc-aeson" ,ghc-aeson)
1572 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1573 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1574 ("ghc-fail" ,ghc-fail)
1575 ("ghc-quickcheck" ,ghc-quickcheck)
1576 ("ghc-scientific" ,ghc-scientific)
1577 ("ghc-tasty" ,ghc-tasty)
1578 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1579 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1580 ("ghc-vector" ,ghc-vector)))
1581 (home-page "http://hackage.haskell.org/package/cborg")
1582 (synopsis "Concise Binary Object Representation")
1583 (description
1584 "This package (formerly binary-serialise-cbor) provides an
1585efficient implementation of the Concise Binary Object
1586Representation (CBOR), as specified by RFC 7049 at
1587https://tools.ietf.org/html/rfc7049.
1588
1589If you are looking for a library for serialisation of Haskell values, have a
1590look at the @url{https://hackage.haskell.org/package/serialise} package, which
1591is built upon this library.
1592
1593An implementation of the standard bijection between CBOR and JSON is provided
1594by the @url{https://hackage.haskell.org/package/cborg-json} package.
1595
1596Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1597command-line utility for working with CBOR data.")
1598 (license license:bsd-3)))
1599
5434fec9
JS
1600(define-public ghc-cborg-json
1601 (package
1602 (name "ghc-cborg-json")
1603 (version "0.2.2.0")
1604 (source
1605 (origin
1606 (method url-fetch)
1607 (uri (string-append
1608 "mirror://hackage/package/cborg-json/cborg-json-"
1609 version
1610 ".tar.gz"))
1611 (sha256
1612 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1613 (build-system haskell-build-system)
1614 (inputs
1615 `(("ghc-aeson" ,ghc-aeson)
1616 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1617 ("ghc-unordered-containers" ,ghc-unordered-containers)
1618 ("ghc-scientific" ,ghc-scientific)
1619 ("ghc-vector" ,ghc-vector)
1620 ("ghc-cborg" ,ghc-cborg)))
1621 (home-page "https://github.com/well-typed/cborg")
1622 (synopsis "A library for encoding JSON as CBOR")
1623 (description
1624 "This package implements the bijection between JSON and CBOR
1625defined in the CBOR specification, RFC 7049.")
1626 (license license:bsd-3)))
1627
dddbc90c
RV
1628(define-public ghc-cereal
1629 (package
1630 (name "ghc-cereal")
bd95427e 1631 (version "0.5.8.1")
dddbc90c
RV
1632 (source
1633 (origin
1634 (method url-fetch)
1635 (uri (string-append
1636 "https://hackage.haskell.org/package/cereal/cereal-"
1637 version
1638 ".tar.gz"))
1639 (sha256
1640 (base32
bd95427e 1641 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1642 (build-system haskell-build-system)
1643 (native-inputs
1644 `(("ghc-quickcheck" ,ghc-quickcheck)
1645 ("ghc-fail" ,ghc-fail)
1646 ("ghc-test-framework" ,ghc-test-framework)
1647 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1648 (home-page "https://hackage.haskell.org/package/cereal")
1649 (synopsis "Binary serialization library")
1650 (description "This package provides a binary serialization library,
1651similar to @code{binary}, that introduces an @code{isolate} primitive for
1652parser isolation, and labeled blocks for better error messages.")
1653 (license license:bsd-3)))
1654
1655(define-public ghc-cereal-conduit
1656 (package
1657 (name "ghc-cereal-conduit")
1658 (version "0.8.0")
1659 (source
1660 (origin
1661 (method url-fetch)
1662 (uri (string-append "https://hackage.haskell.org/package/"
1663 "cereal-conduit/cereal-conduit-"
1664 version ".tar.gz"))
1665 (sha256
1666 (base32
1667 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1668 (build-system haskell-build-system)
1669 (inputs
1670 `(("ghc-conduit" ,ghc-conduit)
1671 ("ghc-resourcet" ,ghc-resourcet)
1672 ("ghc-cereal" ,ghc-cereal)))
1673 (native-inputs
1674 `(("ghc-hunit" ,ghc-hunit)))
1675 (home-page "https://github.com/snoyberg/conduit")
1676 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1677 (description
1678 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1679@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1680 (license license:bsd-3)))
1681
1682(define-public ghc-cgi
1683 (package
1684 (name "ghc-cgi")
b6b2c218 1685 (version "3001.4.0.0")
dddbc90c
RV
1686 (source
1687 (origin
1688 (method url-fetch)
1689 (uri (string-append
1690 "https://hackage.haskell.org/package/cgi/cgi-"
1691 version
1692 ".tar.gz"))
1693 (sha256
1694 (base32
b6b2c218 1695 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1696 (build-system haskell-build-system)
dddbc90c
RV
1697 (inputs
1698 `(("ghc-exceptions" ,ghc-exceptions)
1699 ("ghc-multipart" ,ghc-multipart)
1700 ("ghc-network-uri" ,ghc-network-uri)
1701 ("ghc-network" ,ghc-network)))
1702 (native-inputs
1703 `(("ghc-doctest" ,ghc-doctest)
1704 ("ghc-quickcheck" ,ghc-quickcheck)))
1705 (home-page
1706 "https://github.com/cheecheeo/haskell-cgi")
1707 (synopsis "Library for writing CGI programs")
1708 (description
1709 "This is a Haskell library for writing CGI programs.")
1710 (license license:bsd-3)))
1711
1712(define-public ghc-charset
1713 (package
1714 (name "ghc-charset")
1715 (version "0.3.7.1")
1716 (source
1717 (origin
1718 (method url-fetch)
1719 (uri (string-append
1720 "https://hackage.haskell.org/package/charset/charset-"
1721 version
1722 ".tar.gz"))
1723 (sha256
1724 (base32
1725 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1726 (build-system haskell-build-system)
35ee173c
TS
1727 (arguments
1728 `(#:cabal-revision
1729 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1730 (inputs
1731 `(("ghc-semigroups" ,ghc-semigroups)
1732 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1733 (home-page "https://github.com/ekmett/charset")
1734 (synopsis "Fast unicode character sets for Haskell")
1735 (description "This package provides fast unicode character sets for
1736Haskell, based on complemented PATRICIA tries.")
1737 (license license:bsd-3)))
1738
1739(define-public ghc-chart
1740 (package
1741 (name "ghc-chart")
6cd84b98 1742 (version "1.9.1")
dddbc90c
RV
1743 (source
1744 (origin
1745 (method url-fetch)
1746 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1747 "Chart-" version ".tar.gz"))
1748 (sha256
1749 (base32
6cd84b98 1750 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1751 (build-system haskell-build-system)
1752 (inputs
1753 `(("ghc-old-locale" ,ghc-old-locale)
1754 ("ghc-lens" ,ghc-lens)
1755 ("ghc-colour" ,ghc-colour)
1756 ("ghc-data-default-class" ,ghc-data-default-class)
1757 ("ghc-operational" ,ghc-operational)
1758 ("ghc-vector" ,ghc-vector)))
1759 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1760 (synopsis "Library for generating 2D charts and plots")
1761 (description
1762 "This package provides a library for generating 2D charts and plots, with
1763backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1764 (license license:bsd-3)))
1765
1766(define-public ghc-chart-cairo
1767 (package
1768 (name "ghc-chart-cairo")
5cf9264d 1769 (version "1.9.1")
dddbc90c
RV
1770 (source
1771 (origin
1772 (method url-fetch)
1773 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1774 "Chart-cairo-" version ".tar.gz"))
1775 (sha256
1776 (base32
5cf9264d 1777 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1778 (build-system haskell-build-system)
1779 (inputs
1780 `(("ghc-old-locale" ,ghc-old-locale)
1781 ("ghc-cairo" ,ghc-cairo)
1782 ("ghc-colour" ,ghc-colour)
1783 ("ghc-data-default-class" ,ghc-data-default-class)
1784 ("ghc-operational" ,ghc-operational)
1785 ("ghc-lens" ,ghc-lens)
1786 ("ghc-chart" ,ghc-chart)))
1787 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1788 (synopsis "Cairo backend for Charts")
1789 (description "This package provides a Cairo vector graphics rendering
1790backend for the Charts library.")
1791 (license license:bsd-3)))
1792
1793(define-public ghc-chasingbottoms
1794 (package
1795 (name "ghc-chasingbottoms")
1f67853e 1796 (version "1.3.1.7")
dddbc90c
RV
1797 (source
1798 (origin
1799 (method url-fetch)
1800 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1801 "ChasingBottoms-" version ".tar.gz"))
1802 (sha256
1803 (base32
1f67853e 1804 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1805 (build-system haskell-build-system)
1806 (inputs
1807 `(("ghc-quickcheck" ,ghc-quickcheck)
1808 ("ghc-random" ,ghc-random)
1809 ("ghc-syb" ,ghc-syb)))
1810 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1811 (synopsis "Testing of partial and infinite values in Haskell")
1812 (description
1813 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1814 ;; rendered properly.
1815 "This is a library for testing code involving bottoms or infinite values.
1816For the underlying theory and a larger example involving use of QuickCheck,
1817see the article
1818@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1819\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1820Partial and Infinite Values\"}.")
1821 (license license:expat)))
1822
1823(define-public ghc-cheapskate
1824 (package
1825 (name "ghc-cheapskate")
5e18bb9e 1826 (version "0.1.1.1")
dddbc90c
RV
1827 (source
1828 (origin
1829 (method url-fetch)
1830 (uri (string-append
1831 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1832 version
1833 ".tar.gz"))
1834 (sha256
1835 (base32
5e18bb9e 1836 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1837 (build-system haskell-build-system)
1838 (inputs
1839 `(("ghc-blaze-html" ,ghc-blaze-html)
1840 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1841 ("ghc-data-default" ,ghc-data-default)
1842 ("ghc-syb" ,ghc-syb)
1843 ("ghc-uniplate" ,ghc-uniplate)))
1844 (home-page "https://github.com/jgm/cheapskate")
1845 (synopsis "Experimental markdown processor")
1846 (description "Cheapskate is an experimental Markdown processor in pure
1847Haskell. It aims to process Markdown efficiently and in the most forgiving
1848possible way. It is designed to deal with any input, including garbage, with
1849linear performance. Output is sanitized by default for protection against
1850cross-site scripting (@dfn{XSS}) attacks.")
1851 (license license:bsd-3)))
1852
1853(define-public ghc-chell
1854 (package
1855 (name "ghc-chell")
acdd03be 1856 (version "0.5")
dddbc90c
RV
1857 (source
1858 (origin
1859 (method url-fetch)
1860 (uri (string-append
1861 "https://hackage.haskell.org/package/chell/chell-"
1862 version ".tar.gz"))
1863 (sha256
1864 (base32
acdd03be 1865 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1866 (build-system haskell-build-system)
acdd03be
TS
1867 (arguments
1868 `(#:cabal-revision
1869 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1870 (inputs
1871 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1872 ("ghc-patience" ,ghc-patience)
1873 ("ghc-random" ,ghc-random)
1874 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1875 (home-page "https://john-millikin.com/software/chell/")
1876 (synopsis "Simple and intuitive library for automated testing")
1877 (description
1878 "Chell is a simple and intuitive library for automated testing.
1879It natively supports assertion-based testing, and can use companion
1880libraries such as @code{chell-quickcheck} to support more complex
1881testing strategies.")
1882 (license license:expat)))
1883
1884(define-public ghc-chell-quickcheck
1885 (package
1886 (name "ghc-chell-quickcheck")
e0e21831 1887 (version "0.2.5.2")
dddbc90c
RV
1888 (source
1889 (origin
1890 (method url-fetch)
1891 (uri (string-append
1892 "https://hackage.haskell.org/package/chell-quickcheck/"
1893 "chell-quickcheck-" version ".tar.gz"))
1894 (sha256
1895 (base32
e0e21831 1896 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1897 (build-system haskell-build-system)
1898 (arguments
1899 `(#:phases
1900 (modify-phases %standard-phases
1901 (add-before 'configure 'update-constraints
1902 (lambda _
1903 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1904 (("QuickCheck >= 2\\.3 && < 2\\.13")
1905 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1906 (inputs
1907 `(("ghc-chell" ,ghc-chell)
1908 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1909 ("ghc-random" ,ghc-random)
1910 ("ghc-quickcheck" ,ghc-quickcheck)))
1911 (home-page "https://john-millikin.com/software/chell/")
1912 (synopsis "QuickCheck support for the Chell testing library")
1913 (description "More complex tests for @code{chell}.")
1914 (license license:expat)))
1915
1916(define ghc-chell-quickcheck-bootstrap
1917 (package
1918 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1919 (version "0.2.5.2")
dddbc90c
RV
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append
1924 "https://hackage.haskell.org/package/chell-quickcheck/"
1925 "chell-quickcheck-" version ".tar.gz"))
1926 (sha256
1927 (base32
e0e21831 1928 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1929 (build-system haskell-build-system)
1930 (inputs
1931 `(("ghc-chell" ,ghc-chell)
1932 ("ghc-random" ,ghc-random)
1933 ("ghc-quickcheck" ,ghc-quickcheck)))
1934 (arguments
1935 `(#:tests? #f
1936 #:phases
1937 (modify-phases %standard-phases
1938 (add-before 'configure 'update-constraints
1939 (lambda _
1940 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1941 (("QuickCheck >= 2\\.3 && < 2\\.13")
1942 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1943 (home-page "https://john-millikin.com/software/chell/")
1944 (synopsis "QuickCheck support for the Chell testing library")
1945 (description "More complex tests for @code{chell}.")
1946 (license license:expat)))
1947
1948(define-public ghc-chunked-data
1949 (package
1950 (name "ghc-chunked-data")
1951 (version "0.3.1")
1952 (source
1953 (origin
1954 (method url-fetch)
1955 (uri (string-append "https://hackage.haskell.org/package/"
1956 "chunked-data-" version "/"
1957 "chunked-data-" version ".tar.gz"))
1958 (sha256
1959 (base32
1960 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1961 (build-system haskell-build-system)
1962 (inputs `(("ghc-vector" ,ghc-vector)
1963 ("ghc-semigroups" ,ghc-semigroups)))
1964 (home-page "https://github.com/snoyberg/mono-traversable")
1965 (synopsis "Typeclasses for dealing with various chunked data
1966representations for Haskell")
1967 (description "This Haskell package was originally present in
1968classy-prelude.")
1969 (license license:expat)))
1970
1971(define-public ghc-clock
1972 (package
1973 (name "ghc-clock")
0841b6f2 1974 (version "0.8")
dddbc90c
RV
1975 (source
1976 (origin
1977 (method url-fetch)
1978 (uri (string-append
1979 "https://hackage.haskell.org/package/"
1980 "clock/"
1981 "clock-" version ".tar.gz"))
1982 (sha256
0841b6f2 1983 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1984 (build-system haskell-build-system)
1985 (inputs
1986 `(("ghc-tasty" ,ghc-tasty)
1987 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1988 (home-page "https://hackage.haskell.org/package/clock")
1989 (synopsis "High-resolution clock for Haskell")
1990 (description "A package for convenient access to high-resolution clock and
1991timer functions of different operating systems via a unified API.")
1992 (license license:bsd-3)))
1993
1994;; This package builds `clock` without tests, since the tests rely on tasty
1995;; and tasty-quickcheck, which in turn require clock to build.
1996(define-public ghc-clock-bootstrap
1997 (package
1998 (inherit ghc-clock)
1999 (name "ghc-clock-bootstrap")
2000 (arguments '(#:tests? #f))
2001 (inputs '())
2002 (properties '((hidden? #t)))))
2003
2004(define-public ghc-cmark
2005 (package
2006 (name "ghc-cmark")
6bdd36c0 2007 (version "0.6")
dddbc90c
RV
2008 (source (origin
2009 (method url-fetch)
6bdd36c0 2010 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
2011 ;; See cbits/cmark_version.h.
2012 (uri (string-append "https://hackage.haskell.org/package/"
2013 "cmark/cmark-" version ".tar.gz"))
2014 (sha256
2015 (base32
6bdd36c0 2016 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
2017 (build-system haskell-build-system)
2018 (native-inputs
2019 `(("ghc-hunit" ,ghc-hunit)))
2020 (home-page "https://github.com/jgm/commonmark-hs")
2021 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2022 (description
2023 "This package provides Haskell bindings for
2024@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2025CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2026sources, and does not require prior installation of the C library.")
2027 (license license:bsd-3)))
2028
2029(define-public ghc-cmark-gfm
2030 (package
2031 (name "ghc-cmark-gfm")
24fc8dae 2032 (version "0.2.0")
dddbc90c
RV
2033 (source
2034 (origin
2035 (method url-fetch)
2036 (uri (string-append "https://hackage.haskell.org/package/"
2037 "cmark-gfm/cmark-gfm-"
2038 version ".tar.gz"))
2039 (sha256
2040 (base32
24fc8dae 2041 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
2042 (build-system haskell-build-system)
2043 (native-inputs
2044 `(("ghc-hunit" ,ghc-hunit)))
2045 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2046 (synopsis
2047 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2048 (description
2049 "This package provides Haskell bindings for libcmark-gfm, the reference
2050parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2051It includes sources for libcmark-gfm and does not require prior installation
2052of the C library.")
2053 (license license:bsd-3)))
2054
2055(define-public ghc-cmdargs
2056 (package
2057 (name "ghc-cmdargs")
2058 (version "0.10.20")
2059 (source
2060 (origin
2061 (method url-fetch)
2062 (uri (string-append
2063 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2064 version ".tar.gz"))
2065 (sha256
2066 (base32
2067 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2068 (build-system haskell-build-system)
3e545443 2069 (outputs '("out" "static" "doc"))
dddbc90c
RV
2070 (home-page
2071 "http://community.haskell.org/~ndm/cmdargs/")
2072 (synopsis "Command line argument processing")
2073 (description
2074 "This library provides an easy way to define command line parsers.")
2075 (license license:bsd-3)))
2076
2077(define-public ghc-code-page
2078 (package
2079 (name "ghc-code-page")
f6bb6519 2080 (version "0.2")
dddbc90c
RV
2081 (source
2082 (origin
2083 (method url-fetch)
2084 (uri (string-append
2085 "https://hackage.haskell.org/package/code-page/code-page-"
2086 version ".tar.gz"))
2087 (sha256
2088 (base32
f6bb6519 2089 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
2090 (build-system haskell-build-system)
2091 (home-page "https://github.com/RyanGlScott/code-page")
2092 (synopsis "Windows code page library for Haskell")
2093 (description "A cross-platform library with functions for adjusting
2094code pages on Windows. On all other operating systems, the library does
2095nothing.")
2096 (license license:bsd-3)))
2097
2098(define-public ghc-colour
2099(package
2100 (name "ghc-colour")
bc9d1af9 2101 (version "2.3.5")
dddbc90c
RV
2102 (source
2103 (origin
2104 (method url-fetch)
2105 (uri (string-append
2106 "https://hackage.haskell.org/package/colour/colour-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32
bc9d1af9 2110 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
2111 (arguments
2112 ;; The tests for this package have the following dependency cycle:
2113 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2114 `(#:tests? #f))
2115 (build-system haskell-build-system)
228d2901 2116 (home-page "https://wiki.haskell.org/Colour")
dddbc90c
RV
2117 (synopsis "Model for human colour perception")
2118 (description
2119 "This package provides a data type for colours and transparency.
2120Colours can be blended and composed. Various colour spaces are
2121supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2122 (license license:expat)))
2123
2124(define-public ghc-comonad
2125 (package
2126 (name "ghc-comonad")
1a825512 2127 (version "5.0.5")
dddbc90c
RV
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://hackage.haskell.org/package/comonad/comonad-"
2133 version
2134 ".tar.gz"))
2135 (sha256
2136 (base32
1a825512 2137 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2138 (build-system haskell-build-system)
2139 (native-inputs
2140 `(("cabal-doctest" ,cabal-doctest)
2141 ("ghc-doctest" ,ghc-doctest)))
2142 (inputs
2143 `(("ghc-contravariant" ,ghc-contravariant)
2144 ("ghc-distributive" ,ghc-distributive)
2145 ("ghc-semigroups" ,ghc-semigroups)
2146 ("ghc-tagged" ,ghc-tagged)
2147 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2148 (home-page "https://github.com/ekmett/comonad/")
2149 (synopsis "Comonads for Haskell")
2150 (description "This library provides @code{Comonad}s for Haskell.")
2151 (license license:bsd-3)))
2152
2153(define-public ghc-concatenative
2154 (package
2155 (name "ghc-concatenative")
2156 (version "1.0.1")
2157 (source (origin
2158 (method url-fetch)
2159 (uri (string-append
2160 "https://hackage.haskell.org/package/concatenative/concatenative-"
2161 version ".tar.gz"))
2162 (sha256
2163 (base32
2164 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2165 (build-system haskell-build-system)
2166 (home-page
2167 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2168 (synopsis "Library for postfix control flow")
2169 (description
2170 "Concatenative gives Haskell Factor-style combinators and arrows for
2171postfix notation. For more information on stack based languages, see
2172@uref{https://concatenative.org}.")
2173 (license license:bsd-3)))
2174
2175(define-public ghc-concurrent-extra
2176 (package
2177 (name "ghc-concurrent-extra")
2178 (version "0.7.0.12")
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append "https://hackage.haskell.org/package/"
2183 "concurrent-extra/concurrent-extra-"
2184 version ".tar.gz"))
2185 (sha256
2186 (base32
2187 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2188 (build-system haskell-build-system)
2189 (arguments
2190 ;; XXX: The ReadWriteLock 'stressTest' fails.
2191 `(#:tests? #f))
2192 (inputs
2193 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2194 (native-inputs
2195 `(("ghc-async" ,ghc-async)
2196 ("ghc-hunit" ,ghc-hunit)
2197 ("ghc-random" ,ghc-random)
2198 ("ghc-test-framework" ,ghc-test-framework)
2199 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2200 (home-page "https://github.com/basvandijk/concurrent-extra")
2201 (synopsis "Extra concurrency primitives")
2202 (description "This Haskell library offers (among other things) the
2203following selection of synchronisation primitives:
2204
2205@itemize
2206@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2207@item @code{Event}: Wake multiple threads by signalling an event.
2208@item @code{Lock}: Enforce exclusive access to a resource. Also known
2209as a binary semaphore or mutex. The package additionally provides an
2210alternative that works in the STM monad.
2211@item @code{RLock}: A lock which can be acquired multiple times by the
2212same thread. Also known as a reentrant mutex.
2213@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2214to protect shared resources which may be concurrently read, but only
2215sequentially written.
2216@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2217@end itemize
2218
2219Please consult the API documentation of the individual modules for more
2220detailed information.
2221
2222This package was inspired by the concurrency libraries of Java and
2223Python.")
2224 (license license:bsd-3)))
2225
2226(define-public ghc-concurrent-output
2227 (package
2228 (name "ghc-concurrent-output")
4fce0a4a 2229 (version "1.10.11")
dddbc90c
RV
2230 (source
2231 (origin
2232 (method url-fetch)
2233 (uri (string-append
2234 "mirror://hackage/package/concurrent-output/concurrent-output-"
2235 version
2236 ".tar.gz"))
2237 (sha256
2238 (base32
4fce0a4a 2239 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2240 (build-system haskell-build-system)
2241 (inputs
2242 `(("ghc-async" ,ghc-async)
2243 ("ghc-exceptions" ,ghc-exceptions)
2244 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2245 ("ghc-terminal-size" ,ghc-terminal-size)))
2246 (home-page
2247 "https://hackage.haskell.org/package/concurrent-output")
2248 (synopsis
2249 "Ungarble output from several threads or commands")
2250 (description
2251 "Lets multiple threads and external processes concurrently output to the
2252console, without it getting all garbled up.
2253
2254Built on top of that is a way of defining multiple output regions, which are
2255automatically laid out on the screen and can be individually updated by
2256concurrent threads. Can be used for progress displays etc.")
2257 (license license:bsd-2)))
2258
2259(define-public ghc-conduit
2260 (package
2261 (name "ghc-conduit")
1ac981d4 2262 (version "1.3.1.1")
dddbc90c
RV
2263 (source (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit/conduit-" version ".tar.gz"))
2267 (sha256
2268 (base32
1ac981d4 2269 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-exceptions" ,ghc-exceptions)
2273 ("ghc-lifted-base" ,ghc-lifted-base)
2274 ("ghc-mono-traversable" ,ghc-mono-traversable)
2275 ("ghc-mmorph" ,ghc-mmorph)
2276 ("ghc-resourcet" ,ghc-resourcet)
2277 ("ghc-silently" ,ghc-silently)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-unliftio" ,ghc-unliftio)
2280 ("ghc-unliftio-core" ,ghc-unliftio-core)
2281 ("ghc-vector" ,ghc-vector)
2282 ("ghc-void" ,ghc-void)))
2283 (native-inputs
2284 `(("ghc-quickcheck" ,ghc-quickcheck)
2285 ("ghc-hspec" ,ghc-hspec)
2286 ("ghc-safe" ,ghc-safe)
2287 ("ghc-split" ,ghc-split)))
2288 (home-page "https://github.com/snoyberg/conduit")
2289 (synopsis "Streaming data library ")
2290 (description
2291 "The conduit package is a solution to the streaming data problem,
2292allowing for production, transformation, and consumption of streams of data
2293in constant memory. It is an alternative to lazy I/O which guarantees
2294deterministic resource handling, and fits in the same general solution
2295space as enumerator/iteratee and pipes.")
2296 (license license:expat)))
2297
2298(define-public ghc-conduit-algorithms
2299 (package
2300 (name "ghc-conduit-algorithms")
503b74ae 2301 (version "0.0.11.0")
dddbc90c
RV
2302 (source
2303 (origin
2304 (method url-fetch)
2305 (uri (string-append "https://hackage.haskell.org/package/"
2306 "conduit-algorithms/conduit-algorithms-"
2307 version ".tar.gz"))
2308 (sha256
2309 (base32
503b74ae 2310 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2311 (build-system haskell-build-system)
2312 (inputs
2313 `(("ghc-async" ,ghc-async)
2314 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2315 ("ghc-conduit" ,ghc-conduit)
2316 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2317 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2318 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2319 ("ghc-exceptions" ,ghc-exceptions)
2320 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2321 ("ghc-monad-control" ,ghc-monad-control)
2322 ("ghc-pqueue" ,ghc-pqueue)
2323 ("ghc-resourcet" ,ghc-resourcet)
2324 ("ghc-stm-conduit" ,ghc-stm-conduit)
2325 ("ghc-streaming-commons" ,ghc-streaming-commons)
2326 ("ghc-unliftio-core" ,ghc-unliftio-core)
2327 ("ghc-vector" ,ghc-vector)))
2328 (native-inputs
2329 `(("ghc-hunit" ,ghc-hunit)
2330 ("ghc-test-framework" ,ghc-test-framework)
2331 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2332 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2333 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2334 (synopsis "Conduit-based algorithms")
2335 (description
2336 "This package provides algorithms on @code{Conduits}, including higher
2337level asynchronous processing and some other utilities.")
2338 (license license:expat)))
2339
2340(define-public ghc-conduit-combinators
2341 (package
2342 (name "ghc-conduit-combinators")
2343 (version "1.3.0")
2344 (source
2345 (origin
2346 (method url-fetch)
2347 (uri (string-append "https://hackage.haskell.org/package/"
2348 "conduit-combinators-" version "/"
2349 "conduit-combinators-" version ".tar.gz"))
2350 (sha256
2351 (base32
2352 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2353 (build-system haskell-build-system)
2354 (inputs `(("ghc-conduit" ,ghc-conduit)
2355 ("ghc-conduit-extra" ,ghc-conduit-extra)
2356 ("ghc-transformers-base" ,ghc-transformers-base)
2357 ("ghc-primitive" ,ghc-primitive)
2358 ("ghc-vector" ,ghc-vector)
2359 ("ghc-void" ,ghc-void)
2360 ("ghc-mwc-random" ,ghc-mwc-random)
2361 ("ghc-unix-compat" ,ghc-unix-compat)
2362 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2363 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2364 ("ghc-resourcet" ,ghc-resourcet)
2365 ("ghc-monad-control" ,ghc-monad-control)
2366 ("ghc-chunked-data" ,ghc-chunked-data)
2367 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2368 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2369 ("ghc-silently" ,ghc-silently)
2370 ("ghc-safe" ,ghc-safe)
2371 ("ghc-quickcheck" ,ghc-quickcheck)))
2372 (home-page "https://github.com/snoyberg/mono-traversable")
2373 (synopsis "Commonly used conduit functions, for both chunked and
2374unchunked data")
2375 (description "This Haskell package provides a replacement for Data.Conduit.List,
2376as well as a convenient Conduit module.")
2377 (license license:expat)))
2378
2379(define-public ghc-conduit-extra
2380 (package
2381 (name "ghc-conduit-extra")
151774d9 2382 (version "1.3.4")
dddbc90c
RV
2383 (source
2384 (origin
2385 (method url-fetch)
2386 (uri (string-append "https://hackage.haskell.org/package/"
2387 "conduit-extra/conduit-extra-"
2388 version ".tar.gz"))
2389 (sha256
2390 (base32
151774d9 2391 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2392 (build-system haskell-build-system)
2393 (inputs
2394 `(("ghc-conduit" ,ghc-conduit)
2395 ("ghc-exceptions" ,ghc-exceptions)
2396 ("ghc-monad-control" ,ghc-monad-control)
2397 ("ghc-transformers-base" ,ghc-transformers-base)
2398 ("ghc-typed-process" ,ghc-typed-process)
2399 ("ghc-async" ,ghc-async)
2400 ("ghc-attoparsec" ,ghc-attoparsec)
2401 ("ghc-blaze-builder" ,ghc-blaze-builder)
2402 ("ghc-network" ,ghc-network)
2403 ("ghc-primitive" ,ghc-primitive)
2404 ("ghc-resourcet" ,ghc-resourcet)
2405 ("ghc-streaming-commons" ,ghc-streaming-commons)
2406 ("ghc-hspec" ,ghc-hspec)
2407 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2408 ("ghc-quickcheck" ,ghc-quickcheck)))
2409 (native-inputs
2410 `(("hspec-discover" ,hspec-discover)))
2411 (home-page "https://github.com/snoyberg/conduit")
2412 (synopsis "Conduit adapters for common libraries")
2413 (description
2414 "The @code{conduit} package itself maintains relative small dependencies.
2415The purpose of this package is to collect commonly used utility functions
2416wrapping other library dependencies, without depending on heavier-weight
2417dependencies. The basic idea is that this package should only depend on
2418@code{haskell-platform} packages and @code{conduit}.")
2419 (license license:expat)))
2420
b59c3518
TS
2421(define-public ghc-conduit-zstd
2422 (package
2423 (name "ghc-conduit-zstd")
2424 (version "0.0.1.1")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2430 (sha256
2431 (base32
2432 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2433 (build-system haskell-build-system)
2434 (inputs
2435 `(("ghc-conduit" ,ghc-conduit)
2436 ("ghc-zstd" ,ghc-zstd)))
2437 (native-inputs
2438 `(("ghc-hunit" ,ghc-hunit)
2439 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2440 ("ghc-conduit-extra" ,ghc-conduit-extra)
2441 ("ghc-test-framework" ,ghc-test-framework)
2442 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2443 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2444 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2445 (synopsis "Conduit-based ZStd Compression")
2446 (description "Zstandard compression packaged as a conduit. This is
2447a very thin wrapper around the
2448@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2449interface}.")
2450 (license license:expat)))
2451
dddbc90c
RV
2452(define-public ghc-configurator
2453 (package
2454 (name "ghc-configurator")
2455 (version "0.3.0.0")
2456 (source
2457 (origin
2458 (method url-fetch)
2459 (uri (string-append "https://hackage.haskell.org/package/"
2460 "configurator/configurator-"
2461 version ".tar.gz"))
2462 (sha256
2463 (base32
2464 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2465 (build-system haskell-build-system)
2466 (inputs
2467 `(("ghc-attoparsec" ,ghc-attoparsec)
2468 ("ghc-hashable" ,ghc-hashable)
2469 ("ghc-unix-compat" ,ghc-unix-compat)
2470 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2471 (native-inputs
2472 `(("ghc-hunit" ,ghc-hunit)
2473 ("ghc-test-framework" ,ghc-test-framework)
2474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
702a1012 2475 (home-page "https://github.com/bos/configurator")
dddbc90c
RV
2476 (synopsis "Configuration management")
2477 (description
2478 "This package provides a configuration management library for programs
2479and daemons. The features include:
2480
2481@enumerate
2482@item Automatic, dynamic reloading in response to modifications to
2483 configuration files.
2484@item A simple, but flexible, configuration language, supporting several of
2485 the most commonly needed types of data, along with interpolation of strings
2486 from the configuration or the system environment (e.g. @code{$(HOME)}).
2487@item Subscription-based notification of changes to configuration properties.
2488@item An @code{import} directive allows the configuration of a complex
2489 application to be split across several smaller files, or common configuration
2490 data to be shared across several applications.
2491@end enumerate\n")
2492 (license license:bsd-3)))
2493
2494(define-public ghc-connection
2495 (package
2496 (name "ghc-connection")
6ee0d258 2497 (version "0.3.1")
dddbc90c
RV
2498 (source (origin
2499 (method url-fetch)
2500 (uri (string-append "https://hackage.haskell.org/package/"
2501 "connection/connection-"
2502 version ".tar.gz"))
2503 (sha256
2504 (base32
6ee0d258 2505 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2506 (build-system haskell-build-system)
2507 (inputs
2508 `(("ghc-byteable" ,ghc-byteable)
2509 ("ghc-data-default-class" ,ghc-data-default-class)
2510 ("ghc-network" ,ghc-network)
2511 ("ghc-tls" ,ghc-tls)
2512 ("ghc-socks" ,ghc-socks)
2513 ("ghc-x509" ,ghc-x509)
2514 ("ghc-x509-store" ,ghc-x509-store)
2515 ("ghc-x509-system" ,ghc-x509-system)
2516 ("ghc-x509-validation" ,ghc-x509-validation)))
2517 (home-page "https://github.com/vincenthz/hs-connection")
2518 (synopsis "Simple and easy network connections API")
2519 (description
2520 "This package provides a simple network library for all your connection
2521needs. It provides a very simple API to create sockets to a destination with
2522the choice of SSL/TLS, and SOCKS.")
2523 (license license:bsd-3)))
2524
2525(define-public ghc-constraints
2526 (package
2527 (name "ghc-constraints")
2528 (version "0.10.1")
2529 (source
2530 (origin
2531 (method url-fetch)
2532 (uri (string-append
2533 "https://hackage.haskell.org/package/constraints/constraints-"
2534 version ".tar.gz"))
2535 (sha256
2536 (base32
2537 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2538 (build-system haskell-build-system)
2539 (inputs
2540 `(("ghc-hashable" ,ghc-hashable)
2541 ("ghc-semigroups" ,ghc-semigroups)
2542 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2543 (native-inputs
2544 `(("ghc-hspec" ,ghc-hspec)
2545 ("hspec-discover" ,hspec-discover)))
2546 (home-page "https://github.com/ekmett/constraints/")
2547 (synopsis "Constraint manipulation")
2548 (description
2549 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2550They stopped crashing the compiler in GHC 7.6. This package provides
2551a vocabulary for working with them.")
2552 (license license:bsd-3)))
2553
2554(define-public ghc-contravariant
2555 (package
2556 (name "ghc-contravariant")
e7b35ff0 2557 (version "1.5.2")
dddbc90c
RV
2558 (source
2559 (origin
2560 (method url-fetch)
2561 (uri (string-append
2562 "https://hackage.haskell.org/package/contravariant/contravariant-"
2563 version
2564 ".tar.gz"))
2565 (sha256
2566 (base32
e7b35ff0 2567 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-void" ,ghc-void)
2571 ("ghc-transformers-compat" ,ghc-transformers-compat)
2572 ("ghc-statevar" ,ghc-statevar)
2573 ("ghc-semigroups" ,ghc-semigroups)))
2574 (home-page
2575 "https://github.com/ekmett/contravariant/")
2576 (synopsis "Contravariant functors")
2577 (description "Contravariant functors for Haskell.")
2578 (license license:bsd-3)))
2579
2580(define-public ghc-contravariant-extras
2581 (package
2582 (name "ghc-contravariant-extras")
2583 (version "0.3.4")
2584 (source
2585 (origin
2586 (method url-fetch)
2587 (uri (string-append "https://hackage.haskell.org/package/"
2588 "contravariant-extras-" version "/"
2589 "contravariant-extras-" version ".tar.gz"))
2590 (sha256
2591 (base32
2592 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2593 (build-system haskell-build-system)
f3aca086
TS
2594 (arguments
2595 `(#:cabal-revision
2596 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2597 (inputs
2598 `(("ghc-tuple-th" ,ghc-tuple-th)
2599 ("ghc-contravariant" ,ghc-contravariant)
2600 ("ghc-base-prelude" ,ghc-base-prelude)
2601 ("ghc-semigroups" ,ghc-semigroups)))
2602 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2603 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2604 (description "This Haskell package provides extras for the
2605@code{ghc-contravariant} package.")
2606 (license license:expat)))
2607
2608(define-public ghc-convertible
2609 (package
2610 (name "ghc-convertible")
2611 (version "1.1.1.0")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2616 "convertible-" version ".tar.gz"))
2617 (sha256
2618 (base32
2619 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-old-time" ,ghc-old-time)
2623 ("ghc-old-locale" ,ghc-old-locale)))
2624 (home-page "https://hackage.haskell.org/package/convertible")
2625 (synopsis "Typeclasses and instances for converting between types")
2626 (description
2627 "This package provides a typeclass with a single function that is
2628designed to help convert between different types: numeric values, dates and
2629times, and the like. The conversions perform bounds checking and return a
2630pure @code{Either} value. This means that you need not remember which specific
2631function performs the conversion you desire.")
2632 (license license:bsd-3)))
2633
2634(define-public ghc-data-accessor
2635 (package
2636 (name "ghc-data-accessor")
6dcca515 2637 (version "0.2.2.8")
dddbc90c
RV
2638 (source
2639 (origin
2640 (method url-fetch)
2641 (uri (string-append
2642 "mirror://hackage/package/data-accessor/data-accessor-"
2643 version ".tar.gz"))
2644 (sha256
6dcca515 2645 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c 2646 (build-system haskell-build-system)
228d2901 2647 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2648 (synopsis
2649 "Haskell utilities for accessing and manipulating fields of records")
2650 (description "This package provides Haskell modules for accessing and
2651manipulating fields of records.")
2652 (license license:bsd-3)))
2653
2654(define-public ghc-data-accessor-transformers
2655 (package
2656 (name "ghc-data-accessor-transformers")
2657 (version "0.2.1.7")
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "mirror://hackage/package/data-accessor-transformers/"
2663 "data-accessor-transformers-" version ".tar.gz"))
2664 (sha256
2665 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2666 (build-system haskell-build-system)
2667 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
228d2901 2668 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2669 (synopsis "Use Accessor to access state in transformers State monad")
2670 (description "This package provides Haskell modules to allow use of
2671Accessor to access state in transformers State monad.")
2672 (license license:bsd-3)))
2673
2674(define-public ghc-data-default
2675 (package
2676 (name "ghc-data-default")
2677 (version "0.7.1.1")
2678 (source
2679 (origin
2680 (method url-fetch)
2681 (uri (string-append
2682 "https://hackage.haskell.org/package/data-default/data-default-"
2683 version
2684 ".tar.gz"))
2685 (sha256
2686 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2687 (build-system haskell-build-system)
2688 (inputs
2689 `(("ghc-data-default-class"
2690 ,ghc-data-default-class)
2691 ("ghc-data-default-instances-base"
2692 ,ghc-data-default-instances-base)
2693 ("ghc-data-default-instances-containers"
2694 ,ghc-data-default-instances-containers)
2695 ("ghc-data-default-instances-dlist"
2696 ,ghc-data-default-instances-dlist)
2697 ("ghc-data-default-instances-old-locale"
2698 ,ghc-data-default-instances-old-locale)))
2699 (home-page "https://hackage.haskell.org/package/data-default")
2700 (synopsis "Types with default values")
2701 (description
2702 "This package defines a class for types with a default value, and
2703provides instances for types from the base, containers, dlist and old-locale
2704packages.")
2705 (license license:bsd-3)))
2706
2707(define-public ghc-data-default-class
2708 (package
2709 (name "ghc-data-default-class")
2710 (version "0.1.2.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/data-default-class/"
2716 "data-default-class-" version ".tar.gz"))
2717 (sha256
2718 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2719 (build-system haskell-build-system)
2720 (home-page "https://hackage.haskell.org/package/data-default-class")
2721 (synopsis "Types with default values")
2722 (description
2723 "This package defines a class for types with default values.")
2724 (license license:bsd-3)))
2725
2726(define-public ghc-data-default-instances-base
2727 (package
2728 (name "ghc-data-default-instances-base")
2729 (version "0.1.0.1")
2730 (source
2731 (origin
2732 (method url-fetch)
2733 (uri (string-append
2734 "https://hackage.haskell.org/package/"
2735 "data-default-instances-base/"
2736 "data-default-instances-base-" version ".tar.gz"))
2737 (sha256
2738 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2739 (build-system haskell-build-system)
2740 (inputs
2741 `(("ghc-data-default-class" ,ghc-data-default-class)))
2742 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2743 (synopsis "Default instances for types in base")
2744 (description
2745 "This package provides default instances for types from the base
2746package.")
2747 (license license:bsd-3)))
2748
2749(define-public ghc-data-default-instances-containers
2750 (package
2751 (name "ghc-data-default-instances-containers")
2752 (version "0.0.1")
2753 (source
2754 (origin
2755 (method url-fetch)
2756 (uri (string-append
2757 "https://hackage.haskell.org/package/"
2758 "data-default-instances-containers/"
2759 "data-default-instances-containers-" version ".tar.gz"))
2760 (sha256
2761 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2762 (build-system haskell-build-system)
2763 (inputs
2764 `(("ghc-data-default-class" ,ghc-data-default-class)))
2765 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2766 (synopsis "Default instances for types in containers")
2767 (description "Provides default instances for types from the containers
2768package.")
2769 (license license:bsd-3)))
2770
2771(define-public ghc-data-default-instances-dlist
2772 (package
2773 (name "ghc-data-default-instances-dlist")
2774 (version "0.0.1")
2775 (source
2776 (origin
2777 (method url-fetch)
2778 (uri (string-append
2779 "https://hackage.haskell.org/package/"
2780 "data-default-instances-dlist/"
2781 "data-default-instances-dlist-" version ".tar.gz"))
2782 (sha256
2783 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2784 (build-system haskell-build-system)
2785 (inputs
2786 `(("ghc-data-default-class" ,ghc-data-default-class)
2787 ("ghc-dlist" ,ghc-dlist)))
2788 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2789 (synopsis "Default instances for types in dlist")
2790 (description "Provides default instances for types from the dlist
2791package.")
2792 (license license:bsd-3)))
2793
2794(define-public ghc-data-default-instances-old-locale
2795 (package
2796 (name "ghc-data-default-instances-old-locale")
2797 (version "0.0.1")
2798 (source
2799 (origin
2800 (method url-fetch)
2801 (uri (string-append
2802 "https://hackage.haskell.org/package/"
2803 "data-default-instances-old-locale/"
2804 "data-default-instances-old-locale-" version ".tar.gz"))
2805 (sha256
2806 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2807 (build-system haskell-build-system)
2808 (inputs
2809 `(("ghc-data-default-class" ,ghc-data-default-class)
2810 ("ghc-old-locale" ,ghc-old-locale)))
2811 (home-page
2812 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2813 (synopsis "Default instances for types in old-locale")
2814 (description "Provides Default instances for types from the old-locale
2815 package.")
2816 (license license:bsd-3)))
2817
82c36002
JS
2818(define-public ghc-data-fix
2819 (package
2820 (name "ghc-data-fix")
2821 (version "0.2.0")
2822 (source
2823 (origin
2824 (method url-fetch)
2825 (uri (string-append
2826 "mirror://hackage/package/data-fix/"
2827 "data-fix-" version ".tar.gz"))
2828 (sha256
2829 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2830 (build-system haskell-build-system)
2831 (home-page "https://github.com/spell-music/data-fix")
2832 (synopsis "Fixpoint data types")
2833 (description
2834 "Fixpoint types and recursion schemes. If you define your AST as
2835fixpoint type, you get fold and unfold operations for free.
2836
2837Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2838 (license license:bsd-3)))
2839
dddbc90c
RV
2840(define-public ghc-data-hash
2841 (package
2842 (name "ghc-data-hash")
2843 (version "0.2.0.1")
2844 (source
2845 (origin
2846 (method url-fetch)
2847 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2848 "/data-hash-" version ".tar.gz"))
2849 (sha256
2850 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2851 (build-system haskell-build-system)
2852 (inputs
2853 `(("ghc-quickcheck" ,ghc-quickcheck)
2854 ("ghc-test-framework" ,ghc-test-framework)
2855 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2856 (home-page "https://hackage.haskell.org/package/data-hash")
2857 (synopsis "Combinators for building fast hashing functions")
2858 (description
2859 "This package provides combinators for building fast hashing functions.
2860It includes hashing functions for all basic Haskell98 types.")
2861 (license license:bsd-3)))
2862
2863(define-public ghc-data-ordlist
2864 (package
2865 (name "ghc-data-ordlist")
2866 (version "0.4.7.0")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append
2871 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2872 version ".tar.gz"))
2873 (sha256
2874 (base32
2875 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2876 (build-system haskell-build-system)
2877 (home-page "https://hackage.haskell.org/package/data-ordlist")
2878 (synopsis "Set and bag operations on ordered lists")
2879 (description
2880 "This module provides set and multiset operations on ordered lists.")
2881 (license license:bsd-3)))
2882
d05f32d6
JS
2883(define-public ghc-dbus
2884 (package
2885 (name "ghc-dbus")
2886 (version "1.2.7")
2887 (source
2888 (origin
2889 (method url-fetch)
2890 (uri
2891 (string-append
2892 "mirror://hackage/package/dbus/dbus-"
2893 version ".tar.gz"))
2894 (sha256
2895 (base32
2896 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2897 (build-system haskell-build-system)
2898 (inputs
2899 `(("ghc-cereal" ,ghc-cereal)
2900 ("ghc-conduit" ,ghc-conduit)
2901 ("ghc-exceptions" ,ghc-exceptions)
2902 ("ghc-lens" ,ghc-lens)
2903 ("ghc-network" ,ghc-network)
2904 ("ghc-random" ,ghc-random)
2905 ("ghc-split" ,ghc-split)
2906 ("ghc-th-lift" ,ghc-th-lift)
2907 ("ghc-vector" ,ghc-vector)
2908 ("ghc-xml-conduit" ,ghc-xml-conduit)
2909 ("ghc-xml-types" ,ghc-xml-types)))
2910 (native-inputs
2911 `(("ghc-extra" ,ghc-extra)
2912 ("ghc-quickcheck" ,ghc-quickcheck)
2913 ("ghc-resourcet" ,ghc-resourcet)
2914 ("ghc-tasty" ,ghc-tasty)
2915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2917 ;; FIXME - Some tests try to talk to network.
2918 (arguments `(#:tests? #f))
2919 (home-page "https://github.com/rblaze/haskell-dbus")
2920 (synopsis "Client library for the D-Bus IPC system")
2921 (description
2922 "D-Bus is a simple, message-based protocol for inter-process
2923communication, which allows applications to interact with other parts
2924of the machine and the user's session using remote procedure
2925calls. D-Bus is a essential part of the modern Linux desktop, where
2926it replaces earlier protocols such as CORBA and DCOP. This library
2927is an implementation of the D-Bus protocol in Haskell. It can be used
2928to add D-Bus support to Haskell applications, without the awkward
2929interfaces common to foreign bindings.")
2930 (license license:asl2.0)))
2931
dddbc90c
RV
2932(define-public ghc-deepseq-generics
2933 (package
2934 (name "ghc-deepseq-generics")
2935 (version "0.2.0.0")
2936 (source (origin
2937 (method url-fetch)
2938 (uri (string-append "https://hackage.haskell.org/package/"
2939 "deepseq-generics/deepseq-generics-"
2940 version ".tar.gz"))
2941 (sha256
2942 (base32
2943 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2944 (build-system haskell-build-system)
2945 (arguments
2946 `(#:cabal-revision
490ceae4 2947 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2948 (native-inputs
2949 `(("ghc-hunit" ,ghc-hunit)
2950 ("ghc-test-framework" ,ghc-test-framework)
2951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2952 (home-page "https://github.com/hvr/deepseq-generics")
2953 (synopsis "Generic RNF implementation")
2954 (description
2955 "This package provides a @code{GHC.Generics}-based
2956@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2957providing an @code{rnf} implementation.")
2958 (license license:bsd-3)))
2959
e924e17e
TS
2960(define-public ghc-dense-linear-algebra
2961 (package
2962 (name "ghc-dense-linear-algebra")
2963 (version "0.1.0.0")
2964 (source
2965 (origin
2966 (method url-fetch)
2967 (uri (string-append "https://hackage.haskell.org/package/"
2968 "dense-linear-algebra/dense-linear-algebra-"
2969 version ".tar.gz"))
2970 (sha256
2971 (base32
2972 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2973 (build-system haskell-build-system)
2974 (inputs
2975 `(("ghc-math-functions" ,ghc-math-functions)
2976 ("ghc-primitive" ,ghc-primitive)
2977 ("ghc-vector" ,ghc-vector)
2978 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2979 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2980 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2981 (native-inputs
2982 `(("ghc-hspec" ,ghc-hspec)
2983 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2984 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2985 (synopsis "Simple and incomplete implementation of linear algebra")
2986 (description "This library is simply a collection of linear-algebra
2987related modules split from the statistics library.")
2988 (license license:bsd-2)))
2989
dddbc90c
RV
2990(define-public ghc-descriptive
2991 (package
2992 (name "ghc-descriptive")
2993 (version "0.9.5")
2994 (source
2995 (origin
2996 (method url-fetch)
2997 (uri (string-append
2998 "https://hackage.haskell.org/package/descriptive/descriptive-"
2999 version
3000 ".tar.gz"))
3001 (sha256
3002 (base32
3003 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3004 (build-system haskell-build-system)
3005 (inputs
3006 `(("ghc-aeson" ,ghc-aeson)
3007 ("ghc-bifunctors" ,ghc-bifunctors)
3008 ("ghc-scientific" ,ghc-scientific)
3009 ("ghc-vector" ,ghc-vector)))
3010 (native-inputs
3011 `(("ghc-hunit" ,ghc-hunit)
3012 ("ghc-hspec" ,ghc-hspec)))
3013 (home-page
3014 "https://github.com/chrisdone/descriptive")
3015 (synopsis
3016 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3017 (description
3018 "This package provides datatypes and functions for creating consumers
3019and parsers with useful semantics.")
3020 (license license:bsd-3)))
3021
1859c94a
TS
3022(define-public ghc-diagrams-core
3023 (package
3024 (name "ghc-diagrams-core")
3025 (version "1.4.2")
3026 (source
3027 (origin
3028 (method url-fetch)
3029 (uri (string-append "https://hackage.haskell.org/package/"
3030 "diagrams-core/diagrams-core-" version ".tar.gz"))
3031 (sha256
3032 (base32
3033 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3034 (build-system haskell-build-system)
3035 (inputs
3036 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3037 ("ghc-semigroups" ,ghc-semigroups)
3038 ("ghc-monoid-extras" ,ghc-monoid-extras)
3039 ("ghc-dual-tree" ,ghc-dual-tree)
3040 ("ghc-lens" ,ghc-lens)
3041 ("ghc-linear" ,ghc-linear)
3042 ("ghc-adjunctions" ,ghc-adjunctions)
3043 ("ghc-distributive" ,ghc-distributive)
3044 ("ghc-profunctors" ,ghc-profunctors)))
3045 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3046 (synopsis "Core libraries for diagrams embedded domain-specific language")
3047 (description "This package provides the core modules underlying
3048diagrams, an embedded domain-specific language for compositional,
3049declarative drawing.")
3050 (license license:bsd-3)))
3051
f9f1a630
TS
3052(define-public ghc-diagrams-lib
3053 (package
3054 (name "ghc-diagrams-lib")
3055 (version "1.4.2.3")
3056 (source
3057 (origin
3058 (method url-fetch)
3059 (uri (string-append "https://hackage.haskell.org/package/"
3060 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3061 (sha256
3062 (base32
3063 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3064 (build-system haskell-build-system)
3065 (inputs
3066 `(("ghc-semigroups" ,ghc-semigroups)
3067 ("ghc-monoid-extras" ,ghc-monoid-extras)
3068 ("ghc-dual-tree" ,ghc-dual-tree)
3069 ("ghc-diagrams-core" ,ghc-diagrams-core)
3070 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3071 ("ghc-active" ,ghc-active)
3072 ("ghc-colour" ,ghc-colour)
3073 ("ghc-data-default-class" ,ghc-data-default-class)
3074 ("ghc-fingertree" ,ghc-fingertree)
3075 ("ghc-intervals" ,ghc-intervals)
3076 ("ghc-lens" ,ghc-lens)
3077 ("ghc-tagged" ,ghc-tagged)
3078 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3079 ("ghc-juicypixels" ,ghc-juicypixels)
3080 ("ghc-hashable" ,ghc-hashable)
3081 ("ghc-linear" ,ghc-linear)
3082 ("ghc-adjunctions" ,ghc-adjunctions)
3083 ("ghc-distributive" ,ghc-distributive)
3084 ("ghc-fsnotify" ,ghc-fsnotify)
3085 ("ghc-unordered-containers" ,ghc-unordered-containers)
3086 ("ghc-profunctors" ,ghc-profunctors)
3087 ("ghc-exceptions" ,ghc-exceptions)
3088 ("ghc-cereal" ,ghc-cereal)))
3089 (native-inputs
3090 `(("ghc-tasty" ,ghc-tasty)
3091 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3092 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3093 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3094 (arguments
3095 `(#:cabal-revision
3096 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3097 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3098 (synopsis "Embedded domain-specific language for declarative graphics")
3099 (description "Diagrams is a flexible, extensible embedded
3100domain-specific language (EDSL) for creating graphics of many types.
3101Graphics can be created in arbitrary vector spaces and rendered with
3102multiple backends. This package provides a standard library of
3103primitives and operations for creating diagrams.")
3104 (license license:bsd-3)))
3105
fd33ffa0
TS
3106(define-public ghc-diagrams-solve
3107 (package
3108 (name "ghc-diagrams-solve")
3109 (version "0.1.1")
3110 (source
3111 (origin
3112 (method url-fetch)
3113 (uri (string-append "https://hackage.haskell.org/package/"
3114 "diagrams-solve/diagrams-solve-"
3115 version ".tar.gz"))
3116 (sha256
3117 (base32
3118 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3119 (build-system haskell-build-system)
3120 (native-inputs
3121 `(("ghc-tasty" ,ghc-tasty)
3122 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3123 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3124 (arguments
3125 `(#:cabal-revision
3126 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3127 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3128 (synopsis "Pure Haskell solver routines used by diagrams")
3129 (description "This library provides Pure Haskell solver routines for
3130use by the
3131@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3132diagrams framework}. It currently includes routines for finding real
3133roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3134and cyclic tridiagonal linear systems.")
3135 (license license:bsd-3)))
3136
74be1cb7
TS
3137(define-public ghc-diagrams-svg
3138 (package
3139 (name "ghc-diagrams-svg")
3140 (version "1.4.2")
3141 (source
3142 (origin
3143 (method url-fetch)
3144 (uri (string-append "https://hackage.haskell.org/package/"
3145 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3146 (sha256
3147 (base32
3148 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3149 (build-system haskell-build-system)
3150 (inputs
3151 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3152 ("ghc-colour" ,ghc-colour)
3153 ("ghc-diagrams-core" ,ghc-diagrams-core)
3154 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3155 ("ghc-monoid-extras" ,ghc-monoid-extras)
3156 ("ghc-svg-builder" ,ghc-svg-builder)
3157 ("ghc-juicypixels" ,ghc-juicypixels)
3158 ("ghc-split" ,ghc-split)
3159 ("ghc-lens" ,ghc-lens)
3160 ("ghc-hashable" ,ghc-hashable)
3161 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3162 ("ghc-semigroups" ,ghc-semigroups)))
3163 (arguments
3164 `(#:cabal-revision
3165 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3166 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3167 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3168 (description "This package provides a modular backend for rendering
3169diagrams created with the diagrams embedded domain-specific
3170language (EDSL) to Scalable Vector Graphics (SVG) files.")
3171 (license license:bsd-3)))
3172
4eb9a167
TS
3173(define-public ghc-dictionary-sharing
3174 (package
3175 (name "ghc-dictionary-sharing")
3176 (version "0.1.0.0")
3177 (source
3178 (origin
3179 (method url-fetch)
3180 (uri (string-append "https://hackage.haskell.org/package/"
3181 "dictionary-sharing/dictionary-sharing-"
3182 version ".tar.gz"))
3183 (sha256
3184 (base32
3185 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3186 (build-system haskell-build-system)
3187 (arguments
3188 `(#:cabal-revision
3189 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3190 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3191 (synopsis "Sharing/memoization of class members")
3192 (description "This library provides tools for ensuring that class
3193members are shared.")
3194 (license license:bsd-3)))
3195
dddbc90c
RV
3196(define-public ghc-diff
3197 (package
3198 (name "ghc-diff")
3199 (version "0.3.4")
3200 (source (origin
3201 (method url-fetch)
3202 (uri (string-append "https://hackage.haskell.org/package/"
3203 "Diff/Diff-" version ".tar.gz"))
a531ff94 3204 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3205 (sha256
3206 (base32
3207 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3208 (build-system haskell-build-system)
3209 (native-inputs
3210 `(("ghc-quickcheck" ,ghc-quickcheck)
3211 ("ghc-test-framework" ,ghc-test-framework)
3212 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3213 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3214 (synopsis "O(ND) diff algorithm in Haskell")
3215 (description
3216 "This package provides an implementation of the standard diff algorithm,
3217and utilities for pretty printing.")
3218 (license license:bsd-3)))
3219
3220(define-public ghc-disk-free-space
3221 (package
3222 (name "ghc-disk-free-space")
3223 (version "0.1.0.1")
3224 (source
3225 (origin
3226 (method url-fetch)
3227 (uri (string-append "https://hackage.haskell.org/package/"
3228 "disk-free-space/disk-free-space-"
3229 version ".tar.gz"))
3230 (sha256
3231 (base32
3232 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3233 (build-system haskell-build-system)
3234 (home-page "https://github.com/redneb/disk-free-space")
3235 (synopsis "Retrieve information about disk space usage")
3236 (description "A cross-platform library for retrieving information about
3237disk space usage.")
3238 (license license:bsd-3)))
3239
3240(define-public ghc-distributive
3241 (package
3242 (name "ghc-distributive")
e4c92f28 3243 (version "0.6.1")
dddbc90c
RV
3244 (source
3245 (origin
3246 (method url-fetch)
3247 (uri (string-append
3248 "https://hackage.haskell.org/package/distributive/distributive-"
3249 version
3250 ".tar.gz"))
3251 (sha256
3252 (base32
e4c92f28 3253 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3254 (build-system haskell-build-system)
dddbc90c
RV
3255 (inputs
3256 `(("ghc-tagged" ,ghc-tagged)
3257 ("ghc-base-orphans" ,ghc-base-orphans)
3258 ("ghc-transformers-compat" ,ghc-transformers-compat)
3259 ("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3261 (native-inputs
3262 `(("cabal-doctest" ,cabal-doctest)
3263 ("ghc-doctest" ,ghc-doctest)
3264 ("ghc-hspec" ,ghc-hspec)
3265 ("hspec-discover" ,hspec-discover)))
3266 (home-page "https://github.com/ekmett/distributive/")
3267 (synopsis "Distributive functors for Haskell")
3268 (description "This package provides distributive functors for Haskell.
3269Dual to @code{Traversable}.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-dlist
3273 (package
3274 (name "ghc-dlist")
197ddf33 3275 (version "0.8.0.7")
dddbc90c
RV
3276 (source
3277 (origin
3278 (method url-fetch)
3279 (uri (string-append
3280 "https://hackage.haskell.org/package/dlist/dlist-"
3281 version
3282 ".tar.gz"))
3283 (sha256
197ddf33 3284 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3285 (build-system haskell-build-system)
3286 (inputs
3287 `(("ghc-quickcheck" ,ghc-quickcheck)))
3288 (home-page "https://github.com/spl/dlist")
3289 (synopsis "Difference lists")
3290 (description
3291 "Difference lists are a list-like type supporting O(1) append. This is
3292particularly useful for efficient logging and pretty printing (e.g. with the
3293Writer monad), where list append quickly becomes too expensive.")
3294 (license license:bsd-3)))
3295
3296(define-public ghc-doctemplates
3297 (package
3298 (name "ghc-doctemplates")
3299 (version "0.2.2.1")
3300 (source
3301 (origin
3302 (method url-fetch)
3303 (uri (string-append "https://hackage.haskell.org/package/"
3304 "doctemplates/doctemplates-"
3305 version ".tar.gz"))
3306 (sha256
3307 (base32
3308 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3309 (build-system haskell-build-system)
3310 (inputs
3311 `(("ghc-aeson" ,ghc-aeson)
3312 ("ghc-blaze-markup" ,ghc-blaze-markup)
3313 ("ghc-blaze-html" ,ghc-blaze-html)
3314 ("ghc-vector" ,ghc-vector)
3315 ("ghc-unordered-containers" ,ghc-unordered-containers)
3316 ("ghc-scientific" ,ghc-scientific)))
3317 (native-inputs
3318 `(("ghc-hspec" ,ghc-hspec)))
3319 (home-page "https://github.com/jgm/doctemplates#readme")
3320 (synopsis "Pandoc-style document templates")
3321 (description
3322 "This package provides a simple text templating system used by pandoc.")
3323 (license license:bsd-3)))
3324
3325(define-public ghc-doctest
3326 (package
3327 (name "ghc-doctest")
19c14a0f 3328 (version "0.16.2")
dddbc90c
RV
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append
3333 "https://hackage.haskell.org/package/doctest/doctest-"
3334 version
3335 ".tar.gz"))
3336 (sha256
3337 (base32
19c14a0f 3338 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3339 (build-system haskell-build-system)
3340 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3341 (inputs
3342 `(("ghc-syb" ,ghc-syb)
3343 ("ghc-paths" ,ghc-paths)
3344 ("ghc-base-compat" ,ghc-base-compat)
3345 ("ghc-code-page" ,ghc-code-page)
3346 ("ghc-hunit" ,ghc-hunit)
3347 ("ghc-hspec" ,ghc-hspec)
3348 ("ghc-quickcheck" ,ghc-quickcheck)
3349 ("ghc-stringbuilder" ,ghc-stringbuilder)
3350 ("ghc-silently" ,ghc-silently)
3351 ("ghc-setenv" ,ghc-setenv)))
3352 (home-page
3353 "https://github.com/sol/doctest#readme")
3354 (synopsis "Test interactive Haskell examples")
3355 (description "The doctest program checks examples in source code comments.
3356It is modeled after doctest for Python, see
3357@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3358 (license license:expat)))
3359
2b2c8911
JS
3360(define-public ghc-dotgen
3361 (package
3362 (name "ghc-dotgen")
3363 (version "0.4.2")
3364 (source
3365 (origin
3366 (method url-fetch)
3367 (uri (string-append
3368 "mirror://hackage/package/dotgen/dotgen-"
3369 version
3370 ".tar.gz"))
3371 (sha256
3372 (base32
3373 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3374 (build-system haskell-build-system)
3375 (home-page "https://github.com/ku-fpg/dotgen")
3376 (synopsis
3377 "Simple interface for building .dot graph files")
3378 (description
3379 "This package provides a simple interface for building .dot graph
3380files, for input into the dot and graphviz tools. It includes a
3381monadic interface for building graphs.")
3382 (license license:bsd-3)))
3383
dddbc90c
RV
3384(define-public ghc-double-conversion
3385 (package
3386 (name "ghc-double-conversion")
3387 (version "2.0.2.0")
3388 (source
3389 (origin
3390 (method url-fetch)
3391 (uri (string-append "https://hackage.haskell.org/package/"
3392 "double-conversion/double-conversion-"
3393 version ".tar.gz"))
3394 (sha256
3395 (base32
3396 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3397 (build-system haskell-build-system)
3398 (native-inputs
3399 `(("ghc-hunit" ,ghc-hunit)
3400 ("ghc-test-framework" ,ghc-test-framework)
3401 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3402 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3403 (home-page "https://github.com/bos/double-conversion")
3404 (synopsis "Fast conversion between double precision floating point and text")
3405 (description
3406 "This package provides a library that performs fast, accurate conversion
3407between double precision floating point and text.")
3408 (license license:bsd-3)))
3409
577a78b7
TS
3410(define-public ghc-dual-tree
3411 (package
3412 (name "ghc-dual-tree")
3413 (version "0.2.2.1")
3414 (source
3415 (origin
3416 (method url-fetch)
3417 (uri (string-append "https://hackage.haskell.org/package/"
3418 "dual-tree/dual-tree-" version ".tar.gz"))
3419 (sha256
3420 (base32
3421 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3422 (build-system haskell-build-system)
3423 (inputs
3424 `(("ghc-semigroups" ,ghc-semigroups)
3425 ("ghc-newtype-generics" ,ghc-newtype-generics)
3426 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3427 (native-inputs
3428 `(("ghc-quickcheck" ,ghc-quickcheck)
3429 ("ghc-testing-feat" ,ghc-testing-feat)))
3430 (home-page "https://hackage.haskell.org/package/dual-tree")
3431 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3432 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3433cached) and downwards-traveling (i.e. accumulating) monoidal
3434annotations. This is used as the core data structure underlying the
3435@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3436diagrams framework}, but potentially has other applications as well.")
3437 (license license:bsd-3)))
3438
dddbc90c
RV
3439(define-public ghc-easy-file
3440 (package
3441 (name "ghc-easy-file")
3442 (version "0.2.2")
3443 (source
3444 (origin
3445 (method url-fetch)
3446 (uri (string-append
3447 "https://hackage.haskell.org/package/easy-file/easy-file-"
3448 version
3449 ".tar.gz"))
3450 (sha256
3451 (base32
3452 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3453 (build-system haskell-build-system)
3454 (home-page
3455 "https://github.com/kazu-yamamoto/easy-file")
3456 (synopsis "File handling library for Haskell")
3457 (description "This library provides file handling utilities for Haskell.")
3458 (license license:bsd-3)))
3459
3460(define-public ghc-easyplot
3461 (package
3462 (name "ghc-easyplot")
3463 (version "1.0")
3464 (source
3465 (origin
3466 (method url-fetch)
3467 (uri (string-append
3468 "https://hackage.haskell.org/package/easyplot/easyplot-"
3469 version ".tar.gz"))
3470 (sha256
3471 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3472 (build-system haskell-build-system)
3473 (propagated-inputs `(("gnuplot" ,gnuplot)))
3474 (arguments
3475 `(#:phases (modify-phases %standard-phases
3476 (add-after 'unpack 'fix-setup-suffix
3477 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3478 (home-page "https://hub.darcs.net/scravy/easyplot")
3479 (synopsis "Haskell plotting library based on gnuplot")
3480 (description "This package provides a plotting library for
3481Haskell, using gnuplot for rendering.")
3482 (license license:expat)))
3483
3484(define-public ghc-echo
3485 (package
3486 (name "ghc-echo")
3487 (version "0.1.3")
3488 (source
3489 (origin
3490 (method url-fetch)
3491 (uri (string-append
3492 "https://hackage.haskell.org/package/echo/echo-"
3493 version ".tar.gz"))
3494 (sha256
3495 (base32
3496 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3497 (build-system haskell-build-system)
3498 (arguments
3499 `(#:cabal-revision
3500 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3501 (home-page "https://github.com/RyanGlScott/echo")
3502 (synopsis "Echo terminal input portably")
3503 (description "The @code{base} library exposes the @code{hGetEcho} and
3504@code{hSetEcho} functions for querying and setting echo status, but
3505unfortunately, neither function works with MinTTY consoles on Windows.
3506This library provides an alternative interface which works with both
3507MinTTY and other consoles.")
3508 (license license:bsd-3)))
3509
3510(define-public ghc-edisonapi
3511 (package
3512 (name "ghc-edisonapi")
3513 (version "1.3.1")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3518 "/EdisonAPI-" version ".tar.gz"))
3519 (sha256
3520 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3521 (build-system haskell-build-system)
3522 (home-page "http://rwd.rdockins.name/edison/home/")
3523 (synopsis "Library of efficient, purely-functional data structures (API)")
3524 (description
3525 "Edison is a library of purely functional data structures written by
3526Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3527value EDiSon (Efficient Data Structures). Edison provides several families of
3528abstractions, each with multiple implementations. The main abstractions
3529provided by Edison are: Sequences such as stacks, queues, and dequeues;
3530Collections such as sets, bags and heaps; and Associative Collections such as
3531finite maps and priority queues where the priority and element are distinct.")
3532 (license license:expat)))
3533
3534(define-public ghc-edisoncore
3535 (package
3536 (name "ghc-edisoncore")
3537 (version "1.3.2.1")
3538 (source
3539 (origin
3540 (method url-fetch)
3541 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3542 "/EdisonCore-" version ".tar.gz"))
3543 (sha256
3544 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3545 (build-system haskell-build-system)
3546 (inputs
3547 `(("ghc-quickcheck" ,ghc-quickcheck)
3548 ("ghc-edisonapi" ,ghc-edisonapi)))
3549 (home-page "http://rwd.rdockins.name/edison/home/")
3550 (synopsis "Library of efficient, purely-functional data structures")
3551 (description
3552 "This package provides the core Edison data structure implementations,
3553including multiple sequence, set, bag, and finite map concrete implementations
3554with various performance characteristics.")
3555 (license license:expat)))
3556
3557(define-public ghc-edit-distance
3558 (package
3559 (name "ghc-edit-distance")
3560 (version "0.2.2.1")
3561 (source
3562 (origin
3563 (method url-fetch)
3564 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3565 "/edit-distance-" version ".tar.gz"))
3566 (sha256
3567 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3568 (build-system haskell-build-system)
3569 (arguments
3570 `(#:phases
3571 (modify-phases %standard-phases
3572 (add-before 'configure 'update-constraints
3573 (lambda _
3574 (substitute* "edit-distance.cabal"
3575 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3576 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3577 (inputs
3578 `(("ghc-random" ,ghc-random)
3579 ("ghc-test-framework" ,ghc-test-framework)
3580 ("ghc-quickcheck" ,ghc-quickcheck)
3581 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3582 (home-page "https://github.com/phadej/edit-distance")
3583 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3584 (description
3585 "This package provides optimized functions to determine the edit
3586distances for fuzzy matching, including Levenshtein and restricted
3587Damerau-Levenshtein algorithms.")
3588 (license license:bsd-3)))
3589
3ebae41f
TS
3590(define-public ghc-edit-distance-vector
3591 (package
3592 (name "ghc-edit-distance-vector")
3593 (version "1.0.0.4")
3594 (source
3595 (origin
3596 (method url-fetch)
3597 (uri (string-append "https://hackage.haskell.org/package/"
3598 "edit-distance-vector/edit-distance-vector-"
3599 version ".tar.gz"))
3600 (sha256
3601 (base32
3602 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3603 (build-system haskell-build-system)
3604 (inputs
3605 `(("ghc-vector" ,ghc-vector)))
3606 (native-inputs
3607 `(("ghc-quickcheck" ,ghc-quickcheck)
3608 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3609 (home-page "https://github.com/thsutton/edit-distance-vector")
3610 (synopsis "Calculate edit distances and edit scripts between vectors")
3611 (description "This package provides implementation of the
3612Wagner-Fischer dynamic programming algorithm to find the optimal edit
3613script and cost between two sequences. The implementation in this
3614package is specialised to sequences represented with @code{Data.Vector}
3615but is otherwise agnostic to:
3616@itemize
3617@item The type of values in the vectors;
3618@item The type representing edit operations; and
3619@item The type representing the cost of operations.
3620@end itemize")
3621 (license license:bsd-3)) )
3622
dddbc90c
RV
3623(define-public ghc-either
3624 (package
3625 (name "ghc-either")
a3fd4dc7 3626 (version "5.0.1.1")
dddbc90c
RV
3627 (source
3628 (origin
3629 (method url-fetch)
3630 (uri (string-append "https://hackage.haskell.org/package/"
3631 "either-" version "/"
3632 "either-" version ".tar.gz"))
3633 (sha256
3634 (base32
a3fd4dc7 3635 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3636 (build-system haskell-build-system)
3637 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3638 ("ghc-exceptions" ,ghc-exceptions)
3639 ("ghc-free" ,ghc-free)
3640 ("ghc-monad-control" ,ghc-monad-control)
3641 ("ghc-manodrandom" ,ghc-monadrandom)
3642 ("ghc-mmorph" ,ghc-mmorph)
3643 ("ghc-profunctors" ,ghc-profunctors)
3644 ("ghc-semigroups" ,ghc-semigroups)
3645 ("ghc-semigroupoids" ,ghc-semigroupoids)
3646 ("ghc-transformers-base" ,ghc-transformers-base)))
3647 (native-inputs
3648 `(("ghc-quickcheck" ,ghc-quickcheck)
3649 ("ghc-test-framework" ,ghc-test-framework)
3650 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3651 (home-page "https://github.com/ekmett/either")
3652 (synopsis "Provides an either monad transformer for Haskell")
3653 (description "This Haskell package provides an either monad transformer.")
3654 (license license:bsd-3)))
3655
3656(define-public ghc-email-validate
3657 (package
3658 (name "ghc-email-validate")
a4fe1c64 3659 (version "2.3.2.12")
dddbc90c
RV
3660 (source
3661 (origin
3662 (method url-fetch)
3663 (uri (string-append
3664 "https://hackage.haskell.org/package/"
3665 "email-validate/email-validate-"
3666 version
3667 ".tar.gz"))
3668 (sha256
3669 (base32
a4fe1c64 3670 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3671 (build-system haskell-build-system)
3672 (inputs
3673 `(("ghc-attoparsec" ,ghc-attoparsec)
3674 ("ghc-hspec" ,ghc-hspec)
3675 ("ghc-quickcheck" ,ghc-quickcheck)
3676 ("ghc-doctest" ,ghc-doctest)))
3677 (home-page
3678 "https://github.com/Porges/email-validate-hs")
3679 (synopsis "Email address validator for Haskell")
3680 (description
3681 "This Haskell package provides a validator that can validate an email
3682address string against RFC 5322.")
3683 (license license:bsd-3)))
3684
3685(define-public ghc-enclosed-exceptions
3686 (package
3687 (name "ghc-enclosed-exceptions")
3688 (version "1.0.3")
3689 (source (origin
3690 (method url-fetch)
3691 (uri (string-append "https://hackage.haskell.org/package/"
3692 "enclosed-exceptions/enclosed-exceptions-"
3693 version ".tar.gz"))
3694 (sha256
3695 (base32
3696 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3697 (build-system haskell-build-system)
3698 ;; FIXME: one of the tests blocks forever:
3699 ;; "thread blocked indefinitely in an MVar operation"
3700 (arguments '(#:tests? #f))
3701 (inputs
3702 `(("ghc-lifted-base" ,ghc-lifted-base)
3703 ("ghc-monad-control" ,ghc-monad-control)
3704 ("ghc-async" ,ghc-async)
3705 ("ghc-transformers-base" ,ghc-transformers-base)))
3706 (native-inputs
3707 `(("ghc-hspec" ,ghc-hspec)
3708 ("ghc-quickcheck" ,ghc-quickcheck)))
3709 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3710 (synopsis "Catch all exceptions from within an enclosed computation")
3711 (description
3712 "This library implements a technique to catch all exceptions raised
3713within an enclosed computation, while remaining responsive to (external)
3714asynchronous exceptions.")
3715 (license license:expat)))
3716
3717(define-public ghc-equivalence
3718 (package
3719 (name "ghc-equivalence")
801cf5b1 3720 (version "0.3.5")
dddbc90c
RV
3721 (source
3722 (origin
3723 (method url-fetch)
3724 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3725 "/equivalence-" version ".tar.gz"))
3726 (sha256
801cf5b1 3727 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3728 (build-system haskell-build-system)
3729 (inputs
3730 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3731 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3732 ("ghc-fail" ,ghc-fail)
3733 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3734 (home-page "https://github.com/pa-ba/equivalence")
3735 (synopsis "Maintaining an equivalence relation implemented as union-find")
3736 (description
3737 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3738Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
373922(2), 1975) in order to maintain an equivalence relation. This
3740implementation is a port of the @code{union-find} package using the @code{ST}
3741monad transformer (instead of the IO monad).")
3742 (license license:bsd-3)))
3743
3744(define-public ghc-erf
3745 (package
3746 (name "ghc-erf")
3747 (version "2.0.0.0")
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append "https://hackage.haskell.org/package/"
3752 "erf-" version "/"
3753 "erf-" version ".tar.gz"))
3754 (sha256
3755 (base32
3756 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3757 (build-system haskell-build-system)
3758 (home-page "https://hackage.haskell.org/package/erf")
3759 (synopsis "The error function, erf, and related functions for Haskell")
3760 (description "This Haskell library provides a type class for the
3761error function, erf, and related functions. Instances for Float and
3762Double.")
3763 (license license:bsd-3)))
3764
3765(define-public ghc-errorcall-eq-instance
3766 (package
3767 (name "ghc-errorcall-eq-instance")
3768 (version "0.3.0")
3769 (source
3770 (origin
3771 (method url-fetch)
3772 (uri (string-append "https://hackage.haskell.org/package/"
3773 "errorcall-eq-instance/errorcall-eq-instance-"
3774 version ".tar.gz"))
3775 (sha256
3776 (base32
3777 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3778 (build-system haskell-build-system)
3779 (inputs
3780 `(("ghc-base-orphans" ,ghc-base-orphans)))
3781 (native-inputs
3782 `(("ghc-quickcheck" ,ghc-quickcheck)
3783 ("ghc-hspec" ,ghc-hspec)
3784 ("hspec-discover" ,hspec-discover)))
3ef91e15 3785 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3786 (synopsis "Orphan Eq instance for ErrorCall")
3787 (description
3788 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3789This package provides an orphan instance.")
3790 (license license:expat)))
3791
3792(define-public ghc-errors
3793 (package
3794 (name "ghc-errors")
3795 (version "2.3.0")
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append "https://hackage.haskell.org/package/"
3800 "errors-" version "/"
3801 "errors-" version ".tar.gz"))
3802 (sha256
3803 (base32
3804 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3805 (build-system haskell-build-system)
3806 (inputs
3807 `(("ghc-exceptions" ,ghc-exceptions)
3808 ("ghc-transformers-compat" ,ghc-transformers-compat)
3809 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3810 ("ghc-safe" ,ghc-safe)))
3811 (home-page "https://github.com/gabriel439/haskell-errors-library")
3812 (synopsis "Error handling library for Haskell")
3813 (description "This library encourages an error-handling style that
3814directly uses the type system, rather than out-of-band exceptions.")
3815 (license license:bsd-3)))
3816
3817(define-public ghc-esqueleto
2648b604
TS
3818 (package
3819 (name "ghc-esqueleto")
2f6ad77b 3820 (version "3.3.1.1")
2648b604
TS
3821 (source
3822 (origin
3823 (method url-fetch)
3824 (uri (string-append "https://hackage.haskell.org/package/"
3825 "esqueleto/esqueleto-" version ".tar.gz"))
3826 (sha256
3827 (base32
2f6ad77b 3828 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3829 (build-system haskell-build-system)
3830 (arguments
3831 `(#:haddock? #f ; Haddock reports an internal error.
3832 #:phases
3833 (modify-phases %standard-phases
3834 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3835 ;; SQLite backends. Since we only have Haskell packages for
3836 ;; SQLite, we remove the other two test suites. FIXME: Add the
3837 ;; other backends and run all three test suites.
3838 (add-before 'configure 'remove-non-sqlite-test-suites
3839 (lambda _
3840 (use-modules (ice-9 rdelim))
3841 (with-atomic-file-replacement "esqueleto.cabal"
3842 (lambda (in out)
3843 (let loop ((line (read-line in 'concat)) (deleting? #f))
3844 (cond
3845 ((eof-object? line) #t)
3846 ((string-every char-set:whitespace line)
3847 (unless deleting? (display line out))
3848 (loop (read-line in 'concat) #f))
3849 ((member line '("test-suite mysql\n"
3850 "test-suite postgresql\n"))
3851 (loop (read-line in 'concat) #t))
3852 (else
3853 (unless deleting? (display line out))
3854 (loop (read-line in 'concat) deleting?)))))))))))
3855 (inputs
3856 `(("ghc-blaze-html" ,ghc-blaze-html)
3857 ("ghc-conduit" ,ghc-conduit)
3858 ("ghc-monad-logger" ,ghc-monad-logger)
3859 ("ghc-persistent" ,ghc-persistent)
3860 ("ghc-resourcet" ,ghc-resourcet)
3861 ("ghc-tagged" ,ghc-tagged)
3862 ("ghc-unliftio" ,ghc-unliftio)
3863 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3864 (native-inputs
3865 `(("ghc-hspec" ,ghc-hspec)
3866 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3867 ("ghc-persistent-template" ,ghc-persistent-template)))
3868 (home-page "https://github.com/bitemyapp/esqueleto")
3869 (synopsis "Type-safe embedded domain specific language for SQL queries")
3870 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3871language (EDSL) for SQL queries that works with SQL backends as provided by
3872@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3873to learn new concepts, just new syntax, and it's fairly easy to predict the
3874generated SQL and optimize it for your backend.")
2648b604 3875 (license license:bsd-3)))
dddbc90c
RV
3876
3877(define-public ghc-exactprint
3878 (package
3879 (name "ghc-exactprint")
50614014 3880 (version "0.6.1")
dddbc90c
RV
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append
3885 "https://hackage.haskell.org/package/"
3886 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3887 (sha256
3888 (base32
50614014 3889 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-paths" ,ghc-paths)
3893 ("ghc-syb" ,ghc-syb)
3894 ("ghc-free" ,ghc-free)))
3895 (native-inputs
3896 `(("ghc-hunit" ,ghc-hunit)
3897 ("ghc-diff" ,ghc-diff)
3898 ("ghc-silently" ,ghc-silently)
3899 ("ghc-filemanip" ,ghc-filemanip)))
3900 (home-page
3ef91e15 3901 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3902 (synopsis "ExactPrint for GHC")
3903 (description
3904 "Using the API Annotations available from GHC 7.10.2, this library
3905provides a means to round-trip any code that can be compiled by GHC, currently
3906excluding @file{.lhs} files.")
3907 (license license:bsd-3)))
3908
3909(define-public ghc-exceptions
3910 (package
3911 (name "ghc-exceptions")
46d3e65b 3912 (version "0.10.3")
dddbc90c
RV
3913 (source
3914 (origin
3915 (method url-fetch)
3916 (uri (string-append
3917 "https://hackage.haskell.org/package/exceptions/exceptions-"
3918 version
3919 ".tar.gz"))
3920 (sha256
3921 (base32
46d3e65b 3922 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3923 (build-system haskell-build-system)
3924 (native-inputs
3925 `(("ghc-quickcheck" ,ghc-quickcheck)
3926 ("ghc-test-framework" ,ghc-test-framework)
3927 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3928 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3929 (inputs
3930 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3931 (home-page "https://github.com/ekmett/exceptions/")
3932 (synopsis "Extensible optionally-pure exceptions")
3933 (description "This library provides extensible optionally-pure exceptions
3934for Haskell.")
3935 (license license:bsd-3)))
3936
3937(define-public ghc-executable-path
3938 (package
3939 (name "ghc-executable-path")
3940 (version "0.0.3.1")
3941 (source (origin
3942 (method url-fetch)
3943 (uri (string-append "https://hackage.haskell.org/package/"
3944 "executable-path/executable-path-"
3945 version ".tar.gz"))
3946 (sha256
3947 (base32
3948 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3949 (build-system haskell-build-system)
3950 (home-page "https://hackage.haskell.org/package/executable-path")
3951 (synopsis "Find out the full path of the executable")
3952 (description
3953 "The documentation of @code{System.Environment.getProgName} says that
3954\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3955instead, for maximum portability, we just return the leafname of the program
3956as invoked.\" This library tries to provide the missing path.")
3957 (license license:public-domain)))
3958
3959(define-public ghc-extensible-exceptions
3960 (package
3961 (name "ghc-extensible-exceptions")
3962 (version "0.1.1.4")
3963 (source
3964 (origin
3965 (method url-fetch)
3966 (uri (string-append "https://hackage.haskell.org/package/"
3967 "extensible-exceptions/extensible-exceptions-"
3968 version ".tar.gz"))
3969 (sha256
3970 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3971 (build-system haskell-build-system)
3972 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3973 (synopsis "Extensible exceptions for Haskell")
3974 (description
3975 "This package provides extensible exceptions for both new and old
3976versions of GHC (i.e., < 6.10).")
3977 (license license:bsd-3)))
3978
3979(define-public ghc-extra
3980 (package
3981 (name "ghc-extra")
0cec5c4e 3982 (version "1.6.21")
dddbc90c
RV
3983 (source
3984 (origin
3985 (method url-fetch)
3986 (uri (string-append
3987 "https://hackage.haskell.org/package/extra/extra-"
3988 version
3989 ".tar.gz"))
3990 (sha256
3991 (base32
0cec5c4e 3992 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3993 (build-system haskell-build-system)
3994 (inputs
3995 `(("ghc-clock" ,ghc-clock)
10650c44 3996 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3997 ("ghc-quickcheck" ,ghc-quickcheck)
3998 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3999 (home-page "https://github.com/ndmitchell/extra")
4000 (synopsis "Extra Haskell functions")
4001 (description "This library provides extra functions for the standard
4002Haskell libraries. Most functions are simple additions, filling out missing
4003functionality. A few functions are available in later versions of GHC, but
4004this package makes them available back to GHC 7.2.")
4005 (license license:bsd-3)))
4006
4007(define-public ghc-fail
4008 (package
4009 (name "ghc-fail")
4010 (version "4.9.0.0")
4011 (source
4012 (origin
4013 (method url-fetch)
4014 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4015 version ".tar.gz"))
4016 (sha256
4017 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4018 (build-system haskell-build-system)
4019 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4020 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4021 (synopsis "Forward-compatible MonadFail class")
4022 (description
4023 "This package contains the @code{Control.Monad.Fail} module providing the
4024@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4025class that became available in
4026@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4027older @code{base} package versions. This package turns into an empty package
4028when used with GHC versions which already provide the
4029@code{Control.Monad.Fail} module.")
4030 (license license:bsd-3)))
4031
4032(define-public ghc-fast-logger
4033 (package
4034 (name "ghc-fast-logger")
d443a52a 4035 (version "2.4.17")
dddbc90c
RV
4036 (source
4037 (origin
4038 (method url-fetch)
4039 (uri (string-append
4040 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4041 version
4042 ".tar.gz"))
4043 (sha256
4044 (base32
d443a52a 4045 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4046 (build-system haskell-build-system)
4047 (inputs
4048 `(("ghc-auto-update" ,ghc-auto-update)
4049 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4050 ("ghc-unix-time" ,ghc-unix-time)
4051 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4052 (native-inputs
4053 `(("hspec-discover" ,hspec-discover)
4054 ("ghc-hspec" ,ghc-hspec)))
4055 (home-page "https://hackage.haskell.org/package/fast-logger")
4056 (synopsis "Fast logging system")
4057 (description "This library provides a fast logging system for Haskell.")
4058 (license license:bsd-3)))
4059
4060(define-public ghc-feed
4061 (package
4062 (name "ghc-feed")
a41c16dc 4063 (version "1.2.0.1")
dddbc90c
RV
4064 (source
4065 (origin
4066 (method url-fetch)
4067 (uri (string-append "https://hackage.haskell.org/package/"
4068 "feed/feed-" version ".tar.gz"))
4069 (sha256
4070 (base32
a41c16dc 4071 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4072 (build-system haskell-build-system)
dddbc90c
RV
4073 (inputs
4074 `(("ghc-base-compat" ,ghc-base-compat)
4075 ("ghc-old-locale" ,ghc-old-locale)
4076 ("ghc-old-time" ,ghc-old-time)
4077 ("ghc-safe" ,ghc-safe)
4078 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4079 ("ghc-utf8-string" ,ghc-utf8-string)
4080 ("ghc-xml-conduit" ,ghc-xml-conduit)
4081 ("ghc-xml-types" ,ghc-xml-types)))
4082 (native-inputs
4083 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4084 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4085 ("ghc-test-framework" ,ghc-test-framework)
4086 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4087 (home-page "https://github.com/bergmark/feed")
4088 (synopsis "Haskell package for handling various syndication formats")
4089 (description "This Haskell package includes tools for generating and
4090consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4091 (license license:bsd-3)))
4092
4093(define-public ghc-fgl
4094 (package
4095 (name "ghc-fgl")
17482b26 4096 (version "5.7.0.1")
534d6caa 4097 (outputs '("out" "static" "doc"))
dddbc90c
RV
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append
4102 "https://hackage.haskell.org/package/fgl/fgl-"
4103 version
4104 ".tar.gz"))
4105 (sha256
4106 (base32
17482b26 4107 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4108 (build-system haskell-build-system)
4109 (arguments
4110 `(#:phases
4111 (modify-phases %standard-phases
4112 (add-before 'configure 'update-constraints
4113 (lambda _
4114 (substitute* "fgl.cabal"
17482b26
TS
4115 (("QuickCheck >= 2\\.8 && < 2\\.13")
4116 "QuickCheck >= 2.8 && < 2.14")
4117 (("hspec >= 2\\.1 && < 2\\.7")
4118 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4119 (inputs
4120 `(("ghc-hspec" ,ghc-hspec)
4121 ("ghc-quickcheck" ,ghc-quickcheck)))
4122 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4123 (synopsis
4124 "Martin Erwig's Functional Graph Library")
4125 (description "The functional graph library, FGL, is a collection of type
4126and function definitions to address graph problems. The basis of the library
4127is an inductive definition of graphs in the style of algebraic data types that
4128encourages inductive, recursive definitions of graph algorithms.")
4129 (license license:bsd-3)))
4130
4131(define-public ghc-fgl-arbitrary
4132 (package
4133 (name "ghc-fgl-arbitrary")
4134 (version "0.2.0.3")
4135 (source
4136 (origin
4137 (method url-fetch)
4138 (uri (string-append
4139 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4140 version ".tar.gz"))
4141 (sha256
4142 (base32
4143 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4144 (build-system haskell-build-system)
4145 (arguments
4146 `(#:phases
4147 (modify-phases %standard-phases
4148 (add-before 'configure 'update-constraints
4149 (lambda _
4150 (substitute* "fgl-arbitrary.cabal"
4151 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4152 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4153 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4154 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4155 (inputs
4156 `(("ghc-fgl" ,ghc-fgl)
4157 ("ghc-quickcheck" ,ghc-quickcheck)
4158 ("ghc-hspec" ,ghc-hspec)))
4159 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4160 (synopsis "QuickCheck support for fgl")
4161 (description
4162 "Provides Arbitrary instances for fgl graphs to avoid adding a
4163QuickCheck dependency for fgl whilst still making the instances
4164available to others. Also available are non-fgl-specific functions
4165for generating graph-like data structures.")
4166 (license license:bsd-3)))
4167
4168(define-public ghc-file-embed
4169 (package
4170 (name "ghc-file-embed")
b5920d50 4171 (version "0.0.11")
dddbc90c
RV
4172 (source
4173 (origin
4174 (method url-fetch)
4175 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4176 "file-embed-" version ".tar.gz"))
4177 (sha256
4178 (base32
b5920d50 4179 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4180 (build-system haskell-build-system)
4181 (home-page "https://github.com/snoyberg/file-embed")
4182 (synopsis "Use Template Haskell to embed file contents directly")
4183 (description
4184 "This package allows you to use Template Haskell to read a file or all
4185the files in a directory, and turn them into @code{(path, bytestring)} pairs
4186embedded in your Haskell code.")
4187 (license license:bsd-3)))
4188
4189(define-public ghc-filemanip
4190 (package
4191 (name "ghc-filemanip")
4192 (version "0.3.6.3")
4193 (source (origin
4194 (method url-fetch)
4195 (uri (string-append "https://hackage.haskell.org/package/"
4196 "filemanip/filemanip-" version ".tar.gz"))
4197 (sha256
4198 (base32
4199 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4200 (build-system haskell-build-system)
4201 (inputs
4202 `(("ghc-unix-compat" ,ghc-unix-compat)))
4203 (home-page "https://github.com/bos/filemanip")
4204 (synopsis "File and directory manipulation for Haskell")
4205 (description
4206 "This package provides a Haskell library for working with files and
4207directories. It includes code for pattern matching, finding files, modifying
4208file contents, and more.")
4209 (license license:bsd-3)))
4210
bb62932a
KM
4211(define-public ghc-filepath-bytestring
4212 (package
4213 (name "ghc-filepath-bytestring")
4214 (version "1.4.2.1.1")
4215 (source
4216 (origin
4217 (method url-fetch)
4218 (uri (string-append
4219 "https://hackage.haskell.org/package/filepath-bytestring/"
4220 "filepath-bytestring-" version ".tar.gz"))
4221 (sha256
4222 (base32
4223 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4224 (build-system haskell-build-system)
4225 (native-inputs
4226 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4227 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4228 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4229 (description "This package provides a drop-in replacement for the standard
4230@code{filepath} library, operating on @code{RawFilePath} values rather than
4231@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4232 (license license:bsd-3)))
4233
dddbc90c
RV
4234(define-public ghc-findbin
4235 (package
4236 (name "ghc-findbin")
4237 (version "0.0.5")
4238 (source
4239 (origin
4240 (method url-fetch)
4241 (uri (string-append
4242 "https://hackage.haskell.org/package/FindBin/FindBin-"
4243 version ".tar.gz"))
4244 (sha256
4245 (base32
4246 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4247 (build-system haskell-build-system)
4248 (home-page "https://github.com/audreyt/findbin")
4249 (synopsis "Get the absolute path of the running program")
4250 (description
4251 "This module locates the full directory of the running program, to allow
4252the use of paths relative to it. FindBin supports invocation of Haskell
4253programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4254an executable.")
4255 (license license:bsd-3)))
4256
4257(define-public ghc-fingertree
4258 (package
4259 (name "ghc-fingertree")
aac14fdc 4260 (version "0.1.4.2")
dddbc90c
RV
4261 (source
4262 (origin
4263 (method url-fetch)
4264 (uri (string-append
4265 "https://hackage.haskell.org/package/fingertree/fingertree-"
4266 version ".tar.gz"))
4267 (sha256
4268 (base32
aac14fdc 4269 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4270 (build-system haskell-build-system)
4271 (native-inputs
4272 `(("ghc-hunit" ,ghc-hunit)
4273 ("ghc-quickcheck" ,ghc-quickcheck)
4274 ("ghc-test-framework" ,ghc-test-framework)
4275 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4276 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4277 (home-page "https://hackage.haskell.org/package/fingertree")
4278 (synopsis "Generic finger-tree structure")
4279 (description "This library provides finger trees, a general sequence
4280representation with arbitrary annotations, for use as a base for
4281implementations of various collection types. It includes examples, as
4282described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4283simple general-purpose data structure\".")
4284 (license license:bsd-3)))
4285
4286(define-public ghc-fixed
4287 (package
4288 (name "ghc-fixed")
099dda5b 4289 (version "0.3")
dddbc90c
RV
4290 (source
4291 (origin
4292 (method url-fetch)
4293 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4294 version ".tar.gz"))
4295 (sha256
4296 (base32
099dda5b 4297 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4298 (build-system haskell-build-system)
4299 (home-page "https://github.com/ekmett/fixed")
4300 (synopsis "Signed 15.16 precision fixed point arithmetic")
4301 (description
4302 "This package provides functions for signed 15.16 precision fixed point
4303arithmetic.")
4304 (license license:bsd-3)))
4305
f169f713
JS
4306(define-public ghc-fmlist
4307 (package
4308 (name "ghc-fmlist")
fe9b83a6 4309 (version "0.9.3")
f169f713
JS
4310 (source
4311 (origin
4312 (method url-fetch)
4313 (uri
4314 (string-append
4315 "https://hackage.haskell.org/package/fmlist/fmlist-"
4316 version ".tar.gz"))
4317 (sha256
4318 (base32
fe9b83a6 4319 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4320 (build-system haskell-build-system)
4321 (home-page "https://github.com/sjoerdvisscher/fmlist")
4322 (synopsis "FoldMap lists")
4323 (description "FoldMap lists are lists represented by their
4324@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4325append, just like DLists, but other operations might have favorable
4326performance characteristics as well. These wild claims are still
4327completely unverified though.")
4328 (license license:bsd-3)))
4329
dddbc90c
RV
4330(define-public ghc-foldl
4331 (package
4332 (name "ghc-foldl")
26c4104f 4333 (version "1.4.5")
dddbc90c
RV
4334 (source
4335 (origin
4336 (method url-fetch)
4337 (uri (string-append "https://hackage.haskell.org/package/"
4338 "foldl-" version "/"
4339 "foldl-" version ".tar.gz"))
4340 (sha256
4341 (base32
26c4104f 4342 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4343 (build-system haskell-build-system)
4344 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4345 ("ghc-primitive" ,ghc-primitive)
4346 ("ghc-vector" ,ghc-vector)
4347 ("ghc-unordered-containers" ,ghc-unordered-containers)
4348 ("ghc-hashable" ,ghc-hashable)
4349 ("ghc-contravariant" ,ghc-contravariant)
4350 ("ghc-semigroups" ,ghc-semigroups)
4351 ("ghc-profunctors" ,ghc-profunctors)
4352 ("ghc-semigroupoids" ,ghc-semigroupoids)
4353 ("ghc-comonad" ,ghc-comonad)
4354 ("ghc-vector-builder" ,ghc-vector-builder)))
4355 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4356 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4357 (description "This Haskell library provides strict left folds that stream
4358in constant memory, and you can combine folds using @code{Applicative} style
4359to derive new folds. Derived folds still traverse the container just once
4360and are often as efficient as hand-written folds.")
4361 (license license:bsd-3)))
4362
4363(define-public ghc-foundation
4364 (package
4365 (name "ghc-foundation")
0a702df9 4366 (version "0.0.25")
dddbc90c
RV
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append "https://hackage.haskell.org/package/"
4371 "foundation/foundation-" version ".tar.gz"))
4372 (sha256
4373 (base32
0a702df9 4374 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4375 (build-system haskell-build-system)
59cd7518
TS
4376 (arguments
4377 `(#:phases
4378 (modify-phases %standard-phases
4379 ;; This test is broken. For details, see
4380 ;; https://github.com/haskell-foundation/foundation/issues/530
4381 (add-after 'unpack 'patch-tests
4382 (lambda _
4383 (substitute* "tests/Test/Foundation/Number.hs"
4384 ((", testDividible proxy") ""))
4385 #t)))))
dddbc90c
RV
4386 (inputs `(("ghc-basement" ,ghc-basement)))
4387 (home-page "https://github.com/haskell-foundation/foundation")
4388 (synopsis "Alternative prelude with batteries and no dependencies")
4389 (description
4390 "This package provides a custom prelude with no dependencies apart from
4391the base package.
4392
4393Foundation has the following goals:
4394
4395@enumerate
4396@item provide a base like sets of modules that provide a consistent set of
4397 features and bugfixes across multiple versions of GHC (unlike base).
4398@item provide a better and more efficient prelude than base's prelude.
4399@item be self-sufficient: no external dependencies apart from base;
4400@item provide better data-types: packed unicode string by default, arrays;
4401@item Numerical classes that better represent mathematical things (no more
4402 all-in-one @code{Num});
4403@item I/O system with less lazy IO.
4404@end enumerate\n")
4405 (license license:bsd-3)))
4406
4407(define-public ghc-free
4408 (package
4409 (name "ghc-free")
4081565d 4410 (version "5.1.2")
dddbc90c
RV
4411 (source
4412 (origin
4413 (method url-fetch)
4414 (uri (string-append
4415 "https://hackage.haskell.org/package/free/free-"
4416 version
4417 ".tar.gz"))
4418 (sha256
4419 (base32
4081565d 4420 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4421 (build-system haskell-build-system)
4422 (inputs
4423 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4424 ("ghc-profunctors" ,ghc-profunctors)
4425 ("ghc-exceptions" ,ghc-exceptions)
4426 ("ghc-bifunctors" ,ghc-bifunctors)
4427 ("ghc-comonad" ,ghc-comonad)
4428 ("ghc-distributive" ,ghc-distributive)
4429 ("ghc-semigroupoids" ,ghc-semigroupoids)
4430 ("ghc-semigroups" ,ghc-semigroups)
4431 ("ghc-transformers-base" ,ghc-transformers-base)
4432 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4433 (home-page "https://github.com/ekmett/free/")
4434 (synopsis "Unrestricted monads for Haskell")
4435 (description "This library provides free monads, which are useful for many
4436tree-like structures and domain specific languages. If @code{f} is a
4437@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4438whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4439is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4440f} makes no constraining assumptions beyond those given by @code{f} and the
4441definition of @code{Monad}.")
4442 (license license:bsd-3)))
4443
4444(define-public ghc-fsnotify
4445 (package
4446 (name "ghc-fsnotify")
4447 (version "0.3.0.1")
4448 (source (origin
4449 (method url-fetch)
4450 (uri (string-append
4451 "https://hackage.haskell.org/package/fsnotify/"
4452 "fsnotify-" version ".tar.gz"))
4453 (sha256
4454 (base32
4455 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4456 (build-system haskell-build-system)
4457 (inputs
4458 `(("ghc-async" ,ghc-async)
4459 ("ghc-unix-compat" ,ghc-unix-compat)
4460 ("ghc-hinotify" ,ghc-hinotify)
4461 ("ghc-tasty" ,ghc-tasty)
4462 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4463 ("ghc-random" ,ghc-random)
4464 ("ghc-shelly" ,ghc-shelly)
4465 ("ghc-temporary" ,ghc-temporary)))
4466 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4467 (synopsis "Cross platform library for file change notification.")
4468 (description "Cross platform library for file creation, modification, and
4469deletion notification. This library builds upon existing libraries for platform
4470specific Windows, Mac, and Linux file system event notification.")
4471 (license license:bsd-3)))
4472
4473(define-public ghc-generic-deriving
4474 (package
4475 (name "ghc-generic-deriving")
55c1e6be 4476 (version "1.12.4")
dddbc90c
RV
4477 (source
4478 (origin
4479 (method url-fetch)
4480 (uri (string-append
4481 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4482 version
4483 ".tar.gz"))
4484 (sha256
4485 (base32
55c1e6be 4486 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4487 (build-system haskell-build-system)
4488 (inputs
4489 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4490 (native-inputs
4491 `(("ghc-hspec" ,ghc-hspec)
4492 ("hspec-discover" ,hspec-discover)))
4493 (home-page "https://hackage.haskell.org/package/generic-deriving")
4494 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4495 (description "This package provides functionality for generalising the
4496deriving mechanism in Haskell to arbitrary classes.")
4497 (license license:bsd-3)))
4498
89e9082e
JS
4499(define-public ghc-generic-random
4500 (package
4501 (name "ghc-generic-random")
4502 (version "1.2.0.0")
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append
4507 "https://hackage.haskell.org/package/generic-random/"
4508 "generic-random-" version ".tar.gz"))
4509 (sha256
4510 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4511 (build-system haskell-build-system)
4512 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4513 (native-inputs
4514 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4515 (arguments
4516 `(#:cabal-revision
4517 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4518 (home-page
4519 "https://github.com/lysxia/generic-random")
4520 (synopsis
4521 "Generic random generators for QuickCheck")
4522 (description
4523 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4524to customize implementations.
4525
4526Automating the arbitrary boilerplate also ensures that when a type changes to
4527have more or fewer constructors, then the generator either fixes itself to
4528generate that new case (when using the uniform distribution) or causes a
4529compilation error so you remember to fix it (when using an explicit
4530distribution).
4531
4532This package also offers a simple (optional) strategy to ensure termination
4533for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4534at every recursive call; when it reaches zero, sample directly from a
4535trivially terminating generator given explicitly (@code{genericArbitraryRec}
4536and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4537 (license license:expat)))
4538
23e4b264
JS
4539(define-public ghc-generic-random-1.3.0.1
4540 (package
4541 (inherit ghc-generic-random)
4542 (version "1.3.0.1")
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "https://hackage.haskell.org/package/generic-random/"
4548 "generic-random-" version ".tar.gz"))
4549 (sha256
4550 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4551 (arguments '())))
4552
dddbc90c
RV
4553(define-public ghc-generics-sop
4554 (package
4555 (name "ghc-generics-sop")
3ed40e10 4556 (version "0.4.0.1")
dddbc90c
RV
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append "https://hackage.haskell.org/package/"
4561 "generics-sop-" version "/"
4562 "generics-sop-" version ".tar.gz"))
4563 (sha256
4564 (base32
3ed40e10 4565 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4566 (build-system haskell-build-system)
3ed40e10
TS
4567 (inputs
4568 `(("ghc-sop-core" ,ghc-sop-core)
4569 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4570 (home-page "https://github.com/well-typed/generics-sop")
4571 (synopsis "Generic Programming using True Sums of Products for Haskell")
4572 (description "This Haskell package supports the definition of generic
4573functions. Datatypes are viewed in a uniform, structured way: the choice
4574between constructors is represented using an n-ary sum, and the arguments of
4575each constructor are represented using an n-ary product.")
4576 (license license:bsd-3)))
4577
4578(define-public ghc-geniplate-mirror
4579 (package
4580 (name "ghc-geniplate-mirror")
4581 (version "0.7.6")
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append "https://hackage.haskell.org/package"
4586 "/geniplate-mirror"
4587 "/geniplate-mirror-" version ".tar.gz"))
4588 (sha256
4589 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4590 (build-system haskell-build-system)
74a7dd7f
TS
4591 (arguments
4592 `(#:cabal-revision
4593 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4594 (home-page "https://github.com/danr/geniplate")
4595 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4596 (description
4597 "Use Template Haskell to generate Uniplate-like functions. This is a
4598maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4599geniplate} package, written by Lennart Augustsson.")
4600 (license license:bsd-3)))
4601
4602(define-public ghc-genvalidity
4603 (package
4604 (name "ghc-genvalidity")
920f44a1 4605 (version "0.8.0.0")
dddbc90c
RV
4606 (source
4607 (origin
4608 (method url-fetch)
4609 (uri (string-append
4610 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4611 version
4612 ".tar.gz"))
4613 (sha256
4614 (base32
920f44a1 4615 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4616 (build-system haskell-build-system)
4617 (inputs
4618 `(("ghc-quickcheck" ,ghc-quickcheck)
4619 ("ghc-validity" ,ghc-validity)))
4620 (native-inputs
4621 `(("ghc-hspec" ,ghc-hspec)
4622 ("hspec-discover" ,hspec-discover)
4623 ("ghc-hspec-core" ,ghc-hspec-core)))
4624 (home-page
4625 "https://github.com/NorfairKing/validity")
4626 (synopsis
4627 "Testing utilities for the @code{validity} library")
4628 (description
4629 "This package provides testing utilities that are useful in conjunction
4630with the @code{Validity} typeclass.")
4631 (license license:expat)))
4632
4633(define-public ghc-genvalidity-property
4634 (package
4635 (name "ghc-genvalidity-property")
e4ede35b 4636 (version "0.4.0.0")
dddbc90c
RV
4637 (source
4638 (origin
4639 (method url-fetch)
4640 (uri (string-append
4641 "https://hackage.haskell.org/package/"
4642 "genvalidity-property/genvalidity-property-"
4643 version
4644 ".tar.gz"))
4645 (sha256
4646 (base32
e4ede35b 4647 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4648 (build-system haskell-build-system)
4649 (inputs
4650 `(("ghc-quickcheck" ,ghc-quickcheck)
4651 ("ghc-genvalidity" ,ghc-genvalidity)
4652 ("ghc-hspec" ,ghc-hspec)
4653 ("hspec-discover" ,hspec-discover)
4654 ("ghc-validity" ,ghc-validity)))
4655 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4656 (home-page
4657 "https://github.com/NorfairKing/validity")
4658 (synopsis
4659 "Standard properties for functions on @code{Validity} types")
4660 (description
4661 "This package supplements the @code{Validity} typeclass with standard
4662properties for functions operating on them.")
4663 (license license:expat)))
4664
e71fb573
TS
4665(define-public ghc-getopt-generics
4666 (package
4667 (name "ghc-getopt-generics")
4668 (version "0.13.0.4")
4669 (source
4670 (origin
4671 (method url-fetch)
4672 (uri (string-append "https://hackage.haskell.org/package/"
4673 "getopt-generics/getopt-generics-"
4674 version ".tar.gz"))
4675 (sha256
4676 (base32
4677 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4678 (build-system haskell-build-system)
4679 (inputs
4680 `(("ghc-base-compat" ,ghc-base-compat)
4681 ("ghc-base-orphans" ,ghc-base-orphans)
4682 ("ghc-generics-sop" ,ghc-generics-sop)
4683 ("ghc-tagged" ,ghc-tagged)))
4684 (native-inputs
4685 `(("ghc-quickcheck" ,ghc-quickcheck)
4686 ("ghc-hspec" ,ghc-hspec)
4687 ("ghc-safe" ,ghc-safe)
4688 ("ghc-silently" ,ghc-silently)
4689 ("hspec-discover" ,hspec-discover)))
4690 (home-page "https://github.com/soenkehahn/getopt-generics")
4691 (synopsis "Create command line interfaces with ease")
4692 (description "This library provides tools to create command line
4693interfaces with ease.")
4694 (license license:bsd-3)))
4695
dddbc90c
RV
4696(define-public ghc-gitrev
4697 (package
4698 (name "ghc-gitrev")
4699 (version "1.3.1")
4700 (source
4701 (origin
4702 (method url-fetch)
4703 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4704 version ".tar.gz"))
4705 (sha256
4706 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4707 (build-system haskell-build-system)
4708 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4709 (home-page "https://github.com/acfoltzer/gitrev")
4710 (synopsis "Compile git revision info into Haskell projects")
4711 (description
4712 "This package provides some handy Template Haskell splices for including
4713the current git hash and branch in the code of your project. This is useful
4714for including in panic messages, @command{--version} output, or diagnostic
4715info for more informative bug reports.")
4716 (license license:bsd-3)))
4717
4718(define-public ghc-glob
4719 (package
4720 (name "ghc-glob")
b900f486 4721 (version "0.10.0")
dddbc90c
RV
4722 (source
4723 (origin
4724 (method url-fetch)
4725 (uri (string-append "https://hackage.haskell.org/package/"
4726 "Glob-" version "/"
4727 "Glob-" version ".tar.gz"))
4728 (sha256
4729 (base32
b900f486 4730 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4731 (build-system haskell-build-system)
4732 (inputs
4733 `(("ghc-dlist" ,ghc-dlist)
4734 ("ghc-semigroups" ,ghc-semigroups)
4735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4736 (native-inputs
4737 `(("ghc-hunit" ,ghc-hunit)
4738 ("ghc-quickcheck" ,ghc-quickcheck)
4739 ("ghc-test-framework" ,ghc-test-framework)
4740 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4741 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4742 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4743 (synopsis "Haskell library matching glob patterns against file paths")
4744 (description "This package provides a Haskell library for @dfn{globbing}:
4745matching patterns against file paths.")
4746 (license license:bsd-3)))
4747
4748(define-public ghc-gluraw
4749 (package
4750 (name "ghc-gluraw")
4751 (version "2.0.0.4")
4752 (source
4753 (origin
4754 (method url-fetch)
4755 (uri (string-append
4756 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4757 version
4758 ".tar.gz"))
4759 (sha256
4760 (base32
4761 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4762 (build-system haskell-build-system)
4763 (inputs
4764 `(("ghc-openglraw" ,ghc-openglraw)))
228d2901 4765 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4766 (synopsis "Raw Haskell bindings GLU")
4767 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4768utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4769basis for a nicer interface.")
4770 (license license:bsd-3)))
4771
4772(define-public ghc-glut
4773 (package
4774 (name "ghc-glut")
8284bd09 4775 (version "2.7.0.15")
dddbc90c
RV
4776 (source
4777 (origin
4778 (method url-fetch)
4779 (uri (string-append
4780 "https://hackage.haskell.org/package/GLUT/GLUT-"
4781 version
4782 ".tar.gz"))
4783 (sha256
4784 (base32
8284bd09 4785 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4786 (build-system haskell-build-system)
4787 (inputs
4788 `(("ghc-statevar" ,ghc-statevar)
4789 ("ghc-opengl" ,ghc-opengl)
4790 ("ghc-openglraw" ,ghc-openglraw)
4791 ("freeglut" ,freeglut)))
228d2901 4792 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4793 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4794 (description "This library provides Haskell bindings for the OpenGL
4795Utility Toolkit, a window system-independent toolkit for writing OpenGL
4796programs.")
4797 (license license:bsd-3)))
4798
4799(define-public ghc-gnuplot
4800 (package
4801 (name "ghc-gnuplot")
d34860c7 4802 (version "0.5.6")
dddbc90c
RV
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append
4807 "mirror://hackage/package/gnuplot/gnuplot-"
4808 version ".tar.gz"))
4809 (sha256
d34860c7 4810 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4811 (build-system haskell-build-system)
4812 (inputs
4813 `(("ghc-temporary" ,ghc-temporary)
4814 ("ghc-utility-ht" ,ghc-utility-ht)
4815 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4816 ("ghc-data-accessor" ,ghc-data-accessor)
4817 ("ghc-semigroups" ,ghc-semigroups)
4818 ("gnuplot" ,gnuplot)))
4819 (arguments
4820 `(#:phases
4821 (modify-phases %standard-phases
4822 (add-before 'configure 'fix-path-to-gnuplot
4823 (lambda* (#:key inputs #:allow-other-keys)
4824 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4825 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4826 (("(gnuplotName = ).*$" all cmd)
4827 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
228d2901 4828 (home-page "https://wiki.haskell.org/Gnuplot")
dddbc90c
RV
4829 (synopsis "2D and 3D plots using gnuplot")
4830 (description "This package provides a Haskell module for creating 2D and
48313D plots using gnuplot.")
4832 (license license:bsd-3)))
4833
4834(define-public ghc-graphviz
4835 (package
4836 (name "ghc-graphviz")
c264bd42 4837 (version "2999.20.0.3")
dddbc90c
RV
4838 (source (origin
4839 (method url-fetch)
4840 (uri (string-append "https://hackage.haskell.org/package/"
4841 "graphviz/graphviz-" version ".tar.gz"))
4842 (sha256
4843 (base32
c264bd42 4844 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4845 (build-system haskell-build-system)
c264bd42
TS
4846 (arguments
4847 `(#:phases
4848 (modify-phases %standard-phases
4849 (add-before 'configure 'update-constraints
4850 (lambda _
4851 (substitute* "graphviz.cabal"
4852 (("QuickCheck >= 2\\.3 && < 2\\.13")
4853 "QuickCheck >= 2.3 && < 2.14")
4854 (("hspec >= 2\\.1 && < 2\\.7")
4855 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4856 (inputs
4857 `(("ghc-quickcheck" ,ghc-quickcheck)
4858 ("ghc-colour" ,ghc-colour)
4859 ("ghc-dlist" ,ghc-dlist)
4860 ("ghc-fgl" ,ghc-fgl)
4861 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4862 ("ghc-polyparse" ,ghc-polyparse)
4863 ("ghc-temporary" ,ghc-temporary)
4864 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4865 (native-inputs
4866 `(("ghc-hspec" ,ghc-hspec)
4867 ("graphviz" ,graphviz)
4868 ("hspec-discover" ,hspec-discover)))
4869 (home-page "https://hackage.haskell.org/package/graphviz")
4870 (synopsis "Bindings to Graphviz for graph visualisation")
4871 (description
4872 "This library provides bindings for the Dot language used by
4873the @uref{https://graphviz.org/, Graphviz} suite of programs for
4874visualising graphs, as well as functions to call those programs.
4875Main features of the graphviz library include:
4876
4877@enumerate
4878@item Almost complete coverage of all Graphviz attributes and syntax
4879@item Support for specifying clusters
4880@item The ability to use a custom node type
4881@item Functions for running a Graphviz layout tool with all specified output types
4882@item Generate and parse Dot code with two options: strict and liberal
4883@item Functions to convert FGL graphs and other graph-like data structures
4884@item Round-trip support for passing an FGL graph through Graphviz to augment node
4885and edge labels with positional information, etc.
4886@end enumerate\n")
4887 (license license:bsd-3)))
4888
f3e18645
TS
4889(define-public ghc-groups
4890 (package
4891 (name "ghc-groups")
4892 (version "0.4.1.0")
4893 (source
4894 (origin
4895 (method url-fetch)
4896 (uri (string-append "https://hackage.haskell.org/package/"
4897 "groups/groups-" version ".tar.gz"))
4898 (sha256
4899 (base32
4900 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4901 (build-system haskell-build-system)
4902 (home-page "https://hackage.haskell.org/package/groups")
4903 (synopsis "Haskell 98 groups")
4904 (description "This package provides Haskell 98 groups. A group is a
4905monoid with invertibility.")
4906 (license license:bsd-3)))
4907
dddbc90c
RV
4908(define-public ghc-gtk2hs-buildtools
4909 (package
4910 (name "ghc-gtk2hs-buildtools")
b79b43d4 4911 (version "0.13.5.4")
dddbc90c
RV
4912 (source
4913 (origin
4914 (method url-fetch)
4915 (uri (string-append "https://hackage.haskell.org/package/"
4916 "gtk2hs-buildtools/gtk2hs-buildtools-"
4917 version ".tar.gz"))
4918 (sha256
4919 (base32
b79b43d4 4920 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4921 (build-system haskell-build-system)
4922 (inputs
4923 `(("ghc-random" ,ghc-random)
4924 ("ghc-hashtables" ,ghc-hashtables)))
4925 (native-inputs
4926 `(("ghc-alex" ,ghc-alex)
4927 ("ghc-happy" ,ghc-happy)))
4928 (home-page "http://projects.haskell.org/gtk2hs/")
4929 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4930 (description
4931 "This package provides a set of helper programs necessary to build the
4932Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4933that is used to generate FFI declarations, a tool to build a type hierarchy
4934that mirrors the C type hierarchy of GObjects found in glib, and a generator
4935for signal declarations that are used to call back from C to Haskell. These
4936tools are not needed to actually run Gtk2Hs programs.")
4937 (license license:gpl2)))
4938
4939(define-public ghc-hackage-security
4940 (package
4941 (name "ghc-hackage-security")
4942 (version "0.5.3.0")
4943 (source
4944 (origin
4945 (method url-fetch)
4946 (uri (string-append "https://hackage.haskell.org/package/"
4947 "hackage-security/hackage-security-"
4948 version ".tar.gz"))
4949 (sha256
4950 (base32
4951 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4952 (build-system haskell-build-system)
4953 (arguments
034380f3
TS
4954 `(#:cabal-revision
4955 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4956 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4957 (inputs
4958 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4959 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4960 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4961 ("ghc-ed25519" ,ghc-ed25519)
4962 ("ghc-network" ,ghc-network)
4963 ("ghc-network-uri" ,ghc-network-uri)
4964 ("ghc-tar" ,ghc-tar)
4965 ("ghc-zlib" ,ghc-zlib)))
4966 (native-inputs
4967 `(("ghc-network-uri" ,ghc-network-uri)
4968 ("ghc-quickcheck" ,ghc-quickcheck)
4969 ("ghc-tar" ,ghc-tar)
4970 ("ghc-tasty" ,ghc-tasty)
4971 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4972 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4973 ("ghc-temporary" ,ghc-temporary)
4974 ("ghc-zlib" ,ghc-zlib)))
4975 (home-page "https://github.com/haskell/hackage-security")
4976 (synopsis "Hackage security library")
4977 (description "This Hackage security library provides both server and
4978client utilities for securing @uref{http://hackage.haskell.org/, the
4979Hackage package server}. It is based on
4980@uref{http://theupdateframework.com/, The Update Framework}, a set of
4981recommendations developed by security researchers at various universities
4982in the US as well as developers on the @uref{https://www.torproject.org/,
4983Tor project}.")
4984 (license license:bsd-3)))
4985
4986(define-public ghc-haddock
4987 (package
4988 (name "ghc-haddock")
b0d34d23 4989 (version "2.22.0")
dddbc90c
RV
4990 (source
4991 (origin
4992 (method url-fetch)
4993 (uri (string-append
4994 "https://hackage.haskell.org/package/haddock/haddock-"
4995 version
4996 ".tar.gz"))
4997 (sha256
4998 (base32
b0d34d23 4999 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
5000 (build-system haskell-build-system)
5001 (arguments
5002 `(#:phases
5003 (modify-phases %standard-phases
b0d34d23
TS
5004 ;; The release tarball for 2.22.0 is missing the test data for
5005 ;; the Hoogle test, causing it to fail. This is fixed in the
5006 ;; next release, but for now we disable it.
5007 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5008 (lambda _
5009 (use-modules (ice-9 rdelim))
5010 (with-atomic-file-replacement "haddock.cabal"
5011 (lambda (in out)
5012 (let loop ((line (read-line in 'concat)) (deleting? #f))
5013 (cond
5014 ((eof-object? line) #t)
5015 ((string-every char-set:whitespace line)
5016 (unless deleting? (display line out))
5017 (loop (read-line in 'concat) #f))
b0d34d23 5018 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5019 (loop (read-line in 'concat) #t))
5020 (else
5021 (unless deleting? (display line out))
b0d34d23
TS
5022 (loop (read-line in 'concat) deleting?))))))))
5023 (add-before 'check 'add-haddock-to-path
5024 (lambda _
5025 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5026 ":" (getenv "PATH")))
5027 #t)))))
dddbc90c
RV
5028 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5029 (native-inputs
b0d34d23
TS
5030 `(("ghc-haddock-test" ,ghc-haddock-test)
5031 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5032 (home-page "https://www.haskell.org/haddock/")
5033 (synopsis
5034 "Documentation-generation tool for Haskell libraries")
5035 (description
5036 "Haddock is a documentation-generation tool for Haskell libraries.")
5037 (license license:bsd-3)))
5038
5039(define-public ghc-haddock-api
5040 (package
5041 (name "ghc-haddock-api")
1b84d8ef 5042 (version "2.22.0")
dddbc90c
RV
5043 (source
5044 (origin
5045 (method url-fetch)
5046 (uri (string-append
5047 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5048 version
5049 ".tar.gz"))
1b84d8ef 5050 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5051 (sha256
5052 (base32
1b84d8ef 5053 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5054 (build-system haskell-build-system)
5055 (arguments
5056 `(#:phases
5057 (modify-phases %standard-phases
5058 (add-before 'configure 'update-constraints
5059 (lambda _
5060 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5061 (("QuickCheck \\^>= 2\\.11")
5062 "QuickCheck ^>= 2.13")
5063 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5064 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5065 (inputs
5066 `(("ghc-paths" ,ghc-paths)
5067 ("ghc-haddock-library" ,ghc-haddock-library)))
5068 (native-inputs
5069 `(("ghc-quickcheck" ,ghc-quickcheck)
5070 ("ghc-hspec" ,ghc-hspec)
5071 ("hspec-discover" ,hspec-discover)))
5072 (home-page "https://www.haskell.org/haddock/")
5073 (synopsis "API for documentation-generation tool Haddock")
5074 (description "This package provides an API to Haddock, the
5075documentation-generation tool for Haskell libraries.")
5076 (license license:bsd-3)))
5077
5078(define-public ghc-haddock-library
5079 (package
5080 (name "ghc-haddock-library")
10707d57 5081 (version "1.7.0")
dddbc90c
RV
5082 (source
5083 (origin
5084 (method url-fetch)
5085 (uri (string-append
5086 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5087 version
5088 ".tar.gz"))
5089 (sha256
5090 (base32
10707d57 5091 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5092 (build-system haskell-build-system)
5093 (arguments
5094 `(#:phases
5095 (modify-phases %standard-phases
10707d57
TS
5096 ;; Since there is no revised Cabal file upstream, we have to
5097 ;; patch it manually.
dddbc90c
RV
5098 (add-before 'configure 'relax-test-suite-dependencies
5099 (lambda _
5100 (substitute* "haddock-library.cabal"
10707d57
TS
5101 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5102 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5103 #t)))))
5104 (native-inputs
5105 `(("ghc-base-compat" ,ghc-base-compat)
5106 ("ghc-hspec" ,ghc-hspec)
5107 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5108 ("ghc-quickcheck" ,ghc-quickcheck)
5109 ("ghc-tree-diff" ,ghc-tree-diff)
5110 ("hspec-discover" ,hspec-discover)))
5111 (home-page "https://www.haskell.org/haddock/")
5112 (synopsis "Library exposing some functionality of Haddock")
5113 (description
5114 "Haddock is a documentation-generation tool for Haskell libraries. These
5115modules expose some functionality of it without pulling in the GHC dependency.
5116Please note that the API is likely to change so specify upper bounds in your
5117project if you can't release often. For interacting with Haddock itself, see
5118the ‘haddock’ package.")
5119 (license license:bsd-3)))
5120
b0d34d23
TS
5121;; This package is needed for testing 'ghc-haddock'. It is no longer
5122;; published to Hackage, but it is maintained in the Haddock Git
5123;; repository.
5124(define ghc-haddock-test
5125 (package
5126 (name "ghc-haddock-test")
5127 (version "2.22.0")
5128 (source
5129 (origin
5130 (method git-fetch)
5131 (uri (git-reference
b0e7b699 5132 (url "https://github.com/haskell/haddock")
b0d34d23
TS
5133 (commit (string-append "haddock-" version "-release"))))
5134 (file-name (git-file-name name version))
5135 (sha256
5136 (base32
5137 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5138 (build-system haskell-build-system)
5139 (arguments
5140 `(#:phases
5141 (modify-phases %standard-phases
5142 (add-after 'unpack 'change-directory
5143 (lambda _
5144 (chdir "haddock-test"))))))
5145 (inputs
5146 `(("ghc-syb" ,ghc-syb)
5147 ("ghc-xml" ,ghc-xml)))
228d2901 5148 (home-page "https://www.haskell.org/haddock/")
b0d34d23
TS
5149 (synopsis "Test utilities for Haddock")
5150 (description "This package provides test utilities for Haddock.")
5151 (license license:bsd-3)
5152 (properties '((hidden? #t)))))
5153
dddbc90c
RV
5154(define-public ghc-half
5155 (package
5156 (name "ghc-half")
5157 (version "0.3")
5158 (source
5159 (origin
5160 (method url-fetch)
5161 (uri (string-append
5162 "https://hackage.haskell.org/package/half/half-"
5163 version ".tar.gz"))
5164 (sha256
5165 (base32
5166 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5167 (build-system haskell-build-system)
5168 (native-inputs
5169 `(("ghc-hspec" ,ghc-hspec)
5170 ("ghc-quickcheck" ,ghc-quickcheck)))
5171 (home-page "https://github.com/ekmett/half")
5172 (synopsis "Half-precision floating-point computations")
5173 (description "This library provides a half-precision floating-point
5174computation library for Haskell.")
5175 (license license:bsd-3)))
5176
5177(define-public ghc-happy
5178 (package
5179 (name "ghc-happy")
90e7b0e4 5180 (version "1.19.12")
dddbc90c
RV
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append
5185 "https://hackage.haskell.org/package/happy/happy-"
5186 version
5187 ".tar.gz"))
5188 (sha256
5189 (base32
90e7b0e4 5190 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5191 (build-system haskell-build-system)
5192 (arguments
5193 `(#:phases
5194 (modify-phases %standard-phases
5195 (add-after 'unpack 'skip-test-issue93
5196 (lambda _
5197 ;; Tests run out of memory on a system with 2GB of available RAM,
5198 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5199 (substitute* "tests/Makefile"
5200 ((" issue93.y ") " "))
5201 #t)))))
5202 (home-page "https://hackage.haskell.org/package/happy")
5203 (synopsis "Parser generator for Haskell")
5204 (description "Happy is a parser generator for Haskell. Given a grammar
5205specification in BNF, Happy generates Haskell code to parse the grammar.
5206Happy works in a similar way to the yacc tool for C.")
5207 (license license:bsd-3)))
5208
5209(define-public ghc-hashable
5210 (package
5211 (name "ghc-hashable")
5212 (version "1.2.7.0")
534d6caa 5213 (outputs '("out" "static" "doc"))
dddbc90c
RV
5214 (source
5215 (origin
5216 (method url-fetch)
5217 (uri (string-append
5218 "https://hackage.haskell.org/package/hashable/hashable-"
5219 version
5220 ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5224 (build-system haskell-build-system)
65a16a45
TS
5225 (arguments
5226 `(#:cabal-revision
5227 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5228 (inputs
5229 `(("ghc-random" ,ghc-random)))
5230 (native-inputs
5231 `(("ghc-test-framework" ,ghc-test-framework)
5232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5233 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5234 ("ghc-hunit" ,ghc-hunit)
5235 ("ghc-quickcheck" ,ghc-quickcheck)))
5236 (home-page "https://github.com/tibbe/hashable")
5237 (synopsis "Class for types that can be converted to a hash value")
5238 (description
5239 "This package defines a class, @code{Hashable}, for types that can be
5240converted to a hash value. This class exists for the benefit of hashing-based
5241data structures. The package provides instances for basic types and a way to
5242combine hash values.")
5243 (license license:bsd-3)))
5244
5245(define-public ghc-hashable-bootstrap
5246 (package
5247 (inherit ghc-hashable)
5248 (name "ghc-hashable-bootstrap")
65a16a45
TS
5249 (arguments
5250 `(#:tests? #f
5251 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5252 (native-inputs '())
5253 (properties '((hidden? #t)))))
5254
5255(define-public ghc-hashable-time
5256 (package
5257 (name "ghc-hashable-time")
f5051e31 5258 (version "0.2.0.2")
dddbc90c
RV
5259 (source
5260 (origin
5261 (method url-fetch)
5262 (uri (string-append
5263 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5264 version
5265 ".tar.gz"))
5266 (sha256
5267 (base32
f5051e31 5268 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5269 (build-system haskell-build-system)
5270 (arguments
5271 `(#:cabal-revision
f5051e31 5272 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5273 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5274 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5275 (synopsis "Hashable instances for Data.Time")
5276 (description
5277 "This package provides @code{Hashable} instances for types in
5278@code{Data.Time}.")
5279 (license license:bsd-3)))
5280
5281(define-public ghc-hashtables
5282 (package
5283 (name "ghc-hashtables")
19edf0d0 5284 (version "1.2.3.4")
dddbc90c
RV
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append
5289 "https://hackage.haskell.org/package/hashtables/hashtables-"
5290 version ".tar.gz"))
5291 (sha256
19edf0d0 5292 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5293 (build-system haskell-build-system)
5294 (inputs
5295 `(("ghc-hashable" ,ghc-hashable)
5296 ("ghc-primitive" ,ghc-primitive)
5297 ("ghc-vector" ,ghc-vector)))
5298 (home-page "https://github.com/gregorycollins/hashtables")
5299 (synopsis "Haskell Mutable hash tables in the ST monad")
5300 (description "This package provides a Haskell library including a
5301couple of different implementations of mutable hash tables in the ST
5302monad, as well as a typeclass abstracting their common operations, and
5303a set of wrappers to use the hash tables in the IO monad.")
5304 (license license:bsd-3)))
5305
dd26713e
JS
5306(define-public ghc-haskeline-0.8
5307 (package
5308 (name "ghc-haskeline")
5309 (version "0.8.0.0")
5310 (source
5311 (origin
5312 (method url-fetch)
5313 (uri (string-append
5314 "https://hackage.haskell.org/package/haskeline/haskeline-"
5315 version
5316 ".tar.gz"))
5317 (sha256
5318 (base32
5319 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5320 (build-system haskell-build-system)
5321 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5322 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5323 ;; FIXME: Tests failing
5324 (arguments `(#:tests? #f))
5325 (home-page "https://github.com/judah/haskeline")
5326 (synopsis
5327 "Command-line interface for user input, written in Haskell")
5328 (description
5329 "Haskeline provides a user interface for line input in command-line
5330programs. This library is similar in purpose to readline, but since it is
5331written in Haskell it is (hopefully) more easily used in other Haskell
5332programs.
5333
5334Haskeline runs both on POSIX-compatible systems and on Windows.")
5335 (license license:bsd-3)))
5336
dddbc90c
RV
5337(define-public ghc-haskell-lexer
5338 (package
5339 (name "ghc-haskell-lexer")
5340 (version "1.0.2")
5341 (source
5342 (origin
5343 (method url-fetch)
5344 (uri (string-append
5345 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5346 version ".tar.gz"))
5347 (sha256
5348 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5349 (build-system haskell-build-system)
3ef91e15 5350 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5351 (synopsis "Fully compliant Haskell 98 lexer")
5352 (description
5353 "This package provides a fully compliant Haskell 98 lexer.")
5354 (license license:bsd-3)))
5355
5356(define-public ghc-haskell-src
5357 (package
5358 (name "ghc-haskell-src")
5359 (version "1.0.3.0")
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append
5364 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5365 version
5366 ".tar.gz"))
5367 (sha256
5368 (base32
5369 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5370 (build-system haskell-build-system)
5371 (inputs
5372 `(("ghc-happy" ,ghc-happy)
5373 ("ghc-syb" ,ghc-syb)))
5374 (home-page
5375 "https://hackage.haskell.org/package/haskell-src")
5376 (synopsis
5377 "Support for manipulating Haskell source code")
5378 (description
5379 "The @code{haskell-src} package provides support for manipulating Haskell
5380source code. The package provides a lexer, parser and pretty-printer, and a
5381definition of a Haskell abstract syntax tree (AST). Common uses of this
5382package are to parse or generate Haskell 98 code.")
5383 (license license:bsd-3)))
5384
5385(define-public ghc-haskell-src-exts
5386 (package
5387 (name "ghc-haskell-src-exts")
37a05591 5388 (version "1.21.1")
dddbc90c
RV
5389 (source
5390 (origin
5391 (method url-fetch)
5392 (uri (string-append
5393 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5394 version
5395 ".tar.gz"))
5396 (sha256
5397 (base32
37a05591 5398 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5399 (build-system haskell-build-system)
5400 (inputs
5401 `(("cpphs" ,cpphs)
5402 ("ghc-happy" ,ghc-happy)
5403 ("ghc-pretty-show" ,ghc-pretty-show)))
5404 (native-inputs
5405 `(("ghc-smallcheck" ,ghc-smallcheck)
5406 ("ghc-tasty" ,ghc-tasty)
5407 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5408 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5409 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5410 (synopsis "Library for manipulating Haskell source")
5411 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5412extension of the standard @code{haskell-src} package, and handles most
5413registered syntactic extensions to Haskell. All extensions implemented in GHC
5414are supported. Apart from these standard extensions, it also handles regular
5415patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5416 (license license:bsd-3)))
5417
5418(define-public ghc-haskell-src-exts-util
5419 (package
5420 (name "ghc-haskell-src-exts-util")
77355bdf 5421 (version "0.2.5")
dddbc90c
RV
5422 (source
5423 (origin
5424 (method url-fetch)
5425 (uri (string-append "https://hackage.haskell.org/package/"
5426 "haskell-src-exts-util/haskell-src-exts-util-"
5427 version ".tar.gz"))
5428 (sha256
5429 (base32
77355bdf 5430 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5431 (build-system haskell-build-system)
5432 (inputs
5433 `(("ghc-data-default" ,ghc-data-default)
5434 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5435 ("ghc-semigroups" ,ghc-semigroups)
5436 ("ghc-uniplate" ,ghc-uniplate)))
5437 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5438 (synopsis "Helper functions for working with haskell-src-exts trees")
5439 (description
5440 "This package provides helper functions for working with
5441@code{haskell-src-exts} trees.")
5442 (license license:bsd-3)))
5443
5444(define-public ghc-haskell-src-meta
5445 (package
5446 (name "ghc-haskell-src-meta")
e94b3c72 5447 (version "0.8.3")
dddbc90c
RV
5448 (source (origin
5449 (method url-fetch)
5450 (uri (string-append "https://hackage.haskell.org/package/"
5451 "haskell-src-meta/haskell-src-meta-"
5452 version ".tar.gz"))
5453 (sha256
5454 (base32
e94b3c72 5455 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5456 (build-system haskell-build-system)
5457 (inputs
5458 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5459 ("ghc-syb" ,ghc-syb)
5460 ("ghc-th-orphans" ,ghc-th-orphans)))
5461 (native-inputs
5462 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5463 ("ghc-tasty" ,ghc-tasty)
5464 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5465 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5466 (synopsis "Parse source to template-haskell abstract syntax")
5467 (description
5468 "This package provides tools to parse Haskell sources to the
5469template-haskell abstract syntax.")
5470 (license license:bsd-3)))
5471
5472(define-public ghc-hasktags
5473 (package
5474 (name "ghc-hasktags")
5475 (version "0.71.2")
5476 (source
5477 (origin
5478 (method url-fetch)
5479 (uri (string-append
5480 "https://hackage.haskell.org/package/hasktags/hasktags-"
5481 version
5482 ".tar.gz"))
5483 (sha256
5484 (base32
5485 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5486 (build-system haskell-build-system)
5487 (inputs
5488 `(("ghc-system-filepath" ,ghc-system-filepath)
5489 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5490 (native-inputs
5491 `(("ghc-json" ,ghc-json)
5492 ("ghc-utf8-string" ,ghc-utf8-string)
5493 ("ghc-microlens-platform" ,ghc-microlens-platform)
5494 ("ghc-hunit" ,ghc-hunit)))
702a1012 5495 (home-page "https://github.com/MarcWeber/hasktags")
dddbc90c
RV
5496 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5497 (description
5498 "This package provides a means of generating tag files for Emacs and
5499Vim.")
5500 (license license:bsd-3)))
5501
5502(define-public ghc-hex
5503 (package
5504 (name "ghc-hex")
5505 (version "0.1.2")
5506 (source
5507 (origin
5508 (method url-fetch)
5509 (uri (string-append "https://hackage.haskell.org/package/"
5510 "hex-" version "/"
5511 "hex-" version ".tar.gz"))
5512 (sha256
5513 (base32
5514 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5515 (build-system haskell-build-system)
5516 (home-page "https://hackage.haskell.org/package/hex")
5517 (synopsis "Convert strings into hexadecimal and back")
5518 (description "This package provides conversion functions between
5519bytestrings and their hexademical representation.")
5520 (license license:bsd-3)))
5521
5522(define-public ghc-highlighting-kate
5523 (package
5524 (name "ghc-highlighting-kate")
5525 (version "0.6.4")
5526 (source (origin
5527 (method url-fetch)
5528 (uri (string-append "https://hackage.haskell.org/package/"
5529 "highlighting-kate/highlighting-kate-"
5530 version ".tar.gz"))
5531 (sha256
5532 (base32
5533 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5534 (build-system haskell-build-system)
5535 (inputs
5536 `(("ghc-diff" ,ghc-diff)
5537 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5538 (native-inputs
5539 `(("ghc-blaze-html" ,ghc-blaze-html)
5540 ("ghc-utf8-string" ,ghc-utf8-string)))
5541 (home-page "https://github.com/jgm/highlighting-kate")
5542 (synopsis "Syntax highlighting library")
5543 (description
5544 "Highlighting-kate is a syntax highlighting library with support for
5545nearly one hundred languages. The syntax parsers are automatically generated
5546from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5547supported by Kate can be added. An (optional) command-line program is
5548provided, along with a utility for generating new parsers from Kate XML syntax
5549descriptions.")
5550 (license license:gpl2+)))
5551
5552(define-public ghc-hindent
5553 (package
5554 (name "ghc-hindent")
f545f894 5555 (version "5.3.1")
dddbc90c
RV
5556 (source
5557 (origin
5558 (method url-fetch)
5559 (uri (string-append
5560 "https://hackage.haskell.org/package/hindent/hindent-"
5561 version
5562 ".tar.gz"))
5563 (sha256
5564 (base32
f545f894 5565 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5566 (build-system haskell-build-system)
5567 (arguments
5568 `(#:modules ((guix build haskell-build-system)
5569 (guix build utils)
5570 (guix build emacs-utils))
5571 #:imported-modules (,@%haskell-build-system-modules
5572 (guix build emacs-utils))
5573 #:phases
5574 (modify-phases %standard-phases
5575 (add-after 'install 'emacs-install
5576 (lambda* (#:key inputs outputs #:allow-other-keys)
5577 (let* ((out (assoc-ref outputs "out"))
5578 (elisp-file "elisp/hindent.el")
d53e87cf 5579 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5580 (emacs (string-append (assoc-ref inputs "emacs")
5581 "/bin/emacs")))
5582 (make-file-writable elisp-file)
5583 (emacs-substitute-variables elisp-file
5584 ("hindent-process-path"
5585 (string-append out "/bin/hindent")))
5586 (install-file elisp-file dest)
5587 (emacs-generate-autoloads "hindent" dest)))))))
5588 (inputs
5589 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5590 ("ghc-monad-loops" ,ghc-monad-loops)
5591 ("ghc-utf8-string" ,ghc-utf8-string)
5592 ("ghc-exceptions" ,ghc-exceptions)
5593 ("ghc-yaml" ,ghc-yaml)
5594 ("ghc-unix-compat" ,ghc-unix-compat)
5595 ("ghc-path" ,ghc-path)
5596 ("ghc-path-io" ,ghc-path-io)
5597 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5598 (native-inputs
5599 `(("ghc-hspec" ,ghc-hspec)
5600 ("ghc-diff" ,ghc-diff)
5601 ("emacs" ,emacs-minimal)))
5602 (home-page
5603 "https://github.com/commercialhaskell/hindent")
5604 (synopsis "Extensible Haskell pretty printer")
5605 (description
5606 "This package provides automatic formatting for Haskell files. Both a
5607library and an executable.")
5608 (license license:bsd-3)))
5609
5610(define-public ghc-hinotify
5611 (package
5612 (name "ghc-hinotify")
c2342abb 5613 (version "0.4")
dddbc90c
RV
5614 (source (origin
5615 (method url-fetch)
5616 (uri (string-append
5617 "https://hackage.haskell.org/package/hinotify/"
5618 "hinotify-" version ".tar.gz"))
5619 (sha256
5620 (base32
c2342abb 5621 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5622 (build-system haskell-build-system)
5623 (inputs
5624 `(("ghc-async" ,ghc-async)))
5625 (home-page "https://github.com/kolmodin/hinotify.git")
5626 (synopsis "Haskell binding to inotify")
5627 (description "This library provides a wrapper to the Linux kernel's inotify
5628feature, allowing applications to subscribe to notifications when a file is
5629accessed or modified.")
5630 (license license:bsd-3)))
5631
5632(define-public ghc-hmatrix
5633 (package
5634 (name "ghc-hmatrix")
65e29ed1 5635 (version "0.20.0.0")
dddbc90c
RV
5636 (source
5637 (origin
5638 (method url-fetch)
5639 (uri (string-append
5640 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5641 version ".tar.gz"))
5642 (sha256
65e29ed1 5643 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c 5644 (build-system haskell-build-system)
54a5fd07
TS
5645 (arguments
5646 `(#:extra-directories ("lapack")))
dddbc90c
RV
5647 (inputs
5648 `(("ghc-random" ,ghc-random)
5649 ("ghc-split" ,ghc-split)
5650 ("ghc-storable-complex" ,ghc-storable-complex)
5651 ("ghc-semigroups" ,ghc-semigroups)
5652 ("ghc-vector" ,ghc-vector)
5653 ;;("openblas" ,openblas)
5654 ("lapack" ,lapack)))
5655 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5656 ;; disables inclusion of the LAPACK functions.
5657 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5658 (home-page "https://github.com/albertoruiz/hmatrix")
5659 (synopsis "Haskell numeric linear algebra library")
5660 (description "The HMatrix package provices a Haskell library for
5661dealing with linear systems, matrix decompositions, and other
5662numerical computations based on BLAS and LAPACK.")
5663 (license license:bsd-3)))
5664
5665(define-public ghc-hmatrix-gsl
5666 (package
5667 (name "ghc-hmatrix-gsl")
5668 (version "0.19.0.1")
5669 (source
5670 (origin
5671 (method url-fetch)
5672 (uri (string-append
5673 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5674 version ".tar.gz"))
5675 (sha256
5676 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5677 (build-system haskell-build-system)
54a5fd07
TS
5678 (arguments
5679 `(#:extra-directories ("gsl")))
dddbc90c
RV
5680 (inputs
5681 `(("ghc-hmatrix" ,ghc-hmatrix)
5682 ("ghc-vector" ,ghc-vector)
5683 ("ghc-random" ,ghc-random)
5684 ("gsl" ,gsl)))
5685 (native-inputs `(("pkg-config" ,pkg-config)))
5686 (home-page "https://github.com/albertoruiz/hmatrix")
5687 (synopsis "Haskell GSL binding")
5688 (description "This Haskell library provides a purely functional
5689interface to selected numerical computations, internally implemented
5690using GSL.")
5691 (license license:gpl3+)))
5692
5693(define-public ghc-hmatrix-gsl-stats
5694 (package
5695 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5696 (version "0.4.1.8")
dddbc90c
RV
5697 (source
5698 (origin
5699 (method url-fetch)
5700 (uri
5701 (string-append
5702 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5703 version ".tar.gz"))
5704 (sha256
e9b359f5 5705 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5706 (build-system haskell-build-system)
5707 (inputs
5708 `(("ghc-vector" ,ghc-vector)
5709 ("ghc-storable-complex" ,ghc-storable-complex)
5710 ("ghc-hmatrix" ,ghc-hmatrix)
5711 ("gsl" ,gsl)))
5712 (native-inputs `(("pkg-config" ,pkg-config)))
5713 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5714 (synopsis "GSL Statistics interface for Haskell")
5715 (description "This Haskell library provides a purely functional
5716interface for statistics based on hmatrix and GSL.")
5717 (license license:bsd-3)))
5718
5719(define-public ghc-hmatrix-special
5720 (package
5721 (name "ghc-hmatrix-special")
5722 (version "0.19.0.0")
5723 (source
5724 (origin
5725 (method url-fetch)
5726 (uri
5727 (string-append
5728 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5729 version ".tar.gz"))
5730 (sha256
5731 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5732 (build-system haskell-build-system)
5733 (inputs
5734 `(("ghc-hmatrix" ,ghc-hmatrix)
5735 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5736 (home-page "https://github.com/albertoruiz/hmatrix")
5737 (synopsis "Haskell interface to GSL special functions")
5738 (description "This library provides an interface to GSL special
5739functions for Haskell.")
5740 (license license:gpl3+)))
5741
5742(define-public ghc-hostname
5743 (package
5744 (name "ghc-hostname")
5745 (version "1.0")
5746 (source
5747 (origin
5748 (method url-fetch)
5749 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5750 "hostname-" version ".tar.gz"))
5751 (sha256
5752 (base32
5753 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5754 (build-system haskell-build-system)
5755 (home-page "https://hackage.haskell.org/package/hostname")
5756 (synopsis "Hostname in Haskell")
5757 (description "Network.HostName is a simple package providing a means to
5758determine the hostname.")
5759 (license license:bsd-3)))
5760
5761(define-public ghc-hourglass
5762 (package
5763 (name "ghc-hourglass")
5764 (version "0.2.12")
5765 (source (origin
5766 (method url-fetch)
5767 (uri (string-append "https://hackage.haskell.org/package/"
5768 "hourglass/hourglass-" version ".tar.gz"))
5769 (sha256
5770 (base32
5771 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5772 (build-system haskell-build-system)
5773 (inputs
5774 `(("ghc-old-locale" ,ghc-old-locale)))
5775 (native-inputs
5776 `(("ghc-tasty" ,ghc-tasty)
5777 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5778 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5779 (home-page "https://github.com/vincenthz/hs-hourglass")
5780 (synopsis "Simple time-related library for Haskell")
5781 (description
5782 "This is a simple time library providing a simple but powerful and
5783performant API. The backbone of the library are the @code{Timeable} and
5784@code{Time} type classes. Each @code{Timeable} instances can be converted to
5785a type that has a @code{Time} instances, and thus are different
5786representations of current time.")
5787 (license license:bsd-3)))
5788
5789(define-public ghc-hpack
5790 (package
5791 (name "ghc-hpack")
06344a3a 5792 (version "0.31.2")
dddbc90c
RV
5793 (source
5794 (origin
5795 (method url-fetch)
5796 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5797 "hpack-" version ".tar.gz"))
06344a3a 5798 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5799 (sha256
5800 (base32
06344a3a 5801 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5802 (build-system haskell-build-system)
5803 (inputs
5804 `(("ghc-aeson" ,ghc-aeson)
5805 ("ghc-bifunctors" ,ghc-bifunctors)
5806 ("ghc-cryptonite" ,ghc-cryptonite)
5807 ("ghc-glob" ,ghc-glob)
5808 ("ghc-http-client" ,ghc-http-client)
5809 ("ghc-http-client-tls" ,ghc-http-client-tls)
5810 ("ghc-http-types" ,ghc-http-types)
06344a3a 5811 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5812 ("ghc-scientific" ,ghc-scientific)
5813 ("ghc-unordered-containers" ,ghc-unordered-containers)
5814 ("ghc-vector" ,ghc-vector)
5815 ("ghc-yaml" ,ghc-yaml)))
5816 (native-inputs
5817 `(("ghc-hspec" ,ghc-hspec)
5818 ("ghc-hunit" ,ghc-hunit)
5819 ("ghc-interpolate" ,ghc-interpolate)
5820 ("ghc-mockery" ,ghc-mockery)
5821 ("ghc-quickcheck" ,ghc-quickcheck)
5822 ("ghc-temporary" ,ghc-temporary)
5823 ("hspec-discover" ,hspec-discover)))
5824 (home-page "https://github.com/sol/hpack")
5825 (synopsis "Tools for an alternative Haskell package format")
5826 (description
5827 "Hpack is a format for Haskell packages. It is an alternative to the
5828Cabal package format and follows different design principles. Hpack packages
5829are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5830@code{stack} support @code{package.yaml} natively. For other build tools the
5831@code{hpack} executable can be used to generate a @code{.cabal} file from
5832@code{package.yaml}.")
5833 (license license:expat)))
5834
5835(define-public ghc-hs-bibutils
5836 (package
5837 (name "ghc-hs-bibutils")
ebcb4f23 5838 (version "6.7.0.0")
dddbc90c
RV
5839 (source
5840 (origin
5841 (method url-fetch)
5842 (uri (string-append
5843 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5844 version ".tar.gz"))
5845 (sha256
5846 (base32
ebcb4f23 5847 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5848 (build-system haskell-build-system)
5849 (inputs `(("ghc-syb" ,ghc-syb)))
5850 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5851 (synopsis "Haskell bindings to bibutils")
5852 (description
5853 "This package provides Haskell bindings to @code{bibutils}, a library
5854that interconverts between various bibliography formats using a common
5855MODS-format XML intermediate.")
5856 (license license:gpl2+)))
5857
5858(define-public ghc-hslogger
5859 (package
5860 (name "ghc-hslogger")
e5ccc5f7 5861 (version "1.2.12")
dddbc90c
RV
5862 (source
5863 (origin
5864 (method url-fetch)
5865 (uri (string-append "https://hackage.haskell.org/package/"
5866 "hslogger-" version "/" "hslogger-"
5867 version ".tar.gz"))
5868 (sha256 (base32
e5ccc5f7 5869 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5870 (build-system haskell-build-system)
5871 (inputs
5872 `(("ghc-network" ,ghc-network)
5873 ("ghc-old-locale" ,ghc-old-locale)))
5874 (native-inputs
5875 `(("ghc-hunit" ,ghc-hunit)))
5876 (home-page "https://software.complete.org/hslogger")
5877 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5878 (description "Hslogger lets each log message have a priority and source be
5879associated with it. The programmer can then define global handlers that route
5880or filter messages based on the priority and source. It also has a syslog
5881handler built in.")
5882 (license license:bsd-3)))
5883
5884(define-public ghc-hslua
5885 (package
5886 (name "ghc-hslua")
cc784d7b 5887 (version "1.0.3.2")
dddbc90c
RV
5888 (source (origin
5889 (method url-fetch)
5890 (uri (string-append "https://hackage.haskell.org/package/"
5891 "hslua/hslua-" version ".tar.gz"))
5892 (sha256
5893 (base32
cc784d7b 5894 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5895 (build-system haskell-build-system)
5896 (arguments
54a5fd07
TS
5897 `(#:configure-flags '("-fsystem-lua")
5898 #:extra-directories ("lua")))
dddbc90c
RV
5899 (inputs
5900 `(("lua" ,lua)
5901 ("ghc-exceptions" ,ghc-exceptions)
5902 ("ghc-fail" ,ghc-fail)))
5903 (native-inputs
5904 `(("ghc-tasty" ,ghc-tasty)
5905 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5906 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5907 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5908 ("ghc-quickcheck" ,ghc-quickcheck)
5909 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5910 (home-page "https://hackage.haskell.org/package/hslua")
5911 (synopsis "Lua language interpreter embedding in Haskell")
5912 (description
5913 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5914described in @url{https://www.lua.org/}.")
5915 (license license:expat)))
5916
ff303e4e
TS
5917(define-public ghc-hslua-module-system
5918 (package
5919 (name "ghc-hslua-module-system")
5920 (version "0.2.1")
5921 (source
5922 (origin
5923 (method url-fetch)
5924 (uri (string-append "https://hackage.haskell.org/package/"
5925 "hslua-module-system/hslua-module-system-"
5926 version ".tar.gz"))
5927 (sha256
5928 (base32
5929 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5930 (build-system haskell-build-system)
5931 (inputs
5932 `(("ghc-exceptions" ,ghc-exceptions)
5933 ("ghc-hslua" ,ghc-hslua)
5934 ("ghc-temporary" ,ghc-temporary)))
5935 (native-inputs
5936 `(("ghc-tasty" ,ghc-tasty)
5937 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5938 (home-page "https://github.com/hslua/hslua-module-system")
5939 (synopsis "Lua module wrapper around Haskell's System module")
5940 (description "This library provides access to system information and
5941functionality to Lua scripts via Haskell's @code{System} module. Intended
5942usage for this package is to preload it by adding the loader function to
5943@code{package.preload}. Note that the Lua @code{package} library must have
5944already been loaded before the loader can be added.")
5945 (license license:expat)))
5946
dddbc90c
RV
5947(define-public ghc-hslua-module-text
5948 (package
5949 (name "ghc-hslua-module-text")
ecaf0b0c 5950 (version "0.2.1")
dddbc90c
RV
5951 (source
5952 (origin
5953 (method url-fetch)
5954 (uri (string-append "https://hackage.haskell.org/package/"
5955 "hslua-module-text/hslua-module-text-"
5956 version ".tar.gz"))
5957 (sha256
5958 (base32
ecaf0b0c 5959 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5960 (build-system haskell-build-system)
dddbc90c
RV
5961 (inputs
5962 `(("ghc-hslua" ,ghc-hslua)))
5963 (native-inputs
5964 `(("ghc-tasty" ,ghc-tasty)
5965 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5966 (home-page "https://github.com/hslua/hslua-module-text")
5967 (synopsis "Lua module for text")
5968 (description
5969 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5970for Haskell. The functions provided by this module are @code{upper},
5971@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5972 (license license:expat)))
5973
fac520bf
TS
5974(define-public ghc-hsyaml
5975 (package
5976 (name "ghc-hsyaml")
5977 (version "0.1.2.0")
5978 (source
5979 (origin
5980 (method url-fetch)
5981 (uri (string-append "https://hackage.haskell.org/package/"
5982 "HsYAML/HsYAML-" version ".tar.gz"))
5983 (sha256
5984 (base32
5985 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5986 (build-system haskell-build-system)
5987 (arguments
5988 `(#:cabal-revision
5989 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5990 (home-page "https://github.com/haskell-hvr/HsYAML")
5991 (synopsis "Pure Haskell YAML 1.2 parser")
5992 (description "This library provides a
5993@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5994for Haskell. Its features include:
5995
5996@itemize
5997@item Pure Haskell implementation with small dependency footprint and
5998emphasis on strict compliance with the YAML 1.2 specification.
5999
6000@item Direct decoding to native Haskell types via (aeson-inspired)
6001typeclass-based API (see @code{Data.YAML}).
6002
6003@item Support for constructing custom YAML node graph
6004representation (including support for cyclic YAML data structures).
6005
6006@item Support for the standard (untyped) @emph{Failsafe}, (strict)
6007@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6008typing rules as defined in the YAML 1.2 specification (including support
6009for user-defined custom schemas).
6010
6011@item Event-based API resembling LibYAML's Event-based API (see
6012@code{Data.YAML.Event}).
6013
6014@item Low-level API access to lexical token-based scanner (see
6015@code{Data.YAML.Token}).
6016@end itemize")
6017 (license license:gpl2+)))
6018
dddbc90c
RV
6019(define-public ghc-http-api-data
6020 (package
6021 (name "ghc-http-api-data")
a57236eb 6022 (version "0.4.1")
dddbc90c
RV
6023 (source
6024 (origin
6025 (method url-fetch)
6026 (uri (string-append "https://hackage.haskell.org/package/"
6027 "http-api-data-" version "/"
6028 "http-api-data-" version ".tar.gz"))
6029 (sha256
6030 (base32
a57236eb 6031 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6032 (build-system haskell-build-system)
dddbc90c
RV
6033 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6034 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6035 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6036 ("ghc-hashable" ,ghc-hashable)
6037 ("ghc-http-types" ,ghc-http-types)
a57236eb 6038 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6039 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6040 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6041 (native-inputs
6042 `(("cabal-doctest" ,cabal-doctest)
6043 ("ghc-nats" ,ghc-nats)
6044 ("ghc-hunit" ,ghc-hunit)
6045 ("ghc-hspec" ,ghc-hspec)
6046 ("ghc-quickcheck" ,ghc-quickcheck)
6047 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6048 ("ghc-doctest" ,ghc-doctest)
6049 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6050 (home-page "https://github.com/fizruk/http-api-data")
6051 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6052query parameters")
6053 (description "This Haskell package defines typeclasses used for converting
6054Haskell data types to and from HTTP API data.")
6055 (license license:bsd-3)))
6056
6057(define-public ghc-ieee754
6058 (package
6059 (name "ghc-ieee754")
6060 (version "0.8.0")
6061 (source (origin
6062 (method url-fetch)
6063 (uri (string-append
6064 "https://hackage.haskell.org/package/ieee754/"
6065 "ieee754-" version ".tar.gz"))
6066 (sha256
6067 (base32
6068 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6069 (build-system haskell-build-system)
6070 (home-page "https://github.com/patperry/hs-ieee754")
6071 (synopsis "Utilities for dealing with IEEE floating point numbers")
6072 (description "Utilities for dealing with IEEE floating point numbers,
6073ported from the Tango math library; approximate and exact equality comparisons
6074for general types.")
6075 (license license:bsd-3)))
6076
6077(define-public ghc-ifelse
6078 (package
6079 (name "ghc-ifelse")
6080 (version "0.85")
6081 (source
6082 (origin
6083 (method url-fetch)
6084 (uri (string-append "https://hackage.haskell.org/package/"
6085 "IfElse/IfElse-" version ".tar.gz"))
6086 (sha256
6087 (base32
6088 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6089 (build-system haskell-build-system)
3ef91e15 6090 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6091 (synopsis "Monadic control flow with anaphoric variants")
6092 (description "This library provides functions for control flow inside of
6093monads with anaphoric variants on @code{if} and @code{when} and a C-like
6094@code{switch} function.")
6095 (license license:bsd-3)))
6096
6097(define-public ghc-indents
6098 (package
6099 (name "ghc-indents")
d66473fb 6100 (version "0.5.0.1")
dddbc90c
RV
6101 (source (origin
6102 (method url-fetch)
6103 (uri (string-append
6104 "https://hackage.haskell.org/package/indents/indents-"
6105 version ".tar.gz"))
6106 (sha256
6107 (base32
d66473fb 6108 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6109 (build-system haskell-build-system)
6110 ;; This package needs an older version of tasty.
6111 (arguments '(#:tests? #f))
6112 (inputs
6113 `(("ghc-concatenative" ,ghc-concatenative)))
6114 (native-inputs
6115 `(("ghc-tasty" ,ghc-tasty)
6116 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6117 (home-page "http://patch-tag.com/r/salazar/indents")
6118 (synopsis "Indentation sensitive parser-combinators for parsec")
6119 (description
6120 "This library provides functions for use in parsing indentation sensitive
6121contexts. It parses blocks of lines all indented to the same level as well as
6122lines continued at an indented level below.")
6123 (license license:bsd-3)))
6124
1f656b17
TS
6125(define-public ghc-infer-license
6126 (package
6127 (name "ghc-infer-license")
6128 (version "0.2.0")
6129 (source
6130 (origin
6131 (method url-fetch)
6132 (uri (string-append "https://hackage.haskell.org/package/"
6133 "infer-license/infer-license-" version ".tar.gz"))
6134 (sha256
6135 (base32
6136 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6137 (build-system haskell-build-system)
6138 (inputs
6139 `(("ghc-text-metrics" ,ghc-text-metrics)))
6140 (native-inputs
6141 `(("ghc-hspec" ,ghc-hspec)
6142 ("hspec-discover" ,hspec-discover)))
3ef91e15 6143 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6144 (synopsis "Infer software license from a given license file")
6145 (description "This library provides tools to infer a software
6146license from a given license file.")
6147 (license license:expat)))
6148
dddbc90c
RV
6149(define-public ghc-inline-c
6150 (package
6151 (name "ghc-inline-c")
55ec98f2 6152 (version "0.7.0.1")
dddbc90c
RV
6153 (source
6154 (origin
6155 (method url-fetch)
6156 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6157 "inline-c-" version ".tar.gz"))
6158 (sha256
6159 (base32
55ec98f2 6160 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6161 (build-system haskell-build-system)
6162 (inputs
6163 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6164 ("ghc-cryptohash" ,ghc-cryptohash)
6165 ("ghc-hashable" ,ghc-hashable)
6166 ("ghc-parsers" ,ghc-parsers)
6167 ("ghc-unordered-containers" ,ghc-unordered-containers)
6168 ("ghc-vector" ,ghc-vector)))
6169 (native-inputs
6170 `(("ghc-quickcheck" ,ghc-quickcheck)
6171 ("ghc-hspec" ,ghc-hspec)
6172 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6173 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6174 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6175 (synopsis "Write Haskell source files including C code inline")
6176 (description
6177 "inline-c lets you seamlessly call C libraries and embed high-performance
6178inline C code in Haskell modules. Haskell and C can be freely intermixed in
6179the same source file, and data passed to and from code in either language with
6180minimal overhead. No FFI required.")
6181 (license license:expat)))
6182
6183(define-public ghc-inline-c-cpp
6184 (package
6185 (name "ghc-inline-c-cpp")
cae58e56 6186 (version "0.3.0.3")
dddbc90c
RV
6187 (source
6188 (origin
6189 (method url-fetch)
6190 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6191 "inline-c-cpp-" version ".tar.gz"))
6192 (sha256
6193 (base32
cae58e56 6194 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6195 (build-system haskell-build-system)
6196 (inputs
6197 `(("ghc-inline-c" ,ghc-inline-c)
6198 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6199 (native-inputs
6200 `(("ghc-hspec" ,ghc-hspec)))
6201 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6202 (synopsis "Lets you embed C++ code into Haskell")
6203 (description
6204 "This package provides utilities to inline C++ code into Haskell using
6205@code{inline-c}.")
6206 (license license:expat)))
6207
6208(define-public ghc-integer-logarithms
6209 (package
6210 (name "ghc-integer-logarithms")
86a704db 6211 (version "1.0.3")
dddbc90c
RV
6212 (source
6213 (origin
6214 (method url-fetch)
6215 (uri (string-append "https://hackage.haskell.org/package/"
6216 "integer-logarithms/integer-logarithms-"
6217 version ".tar.gz"))
6218 (sha256
6219 (base32
86a704db 6220 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6221 (build-system haskell-build-system)
6222 (arguments
6223 `(#:phases
6224 (modify-phases %standard-phases
6225 (add-before 'configure 'update-constraints
6226 (lambda _
6227 (substitute* "integer-logarithms.cabal"
6228 (("tasty >= 0\\.10 && < 1\\.1")
6229 "tasty >= 0.10 && < 1.2")))))))
6230 (native-inputs
6231 `(("ghc-quickcheck" ,ghc-quickcheck)
6232 ("ghc-smallcheck" ,ghc-smallcheck)
6233 ("ghc-tasty" ,ghc-tasty)
6234 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6235 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6236 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6237 (home-page "https://github.com/Bodigrim/integer-logarithms")
6238 (synopsis "Integer logarithms")
6239 (description
6240 "This package provides the following modules:
6241@code{Math.NumberTheory.Logarithms} and
6242@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6243@code{GHC.Integer.Logarithms.Compat} and
6244@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6245in migrated modules.")
6246 (license license:expat)))
6247
6248(define-public ghc-integer-logarithms-bootstrap
6249 (package
6250 (inherit ghc-integer-logarithms)
6251 (name "ghc-integer-logarithms-bootstrap")
6252 (arguments `(#:tests? #f))
6253 (native-inputs '())
799d8d3c 6254 (properties '((hidden? #t)))))
dddbc90c
RV
6255
6256(define-public ghc-interpolate
6257 (package
6258 (name "ghc-interpolate")
6259 (version "0.2.0")
6260 (source
6261 (origin
6262 (method url-fetch)
6263 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6264 "interpolate-" version ".tar.gz"))
6265 (sha256
6266 (base32
6267 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6268 (build-system haskell-build-system)
6269 (inputs
6270 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6271 (native-inputs
6272 `(("ghc-base-compat" ,ghc-base-compat)
6273 ("ghc-hspec" ,ghc-hspec)
6274 ("ghc-quickcheck" ,ghc-quickcheck)
6275 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6276 ("hspec-discover" ,hspec-discover)))
6277 (home-page "https://github.com/sol/interpolate")
6278 (synopsis "String interpolation library")
6279 (description "This package provides a string interpolation library for
6280Haskell.")
6281 (license license:expat)))
6282
6283(define-public ghc-intervalmap
6284 (package
6285 (name "ghc-intervalmap")
e4946e32 6286 (version "0.6.1.1")
dddbc90c
RV
6287 (source
6288 (origin
6289 (method url-fetch)
6290 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6291 "IntervalMap-" version ".tar.gz"))
6292 (sha256
6293 (base32
e4946e32 6294 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6295 (build-system haskell-build-system)
6296 (native-inputs
6297 `(("ghc-quickcheck" ,ghc-quickcheck)))
6298 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6299 (synopsis "Containers for intervals, with efficient search")
6300 (description
6301 "This package provides ordered containers of intervals, with efficient
6302search for all keys containing a point or overlapping an interval. See the
6303example code on the home page for a quick introduction.")
6304 (license license:bsd-3)))
6305
f7ca1fa8
TS
6306(define-public ghc-intervals
6307 (package
6308 (name "ghc-intervals")
6309 (version "0.8.1")
6310 (source
6311 (origin
6312 (method url-fetch)
6313 (uri (string-append "https://hackage.haskell.org/package/"
6314 "intervals/intervals-" version ".tar.gz"))
6315 (sha256
6316 (base32
6317 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6318 (build-system haskell-build-system)
6319 (inputs
6320 `(("ghc-distributive" ,ghc-distributive)))
6321 (native-inputs
6322 `(("cabal-doctest" ,cabal-doctest)
6323 ("ghc-doctest" ,ghc-doctest)
6324 ("ghc-quickcheck" ,ghc-quickcheck)))
6325 (arguments
6326 `(#:cabal-revision
6327 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6328 (home-page "https://github.com/ekmett/intervals")
6329 (synopsis "Interval arithmetic")
6330 (description "This library provides
6331@code{Numeric.Interval.Interval}, which represets a closed, convex set
6332of floating point values.")
6333 (license license:bsd-3)))
6334
dddbc90c
RV
6335(define-public ghc-invariant
6336 (package
6337 (name "ghc-invariant")
d3a0e0b4 6338 (version "0.5.3")
dddbc90c
RV
6339 (source
6340 (origin
6341 (method url-fetch)
6342 (uri (string-append
6343 "https://hackage.haskell.org/package/invariant/invariant-"
6344 version ".tar.gz"))
6345 (sha256
6346 (base32
d3a0e0b4 6347 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6348 (build-system haskell-build-system)
6349 (inputs
6350 `(("ghc-bifunctors" ,ghc-bifunctors)
6351 ("ghc-comonad" ,ghc-comonad)
6352 ("ghc-contravariant" ,ghc-contravariant)
6353 ("ghc-profunctors" ,ghc-profunctors)
6354 ("ghc-semigroups" ,ghc-semigroups)
6355 ("ghc-statevar" ,ghc-statevar)
6356 ("ghc-tagged" ,ghc-tagged)
6357 ("ghc-th-abstraction" ,ghc-th-abstraction)
6358 ("ghc-transformers-compat" ,ghc-transformers-compat)
6359 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6360 (native-inputs
6361 `(("ghc-hspec" ,ghc-hspec)
6362 ("ghc-quickcheck" ,ghc-quickcheck)
6363 ("hspec-discover" ,hspec-discover)))
6364 (home-page "https://github.com/nfrisby/invariant-functors")
6365 (synopsis "Haskell98 invariant functors")
6366 (description "Haskell98 invariant functors (also known as exponential
6367functors). For more information, see Edward Kmett's article
6368@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6369 (license license:bsd-2)))
6370
6371(define-public ghc-io-streams
6372 (package
6373 (name "ghc-io-streams")
59e98d75 6374 (version "1.5.1.0")
dddbc90c
RV
6375 (source
6376 (origin
6377 (method url-fetch)
6378 (uri (string-append "https://hackage.haskell.org/package/"
6379 "io-streams/io-streams-" version ".tar.gz"))
6380 (sha256
6381 (base32
59e98d75 6382 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6383 (build-system haskell-build-system)
6384 (inputs
6385 `(("ghc-attoparsec" ,ghc-attoparsec)
6386 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6387 ("ghc-network" ,ghc-network)
6388 ("ghc-primitive" ,ghc-primitive)
6389 ("ghc-vector" ,ghc-vector)
6390 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6391 (native-inputs
6392 `(("ghc-hunit" ,ghc-hunit)
6393 ("ghc-quickcheck" ,ghc-quickcheck)
6394 ("ghc-test-framework" ,ghc-test-framework)
6395 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6396 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6397 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6398 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6399 (synopsis "Simple and composable stream I/O")
6400 (description "This library contains simple and easy-to-use
6401primitives for I/O using streams.")
6402 (license license:bsd-3)))
6403
6404(define-public ghc-io-streams-haproxy
6405 (package
6406 (name "ghc-io-streams-haproxy")
1a4fbc36 6407 (version "1.0.1.0")
dddbc90c
RV
6408 (source
6409 (origin
6410 (method url-fetch)
6411 (uri (string-append "https://hackage.haskell.org/package/"
6412 "io-streams-haproxy/io-streams-haproxy-"
6413 version ".tar.gz"))
6414 (sha256
6415 (base32
1a4fbc36 6416 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6417 (build-system haskell-build-system)
6418 (inputs
6419 `(("ghc-attoparsec" ,ghc-attoparsec)
6420 ("ghc-io-streams" ,ghc-io-streams)
6421 ("ghc-network" ,ghc-network)))
6422 (native-inputs
6423 `(("ghc-hunit" ,ghc-hunit)
6424 ("ghc-test-framework" ,ghc-test-framework)
6425 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6426 (home-page "http://snapframework.com/")
6427 (synopsis "HAProxy protocol 1.5 support for io-streams")
6428 (description "HAProxy protocol version 1.5 support
6429(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6430for applications using io-streams. The proxy protocol allows information
6431about a networked peer (like remote address and port) to be propagated
6432through a forwarding proxy that is configured to speak this protocol.")
6433 (license license:bsd-3)))
6434
6435(define-public ghc-iproute
6436 (package
6437 (name "ghc-iproute")
ec25d536 6438 (version "1.7.7")
dddbc90c
RV
6439 (source
6440 (origin
6441 (method url-fetch)
6442 (uri (string-append
6443 "https://hackage.haskell.org/package/iproute/iproute-"
6444 version
6445 ".tar.gz"))
6446 (sha256
6447 (base32
ec25d536 6448 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6449 (build-system haskell-build-system)
6450 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6451 ; exported by ghc-byteorder. Doctest issue.
6452 (inputs
6453 `(("ghc-appar" ,ghc-appar)
6454 ("ghc-byteorder" ,ghc-byteorder)
6455 ("ghc-network" ,ghc-network)
6456 ("ghc-safe" ,ghc-safe)))
6457 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6458 (synopsis "IP routing table")
6459 (description "IP Routing Table is a tree of IP ranges to search one of
6460them on the longest match base. It is a kind of TRIE with one way branching
6461removed. Both IPv4 and IPv6 are supported.")
6462 (license license:bsd-3)))
6463
4828e54e
TS
6464(define-public ghc-ipynb
6465 (package
6466 (name "ghc-ipynb")
6467 (version "0.1")
6468 (source
6469 (origin
6470 (method url-fetch)
6471 (uri (string-append "https://hackage.haskell.org/package/"
6472 "ipynb/ipynb-" version ".tar.gz"))
6473 (sha256
6474 (base32
6475 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6476 (build-system haskell-build-system)
6477 (inputs
6478 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6479 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6480 ("ghc-aeson" ,ghc-aeson)
6481 ("ghc-semigroups" ,ghc-semigroups)))
6482 (native-inputs
6483 `(("ghc-tasty" ,ghc-tasty)
6484 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6485 ("ghc-aeson-diff" ,ghc-aeson-diff)
6486 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6487 ("ghc-microlens" ,ghc-microlens)
6488 ("ghc-vector" ,ghc-vector)))
6489 (home-page "https://hackage.haskell.org/package/ipynb")
6490 (synopsis "Data structure for working with Jupyter notebooks")
6491 (description "This library defines a data structure for representing
6492Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6493instances for conversion to and from JSON .ipynb files.")
6494 (license license:bsd-3)))
6495
dddbc90c
RV
6496(define-public ghc-iwlib
6497 (package
6498 (name "ghc-iwlib")
6499 (version "0.1.0")
6500 (source
6501 (origin
6502 (method url-fetch)
6503 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6504 version ".tar.gz"))
6505 (sha256
6506 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6507 (build-system haskell-build-system)
54a5fd07
TS
6508 (arguments
6509 `(#:extra-directories ("wireless-tools")))
dddbc90c
RV
6510 (inputs
6511 `(("wireless-tools" ,wireless-tools)))
6512 (home-page "https://github.com/jaor/iwlib")
6513 (synopsis "Haskell binding to the iw wireless networking library")
6514 (description
6515 "IWlib is a thin Haskell binding to the iw C library. It provides
6516information about the current wireless network connections, and adapters on
6517supported systems.")
6518 (license license:bsd-3)))
6519
6520(define-public ghc-json
6521 (package
6522 (name "ghc-json")
0ad3d574 6523 (version "0.9.3")
dddbc90c
RV
6524 (source
6525 (origin
6526 (method url-fetch)
6527 (uri (string-append "https://hackage.haskell.org/package/json/"
6528 "json-" version ".tar.gz"))
6529 (sha256
6530 (base32
0ad3d574 6531 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6532 (build-system haskell-build-system)
6533 (inputs
6534 `(("ghc-syb" ,ghc-syb)))
6535 (home-page "https://hackage.haskell.org/package/json")
6536 (synopsis "Serializes Haskell data to and from JSON")
6537 (description "This package provides a parser and pretty printer for
6538converting between Haskell values and JSON.
6539JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6540 (license license:bsd-3)))
6541
6542(define-public ghc-juicypixels
6543 (package
6544 (name "ghc-juicypixels")
b50b6004 6545 (version "3.3.4")
dddbc90c
RV
6546 (source (origin
6547 (method url-fetch)
6548 (uri (string-append "https://hackage.haskell.org/package/"
6549 "JuicyPixels/JuicyPixels-"
6550 version ".tar.gz"))
6551 (sha256
6552 (base32
b50b6004 6553 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6554 (build-system haskell-build-system)
6555 (inputs
6556 `(("ghc-zlib" ,ghc-zlib)
6557 ("ghc-vector" ,ghc-vector)
6558 ("ghc-primitive" ,ghc-primitive)
6559 ("ghc-mmap" ,ghc-mmap)))
6560 (home-page "https://github.com/Twinside/Juicy.Pixels")
6561 (synopsis "Picture loading and serialization library")
6562 (description
6563 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6564TIFF and GIF formats.")
6565 (license license:bsd-3)))
6566
6567(define-public ghc-kan-extensions
6568 (package
6569 (name "ghc-kan-extensions")
6570 (version "5.2")
6571 (source
6572 (origin
6573 (method url-fetch)
6574 (uri (string-append
6575 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6576 version
6577 ".tar.gz"))
6578 (sha256
6579 (base32
6580 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6581 (build-system haskell-build-system)
6582 (inputs
6583 `(("ghc-adjunctions" ,ghc-adjunctions)
6584 ("ghc-comonad" ,ghc-comonad)
6585 ("ghc-contravariant" ,ghc-contravariant)
6586 ("ghc-distributive" ,ghc-distributive)
6587 ("ghc-free" ,ghc-free)
6588 ("ghc-invariant" ,ghc-invariant)
6589 ("ghc-semigroupoids" ,ghc-semigroupoids)
6590 ("ghc-tagged" ,ghc-tagged)
6591 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6592 (home-page "https://github.com/ekmett/kan-extensions/")
6593 (synopsis "Kan extensions library")
6594 (description "This library provides Kan extensions, Kan lifts, various
6595forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6596 (license license:bsd-3)))
6597
6598(define-public ghc-language-c
6599 (package
6600 (name "ghc-language-c")
4e1cf651 6601 (version "0.8.3")
dddbc90c
RV
6602 (source
6603 (origin
6604 (method url-fetch)
6605 (uri (string-append "https://hackage.haskell.org/package/"
6606 "language-c/language-c-" version ".tar.gz"))
6607 (sha256
6608 (base32
4e1cf651 6609 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6610 (build-system haskell-build-system)
6611 (inputs `(("ghc-syb" ,ghc-syb)))
6612 (native-inputs
6613 `(("ghc-happy" ,ghc-happy)
6614 ("ghc-alex" ,ghc-alex)))
6615 (home-page "https://visq.github.io/language-c/")
6616 (synopsis "Analysis and generation of C code")
6617 (description
6618 "Language C is a Haskell library for the analysis and generation of C code.
6619It features a complete, well-tested parser and pretty printer for all of C99
6620and a large set of GNU extensions.")
6621 (license license:bsd-3)))
6622
6623(define-public ghc-language-glsl
6624 (package
6625 (name "ghc-language-glsl")
6626 (version "0.3.0")
6627 (source
6628 (origin
6629 (method url-fetch)
6630 (uri (string-append "https://hackage.haskell.org/package/"
6631 "language-glsl/language-glsl-" version ".tar.gz"))
6632 (sha256
6633 (base32
6634 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6635 (build-system haskell-build-system)
6636 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6637 (arguments
6638 `(#:tests? #f
6639 #:cabal-revision
6640 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6641 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6642 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6643 (description "This package is a Haskell library for the
6644representation, parsing, and pretty-printing of GLSL 1.50 code.")
6645 (license license:bsd-3)))
6646
6647(define-public ghc-language-haskell-extract
6648 (package
6649 (name "ghc-language-haskell-extract")
6650 (version "0.2.4")
6651 (source
6652 (origin
6653 (method url-fetch)
6654 (uri (string-append "https://hackage.haskell.org/package/"
6655 "language-haskell-extract-" version "/"
6656 "language-haskell-extract-" version ".tar.gz"))
6657 (sha256
6658 (base32
6659 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6660 (build-system haskell-build-system)
6661 (inputs
6662 `(("ghc-regex-posix" ,ghc-regex-posix)))
6663 (home-page "https://github.com/finnsson/template-helper")
6664 (synopsis "Haskell module to automatically extract functions from
6665the local code")
6666 (description "This package contains helper functions on top of
6667Template Haskell.
6668
6669For example, @code{functionExtractor} extracts all functions after a
6670regexp-pattern, which can be useful if you wish to extract all functions
6671beginning with @code{test} (for a test framework) or all functions beginning
6672with @code{wc} (for a web service).")
6673 (license license:bsd-3)))
6674
6675(define-public ghc-lens
6676 (package
6677 (name "ghc-lens")
262e6323 6678 (version "4.17.1")
dddbc90c
RV
6679 (source
6680 (origin
6681 (method url-fetch)
6682 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6683 version ".tar.gz"))
6684 (sha256
6685 (base32
262e6323 6686 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6687 (build-system haskell-build-system)
dddbc90c
RV
6688 (inputs
6689 `(("ghc-base-orphans" ,ghc-base-orphans)
6690 ("ghc-bifunctors" ,ghc-bifunctors)
6691 ("ghc-distributive" ,ghc-distributive)
6692 ("ghc-exceptions" ,ghc-exceptions)
6693 ("ghc-free" ,ghc-free)
6694 ("ghc-kan-extensions" ,ghc-kan-extensions)
6695 ("ghc-parallel" ,ghc-parallel)
6696 ("ghc-reflection" ,ghc-reflection)
6697 ("ghc-semigroupoids" ,ghc-semigroupoids)
6698 ("ghc-vector" ,ghc-vector)
6699 ("ghc-call-stack" ,ghc-call-stack)
6700 ("ghc-comonad" ,ghc-comonad)
6701 ("ghc-contravariant" ,ghc-contravariant)
6702 ("ghc-hashable" ,ghc-hashable)
6703 ("ghc-profunctors" ,ghc-profunctors)
6704 ("ghc-semigroups" ,ghc-semigroups)
6705 ("ghc-tagged" ,ghc-tagged)
6706 ("ghc-transformers-compat" ,ghc-transformers-compat)
6707 ("ghc-unordered-containers" ,ghc-unordered-containers)
6708 ("ghc-void" ,ghc-void)
6709 ("ghc-generic-deriving" ,ghc-generic-deriving)
6710 ("ghc-nats" ,ghc-nats)
6711 ("ghc-simple-reflect" ,ghc-simple-reflect)
6712 ("hlint" ,hlint)))
6713 (native-inputs
6714 `(("cabal-doctest" ,cabal-doctest)
6715 ("ghc-doctest" ,ghc-doctest)
6716 ("ghc-hunit" ,ghc-hunit)
6717 ("ghc-test-framework" ,ghc-test-framework)
6718 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6719 ("ghc-test-framework-th" ,ghc-test-framework-th)
6720 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6721 ("ghc-quickcheck" ,ghc-quickcheck)))
6722 (home-page "https://github.com/ekmett/lens/")
6723 (synopsis "Lenses, Folds and Traversals")
6724 (description "This library provides @code{Control.Lens}. The combinators
6725in @code{Control.Lens} provide a highly generic toolbox for composing families
6726of getters, folds, isomorphisms, traversals, setters and lenses and their
6727indexed variants.")
6728 (license license:bsd-3)))
6729
bcd35444
JS
6730(define-public ghc-lens-family-core
6731 (package
6732 (name "ghc-lens-family-core")
6733 (version "1.2.3")
6734 (source
6735 (origin
6736 (method url-fetch)
6737 (uri (string-append
6738 "mirror://hackage/package/lens-family-core/lens-family-core-"
6739 version
6740 ".tar.gz"))
6741 (sha256
6742 (base32
6743 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6744 (build-system haskell-build-system)
6745 (home-page
6746 "http://hackage.haskell.org/package/lens-family-core")
6747 (synopsis "Haskell 98 Lens Families")
6748 (description
6749 "This package provides first class functional references. In addition to
6750the usual operations of getting, setting and composition, plus integration
6751with the state monad, lens families provide some unique features:
6752
6753@itemize
6754@item Polymorphic updating
6755@item Traversals
6756@item Cast projection functions to read-only lenses
6757@item Cast @code{toList} functions to read-only traversals
6758@item Cast semantic editor combinators to modify-only traversals
6759@end itemize
6760
6761For optimal first-class support use the lens-family package with rank 2/rank N
6762polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6763lenses and traversals for those who require Haskell 98.")
6764 (license license:bsd-3)))
6765
dddbc90c
RV
6766(define-public ghc-libffi
6767 (package
6768 (name "ghc-libffi")
6769 (version "0.1")
6770 (source
6771 (origin
6772 (method url-fetch)
6773 (uri (string-append "https://hackage.haskell.org/package/"
6774 "libffi/libffi-" version ".tar.gz"))
6775 (sha256
6776 (base32
6777 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6778 (build-system haskell-build-system)
6779 (native-inputs `(("pkg-config" ,pkg-config)))
6780 (inputs `(("libffi" ,libffi)))
3ef91e15 6781 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6782 (synopsis "Haskell binding to libffi")
6783 (description
6784 "A binding to libffi, allowing C functions of types only known at runtime
6785to be called from Haskell.")
6786 (license license:bsd-3)))
6787
6788(define-public ghc-libmpd
6789 (package
6790 (name "ghc-libmpd")
bbf9845f 6791 (version "0.9.0.10")
dddbc90c
RV
6792 (source
6793 (origin
6794 (method url-fetch)
6795 (uri (string-append
6796 "mirror://hackage/package/libmpd/libmpd-"
6797 version
6798 ".tar.gz"))
6799 (sha256
6800 (base32
bbf9845f 6801 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6802 (build-system haskell-build-system)
6803 ;; Tests fail on i686.
6804 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6805 (arguments `(#:tests? #f))
6806 (inputs
6807 `(("ghc-attoparsec" ,ghc-attoparsec)
6808 ("ghc-old-locale" ,ghc-old-locale)
6809 ("ghc-data-default-class" ,ghc-data-default-class)
6810 ("ghc-network" ,ghc-network)
bbf9845f 6811 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6812 ("ghc-utf8-string" ,ghc-utf8-string)))
6813 (native-inputs
6814 `(("ghc-quickcheck" ,ghc-quickcheck)
6815 ("ghc-hspec" ,ghc-hspec)
6816 ("hspec-discover" ,hspec-discover)))
6817 (home-page "https://github.com/vimus/libmpd-haskell")
6818 (synopsis "Haskell client library for the Music Player Daemon")
6819 (description "This package provides a pure Haskell client library for the
6820Music Player Daemon.")
6821 (license license:expat)))
6822
e34df1c3
TS
6823(define-public ghc-lib-parser
6824 (package
6825 (name "ghc-lib-parser")
6826 (version "8.8.0.20190424")
6827 (source
6828 (origin
6829 (method url-fetch)
6830 (uri (string-append "https://hackage.haskell.org/package/"
6831 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6832 (sha256
6833 (base32
6834 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6835 (build-system haskell-build-system)
6836 (native-inputs
6837 `(("ghc-alex" ,ghc-alex)
6838 ("ghc-happy" ,ghc-happy)))
6839 (home-page "https://github.com/digital-asset/ghc-lib")
6840 (synopsis "The GHC API, decoupled from GHC versions")
6841 (description "This library implements the GHC API. It is like the
6842compiler-provided @code{ghc} package, but it can be loaded on many
6843compiler versions.")
6844 (license license:bsd-3)))
6845
dddbc90c
RV
6846(define-public ghc-libxml
6847 (package
6848 (name "ghc-libxml")
6849 (version "0.1.1")
6850 (source
6851 (origin
6852 (method url-fetch)
6853 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6854 "libxml-" version ".tar.gz"))
6855 (sha256
6856 (base32
6857 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6858 (build-system haskell-build-system)
6859 (inputs
6860 `(("libxml2" ,libxml2)))
6861 (arguments
6862 `(#:configure-flags
6863 `(,(string-append "--extra-include-dirs="
6864 (assoc-ref %build-inputs "libxml2")
6865 "/include/libxml2"))))
6866 (home-page "https://hackage.haskell.org/package/libxml")
6867 (synopsis "Haskell bindings to libxml2")
6868 (description
6869 "This library provides minimal Haskell binding to libxml2.")
6870 (license license:bsd-3)))
6871
0c2d6fc2
TS
6872(define-public ghc-libyaml
6873 (package
6874 (name "ghc-libyaml")
6875 (version "0.1.1.0")
6876 (source
6877 (origin
6878 (method url-fetch)
6879 (uri (string-append "https://hackage.haskell.org/package/"
6880 "libyaml/libyaml-" version ".tar.gz"))
6881 (sha256
6882 (base32
6883 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6884 (modules '((guix build utils)))
6885 (snippet
6886 ;; Delete bundled LibYAML.
6887 '(begin
6888 (delete-file-recursively "libyaml_src")
6889 #t))))
6890 (build-system haskell-build-system)
6891 (arguments
54a5fd07
TS
6892 `(#:configure-flags `("--flags=system-libyaml")
6893 #:extra-directories ("libyaml")))
0c2d6fc2
TS
6894 (inputs
6895 `(("ghc-conduit" ,ghc-conduit)
6896 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6897 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6898 (home-page "https://github.com/snoyberg/yaml#readme")
6899 (synopsis "Low-level, streaming YAML interface.")
6900 (description "This package provides a Haskell wrapper over the
6901LibYAML C library.")
6902 (license license:bsd-3)))
6903
dddbc90c
RV
6904(define-public ghc-lifted-async
6905 (package
6906 (name "ghc-lifted-async")
b5b6d7ea 6907 (version "0.10.0.4")
dddbc90c
RV
6908 (source
6909 (origin
6910 (method url-fetch)
6911 (uri (string-append
6912 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6913 version ".tar.gz"))
6914 (sha256
6915 (base32
b5b6d7ea 6916 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6917 (build-system haskell-build-system)
6918 (inputs
6919 `(("ghc-async" ,ghc-async)
6920 ("ghc-lifted-base" ,ghc-lifted-base)
6921 ("ghc-transformers-base" ,ghc-transformers-base)
6922 ("ghc-monad-control" ,ghc-monad-control)
6923 ("ghc-constraints" ,ghc-constraints)
6924 ("ghc-hunit" ,ghc-hunit)
6925 ("ghc-tasty" ,ghc-tasty)
6926 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6927 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6928 ("ghc-tasty-th" ,ghc-tasty-th)))
6929 (home-page "https://github.com/maoe/lifted-async")
6930 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6931 (description
6932 "This package provides IO operations from @code{async} package lifted to any
6933instance of @code{MonadBase} or @code{MonadBaseControl}.")
6934 (license license:bsd-3)))
6935
6936(define-public ghc-lifted-base
6937 (package
6938 (name "ghc-lifted-base")
6939 (version "0.2.3.12")
6940 (source
6941 (origin
6942 (method url-fetch)
6943 (uri (string-append
6944 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6945 version
6946 ".tar.gz"))
6947 (sha256
6948 (base32
6949 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6950 (build-system haskell-build-system)
6951 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6952 (inputs
6953 `(("ghc-transformers-base" ,ghc-transformers-base)
6954 ("ghc-monad-control" ,ghc-monad-control)
6955 ("ghc-transformers-compat" ,ghc-transformers-compat)
6956 ("ghc-hunit" ,ghc-hunit)))
6957 (home-page "https://github.com/basvandijk/lifted-base")
6958 (synopsis "Lifted IO operations from the base library")
6959 (description "Lifted-base exports IO operations from the @code{base}
6960library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6961Note that not all modules from @code{base} are converted yet. The package
6962includes a copy of the @code{monad-peel} test suite written by Anders
6963Kaseorg.")
6964 (license license:bsd-3)))
6965
6966(define-public ghc-linear
6967 (package
6968 (name "ghc-linear")
86526f37 6969 (version "1.20.9")
dddbc90c
RV
6970 (source
6971 (origin
6972 (method url-fetch)
6973 (uri (string-append "https://hackage.haskell.org/package/linear/"
6974 "linear-" version ".tar.gz"))
6975 (sha256
6976 (base32
86526f37 6977 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6978 (build-system haskell-build-system)
6979 (inputs
6980 `(("ghc-adjunctions" ,ghc-adjunctions)
6981 ("ghc-base-orphans" ,ghc-base-orphans)
6982 ("ghc-bytes" ,ghc-bytes)
6983 ("ghc-cereal" ,ghc-cereal)
6984 ("ghc-distributive" ,ghc-distributive)
6985 ("ghc-hashable" ,ghc-hashable)
6986 ("ghc-lens" ,ghc-lens)
6987 ("ghc-reflection" ,ghc-reflection)
6988 ("ghc-semigroups" ,ghc-semigroups)
6989 ("ghc-semigroupoids" ,ghc-semigroupoids)
6990 ("ghc-tagged" ,ghc-tagged)
6991 ("ghc-transformers-compat" ,ghc-transformers-compat)
6992 ("ghc-unordered-containers" ,ghc-unordered-containers)
6993 ("ghc-vector" ,ghc-vector)
6994 ("ghc-void" ,ghc-void)))
6995 (native-inputs
6996 `(("cabal-doctest" ,cabal-doctest)
6997 ("ghc-doctest" ,ghc-doctest)
6998 ("ghc-simple-reflect" ,ghc-simple-reflect)
6999 ("ghc-test-framework" ,ghc-test-framework)
7000 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7001 ("ghc-hunit" ,ghc-hunit)))
702a1012 7002 (home-page "https://github.com/ekmett/linear/")
dddbc90c
RV
7003 (synopsis "Linear algebra library for Haskell")
7004 (description
7005 "This package provides types and combinators for linear algebra on free
7006vector spaces.")
7007 (license license:bsd-3)))
1307e4c7
JS
7008
7009(define-public ghc-listlike
7010 (package
7011 (name "ghc-listlike")
7012 (version "4.6.2")
7013 (source
7014 (origin
7015 (method url-fetch)
7016 (uri
7017 (string-append
7018 "https://hackage.haskell.org/package/ListLike/ListLike-"
7019 version ".tar.gz"))
7020 (sha256
7021 (base32
7022 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7023 (build-system haskell-build-system)
7024 (inputs
7025 `(("ghc-vector" ,ghc-vector)
7026 ("ghc-dlist" ,ghc-dlist)
7027 ("ghc-fmlist" ,ghc-fmlist)
7028 ("ghc-hunit" ,ghc-hunit)
7029 ("ghc-quickcheck" ,ghc-quickcheck)
7030 ("ghc-random" ,ghc-random)
7031 ("ghc-utf8-string" ,ghc-utf8-string)))
7032 (home-page "https://github.com/JohnLato/listlike")
7033 (synopsis "Generic support for list-like structures")
7034 (description "The ListLike module provides a common interface to the
7035various Haskell types that are list-like. Predefined interfaces include
7036standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7037Custom types can easily be made ListLike instances as well.
7038
7039ListLike also provides for String-like types, such as String and
7040ByteString, for types that support input and output, and for types that
7041can handle infinite lists.")
7042 (license license:bsd-3)))
dddbc90c 7043
84436be0
J
7044(define-public ghc-llvm-hs-pure
7045 (package
7046 (name "ghc-llvm-hs-pure")
7047 (version "9.0.0")
7048 (source
7049 (origin
7050 (method url-fetch)
7051 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7052 "llvm-hs-pure-" version ".tar.gz"))
7053 (sha256
7054 (base32
7055 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7056 (build-system haskell-build-system)
7057 (inputs
7058 `(("ghc-attoparsec" ,ghc-attoparsec)
7059 ("ghc-fail" ,ghc-fail)
7060 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7061 (native-inputs
7062 `(("ghc-tasty" ,ghc-tasty)
7063 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7064 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7065 (home-page "https://github.com/llvm-hs/llvm-hs/")
7066 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7067 (description "llvm-hs-pure is a set of pure Haskell types and functions
7068for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7069LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7070llvm-hs-pure does not require LLVM to be available.")
7071 (license license:bsd-3)))
7072
e3ee8023
J
7073(define-public ghc-llvm-hs
7074 (package
7075 (name "ghc-llvm-hs")
7076 (version "9.0.1")
7077 (source
7078 (origin
7079 (method url-fetch)
7080 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7081 version ".tar.gz"))
7082 (sha256
7083 (base32
7084 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7085 (build-system haskell-build-system)
7086 (inputs
7087 `(("ghc-attoparsec" ,ghc-attoparsec)
7088 ("ghc-exceptions" ,ghc-exceptions)
7089 ("ghc-utf8-string" ,ghc-utf8-string)
7090 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7091 ("llvm" ,llvm-9)))
7092 (native-inputs
7093 `(("ghc-tasty" ,ghc-tasty)
7094 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7095 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7096 ("ghc-quickcheck" ,ghc-quickcheck)
7097 ("ghc-temporary" ,ghc-temporary)
7098 ("ghc-pretty-show" ,ghc-pretty-show)
7099 ("ghc-temporary" ,ghc-temporary)))
7100 (home-page "https://github.com/llvm-hs/llvm-hs/")
7101 (synopsis "General purpose LLVM bindings for Haskell")
7102 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7103current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7104IR, and so offers two advantages: it handles almost all of the stateful
7105complexities of using the LLVM API to build IR; and it supports moving IR not
7106only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7107into Haskell.")
7108 (license license:bsd-3)))
7109
dddbc90c
RV
7110(define-public ghc-logging-facade
7111 (package
7112 (name "ghc-logging-facade")
7113 (version "0.3.0")
7114 (source (origin
7115 (method url-fetch)
7116 (uri (string-append "https://hackage.haskell.org/package/"
7117 "logging-facade/logging-facade-"
7118 version ".tar.gz"))
7119 (sha256
7120 (base32
7121 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7122 (build-system haskell-build-system)
7123 (native-inputs
7124 `(("ghc-hspec" ,ghc-hspec)
7125 ("hspec-discover" ,hspec-discover)))
7126 (home-page "https://hackage.haskell.org/package/logging-facade")
7127 (synopsis "Simple logging abstraction that allows multiple back-ends")
7128 (description
7129 "This package provides a simple logging abstraction that allows multiple
7130back-ends.")
7131 (license license:expat)))
7132
7133(define-public ghc-logict
7134 (package
7135 (name "ghc-logict")
79d9326f 7136 (version "0.7.0.2")
dddbc90c
RV
7137 (source
7138 (origin
7139 (method url-fetch)
7140 (uri (string-append
7141 "https://hackage.haskell.org/package/logict/logict-"
7142 version
7143 ".tar.gz"))
7144 (sha256
7145 (base32
79d9326f 7146 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7147 (build-system haskell-build-system)
79d9326f
TS
7148 (native-inputs
7149 `(("ghc-tasty" ,ghc-tasty)
7150 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7151 (home-page "http://code.haskell.org/~dolio/")
7152 (synopsis "Backtracking logic-programming monad")
7153 (description "This library provides a continuation-based, backtracking,
7154logic programming monad. An adaptation of the two-continuation implementation
7155found in the paper \"Backtracking, Interleaving, and Terminating Monad
7156Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7157online}.")
7158 (license license:bsd-3)))
7159
7160(define-public ghc-lzma
7161 (package
7162 (name "ghc-lzma")
7163 (version "0.0.0.3")
7164 (source
7165 (origin
7166 (method url-fetch)
7167 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7168 "lzma-" version ".tar.gz"))
7169 (sha256
7170 (base32
7171 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7172 (build-system haskell-build-system)
7173 (arguments
7174 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7175 #:cabal-revision
7176 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7177 (native-inputs
7178 `(("ghc-hunit" ,ghc-hunit)
7179 ("ghc-quickcheck" ,ghc-quickcheck)
7180 ("ghc-tasty" ,ghc-tasty)
7181 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7182 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7183 (home-page "https://github.com/hvr/lzma")
7184 (synopsis "LZMA/XZ compression and decompression")
7185 (description
7186 "This package provides a pure interface for compressing and
7187decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7188monadic incremental interface is provided as well.")
7189 (license license:bsd-3)))
7190
7191(define-public ghc-lzma-conduit
7192 (package
7193 (name "ghc-lzma-conduit")
7194 (version "1.2.1")
7195 (source
7196 (origin
7197 (method url-fetch)
7198 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7199 "lzma-conduit-" version ".tar.gz"))
7200 (sha256
7201 (base32
7202 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7203 (build-system haskell-build-system)
7204 (inputs
7205 `(("ghc-conduit" ,ghc-conduit)
7206 ("ghc-lzma" ,ghc-lzma)
7207 ("ghc-resourcet" ,ghc-resourcet)))
7208 (native-inputs
7209 `(("ghc-base-compat" ,ghc-base-compat)
7210 ("ghc-test-framework" ,ghc-test-framework)
7211 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7212 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7213 ("ghc-hunit" ,ghc-hunit)
7214 ("ghc-quickcheck" ,ghc-quickcheck)))
7215 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7216 (synopsis "Conduit interface for lzma/xz compression")
7217 (description
7218 "This package provides a @code{Conduit} interface for the LZMA
7219compression algorithm used in the @code{.xz} file format.")
7220 (license license:bsd-3)))
7221
e405912c
KM
7222(define-public ghc-magic
7223 (package
7224 (name "ghc-magic")
7225 (version "1.1")
7226 (source
7227 (origin
7228 (method url-fetch)
7229 (uri (string-append
7230 "https://hackage.haskell.org/package/magic/magic-"
7231 version ".tar.gz"))
7232 (sha256
7233 (base32
7234 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7235 (build-system haskell-build-system)
3ef91e15 7236 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7237 (synopsis "Interface to C file/magic library")
7238 (description
7239 "This package provides a full-featured binding to the C libmagic library.
7240With it, you can determine the type of a file by examining its contents rather
7241than its name.")
7242 (license license:bsd-3)))
7243
bcfe9dba
JS
7244(define-public ghc-managed
7245 (package
7246 (name "ghc-managed")
7247 (version "1.0.6")
7248 (source
7249 (origin
7250 (method url-fetch)
7251 (uri (string-append
7252 "mirror://hackage/package/managed/managed-"
7253 version
7254 ".tar.gz"))
7255 (sha256
7256 (base32
7257 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7258 (build-system haskell-build-system)
7259 (home-page "http://hackage.haskell.org/package/managed")
7260 (synopsis "Monad for managed values")
7261 (description
7262 "In Haskell you very often acquire values using the with... idiom using
7263functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7264special case of the ContT monad (from transformers) or the Codensity
7265monad (from kan-extensions). The main purpose behind this package is to
7266provide a restricted form of these monads specialized to this unusually common
7267case.
7268
7269The reason this package defines a specialized version of these types
7270is to:
7271
7272@itemize
7273@item be more beginner-friendly,
7274@item simplify inferred types and error messages, and:
7275@item provide some additional type class instances that would otherwise be
7276orphan instances
7277@end itemize")
7278 (license license:bsd-3)))
7279
dddbc90c
RV
7280(define-public ghc-markdown-unlit
7281 (package
7282 (name "ghc-markdown-unlit")
7283 (version "0.5.0")
7284 (source (origin
7285 (method url-fetch)
7286 (uri (string-append
7287 "mirror://hackage/package/markdown-unlit/"
7288 "markdown-unlit-" version ".tar.gz"))
7289 (sha256
7290 (base32
7291 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7292 (build-system haskell-build-system)
7293 (inputs
7294 `(("ghc-base-compat" ,ghc-base-compat)
7295 ("ghc-hspec" ,ghc-hspec)
7296 ("ghc-quickcheck" ,ghc-quickcheck)
7297 ("ghc-silently" ,ghc-silently)
7298 ("ghc-stringbuilder" ,ghc-stringbuilder)
7299 ("ghc-temporary" ,ghc-temporary)
7300 ("hspec-discover" ,hspec-discover)))
7301 (home-page "https://github.com/sol/markdown-unlit#readme")
7302 (synopsis "Literate Haskell support for Markdown")
7303 (description "This package allows you to have a README.md that at the
7304same time is a literate Haskell program.")
7305 (license license:expat)))
7306
7307(define-public ghc-math-functions
7308 (package
7309 (name "ghc-math-functions")
b45de2bf 7310 (version "0.3.3.0")
dddbc90c
RV
7311 (source
7312 (origin
7313 (method url-fetch)
7314 (uri (string-append "https://hackage.haskell.org/package/"
7315 "math-functions-" version "/"
7316 "math-functions-" version ".tar.gz"))
7317 (sha256
7318 (base32
b45de2bf 7319 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7320 (build-system haskell-build-system)
7321 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7322 (inputs
b45de2bf
TS
7323 `(("ghc-data-default-class" ,ghc-data-default-class)
7324 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7325 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7326 (native-inputs
7327 `(("ghc-hunit" ,ghc-hunit)
7328 ("ghc-quickcheck" ,ghc-quickcheck)
7329 ("ghc-erf" ,ghc-erf)
7330 ("ghc-test-framework" ,ghc-test-framework)
7331 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7332 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7333 (home-page "https://github.com/bos/math-functions")
7334 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7335 (description "This Haskell library provides implementations of
7336special mathematical functions and Chebyshev polynomials. These
7337functions are often useful in statistical and numerical computing.")
7338 (license license:bsd-3)))
7339
7340(define-public ghc-megaparsec
7341 (package
7342 (name "ghc-megaparsec")
03b0c92e 7343 (version "7.0.5")
dddbc90c
RV
7344 (source
7345 (origin
7346 (method url-fetch)
7347 (uri (string-append "https://hackage.haskell.org/package/"
7348 "megaparsec/megaparsec-"
7349 version ".tar.gz"))
7350 (sha256
7351 (base32
03b0c92e 7352 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7353 (build-system haskell-build-system)
dddbc90c
RV
7354 (inputs
7355 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7356 ("ghc-parser-combinators" ,ghc-parser-combinators)
7357 ("ghc-scientific" ,ghc-scientific)))
7358 (native-inputs
7359 `(("ghc-quickcheck" ,ghc-quickcheck)
7360 ("ghc-hspec" ,ghc-hspec)
7361 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7362 ("hspec-discover" ,hspec-discover)))
7363 (home-page "https://github.com/mrkkrp/megaparsec")
7364 (synopsis "Monadic parser combinators")
7365 (description
7366 "This is an industrial-strength monadic parser combinator library.
7367Megaparsec is a feature-rich package that strikes a nice balance between
7368speed, flexibility, and quality of parse errors.")
7369 (license license:bsd-2)))
7370
7371(define-public ghc-memory
7372 (package
7373 (name "ghc-memory")
d2c7d336 7374 (version "0.14.18")
dddbc90c
RV
7375 (source (origin
7376 (method url-fetch)
7377 (uri (string-append "https://hackage.haskell.org/package/"
7378 "memory/memory-" version ".tar.gz"))
7379 (sha256
7380 (base32
d2c7d336 7381 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7382 (build-system haskell-build-system)
7383 (inputs
7384 `(("ghc-basement" ,ghc-basement)
7385 ("ghc-foundation" ,ghc-foundation)))
7386 (native-inputs
7387 `(("ghc-tasty" ,ghc-tasty)
7388 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7389 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7390 (home-page "https://github.com/vincenthz/hs-memory")
7391 (synopsis "Memory abstractions for Haskell")
7392 (description
7393 "This package provides memory abstractions, such as chunk of memory,
7394polymorphic byte array management and manipulation functions. It contains a
7395polymorphic byte array abstraction and functions similar to strict ByteString,
7396different type of byte array abstraction, raw memory IO operations (memory
7397set, memory copy, ..) and more")
7398 (license license:bsd-3)))
7399
7400(define-public ghc-memotrie
7401 (package
7402 (name "ghc-memotrie")
7403 (version "0.6.9")
7404 (source
7405 (origin
7406 (method url-fetch)
7407 (uri (string-append
7408 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7409 version
7410 ".tar.gz"))
7411 (sha256
7412 (base32
7413 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7414 (build-system haskell-build-system)
7415 (inputs
7416 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7417 (home-page "https://github.com/conal/MemoTrie")
7418 (synopsis "Trie-based memo functions")
7419 (description "This package provides a functional library for creating
7420efficient memo functions using tries.")
7421 (license license:bsd-3)))
7422
7423(define-public ghc-microlens
7424 (package
7425 (name "ghc-microlens")
82478c58 7426 (version "0.4.10")
dddbc90c
RV
7427 (source
7428 (origin
7429 (method url-fetch)
7430 (uri (string-append "https://hackage.haskell.org/package/"
7431 "microlens-" version "/"
7432 "microlens-" version ".tar.gz"))
7433 (sha256
7434 (base32
82478c58 7435 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7436 (build-system haskell-build-system)
7437 (home-page
7438 "https://github.com/aelve/microlens")
7439 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7440 (description "This Haskell package provides a lens library, just like
7441@code{ghc-lens}, but smaller. It provides essential lenses and
7442traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7443nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7444combinators (like @code{failing} and @code{singular}), but everything else is
7445stripped. As the result, this package has no dependencies.")
7446 (license license:bsd-3)))
7447
1cd3333e
TS
7448(define-public ghc-microlens-aeson
7449 (package
7450 (name "ghc-microlens-aeson")
7451 (version "2.3.0.4")
7452 (source
7453 (origin
7454 (method url-fetch)
7455 (uri (string-append "https://hackage.haskell.org/package/"
7456 "microlens-aeson/microlens-aeson-"
7457 version ".tar.gz"))
b4a00fec 7458 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7459 (sha256
7460 (base32
7461 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7462 (build-system haskell-build-system)
7463 (inputs
7464 `(("ghc-aeson" ,ghc-aeson)
7465 ("ghc-attoparsec" ,ghc-attoparsec)
7466 ("ghc-hashable" ,ghc-hashable)
7467 ("ghc-microlens" ,ghc-microlens)
7468 ("ghc-scientific" ,ghc-scientific)
7469 ("ghc-unordered-containers" ,ghc-unordered-containers)
7470 ("ghc-vector" ,ghc-vector)))
7471 (native-inputs
7472 `(("ghc-tasty" ,ghc-tasty)
7473 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7474 (home-page "https://github.com/fosskers/microlens-aeson")
7475 (synopsis "Law-abiding lenses for Aeson, using microlens")
7476 (description "This library provides law-abiding lenses for Aeson, using
7477microlens.")
7478 (license license:expat)))
7479
dddbc90c
RV
7480(define-public ghc-microlens-ghc
7481 (package
7482 (name "ghc-microlens-ghc")
027beb55 7483 (version "0.4.10")
dddbc90c
RV
7484 (source
7485 (origin
7486 (method url-fetch)
7487 (uri (string-append
7488 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7489 version
7490 ".tar.gz"))
7491 (sha256
7492 (base32
027beb55 7493 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7494 (build-system haskell-build-system)
7495 (inputs `(("ghc-microlens" ,ghc-microlens)))
7496 (home-page "https://github.com/monadfix/microlens")
7497 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7498 (description "This library provides everything that @code{microlens}
7499provides plus instances to make @code{each}, @code{at}, and @code{ix}
7500usable with arrays, @code{ByteString}, and containers. This package is
7501a part of the @uref{http://hackage.haskell.org/package/microlens,
7502microlens} family; see the readme
7503@uref{https://github.com/aelve/microlens#readme, on Github}.")
7504 (license license:bsd-3)))
7505
7506(define-public ghc-microlens-mtl
7507 (package
7508 (name "ghc-microlens-mtl")
7509 (version "0.1.11.1")
7510 (source
7511 (origin
7512 (method url-fetch)
7513 (uri (string-append
7514 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7515 version
7516 ".tar.gz"))
7517 (sha256
7518 (base32
7519 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7520 (build-system haskell-build-system)
7521 (inputs
7522 `(("ghc-microlens" ,ghc-microlens)
7523 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7524 (home-page "https://github.com/monadfix/microlens")
7525 (synopsis
7526 "@code{microlens} support for Reader/Writer/State from mtl")
7527 (description
7528 "This package contains functions (like @code{view} or @code{+=}) which
7529work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7530mtl package. This package is a part of the
7531@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7532readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7533 (license license:bsd-3)))
7534
7535(define-public ghc-microlens-platform
7536 (package
7537 (name "ghc-microlens-platform")
85decc1f 7538 (version "0.3.11")
dddbc90c
RV
7539 (source
7540 (origin
7541 (method url-fetch)
7542 (uri (string-append
7543 "https://hackage.haskell.org/package/"
7544 "microlens-platform/microlens-platform-" version ".tar.gz"))
7545 (sha256
7546 (base32
85decc1f 7547 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7548 (build-system haskell-build-system)
7549 (inputs
7550 `(("ghc-hashable" ,ghc-hashable)
7551 ("ghc-microlens" ,ghc-microlens)
7552 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7553 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7554 ("ghc-microlens-th" ,ghc-microlens-th)
7555 ("ghc-unordered-containers" ,ghc-unordered-containers)
7556 ("ghc-vector" ,ghc-vector)))
7557 (home-page "https://github.com/monadfix/microlens")
7558 (synopsis "Feature-complete microlens")
7559 (description
7560 "This package exports a module which is the recommended starting point
7561for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7562you aren't trying to keep your dependencies minimal. By importing
7563@code{Lens.Micro.Platform} you get all functions and instances from
7564@uref{http://hackage.haskell.org/package/microlens, microlens},
7565@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7566@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7567@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7568well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7569minor and major versions of @code{microlens-platform} are incremented whenever
7570the minor and major versions of any other @code{microlens} package are
7571incremented, so you can depend on the exact version of
7572@code{microlens-platform} without specifying the version of @code{microlens}
7573you need. This package is a part of the
7574@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7575readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7576 (license license:bsd-3)))
7577
7578(define-public ghc-microlens-th
7579 (package
7580 (name "ghc-microlens-th")
7ae52867 7581 (version "0.4.2.3")
dddbc90c
RV
7582 (source
7583 (origin
7584 (method url-fetch)
7585 (uri (string-append "https://hackage.haskell.org/package/"
7586 "microlens-th-" version "/"
7587 "microlens-th-" version ".tar.gz"))
7588 (sha256
7589 (base32
7ae52867 7590 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7591 (build-system haskell-build-system)
7ae52867
TS
7592 (arguments
7593 `(#:cabal-revision
7594 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7595 (inputs `(("ghc-microlens" ,ghc-microlens)
7596 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7597 (home-page
7598 "https://github.com/aelve/microlens")
7599 (synopsis "Automatic generation of record lenses for
7600@code{ghc-microlens}")
7601 (description "This Haskell package lets you automatically generate lenses
7602for data types; code was extracted from the lens package, and therefore
7603generated lenses are fully compatible with ones generated by lens (and can be
7604used both from lens and microlens).")
7605 (license license:bsd-3)))
7606
7607(define-public ghc-missingh
7608 (package
7609 (name "ghc-missingh")
641207cb 7610 (version "1.4.1.0")
dddbc90c
RV
7611 (source
7612 (origin
7613 (method url-fetch)
7614 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7615 "MissingH-" version ".tar.gz"))
7616 (sha256
7617 (base32
641207cb 7618 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7619 (build-system haskell-build-system)
7620 ;; Tests require the unmaintained testpack package, which depends on the
7621 ;; outdated QuickCheck version 2.7, which can no longer be built with
7622 ;; recent versions of GHC and Haskell libraries.
7623 (arguments '(#:tests? #f))
7624 (inputs
7625 `(("ghc-network" ,ghc-network)
7626 ("ghc-hunit" ,ghc-hunit)
7627 ("ghc-regex-compat" ,ghc-regex-compat)
7628 ("ghc-hslogger" ,ghc-hslogger)
7629 ("ghc-random" ,ghc-random)
7630 ("ghc-old-time" ,ghc-old-time)
7631 ("ghc-old-locale" ,ghc-old-locale)))
7632 (native-inputs
7633 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7634 ("ghc-quickcheck" ,ghc-quickcheck)
7635 ("ghc-hunit" ,ghc-hunit)))
f1841ccf
TGR
7636 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
7637 (home-page "https://github.com/haskell-hvr/missingh")
dddbc90c
RV
7638 (synopsis "Large utility library")
7639 (description
7640 "MissingH is a library of all sorts of utility functions for Haskell
7641programmers. It is written in pure Haskell and thus should be extremely
7642portable and easy to use.")
7643 (license license:bsd-3)))
7644
7645(define-public ghc-mmap
7646 (package
7647 (name "ghc-mmap")
7648 (version "0.5.9")
7649 (source (origin
7650 (method url-fetch)
7651 (uri (string-append "https://hackage.haskell.org/package/"
7652 "mmap/mmap-" version ".tar.gz"))
7653 (sha256
7654 (base32
7655 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7656 (build-system haskell-build-system)
7657 (home-page "https://hackage.haskell.org/package/mmap")
7658 (synopsis "Memory mapped files for Haskell")
7659 (description
7660 "This library provides a wrapper to @code{mmap}, allowing files or
7661devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7662@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7663do on-demand loading.")
7664 (license license:bsd-3)))
7665
7666(define-public ghc-mmorph
7667 (package
7668 (name "ghc-mmorph")
e0389704 7669 (version "1.1.3")
dddbc90c
RV
7670 (source
7671 (origin
7672 (method url-fetch)
7673 (uri (string-append
7674 "https://hackage.haskell.org/package/mmorph/mmorph-"
7675 version
7676 ".tar.gz"))
7677 (sha256
7678 (base32
e0389704 7679 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7680 (build-system haskell-build-system)
7681 (inputs
7682 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7683 (home-page "https://hackage.haskell.org/package/mmorph")
7684 (synopsis "Monad morphisms")
7685 (description
7686 "This library provides monad morphism utilities, most commonly used for
7687manipulating monad transformer stacks.")
7688 (license license:bsd-3)))
7689
7690(define-public ghc-mockery
7691 (package
7692 (name "ghc-mockery")
7693 (version "0.3.5")
7694 (source (origin
7695 (method url-fetch)
7696 (uri (string-append "https://hackage.haskell.org/package/"
7697 "mockery/mockery-" version ".tar.gz"))
7698 (sha256
7699 (base32
7700 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7701 (build-system haskell-build-system)
7702 (inputs
7703 `(("ghc-temporary" ,ghc-temporary)
7704 ("ghc-logging-facade" ,ghc-logging-facade)
7705 ("ghc-base-compat" ,ghc-base-compat)))
7706 (native-inputs
7707 `(("ghc-hspec" ,ghc-hspec)
7708 ("hspec-discover" ,hspec-discover)))
7709 (home-page "https://hackage.haskell.org/package/mockery")
7710 (synopsis "Support functions for automated testing")
7711 (description
7712 "The mockery package provides support functions for automated testing.")
7713 (license license:expat)))
7714
7715(define-public ghc-monad-control
7716 (package
7717 (name "ghc-monad-control")
7718 (version "1.0.2.3")
7719 (source
7720 (origin
7721 (method url-fetch)
7722 (uri (string-append
7723 "https://hackage.haskell.org/package/monad-control"
7724 "/monad-control-" version ".tar.gz"))
7725 (sha256
7726 (base32
7727 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7728 (build-system haskell-build-system)
7729 (inputs
7730 `(("ghc-transformers-base" ,ghc-transformers-base)
7731 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7732 (home-page "https://github.com/basvandijk/monad-control")
7733 (synopsis "Monad transformers to lift control operations like exception
7734catching")
7735 (description "This package defines the type class @code{MonadBaseControl},
7736a subset of @code{MonadBase} into which generic control operations such as
7737@code{catch} can be lifted from @code{IO} or any other base monad.")
7738 (license license:bsd-3)))
7739
7740(define-public ghc-monad-logger
7741 (package
7742 (name "ghc-monad-logger")
26980aae 7743 (version "0.3.30")
dddbc90c
RV
7744 (source
7745 (origin
7746 (method url-fetch)
7747 (uri (string-append "https://hackage.haskell.org/package/"
7748 "monad-logger-" version "/"
7749 "monad-logger-" version ".tar.gz"))
7750 (sha256
7751 (base32
26980aae 7752 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7753 (build-system haskell-build-system)
7754 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7755 ("ghc-stm-chans" ,ghc-stm-chans)
7756 ("ghc-lifted-base" ,ghc-lifted-base)
7757 ("ghc-resourcet" ,ghc-resourcet)
7758 ("ghc-conduit" ,ghc-conduit)
7759 ("ghc-conduit-extra" ,ghc-conduit-extra)
7760 ("ghc-fast-logger" ,ghc-fast-logger)
7761 ("ghc-transformers-base" ,ghc-transformers-base)
7762 ("ghc-monad-control" ,ghc-monad-control)
7763 ("ghc-monad-loops" ,ghc-monad-loops)
7764 ("ghc-blaze-builder" ,ghc-blaze-builder)
7765 ("ghc-exceptions" ,ghc-exceptions)))
7766 (home-page "https://github.com/kazu-yamamoto/logger")
7767 (synopsis "Provides a class of monads which can log messages for Haskell")
7768 (description "This Haskell package uses a monad transformer approach
7769for logging.
7770
7771This package provides Template Haskell functions for determining source
7772code locations of messages.")
7773 (license license:expat)))
7774
7775(define-public ghc-monad-loops
7776 (package
7777 (name "ghc-monad-loops")
7778 (version "0.4.3")
7779 (source
7780 (origin
7781 (method url-fetch)
7782 (uri (string-append "https://hackage.haskell.org/package/"
7783 "monad-loops-" version "/"
7784 "monad-loops-" version ".tar.gz"))
7785 (sha256
7786 (base32
7787 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7788 (build-system haskell-build-system)
7789 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7790 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7791 (home-page "https://github.com/mokus0/monad-loops")
7792 (synopsis "Monadic loops for Haskell")
7793 (description "This Haskell package provides some useful control
7794operators for looping.")
7795 (license license:public-domain)))
7796
7797(define-public ghc-monad-par
7798 (package
7799 (name "ghc-monad-par")
7800 (version "0.3.4.8")
7801 (source
7802 (origin
7803 (method url-fetch)
7804 (uri (string-append "https://hackage.haskell.org/package/"
7805 "monad-par-" version "/"
7806 "monad-par-" version ".tar.gz"))
faac56f3 7807 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7808 (sha256
7809 (base32
7810 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7811 (build-system haskell-build-system)
7812 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7813 ("ghc-abstract-deque" ,ghc-abstract-deque)
7814 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7815 ("ghc-mwc-random" ,ghc-mwc-random)
7816 ("ghc-parallel" ,ghc-parallel)))
7817 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7818 ("ghc-hunit" ,ghc-hunit)
7819 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7820 ("ghc-test-framework-quickcheck2"
7821 ,ghc-test-framework-quickcheck2)
7822 ("ghc-test-framework" ,ghc-test-framework)
7823 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7824 (home-page "https://github.com/simonmar/monad-par")
7825 (synopsis "Haskell library for parallel programming based on a monad")
7826 (description "The @code{Par} monad offers an API for parallel
7827programming. The library works for parallelising both pure and @code{IO}
7828computations, although only the pure version is deterministic. The default
7829implementation provides a work-stealing scheduler and supports forking tasks
7830that are much lighter weight than IO-threads.")
7831 (license license:bsd-3)))
7832
7833(define-public ghc-monad-par-extras
7834 (package
7835 (name "ghc-monad-par-extras")
7836 (version "0.3.3")
7837 (source
7838 (origin
7839 (method url-fetch)
7840 (uri (string-append "https://hackage.haskell.org/package/"
7841 "monad-par-extras-" version "/"
7842 "monad-par-extras-" version ".tar.gz"))
7843 (sha256
7844 (base32
7845 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7846 (build-system haskell-build-system)
7847 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7848 ("ghc-cereal" ,ghc-cereal)
7849 ("ghc-random" ,ghc-random)))
7850 (home-page "https://github.com/simonmar/monad-par")
7851 (synopsis "Combinators and extra features for Par monads for Haskell")
7852 (description "This Haskell package provides additional data structures,
7853and other added capabilities layered on top of the @code{Par} monad.")
7854 (license license:bsd-3)))
7855
dddbc90c
RV
7856(define-public ghc-monadrandom
7857 (package
7858 (name "ghc-monadrandom")
7859 (version "0.5.1.1")
7860 (source
7861 (origin
7862 (method url-fetch)
7863 (uri (string-append "https://hackage.haskell.org/package/"
7864 "MonadRandom-" version "/"
7865 "MonadRandom-" version ".tar.gz"))
7866 (sha256
7867 (base32
7868 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7869 (build-system haskell-build-system)
7870 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7871 ("ghc-primitive" ,ghc-primitive)
7872 ("ghc-fail" ,ghc-fail)
7873 ("ghc-random" ,ghc-random)))
7874 (home-page "https://github.com/byorgey/MonadRandom")
7875 (synopsis "Random-number generation monad for Haskell")
7876 (description "This Haskell package provides support for computations
7877which consume random values.")
7878 (license license:bsd-3)))
7879
7880(define-public ghc-monads-tf
7881 (package
7882 (name "ghc-monads-tf")
7883 (version "0.1.0.3")
7884 (source
7885 (origin
7886 (method url-fetch)
7887 (uri (string-append
7888 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7889 version ".tar.gz"))
7890 (sha256
7891 (base32
7892 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7893 (build-system haskell-build-system)
7894 (home-page "https://hackage.haskell.org/package/monads-tf")
7895 (synopsis "Monad classes, using type families")
7896 (description
7897 "Monad classes using type families, with instances for various monad transformers,
7898inspired by the paper 'Functional Programming with Overloading and Higher-Order
7899Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7900the @code{mtl-tf} package.")
7901 (license license:bsd-3)))
7902
7903(define-public ghc-mono-traversable
7904 (package
7905 (name "ghc-mono-traversable")
23bb445b 7906 (version "1.0.13.0")
dddbc90c
RV
7907 (source
7908 (origin
7909 (method url-fetch)
7910 (uri (string-append "https://hackage.haskell.org/package/"
7911 "mono-traversable-" version "/"
7912 "mono-traversable-" version ".tar.gz"))
7913 (sha256
7914 (base32
23bb445b 7915 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7916 (build-system haskell-build-system)
7917 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7918 ("ghc-hashable" ,ghc-hashable)
7919 ("ghc-vector" ,ghc-vector)
7920 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7921 ("ghc-split" ,ghc-split)))
7922 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7923 ("ghc-hunit" ,ghc-hunit)
7924 ("ghc-quickcheck" ,ghc-quickcheck)
7925 ("ghc-semigroups" ,ghc-semigroups)
7926 ("ghc-foldl" ,ghc-foldl)))
7927 (home-page "https://github.com/snoyberg/mono-traversable")
7928 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7929containers")
7930 (description "This Haskell package provides Monomorphic variants of the
7931Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7932basic typeclasses, you understand mono-traversable. In addition to what
7933you are used to, it adds on an IsSequence typeclass and has code for marking
7934data structures as non-empty.")
7935 (license license:expat)))
7936
471e77cf
TS
7937(define-public ghc-monoid-extras
7938 (package
7939 (name "ghc-monoid-extras")
7940 (version "0.5.1")
7941 (source
7942 (origin
7943 (method url-fetch)
7944 (uri (string-append "https://hackage.haskell.org/package/"
7945 "monoid-extras/monoid-extras-" version ".tar.gz"))
7946 (sha256
7947 (base32
7948 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7949 (build-system haskell-build-system)
7950 (inputs
7951 `(("ghc-groups" ,ghc-groups)
7952 ("ghc-semigroups" ,ghc-semigroups)
7953 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7954 (arguments
7955 `(#:cabal-revision
7956 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7957 (home-page "https://hackage.haskell.org/package/monoid-extras")
7958 (synopsis "Various extra monoid-related definitions and utilities")
7959 (description "This package provides various extra monoid-related
7960definitions and utilities, such as monoid actions, monoid coproducts,
7961semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7962\"cut\" monoids.")
7963 (license license:bsd-3)))
7964
4759b617
JS
7965(define-public ghc-mtl-compat
7966 (package
7967 (name "ghc-mtl-compat")
7968 (version "0.2.2")
7969 (source
7970 (origin
7971 (method url-fetch)
7972 (uri (string-append
7973 "mirror://hackage/package/mtl-compat/mtl-compat-"
7974 version
7975 ".tar.gz"))
7976 (sha256
7977 (base32
7978 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7979 (build-system haskell-build-system)
7980 (home-page
7981 "https://github.com/haskell-compat/mtl-compat")
7982 (synopsis
7983 "Backported Control.Monad.Except module from mtl")
7984 (description
7985 "This package backports the Control.Monad.Except module from mtl (if
7986using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7987and the MonadError class.
7988
7989This package should only be used if there is a need to use the
7990Control.Monad.Except module specifically. If you just want the mtl class
7991instances for ExceptT, use transformers-compat instead, since mtl-compat does
7992nothing but reexport the instances from that package.
7993
7994Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7995module defined in this package exports all of ExceptT's monad class instances.
7996Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7997the top of your file to get all of the ExceptT instances in scope.")
7998 (license license:bsd-3)))
7999
dddbc90c
RV
8000(define-public ghc-murmur-hash
8001 (package
8002 (name "ghc-murmur-hash")
8003 (version "0.1.0.9")
8004 (source
8005 (origin
8006 (method url-fetch)
8007 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
8008 "/murmur-hash-" version ".tar.gz"))
8009 (sha256
8010 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8011 (build-system haskell-build-system)
8012 (home-page "https://github.com/nominolo/murmur-hash")
8013 (synopsis "MurmurHash2 implementation for Haskell")
8014 (description
8015 "This package provides an implementation of MurmurHash2, a good, fast,
8016general-purpose, non-cryptographic hashing function. See
8017@url{https://sites.google.com/site/murmurhash/} for details. This
8018implementation is pure Haskell, so it might be a bit slower than a C FFI
8019binding.")
8020 (license license:bsd-3)))
8021
8022(define-public ghc-mwc-random
8023 (package
8024 (name "ghc-mwc-random")
33268e2c 8025 (version "0.14.0.0")
dddbc90c
RV
8026 (source
8027 (origin
8028 (method url-fetch)
8029 (uri (string-append "https://hackage.haskell.org/package/"
8030 "mwc-random-" version "/"
8031 "mwc-random-" version ".tar.gz"))
8032 (sha256
8033 (base32
33268e2c 8034 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8035 (build-system haskell-build-system)
8036 (inputs
8037 `(("ghc-primitive" ,ghc-primitive)
8038 ("ghc-vector" ,ghc-vector)
8039 ("ghc-math-functions" ,ghc-math-functions)))
8040 (arguments
8041 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8042 (native-inputs
8043 `(("ghc-hunit" ,ghc-hunit)
8044 ("ghc-quickcheck" ,ghc-quickcheck)
8045 ("ghc-test-framework" ,ghc-test-framework)
8046 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8047 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8048 (home-page "https://github.com/bos/mwc-random")
8049 (synopsis "Random number generation library for Haskell")
8050 (description "This Haskell package contains code for generating
8051high quality random numbers that follow either a uniform or normal
8052distribution. The generated numbers are suitable for use in
8053statistical applications.
8054
8055The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8056multiply-with-carry generator, which has a period of 2^{8222} and
8057fares well in tests of randomness. It is also extremely fast,
8058between 2 and 3 times faster than the Mersenne Twister.")
8059 (license license:bsd-3)))
8060
8061(define-public ghc-nats
8062 (package
8063 (name "ghc-nats")
8064 (version "1.1.2")
8065 (source
8066 (origin
8067 (method url-fetch)
8068 (uri (string-append
8069 "https://hackage.haskell.org/package/nats/nats-"
8070 version
8071 ".tar.gz"))
8072 (sha256
8073 (base32
8074 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8075 (build-system haskell-build-system)
8076 (arguments `(#:haddock? #f))
8077 (inputs
8078 `(("ghc-hashable" ,ghc-hashable)))
8079 (home-page "https://hackage.haskell.org/package/nats")
8080 (synopsis "Natural numbers")
8081 (description "This library provides the natural numbers for Haskell.")
8082 (license license:bsd-3)))
8083
8084(define-public ghc-nats-bootstrap
8085 (package
8086 (inherit ghc-nats)
8087 (name "ghc-nats-bootstrap")
8088 (inputs
8089 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8090 (properties '((hidden? #t)))))
8091
52915062
EF
8092(define-public ghc-ncurses
8093 (package
8094 (name "ghc-ncurses")
8095 (version "0.2.16")
8096 (source
8097 (origin
8098 (method url-fetch)
8099 (uri (string-append
8100 "https://hackage.haskell.org/package/ncurses/ncurses-"
8101 version ".tar.gz"))
8102 (sha256
8103 (base32
8104 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8105 (build-system haskell-build-system)
8106 (arguments
54a5fd07
TS
8107 '(#:extra-directories ("ncurses")
8108 #:phases
52915062
EF
8109 (modify-phases %standard-phases
8110 (add-before 'build 'fix-includes
8111 (lambda _
8112 (substitute* '("cbits/hsncurses-shim.h"
8113 "lib/UI/NCurses.chs"
8114 "lib/UI/NCurses/Enums.chs"
8115 "lib/UI/NCurses/Panel.chs")
8116 (("<ncursesw/") "<"))
8117 #t)))
8118 #:cabal-revision
8119 ("1"
8120 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8121 (inputs `(("ncurses" ,ncurses)))
8122 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8123 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8124 (synopsis "Modernised bindings to GNU ncurses")
8125 (description "GNU ncurses is a library for creating command-line application
8126with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8127ncurses.")
8128 (license license:gpl3)))
8129
dddbc90c
RV
8130(define-public ghc-network
8131 (package
8132 (name "ghc-network")
d4473202 8133 (version "2.8.0.1")
534d6caa 8134 (outputs '("out" "static" "doc"))
dddbc90c
RV
8135 (source
8136 (origin
8137 (method url-fetch)
8138 (uri (string-append
8139 "https://hackage.haskell.org/package/network/network-"
8140 version
8141 ".tar.gz"))
8142 (sha256
8143 (base32
d4473202 8144 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8145 (build-system haskell-build-system)
8146 ;; The regression tests depend on an unpublished module.
8147 (arguments `(#:tests? #f))
8148 (native-inputs
8149 `(("ghc-hunit" ,ghc-hunit)
8150 ("ghc-doctest" ,ghc-doctest)
8151 ("ghc-test-framework" ,ghc-test-framework)
8152 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8153 (home-page "https://github.com/haskell/network")
8154 (synopsis "Low-level networking interface")
8155 (description
8156 "This package provides a low-level networking interface.")
8157 (license license:bsd-3)))
4780db2c 8158
30eebbe6
TS
8159(define-public ghc-network-bsd
8160 (package
8161 (name "ghc-network-bsd")
8162 (version "2.8.0.0")
8163 (source
8164 (origin
8165 (method url-fetch)
8166 (uri (string-append "https://hackage.haskell.org/package/"
8167 "network-bsd/network-bsd-" version ".tar.gz"))
8168 (sha256
8169 (base32
8170 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8171 (build-system haskell-build-system)
8172 (inputs
8173 `(("ghc-network" ,ghc-network)))
8174 (home-page "https://github.com/haskell/network-bsd")
8175 (synopsis "POSIX network database (<netdb.h>) API")
8176 (description "This package provides Haskell bindings to the the POSIX
8177network database (<netdb.h>) API.")
8178 (license license:bsd-3)))
8179
096781a1
TS
8180(define-public ghc-network-byte-order
8181 (package
8182 (name "ghc-network-byte-order")
8183 (version "0.1.1.1")
8184 (source
8185 (origin
8186 (method url-fetch)
8187 (uri (string-append "https://hackage.haskell.org/package/"
8188 "network-byte-order/network-byte-order-"
8189 version ".tar.gz"))
8190 (sha256
8191 (base32
8192 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8193 (build-system haskell-build-system)
8194 (native-inputs
8195 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8196 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8197 (synopsis "Network byte order utilities")
8198 (description "This library provides peek and poke functions for network
8199byte order.")
8200 (license license:bsd-3)))
8201
dddbc90c
RV
8202(define-public ghc-network-info
8203 (package
8204 (name "ghc-network-info")
8205 (version "0.2.0.10")
8206 (source
8207 (origin
8208 (method url-fetch)
8209 (uri (string-append "https://hackage.haskell.org/package/"
8210 "network-info-" version "/"
8211 "network-info-" version ".tar.gz"))
8212 (sha256
8213 (base32
8214 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8215 (build-system haskell-build-system)
8216 (home-page "https://github.com/jystic/network-info")
8217 (synopsis "Access the local computer's basic network configuration")
8218 (description "This Haskell library provides simple read-only access to the
8219local computer's networking configuration. It is currently capable of
8220getting a list of all the network interfaces and their respective
8221IPv4, IPv6 and MAC addresses.")
8222 (license license:bsd-3)))
8223
8224(define-public ghc-network-uri
8225 (package
8226 (name "ghc-network-uri")
8227 (version "2.6.1.0")
534d6caa 8228 (outputs '("out" "static" "doc"))
dddbc90c
RV
8229 (source
8230 (origin
8231 (method url-fetch)
8232 (uri (string-append
8233 "https://hackage.haskell.org/package/network-uri/network-uri-"
8234 version
8235 ".tar.gz"))
8236 (sha256
8237 (base32
8238 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8239 (build-system haskell-build-system)
8240 (arguments
8241 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8242 (inputs
8243 `(("ghc-network" ,ghc-network)))
8244 (native-inputs
8245 `(("ghc-hunit" ,ghc-hunit)))
8246 (home-page
8247 "https://github.com/haskell/network-uri")
8248 (synopsis "Library for URI manipulation")
8249 (description "This package provides an URI manipulation interface. In
8250@code{network-2.6} the @code{Network.URI} module was split off from the
8251@code{network} package into this package.")
8252 (license license:bsd-3)))
8253
8254(define-public ghc-newtype-generics
8255 (package
8256 (name "ghc-newtype-generics")
c07e16dd 8257 (version "0.5.4")
dddbc90c
RV
8258 (source
8259 (origin
8260 (method url-fetch)
8261 (uri (string-append "https://hackage.haskell.org/package/"
8262 "newtype-generics/newtype-generics-"
8263 version ".tar.gz"))
8264 (sha256
8265 (base32
c07e16dd 8266 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8267 (build-system haskell-build-system)
8268 (native-inputs
8269 `(("ghc-hspec" ,ghc-hspec)
8270 ("hspec-discover" ,hspec-discover)))
702a1012 8271 (home-page "https://github.com/sjakobi/newtype-generics")
dddbc90c
RV
8272 (synopsis "Typeclass and set of functions for working with newtypes")
8273 (description "The @code{Newtype} typeclass represents the packing and
8274unpacking of a newtype, and allows you to operate under that newtype with
8275functions such as @code{ala}. Generics support was added in version 0.4,
8276making this package a full replacement for the original newtype package,
8277and an alternative to newtype-th.")
8278 (license license:bsd-3)))
8279
6b652f5a
JS
8280(define-public ghc-non-negative
8281 (package
8282 (name "ghc-non-negative")
8283 (version "0.1.2")
8284 (source
8285 (origin
8286 (method url-fetch)
8287 (uri
8288 (string-append
8289 "https://hackage.haskell.org/package/non-negative/non-negative-"
8290 version ".tar.gz"))
8291 (sha256
8292 (base32
8293 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8294 (build-system haskell-build-system)
8295 (inputs
8296 `(("ghc-semigroups" ,ghc-semigroups)
8297 ("ghc-utility-ht" ,ghc-utility-ht)
8298 ("ghc-quickcheck" ,ghc-quickcheck)))
8299 (home-page "https://hackage.haskell.org/package/non-negative")
8300 (synopsis "Non-negative numbers class")
8301 (description "This library provides a class for non-negative numbers,
8302a wrapper which can turn any ordered numeric type into a member of that
8303class, and a lazy number type for non-negative numbers (a generalization
8304of Peano numbers).")
8305 (license license:gpl3+)))
8306
49bcca84
ASM
8307(define-public ghc-nonce
8308 (package
8309 (name "ghc-nonce")
8310 (version "1.0.7")
8311 (source
8312 (origin
8313 (method url-fetch)
8314 (uri (string-append
8315 "https://hackage.haskell.org/package/nonce/"
8316 "nonce-" version ".tar.gz"))
8317 (sha256
8318 (base32
8319 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8320 (build-system haskell-build-system)
8321 (inputs
8322 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8323 ("ghc-entropy" ,ghc-entropy)
8324 ("ghc-unliftio" ,ghc-unliftio)
8325 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8326 (home-page "https://github.com/prowdsponsor/nonce")
8327 (synopsis "Generate cryptographic nonces in Haskell")
8328 (description
8329 "A nonce is an arbitrary number used only once in a cryptographic
8330communication. This package contain helper functions for generating nonces.
8331There are many kinds of nonces used in different situations. It's not
8332guaranteed that by using the nonces from this package you won't have any
8333security issues. Please make sure that the nonces generated via this
8334package are usable on your design.")
8335 (license license:bsd-3)))
8336
194a82e6
TS
8337(define-public ghc-numeric-extras
8338 (package
8339 (name "ghc-numeric-extras")
8340 (version "0.1")
8341 (source
8342 (origin
8343 (method url-fetch)
8344 (uri (string-append "https://hackage.haskell.org/package/"
8345 "numeric-extras/numeric-extras-"
8346 version ".tar.gz"))
8347 (sha256
8348 (base32
8349 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8350 (build-system haskell-build-system)
8351 (home-page "https://github.com/ekmett/numeric-extras")
8352 (synopsis "Useful tools from the C standard library")
8353 (description "This library provides some useful tools from the C
8354standard library.")
8355 (license license:bsd-3)))
8356
dddbc90c
RV
8357(define-public ghc-objectname
8358 (package
8359 (name "ghc-objectname")
8360 (version "1.1.0.1")
8361 (source
8362 (origin
8363 (method url-fetch)
8364 (uri (string-append
8365 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8366 version
8367 ".tar.gz"))
8368 (sha256
8369 (base32
8370 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8371 (build-system haskell-build-system)
8372 (home-page "https://hackage.haskell.org/package/ObjectName")
8373 (synopsis "Helper library for Haskell OpenGL")
8374 (description "This tiny package contains the class ObjectName, which
8375corresponds to the general notion of explicitly handled identifiers for API
8376objects, e.g. a texture object name in OpenGL or a buffer object name in
8377OpenAL.")
8378 (license license:bsd-3)))
8379
8380(define-public ghc-old-locale
8381 (package
8382 (name "ghc-old-locale")
8383 (version "1.0.0.7")
8384 (source
8385 (origin
8386 (method url-fetch)
8387 (uri (string-append
8388 "https://hackage.haskell.org/package/old-locale/old-locale-"
8389 version
8390 ".tar.gz"))
8391 (sha256
8392 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8393 (build-system haskell-build-system)
8394 (arguments
8395 `(#:cabal-revision
8396 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8397 (home-page "https://hackage.haskell.org/package/old-locale")
8398 (synopsis "Adapt to locale conventions")
8399 (description
8400 "This package provides the ability to adapt to locale conventions such as
8401date and time formats.")
8402 (license license:bsd-3)))
8403
8404(define-public ghc-old-time
8405 (package
8406 (name "ghc-old-time")
8407 (version "1.1.0.3")
8408 (source
8409 (origin
8410 (method url-fetch)
8411 (uri (string-append
8412 "https://hackage.haskell.org/package/old-time/old-time-"
8413 version
8414 ".tar.gz"))
8415 (sha256
8416 (base32
8417 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8418 (build-system haskell-build-system)
8419 (arguments
8420 `(#:cabal-revision
8421 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8422 (inputs
8423 `(("ghc-old-locale" ,ghc-old-locale)))
8424 (home-page "https://hackage.haskell.org/package/old-time")
8425 (synopsis "Time compatibility library for Haskell")
8426 (description "Old-time is a package for backwards compatibility with the
8427old @code{time} library. For new projects, the newer
8428@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8429 (license license:bsd-3)))
8430
8431(define-public ghc-opengl
8432 (package
8433 (name "ghc-opengl")
79a06910 8434 (version "3.0.3.0")
dddbc90c
RV
8435 (source
8436 (origin
8437 (method url-fetch)
8438 (uri (string-append
8439 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8440 version
8441 ".tar.gz"))
8442 (sha256
8443 (base32
79a06910 8444 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8445 (build-system haskell-build-system)
79a06910
TS
8446 (arguments
8447 `(#:cabal-revision
8448 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8449 (inputs
8450 `(("ghc-objectname" ,ghc-objectname)
8451 ("ghc-gluraw" ,ghc-gluraw)
8452 ("ghc-statevar" ,ghc-statevar)
8453 ("ghc-openglraw" ,ghc-openglraw)))
228d2901 8454 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8455 (synopsis "Haskell bindings for the OpenGL graphics system")
8456 (description "This package provides Haskell bindings for the OpenGL
8457graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8458version 1.3).")
8459 (license license:bsd-3)))
8460
8461(define-public ghc-openglraw
8462 (package
8463 (name "ghc-openglraw")
15ebc815 8464 (version "3.3.3.0")
dddbc90c
RV
8465 (source
8466 (origin
8467 (method url-fetch)
8468 (uri (string-append
8469 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8470 version
8471 ".tar.gz"))
8472 (sha256
8473 (base32
15ebc815 8474 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c 8475 (build-system haskell-build-system)
54a5fd07
TS
8476 (arguments
8477 `(#:extra-directories ("glu")))
dddbc90c
RV
8478 (inputs
8479 `(("ghc-half" ,ghc-half)
8480 ("ghc-fixed" ,ghc-fixed)
8481 ("glu" ,glu)))
228d2901 8482 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8483 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8484 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8485graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8486of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8487offers access to all necessary functions, tokens and types plus a general
8488facility for loading extension entries. The module hierarchy closely mirrors
8489the naming structure of the OpenGL extensions, making it easy to find the
8490right module to import. All API entries are loaded dynamically, so no special
8491C header files are needed for building this package. If an API entry is not
8492found at runtime, a userError is thrown.")
8493 (license license:bsd-3)))
8494
8495(define-public ghc-operational
8496 (package
8497 (name "ghc-operational")
8498 (version "0.2.3.5")
8499 (source
8500 (origin
8501 (method url-fetch)
8502 (uri (string-append "https://hackage.haskell.org/package/operational/"
8503 "operational-" version ".tar.gz"))
8504 (sha256
8505 (base32
8506 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8507 (build-system haskell-build-system)
8508 (inputs
8509 `(("ghc-random" ,ghc-random)))
8510 (home-page "http://wiki.haskell.org/Operational")
8511 (synopsis "Implementation of difficult monads made easy with operational semantics")
8512 (description
8513 "This library makes it easy to implement monads with tricky control
8514flow. This is useful for: writing web applications in a sequential style,
8515programming games with a uniform interface for human and AI players and easy
8516replay capababilities, implementing fast parser monads, designing monadic
8517DSLs, etc.")
8518 (license license:bsd-3)))
8519
6f1477d2
JS
8520(define-public ghc-optional-args
8521 (package
8522 (name "ghc-optional-args")
8523 (version "1.0.2")
8524 (source
8525 (origin
8526 (method url-fetch)
8527 (uri (string-append
8528 "mirror://hackage/package/optional-args/optional-args-"
8529 version
8530 ".tar.gz"))
8531 (sha256
8532 (base32
8533 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8534 (build-system haskell-build-system)
8535 (home-page
8536 "http://hackage.haskell.org/package/optional-args")
8537 (synopsis "Optional function arguments")
8538 (description
8539 "This library provides a type for specifying @code{Optional} function
8540arguments.")
8541 (license license:bsd-3)))
8542
dddbc90c
RV
8543(define-public ghc-options
8544 (package
8545 (name "ghc-options")
8546 (version "1.2.1.1")
8547 (source
8548 (origin
8549 (method url-fetch)
8550 (uri (string-append
8551 "https://hackage.haskell.org/package/options/options-"
8552 version ".tar.gz"))
8553 (sha256
8554 (base32
8555 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8556 (build-system haskell-build-system)
24cf2a8b
TS
8557 (arguments
8558 `(#:phases
8559 (modify-phases %standard-phases
8560 (add-before 'configure 'update-constraints
8561 (lambda _
8562 (substitute* "options.cabal"
8563 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8564 #t)))))
dddbc90c
RV
8565 (inputs
8566 `(("ghc-monads-tf" ,ghc-monads-tf)
8567 ("ghc-chell" ,ghc-chell)
8568 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8569 (home-page "https://john-millikin.com/software/haskell-options/")
8570 (synopsis "Powerful and easy-to-use command-line option parser")
8571 (description
8572 "The @code{options} package lets library and application developers
8573easily work with command-line options.")
8574 (license license:expat)))
8575
8576;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8577(define ghc-options-bootstrap
8578 (package
8579 (name "ghc-options-bootstrap")
8580 (version "1.2.1.1")
8581 (source
8582 (origin
8583 (method url-fetch)
8584 (uri (string-append
8585 "https://hackage.haskell.org/package/options/options-"
8586 version ".tar.gz"))
8587 (sha256
8588 (base32
8589 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8590 (build-system haskell-build-system)
8591 (arguments
8592 `(#:tests? #f))
8593 (inputs
8594 `(("ghc-monads-tf" ,ghc-monads-tf)))
8595 (home-page "https://john-millikin.com/software/haskell-options/")
8596 (synopsis "Powerful and easy-to-use command-line option parser")
8597 (description
8598 "The @code{options} package lets library and application developers
8599easily work with command-line options.")
8600 (license license:expat)))
8601
8602
8603(define-public ghc-optparse-applicative
8604 (package
8605 (name "ghc-optparse-applicative")
74bf6965 8606 (version "0.14.3.0")
dddbc90c
RV
8607 (source
8608 (origin
8609 (method url-fetch)
8610 (uri (string-append
8611 "https://hackage.haskell.org/package/optparse-applicative"
8612 "/optparse-applicative-" version ".tar.gz"))
8613 (sha256
8614 (base32
74bf6965 8615 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8616 (build-system haskell-build-system)
74bf6965
TS
8617 (arguments
8618 `(#:cabal-revision
8619 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8620 (inputs
8621 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8622 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8623 (native-inputs
8624 `(("ghc-quickcheck" ,ghc-quickcheck)))
8625 (home-page "https://github.com/pcapriotti/optparse-applicative")
8626 (synopsis "Utilities and combinators for parsing command line options")
8627 (description "This package provides utilities and combinators for parsing
8628command line options in Haskell.")
8629 (license license:bsd-3)))
8630
d56c8120
NG
8631(define-public ghc-jira-wiki-markup
8632 (package
8633 (name "ghc-jira-wiki-markup")
8634 (version "1.0.0")
8635 (source
8636 (origin
8637 (method url-fetch)
8638 (uri (string-append
8639 "https://hackage.haskell.org/package/jira-wiki-markup/"
8640 "jira-wiki-markup-" version ".tar.gz"))
8641 (sha256
8642 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8643 (build-system haskell-build-system)
8644 (native-inputs
8645 `(("ghc-tasty" ,ghc-tasty)
8646 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8647 (home-page "https://github.com/tarleb/jira-wiki-markup")
8648 (synopsis "Handle Jira wiki markup")
8649 (description
8650 "Parse jira wiki text into an abstract syntax tree for easy transformation
8651to other formats.")
8652 (license license:expat)))
8653
20690771
NG
8654(define-public ghc-emojis
8655 (package
8656 (name "ghc-emojis")
8657 (version "0.1")
8658 (source
8659 (origin
8660 (method url-fetch)
8661 (uri (string-append
8662 "https://hackage.haskell.org/package/emojis/"
8663 "emojis-" version ".tar.gz"))
8664 (sha256
8665 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8666 (build-system haskell-build-system)
8667 (native-inputs
8668 `(("ghc-hunit" ,ghc-hunit)))
8669 (home-page "https://github.com/jgm/emojis#readme")
8670 (synopsis "Conversion between emoji characters and their names.")
8671 (description
8672 "This package provides functions for converting emoji names to emoji
8673characters and vice versa.
8674
8675How does it differ from the @code{emoji} package?
8676@itemize
8677@item It supports a fuller range of emojis, including all those supported by
8678GitHub
8679@item It supports lookup of emoji aliases from emoji
8680@item It uses Text rather than String
8681@item It has a lighter dependency footprint: in particular, it does not
8682require aeson
8683@item It does not require TemplateHaskell
8684@end itemize")
8685 (license license:bsd-3)))
8686
e90a06fc
NG
8687(define-public ghc-text-conversions
8688 (package
8689 (name "ghc-text-conversions")
8690 (version "0.3.0")
8691 (source
8692 (origin
8693 (method url-fetch)
8694 (uri (string-append
8695 "https://hackage.haskell.org/package/text-conversions/"
8696 "text-conversions-" version ".tar.gz"))
8697 (sha256
8698 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8699 (build-system haskell-build-system)
8700 (inputs
8701 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8702 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8703 ("ghc-errors" ,ghc-errors)))
8704 (native-inputs
8705 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8706 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8707 (home-page "https://github.com/cjdev/text-conversions#readme")
8708 (synopsis "Safe conversions between textual types")
8709 (description "Safe conversions between textual types")
8710 (license license:isc)))
8711
ba7cbae3
NG
8712(define-public ghc-doclayout
8713 (package
8714 (name "ghc-doclayout")
8715 (version "0.3")
8716 (source
8717 (origin
8718 (method url-fetch)
8719 (uri (string-append
8720 "https://hackage.haskell.org/package/doclayout/"
8721 "doclayout-" version ".tar.gz"))
8722 (sha256
8723 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8724 (build-system haskell-build-system)
8725 (inputs
8726 `(("ghc-safe" ,ghc-safe)))
8727 (native-inputs
8728 `(("ghc-tasty" ,ghc-tasty)
8729 ("ghc-tasty-golden" ,ghc-tasty-golden)
8730 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8731 (home-page "https://github.com/jgm/doclayout")
8732 (synopsis "Pretty-printing library for laying out text documents")
8733 (description
8734 "doclayout is a pretty-printing library for laying out text documents,
8735with several features not present in pretty-printing libraries designed for
8736code. It was designed for use in @code{Pandoc}.")
8737 (license license:bsd-3)))
8738
dddbc90c
RV
8739(define-public ghc-pandoc
8740 (package
8741 (name "ghc-pandoc")
d9b1567a 8742 (version "2.7.3")
dddbc90c
RV
8743 (source
8744 (origin
8745 (method url-fetch)
8746 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8747 version ".tar.gz"))
d9b1567a
TS
8748 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8749 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8750 (sha256
8751 (base32
d9b1567a 8752 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8753 (build-system haskell-build-system)
dddbc90c
RV
8754 (inputs
8755 `(("ghc-aeson" ,ghc-aeson)
8756 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8757 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8758 ("ghc-blaze-html" ,ghc-blaze-html)
8759 ("ghc-blaze-markup" ,ghc-blaze-markup)
8760 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8761 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8762 ("ghc-diff" ,ghc-diff)
8763 ("ghc-doctemplates" ,ghc-doctemplates)
8764 ("ghc-executable-path" ,ghc-executable-path)
8765 ("ghc-glob" ,ghc-glob)
8766 ("ghc-haddock-library" ,ghc-haddock-library)
8767 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8768 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8769 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8770 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8771 ("ghc-http" ,ghc-http)
8772 ("ghc-http-client" ,ghc-http-client)
8773 ("ghc-http-client-tls" ,ghc-http-client-tls)
8774 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8775 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8776 ("ghc-juicypixels" ,ghc-juicypixels)
8777 ("ghc-network" ,ghc-network)
8778 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8779 ("ghc-pandoc-types" ,ghc-pandoc-types)
8780 ("ghc-random" ,ghc-random)
8781 ("ghc-scientific" ,ghc-scientific)
8782 ("ghc-sha" ,ghc-sha)
8783 ("ghc-skylighting" ,ghc-skylighting)
8784 ("ghc-split" ,ghc-split)
8785 ("ghc-syb" ,ghc-syb)
8786 ("ghc-tagsoup" ,ghc-tagsoup)
8787 ("ghc-temporary" ,ghc-temporary)
8788 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8789 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8790 ("ghc-unordered-containers" ,ghc-unordered-containers)
8791 ("ghc-vector" ,ghc-vector)
8792 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8793 ("ghc-zip-archive" ,ghc-zip-archive)
8794 ("ghc-zlib" ,ghc-zlib)))
8795 (native-inputs
8796 `(("ghc-tasty" ,ghc-tasty)
8797 ("ghc-tasty-golden" ,ghc-tasty-golden)
8798 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8799 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8800 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8801 ("ghc-quickcheck" ,ghc-quickcheck)
8802 ("ghc-hunit" ,ghc-hunit)))
8803 (home-page "https://pandoc.org")
8804 (synopsis "Conversion between markup formats")
8805 (description
8806 "Pandoc is a Haskell library for converting from one markup format to
8807another, and a command-line tool that uses this library. It can read and
8808write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8809LaTeX, DocBook, and many more.
8810
8811Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8812definition lists, tables, and other features. A compatibility mode is
8813provided for those who need a drop-in replacement for Markdown.pl.")
8814 (license license:gpl2+)))
8815
8816(define-public ghc-pandoc-citeproc
8817 (package
8818 (name "ghc-pandoc-citeproc")
2da02d09 8819 (version "0.16.2")
dddbc90c
RV
8820 (source
8821 (origin
8822 (method url-fetch)
8823 (uri (string-append "https://hackage.haskell.org/package/"
8824 "pandoc-citeproc/pandoc-citeproc-"
8825 version ".tar.gz"))
8826 (sha256
8827 (base32
2da02d09 8828 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8829 (build-system haskell-build-system)
8830 (arguments
8831 `(#:phases
8832 (modify-phases %standard-phases
8833 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8834 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8835 (add-before 'configure 'patch-tests
8836 (lambda _
8837 (substitute* "tests/test-pandoc-citeproc.hs"
8838 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8839 "let allTests = citeprocTests"))))
8840 ;; Tests need to be run after installation.
8841 (delete 'check)
8842 (add-after 'install 'post-install-check
8843 (assoc-ref %standard-phases 'check)))))
8844 (inputs
8845 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8846 ("ghc-pandoc" ,ghc-pandoc)
8847 ("ghc-tagsoup" ,ghc-tagsoup)
8848 ("ghc-aeson" ,ghc-aeson)
8849 ("ghc-vector" ,ghc-vector)
8850 ("ghc-xml-conduit" ,ghc-xml-conduit)
8851 ("ghc-unordered-containers" ,ghc-unordered-containers)
8852 ("ghc-data-default" ,ghc-data-default)
8853 ("ghc-setenv" ,ghc-setenv)
8854 ("ghc-split" ,ghc-split)
8855 ("ghc-yaml" ,ghc-yaml)
8856 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8857 ("ghc-rfc5051" ,ghc-rfc5051)
8858 ("ghc-syb" ,ghc-syb)
8859 ("ghc-old-locale" ,ghc-old-locale)
8860 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8861 ("ghc-attoparsec" ,ghc-attoparsec)
8862 ("ghc-temporary" ,ghc-temporary)))
8863 (home-page "https://github.com/jgm/pandoc-citeproc")
8864 (synopsis "Library for using pandoc with citeproc")
8865 (description
8866 "The @code{pandoc-citeproc} library exports functions for using the
8867citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8868rendering bibliographic reference citations into a variety of styles using a
8869macro language called @dfn{Citation Style Language} (CSL). This package also
8870contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8871and also has a mode for converting bibliographic databases a YAML format
8872suitable for inclusion in pandoc YAML metadata.")
8873 (license license:bsd-3)))
8874
8875(define-public ghc-pandoc-types
8876 (package
8877 (name "ghc-pandoc-types")
0eaa88c8 8878 (version "1.17.6.1")
dddbc90c
RV
8879 (source (origin
8880 (method url-fetch)
8881 (uri (string-append "https://hackage.haskell.org/package/"
8882 "pandoc-types/pandoc-types-"
8883 version ".tar.gz"))
8884 (sha256
8885 (base32
0eaa88c8 8886 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8887 (build-system haskell-build-system)
8888 (inputs
8889 `(("ghc-syb" ,ghc-syb)
8890 ("ghc-aeson" ,ghc-aeson)
8891 ("ghc-string-qq" ,ghc-string-qq)))
8892 (native-inputs
8893 `(("ghc-quickcheck" ,ghc-quickcheck)
8894 ("ghc-test-framework" ,ghc-test-framework)
8895 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8896 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8897 ("ghc-hunit" ,ghc-hunit)))
d48b5c8a 8898 (home-page "https://johnmacfarlane.net/pandoc")
dddbc90c
RV
8899 (synopsis "Types for representing a structured document")
8900 (description
8901 "This module defines the @code{Pandoc} data structure, which is used by
8902pandoc to represent structured documents. It also provides functions for
8903building up, manipulating and serialising @code{Pandoc} structures.")
8904 (license license:bsd-3)))
8905
8906(define-public ghc-parallel
8907 (package
8908 (name "ghc-parallel")
8909 (version "3.2.2.0")
534d6caa 8910 (outputs '("out" "static" "doc"))
dddbc90c
RV
8911 (source
8912 (origin
8913 (method url-fetch)
8914 (uri (string-append
8915 "https://hackage.haskell.org/package/parallel/parallel-"
8916 version
8917 ".tar.gz"))
8918 (sha256
8919 (base32
8920 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8921 (build-system haskell-build-system)
8922 (home-page "https://hackage.haskell.org/package/parallel")
8923 (synopsis "Parallel programming library")
8924 (description
8925 "This package provides a library for parallel programming.")
8926 (license license:bsd-3)))
8927
8928(define-public ghc-parsec-numbers
8929 (package
8930 (name "ghc-parsec-numbers")
8931 (version "0.1.0")
8932 (source
8933 (origin
8934 (method url-fetch)
8935 (uri (string-append "https://hackage.haskell.org/package/"
8936 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8937 (sha256
8938 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8939 (build-system haskell-build-system)
8940 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8941 (synopsis "Utilities for parsing numbers from strings")
8942 (description
8943 "This package provides the number parsers without the need to use a large
8944(and unportable) token parser.")
8945 (license license:bsd-3)))
8946
8947(define-public ghc-parser-combinators
8948 (package
8949 (name "ghc-parser-combinators")
2f173160 8950 (version "1.1.0")
dddbc90c
RV
8951 (source
8952 (origin
8953 (method url-fetch)
8954 (uri (string-append "https://hackage.haskell.org/package/"
8955 "parser-combinators/parser-combinators-"
8956 version ".tar.gz"))
8957 (sha256
8958 (base32
2f173160 8959 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8960 (build-system haskell-build-system)
8961 (home-page "https://github.com/mrkkrp/parser-combinators")
8962 (synopsis "Commonly useful parser combinators")
8963 (description
8964 "This is a lightweight package providing commonly useful parser
8965combinators.")
8966 (license license:bsd-3)))
8967
8968(define-public ghc-parsers
8969 (package
8970 (name "ghc-parsers")
6818f970 8971 (version "0.12.10")
dddbc90c
RV
8972 (source
8973 (origin
8974 (method url-fetch)
8975 (uri (string-append
8976 "https://hackage.haskell.org/package/parsers/parsers-"
8977 version
8978 ".tar.gz"))
8979 (sha256
8980 (base32
6818f970 8981 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8982 (build-system haskell-build-system)
8983 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8984 ; -package attoparsec-0.13.0.1"
8985 (inputs
8986 `(("ghc-base-orphans" ,ghc-base-orphans)
8987 ("ghc-attoparsec" ,ghc-attoparsec)
8988 ("ghc-scientific" ,ghc-scientific)
8989 ("ghc-charset" ,ghc-charset)
8990 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8991 (home-page "https://github.com/ekmett/parsers/")
8992 (synopsis "Parsing combinators")
8993 (description "This library provides convenient combinators for working
8994with and building parsing combinator libraries. Given a few simple instances,
8995you get access to a large number of canned definitions. Instances exist for
8996the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8997@code{Text.Read}.")
8998 (license license:bsd-3)))
8999
9000(define-public ghc-path
9001 (package
9002 (name "ghc-path")
9003 (version "0.6.1")
9004 (source
9005 (origin
9006 (method url-fetch)
9007 (uri (string-append
9008 "https://hackage.haskell.org/package/path/path-"
9009 version
9010 ".tar.gz"))
9011 (sha256
9012 (base32
9013 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9014 (build-system haskell-build-system)
9015 (arguments
9016 ;; TODO: There are some Windows-related tests and modules that need to be
9017 ;; danced around.
9018 `(#:tests? #f
9019 #:cabal-revision
9020 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9021 (inputs
9022 `(("ghc-aeson" ,ghc-aeson)
9023 ("ghc-exceptions" ,ghc-exceptions)
9024 ("ghc-hashable" ,ghc-hashable)))
9025 (native-inputs
9026 `(("ghc-hspec" ,ghc-hspec)
9027 ("ghc-quickcheck" ,ghc-quickcheck)
9028 ("ghc-genvalidity" ,ghc-genvalidity)
9029 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9030 ("ghc-hspec" ,ghc-hspec)
9031 ("ghc-validity" ,ghc-validity)))
9032 (home-page
3ef91e15 9033 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9034 (synopsis "Support for well-typed paths")
9035 (description "This package introduces a type for paths upholding useful
9036invariants.")
9037 (license license:bsd-3)))
9038
9039(define-public ghc-path-io
9040 (package
9041 (name "ghc-path-io")
a06613ea 9042 (version "1.4.2")
dddbc90c
RV
9043 (source
9044 (origin
9045 (method url-fetch)
9046 (uri (string-append
9047 "https://hackage.haskell.org/package/path-io/path-io-"
9048 version
9049 ".tar.gz"))
9050 (sha256
9051 (base32
a06613ea 9052 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9053 (build-system haskell-build-system)
9054 (inputs
9055 `(("ghc-dlist" ,ghc-dlist)
9056 ("ghc-exceptions" ,ghc-exceptions)
9057 ("ghc-path" ,ghc-path)
9058 ("ghc-transformers-base" ,ghc-transformers-base)
9059 ("ghc-unix-compat" ,ghc-unix-compat)
9060 ("ghc-temporary" ,ghc-temporary)))
9061 (native-inputs
9062 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9063 (home-page
9064 "https://github.com/mrkkrp/path-io")
9065 (synopsis "Functions for manipulating well-typed paths")
9066 (description "This package provides an interface to the @code{directory}
9067package for users of @code{path}. It also implements some missing stuff like
9068recursive scanning and copying of directories, working with temporary
9069files/directories, and more.")
9070 (license license:bsd-3)))
9071
9072(define-public ghc-paths
9073 (package
9074 (name "ghc-paths")
9a8adeb1 9075 (version "0.1.0.12")
534d6caa 9076 (outputs '("out" "static" "doc"))
dddbc90c
RV
9077 (source
9078 (origin
9079 (method url-fetch)
9080 (uri (string-append
9081 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9082 version
9083 ".tar.gz"))
9084 (sha256
9085 (base32
9a8adeb1 9086 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9087 (build-system haskell-build-system)
9088 (home-page "https://github.com/simonmar/ghc-paths")
9089 (synopsis
9090 "Knowledge of GHC's installation directories")
9091 (description
9092 "Knowledge of GHC's installation directories.")
9093 (license license:bsd-3)))
9094
9095(define-public ghc-patience
9096 (package
9097 (name "ghc-patience")
484476f3 9098 (version "0.3")
dddbc90c
RV
9099 (source
9100 (origin
9101 (method url-fetch)
9102 (uri (string-append
9103 "https://hackage.haskell.org/package/patience/patience-"
9104 version ".tar.gz"))
9105 (sha256
9106 (base32
484476f3 9107 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9108 (build-system haskell-build-system)
9109 (home-page "https://hackage.haskell.org/package/patience")
9110 (synopsis "Patience diff and longest increasing subsequence")
9111 (description
9112 "This library implements the 'patience diff' algorithm, as well as the
9113patience algorithm for the longest increasing subsequence problem.
9114Patience diff computes the difference between two lists, for example the lines
9115of two versions of a source file. It provides a good balance between
9116performance, nice output for humans, and simplicity of implementation.")
9117 (license license:bsd-3)))
9118
25a221a8
JS
9119(define-public ghc-pattern-arrows
9120 (package
9121 (name "ghc-pattern-arrows")
9122 (version "0.0.2")
9123 (source
9124 (origin
9125 (method url-fetch)
9126 (uri (string-append
9127 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9128 version
9129 ".tar.gz"))
9130 (sha256
9131 (base32
9132 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9133 (build-system haskell-build-system)
9134 (home-page
9135 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9136 (synopsis "Arrows for Pretty Printing")
9137 (description
9138 "A library for generating concise pretty printers based on precedence
9139rules.")
9140 (license license:expat)))
9141
dddbc90c
RV
9142(define-public ghc-pcre-light
9143 (package
9144 (name "ghc-pcre-light")
9145 (version "0.4.0.4")
9146 (source
9147 (origin
9148 (method url-fetch)
9149 (uri (string-append
9150 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9151 version
9152 ".tar.gz"))
9153 (sha256
9154 (base32
9155 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9156 (build-system haskell-build-system)
9157 (inputs
9158 `(("pcre" ,pcre)))
9159 (native-inputs
9160 `(("pkg-config" ,pkg-config)))
9161 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9162 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9163 (description "This package provides a small, efficient, and portable regex
9164library for Perl 5 compatible regular expressions. The PCRE library is a set
9165of functions that implement regular expression pattern matching using the same
9166syntax and semantics as Perl 5.")
9167 (license license:bsd-3)))
9168
9169(define-public ghc-persistent
9170 (package
9171 (name "ghc-persistent")
8c9697a9 9172 (version "2.10.4")
dddbc90c
RV
9173 (source
9174 (origin
9175 (method url-fetch)
8c9697a9
ASM
9176 (uri (string-append
9177 "https://hackage.haskell.org/package/persistent/"
9178 "persistent-" version ".tar.gz"))
dddbc90c
RV
9179 (sha256
9180 (base32
8c9697a9 9181 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9182 (build-system haskell-build-system)
8c9697a9
ASM
9183 (inputs
9184 `(("ghc-aeson" ,ghc-aeson)
9185 ("ghc-attoparsec" ,ghc-attoparsec)
9186 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9187 ("ghc-blaze-html" ,ghc-blaze-html)
9188 ("ghc-conduit" ,ghc-conduit)
9189 ("ghc-fast-logger" ,ghc-fast-logger)
9190 ("ghc-http-api-data" ,ghc-http-api-data)
9191 ("ghc-monad-logger" ,ghc-monad-logger)
9192 ("ghc-path-pieces" ,ghc-path-pieces)
9193 ("ghc-resource-pool" ,ghc-resource-pool)
9194 ("ghc-resourcet" ,ghc-resourcet)
9195 ("ghc-scientific" ,ghc-scientific)
9196 ("ghc-silently" ,ghc-silently)
9197 ("ghc-unliftio-core" ,ghc-unliftio-core)
9198 ("ghc-unliftio" ,ghc-unliftio)
9199 ("ghc-unordered-containers"
9200 ,ghc-unordered-containers)
9201 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9202 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9203 (home-page "https://www.yesodweb.com/book/persistent")
9204 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9205 (description "This Haskell package allows Haskell programs to access data
9206storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9207way.")
9208 (license license:expat)))
9209
9210(define-public ghc-persistent-sqlite
9211 (package
9212 (name "ghc-persistent-sqlite")
78858787 9213 (version "2.10.5.2")
dddbc90c
RV
9214 (source
9215 (origin
9216 (method url-fetch)
78858787
ASM
9217 (uri (string-append
9218 "https://hackage.haskell.org/package/persistent-sqlite/"
9219 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9220 (sha256
9221 (base32
78858787 9222 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9223 (build-system haskell-build-system)
78858787
ASM
9224 (inputs
9225 `(("ghc-persistent" ,ghc-persistent)
9226 ("ghc-aeson" ,ghc-aeson)
9227 ("ghc-conduit" ,ghc-conduit)
9228 ("ghc-microlens-th" ,ghc-microlens-th)
9229 ("ghc-monad-logger" ,ghc-monad-logger)
9230 ("ghc-resource-pool" ,ghc-resource-pool)
9231 ("ghc-resourcet" ,ghc-resourcet)
9232 ("ghc-unliftio-core" ,ghc-unliftio-core)
9233 ("ghc-unordered-containers"
9234 ,ghc-unordered-containers)))
9235 (native-inputs
9236 `(("ghc-persistent-template"
9237 ,ghc-persistent-template)
9238 ("ghc-persistent-test" ,ghc-persistent-test)
9239 ("ghc-exceptions" ,ghc-exceptions)
9240 ("ghc-fast-logger" ,ghc-fast-logger)
9241 ("ghc-hspec" ,ghc-hspec)
9242 ("ghc-hunit" ,ghc-hunit)
9243 ("ghc-quickcheck" ,ghc-quickcheck)
9244 ("ghc-system-fileio" ,ghc-system-fileio)
9245 ("ghc-system-filepath" ,ghc-system-filepath)
9246 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9247 (home-page
9248 "https://www.yesodweb.com/book/persistent")
9249 (synopsis "Backend for the persistent library using sqlite3")
9250 (description "This Haskell package includes a thin sqlite3 wrapper based
9251on the direct-sqlite package, as well as the entire C library, so there are no
9252system dependencies.")
9253 (license license:expat)))
9254
9255(define-public ghc-persistent-template
9256 (package
9257 (name "ghc-persistent-template")
d5378e98 9258 (version "2.8.0")
dddbc90c
RV
9259 (source
9260 (origin
9261 (method url-fetch)
d5378e98
ASM
9262 (uri (string-append
9263 "https://hackage.haskell.org/package/persistent-template/"
9264 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9265 (sha256
9266 (base32
d5378e98 9267 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9268 (build-system haskell-build-system)
d5378e98
ASM
9269 (inputs
9270 `(("ghc-persistent" ,ghc-persistent)
9271 ("ghc-aeson" ,ghc-aeson)
9272 ("ghc-http-api-data" ,ghc-http-api-data)
9273 ("ghc-monad-control" ,ghc-monad-control)
9274 ("ghc-monad-logger" ,ghc-monad-logger)
9275 ("ghc-path-pieces" ,ghc-path-pieces)
9276 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9277 ("ghc-unordered-containers"
9278 ,ghc-unordered-containers)))
9279 (native-inputs
9280 `(("ghc-hspec" ,ghc-hspec)
9281 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9282 (home-page "https://www.yesodweb.com/book/persistent")
9283 (synopsis "Type-safe, non-relational, multi-backend persistence")
9284 (description "This Haskell package provides interfaces and helper
9285functions for the ghc-persistent package.")
9286 (license license:expat)))
9287
ce32f7c7
ASM
9288(define-public ghc-persistent-test
9289 (package
9290 (name "ghc-persistent-test")
9291 (version "2.0.3.1")
9292 (source
9293 (origin
9294 (method url-fetch)
9295 (uri (string-append
9296 "https://hackage.haskell.org/package/persistent-test/"
9297 "persistent-test-" version ".tar.gz"))
9298 (sha256
9299 (base32
9300 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9301 (build-system haskell-build-system)
9302 (inputs
9303 `(("ghc-aeson" ,ghc-aeson)
9304 ("ghc-blaze-html" ,ghc-blaze-html)
9305 ("ghc-conduit" ,ghc-conduit)
9306 ("ghc-monad-control" ,ghc-monad-control)
9307 ("ghc-monad-logger" ,ghc-monad-logger)
9308 ("ghc-path-pieces" ,ghc-path-pieces)
9309 ("ghc-persistent" ,ghc-persistent)
9310 ("ghc-persistent-template" ,ghc-persistent-template)
9311 ("ghc-random" ,ghc-random)
9312 ("ghc-resourcet" ,ghc-resourcet)
9313 ("ghc-transformers-base" ,ghc-transformers-base)
9314 ("ghc-unliftio" ,ghc-unliftio)
9315 ("ghc-unliftio-core" ,ghc-unliftio-core)
9316 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9317 (native-inputs
9318 `(("ghc-quickcheck" ,ghc-quickcheck)
9319 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9320 ("ghc-hspec" ,ghc-hspec)
9321 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9322 ("ghc-hunit" ,ghc-hunit)))
9323 (home-page "https://www.yesodweb.com/book/persistent")
9324 (synopsis "Tests for the Persistent database library")
9325 (description
9326 "This is only for use in developing libraries that should conform to
9327the persistent interface, not for users of the persistent suite of database
9328libraries.")
9329 (license license:expat)))
9330
0fb34235
JS
9331(define-public ghc-pgp-wordlist
9332 (package
9333 (name "ghc-pgp-wordlist")
9334 (version "0.1.0.3")
9335 (source
9336 (origin
9337 (method url-fetch)
9338 (uri (string-append
9339 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9340 version
9341 ".tar.gz"))
9342 (sha256
9343 (base32
9344 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9345 (build-system haskell-build-system)
9346 (inputs
9347 `(("ghc-vector" ,ghc-vector)))
9348 (native-inputs
9349 `(("ghc-hunit" ,ghc-hunit)
9350 ("ghc-tasty" ,ghc-tasty)
9351 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9352 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9353 ("ghc-doctest" ,ghc-doctest)))
9354 (home-page
9355 "https://github.com/quchen/pgp-wordlist")
9356 (synopsis
9357 "Translate between binary data and a human-readable collection of words")
9358 (description
9359 "The PGP Word List consists of two phonetic alphabets, each with one word
9360per possible byte value. A string of bytes is translated with these
9361alphabets, alternating between them at each byte.
9362
9363The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9364spellbind headwaters\", for example.
9365
9366For further information, see
9367@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9368 (license license:bsd-3)))
9369
4639fa32
ASM
9370(define-public ghc-pipes
9371 (package
9372 (name "ghc-pipes")
9373 (version "4.3.13")
9374 (source
9375 (origin
9376 (method url-fetch)
9377 (uri (string-append
9378 "https://hackage.haskell.org/package/pipes/"
9379 "pipes-" version ".tar.gz"))
9380 (sha256
9381 (base32
9382 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9383 (build-system haskell-build-system)
9384 (inputs
9385 `(("ghc-exceptions" ,ghc-exceptions)
9386 ("ghc-mmorph" ,ghc-mmorph)
9387 ("ghc-void" ,ghc-void)
9388 ("ghc-semigroups" ,ghc-semigroups)))
9389 (native-inputs
9390 `(("ghc-quickcheck" ,ghc-quickcheck)
9391 ("ghc-test-framework" ,ghc-test-framework)
9392 ("ghc-test-framework-quickcheck2"
9393 ,ghc-test-framework-quickcheck2)))
9394 (home-page
9395 "https://hackage.haskell.org/package/pipes")
9396 (synopsis "Compositional pipelines")
9397 (description
9398 "A clean and powerful stream processing library that lets you build
9399and connect reusable streaming components. Advantages over traditional streaming
9400libraries:
9401@itemize
9402@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9403and @code{yield}
9404@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9405@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9406dependencies
9407@item Elegant semantics: Use practical category theory
9408@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9409@item Bidirectionality: Implement duplex channels
9410@end itemize")
9411 (license license:bsd-3)))
9412
451775a5
ASM
9413(define-public ghc-pointedlist
9414 (package
9415 (name "ghc-pointedlist")
9416 (version "0.6.1")
9417 (source
9418 (origin
9419 (method url-fetch)
9420 (uri (string-append
9421 "https://hackage.haskell.org/package/pointedlist/"
9422 "pointedlist-" version ".tar.gz"))
9423 (sha256
9424 (base32
9425 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9426 (build-system haskell-build-system)
9427 (home-page
3ef91e15 9428 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9429 (synopsis
9430 "Zipper-like comonad which works as a list, tracking a position")
9431 (description
9432 "A PointedList tracks the position in a non-empty list which works
9433similarly to a zipper. A current item is always required, and therefore
9434the list may never be empty. A circular PointedList wraps around to the
9435other end when progressing past the actual edge.")
9436 (license license:bsd-3)))
9437
dddbc90c
RV
9438(define-public ghc-polyparse
9439 (package
9440 (name "ghc-polyparse")
9822b9ca 9441 (version "1.12.1")
dddbc90c
RV
9442 (source
9443 (origin
9444 (method url-fetch)
9445 (uri (string-append
9446 "https://hackage.haskell.org/package/polyparse/polyparse-"
9447 version
9448 ".tar.gz"))
9449 (sha256
9450 (base32
9822b9ca 9451 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9452 (build-system haskell-build-system)
9453 (home-page
9454 "http://code.haskell.org/~malcolm/polyparse/")
9455 (synopsis
9456 "Alternative parser combinator libraries")
9457 (description
9458 "This package provides a variety of alternative parser combinator
9459libraries, including the original HuttonMeijer set. The Poly sets have
9460features like good error reporting, arbitrary token type, running state, lazy
9461parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9462standard Read class, for better deserialisation of Haskell values from
9463Strings.")
9464 (license license:lgpl2.1)))
9465
9466(define-public ghc-pqueue
9467 (package
9468 (name "ghc-pqueue")
142415b0 9469 (version "1.4.1.2")
dddbc90c
RV
9470 (source
9471 (origin
9472 (method url-fetch)
9473 (uri (string-append "https://hackage.haskell.org/package/"
9474 "pqueue/pqueue-" version ".tar.gz"))
9475 (sha256
9476 (base32
142415b0 9477 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9478 (build-system haskell-build-system)
9479 (native-inputs
9480 `(("ghc-quickcheck" ,ghc-quickcheck)))
9481 (home-page "https://hackage.haskell.org/package/pqueue")
9482 (synopsis "Reliable, persistent, fast priority queues")
9483 (description
9484 "This package provides a fast, reliable priority queue implementation
9485based on a binomial heap.")
9486 (license license:bsd-3)))
9487
9488(define-public ghc-prelude-extras
9489 (package
9490 (name "ghc-prelude-extras")
9491 (version "0.4.0.3")
9492 (source
9493 (origin
9494 (method url-fetch)
9495 (uri (string-append
9496 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9497 version
9498 ".tar.gz"))
9499 (sha256
9500 (base32
9501 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9502 (build-system haskell-build-system)
9503 (home-page "https://github.com/ekmett/prelude-extras")
9504 (synopsis "Higher order versions of Prelude classes")
9505 (description "This library provides higher order versions of
9506@code{Prelude} classes to ease programming with polymorphic recursion and
9507reduce @code{UndecidableInstances}.")
9508 (license license:bsd-3)))
9509
9510(define-public ghc-prettyclass
9511 (package
9512 (name "ghc-prettyclass")
9513 (version "1.0.0.0")
9514 (source
9515 (origin
9516 (method url-fetch)
9517 (uri (string-append "https://hackage.haskell.org/package/"
9518 "prettyclass/prettyclass-" version ".tar.gz"))
9519 (sha256
9520 (base32
9521 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9522 (build-system haskell-build-system)
3ef91e15 9523 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9524 (synopsis "Pretty printing class similar to Show")
9525 (description "This package provides a pretty printing class similar
9526to @code{Show}, based on the HughesPJ pretty printing library. It
9527provides the pretty printing class and instances for the Prelude
9528types.")
9529 (license license:bsd-3)))
9530
2fad2bf7
JS
9531(define-public ghc-prettyprinter
9532 (package
9533 (name "ghc-prettyprinter")
9534 (version "1.2.1.1")
9535 (source
9536 (origin
9537 (method url-fetch)
9538 (uri (string-append
9539 "mirror://hackage/package/prettyprinter/prettyprinter-"
9540 version
9541 ".tar.gz"))
9542 (sha256
9543 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9544 (build-system haskell-build-system)
9545 (native-inputs
9546 `(("ghc-doctest" ,ghc-doctest)
9547 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9548 ("ghc-tasty" ,ghc-tasty)
9549 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9550 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9551 (home-page "https://github.com/quchen/prettyprinter")
9552 (synopsis
9553 "Modern, easy to use, well-documented, extensible pretty-printer")
9554 (description
9555 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9556ANSI terminal backend exists, HTML backend is trivial to implement, no name
9557clashes, @code{Text}-based, extensible.")
9558 (license license:bsd-2)))
9559
2496e49f
JS
9560(define-public ghc-prettyprinter-1.6
9561 (package
9562 (inherit ghc-prettyprinter)
9563 (version "1.6.1")
9564 (source
9565 (origin
9566 (method url-fetch)
9567 (uri (string-append
9568 "mirror://hackage/package/prettyprinter/prettyprinter-"
9569 version
9570 ".tar.gz"))
9571 (sha256
9572 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9573 (inputs
9574 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9575 ,@(package-inputs ghc-prettyprinter)))))
9576
b4f24d66
JS
9577(define-public ghc-prettyprinter-ansi-terminal
9578 (package
9579 (name "ghc-prettyprinter-ansi-terminal")
9580 (version "1.1.1.2")
9581 (source
9582 (origin
9583 (method url-fetch)
9584 (uri (string-append
9585 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9586 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9587 (sha256
9588 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9589 (build-system haskell-build-system)
9590 (inputs
9591 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9592 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9593 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9594 (home-page
9595 "https://github.com/quchen/prettyprinter")
9596 (synopsis
9597 "ANSI terminal backend for the prettyprinter package")
9598 (description "ANSI terminal backend for the prettyprinter package.")
9599 (license license:bsd-2)))
9600
dddbc90c
RV
9601(define-public ghc-pretty-hex
9602 (package
9603 (name "ghc-pretty-hex")
9604 (version "1.0")
9605 (source
9606 (origin
9607 (method url-fetch)
9608 (uri (string-append "https://hackage.haskell.org/package/"
9609 "pretty-hex-" version "/"
9610 "pretty-hex-" version ".tar.gz"))
9611 (sha256
9612 (base32
9613 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9614 (build-system haskell-build-system)
9615 (home-page "https://github.com/GaloisInc/hexdump")
9616 (synopsis "Haskell library for hex dumps of ByteStrings")
9617 (description "This Haskell library generates pretty hex dumps of
9618ByteStrings in the style of other common *nix hex dump tools.")
9619 (license license:bsd-3)))
9620
9621(define-public ghc-pretty-show
9622 (package
9623 (name "ghc-pretty-show")
7683a084 9624 (version "1.9.5")
dddbc90c
RV
9625 (source
9626 (origin
9627 (method url-fetch)
9628 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9629 "pretty-show-" version ".tar.gz"))
9630 (sha256
9631 (base32
7683a084 9632 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9633 (build-system haskell-build-system)
9634 (inputs
9635 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9636 ("ghc-happy" ,ghc-happy)))
702a1012 9637 (home-page "https://wiki.github.com/yav/pretty-show")
dddbc90c
RV
9638 (synopsis "Tools for working with derived `Show` instances")
9639 (description
9640 "This package provides a library and an executable for working with
9641derived @code{Show} instances. By using the library, derived @code{Show}
9642instances can be parsed into a generic data structure. The @code{ppsh} tool
9643uses the library to produce human-readable versions of @code{Show} instances,
9644which can be quite handy for debugging Haskell programs. We can also render
9645complex generic values into an interactive Html page, for easier
9646examination.")
9647 (license license:expat)))
9648
f011e3d6
JS
9649(define-public ghc-pretty-simple
9650 (package
9651 (name "ghc-pretty-simple")
9652 (version "2.2.0.1")
9653 (source
9654 (origin
9655 (method url-fetch)
9656 (uri (string-append
9657 "mirror://hackage/package/pretty-simple/"
9658 "pretty-simple-" version ".tar.gz"))
9659 (sha256
9660 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9661 (build-system haskell-build-system)
9662 (inputs
9663 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9664 ("ghc-glob" ,ghc-glob)
9665 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9666 ("ghc-aeson" ,ghc-aeson)))
9667 (native-inputs
9668 `(("ghc-doctest" ,ghc-doctest)))
9669 (home-page "https://github.com/cdepillabout/pretty-simple")
9670 (synopsis "Pretty printer for data types with a 'Show' instance")
9671 (description
9672 "Pretty-simple is a pretty printer for Haskell data types that have a
9673Show instance.")
9674 (license license:bsd-3)))
9675
dddbc90c
RV
9676(define-public ghc-primitive
9677 (package
9678 (name "ghc-primitive")
9679 (version "0.6.4.0")
534d6caa 9680 (outputs '("out" "static" "doc"))
dddbc90c
RV
9681 (source
9682 (origin
9683 (method url-fetch)
9684 (uri (string-append
9685 "https://hackage.haskell.org/package/primitive/primitive-"
9686 version
9687 ".tar.gz"))
9688 (sha256
9689 (base32
9690 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9691 (build-system haskell-build-system)
6cf0daa4
TS
9692 (arguments
9693 `(#:cabal-revision
9694 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9695 (home-page
9696 "https://github.com/haskell/primitive")
9697 (synopsis "Primitive memory-related operations")
9698 (description
9699 "This package provides various primitive memory-related operations.")
9700 (license license:bsd-3)))
9701
21f5b9a9
JS
9702(define-public ghc-process-extras
9703 (package
9704 (name "ghc-process-extras")
9705 (version "0.7.4")
9706 (source
9707 (origin
9708 (method url-fetch)
9709 (uri
9710 (string-append
9711 "https://hackage.haskell.org/package/process-extras/"
9712 "process-extras-" version ".tar.gz"))
9713 (sha256
9714 (base32
9715 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9716 (build-system haskell-build-system)
9717 (inputs
9718 `(("ghc-data-default" ,ghc-data-default)
9719 ("ghc-generic-deriving" ,ghc-generic-deriving)
9720 ("ghc-hunit" ,ghc-hunit)
9721 ("ghc-listlike" ,ghc-listlike)))
9722 (home-page "https://github.com/seereason/process-extras")
9723 (synopsis "Extra tools for managing processes")
f74b6983 9724 (description "This package extends
21f5b9a9
JS
9725@url{http://hackage.haskell.org/package/process}. It allows you to read
9726process input and output as ByteStrings or Text, or write your own
9727ProcessOutput instance. It also provides lazy process input and output,
9728and a ProcessMaker class for more flexibility in the process creation
9729API.")
9730 (license license:expat)))
9731
dddbc90c
RV
9732(define-public ghc-profunctors
9733 (package
9734 (name "ghc-profunctors")
899b5297 9735 (version "5.3")
dddbc90c
RV
9736 (source
9737 (origin
9738 (method url-fetch)
9739 (uri (string-append
9740 "https://hackage.haskell.org/package/profunctors/profunctors-"
9741 version
9742 ".tar.gz"))
9743 (sha256
9744 (base32
899b5297 9745 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9746 (build-system haskell-build-system)
dddbc90c
RV
9747 (inputs
9748 `(("ghc-base-orphans" ,ghc-base-orphans)
9749 ("ghc-bifunctors" ,ghc-bifunctors)
9750 ("ghc-comonad" ,ghc-comonad)
9751 ("ghc-contravariant" ,ghc-contravariant)
9752 ("ghc-distributive" ,ghc-distributive)
9753 ("ghc-semigroups" ,ghc-semigroups)
9754 ("ghc-tagged" ,ghc-tagged)))
9755 (home-page "https://github.com/ekmett/profunctors/")
9756 (synopsis "Profunctors for Haskell")
9757 (description "This library provides profunctors for Haskell.")
9758 (license license:bsd-3)))
9759
fbe32d46
ASM
9760(define-public ghc-project-template
9761 (package
9762 (name "ghc-project-template")
9763 (version "0.2.0.1")
9764 (source
9765 (origin
9766 (method url-fetch)
9767 (uri (string-append
9768 "https://hackage.haskell.org/package/project-template/project-template-"
9769 version ".tar.gz"))
9770 (sha256
9771 (base32
9772 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9773 (build-system haskell-build-system)
9774 (inputs
9775 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9776 ("ghc-conduit" ,ghc-conduit)
9777 ("ghc-conduit-extra" ,ghc-conduit-extra)
9778 ("ghc-resourcet" ,ghc-resourcet)))
9779 (native-inputs
9780 `(("ghc-hspec" ,ghc-hspec)
9781 ("hspec-discover" ,hspec-discover)
9782 ("ghc-quickcheck" ,ghc-quickcheck)))
9783 (arguments
9784 `(#:cabal-revision
9785 ("1"
9786 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9787 (home-page "https://github.com/fpco/haskell-ide")
9788 (synopsis "Specify Haskell project templates and generate files")
9789 (description
9790 "Haskell library for both generating and consuming project templates.
9791
9792ost IDEs provide the concept of a project template: instead of writing all
9793of the code for a project from scratch, you select a template, answer a few
9794questions, and a bunch of files are automatically generated.
9795
9796project-template tries to provide a canonical Haskell library for implementing
9797the ideal templating system.")
9798 (license license:bsd-3)))
9799
8a6e745d
JS
9800(define-public ghc-protolude
9801 (package
9802 (name "ghc-protolude")
9803 (version "0.2.3")
9804 (source
9805 (origin
9806 (method url-fetch)
9807 (uri (string-append
9808 "mirror://hackage/package/protolude/protolude-"
9809 version
9810 ".tar.gz"))
9811 (sha256
9812 (base32
9813 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9814 (build-system haskell-build-system)
9815 (inputs
9816 `(("ghc-async" ,ghc-async)
9817 ("ghc-hashable" ,ghc-hashable)
9818 ("ghc-mtl-compat" ,ghc-mtl-compat)
9819 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9820 (home-page "https://github.com/protolude/protolude")
9821 (synopsis "Sensible set of defaults for writing custom Preludes")
9822 (description
9823 "Protolude gives you sensible defaults for writing custom Preludes to
9824replace the standard one provided by GHC.")
9825 (license license:expat)))
9826
cf123e32
MB
9827(define-public ghc-psqueue
9828 (package
9829 (name "ghc-psqueue")
9830 (version "1.1.0.1")
9831 (source (origin
9832 (method url-fetch)
9833 (uri (string-append "mirror://hackage/package/PSQueue-"
9834 version "/PSQueue-" version ".tar.gz"))
9835 (sha256
9836 (base32
9837 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9838 (build-system haskell-build-system)
9839 (home-page "https://hackage.haskell.org/package/PSQueue")
9840 (synopsis "Priority search queue")
9841 (description
9842 "A @dfn{priority search queue} efficiently supports the operations of
9843both a search tree and a priority queue. A @code{Binding} is a product of
9844a key and a priority. Bindings can be inserted, deleted, modified and queried
9845in logarithmic time, and the binding with the least priority can be retrieved
9846in constant time. A queue can be built from a list of bindings, sorted by
9847keys, in linear time.")
9848 (license license:bsd-3)))
9849
dddbc90c
RV
9850(define-public ghc-psqueues
9851 (package
9852 (name "ghc-psqueues")
5d133942 9853 (version "0.2.7.2")
dddbc90c
RV
9854 (source
9855 (origin
9856 (method url-fetch)
9857 (uri (string-append "https://hackage.haskell.org/package/"
9858 "psqueues-" version "/"
9859 "psqueues-" version ".tar.gz"))
9860 (sha256
9861 (base32
5d133942 9862 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9863 (build-system haskell-build-system)
9864 (inputs
9865 `(("ghc-hashable" ,ghc-hashable)))
9866 (native-inputs
9867 `(("ghc-hunit" ,ghc-hunit)
9868 ("ghc-quickcheck" ,ghc-quickcheck)
9869 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9870 ("ghc-tasty" ,ghc-tasty)
9871 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9872 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9873 (home-page "https://github.com/jaspervdj/psqueues")
9874 (synopsis "Pure priority search queues")
9875 (description "The psqueues package provides
9876@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9877three different flavors:
9878
9879@itemize
9880@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9881fast insertion, deletion and lookup. This implementation is based on Ralf
9882Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9883Implementation Technique for Priority Search Queues}.
9884
9885Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9886PSQueue} library, although it is considerably faster and provides a slightly
9887different API.
9888
9889@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9890key type to @code{Int} and uses a
9891@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9892with an additional min-heap property.
9893
9894@item @code{HashPSQ k p v} is a fairly straightforward extension
9895of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9896@code{IntPSQ}. If there are any hash collisions, it uses an
9897@code{OrdPSQ} to resolve those. The performance of this implementation
9898is comparable to that of @code{IntPSQ}, but it is more widely
9899applicable since the keys are not restricted to @code{Int},
9900but rather to any @code{Hashable} datatype.
9901@end itemize
9902
9903Each of the three implementations provides the same API, so they can
9904be used interchangeably.
9905
9906Typical applications of Priority Search Queues include:
9907
9908@itemize
9909@item Caches, and more specifically LRU Caches;
9910@item Schedulers;
9911@item Pathfinding algorithms, such as Dijkstra's and A*.
9912@end itemize")
9913 (license license:bsd-3)))
b1dbc9f5
ASM
9914
9915(define-public ghc-pwstore-fast
9916 (package
9917 (name "ghc-pwstore-fast")
9918 (version "2.4.4")
9919 (source
9920 (origin
9921 (method url-fetch)
9922 (uri (string-append
9923 "https://hackage.haskell.org/package/pwstore-fast/"
9924 "pwstore-fast-" version ".tar.gz"))
9925 (sha256
9926 (base32
9927 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9928 (build-system haskell-build-system)
9929 (inputs
9930 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9931 ("ghc-cryptohash" ,ghc-cryptohash)
9932 ("ghc-random" ,ghc-random)
9933 ("ghc-byteable" ,ghc-byteable)))
9934 (home-page "https://github.com/PeterScott/pwstore")
9935 (synopsis "Secure password storage")
9936 (description
9937 "To store passwords securely, they should be salted, then hashed with
9938a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9939details. It uses the cryptohash package for speed; if you need a pure
9940Haskell library, pwstore-purehaskell has the exact same API, but uses only
9941pure Haskell. It is about 25 times slower than this package, but still quite
9942usable.")
9943 (license license:bsd-3)))
dddbc90c
RV
9944
9945(define-public ghc-random
9946 (package
9947 (name "ghc-random")
9948 (version "1.1")
534d6caa 9949 (outputs '("out" "static" "doc"))
dddbc90c
RV
9950 (source
9951 (origin
9952 (method url-fetch)
9953 (uri (string-append
9954 "https://hackage.haskell.org/package/random/random-"
9955 version
9956 ".tar.gz"))
9957 (sha256
9958 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9959 (build-system haskell-build-system)
9960 (home-page "https://hackage.haskell.org/package/random")
9961 (synopsis "Random number library")
9962 (description "This package provides a basic random number generation
9963library, including the ability to split random number generators.")
9964 (license license:bsd-3)))
9965
9966(define-public ghc-raw-strings-qq
9967 (package
9968 (name "ghc-raw-strings-qq")
9969 (version "1.1")
9970 (source
9971 (origin
9972 (method url-fetch)
9973 (uri (string-append "https://hackage.haskell.org/package/"
9974 "raw-strings-qq/raw-strings-qq-"
9975 version ".tar.gz"))
9976 (sha256
9977 (base32
9978 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9979 (build-system haskell-build-system)
9980 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9981 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9982 (synopsis "Raw string literals for Haskell")
9983 (description
9984 "This package provides a quasiquoter for raw string literals, i.e. string
9985literals that don't recognise the standard escape sequences. Basically, they
9986make your code more readable by freeing you from the responsibility to escape
9987backslashes. They are useful when working with regular expressions,
9988DOS/Windows paths and markup languages (such as XML).")
9989 (license license:bsd-3)))
9990
9991(define-public ghc-readable
9992 (package
9993 (name "ghc-readable")
9994 (version "0.3.1")
9995 (source
9996 (origin
9997 (method url-fetch)
9998 (uri (string-append "https://hackage.haskell.org/package/"
9999 "readable/readable-" version ".tar.gz"))
10000 (sha256
10001 (base32
10002 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
10003 (build-system haskell-build-system)
10004 (home-page "https://github.com/mightybyte/readable")
10005 (synopsis "Type class for reading from Text and ByteString")
10006 (description "This package provides a @code{Readable} type class for
10007reading data types from @code{ByteString} and @code{Text}. It also
10008includes efficient implementations for common data types.")
10009 (license license:bsd-3)))
10010
10011(define-public ghc-rebase
10012 (package
10013 (name "ghc-rebase")
8d2ae3fe 10014 (version "1.3.1.1")
dddbc90c
RV
10015 (source
10016 (origin
10017 (method url-fetch)
10018 (uri (string-append "https://hackage.haskell.org/package/"
10019 "rebase-" version "/"
10020 "rebase-" version ".tar.gz"))
10021 (sha256
10022 (base32
8d2ae3fe 10023 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
10024 (build-system haskell-build-system)
10025 (inputs `(("ghc-hashable" ,ghc-hashable)
10026 ("ghc-vector" ,ghc-vector)
10027 ("ghc-unordered-containers" ,ghc-unordered-containers)
10028 ("ghc-scientific" ,ghc-scientific)
10029 ("ghc-uuid" ,ghc-uuid)
10030 ("ghc-dlist" ,ghc-dlist)
10031 ("ghc-void" ,ghc-void)
10032 ("ghc-bifunctors" ,ghc-bifunctors)
10033 ("ghc-profunctors" ,ghc-profunctors)
10034 ("ghc-contravariant" ,ghc-contravariant)
10035 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10036 ("ghc-semigroups" ,ghc-semigroups)
10037 ("ghc-either" ,ghc-either)
10038 ("ghc-fail" ,ghc-fail)
10039 ("ghc-base-prelude" ,ghc-base-prelude)))
10040 (home-page "https://github.com/nikita-volkov/rebase")
10041 (synopsis "Progressive alternative to the base package
10042for Haskell")
10043 (description "This Haskell package is intended for those who are
10044tired of keeping long lists of dependencies to the same essential libraries
10045in each package as well as the endless imports of the same APIs all over again.
10046
10047It also supports the modern tendencies in the language.
10048
10049To solve those problems this package does the following:
10050
10051@itemize
10052@item Reexport the original APIs under the @code{Rebase} namespace.
10053
10054@item Export all the possible non-conflicting symbols from the
10055@code{Rebase.Prelude} module.
10056
10057@item Give priority to the modern practices in the conflicting cases.
10058@end itemize
10059
10060The policy behind the package is only to reexport the non-ambiguous and
10061non-controversial APIs, which the community has obviously settled on.
10062The package is intended to rapidly evolve with the contribution from
10063the community, with the missing features being added with pull-requests.")
10064 (license license:expat)))
10065
10066(define-public ghc-reducers
10067 (package
10068 (name "ghc-reducers")
10069 (version "3.12.3")
10070 (source
10071 (origin
10072 (method url-fetch)
10073 (uri (string-append
10074 "https://hackage.haskell.org/package/reducers/reducers-"
10075 version
10076 ".tar.gz"))
10077 (sha256
10078 (base32
10079 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10080 (build-system haskell-build-system)
10081 (inputs
10082 `(("ghc-fingertree" ,ghc-fingertree)
10083 ("ghc-hashable" ,ghc-hashable)
10084 ("ghc-unordered-containers" ,ghc-unordered-containers)
10085 ("ghc-semigroupoids" ,ghc-semigroupoids)
10086 ("ghc-semigroups" ,ghc-semigroups)))
10087 (home-page "https://github.com/ekmett/reducers/")
10088 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10089 (description "This library provides various semigroups, specialized
10090containers and a general map/reduce framework for Haskell.")
10091 (license license:bsd-3)))
10092
10093(define-public ghc-refact
10094 (package
10095 (name "ghc-refact")
10096 (version "0.3.0.2")
10097 (source
10098 (origin
10099 (method url-fetch)
10100 (uri (string-append "https://hackage.haskell.org/package/"
10101 "refact/refact-"
10102 version ".tar.gz"))
10103 (sha256
10104 (base32
10105 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10106 (build-system haskell-build-system)
3ef91e15 10107 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10108 (synopsis "Specify refactorings to perform with apply-refact")
10109 (description
10110 "This library provides a datatype which can be interpreted by
10111@code{apply-refact}. It exists as a separate library so that applications can
10112specify refactorings without depending on GHC.")
10113 (license license:bsd-3)))
10114
10115(define-public ghc-reflection
10116 (package
10117 (name "ghc-reflection")
d215f1cc 10118 (version "2.1.5")
dddbc90c
RV
10119 (source
10120 (origin
10121 (method url-fetch)
10122 (uri (string-append
10123 "https://hackage.haskell.org/package/reflection/reflection-"
10124 version
10125 ".tar.gz"))
10126 (sha256
10127 (base32
d215f1cc 10128 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10129 (build-system haskell-build-system)
10130 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10131 (native-inputs
10132 `(("ghc-hspec" ,ghc-hspec)
10133 ("ghc-quickcheck" ,ghc-quickcheck)
10134 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10135 (home-page "https://github.com/ekmett/reflection")
10136 (synopsis "Reify arbitrary terms into types that can be reflected back
10137into terms")
10138 (description "This package addresses the 'configuration problem' which is
10139propagating configurations that are available at run-time, allowing multiple
10140configurations to coexist without resorting to mutable global variables or
10141@code{System.IO.Unsafe.unsafePerformIO}.")
10142 (license license:bsd-3)))
10143
10144(define-public ghc-regex
10145 (package
10146 (name "ghc-regex")
b9a5e634 10147 (version "1.0.2.0")
dddbc90c
RV
10148 (source
10149 (origin
10150 (method url-fetch)
10151 (uri (string-append "https://hackage.haskell.org/package/regex/"
10152 "regex-" version ".tar.gz"))
10153 (sha256
10154 (base32
b9a5e634 10155 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10156 (build-system haskell-build-system)
10157 (arguments
10158 `(#:phases
10159 (modify-phases %standard-phases
10160 (add-after 'unpack 'relax-dependencies
10161 (lambda _
10162 (substitute* "regex.cabal"
10163 (("base-compat.*>=.*0.6.*")
10164 "base-compat >= 0.6\n")
10165 (("template-haskell.*>=.*2.7.*")
10166 "template-haskell >= 2.7\n"))
10167 #t)))))
10168 (inputs
10169 `(("ghc-base-compat" ,ghc-base-compat)
10170 ("ghc-hashable" ,ghc-hashable)
10171 ("ghc-regex-base" ,ghc-regex-base)
10172 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10173 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10174 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10175 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10176 ("ghc-unordered-containers" ,ghc-unordered-containers)
10177 ("ghc-utf8-string" ,ghc-utf8-string)))
10178 (home-page "http://regex.uk")
10179 (synopsis "Toolkit for regex-base")
10180 (description
10181 "This package provides a regular expression toolkit for @code{regex-base}
10182with compile-time checking of regular expression syntax, data types for
10183matches and captures, a text replacement toolkit, portable options, high-level
10184AWK-like tools for building text processing apps, regular expression macros
10185with parsers and test bench, comprehensive documentation, tutorials and
10186copious examples.")
10187 (license license:bsd-3)))
10188
10189(define-public ghc-regex-applicative
10190 (package
10191 (name "ghc-regex-applicative")
30f60e42 10192 (version "0.3.3.1")
dddbc90c
RV
10193 (source
10194 (origin
10195 (method url-fetch)
10196 (uri (string-append
10197 "https://hackage.haskell.org/package/regex-applicative/"
10198 "regex-applicative-" version ".tar.gz"))
10199 (sha256
10200 (base32
30f60e42 10201 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10202 (build-system haskell-build-system)
10203 (inputs
10204 `(("ghc-smallcheck" ,ghc-smallcheck)
10205 ("ghc-tasty" ,ghc-tasty)
10206 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10207 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10208 (home-page "https://github.com/feuerbach/regex-applicative")
10209 (synopsis "Regex-based parsing with applicative interface")
10210 (description
10211 "@code{regex-applicative} is a Haskell library for parsing using
10212regular expressions. Parsers can be built using Applicative interface.")
10213 (license license:expat)))
10214
10215(define-public ghc-regex-base
10216 (package
10217 (name "ghc-regex-base")
10218 (version "0.93.2")
10219 (source
10220 (origin
10221 (method url-fetch)
10222 (uri (string-append
10223 "https://hackage.haskell.org/package/regex-base/regex-base-"
10224 version
10225 ".tar.gz"))
10226 (sha256
10227 (base32
10228 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10229 (build-system haskell-build-system)
10230 (home-page
10231 "https://sourceforge.net/projects/lazy-regex")
10232 (synopsis "Replaces/Enhances Text.Regex")
10233 (description "@code{Text.Regex.Base} provides the interface API for
10234regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10235 (license license:bsd-3)))
10236
10237(define-public ghc-regex-compat
10238 (package
10239 (name "ghc-regex-compat")
10240 (version "0.95.1")
10241 (source
10242 (origin
10243 (method url-fetch)
10244 (uri (string-append
10245 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10246 version
10247 ".tar.gz"))
10248 (sha256
10249 (base32
10250 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10251 (build-system haskell-build-system)
10252 (inputs
10253 `(("ghc-regex-base" ,ghc-regex-base)
10254 ("ghc-regex-posix" ,ghc-regex-posix)))
10255 (home-page "https://sourceforge.net/projects/lazy-regex")
10256 (synopsis "Replaces/Enhances Text.Regex")
10257 (description "This library provides one module layer over
10258@code{regex-posix} to replace @code{Text.Regex}.")
10259 (license license:bsd-3)))
10260
10261(define-public ghc-regex-compat-tdfa
10262 (package
10263 (name "ghc-regex-compat-tdfa")
10264 (version "0.95.1.4")
10265 (source
10266 (origin
10267 (method url-fetch)
10268 (uri (string-append
10269 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10270 version ".tar.gz"))
10271 (sha256
10272 (base32
10273 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10274 (build-system haskell-build-system)
10275 (inputs
10276 `(("ghc-regex-base" ,ghc-regex-base)
10277 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10278 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10279 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10280 (description
10281 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10282@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10283This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10284this problem.")
10285 (license license:bsd-3)))
10286
ddd79836
MB
10287(define-public ghc-regex-pcre
10288 (package
10289 (name "ghc-regex-pcre")
10290 (version "0.94.4")
10291 (source (origin
10292 (method url-fetch)
10293 (uri (string-append "https://hackage.haskell.org/package/"
10294 "regex-pcre/regex-pcre-" version ".tar.gz"))
10295 (sha256
10296 (base32
10297 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10298 (build-system haskell-build-system)
10299 (inputs
10300 `(("ghc-regex-base" ,ghc-regex-base)
10301 ("pcre" ,pcre)))
10302 (home-page "https://hackage.haskell.org/package/regex-pcre")
10303 (synopsis "Enhancement of the builtin Text.Regex library")
10304 (description
10305 "This package is an enhancement of the @code{Text.Regex} library.
10306It wraps the @code{PCRE} C library providing Perl-compatible regular
10307expressions.")
10308 (license license:bsd-3)))
10309
dddbc90c
RV
10310(define-public ghc-regex-pcre-builtin
10311 (package
10312 (name "ghc-regex-pcre-builtin")
ee946143 10313 (version "0.94.5.8.8.35")
dddbc90c
RV
10314 (source (origin
10315 (method url-fetch)
10316 (uri (string-append "https://hackage.haskell.org/package/"
10317 "regex-pcre-builtin/regex-pcre-builtin-"
10318 version ".tar.gz"))
10319 (sha256
10320 (base32
ee946143 10321 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10322 (build-system haskell-build-system)
10323 (inputs
10324 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10325 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10326 (synopsis "Enhancement of the builtin Text.Regex library")
10327 (description
10328 "This package is an enhancement of the @code{Text.Regex} library,
10329providing the PCRE backend to accompany regex-base, with bundled code from
10330@url{https://www.pcre.org}.")
10331 (license license:bsd-3)))
10332
10333(define-public ghc-regex-posix
10334 (package
10335 (name "ghc-regex-posix")
10336 (version "0.95.2")
10337 (source
10338 (origin
10339 (method url-fetch)
10340 (uri (string-append
10341 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10342 version
10343 ".tar.gz"))
10344 (sha256
10345 (base32
10346 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10347 (build-system haskell-build-system)
10348 (inputs
10349 `(("ghc-regex-base" ,ghc-regex-base)))
10350 (home-page "https://sourceforge.net/projects/lazy-regex")
10351 (synopsis "POSIX regular expressions for Haskell")
10352 (description "This library provides the POSIX regex backend used by the
10353Haskell library @code{regex-base}.")
10354 (license license:bsd-3)))
10355
10356(define-public ghc-regex-tdfa
10357 (package
10358 (name "ghc-regex-tdfa")
ce684db0 10359 (version "1.2.3.2")
dddbc90c
RV
10360 (source
10361 (origin
10362 (method url-fetch)
10363 (uri (string-append
10364 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10365 version ".tar.gz"))
10366 (sha256
10367 (base32
ce684db0 10368 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10369 (build-system haskell-build-system)
10370 (inputs
10371 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10372 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10373 (synopsis "POSIX extended regular expressions in Haskell.")
10374 (description
10375 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10376extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10377inspired by libtre.")
10378 (license license:bsd-3)))
10379
10380(define-public ghc-regex-tdfa-text
10381 (package
10382 (name "ghc-regex-tdfa-text")
10383 (version "1.0.0.3")
10384 (source
10385 (origin
10386 (method url-fetch)
10387 (uri (string-append
10388 "https://hackage.haskell.org/package/regex-tdfa-text/"
10389 "regex-tdfa-text-" version ".tar.gz"))
10390 (sha256
10391 (base32
10392 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10393 (build-system haskell-build-system)
10394 (inputs
10395 `(("ghc-regex-base" ,ghc-regex-base)
10396 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10397 (home-page
3ef91e15 10398 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10399 (synopsis "Text interface for regex-tdfa")
10400 (description
10401 "This provides an extra text interface for regex-tdfa.")
10402 (license license:bsd-3)))
10403
798a2df4
JS
10404(define-public ghc-repline
10405 (package
10406 (name "ghc-repline")
10407 (version "0.2.0.0")
10408 (source
10409 (origin
10410 (method url-fetch)
10411 (uri (string-append
10412 "mirror://hackage/package/repline/repline-"
10413 version
10414 ".tar.gz"))
10415 (sha256
10416 (base32
10417 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10418 (build-system haskell-build-system)
10419 (home-page "https://github.com/sdiehl/repline")
10420 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10421 (description
10422 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10423normal mtl transformers.")
10424 (license license:expat)))
10425
6c0858dd
JS
10426(define-public ghc-repline-0.3
10427 (package
10428 (inherit ghc-repline)
10429 (version "0.3.0.0")
10430 (source
10431 (origin
10432 (method url-fetch)
10433 (uri (string-append
10434 "mirror://hackage/package/repline/repline-"
10435 version
10436 ".tar.gz"))
10437 (sha256
10438 (base32
10439 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10440 (inputs
10441 `(("ghc-exceptions" ,ghc-exceptions)
10442 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10443
dddbc90c
RV
10444(define-public ghc-rerebase
10445 (package
10446 (name "ghc-rerebase")
cdec7b8c 10447 (version "1.3.1.1")
dddbc90c
RV
10448 (source
10449 (origin
10450 (method url-fetch)
10451 (uri (string-append
10452 "https://hackage.haskell.org/package/rerebase/rerebase-"
10453 version ".tar.gz"))
10454 (sha256
10455 (base32
cdec7b8c 10456 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10457 (build-system haskell-build-system)
10458 (inputs
10459 `(("ghc-rebase" ,ghc-rebase)))
10460 (home-page "https://github.com/nikita-volkov/rerebase")
10461 (synopsis "Reexports from ``base'' with many other standard libraries")
10462 (description "A rich drop-in replacement for @code{base}. For details and
10463documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10464the project's home page}.")
10465 (license license:expat)))
10466
10467(define-public ghc-resolv
10468 (package
10469 (name "ghc-resolv")
87309478 10470 (version "0.1.1.2")
dddbc90c
RV
10471 (source
10472 (origin
10473 (method url-fetch)
10474 (uri (string-append
10475 "https://hackage.haskell.org/package/resolv/resolv-"
10476 version ".tar.gz"))
10477 (sha256
10478 (base32
87309478 10479 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10480 (build-system haskell-build-system)
10481 (arguments
87309478
TS
10482 `(#:phases
10483 (modify-phases %standard-phases
10484 (add-before 'configure 'update-constraints
10485 (lambda _
10486 (substitute* "resolv.cabal"
10487 (("tasty >= 1\\.1 && < 1\\.2")
10488 "tasty >= 1.1 && < 1.3"))
10489 #t)))))
dddbc90c
RV
10490 (inputs
10491 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10492 (native-inputs
10493 `(("ghc-tasty" ,ghc-tasty)
10494 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10495 (home-page "https://github.com/haskell/hackage-security")
10496 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10497 (description "This package implements an API for accessing the
10498@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10499resolver service via the standard @code{libresolv} system library (whose
10500API is often available directly via the standard @code{libc} C library) on
10501Unix systems.")
10502 (license license:gpl3)))
10503
10504(define-public ghc-resource-pool
10505 (package
10506 (name "ghc-resource-pool")
10507 (version "0.2.3.2")
10508 (source
10509 (origin
10510 (method url-fetch)
10511 (uri (string-append "https://hackage.haskell.org/package/"
10512 "resource-pool-" version "/"
10513 "resource-pool-" version ".tar.gz"))
10514 (sha256
10515 (base32
10516 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10517 (build-system haskell-build-system)
10518 (inputs `(("ghc-hashable" ,ghc-hashable)
10519 ("ghc-monad-control" ,ghc-monad-control)
10520 ("ghc-transformers-base" ,ghc-transformers-base)
10521 ("ghc-vector" ,ghc-vector)))
10522 (home-page "https://github.com/bos/pool")
10523 (synopsis "Striped resource pooling implementation in Haskell")
10524 (description "This Haskell package provides striped pooling abstraction
10525for managing flexibly-sized collections of resources such as database
10526connections.")
10527 (license license:bsd-3)))
10528
10529(define-public ghc-resourcet
10530 (package
10531 (name "ghc-resourcet")
9ac341ac 10532 (version "1.2.2")
dddbc90c
RV
10533 (source
10534 (origin
10535 (method url-fetch)
10536 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10537 "resourcet-" version ".tar.gz"))
10538 (sha256
10539 (base32
9ac341ac 10540 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10541 (build-system haskell-build-system)
10542 (inputs
10543 `(("ghc-transformers-base" ,ghc-transformers-base)
10544 ("ghc-monad-control" ,ghc-monad-control)
10545 ("ghc-transformers-compat" ,ghc-transformers-compat)
10546 ("ghc-mmorph" ,ghc-mmorph)
10547 ("ghc-exceptions" ,ghc-exceptions)
10548 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10549 (native-inputs
10550 `(("ghc-lifted-base" ,ghc-lifted-base)
10551 ("ghc-hspec" ,ghc-hspec)))
10552 (home-page "https://github.com/snoyberg/conduit")
10553 (synopsis "Deterministic allocation and freeing of scarce resources")
10554 (description "ResourceT is a monad transformer which creates a region of
10555code where you can safely allocate resources.")
10556 (license license:bsd-3)))
10557
b9debc37
TS
10558(define-public ghc-retry
10559 (package
10560 (name "ghc-retry")
10561 (version "0.8.1.0")
10562 (source
10563 (origin
10564 (method url-fetch)
10565 (uri (string-append "https://hackage.haskell.org/package/"
10566 "retry/retry-" version ".tar.gz"))
10567 (sha256
10568 (base32
10569 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10570 (build-system haskell-build-system)
10571 (inputs
10572 `(("ghc-exceptions" ,ghc-exceptions)
10573 ("ghc-random" ,ghc-random)))
10574 (native-inputs
10575 `(("ghc-hunit" ,ghc-hunit)
10576 ("ghc-tasty" ,ghc-tasty)
10577 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10578 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10579 ("ghc-hedgehog" ,ghc-hedgehog)))
702a1012 10580 (home-page "https://github.com/Soostone/retry")
b9debc37
TS
10581 (synopsis "Retry combinators for monadic actions that may fail")
10582 (description "This package exposes combinators that can wrap
10583arbitrary monadic actions. They run the action and potentially retry
10584running it with some configurable delay for a configurable number of
10585times. The purpose is to make it easier to work with IO and especially
10586network IO actions that often experience temporary failure and warrant
10587retrying of the original action. For example, a database query may time
10588out for a while, in which case we should hang back for a bit and retry
10589the query instead of simply raising an exception.")
10590 (license license:bsd-3)))
10591
dddbc90c
RV
10592(define-public ghc-rfc5051
10593 (package
10594 (name "ghc-rfc5051")
ec42ab7c 10595 (version "0.1.0.4")
dddbc90c
RV
10596 (source
10597 (origin
10598 (method url-fetch)
10599 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10600 "rfc5051-" version ".tar.gz"))
10601 (sha256
10602 (base32
ec42ab7c 10603 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10604 (build-system haskell-build-system)
10605 (home-page "https://hackage.haskell.org/package/rfc5051")
10606 (synopsis "Simple unicode collation as per RFC5051")
10607 (description
10608 "This library implements @code{unicode-casemap}, the simple, non
10609locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10610unicode collation can be done using @code{text-icu}, but that is a big
10611dependency that depends on a large C library, and @code{rfc5051} might be
10612better for some purposes.")
10613 (license license:bsd-3)))
10614
10615(define-public ghc-rio
10616 (package
10617 (name "ghc-rio")
8bda2fa7 10618 (version "0.1.12.0")
dddbc90c
RV
10619 (source
10620 (origin
10621 (method url-fetch)
10622 (uri (string-append
10623 "https://hackage.haskell.org/package/rio/rio-"
10624 version ".tar.gz"))
10625 (sha256
10626 (base32
8bda2fa7 10627 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10628 (build-system haskell-build-system)
10629 (inputs
10630 `(("ghc-exceptions" ,ghc-exceptions)
10631 ("ghc-hashable" ,ghc-hashable)
10632 ("ghc-microlens" ,ghc-microlens)
10633 ("ghc-primitive" ,ghc-primitive)
10634 ("ghc-typed-process" ,ghc-typed-process)
10635 ("ghc-unliftio" ,ghc-unliftio)
10636 ("ghc-unordered-containers" ,ghc-unordered-containers)
10637 ("ghc-vector" ,ghc-vector)))
10638 (native-inputs
10639 `(("ghc-hspec" ,ghc-hspec)
10640 ("hspec-discover" ,hspec-discover)))
10641 (home-page "https://github.com/commercialhaskell/rio#readme")
10642 (synopsis "A standard library for Haskell")
10643 (description "This package works as a prelude replacement for Haskell,
10644providing more functionality and types out of the box than the standard
10645prelude (such as common data types like @code{ByteString} and
10646@code{Text}), as well as removing common ``gotchas'', like partial
10647functions and lazy I/O. The guiding principle here is:
10648@itemize
10649@item If something is safe to use in general and has no expected naming
10650conflicts, expose it.
10651@item If something should not always be used, or has naming conflicts,
10652expose it from another module in the hierarchy.
10653@end itemize")
10654 (license license:expat)))
10655
10656(define-public ghc-safe
10657 (package
10658 (name "ghc-safe")
10659 (version "0.3.17")
10660 (source
10661 (origin
10662 (method url-fetch)
10663 (uri (string-append
10664 "https://hackage.haskell.org/package/safe/safe-"
10665 version
10666 ".tar.gz"))
10667 (sha256
10668 (base32
10669 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10670 (build-system haskell-build-system)
10671 (native-inputs
10672 `(("ghc-quickcheck" ,ghc-quickcheck)))
10673 (home-page "https://github.com/ndmitchell/safe#readme")
10674 (synopsis "Library of safe (exception free) functions")
10675 (description "This library provides wrappers around @code{Prelude} and
10676@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10677exceptions.")
10678 (license license:bsd-3)))
10679
10680(define-public ghc-safe-exceptions
10681 (package
10682 (name "ghc-safe-exceptions")
10683 (version "0.1.7.0")
10684 (source
10685 (origin
10686 (method url-fetch)
10687 (uri (string-append "https://hackage.haskell.org/package/"
10688 "safe-exceptions/safe-exceptions-"
10689 version ".tar.gz"))
10690 (sha256
10691 (base32
10692 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10693 (build-system haskell-build-system)
10694 (arguments
10695 '(#:cabal-revision
10696 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10697 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10698 (native-inputs
10699 `(("ghc-hspec" ,ghc-hspec)
10700 ("ghc-void" ,ghc-void)
10701 ("hspec-discover" ,hspec-discover)))
10702 (home-page "https://github.com/fpco/safe-exceptions")
10703 (synopsis "Safe, consistent, and easy exception handling")
10704 (description "Runtime exceptions - as exposed in @code{base} by the
10705@code{Control.Exception} module - have long been an intimidating part of the
10706Haskell ecosystem. This package is intended to overcome this. It provides a
10707safe and simple API on top of the existing exception handling machinery. The
10708API is equivalent to the underlying implementation in terms of power but
10709encourages best practices to minimize the chances of getting the exception
10710handling wrong.")
10711 (license license:expat)))
10712
10713(define-public ghc-safeio
10714 (package
10715 (name "ghc-safeio")
10716 (version "0.0.5.0")
10717 (source
10718 (origin
10719 (method url-fetch)
10720 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10721 "safeio-" version ".tar.gz"))
10722 (sha256
10723 (base32
10724 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10725 (build-system haskell-build-system)
10726 (inputs
10727 `(("ghc-conduit" ,ghc-conduit)
10728 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10729 ("ghc-exceptions" ,ghc-exceptions)
10730 ("ghc-resourcet" ,ghc-resourcet)))
10731 (native-inputs
10732 `(("ghc-hunit" ,ghc-hunit)
10733 ("ghc-test-framework" ,ghc-test-framework)
10734 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10735 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10736 (home-page "https://github.com/luispedro/safeio")
10737 (synopsis "Write output to disk atomically")
10738 (description
10739 "This package implements utilities to perform atomic output so as to
10740avoid the problem of partial intermediate files.")
10741 (license license:expat)))
10742
10743(define-public ghc-safesemaphore
10744 (package
10745 (name "ghc-safesemaphore")
10746 (version "0.10.1")
10747 (source
10748 (origin
10749 (method url-fetch)
10750 (uri (string-append "https://hackage.haskell.org/package/"
10751 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10752 (sha256
10753 (base32
10754 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10755 (build-system haskell-build-system)
10756 (native-inputs
10757 `(("ghc-hunit" ,ghc-hunit)))
10758 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10759 (synopsis "Exception safe semaphores")
10760 (description "This library provides exception safe semaphores that can be
10761used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10762are not exception safe and can be broken by @code{killThread}.")
10763 (license license:bsd-3)))
10764
10765(define-public ghc-sandi
10766 (package
10767 (name "ghc-sandi")
b867c2b0 10768 (version "0.5")
dddbc90c
RV
10769 (source
10770 (origin
10771 (method url-fetch)
10772 (uri (string-append
10773 "https://hackage.haskell.org/package/sandi/sandi-"
10774 version ".tar.gz"))
10775 (sha256
10776 (base32
b867c2b0 10777 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10778 (build-system haskell-build-system)
10779 (inputs
10780 `(("ghc-stringsearch" ,ghc-stringsearch)
10781 ("ghc-conduit" ,ghc-conduit)
10782 ("ghc-exceptions" ,ghc-exceptions)
10783 ("ghc-hunit" ,ghc-hunit)
10784 ("ghc-tasty" ,ghc-tasty)
10785 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10786 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10787 ("ghc-tasty-th" ,ghc-tasty-th)))
10788 (home-page "https://hackage.haskell.org/package/sandi")
10789 (synopsis "Data encoding library")
10790 (description "Reasonably fast data encoding library.")
10791 (license license:bsd-3)))
10792
4da75228
ASM
10793(define-public ghc-say
10794 (package
10795 (name "ghc-say")
10796 (version "0.1.0.1")
10797 (source
10798 (origin
10799 (method url-fetch)
10800 (uri (string-append
10801 "https://hackage.haskell.org/package/say/say-"
10802 version
10803 ".tar.gz"))
10804 (sha256
10805 (base32
10806 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10807 (build-system haskell-build-system)
10808 (native-inputs
10809 `(("ghc-hspec" ,ghc-hspec)
10810 ("hspec-discover" ,hspec-discover)
10811 ("ghc-unliftio" ,ghc-unliftio)))
10812 (home-page "https://github.com/fpco/say")
10813 (synopsis
10814 "Send textual messages to a Handle in a thread-friendly way")
10815 (description
10816 "A thread safe API to write a line of textual data to a Handle, such
10817as sending some messages to the terminal - that has the following properties:
10818@itemize
10819@item Properly handle character encoding settings on the Handle
10820@item For reasonably sized messages, ensure that the entire message is written
10821 in one chunk to avoid interleaving data with other threads
10822@item Avoid unnecessary memory allocations and copies
10823@item Minimize locking.
10824@end itemize")
10825 (license license:expat)))
10826
dddbc90c
RV
10827(define-public ghc-scientific
10828 (package
10829 (name "ghc-scientific")
10830 (version "0.3.6.2")
10831 (source
10832 (origin
10833 (method url-fetch)
10834 (uri (string-append
10835 "https://hackage.haskell.org/package/scientific/scientific-"
10836 version
10837 ".tar.gz"))
10838 (sha256
10839 (base32
10840 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10841 (build-system haskell-build-system)
10842 (inputs
10843 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10844 ("ghc-hashable" ,ghc-hashable)
10845 ("ghc-primitive" ,ghc-primitive)))
10846 (native-inputs
10847 `(("ghc-tasty" ,ghc-tasty)
10848 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10849 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10850 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10851 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10852 ("ghc-smallcheck" ,ghc-smallcheck)
10853 ("ghc-quickcheck" ,ghc-quickcheck)))
10854 (home-page "https://github.com/basvandijk/scientific")
10855 (synopsis "Numbers represented using scientific notation")
10856 (description "This package provides @code{Data.Scientific}, which provides
10857the number type @code{Scientific}. Scientific numbers are arbitrary precision
10858and space efficient. They are represented using
10859@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10860notation}.")
10861 (license license:bsd-3)))
10862
10863(define-public ghc-scientific-bootstrap
10864 (package
10865 (inherit ghc-scientific)
10866 (name "ghc-scientific-bootstrap")
10867 (arguments `(#:tests? #f))
10868 (inputs
10869 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10870 ("ghc-hashable" ,ghc-hashable)
10871 ("ghc-primitive" ,ghc-primitive)))
10872 (native-inputs '())
799d8d3c 10873 (properties '((hidden? #t)))))
dddbc90c
RV
10874
10875(define-public ghc-sdl
10876 (package
10877 (name "ghc-sdl")
10878 (version "0.6.7.0")
10879 (source
10880 (origin
10881 (method url-fetch)
10882 (uri (string-append
10883 "https://hackage.haskell.org/package/SDL/SDL-"
10884 version
10885 ".tar.gz"))
10886 (sha256
10887 (base32
10888 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10889 (build-system haskell-build-system)
10890 (inputs
10891 `(("sdl" ,sdl)))
10892 (home-page "https://hackage.haskell.org/package/SDL")
10893 (synopsis "LibSDL for Haskell")
10894 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10895multimedia library designed to provide low level access to audio, keyboard,
10896mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10897by MPEG playback software, emulators, and many popular games, including the
10898award winning Linux port of \"Civilization: Call To Power.\"")
10899 (license license:bsd-3)))
10900
1874cdc1
RV
10901(define-public ghc-sdl2
10902 (package
10903 (name "ghc-sdl2")
145148ca 10904 (version "2.5.0.0")
1874cdc1
RV
10905 (source
10906 (origin
10907 (method url-fetch)
10908 (uri (string-append "https://hackage.haskell.org/package/"
10909 "sdl2/sdl2-" version ".tar.gz"))
10910 (sha256
10911 (base32
145148ca 10912 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10913 (build-system haskell-build-system)
10914 (arguments '(#:tests? #f)) ; tests require graphical environment
10915 (inputs
10916 `(("ghc-exceptions" ,ghc-exceptions)
10917 ("ghc-linear" ,ghc-linear)
10918 ("ghc-statevar" ,ghc-statevar)
10919 ("ghc-vector" ,ghc-vector)
10920 ("sdl2" ,sdl2)))
10921 (native-inputs
10922 `(("ghc-weigh" ,ghc-weigh)
10923 ("pkg-config" ,pkg-config)))
35437dbf 10924 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10925 (synopsis "High- and low-level bindings to the SDL library")
10926 (description
10927 "This package contains bindings to the SDL 2 library, in both high- and
10928low-level forms. The @code{SDL} namespace contains high-level bindings, where
10929enumerations are split into sum types, and we perform automatic
10930error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10931translation of the C API into Haskell FFI calls. As such, this does not
10932contain sum types nor error checking. Thus this namespace is suitable for
10933building your own abstraction over SDL, but is not recommended for day-to-day
10934programming.")
10935 (license license:bsd-3)))
10936
10937(define-public ghc-sdl2-image
10938 (package
10939 (name "ghc-sdl2-image")
10940 (version "2.0.0")
10941 (source
10942 (origin
10943 (method url-fetch)
10944 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10945 "sdl2-image-" version ".tar.gz"))
10946 (sha256
10947 (base32
10948 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10949 (build-system haskell-build-system)
10950 (inputs
10951 `(("ghc-sdl2" ,ghc-sdl2)
10952 ("sdl2-image" ,sdl2-image)))
10953 (native-inputs
10954 `(("pkg-config" ,pkg-config)))
3ef91e15 10955 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10956 (synopsis "Bindings to SDL2_image")
10957 (description "This package provides Haskell bindings to
10958@code{SDL2_image}.")
10959 (license license:expat)))
10960
10961(define-public ghc-sdl2-mixer
10962 (package
10963 (name "ghc-sdl2-mixer")
10964 (version "1.1.0")
10965 (source
10966 (origin
10967 (method url-fetch)
10968 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10969 "sdl2-mixer-" version ".tar.gz"))
10970 (sha256
10971 (base32
10972 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10973 (build-system haskell-build-system)
10974 (inputs
10975 `(("ghc-data-default-class" ,ghc-data-default-class)
10976 ("ghc-lifted-base" ,ghc-lifted-base)
10977 ("ghc-monad-control" ,ghc-monad-control)
10978 ("ghc-sdl2" ,ghc-sdl2)
10979 ("ghc-vector" ,ghc-vector)
10980 ("sdl2-mixer" ,sdl2-mixer)))
10981 (native-inputs
10982 `(("pkg-config" ,pkg-config)))
3ef91e15 10983 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10984 (synopsis "Bindings to SDL2 mixer")
10985 (description "This package provides Haskell bindings to
10986@code{SDL2_mixer}.")
10987 (license license:bsd-3)))
10988
dddbc90c
RV
10989(define-public ghc-sdl-image
10990 (package
10991 (name "ghc-sdl-image")
10992 (version "0.6.2.0")
10993 (source
10994 (origin
10995 (method url-fetch)
10996 (uri (string-append
10997 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10998 version
10999 ".tar.gz"))
11000 (sha256
11001 (base32
11002 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
11003 (build-system haskell-build-system)
11004 (arguments
11005 `(#:configure-flags
11006 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
11007 (sdl-image-include (string-append sdl-image "/include/SDL")))
11008 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
11009 (inputs
11010 `(("ghc-sdl" ,ghc-sdl)
11011 ("sdl-image" ,sdl-image)))
11012 (home-page "https://hackage.haskell.org/package/SDL-image")
11013 (synopsis "Haskell bindings to libSDL_image")
11014 (description "SDL_image is an image file loading library. It loads images
11015as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11016PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11017 (license license:bsd-3)))
11018
11019(define-public ghc-sdl-mixer
11020 (package
11021 (name "ghc-sdl-mixer")
11022 (version "0.6.3.0")
11023 (source
11024 (origin
11025 (method url-fetch)
11026 (uri (string-append
11027 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11028 version
11029 ".tar.gz"))
11030 (sha256
11031 (base32
11032 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11033 (build-system haskell-build-system)
11034 (arguments
11035 `(#:configure-flags
11036 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11037 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11038 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11039 (inputs
11040 `(("ghc-sdl" ,ghc-sdl)
11041 ("sdl-mixer" ,sdl-mixer)))
11042 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11043 (synopsis "Haskell bindings to libSDL_mixer")
11044 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11045supports any number of simultaneously playing channels of 16 bit stereo audio,
11046plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11047MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11048 (license license:bsd-3)))
11049
11050(define-public ghc-securemem
11051 (package
11052 (name "ghc-securemem")
11053 (version "0.1.10")
11054 (source
11055 (origin
11056 (method url-fetch)
11057 (uri (string-append "https://hackage.haskell.org/package/"
11058 "securemem-" version "/"
11059 "securemem-" version ".tar.gz"))
11060 (sha256
11061 (base32
11062 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11063 (build-system haskell-build-system)
11064 (inputs `(("ghc-byteable" ,ghc-byteable)
11065 ("ghc-memory" ,ghc-memory)))
11066 (home-page "https://github.com/vincenthz/hs-securemem")
11067 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11068Haskell")
11069 (description "SecureMem is similar to ByteString, except that it provides
11070a memory chunk that will be auto-scrubbed after it run out of scope.")
11071 (license license:bsd-3)))
11072
3cf7219c
JS
11073(define-public ghc-semialign
11074 (package
11075 (name "ghc-semialign")
11076 (version "1")
11077 (source
11078 (origin
11079 (method url-fetch)
11080 (uri (string-append
11081 "https://hackage.haskell.org/package/semialign/semialign-"
11082 version
11083 ".tar.gz"))
11084 (sha256
11085 (base32
11086 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11087 (build-system haskell-build-system)
11088 (inputs
11089 `(("ghc-these" ,ghc-these)
11090 ("ghc-base-compat" ,ghc-base-compat)
11091 ("ghc-hashable" ,ghc-hashable)
11092 ("ghc-tagged" ,ghc-tagged)
11093 ("ghc-unordered-containers" ,ghc-unordered-containers)
11094 ("ghc-vector" ,ghc-vector)
11095 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11096 (arguments
11097 `(#:cabal-revision
11098 ("1"
11099 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11100 (home-page
11101 "https://github.com/isomorphism/these")
11102 (synopsis
11103 "Align and Zip type-classes from the common Semialign ancestor ")
11104 (description
11105 "The major use of @code{These} of this is provided by the
11106@code{align} member of @code{Semialign} class, representing a
11107generalized notion of \"zipping with padding\" that combines
11108structures without truncating to the size of the smaller input. It
11109turns out that @code{zip} operation fits well the @code{Semialign}
11110class, forming lattice-like structure.")
11111 (license license:bsd-3)))
11112
dddbc90c
RV
11113(define-public ghc-semigroupoids
11114 (package
11115 (name "ghc-semigroupoids")
a8aaadf2 11116 (version "5.3.3")
dddbc90c
RV
11117 (source
11118 (origin
11119 (method url-fetch)
11120 (uri (string-append
11121 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11122 version
11123 ".tar.gz"))
11124 (sha256
11125 (base32
a8aaadf2 11126 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11127 (build-system haskell-build-system)
dddbc90c
RV
11128 (inputs
11129 `(("ghc-base-orphans" ,ghc-base-orphans)
11130 ("ghc-transformers-compat" ,ghc-transformers-compat)
11131 ("ghc-bifunctors" ,ghc-bifunctors)
11132 ("ghc-comonad" ,ghc-comonad)
11133 ("ghc-contravariant" ,ghc-contravariant)
11134 ("ghc-distributive" ,ghc-distributive)
11135 ("ghc-hashable" ,ghc-hashable)
11136 ("ghc-semigroups" ,ghc-semigroups)
11137 ("ghc-tagged" ,ghc-tagged)
11138 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11139 (native-inputs
11140 `(("cabal-doctest" ,cabal-doctest)
11141 ("ghc-doctest" ,ghc-doctest)))
11142 (home-page "https://github.com/ekmett/semigroupoids")
11143 (synopsis "Semigroupoids operations for Haskell")
11144 (description "This library provides a wide array of (semi)groupoids and
11145operations for working with them. A @code{Semigroupoid} is a @code{Category}
11146without the requirement of identity arrows for every object in the category.
11147A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11148Finally, to work with these weaker structures it is beneficial to have
11149containers that can provide stronger guarantees about their contents, so
11150versions of @code{Traversable} and @code{Foldable} that can be folded with
11151just a @code{Semigroup} are added.")
11152 (license license:bsd-3)))
11153
11154(define-public ghc-semigroups
11155 (package
11156 (name "ghc-semigroups")
11157 (version "0.18.5")
11158 (source
11159 (origin
11160 (method url-fetch)
11161 (uri (string-append
11162 "https://hackage.haskell.org/package/semigroups/semigroups-"
11163 version
11164 ".tar.gz"))
11165 (sha256
11166 (base32
11167 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11168 (build-system haskell-build-system)
11169 (inputs
11170 `(("ghc-nats" ,ghc-nats)
11171 ("ghc-tagged" ,ghc-tagged)
11172 ("ghc-unordered-containers" ,ghc-unordered-containers)
11173 ("ghc-hashable" ,ghc-hashable)))
11174 (home-page "https://github.com/ekmett/semigroups/")
11175 (synopsis "Semigroup operations for Haskell")
11176 (description "This package provides semigroups for Haskell. In
11177mathematics, a semigroup is an algebraic structure consisting of a set
11178together with an associative binary operation. A semigroup generalizes a
11179monoid in that there might not exist an identity element. It
11180also (originally) generalized a group (a monoid with all inverses) to a type
11181where every element did not have to have an inverse, thus the name
11182semigroup.")
11183 (license license:bsd-3)))
11184
11185(define-public ghc-semigroups-bootstrap
11186 (package
11187 (inherit ghc-semigroups)
11188 (name "ghc-semigroups-bootstrap")
11189 (inputs
11190 `(("ghc-nats" ,ghc-nats-bootstrap)
11191 ("ghc-tagged" ,ghc-tagged)
11192 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11193 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11194 (properties '((hidden? #t)))))
dddbc90c 11195
47c526df
JS
11196(define-public ghc-serialise
11197 (package
11198 (name "ghc-serialise")
11199 (version "0.2.1.0")
11200 (source
11201 (origin
11202 (method url-fetch)
11203 (uri (string-append
11204 "mirror://hackage/package/serialise/serialise-"
11205 version
11206 ".tar.gz"))
11207 (sha256
11208 (base32
11209 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11210 (build-system haskell-build-system)
11211 (inputs
11212 `(("ghc-cborg" ,ghc-cborg)
11213 ("ghc-half" ,ghc-half)
11214 ("ghc-hashable" ,ghc-hashable)
11215 ("ghc-primitive" ,ghc-primitive)
11216 ("ghc-unordered-containers" ,ghc-unordered-containers)
11217 ("ghc-vector" ,ghc-vector)))
11218 (native-inputs
11219 `(("ghc-quickcheck" ,ghc-quickcheck)
11220 ("ghc-tasty" ,ghc-tasty)
11221 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11222 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11223 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11224 (arguments
11225 `(#:cabal-revision
11226 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11227 (home-page "https://github.com/well-typed/cborg")
11228 (synopsis "Binary serialisation library for Haskell values")
11229 (description
11230 "This package (formerly binary-serialise-cbor) provides pure,
11231efficient serialization of Haskell values directly into ByteStrings for
11232storage or transmission purposes. By providing a set of type class instances,
11233you can also serialise any custom data type you have as well.
11234
11235The underlying binary format used is the 'Concise Binary Object
11236Representation', or CBOR, specified in RFC 7049. As a result, serialised
11237Haskell values have implicit structure outside of the Haskell program itself,
11238meaning they can be inspected or analyzed without custom tools.
11239
11240An implementation of the standard bijection between CBOR and JSON is
11241provided by the https://hackage.haskell.org/package/cborg-json
11242package. Also see https://hackage.haskell.org/package/cbor-tool for a
11243convenient command-line utility for working with CBOR data.")
11244 (license license:bsd-3)))
11245
dddbc90c
RV
11246(define-public ghc-setenv
11247 (package
11248 (name "ghc-setenv")
11249 (version "0.1.1.3")
11250 (source
11251 (origin
11252 (method url-fetch)
11253 (uri (string-append
11254 "https://hackage.haskell.org/package/setenv/setenv-"
11255 version
11256 ".tar.gz"))
11257 (sha256
11258 (base32
11259 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11260 (build-system haskell-build-system)
11261 (home-page "https://hackage.haskell.org/package/setenv")
11262 (synopsis "Library for setting environment variables")
11263 (description "This package provides a Haskell library for setting
11264environment variables.")
11265 (license license:expat)))
11266
11267(define-public ghc-setlocale
11268 (package
11269 (name "ghc-setlocale")
9d7cfc9b 11270 (version "1.0.0.9")
dddbc90c
RV
11271 (source (origin
11272 (method url-fetch)
11273 (uri (string-append
11274 "https://hackage.haskell.org/package/setlocale-"
11275 version "/setlocale-" version ".tar.gz"))
11276 (sha256
11277 (base32
9d7cfc9b 11278 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11279 (build-system haskell-build-system)
11280 (home-page "https://hackage.haskell.org/package/setlocale")
11281 (synopsis "Haskell bindings to setlocale")
11282 (description "This package provides Haskell bindings to the
11283@code{setlocale} C function.")
11284 (license license:bsd-3)))
11285
11286(define-public ghc-shakespeare
11287 (package
11288 (name "ghc-shakespeare")
f680955f 11289 (version "2.0.22")
dddbc90c
RV
11290 (source
11291 (origin
11292 (method url-fetch)
11293 (uri (string-append "https://hackage.haskell.org/package/"
11294 "shakespeare-" version "/"
11295 "shakespeare-" version ".tar.gz"))
11296 (sha256
11297 (base32
f680955f 11298 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11299 (build-system haskell-build-system)
11300 (inputs `(("ghc-aeson" ,ghc-aeson)
11301 ("ghc-blaze-markup" ,ghc-blaze-markup)
11302 ("ghc-blaze-html" ,ghc-blaze-html)
11303 ("ghc-exceptions" ,ghc-exceptions)
11304 ("ghc-vector" ,ghc-vector)
11305 ("ghc-unordered-containers" ,ghc-unordered-containers)
11306 ("ghc-scientific" ,ghc-scientific)))
11307 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11308 ("ghc-hunit" ,ghc-hunit)
11309 ("hspec-discover" ,hspec-discover)))
11310 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11311 (synopsis "Family of type-safe template languages for Haskell")
11312 (description "This Haskell package provides a family of type-safe
11313templates with simple variable interpolation. Shakespeare templates can
11314be used inline with a quasi-quoter or in an external file and it
11315interpolates variables according to the type being inserted.")
11316 (license license:expat)))
11317
11318(define-public ghc-shelly
11319 (package
11320 (name "ghc-shelly")
11321 (version "1.8.1")
11322 (source
11323 (origin
11324 (method url-fetch)
11325 (uri (string-append
11326 "https://hackage.haskell.org/package/shelly/shelly-"
11327 version ".tar.gz"))
11328 (sha256
11329 (base32
11330 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11331 (build-system haskell-build-system)
11332 (inputs
11333 `(("ghc-unix-compat" ,ghc-unix-compat)
11334 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11335 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11336 ("ghc-monad-control" ,ghc-monad-control)
11337 ("ghc-lifted-base" ,ghc-lifted-base)
11338 ("ghc-lifted-async" ,ghc-lifted-async)
11339 ("ghc-exceptions" ,ghc-exceptions)
11340 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11341 ("ghc-async" ,ghc-async)
11342 ("ghc-transformers-base" ,ghc-transformers-base)
11343 ("ghc-hunit" ,ghc-hunit)
11344 ("ghc-hspec" ,ghc-hspec)
11345 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11346 (home-page "https://github.com/yesodweb/Shelly.hs")
11347 (synopsis "Shell-like (systems) programming in Haskell")
11348 (description
11349 "Shelly provides convenient systems programming in Haskell, similar in
11350spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11351 (license license:bsd-3)))
11352
11353(define-public ghc-silently
11354 (package
11355 (name "ghc-silently")
544bb369 11356 (version "1.2.5.1")
dddbc90c
RV
11357 (source
11358 (origin
11359 (method url-fetch)
11360 (uri (string-append
11361 "https://hackage.haskell.org/package/silently/silently-"
11362 version
11363 ".tar.gz"))
11364 (sha256
11365 (base32
544bb369 11366 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11367 (build-system haskell-build-system)
11368 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11369 ;; (inputs
11370 ;; `(("ghc-temporary" ,ghc-temporary)))
11371 (home-page "https://github.com/hspec/silently")
11372 (synopsis "Prevent writing to stdout")
11373 (description "This package provides functions to prevent or capture
11374writing to stdout and other handles.")
11375 (license license:bsd-3)))
11376
11377(define-public ghc-simple-reflect
11378 (package
11379 (name "ghc-simple-reflect")
11380 (version "0.3.3")
11381 (source
11382 (origin
11383 (method url-fetch)
11384 (uri (string-append
11385 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11386 version
11387 ".tar.gz"))
11388 (sha256
11389 (base32
11390 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11391 (build-system haskell-build-system)
11392 (home-page
11393 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11394 (synopsis
11395 "Simple reflection of expressions containing variables")
11396 (description
11397 "This package allows simple reflection of expressions containing
11398variables. Reflection here means that a Haskell expression is turned into a
11399string. The primary aim of this package is teaching and understanding; there
11400are no options for manipulating the reflected expressions beyond showing
11401them.")
11402 (license license:bsd-3)))
11403
11404(define-public ghc-simple-sendfile
11405 (package
11406 (name "ghc-simple-sendfile")
08f54390 11407 (version "0.2.30")
dddbc90c
RV
11408 (source
11409 (origin
11410 (method url-fetch)
11411 (uri (string-append "https://hackage.haskell.org/package/"
11412 "simple-sendfile-" version "/"
11413 "simple-sendfile-" version ".tar.gz"))
11414 (sha256
11415 (base32
08f54390 11416 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11417 (build-system haskell-build-system)
11418 (inputs
11419 `(("ghc-conduit" ,ghc-conduit)
11420 ("ghc-conduit-extra" ,ghc-conduit-extra)
11421 ("ghc-network" ,ghc-network)
11422 ("ghc-resourcet" ,ghc-resourcet)))
11423 (native-inputs
11424 `(("ghc-hspec" ,ghc-hspec)
11425 ("hspec-discover" ,hspec-discover)))
11426 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11427 (synopsis "Cross platform library for the sendfile system call")
11428 (description "This library tries to call minimum system calls which
11429are the bottleneck of web servers.")
11430 (license license:bsd-3)))
11431
06966c05
TS
11432(define-public ghc-size-based
11433 (package
11434 (name "ghc-size-based")
11435 (version "0.1.2.0")
11436 (source
11437 (origin
11438 (method url-fetch)
11439 (uri (string-append "https://hackage.haskell.org/package/"
11440 "size-based/size-based-" version ".tar.gz"))
11441 (sha256
11442 (base32
11443 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11444 (build-system haskell-build-system)
11445 (inputs
11446 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11447 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11448 ("ghc-semigroups" ,ghc-semigroups)))
11449 (arguments
11450 `(#:cabal-revision
11451 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11452 (home-page "https://hackage.haskell.org/package/size-based")
11453 (synopsis "Sized functors for size-based enumerations")
11454 (description "This library provides a framework for size-based
11455enumerations.")
11456 (license license:bsd-3)))
11457
dddbc90c
RV
11458(define-public ghc-skylighting-core
11459 (package
11460 (name "ghc-skylighting-core")
1826c2a8 11461 (version "0.8.2.1")
dddbc90c
RV
11462 (source (origin
11463 (method url-fetch)
11464 (uri (string-append "https://hackage.haskell.org/package/"
11465 "skylighting-core/skylighting-core-"
11466 version ".tar.gz"))
11467 (sha256
11468 (base32
1826c2a8 11469 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11470 (build-system haskell-build-system)
11471 (inputs
11472 `(("ghc-aeson" ,ghc-aeson)
11473 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11474 ("ghc-attoparsec" ,ghc-attoparsec)
11475 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11476 ("ghc-blaze-html" ,ghc-blaze-html)
11477 ("ghc-case-insensitive" ,ghc-case-insensitive)
11478 ("ghc-colour" ,ghc-colour)
11479 ("ghc-hxt" ,ghc-hxt)
11480 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11481 ("ghc-safe" ,ghc-safe)
11482 ("ghc-utf8-string" ,ghc-utf8-string)))
11483 (native-inputs
11484 `(("ghc-diff" ,ghc-diff)
11485 ("ghc-hunit" ,ghc-hunit)
11486 ("ghc-pretty-show" ,ghc-pretty-show)
11487 ("ghc-quickcheck" ,ghc-quickcheck)
11488 ("ghc-tasty" ,ghc-tasty)
11489 ("ghc-tasty-golden" ,ghc-tasty-golden)
11490 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11491 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11492 (home-page "https://github.com/jgm/skylighting")
11493 (synopsis "Syntax highlighting library")
11494 (description "Skylighting is a syntax highlighting library with support
11495for over one hundred languages. It derives its tokenizers from XML syntax
11496definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11497supported by that framework can be added. An optional command-line program is
11498provided. Skylighting is intended to be the successor to highlighting-kate.")
11499 (license license:gpl2)))
11500
11501(define-public ghc-skylighting
11502 (package
11503 (inherit ghc-skylighting-core)
11504 (name "ghc-skylighting")
36c940cf 11505 (version "0.8.2.1")
dddbc90c
RV
11506 (source (origin
11507 (method url-fetch)
11508 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11509 version "/skylighting-" version ".tar.gz"))
11510 (sha256
11511 (base32
36c940cf 11512 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11513 (inputs
11514 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11515 ,@(package-inputs ghc-skylighting-core)))))
11516
11517(define-public ghc-smallcheck
11518 (package
11519 (name "ghc-smallcheck")
11520 (version "1.1.5")
11521 (source
11522 (origin
11523 (method url-fetch)
11524 (uri (string-append
11525 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11526 version
11527 ".tar.gz"))
11528 (sha256
11529 (base32
11530 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11531 (build-system haskell-build-system)
11532 (inputs
11533 `(("ghc-logict" ,ghc-logict)))
11534 (home-page
11535 "https://github.com/feuerbach/smallcheck")
11536 (synopsis "Property-based testing library")
a84be333 11537 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11538properties for all test cases up to some depth. The test cases are generated
11539automatically by SmallCheck.")
11540 (license license:bsd-3)))
11541
11542(define-public ghc-socks
11543 (package
11544 (name "ghc-socks")
ab761e9d 11545 (version "0.6.1")
dddbc90c
RV
11546 (source (origin
11547 (method url-fetch)
11548 (uri (string-append "https://hackage.haskell.org/package/"
11549 "socks/socks-" version ".tar.gz"))
11550 (sha256
11551 (base32
ab761e9d 11552 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11553 (build-system haskell-build-system)
11554 (inputs
11555 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11556 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11557 ("ghc-network" ,ghc-network)))
11558 (home-page "https://github.com/vincenthz/hs-socks")
11559 (synopsis "SOCKS proxy (version 5) implementation")
11560 (description
11561 "This library provides a SOCKS proxy (version 5) implementation.")
11562 (license license:bsd-3)))
11563
081d85d6
TS
11564(define-public ghc-sop-core
11565 (package
11566 (name "ghc-sop-core")
11567 (version "0.4.0.0")
11568 (source
11569 (origin
11570 (method url-fetch)
11571 (uri (string-append "https://hackage.haskell.org/package/"
11572 "sop-core/sop-core-" version ".tar.gz"))
11573 (sha256
11574 (base32
11575 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11576 (build-system haskell-build-system)
3ef91e15 11577 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11578 (synopsis "True Sums of Products")
11579 (description "This package provides an implementation of
11580@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11581is the main module of this library and contains more detailed
11582documentation. The main use case of this package is to serve as the
11583core of @url{https://hackage.haskell.org/package/generics-sop,
11584generics-sop}.")
11585 (license license:bsd-3)))
11586
4c77a1a0
JS
11587(define-public ghc-special-values
11588 (package
11589 (name "ghc-special-values")
11590 (version "0.1.0.0")
11591 (source
11592 (origin
11593 (method url-fetch)
11594 (uri (string-append
11595 "https://hackage.haskell.org/package/special-values/"
11596 "special-values-" version ".tar.gz"))
11597 (sha256
11598 (base32
11599 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11600 (build-system haskell-build-system)
11601 (inputs
11602 `(("ghc-scientific" ,ghc-scientific)
11603 ("ghc-ieee754" ,ghc-ieee754)
11604 ("ghc-nats" ,ghc-nats)))
11605 (home-page
11606 "https://github.com/minad/special-values#readme")
11607 (synopsis "Typeclass providing special values")
11608 (description
11609 "Special values are provided by a SpecialValues typeclass. Those can be
11610used for example by QuickCheck, see quickcheck-special." )
11611 (license license:expat)))
11612
dddbc90c
RV
11613(define-public ghc-split
11614 (package
11615 (name "ghc-split")
11616 (version "0.2.3.3")
534d6caa 11617 (outputs '("out" "static" "doc"))
dddbc90c
RV
11618 (source
11619 (origin
11620 (method url-fetch)
11621 (uri (string-append
11622 "https://hackage.haskell.org/package/split/split-"
11623 version
11624 ".tar.gz"))
11625 (sha256
11626 (base32
11627 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11628 (build-system haskell-build-system)
9bbc21a7
TS
11629 (arguments
11630 `(#:cabal-revision
11631 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11632 (native-inputs
11633 `(("ghc-quickcheck" ,ghc-quickcheck)))
11634 (home-page "https://hackage.haskell.org/package/split")
11635 (synopsis "Combinator library for splitting lists")
11636 (description "This package provides a collection of Haskell functions for
11637splitting lists into parts, akin to the @code{split} function found in several
11638mainstream languages.")
11639 (license license:bsd-3)))
11640
7799d17f 11641(define-public ghc-splitmix
49367c92 11642 (package
7799d17f 11643 (name "ghc-splitmix")
49367c92
TS
11644 (version "0.0.3")
11645 (source
11646 (origin
11647 (method url-fetch)
11648 (uri (string-append "https://hackage.haskell.org/package/"
11649 "splitmix/splitmix-" version ".tar.gz"))
11650 (sha256
11651 (base32
11652 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11653 (build-system haskell-build-system)
49367c92
TS
11654 (inputs
11655 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11656 (native-inputs
11657 `(("ghc-hunit" ,ghc-hunit)
11658 ("ghc-async" ,ghc-async)
11659 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11660 ("ghc-tf-random" ,ghc-tf-random)
11661 ("ghc-vector" ,ghc-vector)))
92a79fee 11662 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11663 (synopsis "Fast and splittable pseudorandom number generator")
11664 (description "This package provides a Pure Haskell implementation of the
11665SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11666pseudorandom number generator that is quite fast: 9 64-bit
11667arithmetic/logical operations per 64 bits generated. SplitMix is tested
11668with two standard statistical test suites (DieHarder and TestU01, this
11669implementation only using the former) and it appears to be adequate for
11670\"everyday\" use, such as Monte Carlo algorithms and randomized data
11671structures where speed is important. In particular, it @strong{should not
11672be used for cryptographic or security applications}, because generated
11673sequences of pseudorandom values are too predictable (the mixing functions
11674are easily inverted, and two successive outputs suffice to reconstruct the
11675internal state).")
11676 (license license:bsd-3)))
11677
7799d17f
TS
11678(define-public ghc-splitmix-bootstrap
11679 (package
11680 (inherit ghc-splitmix)
11681 (name "ghc-splitmix-bootstrap")
11682 (arguments `(#:tests? #f))
11683 (native-inputs '())
11684 (properties '((hidden? #t)))))
11685
a152258b
JS
11686(define-public ghc-spoon
11687 (package
11688 (name "ghc-spoon")
11689 (version "0.3.1")
11690 (source
11691 (origin
11692 (method url-fetch)
11693 (uri (string-append
11694 "https://hackage.haskell.org/package/spoon/spoon-"
11695 version
11696 ".tar.gz"))
11697 (sha256
11698 (base32
11699 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11700 (build-system haskell-build-system)
11701 (arguments
11702 `(#:cabal-revision
11703 ("1"
11704 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11705 (home-page
11706 "http://hackage.haskell.org/package/spoon")
11707 (synopsis
11708 "Catch errors thrown from pure computations")
11709 (description
11710 "Takes an error-throwing expression and puts it back in the Maybe it
11711belongs in.
11712
11713Note that this suffers from the
11714@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11715 (license license:bsd-3)))
11716
dddbc90c
RV
11717(define-public ghc-statevar
11718 (package
11719 (name "ghc-statevar")
19419709 11720 (version "1.2")
dddbc90c
RV
11721 (source
11722 (origin
11723 (method url-fetch)
11724 (uri (string-append
11725 "https://hackage.haskell.org/package/StateVar/StateVar-"
11726 version
11727 ".tar.gz"))
11728 (sha256
11729 (base32
19419709 11730 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11731 (build-system haskell-build-system)
11732 (home-page "https://hackage.haskell.org/package/StateVar")
11733 (synopsis "State variables for Haskell")
11734 (description "This package provides state variables, which are references
11735in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11736 (license license:bsd-3)))
11737
11738(define-public ghc-statistics
11739 (package
11740 (name "ghc-statistics")
60e78e68 11741 (version "0.15.1.1")
dddbc90c
RV
11742 (source
11743 (origin
11744 (method url-fetch)
11745 (uri (string-append "https://hackage.haskell.org/package/"
11746 "statistics-" version "/"
11747 "statistics-" version ".tar.gz"))
11748 (sha256
11749 (base32
60e78e68 11750 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11751 (build-system haskell-build-system)
11752 (arguments
60e78e68 11753 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11754 #:tests? #f))
11755 (inputs
11756 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11757 ("ghc-async" ,ghc-async)
dddbc90c 11758 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11759 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11760 ("ghc-math-functions" ,ghc-math-functions)
11761 ("ghc-monad-par" ,ghc-monad-par)
11762 ("ghc-mwc-random" ,ghc-mwc-random)
11763 ("ghc-primitive" ,ghc-primitive)
11764 ("ghc-vector" ,ghc-vector)
11765 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11766 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11767 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11768 (native-inputs
11769 `(("ghc-hunit" ,ghc-hunit)
11770 ("ghc-quickcheck" ,ghc-quickcheck)
11771 ("ghc-ieee754" ,ghc-ieee754)
11772 ("ghc-test-framework" ,ghc-test-framework)
11773 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11774 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11775 (home-page "https://github.com/bos/mwc-random")
11776 (synopsis "Haskell library of statistical types, data, and functions")
11777 (description "This library provides a number of common functions
11778and types useful in statistics. We focus on high performance, numerical
11779robustness, and use of good algorithms. Where possible, we provide references
11780to the statistical literature.
11781
11782The library's facilities can be divided into four broad categories:
11783
11784@itemize
11785@item Working with widely used discrete and continuous probability
11786distributions. (There are dozens of exotic distributions in use; we focus
11787on the most common.)
11788
11789@item Computing with sample data: quantile estimation, kernel density
11790estimation, histograms, bootstrap methods, significance testing,
11791and regression and autocorrelation analysis.
11792
11793@item Random variate generation under several different distributions.
11794
11795@item Common statistical tests for significant differences between samples.
11796@end itemize")
11797 (license license:bsd-2)))
11798
11799(define-public ghc-stm-chans
11800 (package
11801 (name "ghc-stm-chans")
11802 (version "3.0.0.4")
11803 (source
11804 (origin
11805 (method url-fetch)
11806 (uri (string-append "https://hackage.haskell.org/package/"
11807 "stm-chans-" version "/"
11808 "stm-chans-" version ".tar.gz"))
11809 (sha256
11810 (base32
11811 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11812 (build-system haskell-build-system)
11813 (home-page "https://hackage.haskell.org/package/stm-chans")
11814 (synopsis "Additional types of channels for ghc-stm")
11815 (description "This Haskell package offers a collection of channel types,
11816similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11817features.")
11818 (license license:bsd-3)))
11819
11820(define-public ghc-stm-conduit
11821 (package
11822 (name "ghc-stm-conduit")
cd518e95 11823 (version "4.0.1")
dddbc90c
RV
11824 (source
11825 (origin
11826 (method url-fetch)
11827 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11828 "stm-conduit-" version ".tar.gz"))
11829 (sha256
11830 (base32
cd518e95 11831 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11832 (build-system haskell-build-system)
11833 (inputs
11834 `(("ghc-stm-chans" ,ghc-stm-chans)
11835 ("ghc-cereal" ,ghc-cereal)
11836 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11837 ("ghc-conduit" ,ghc-conduit)
11838 ("ghc-conduit-extra" ,ghc-conduit-extra)
11839 ("ghc-exceptions" ,ghc-exceptions)
11840 ("ghc-resourcet" ,ghc-resourcet)
11841 ("ghc-async" ,ghc-async)
11842 ("ghc-monad-loops" ,ghc-monad-loops)
11843 ("ghc-unliftio" ,ghc-unliftio)))
11844 (native-inputs
11845 `(("ghc-doctest" ,ghc-doctest)
11846 ("ghc-quickcheck" ,ghc-quickcheck)
11847 ("ghc-hunit" ,ghc-hunit)
11848 ("ghc-test-framework" ,ghc-test-framework)
11849 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11850 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11851 (home-page "https://github.com/cgaebel/stm-conduit")
11852 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11853 (description
11854 "This package provides two simple conduit wrappers around STM channels: a
11855source and a sink.")
11856 (license license:bsd-3)))
11857
11858(define-public ghc-stmonadtrans
11859 (package
11860 (name "ghc-stmonadtrans")
11861 (version "0.4.3")
11862 (source
11863 (origin
11864 (method url-fetch)
11865 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11866 "/STMonadTrans-" version ".tar.gz"))
11867 (sha256
11868 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11869 (build-system haskell-build-system)
11870 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11871 (synopsis "Monad transformer version of the ST monad")
11872 (description
11873 "This package provides a monad transformer version of the @code{ST} monad
11874for strict state threads.")
11875 (license license:bsd-3)))
11876
11877(define-public ghc-storable-complex
11878 (package
11879 (name "ghc-storable-complex")
4a35e3c3 11880 (version "0.2.3.0")
dddbc90c
RV
11881 (source
11882 (origin
11883 (method url-fetch)
11884 (uri (string-append
11885 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11886 version ".tar.gz"))
11887 (sha256
4a35e3c3 11888 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11889 (build-system haskell-build-system)
4a35e3c3
TS
11890 (inputs
11891 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11892 (home-page "https://github.com/cartazio/storable-complex")
11893 (synopsis "Haskell Storable instance for Complex")
11894 (description "This package provides a Haskell library including a
11895Storable instance for Complex which is binary compatible with C99, C++
11896and Fortran complex data types.")
11897 (license license:bsd-3)))
11898
ad80074a
JS
11899(define-public ghc-storable-record
11900 (package
11901 (name "ghc-storable-record")
11902 (version "0.0.4")
11903 (source
11904 (origin
11905 (method url-fetch)
11906 (uri
11907 (string-append
11908 "https://hackage.haskell.org/package/storable-record/"
11909 "storable-record-" version ".tar.gz"))
11910 (sha256
11911 (base32
11912 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11913 (build-system haskell-build-system)
11914 (inputs
11915 `(("ghc-semigroups" ,ghc-semigroups)
11916 ("ghc-utility-ht" ,ghc-utility-ht)
11917 ("ghc-storablevector" ,ghc-storablevector)
11918 ("ghc-timeit" ,ghc-timeit)))
11919 (home-page "https://hackage.haskell.org/package/storable-record")
11920 (synopsis "Elegant definition of Storable instances for records")
11921 (description "With this package you can build a Storable instance of
11922a record type from Storable instances of its elements in an elegant way.
11923It does not do any magic, just a bit arithmetic to compute the right
11924offsets, that would be otherwise done manually or by a preprocessor like
11925C2HS. There is no guarantee that the generated memory layout is
11926compatible with that of a corresponding C struct. However, the module
11927generates the smallest layout that is possible with respect to the
11928alignment of the record elements.")
11929 (license license:bsd-3)))
11930
55f4c653
JS
11931(define-public ghc-storable-tuple
11932 (package
11933 (name "ghc-storable-tuple")
11934 (version "0.0.3.3")
11935 (source
11936 (origin
11937 (method url-fetch)
11938 (uri
11939 (string-append
11940 "https://hackage.haskell.org/package/storable-tuple/"
11941 "storable-tuple-" version ".tar.gz"))
11942 (sha256
11943 (base32
11944 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11945 (build-system haskell-build-system)
11946 (inputs
11947 `(("ghc-storable-record" ,ghc-storable-record)
11948 ("ghc-utility-ht" ,ghc-utility-ht)
11949 ("ghc-base-orphans" ,ghc-base-orphans)))
11950 (home-page "https://hackage.haskell.org/package/storable-tuple")
11951 (synopsis "Storable instance for pairs and triples")
11952 (description "This package provides a Storable instance for pairs
11953and triples which should be binary compatible with C99 and C++. The
11954only purpose of this package is to provide a standard location for this
11955instance so that other packages needing this instance can play nicely
11956together.")
11957 (license license:bsd-3)))
11958
bc06ca45
JS
11959(define-public ghc-storablevector
11960 (package
11961 (name "ghc-storablevector")
11962 (version "0.2.13")
11963 (source
11964 (origin
11965 (method url-fetch)
11966 (uri
11967 (string-append
11968 "https://hackage.haskell.org/package/storablevector/storablevector-"
11969 version ".tar.gz"))
11970 (sha256
11971 (base32
11972 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11973 (build-system haskell-build-system)
11974 (inputs
11975 `(("ghc-non-negative" ,ghc-non-negative)
11976 ("ghc-utility-ht" ,ghc-utility-ht)
11977 ("ghc-semigroups" ,ghc-semigroups)
11978 ("ghc-unsafe" ,ghc-unsafe)
11979 ("ghc-quickcheck" ,ghc-quickcheck)
11980 ("ghc-syb" ,ghc-syb)))
228d2901 11981 (home-page "https://wiki.haskell.org/Storable_Vector")
bc06ca45
JS
11982 (synopsis "Fast, packed, strict storable arrays with a list interface")
11983 (description "This library provides fast, packed, strict storable
11984arrays with a list interface, a chunky lazy list interface with variable
11985chunk size and an interface for write access via the ST monad. This is
11986much like bytestring and binary but can be used for every
11987@code{Foreign.Storable.Storable} type. See also
11988@url{http://hackage.haskell.org/package/vector}, a library with a
11989similar intention.
11990
11991This library does not do advanced fusion optimization, since especially
11992for lazy vectors this would either be incorrect or not applicable. See
11993@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11994a library that provides fusion with lazy lists.")
11995 (license license:bsd-3)))
11996
dddbc90c
RV
11997(define-public ghc-streaming-commons
11998 (package
11999 (name "ghc-streaming-commons")
12000 (version "0.2.1.1")
12001 (source
12002 (origin
12003 (method url-fetch)
12004 (uri (string-append "https://hackage.haskell.org/package/"
12005 "streaming-commons/streaming-commons-"
12006 version ".tar.gz"))
12007 (sha256
12008 (base32
12009 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
12010 (build-system haskell-build-system)
12011 (inputs
12012 `(("ghc-async" ,ghc-async)
12013 ("ghc-blaze-builder" ,ghc-blaze-builder)
12014 ("ghc-network" ,ghc-network)
12015 ("ghc-random" ,ghc-random)
12016 ("ghc-zlib" ,ghc-zlib)))
12017 (native-inputs
12018 `(("ghc-quickcheck" ,ghc-quickcheck)
12019 ("ghc-hspec" ,ghc-hspec)
12020 ("hspec-discover" ,hspec-discover)))
12021 (home-page "https://hackage.haskell.org/package/streaming-commons")
12022 (synopsis "Conduit and pipes needed by some streaming data libraries")
12023 (description "This package provides low-dependency functionality commonly
12024needed by various Haskell streaming data libraries, such as @code{conduit} and
12025@code{pipe}s.")
12026 (license license:expat)))
12027
12028(define-public ghc-strict
12029 (package
12030 (name "ghc-strict")
12031 (version "0.3.2")
12032 (source
12033 (origin
12034 (method url-fetch)
12035 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12036 version ".tar.gz"))
12037 (sha256
12038 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12039 (build-system haskell-build-system)
12040 (home-page "https://hackage.haskell.org/package/strict")
12041 (synopsis "Strict data types and String IO")
12042 (description
12043 "This package provides strict versions of some standard Haskell data
12044types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12045IO operations.")
12046 (license license:bsd-3)))
12047
12048(define-public ghc-stringbuilder
12049 (package
12050 (name "ghc-stringbuilder")
12051 (version "0.5.1")
12052 (source
12053 (origin
12054 (method url-fetch)
12055 (uri (string-append
12056 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12057 version
12058 ".tar.gz"))
12059 (sha256
12060 (base32
12061 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12062 (build-system haskell-build-system)
12063 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12064 ; enabled
12065 (home-page "https://hackage.haskell.org/package/stringbuilder")
12066 (synopsis "Writer monad for multi-line string literals")
12067 (description "This package provides a writer monad for multi-line string
12068literals.")
12069 (license license:expat)))
12070
12071(define-public ghc-string-qq
12072 (package
12073 (name "ghc-string-qq")
4d6fddc3 12074 (version "0.0.4")
dddbc90c
RV
12075 (source
12076 (origin
12077 (method url-fetch)
12078 (uri (string-append
12079 "https://hackage.haskell.org/package/string-qq/string-qq-"
12080 version
12081 ".tar.gz"))
12082 (sha256
12083 (base32
4d6fddc3 12084 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12085 (build-system haskell-build-system)
4d6fddc3
TS
12086 (native-inputs
12087 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12088 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12089 (synopsis
12090 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12091 (description
12092 "This package provides a quasiquoter for non-interpolated strings, texts
12093and bytestrings.")
12094 (license license:public-domain)))
12095
12096(define-public ghc-stringsearch
12097 (package
12098 (name "ghc-stringsearch")
12099 (version "0.3.6.6")
12100 (source
12101 (origin
12102 (method url-fetch)
12103 (uri (string-append
12104 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12105 version
12106 ".tar.gz"))
12107 (sha256
12108 (base32
12109 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12110 (build-system haskell-build-system)
e2303abb
TS
12111 (arguments
12112 `(#:cabal-revision
12113 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12114 (home-page "https://bitbucket.org/dafis/stringsearch")
12115 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12116 (description "This package provides several functions to quickly search
12117for substrings in strict or lazy @code{ByteStrings}. It also provides
12118functions for breaking or splitting on substrings and replacing all
12119occurrences of a substring (the first in case of overlaps) with another.")
12120 (license license:bsd-3)))
12121
dcf3f8f4
TS
12122(define-public ghc-svg-builder
12123 (package
12124 (name "ghc-svg-builder")
12125 (version "0.1.1")
12126 (source
12127 (origin
12128 (method url-fetch)
12129 (uri (string-append "https://hackage.haskell.org/package/"
12130 "svg-builder/svg-builder-" version ".tar.gz"))
12131 (sha256
12132 (base32
12133 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12134 (build-system haskell-build-system)
12135 (inputs
12136 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12137 ("ghc-hashable" ,ghc-hashable)
12138 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12139 (arguments
12140 `(#:cabal-revision
12141 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12142 (home-page "https://github.com/diagrams/svg-builder.git")
12143 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12144 (description "Easy-to-write domain-specific language (DSL) for
12145building Scalable Vector Graphics (SVG).")
12146 (license license:bsd-3)))
12147
dddbc90c
RV
12148(define-public ghc-syb
12149 (package
12150 (name "ghc-syb")
07d65eef 12151 (version "0.7.1")
534d6caa 12152 (outputs '("out" "static" "doc"))
dddbc90c
RV
12153 (source
12154 (origin
12155 (method url-fetch)
12156 (uri (string-append
12157 "https://hackage.haskell.org/package/syb/syb-"
12158 version
12159 ".tar.gz"))
12160 (sha256
12161 (base32
07d65eef 12162 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12163 (build-system haskell-build-system)
12164 (inputs
12165 `(("ghc-hunit" ,ghc-hunit)))
12166 (home-page
12167 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12168 (synopsis "Scrap Your Boilerplate")
12169 (description "This package contains the generics system described in the
12170/Scrap Your Boilerplate/ papers (see
12171@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12172defines the @code{Data} class of types permitting folding and unfolding of
12173constructor applications, instances of this class for primitive types, and a
12174variety of traversals.")
12175 (license license:bsd-3)))
12176
12177(define-public ghc-system-fileio
12178 (package
12179 (name "ghc-system-fileio")
dcfb99d4 12180 (version "0.3.16.4")
dddbc90c
RV
12181 (source
12182 (origin
12183 (method url-fetch)
12184 (uri (string-append
12185 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12186 version ".tar.gz"))
12187 (sha256
12188 (base32
dcfb99d4 12189 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12190 (build-system haskell-build-system)
dcfb99d4
TS
12191 (arguments
12192 `(#:phases
12193 (modify-phases %standard-phases
12194 (add-before 'configure 'update-constraints
12195 (lambda _
12196 (substitute* "system-fileio.cabal"
12197 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12198 #t)))))
dddbc90c
RV
12199 (inputs
12200 `(("ghc-system-filepath" ,ghc-system-filepath)
12201 ("ghc-chell" ,ghc-chell)
12202 ("ghc-temporary" ,ghc-temporary)))
12203 (home-page "https://github.com/fpco/haskell-filesystem")
12204 (synopsis "Consistent file system interaction across GHC versions")
12205 (description
12206 "This is a small wrapper around the directory, unix, and Win32 packages,
12207for use with system-filepath. It provides a consistent API to the various
12208versions of these packages distributed with different versions of GHC.
12209In particular, this library supports working with POSIX files that have paths
12210which can't be decoded in the current locale encoding.")
12211 (license license:expat)))
12212
12213;; See ghc-system-filepath-bootstrap. In addition this package depends on
12214;; ghc-system-filepath.
12215(define ghc-system-fileio-bootstrap
12216 (package
12217 (name "ghc-system-fileio-bootstrap")
12218 (version "0.3.16.3")
12219 (source
12220 (origin
12221 (method url-fetch)
12222 (uri (string-append
12223 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12224 version ".tar.gz"))
12225 (sha256
12226 (base32
12227 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12228 (build-system haskell-build-system)
12229 (arguments
12230 `(#:tests? #f))
12231 (inputs
12232 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12233 ("ghc-temporary" ,ghc-temporary)))
12234 (home-page "https://github.com/fpco/haskell-filesystem")
12235 (synopsis "Consistent file system interaction across GHC versions")
12236 (description
12237 "This is a small wrapper around the directory, unix, and Win32 packages,
12238for use with system-filepath. It provides a consistent API to the various
12239versions of these packages distributed with different versions of GHC.
12240In particular, this library supports working with POSIX files that have paths
12241which can't be decoded in the current locale encoding.")
12242 (license license:expat)))
12243
12244
12245(define-public ghc-system-filepath
12246 (package
12247 (name "ghc-system-filepath")
12248 (version "0.4.14")
12249 (source
12250 (origin
12251 (method url-fetch)
12252 (uri (string-append
12253 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12254 version ".tar.gz"))
12255 (sha256
12256 (base32
12257 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12258 (build-system haskell-build-system)
12259 ;; FIXME: One of the tests fails:
12260 ;; [ FAIL ] tests.validity.posix
12261 ;; note: seed=7310214548328823169
12262 ;; *** Failed! Falsifiable (after 24 tests):
12263 ;; 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"
12264 (arguments `(#:tests? #f))
12265 (inputs
12266 `(("ghc-chell" ,ghc-chell)
12267 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12268 ("ghc-quickcheck" ,ghc-quickcheck)))
12269 (home-page "https://github.com/fpco/haskell-filesystem")
12270 (synopsis "High-level, byte-based file and directory path manipulations")
12271 (description
12272 "Provides a FilePath datatype and utility functions for operating on it.
12273Unlike the filepath package, this package does not simply reuse String,
12274increasing type safety.")
12275 (license license:expat)))
12276
12277;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12278;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12279;; which depends on ghc-chell and ghc-chell-quickcheck.
12280;; Therefore we bootstrap it with tests disabled.
12281(define ghc-system-filepath-bootstrap
12282 (package
12283 (name "ghc-system-filepath-bootstrap")
12284 (version "0.4.14")
12285 (source
12286 (origin
12287 (method url-fetch)
12288 (uri (string-append
12289 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12290 version ".tar.gz"))
12291 (sha256
12292 (base32
12293 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12294 (build-system haskell-build-system)
12295 (arguments
12296 `(#:tests? #f))
12297 (inputs
12298 `(("ghc-quickcheck" ,ghc-quickcheck)))
12299 (home-page "https://github.com/fpco/haskell-filesystem")
12300 (synopsis "High-level, byte-based file and directory path manipulations")
12301 (description
12302 "Provides a FilePath datatype and utility functions for operating on it.
12303Unlike the filepath package, this package does not simply reuse String,
12304increasing type safety.")
12305 (license license:expat)))
12306
12307
12308(define-public ghc-tagged
12309 (package
12310 (name "ghc-tagged")
f0f3756a 12311 (version "0.8.6")
dddbc90c
RV
12312 (source
12313 (origin
12314 (method url-fetch)
12315 (uri (string-append
12316 "https://hackage.haskell.org/package/tagged/tagged-"
12317 version
12318 ".tar.gz"))
12319 (sha256
12320 (base32
f0f3756a 12321 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12322 (build-system haskell-build-system)
12323 (arguments
12324 `(#:cabal-revision
f0f3756a 12325 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12326 (inputs
12327 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12328 (home-page "https://hackage.haskell.org/package/tagged")
12329 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12330 (description "This library provides phantom types for Haskell 98, to avoid
12331having to unsafely pass dummy arguments.")
12332 (license license:bsd-3)))
12333
12334(define-public ghc-tar
12335 (package
12336 (name "ghc-tar")
ec83929f 12337 (version "0.5.1.1")
dddbc90c
RV
12338 (source
12339 (origin
12340 (method url-fetch)
12341 (uri (string-append
12342 "https://hackage.haskell.org/package/tar/tar-"
12343 version ".tar.gz"))
12344 (sha256
12345 (base32
ec83929f 12346 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12347 (build-system haskell-build-system)
12348 ;; FIXME: 2/24 tests fail.
12349 (arguments `(#:tests? #f))
12350 (inputs
12351 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12352 ("ghc-quickcheck" ,ghc-quickcheck)
12353 ("ghc-tasty" ,ghc-tasty)
12354 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12355 (home-page "https://hackage.haskell.org/package/tar")
12356 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12357 (description
12358 "This library is for working with \\\"@.tar@\\\" archive files.
12359It can read and write a range of common variations of the tar archive format
12360including V7, POSIX USTAR and GNU formats. It provides support for packing and
12361unpacking portable archives. This makes it suitable for distribution but not
12362backup because details like file ownership and exact permissions are not
12363preserved. It also provides features for random access to archive content using
12364an index.")
12365 (license license:bsd-3)))
12366
f8d17902
TS
12367(define-public ghc-tar-conduit
12368 (package
12369 (name "ghc-tar-conduit")
12370 (version "0.3.2")
12371 (source
12372 (origin
12373 (method url-fetch)
12374 (uri (string-append "https://hackage.haskell.org/package/"
12375 "tar-conduit/tar-conduit-" version ".tar.gz"))
12376 (sha256
12377 (base32
12378 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12379 (build-system haskell-build-system)
12380 (inputs
12381 `(("ghc-conduit" ,ghc-conduit)
12382 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12383 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12384 (native-inputs
12385 `(("ghc-quickcheck" ,ghc-quickcheck)
12386 ("ghc-conduit-extra" ,ghc-conduit-extra)
12387 ("ghc-hspec" ,ghc-hspec)
12388 ("ghc-hspec" ,ghc-hspec)
12389 ("ghc-weigh" ,ghc-weigh)))
12390 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12391 (synopsis "Extract and create tar files using conduit for streaming")
12392 (description "This library provides a conduit-based, streaming
12393interface for extracting and creating tar files.")
12394 (license license:expat)))
12395
dddbc90c
RV
12396(define-public ghc-temporary
12397 (package
12398 (name "ghc-temporary")
12399 (version "1.3")
12400 (source
12401 (origin
12402 (method url-fetch)
12403 (uri (string-append
12404 "https://hackage.haskell.org/package/temporary/temporary-"
12405 version
12406 ".tar.gz"))
12407 (sha256
12408 (base32
12409 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12410 (build-system haskell-build-system)
12411 (inputs
12412 `(("ghc-exceptions" ,ghc-exceptions)
12413 ("ghc-random" ,ghc-random)))
12414 (native-inputs
12415 `(("ghc-base-compat" ,ghc-base-compat)
12416 ("ghc-tasty" ,ghc-tasty)
12417 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12418 (home-page "https://www.github.com/batterseapower/temporary")
12419 (synopsis "Temporary file and directory support")
12420 (description "The functions for creating temporary files and directories
12421in the Haskelll base library are quite limited. This library just repackages
12422the Cabal implementations of its own temporary file and folder functions so
12423that you can use them without linking against Cabal or depending on it being
12424installed.")
12425 (license license:bsd-3)))
12426
12427(define-public ghc-temporary-rc
12428 (package
12429 (name "ghc-temporary-rc")
12430 (version "1.2.0.3")
12431 (source
12432 (origin
12433 (method url-fetch)
12434 (uri (string-append
12435 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12436 version
12437 ".tar.gz"))
12438 (sha256
12439 (base32
12440 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12441 (build-system haskell-build-system)
12442 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12443 (home-page
12444 "https://www.github.com/feuerbach/temporary")
12445 (synopsis
12446 "Portable temporary file and directory support")
12447 (description
12448 "The functions for creating temporary files and directories in the base
12449library are quite limited. The unixutils package contains some good ones, but
12450they aren't portable to Windows. This library just repackages the Cabal
12451implementations of its own temporary file and folder functions so that you can
12452use them without linking against Cabal or depending on it being installed.
12453This is a better maintained fork of the \"temporary\" package.")
12454 (license license:bsd-3)))
12455
12456(define-public ghc-terminal-size
12457 (package
12458 (name "ghc-terminal-size")
12459 (version "0.3.2.1")
12460 (source (origin
12461 (method url-fetch)
12462 (uri (string-append
12463 "https://hackage.haskell.org/package/terminal-size/"
12464 "terminal-size-" version ".tar.gz"))
12465 (sha256
12466 (base32
12467 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12468 (build-system haskell-build-system)
12469 (home-page "https://hackage.haskell.org/package/terminal-size")
12470 (synopsis "Get terminal window height and width")
12471 (description "Get terminal window height and width without ncurses
12472dependency.")
12473 (license license:bsd-3)))
12474
12475(define-public ghc-texmath
12476 (package
12477 (name "ghc-texmath")
7fec7e66 12478 (version "0.11.3")
dddbc90c
RV
12479 (source (origin
12480 (method url-fetch)
12481 (uri (string-append "https://hackage.haskell.org/package/"
12482 "texmath/texmath-" version ".tar.gz"))
12483 (sha256
12484 (base32
7fec7e66 12485 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12486 (build-system haskell-build-system)
12487 (inputs
12488 `(("ghc-syb" ,ghc-syb)
12489 ("ghc-network-uri" ,ghc-network-uri)
12490 ("ghc-split" ,ghc-split)
12491 ("ghc-temporary" ,ghc-temporary)
12492 ("ghc-utf8-string" ,ghc-utf8-string)
12493 ("ghc-xml" ,ghc-xml)
12494 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12495 (home-page "https://github.com/jgm/texmath")
12496 (synopsis "Conversion between formats used to represent mathematics")
12497 (description
12498 "The texmath library provides functions to read and write TeX math,
12499presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12500Office). Support is also included for converting math formats to pandoc's
12501native format (allowing conversion, via pandoc, to a variety of different
12502markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12503it can parse and apply LaTeX macros.")
12504 (license license:gpl2+)))
12505
12506(define-public ghc-text-binary
12507 (package
12508 (name "ghc-text-binary")
12509 (version "0.2.1.1")
12510 (source
12511 (origin
12512 (method url-fetch)
12513 (uri (string-append "https://hackage.haskell.org/package/"
12514 "text-binary/text-binary-"
12515 version ".tar.gz"))
12516 (sha256
12517 (base32
12518 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12519 (build-system haskell-build-system)
12520 (home-page "https://github.com/kawu/text-binary")
12521 (synopsis "Binary instances for text types")
12522 (description
12523 "This package provides a compatibility layer providing @code{Binary}
12524instances for strict and lazy text types for versions older than 1.2.1 of the
12525text package.")
12526 (license license:bsd-2)))
12527
714e5605
JS
12528(define-public ghc-text-manipulate
12529 (package
12530 (name "ghc-text-manipulate")
12531 (version "0.2.0.1")
12532 (source
12533 (origin
12534 (method url-fetch)
12535 (uri (string-append
12536 "https://hackage.haskell.org/package/text-manipulate"
12537 "/text-manipulate-"
12538 version
12539 ".tar.gz"))
12540 (sha256
12541 (base32
12542 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12543 (build-system haskell-build-system)
12544 (native-inputs
12545 `(("ghc-tasty" ,ghc-tasty)
12546 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12547 (home-page
12548 "https://github.com/brendanhay/text-manipulate")
12549 (synopsis
12550 "Case conversion, word boundary manipulation, and textual subjugation")
12551 (description
12552 "Manipulate identifiers and structurally non-complex pieces of text by
12553delimiting word boundaries via a combination of whitespace,
12554control-characters, and case-sensitivity.
12555
12556Has support for common idioms like casing of programmatic variable names,
12557taking, dropping, and splitting by word, and modifying the first character of
12558a piece of text.
12559
12560Caution: this library makes heavy use of the text library's internal loop
12561optimisation framework. Since internal modules are not guaranteed to have a
12562stable API there is potential for build breakage when the text dependency is
12563upgraded. Consider yourself warned!")
12564 (license license:mpl2.0)))
12565
bdc877c4
TS
12566(define-public ghc-text-metrics
12567 (package
12568 (name "ghc-text-metrics")
12569 (version "0.3.0")
12570 (source
12571 (origin
12572 (method url-fetch)
12573 (uri (string-append "https://hackage.haskell.org/package/"
12574 "text-metrics/text-metrics-" version ".tar.gz"))
12575 (sha256
12576 (base32
12577 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12578 (build-system haskell-build-system)
12579 (inputs
12580 `(("ghc-vector" ,ghc-vector)))
12581 (native-inputs
12582 `(("ghc-quickcheck" ,ghc-quickcheck)
12583 ("ghc-hspec" ,ghc-hspec)))
12584 (arguments
12585 `(#:cabal-revision
12586 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12587 (home-page "https://github.com/mrkkrp/text-metrics")
12588 (synopsis "Calculate various string metrics efficiently")
12589 (description "This library provides tools to calculate various
12590string metrics efficiently.")
12591 (license license:bsd-3)))
12592
dddbc90c
RV
12593(define-public ghc-tf-random
12594 (package
12595 (name "ghc-tf-random")
12596 (version "0.5")
534d6caa 12597 (outputs '("out" "static" "doc"))
dddbc90c
RV
12598 (source
12599 (origin
12600 (method url-fetch)
12601 (uri (string-append
12602 "https://hackage.haskell.org/package/tf-random/tf-random-"
12603 version
12604 ".tar.gz"))
12605 (sha256
12606 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12607 (build-system haskell-build-system)
12608 (inputs
12609 `(("ghc-primitive" ,ghc-primitive)
12610 ("ghc-random" ,ghc-random)))
12611 (home-page "https://hackage.haskell.org/package/tf-random")
12612 (synopsis "High-quality splittable pseudorandom number generator")
12613 (description "This package contains an implementation of a high-quality
12614splittable pseudorandom number generator. The generator is based on a
12615cryptographic hash function built on top of the ThreeFish block cipher. See
12616the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12617Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12618 (license license:bsd-3)))
12619
12620(define-public ghc-th-abstraction
12621 (package
12622 (name "ghc-th-abstraction")
1188eabb 12623 (version "0.3.1.0")
dddbc90c
RV
12624 (source
12625 (origin
12626 (method url-fetch)
12627 (uri (string-append "https://hackage.haskell.org/package/"
12628 "th-abstraction/th-abstraction-"
12629 version ".tar.gz"))
12630 (sha256
12631 (base32
1188eabb 12632 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12633 (build-system haskell-build-system)
12634 (home-page "https://github.com/glguy/th-abstraction")
12635 (synopsis "Nicer interface for reified information about data types")
12636 (description
12637 "This package normalizes variations in the interface for inspecting
12638datatype information via Template Haskell so that packages and support a
12639single, easier to use informational datatype while supporting many versions of
12640Template Haskell.")
12641 (license license:isc)))
12642
12643(define-public ghc-th-expand-syns
12644 (package
12645 (name "ghc-th-expand-syns")
8c766600 12646 (version "0.4.5.0")
dddbc90c
RV
12647 (source (origin
12648 (method url-fetch)
12649 (uri (string-append "https://hackage.haskell.org/package/"
12650 "th-expand-syns/th-expand-syns-"
12651 version ".tar.gz"))
12652 (sha256
12653 (base32
8c766600 12654 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12655 (build-system haskell-build-system)
12656 (inputs
12657 `(("ghc-syb" ,ghc-syb)))
12658 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12659 (synopsis "Expands type synonyms in Template Haskell ASTs")
12660 (description
12661 "This package enables users to expand type synonyms in Template Haskell
12662@dfn{abstract syntax trees} (ASTs).")
12663 (license license:bsd-3)))
12664
12665(define-public ghc-th-lift
12666 (package
12667 (name "ghc-th-lift")
bd76b20a 12668 (version "0.8.0.1")
dddbc90c
RV
12669 (source (origin
12670 (method url-fetch)
12671 (uri (string-append "https://hackage.haskell.org/package/"
12672 "th-lift/th-lift-" version ".tar.gz"))
12673 (sha256
12674 (base32
bd76b20a 12675 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12676 (build-system haskell-build-system)
12677 (inputs
12678 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12679 (home-page "https://github.com/mboes/th-lift")
12680 (synopsis "Derive Template Haskell's Lift class for datatypes")
12681 (description
12682 "This is a Haskell library to derive Template Haskell's Lift class for
12683datatypes.")
12684 (license license:bsd-3)))
12685
12686(define-public ghc-th-lift-instances
12687 (package
12688 (name "ghc-th-lift-instances")
d3db399e 12689 (version "0.1.14")
dddbc90c
RV
12690 (source
12691 (origin
12692 (method url-fetch)
12693 (uri (string-append "https://hackage.haskell.org/package/"
12694 "th-lift-instances/th-lift-instances-"
12695 version ".tar.gz"))
12696 (sha256
12697 (base32
d3db399e 12698 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12699 (build-system haskell-build-system)
12700 (inputs
12701 `(("ghc-th-lift" ,ghc-th-lift)
12702 ("ghc-vector" ,ghc-vector)
12703 ("ghc-quickcheck" ,ghc-quickcheck)))
12704 (home-page "https://github.com/bennofs/th-lift-instances/")
12705 (synopsis "Lift instances for template-haskell for common data types.")
12706 (description "Most data types in the Haskell platform do not have Lift
12707instances. This package provides orphan instances for @code{containers},
12708@code{text}, @code{bytestring} and @code{vector}.")
12709 (license license:bsd-3)))
12710
12711(define-public ghc-th-orphans
12712 (package
12713 (name "ghc-th-orphans")
882b23e2 12714 (version "0.13.9")
dddbc90c
RV
12715 (source (origin
12716 (method url-fetch)
12717 (uri (string-append "https://hackage.haskell.org/package/"
12718 "th-orphans/th-orphans-" version ".tar.gz"))
12719 (sha256
12720 (base32
882b23e2 12721 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12722 (build-system haskell-build-system)
12723 (inputs
12724 `(("ghc-th-lift" ,ghc-th-lift)
12725 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12726 ("ghc-th-reify-many" ,ghc-th-reify-many)
12727 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12728 (native-inputs
12729 `(("ghc-hspec" ,ghc-hspec)))
12730 (home-page "https://hackage.haskell.org/package/th-orphans")
12731 (synopsis "Orphan instances for TH datatypes")
12732 (description
12733 "This package provides orphan instances for Template Haskell datatypes. In particular,
12734instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12735and @code{Eq} instances. These instances used to live in the haskell-src-meta
12736package, and that's where the version number started.")
12737 (license license:bsd-3)))
12738
20c440ea
JS
12739(define-public ghc-these
12740 (package
12741 (name "ghc-these")
12742 (version "1.0.1")
12743 (source
12744 (origin
12745 (method url-fetch)
12746 (uri (string-append
12747 "https://hackage.haskell.org/package/these/these-"
12748 version
12749 ".tar.gz"))
12750 (sha256
12751 (base32
12752 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12753 (build-system haskell-build-system)
12754 (inputs
12755 `(("ghc-base-compat" ,ghc-base-compat)
12756 ("ghc-hashable" ,ghc-hashable)
12757 ("ghc-aeson" ,ghc-aeson)
12758 ("ghc-unordered-containers" ,ghc-unordered-containers)
12759 ("ghc-assoc" ,ghc-assoc)
12760 ("ghc-semigroupoids" ,ghc-semigroupoids)
12761 ("ghc-quickcheck" ,ghc-quickcheck)))
12762 (arguments
12763 `(#:cabal-revision
12764 ("1"
12765 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12766 (home-page
12767 "https://github.com/isomorphism/these")
12768 (synopsis "Either-or-both data type")
12769 (description
12770 "This package provides a data type @code{These a b} which can
12771hold a value of either type or values of each type. This is usually
12772thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12773\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12774as \"inner join\").
12775
12776@code{data These a b = This a | That b | These a b}
12777
12778Since version 1, this package was split into parts:
12779
12780@itemize
12781@item
12782https://hackage.haskell.org/package/semialign For @code{Align} and
12783@code{Zip} type-classes.
12784@item
12785https://hackage.haskell.org/package/semialign-indexed For
12786@code{SemialignWithIndex} class, providing @code{ialignWith} and
12787@code{izipWith}
12788@item
12789https://hackage.haskell.org/package/these-lens For lens combinators.
12790@item
12791http://hackage.haskell.org/package/monad-chronicle For transformers
12792variant of @code{These}.
12793@end itemize")
12794 (license license:bsd-3)))
12795
dddbc90c
RV
12796(define-public ghc-threads
12797 (package
12798 (name "ghc-threads")
12799 (version "0.5.1.6")
12800 (source
12801 (origin
12802 (method url-fetch)
12803 (uri (string-append "https://hackage.haskell.org/package/"
12804 "threads/threads-" version ".tar.gz"))
12805 (sha256
12806 (base32
12807 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12808 (build-system haskell-build-system)
12809 (native-inputs
12810 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12811 ("ghc-hunit" ,ghc-hunit)
12812 ("ghc-test-framework" ,ghc-test-framework)
12813 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12814 (home-page "https://github.com/basvandijk/threads")
12815 (synopsis "Fork threads and wait for their result")
12816 (description "This package provides functions to fork threads and
12817wait for their result, whether it's an exception or a normal value.
12818Besides waiting for the termination of a single thread this package also
12819provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12820package is similar to the @code{threadmanager}, @code{async} and
12821@code{spawn} packages. The advantages of this package are:
12822
dddbc90c
RV
12823@itemize
12824@item Simpler API.
12825@item More efficient in both space and time.
12826@item No space-leak when forking a large number of threads.
12827@item Correct handling of asynchronous exceptions.
12828@item GHC specific functionality like @code{forkOn} and
12829@code{forkIOWithUnmask}.
12830@end itemize")
12831 (license license:bsd-3)))
12832
12833(define-public ghc-th-reify-many
12834 (package
12835 (name "ghc-th-reify-many")
32d4a6ae 12836 (version "0.1.9")
dddbc90c
RV
12837 (source (origin
12838 (method url-fetch)
12839 (uri (string-append "https://hackage.haskell.org/package/"
12840 "th-reify-many/th-reify-many-"
12841 version ".tar.gz"))
12842 (sha256
12843 (base32
32d4a6ae 12844 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12845 (build-system haskell-build-system)
12846 (inputs
12847 `(("ghc-safe" ,ghc-safe)
12848 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12849 (home-page "https://github.com/mgsloan/th-reify-many")
12850 (synopsis "Recurseively reify template haskell datatype info")
12851 (description
12852 "th-reify-many provides functions for recursively reifying top level
12853declarations. The main intended use case is for enumerating the names of
12854datatypes reachable from an initial datatype, and passing these names to some
12855function which generates instances.")
12856 (license license:bsd-3)))
12857
75cfc9a2
TS
12858(define-public ghc-time-compat
12859 (package
12860 (name "ghc-time-compat")
12861 (version "1.9.2.2")
12862 (source
12863 (origin
12864 (method url-fetch)
12865 (uri (string-append "https://hackage.haskell.org/package/"
12866 "time-compat/time-compat-" version ".tar.gz"))
12867 (sha256
12868 (base32
12869 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12870 (build-system haskell-build-system)
12871 (inputs
12872 `(("ghc-base-orphans" ,ghc-base-orphans)))
12873 (native-inputs
12874 `(("ghc-hunit" ,ghc-hunit)
12875 ("ghc-base-compat" ,ghc-base-compat)
12876 ("ghc-quickcheck" ,ghc-quickcheck)
12877 ("ghc-tagged" ,ghc-tagged)
12878 ("ghc-tasty" ,ghc-tasty)
12879 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12880 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12881 (arguments
12882 `(#:cabal-revision
12883 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12884 (home-page "https://github.com/phadej/time-compat")
12885 (synopsis "Compatibility package for time")
a8d73e69 12886 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12887features as possible.")
12888 (license license:bsd-3)))
12889
dddbc90c
RV
12890(define-public ghc-time-locale-compat
12891 (package
12892 (name "ghc-time-locale-compat")
12893 (version "0.1.1.5")
12894 (source
12895 (origin
12896 (method url-fetch)
12897 (uri (string-append "https://hackage.haskell.org/package/"
12898 "time-locale-compat/time-locale-compat-"
12899 version ".tar.gz"))
12900 (sha256
12901 (base32
12902 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12903 (build-system haskell-build-system)
12904 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12905 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12906 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12907 (description "This package contains a wrapped name module for
12908@code{TimeLocale}.")
12909 (license license:bsd-3)))
12910
c022a4d4
TS
12911(define-public ghc-time-manager
12912 (package
12913 (name "ghc-time-manager")
12914 (version "0.0.0")
12915 (source
12916 (origin
12917 (method url-fetch)
12918 (uri (string-append "https://hackage.haskell.org/package/"
12919 "time-manager/time-manager-" version ".tar.gz"))
12920 (sha256
12921 (base32
12922 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12923 (build-system haskell-build-system)
12924 (inputs
12925 `(("ghc-auto-update" ,ghc-auto-update)))
12926 (home-page "https://github.com/yesodweb/wai")
12927 (synopsis "Scalable timer")
12928 (description "This library contains scalable timer functions provided by a
12929timer manager.")
12930 (license license:expat)))
12931
7bbfa392
JS
12932(define-public ghc-timeit
12933 (package
12934 (name "ghc-timeit")
12935 (version "2.0")
12936 (source
12937 (origin
12938 (method url-fetch)
12939 (uri
12940 (string-append
12941 "https://hackage.haskell.org/package/timeit/timeit-"
12942 version ".tar.gz"))
12943 (sha256
12944 (base32
12945 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12946 (build-system haskell-build-system)
12947 (home-page "https://github.com/merijn/timeit")
12948 (synopsis "Time monadic computations with an IO base")
12949 (description "This package provides a simple wrapper to show the
12950used CPU time of monadic computation with an IO base.")
12951 (license license:bsd-3)))
12952
2ed8bd2d
JS
12953(define-public ghc-timezone-series
12954 (package
12955 (name "ghc-timezone-series")
12956 (version "0.1.9")
12957 (source
12958 (origin
12959 (method url-fetch)
12960 (uri
12961 (string-append
12962 "mirror://hackage/package/timezone-series/timezone-series-"
12963 version ".tar.gz"))
12964 (sha256
12965 (base32
12966 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12967 (build-system haskell-build-system)
12968 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12969 (synopsis "Enhanced timezone handling for Time")
12970 (description
12971 "This package endows @code{Data.Time}, from the time package, with several
12972data types and functions for enhanced processing of timezones. For one way to
12973create timezone series, see the ghc-timezone-olson package.")
12974 (license license:bsd-3)))
12975
ff0f5786
JS
12976(define-public ghc-timezone-olson
12977 (package
12978 (name "ghc-timezone-olson")
12979 (version "0.1.9")
12980 (source
12981 (origin
12982 (method url-fetch)
12983 (uri
12984 (string-append
12985 "mirror://hackage/package/timezone-olson/timezone-olson-"
12986 version ".tar.gz"))
12987 (sha256
12988 (base32
12989 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12990 (build-system haskell-build-system)
12991 (inputs
12992 `(("ghc-timezone-series" ,ghc-timezone-series)
12993 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12994 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12995 (synopsis "Parser and renderer for binary Olson timezone files")
12996 (description
12997 "A parser and renderer for binary Olson timezone files whose format
12998is specified by the tzfile(5) man page on Unix-like systems. For more
12999information about this format, see
13000@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
13001are provided for converting the parsed data into @code{TimeZoneSeries}
13002objects from the timezone-series package.")
13003 (license license:bsd-3)))
13004
dddbc90c
RV
13005(define-public ghc-tldr
13006 (package
13007 (name "ghc-tldr")
871ceb31 13008 (version "0.4.0.2")
dddbc90c
RV
13009 (source
13010 (origin
13011 (method url-fetch)
13012 (uri (string-append
13013 "https://hackage.haskell.org/package/tldr/tldr-"
13014 version
13015 ".tar.gz"))
13016 (sha256
13017 (base32
871ceb31 13018 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
13019 (build-system haskell-build-system)
13020 (inputs
13021 `(("ghc-cmark" ,ghc-cmark)
13022 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13023 ("ghc-typed-process" ,ghc-typed-process)
13024 ("ghc-semigroups" ,ghc-semigroups)))
13025 (native-inputs
13026 `(("ghc-tasty" ,ghc-tasty)
13027 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13028 (home-page "https://github.com/psibi/tldr-hs#readme")
13029 (synopsis "Haskell tldr client")
13030 (description "This package provides the @command{tldr} command and a
13031Haskell client library allowing users to update and view @code{tldr} pages
13032from a shell. The @code{tldr} pages are a community effort to simplify the
13033man pages with practical examples.")
13034 (license license:bsd-3)))
13035
460e4e42
JS
13036(define-public ghc-transformers
13037 (package
13038 (name "ghc-transformers")
13039 (version "0.5.6.2")
13040 (source
13041 (origin
13042 (method url-fetch)
13043 (uri (string-append
13044 "mirror://hackage/package/transformers/transformers-"
13045 version
13046 ".tar.gz"))
13047 (sha256
13048 (base32
13049 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13050 (build-system haskell-build-system)
13051 (home-page
13052 "http://hackage.haskell.org/package/transformers")
13053 (synopsis "Concrete functor and monad transformers")
13054 (description
13055 "Transformers provides functor and monad transformers, inspired by the
13056paper \"Functional Programming with Overloading and Higher-Order
13057Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130581995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13059
13060This package contains:
13061@itemize
13062@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13063@item concrete functor and monad transformers, each with associated operations
13064and functions to lift operations associated with other transformers.
13065@end itemize
13066
13067This package can be used on its own in portable Haskell code, in which case
13068operations need to be manually lifted through transformer stacks (see
13069@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13070used with the non-portable monad classes in the mtl or monads-tf packages,
13071which automatically lift operations introduced by monad transformers through
13072other transformers.")
13073 (license license:bsd-3)))
13074
dddbc90c
RV
13075(define-public ghc-transformers-base
13076 (package
13077 (name "ghc-transformers-base")
13078 (version "0.4.5.2")
13079 (source
13080 (origin
13081 (method url-fetch)
13082 (uri (string-append
13083 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13084 version
13085 ".tar.gz"))
13086 (sha256
13087 (base32
13088 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13089 (build-system haskell-build-system)
13090 (inputs
13091 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13092 (home-page
13093 "https://hackage.haskell.org/package/transformers-compat")
13094 (synopsis
13095 "Backported transformer library")
13096 (description
13097 "Backported versions of types that were added to transformers in
13098transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13099compatibility to run on old versions of the platform.")
13100 (license license:bsd-3)))
13101
13102(define-public ghc-transformers-compat
13103 (package
13104 (name "ghc-transformers-compat")
1c9c4d58 13105 (version "0.6.5")
dddbc90c
RV
13106 (source
13107 (origin
13108 (method url-fetch)
13109 (uri (string-append
13110 "https://hackage.haskell.org/package/transformers-compat"
13111 "/transformers-compat-" version ".tar.gz"))
13112 (sha256
13113 (base32
1c9c4d58 13114 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13115 (build-system haskell-build-system)
13116 (home-page "https://github.com/ekmett/transformers-compat/")
13117 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13118 (description "This package includes backported versions of types that were
13119added to transformers in transformers 0.3 and 0.4 for users who need strict
13120transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13121but also need those types.")
13122 (license license:bsd-3)))
13123
13124(define-public ghc-tree-diff
13125 (package
13126 (name "ghc-tree-diff")
b4e26067 13127 (version "0.1")
dddbc90c
RV
13128 (source
13129 (origin
13130 (method url-fetch)
13131 (uri (string-append
13132 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13133 version
13134 ".tar.gz"))
13135 (sha256
13136 (base32
b4e26067 13137 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13138 (build-system haskell-build-system)
dddbc90c
RV
13139 (inputs
13140 `(("ghc-aeson" ,ghc-aeson)
13141 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13142 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13143 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13144 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13145 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13146 ("ghc-parsers" ,ghc-parsers)
13147 ("ghc-quickcheck" ,ghc-quickcheck)
13148 ("ghc-scientific" ,ghc-scientific)
13149 ("ghc-tagged" ,ghc-tagged)
13150 ("ghc-unordered-containers" ,ghc-unordered-containers)
13151 ("ghc-uuid-types" ,ghc-uuid-types)
13152 ("ghc-vector" ,ghc-vector)))
13153 (native-inputs
13154 `(("ghc-base-compat" ,ghc-base-compat)
13155 ("ghc-quickcheck" ,ghc-quickcheck)
13156 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13157 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13158 ("ghc-trifecta" ,ghc-trifecta)
13159 ("ghc-tasty" ,ghc-tasty)
13160 ("ghc-tasty-golden" ,ghc-tasty-golden)
13161 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13162 (home-page "https://github.com/phadej/tree-diff")
13163 (synopsis "Compute difference between (expression) trees")
13164 (description "This Haskell library provides a function for computing
13165the difference between (expression) trees. It also provides a way to
13166compute the difference between arbitrary abstract datatypes (ADTs) using
13167@code{Generics}-derivable helpers.")
13168 (license license:bsd-3)))
13169
13170(define-public ghc-trifecta
13171 (package
13172 (name "ghc-trifecta")
13173 (version "2")
13174 (source (origin
13175 (method url-fetch)
13176 (uri (string-append
13177 "https://hackage.haskell.org/package/trifecta/"
13178 "trifecta-" version ".tar.gz"))
13179 (sha256
13180 (base32
13181 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13182 (build-system haskell-build-system)
5ffe8cfd
TS
13183 (arguments
13184 `(#:tests? #f ; doctest suite fails to build on i686
13185 #:cabal-revision
13186 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13187 (inputs
13188 `(("ghc-reducers" ,ghc-reducers)
13189 ("ghc-semigroups" ,ghc-semigroups)
13190 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13191 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13192 ("ghc-blaze-builder" ,ghc-blaze-builder)
13193 ("ghc-blaze-html" ,ghc-blaze-html)
13194 ("ghc-blaze-markup" ,ghc-blaze-markup)
13195 ("ghc-charset" ,ghc-charset)
13196 ("ghc-comonad" ,ghc-comonad)
13197 ("ghc-fingertree" ,ghc-fingertree)
13198 ("ghc-hashable" ,ghc-hashable)
13199 ("ghc-lens" ,ghc-lens)
13200 ("ghc-parsers" ,ghc-parsers)
13201 ("ghc-profunctors" ,ghc-profunctors)
13202 ("ghc-unordered-containers" ,ghc-unordered-containers)
13203 ("ghc-utf8-string" ,ghc-utf8-string)))
13204 (native-inputs
13205 `(("cabal-doctest" ,cabal-doctest)
13206 ("ghc-doctest" ,ghc-doctest)
13207 ("ghc-quickcheck" ,ghc-quickcheck)))
13208 (home-page "https://github.com/ekmett/trifecta/")
13209 (synopsis "Parser combinator library with convenient diagnostics")
13210 (description "Trifecta is a modern parser combinator library for Haskell,
13211with slicing and Clang-style colored diagnostics.")
13212 (license license:bsd-3)))
13213
13214(define-public ghc-tuple-th
13215 (package
13216 (name "ghc-tuple-th")
13217 (version "0.2.5")
13218 (source
13219 (origin
13220 (method url-fetch)
13221 (uri (string-append "https://hackage.haskell.org/package/"
13222 "tuple-th-" version "/"
13223 "tuple-th-" version ".tar.gz"))
13224 (sha256
13225 (base32
13226 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13227 (build-system haskell-build-system)
13228 (home-page "https://github.com/DanielSchuessler/tuple-th")
13229 (synopsis "Generate utility functions for tuples of statically known size
13230for Haskell")
13231 (description "This Haskell package contains Template Haskell functions for
13232generating functions similar to those in @code{Data.List} for tuples of
13233statically known size.")
13234 (license license:bsd-3)))
13235
9f776fe2
JS
13236(define-public ghc-turtle
13237 (package
13238 (name "ghc-turtle")
13239 (version "1.5.15")
13240 (source
13241 (origin
13242 (method url-fetch)
13243 (uri (string-append
13244 "mirror://hackage/package/turtle/turtle-"
13245 version
13246 ".tar.gz"))
13247 (sha256
13248 (base32
13249 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13250 (build-system haskell-build-system)
13251 (inputs
13252 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13253 ("ghc-async" ,ghc-async)
13254 ("ghc-clock" ,ghc-clock)
13255 ("ghc-exceptions" ,ghc-exceptions)
13256 ("ghc-foldl" ,ghc-foldl)
13257 ("ghc-hostname" ,ghc-hostname)
13258 ("ghc-managed" ,ghc-managed)
13259 ("ghc-semigroups" ,ghc-semigroups)
13260 ("ghc-system-filepath" ,ghc-system-filepath)
13261 ("ghc-system-fileio" ,ghc-system-fileio)
13262 ("ghc-streaming-commons" ,ghc-streaming-commons)
13263 ("ghc-temporary" ,ghc-temporary)
13264 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13265 ("ghc-optional-args" ,ghc-optional-args)
13266 ("ghc-unix-compat" ,ghc-unix-compat)))
13267 (native-inputs
13268 `(("ghc-doctest" ,ghc-doctest)
13269 ("ghc-fail" ,ghc-fail)))
13270 (arguments
13271 `(#:cabal-revision
13272 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13273 (home-page
13274 "http://hackage.haskell.org/package/turtle")
13275 (synopsis "Shell programming, Haskell-style")
13276 (description
13277 "Turtle is a reimplementation of the Unix command line environment in
13278Haskell so that you can use Haskell as both a shell and a scripting
13279language. Features include:
13280
13281@itemize
13282@item Batteries included: Command an extended suite of predefined utilities.
13283@item Interoperability: You can still run external shell commands.
13284@item Portability: Works on Windows, OS X, and Linux.
13285@item Exception safety: Safely acquire and release resources.
13286@item Streaming: Transform or fold command output in constant space.
13287@item Patterns: Use typed regular expressions that can parse structured values.
13288@item Formatting: Type-safe printf-style text formatting.
13289@item Modern: Supports text and system-filepath.
13290@end itemize
13291
13292Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13293quick-start guide. Turtle is designed to be beginner-friendly, but as a
13294result lacks certain features, like tracing commands. If you feel comfortable
13295using turtle then you should also check out the Shelly library which provides
13296similar functionality.")
13297 (license license:bsd-3)))
13298
dddbc90c
RV
13299(define-public ghc-typed-process
13300 (package
13301 (name "ghc-typed-process")
72fb84a5 13302 (version "0.2.6.0")
dddbc90c
RV
13303 (source
13304 (origin
13305 (method url-fetch)
13306 (uri (string-append "https://hackage.haskell.org/package/"
13307 "typed-process/typed-process-"
13308 version ".tar.gz"))
13309 (sha256
13310 (base32
72fb84a5 13311 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13312 (build-system haskell-build-system)
13313 (inputs
72fb84a5
TS
13314 `(("ghc-async" ,ghc-async)
13315 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13316 (native-inputs
13317 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13318 ("ghc-hspec" ,ghc-hspec)
13319 ("hspec-discover" ,hspec-discover)
13320 ("ghc-temporary" ,ghc-temporary)))
13321 (home-page "https://haskell-lang.org/library/typed-process")
13322 (synopsis "Run external processes with strong typing of streams")
13323 (description
13324 "This library provides the ability to launch and interact with external
13325processes. It wraps around the @code{process} library, and intends to improve
13326upon it.")
13327 (license license:expat)))
13328
d392f803
AG
13329(define-public ghc-unagi-chan
13330 (package
13331 (name "ghc-unagi-chan")
13332 (version "0.4.1.2")
13333 (source
13334 (origin
13335 (method url-fetch)
13336 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13337 "/unagi-chan-" version ".tar.gz"))
13338 (sha256
13339 (base32
13340 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13341 (build-system haskell-build-system)
13342 (inputs
13343 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13344 ("ghc-primitive" ,ghc-primitive)))
13345 (arguments
13346 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13347 #:cabal-revision
13348 ("1"
13349 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13350 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13351 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13352 (description
13353 "This library provides implementations of concurrent FIFO queues (for
13354both general boxed and primitive unboxed values) that are fast, perform well
13355under contention, and offer a Chan-like interface. The library may be of
13356limited usefulness outside of x86 architectures where the fetch-and-add
13357instruction is not available.")
13358 (license license:bsd-3)))
13359
dddbc90c
RV
13360(define-public ghc-unbounded-delays
13361 (package
13362 (name "ghc-unbounded-delays")
13363 (version "0.1.1.0")
13364 (source
13365 (origin
13366 (method url-fetch)
13367 (uri (string-append
13368 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13369 version
13370 ".tar.gz"))
13371 (sha256
13372 (base32
13373 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13374 (build-system haskell-build-system)
13375 (home-page "https://github.com/basvandijk/unbounded-delays")
13376 (synopsis "Unbounded thread delays and timeouts")
13377 (description "The @code{threadDelay} and @code{timeout} functions from the
13378Haskell base library use the bounded @code{Int} type for specifying the delay
13379or timeout period. This package provides alternative functions which use the
13380unbounded @code{Integer} type.")
13381 (license license:bsd-3)))
13382
13383(define-public ghc-unexceptionalio
13384 (package
13385 (name "ghc-unexceptionalio")
13386 (version "0.4.0")
13387 (source
13388 (origin
13389 (method url-fetch)
13390 (uri (string-append "https://hackage.haskell.org/package/"
13391 "unexceptionalio-" version "/" "unexceptionalio-"
13392 version ".tar.gz"))
13393 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13394 (build-system haskell-build-system)
13395 (home-page "https://github.com/singpolyma/unexceptionalio")
13396 (synopsis "IO without any non-error, synchronous exceptions")
13397 (description "When you've caught all the exceptions that can be
13398handled safely, this is what you're left with.")
13399 (license license:isc)))
13400
b69d4aa7
TS
13401(define-public ghc-unicode-transforms
13402 (package
13403 (name "ghc-unicode-transforms")
13404 (version "0.3.6")
13405 (source
13406 (origin
13407 (method url-fetch)
13408 (uri (string-append "https://hackage.haskell.org/package/"
13409 "unicode-transforms/unicode-transforms-"
13410 version ".tar.gz"))
13411 (sha256
13412 (base32
13413 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13414 (build-system haskell-build-system)
13415 (inputs
13416 `(("ghc-bitarray" ,ghc-bitarray)))
13417 (native-inputs
13418 `(("ghc-quickcheck" ,ghc-quickcheck)
13419 ("ghc-getopt-generics" ,ghc-getopt-generics)
13420 ("ghc-split" ,ghc-split)))
13421 (home-page "https://github.com/composewell/unicode-transforms")
13422 (synopsis "Unicode normalization")
13423 (description "This library provides tools for fast Unicode 12.1.0
13424normalization in Haskell (normalization forms C, KC, D, and KD).")
13425 (license license:bsd-3)))
13426
dddbc90c
RV
13427(define-public ghc-union-find
13428 (package
13429 (name "ghc-union-find")
13430 (version "0.2")
13431 (source (origin
13432 (method url-fetch)
13433 (uri (string-append
13434 "https://hackage.haskell.org/package/union-find/union-find-"
13435 version ".tar.gz"))
13436 (sha256
13437 (base32
13438 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13439 (build-system haskell-build-system)
13440 (home-page "https://github.com/nominolo/union-find")
13441 (synopsis "Efficient union and equivalence testing of sets")
13442 (description
13443 "The Union/Find algorithm implements these operations in (effectively)
13444constant-time:
13445@enumerate
13446@item Check whether two elements are in the same equivalence class.
13447@item Create a union of two equivalence classes.
13448@item Look up the descriptor of the equivalence class.
13449@end enumerate\n")
13450 (license license:bsd-3)))
13451
13452(define-public ghc-uniplate
13453 (package
13454 (name "ghc-uniplate")
13455 (version "1.6.12")
13456 (source
13457 (origin
13458 (method url-fetch)
13459 (uri (string-append
13460 "https://hackage.haskell.org/package/uniplate/uniplate-"
13461 version
13462 ".tar.gz"))
13463 (sha256
13464 (base32
13465 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13466 (build-system haskell-build-system)
13467 (inputs
13468 `(("ghc-syb" ,ghc-syb)
13469 ("ghc-hashable" ,ghc-hashable)
13470 ("ghc-unordered-containers" ,ghc-unordered-containers)))
f5d88758 13471 (home-page "https://github.com/ndmitchell/uniplate")
dddbc90c
RV
13472 (synopsis "Simple, concise and fast generic operations")
13473 (description "Uniplate is a library for writing simple and concise generic
13474operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13475work, but is substantially simpler and faster.")
13476 (license license:bsd-3)))
13477
13478(define-public ghc-unix-compat
13479 (package
13480 (name "ghc-unix-compat")
bc82e9f5 13481 (version "0.5.2")
dddbc90c
RV
13482 (source
13483 (origin
13484 (method url-fetch)
13485 (uri (string-append
13486 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13487 version
13488 ".tar.gz"))
13489 (sha256
13490 (base32
bc82e9f5 13491 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13492 (build-system haskell-build-system)
13493 (home-page
13494 "https://github.com/jystic/unix-compat")
13495 (synopsis "Portable POSIX-compatibility layer")
13496 (description
13497 "This package provides portable implementations of parts of the unix
13498package. This package re-exports the unix package when available. When it
13499isn't available, portable implementations are used.")
13500 (license license:bsd-3)))
13501
13502(define-public ghc-unix-time
13503 (package
13504 (name "ghc-unix-time")
fad9cff2 13505 (version "0.4.7")
dddbc90c
RV
13506 (source
13507 (origin
13508 (method url-fetch)
13509 (uri (string-append
13510 "https://hackage.haskell.org/package/unix-time/unix-time-"
13511 version
13512 ".tar.gz"))
13513 (sha256
13514 (base32
fad9cff2 13515 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13516 (build-system haskell-build-system)
13517 (arguments
13518 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13519 ; is weird, that should be provided by GHC 7.10.2.
13520 (inputs
13521 `(("ghc-old-time" ,ghc-old-time)
13522 ("ghc-old-locale" ,ghc-old-locale)))
13523 (home-page "https://hackage.haskell.org/package/unix-time")
13524 (synopsis "Unix time parser/formatter and utilities")
13525 (description "This library provides fast parsing and formatting utilities
13526for Unix time in Haskell.")
13527 (license license:bsd-3)))
13528
13529(define-public ghc-unliftio
13530 (package
13531 (name "ghc-unliftio")
a4084db1 13532 (version "0.2.12")
dddbc90c
RV
13533 (source
13534 (origin
13535 (method url-fetch)
13536 (uri (string-append
13537 "https://hackage.haskell.org/package/unliftio/unliftio-"
13538 version
13539 ".tar.gz"))
13540 (sha256
13541 (base32
a4084db1 13542 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13543 (build-system haskell-build-system)
13544 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13545 (inputs
13546 `(("ghc-async" ,ghc-async)
13547 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13548 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13549 (home-page "https://github.com/fpco/unliftio")
13550 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13551IO (batteries included)")
13552 (description "This Haskell package provides the core @code{MonadUnliftIO}
13553typeclass, a number of common instances, and a collection of common functions
13554working with it.")
13555 (license license:expat)))
13556
13557(define-public ghc-unliftio-core
13558 (package
13559 (name "ghc-unliftio-core")
2ae42618 13560 (version "0.1.2.0")
dddbc90c
RV
13561 (source
13562 (origin
13563 (method url-fetch)
13564 (uri (string-append "https://hackage.haskell.org/package/"
13565 "unliftio-core-" version "/"
13566 "unliftio-core-" version ".tar.gz"))
13567 (sha256
13568 (base32
2ae42618 13569 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13570 (build-system haskell-build-system)
13571 (arguments
13572 `(#:cabal-revision
2ae42618 13573 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13574 (home-page
13575 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13576 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13577 (description "This Haskell package provides the core @code{MonadUnliftIO}
13578typeclass, instances for base and transformers, and basic utility
13579functions.")
13580 (license license:expat)))
13581
13582(define-public ghc-unordered-containers
13583 (package
13584 (name "ghc-unordered-containers")
ca01f8d3 13585 (version "0.2.10.0")
534d6caa 13586 (outputs '("out" "static" "doc"))
dddbc90c
RV
13587 (source
13588 (origin
13589 (method url-fetch)
13590 (uri (string-append
13591 "https://hackage.haskell.org/package/unordered-containers"
13592 "/unordered-containers-" version ".tar.gz"))
13593 (sha256
13594 (base32
ca01f8d3 13595 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13596 (build-system haskell-build-system)
13597 (inputs
13598 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13599 ("ghc-hunit" ,ghc-hunit)
13600 ("ghc-quickcheck" ,ghc-quickcheck)
13601 ("ghc-test-framework" ,ghc-test-framework)
13602 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13603 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13604 ("ghc-hashable" ,ghc-hashable)))
13605 (home-page
13606 "https://github.com/tibbe/unordered-containers")
13607 (synopsis
13608 "Efficient hashing-based container types")
13609 (description
13610 "Efficient hashing-based container types. The containers have been
13611optimized for performance critical use, both in terms of large data quantities
13612and high speed.")
13613 (license license:bsd-3)))
13614
13615(define-public ghc-unordered-containers-bootstrap
13616 (package
13617 (inherit ghc-unordered-containers)
13618 (name "ghc-unordered-containers-bootstrap")
13619 (arguments `(#:tests? #f))
13620 (inputs
13621 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13622 (properties '((hidden? #t)))))
dddbc90c 13623
a52f4c57
JS
13624(define-public ghc-unsafe
13625 (package
13626 (name "ghc-unsafe")
13627 (version "0.0")
13628 (source
13629 (origin
13630 (method url-fetch)
13631 (uri
13632 (string-append
13633 "https://hackage.haskell.org/package/unsafe/unsafe-"
13634 version ".tar.gz"))
13635 (sha256
13636 (base32
13637 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13638 (build-system haskell-build-system)
13639 (home-page "https://hackage.haskell.org/package/unsafe")
13640 (synopsis "Unified interface to unsafe functions")
13641 (description "Safe Haskell introduced the notion of safe and unsafe
13642modules. In order to make as many as possible modules ``safe'', the
13643well-known unsafe functions were moved to distinguished modules. This
13644makes it hard to write packages that work with both old and new versions
13645of GHC. This package provides a single module System.Unsafe that
13646exports the unsafe functions from the base package. It provides them in
13647a style ready for qualification, that is, you should import them by
13648@code{import qualified System.Unsafe as Unsafe}.")
13649 (license license:bsd-3)))
13650
dddbc90c
RV
13651(define-public ghc-uri-bytestring
13652 (package
13653 (name "ghc-uri-bytestring")
d35ffd39 13654 (version "0.3.2.2")
dddbc90c
RV
13655 (source
13656 (origin
13657 (method url-fetch)
13658 (uri (string-append "https://hackage.haskell.org/package/"
13659 "uri-bytestring-" version "/"
13660 "uri-bytestring-" version ".tar.gz"))
13661 (sha256
13662 (base32
d35ffd39 13663 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13664 (build-system haskell-build-system)
13665 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13666 ("ghc-blaze-builder" ,ghc-blaze-builder)
13667 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13668 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13669 ("ghc-tasty" ,ghc-tasty)
13670 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13671 ("ghc-hedgehog" ,ghc-hedgehog)
13672 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13673 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13674 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13675 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13676 (home-page "https://github.com/Soostone/uri-bytestring")
13677 (synopsis "Haskell URI parsing as ByteStrings")
13678 (description "This Haskell package aims to be an RFC3986 compliant URI
13679parser that uses ByteStrings for parsing and representing the URI data.")
13680 (license license:bsd-3)))
13681
d7ad0823
JS
13682(define-public ghc-utf8-light
13683 (package
13684 (name "ghc-utf8-light")
13685 (version "0.4.2")
13686 (source
13687 (origin
13688 (method url-fetch)
13689 (uri (string-append
13690 "mirror://hackage/package/utf8-light/utf8-light-"
13691 version
13692 ".tar.gz"))
13693 (sha256
13694 (base32
13695 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13696 (build-system haskell-build-system)
13697 (home-page
13698 "http://hackage.haskell.org/package/utf8-light")
13699 (synopsis "Lightweight unicode support for Haskell")
13700 (description
13701 "This package profides a class for encoding and decoding UTF8 strings
13702with instances for several common types. It also includes several functions
13703for working with UTF8. It aims to be lightweight, depending only on Base and
13704including only one module.")
13705 (license license:bsd-3)))
13706
dddbc90c
RV
13707(define-public ghc-utf8-string
13708 (package
13709 (name "ghc-utf8-string")
13710 (version "1.0.1.1")
13711 (source
13712 (origin
13713 (method url-fetch)
13714 (uri (string-append
13715 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13716 version
13717 ".tar.gz"))
13718 (sha256
13719 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13720 (build-system haskell-build-system)
13721 (arguments
13722 `(#:cabal-revision
13723 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13724 (home-page "https://github.com/glguy/utf8-string/")
13725 (synopsis "Support for reading and writing UTF8 Strings")
13726 (description
13727 "A UTF8 layer for Strings. The utf8-string package provides operations
13728for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13729UTF8 without truncation.")
13730 (license license:bsd-3)))
13731
13732(define-public ghc-utility-ht
13733 (package
13734 (name "ghc-utility-ht")
13735 (version "0.0.14")
13736 (home-page "https://hackage.haskell.org/package/utility-ht")
13737 (source
13738 (origin
13739 (method url-fetch)
13740 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13741 (sha256
13742 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13743 (build-system haskell-build-system)
13744 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13745 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13746 (description "This package includes Hakell modules providing various
13747helper functions for Lists, Maybes, Tuples, Functions.")
13748 (license license:bsd-3)))
13749
13750(define-public ghc-uuid
13751 (package
13752 (name "ghc-uuid")
13753 (version "1.3.13")
13754 (source
13755 (origin
13756 (method url-fetch)
13757 (uri (string-append "https://hackage.haskell.org/package/"
13758 "uuid-" version "/"
13759 "uuid-" version ".tar.gz"))
13760 (sha256
13761 (base32
13762 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13763 (build-system haskell-build-system)
13764 (arguments
13765 `(#:cabal-revision
13766 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13767 #:phases
13768 (modify-phases %standard-phases
13769 (add-before 'configure 'strip-test-framework-constraints
13770 (lambda _
13771 (substitute* "uuid.cabal"
13772 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13773 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13774 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13775 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13776 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13777 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13778 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13779 ("ghc-entropy" ,ghc-entropy)
13780 ("ghc-network-info" ,ghc-network-info)
13781 ("ghc-random" ,ghc-random)
13782 ("ghc-uuid-types" ,ghc-uuid-types)))
13783 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13784 ("ghc-quickcheck" ,ghc-quickcheck)
13785 ("ghc-tasty" ,ghc-tasty)
13786 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13787 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13788 (home-page "https://github.com/hvr/uuid")
13789 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13790 (description "This Haskell library provides utilities creating, comparing,
13791parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13792 (license license:bsd-3)))
13793
13794(define-public ghc-uuid-types
13795 (package
13796 (name "ghc-uuid-types")
13797 (version "1.0.3")
13798 (source
13799 (origin
13800 (method url-fetch)
13801 (uri (string-append "https://hackage.haskell.org/package/"
13802 "uuid-types-" version "/"
13803 "uuid-types-" version ".tar.gz"))
13804 (sha256
13805 (base32
13806 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13807 (build-system haskell-build-system)
13808 (arguments
13809 `(#:phases
13810 (modify-phases %standard-phases
13811 (add-before 'configure 'strip-test-framework-constraints
13812 (lambda _
13813 (substitute* "uuid-types.cabal"
13814 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13815 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13816 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13817 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13818 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13819 (inputs `(("ghc-hashable" ,ghc-hashable)
13820 ("ghc-random" ,ghc-random)))
13821 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13822 ("ghc-quickcheck" ,ghc-quickcheck)
13823 ("ghc-tasty" ,ghc-tasty)
13824 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13825 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13826 (home-page "https://github.com/hvr/uuid")
13827 (synopsis "Haskell type definitions for UUIDs")
13828 (description "This Haskell library contains type definitions for
13829@dfn{Universally Unique Identifiers} or
13830@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13831functions.")
13832 (license license:bsd-3)))
13833
13834(define-public ghc-validation
13835 (package
13836 (name "ghc-validation")
08397fde 13837 (version "1.1")
dddbc90c
RV
13838 (source
13839 (origin
13840 (method url-fetch)
13841 (uri (string-append
13842 "mirror://hackage/package/validation/validation-"
13843 version
13844 ".tar.gz"))
13845 (sha256
13846 (base32
08397fde 13847 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13848 (build-system haskell-build-system)
13849 (arguments
13850 `(#:cabal-revision
08397fde 13851 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13852 (inputs
13853 `(("ghc-semigroups" ,ghc-semigroups)
13854 ("ghc-semigroupoids" ,ghc-semigroupoids)
13855 ("ghc-bifunctors" ,ghc-bifunctors)
13856 ("ghc-lens" ,ghc-lens)))
13857 (native-inputs
13858 `(("ghc-hedgehog" ,ghc-hedgehog)
13859 ("ghc-hunit" ,ghc-hunit)))
13860 (home-page "https://github.com/qfpl/validation")
13861 (synopsis
13862 "Data-type like Either but with an accumulating Applicative")
13863 (description
13864 "A data-type like Either but with differing properties and type-class
13865instances.
13866
13867Library support is provided for this different representation, including
13868@code{lens}-related functions for converting between each and abstracting over
13869their similarities.
13870
13871The @code{Validation} data type is isomorphic to @code{Either}, but has an
13872instance of @code{Applicative} that accumulates on the error side. That is to
13873say, if two (or more) errors are encountered, they are appended using a
13874@{Semigroup} operation.
13875
13876As a consequence of this @code{Applicative} instance, there is no
13877corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13878example of, \"An applicative functor that is not a monad.\"")
13879 (license license:bsd-3)))
13880
13881(define-public ghc-validity
13882 (package
13883 (name "ghc-validity")
3f1ba75d 13884 (version "0.9.0.2")
dddbc90c
RV
13885 (source
13886 (origin
13887 (method url-fetch)
13888 (uri (string-append
13889 "https://hackage.haskell.org/package/validity/validity-"
13890 version
13891 ".tar.gz"))
13892 (sha256
13893 (base32
3f1ba75d 13894 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13895 (build-system haskell-build-system)
13896 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13897 ("hspec-discover" ,hspec-discover)))
13898 (home-page
13899 "https://github.com/NorfairKing/validity")
13900 (synopsis "Validity typeclass")
13901 (description
13902 "Values of custom types usually have invariants imposed upon them. This
13903package provides the @code{Validity} type class, which makes these invariants
13904explicit by providing a function to check whether the invariants hold.")
13905 (license license:expat)))
13906
13907(define-public ghc-vault
13908 (package
13909 (name "ghc-vault")
b40a436e 13910 (version "0.3.1.3")
dddbc90c
RV
13911 (source
13912 (origin
13913 (method url-fetch)
13914 (uri (string-append
13915 "https://hackage.haskell.org/package/vault/vault-"
13916 version
13917 ".tar.gz"))
13918 (sha256
13919 (base32
b40a436e 13920 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13921 (build-system haskell-build-system)
13922 (inputs
13923 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13924 ("ghc-hashable" ,ghc-hashable)
b40a436e 13925 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13926 (home-page
13927 "https://github.com/HeinrichApfelmus/vault")
13928 (synopsis "Persistent store for arbitrary values")
13929 (description "This package provides vaults for Haskell. A vault is a
13930persistent store for values of arbitrary types. It's like having first-class
13931access to the storage space behind @code{IORefs}. The data structure is
13932analogous to a bank vault, where you can access different bank boxes with
13933different keys; hence the name. Also provided is a @code{locker} type,
13934representing a store for a single element.")
13935 (license license:bsd-3)))
13936
13937(define-public ghc-vector
13938 (package
13939 (name "ghc-vector")
3ad67f6b 13940 (version "0.12.0.3")
534d6caa 13941 (outputs '("out" "static" "doc"))
dddbc90c
RV
13942 (source
13943 (origin
13944 (method url-fetch)
13945 (uri (string-append
13946 "https://hackage.haskell.org/package/vector/vector-"
13947 version
13948 ".tar.gz"))
13949 (sha256
13950 (base32
3ad67f6b 13951 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13952 (build-system haskell-build-system)
13953 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13954 ;; disabled for now.
13955 (arguments
3ad67f6b 13956 `(#:tests? #f))
dddbc90c
RV
13957 (inputs
13958 `(("ghc-primitive" ,ghc-primitive)
13959 ("ghc-random" ,ghc-random)
13960 ("ghc-quickcheck" ,ghc-quickcheck)
13961 ;; ("ghc-hunit" ,ghc-hunit)
13962 ;; ("ghc-test-framework" ,ghc-test-framework)
13963 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13964 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13965 ))
13966 (home-page "https://github.com/haskell/vector")
13967 (synopsis "Efficient Arrays")
13968 (description "This library provides an efficient implementation of
13969Int-indexed arrays (both mutable and immutable), with a powerful loop
13970optimisation framework.")
13971 (license license:bsd-3)))
13972
13973(define-public ghc-vector-algorithms
13974 (package
13975 (name "ghc-vector-algorithms")
e71f316f 13976 (version "0.8.0.1")
dddbc90c
RV
13977 (source
13978 (origin
13979 (method url-fetch)
13980 (uri (string-append "https://hackage.haskell.org/package/"
13981 "vector-algorithms-" version "/"
13982 "vector-algorithms-" version ".tar.gz"))
13983 (sha256
13984 (base32
e71f316f 13985 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13986 (build-system haskell-build-system)
13987 (inputs
13988 `(("ghc-vector" ,ghc-vector)))
13989 (native-inputs
13990 `(("ghc-quickcheck" ,ghc-quickcheck)))
13991 (home-page "https://github.com/bos/math-functions")
13992 (synopsis "Algorithms for vector arrays in Haskell")
13993 (description "This Haskell library algorithms for vector arrays.")
13994 (license license:bsd-3)))
13995
13996(define-public ghc-vector-binary-instances
13997 (package
13998 (name "ghc-vector-binary-instances")
ca0701ef 13999 (version "0.2.5.1")
dddbc90c
RV
14000 (source
14001 (origin
14002 (method url-fetch)
14003 (uri (string-append
14004 "https://hackage.haskell.org/package/"
14005 "vector-binary-instances/vector-binary-instances-"
14006 version ".tar.gz"))
14007 (sha256
14008 (base32
ca0701ef 14009 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 14010 (build-system haskell-build-system)
dddbc90c
RV
14011 (inputs
14012 `(("ghc-vector" ,ghc-vector)))
14013 (native-inputs
14014 `(("ghc-tasty" ,ghc-tasty)
14015 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14016 (home-page "https://github.com/bos/vector-binary-instances")
14017 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14018 (description "This library provides instances of @code{Binary} for the
14019types defined in the @code{vector} package, making it easy to serialize
14020vectors to and from disk. We use the generic interface to vectors, so all
14021vector types are supported. Specific instances are provided for unboxed,
14022boxed and storable vectors.")
14023 (license license:bsd-3)))
14024
14025(define-public ghc-vector-builder
14026 (package
14027 (name "ghc-vector-builder")
1fc05441 14028 (version "0.3.8")
dddbc90c
RV
14029 (source
14030 (origin
14031 (method url-fetch)
14032 (uri (string-append "https://hackage.haskell.org/package/"
14033 "vector-builder-" version "/"
14034 "vector-builder-" version ".tar.gz"))
14035 (sha256
14036 (base32
1fc05441 14037 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
14038 (build-system haskell-build-system)
14039 (inputs `(("ghc-vector" ,ghc-vector)
14040 ("ghc-semigroups" ,ghc-semigroups)
14041 ("ghc-base-prelude" ,ghc-base-prelude)))
14042 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14043 ("ghc-tasty" ,ghc-tasty)
14044 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14045 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14046 ("ghc-hunit" ,ghc-hunit)
14047 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14048 ("ghc-rerebase" ,ghc-rerebase)))
14049 (home-page "https://github.com/nikita-volkov/vector-builder")
14050 (synopsis "Vector builder for Haskell")
14051 (description "This Haskell package provides an API for constructing vectors.
14052It provides the composable @code{Builder} abstraction, which has instances of the
14053@code{Monoid} and @code{Semigroup} classes.
14054
14055You would first use the @code{Builder} abstraction to specify the structure of
14056the vector; then you can execute the builder to actually produce the
14057vector. ")
14058 (license license:expat)))
14059
14060(define-public ghc-vector-th-unbox
14061 (package
14062 (name "ghc-vector-th-unbox")
63056e61 14063 (version "0.2.1.7")
dddbc90c
RV
14064 (source
14065 (origin
14066 (method url-fetch)
14067 (uri (string-append "https://hackage.haskell.org/package/"
14068 "vector-th-unbox-" version "/"
14069 "vector-th-unbox-" version ".tar.gz"))
14070 (sha256
14071 (base32
63056e61 14072 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14073 (build-system haskell-build-system)
14074 (inputs
14075 `(("ghc-vector" ,ghc-vector)
14076 ("ghc-data-default" ,ghc-data-default)))
14077 (home-page "https://github.com/liyang/vector-th-unbox")
14078 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14079 (description "This Haskell library provides a Template Haskell
14080deriver for unboxed vectors, given a pair of coercion functions to
14081and from some existing type with an Unbox instance.")
14082 (license license:bsd-3)))
14083
14084(define-public ghc-void
14085 (package
14086 (name "ghc-void")
51889121 14087 (version "0.7.3")
dddbc90c
RV
14088 (source
14089 (origin
14090 (method url-fetch)
14091 (uri (string-append
14092 "https://hackage.haskell.org/package/void/void-"
14093 version
14094 ".tar.gz"))
14095 (sha256
14096 (base32
51889121 14097 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14098 (build-system haskell-build-system)
14099 (inputs
14100 `(("ghc-semigroups" ,ghc-semigroups)
14101 ("ghc-hashable" ,ghc-hashable)))
14102 (home-page "https://github.com/ekmett/void")
14103 (synopsis
14104 "Logically uninhabited data type")
14105 (description
14106 "A Haskell 98 logically uninhabited data type, used to indicate that a
14107given term should not exist.")
14108 (license license:bsd-3)))
14109
14110(define-public ghc-wave
14111 (package
14112 (name "ghc-wave")
1631a0f7 14113 (version "0.2.0")
dddbc90c
RV
14114 (source (origin
14115 (method url-fetch)
14116 (uri (string-append
14117 "https://hackage.haskell.org/package/wave/wave-"
14118 version
14119 ".tar.gz"))
14120 (sha256
14121 (base32
1631a0f7 14122 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14123 (build-system haskell-build-system)
14124 (arguments
14125 '(#:phases
14126 (modify-phases %standard-phases
14127 (add-before 'configure 'update-constraints
14128 (lambda _
14129 (substitute* "wave.cabal"
14130 (("temporary.* < 1\\.3")
14131 "temporary >= 1.1 && < 1.4")))))))
14132 (inputs
14133 `(("ghc-cereal" ,ghc-cereal)
14134 ("ghc-data-default-class"
14135 ,ghc-data-default-class)
14136 ("ghc-quickcheck" ,ghc-quickcheck)
14137 ("ghc-temporary" ,ghc-temporary)))
14138 (native-inputs
14139 `(("hspec-discover" ,hspec-discover)
14140 ("ghc-hspec" ,ghc-hspec)))
14141 (home-page "https://github.com/mrkkrp/wave")
14142 (synopsis "Work with WAVE and RF64 files in Haskell")
14143 (description "This package allows you to work with WAVE and RF64
14144files in Haskell.")
14145 (license license:bsd-3)))
14146
14147(define-public ghc-wcwidth
14148 (package
14149 (name "ghc-wcwidth")
14150 (version "0.0.2")
14151 (source
14152 (origin
14153 (method url-fetch)
14154 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14155 version ".tar.gz"))
14156 (sha256
14157 (base32
14158 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14159 (build-system haskell-build-system)
14160 (inputs
14161 `(("ghc-setlocale" ,ghc-setlocale)
14162 ("ghc-utf8-string" ,ghc-utf8-string)
14163 ("ghc-attoparsec" ,ghc-attoparsec)))
14164 (home-page "https://github.com/solidsnack/wcwidth/")
14165 (synopsis "Haskell bindings to wcwidth")
14166 (description "This package provides Haskell bindings to your system's
14167native wcwidth and a command line tool to examine the widths assigned by it.
14168The command line tool can compile a width table to Haskell code that assigns
14169widths to the Char type.")
14170 (license license:bsd-3)))
14171
14172(define-public ghc-wcwidth-bootstrap
14173 (package
14174 (inherit ghc-wcwidth)
14175 (name "ghc-wcwidth-bootstrap")
14176 (inputs
14177 `(("ghc-setlocale" ,ghc-setlocale)
14178 ("ghc-utf8-string" ,ghc-utf8-string)
14179 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14180 (properties '((hidden? #t)))))
dddbc90c
RV
14181
14182(define-public ghc-weigh
14183 (package
14184 (name "ghc-weigh")
b6d9777f 14185 (version "0.0.14")
dddbc90c
RV
14186 (source
14187 (origin
14188 (method url-fetch)
14189 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14190 "weigh-" version ".tar.gz"))
14191 (sha256
14192 (base32
b6d9777f 14193 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14194 (build-system haskell-build-system)
14195 (inputs
14196 `(("ghc-split" ,ghc-split)
14197 ("ghc-temporary" ,ghc-temporary)))
14198 (home-page "https://github.com/fpco/weigh#readme")
14199 (synopsis "Measure allocations of a Haskell functions/values")
14200 (description "This package provides tools to measure the memory usage of a
14201Haskell value or function.")
14202 (license license:bsd-3)))
14203
14204(define-public ghc-wl-pprint
14205 (package
14206 (name "ghc-wl-pprint")
14207 (version "1.2.1")
14208 (source (origin
14209 (method url-fetch)
14210 (uri (string-append
14211 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14212 version ".tar.gz"))
14213 (sha256
14214 (base32
14215 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14216 (build-system haskell-build-system)
14217 (home-page "https://hackage.haskell.org/package/wl-pprint")
14218 (synopsis "Wadler/Leijen pretty printer")
14219 (description
14220 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14221Printer}. This version allows the library user to declare overlapping
14222instances of the @code{Pretty} class.")
14223 (license license:bsd-3)))
14224
14225(define-public ghc-wl-pprint-annotated
14226 (package
14227 (name "ghc-wl-pprint-annotated")
14228 (version "0.1.0.1")
14229 (source
14230 (origin
14231 (method url-fetch)
14232 (uri (string-append
14233 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14234 version
14235 ".tar.gz"))
14236 (sha256
14237 (base32
14238 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14239 (build-system haskell-build-system)
14240 (native-inputs
14241 `(("ghc-tasty" ,ghc-tasty)
14242 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14243 (home-page
14244 "https://github.com/minad/wl-pprint-annotated#readme")
14245 (synopsis
14246 "Wadler/Leijen pretty printer with annotation support")
14247 (description
14248 "Annotations are useful for coloring. This is a limited version of
14249@code{wl-pprint-extras} without support for point effects and without the free
14250monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14251Compared to @code{annotated-wl-pprint} this library provides a slightly
14252modernized interface.")
14253 (license license:bsd-3)))
14254
14255(define-public ghc-wl-pprint-text
14256 (package
14257 (name "ghc-wl-pprint-text")
14258 (version "1.2.0.0")
14259 (source
14260 (origin
14261 (method url-fetch)
14262 (uri (string-append
14263 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14264 version ".tar.gz"))
14265 (sha256
14266 (base32
14267 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14268 (build-system haskell-build-system)
14269 (inputs
14270 `(("ghc-base-compat" ,ghc-base-compat)))
14271 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14272 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14273 (description
14274 "A clone of wl-pprint for use with the text library.")
14275 (license license:bsd-3)))
14276
14277(define-public ghc-word8
14278 (package
14279 (name "ghc-word8")
14280 (version "0.1.3")
14281 (source
14282 (origin
14283 (method url-fetch)
14284 (uri (string-append
14285 "https://hackage.haskell.org/package/word8/word8-"
14286 version
14287 ".tar.gz"))
14288 (sha256
14289 (base32
14290 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14291 (build-system haskell-build-system)
14292 (native-inputs
14293 `(("ghc-hspec" ,ghc-hspec)
14294 ("hspec-discover" ,hspec-discover)))
14295 (home-page "https://hackage.haskell.org/package/word8")
14296 (synopsis "Word8 library for Haskell")
14297 (description "Word8 library to be used with @code{Data.ByteString}.")
14298 (license license:bsd-3)))
14299
14300(define-public ghc-x11
14301 (package
14302 (name "ghc-x11")
6c4581a3 14303 (version "1.9.1")
dddbc90c
RV
14304 (source
14305 (origin
14306 (method url-fetch)
14307 (uri (string-append "https://hackage.haskell.org/package/X11/"
14308 "X11-" version ".tar.gz"))
14309 (sha256
6c4581a3 14310 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c 14311 (build-system haskell-build-system)
54a5fd07
TS
14312 (arguments
14313 `(#:extra-directories
14314 ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
dddbc90c
RV
14315 (inputs
14316 `(("libx11" ,libx11)
14317 ("libxrandr" ,libxrandr)
14318 ("libxinerama" ,libxinerama)
14319 ("libxscrnsaver" ,libxscrnsaver)
14320 ("ghc-data-default" ,ghc-data-default)))
14321 (home-page "https://github.com/haskell-pkg-janitors/X11")
14322 (synopsis "Bindings to the X11 graphics library")
14323 (description
14324 "This package provides Haskell bindings to the X11 graphics library. The
14325bindings are a direct translation of the C bindings.")
14326 (license license:bsd-3)))
14327
14328(define-public ghc-x11-xft
14329 (package
14330 (name "ghc-x11-xft")
14331 (version "0.3.1")
14332 (source
14333 (origin
14334 (method url-fetch)
14335 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14336 "X11-xft-" version ".tar.gz"))
14337 (sha256
14338 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
54a5fd07
TS
14339 (arguments
14340 `(#:extra-directories ("libx11" "libxft" "xorgproto")))
dddbc90c
RV
14341 (inputs
14342 `(("ghc-x11" ,ghc-x11)
14343 ("ghc-utf8-string" ,ghc-utf8-string)
14344 ("libx11" ,libx11)
14345 ("libxft" ,libxft)
14346 ("xorgproto" ,xorgproto)))
14347 (native-inputs
14348 `(("pkg-config" ,pkg-config)))
14349 (build-system haskell-build-system)
14350 (home-page "https://hackage.haskell.org/package/X11-xft")
14351 (synopsis "Bindings to Xft")
14352 (description
14353 "Bindings to the Xft, X Free Type interface library, and some Xrender
14354parts.")
14355 (license license:lgpl2.1)))
14356
14357(define-public ghc-xdg-basedir
14358 (package
14359 (name "ghc-xdg-basedir")
14360 (version "0.2.2")
14361 (source
14362 (origin
14363 (method url-fetch)
14364 (uri (string-append
14365 "https://hackage.haskell.org/package/xdg-basedir/"
14366 "xdg-basedir-" version ".tar.gz"))
14367 (sha256
14368 (base32
14369 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14370 (build-system haskell-build-system)
702a1012 14371 (home-page "https://github.com/willdonnelly/xdg-basedir")
dddbc90c
RV
14372 (synopsis "XDG Base Directory library for Haskell")
14373 (description "This package provides a library implementing the XDG Base Directory spec.")
14374 (license license:bsd-3)))
14375
14376(define-public ghc-xml
14377 (package
14378 (name "ghc-xml")
14379 (version "1.3.14")
14380 (source
14381 (origin
14382 (method url-fetch)
14383 (uri (string-append
14384 "https://hackage.haskell.org/package/xml/xml-"
14385 version
14386 ".tar.gz"))
14387 (sha256
14388 (base32
14389 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14390 (build-system haskell-build-system)
2b62f5d0 14391 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14392 (synopsis "Simple XML library for Haskell")
14393 (description "This package provides a simple XML library for Haskell.")
14394 (license license:bsd-3)))
14395
14396(define-public ghc-xml-conduit
14397 (package
14398 (name "ghc-xml-conduit")
14399 (version "1.8.0.1")
14400 (source
14401 (origin
14402 (method url-fetch)
14403 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14404 "xml-conduit-" version ".tar.gz"))
14405 (sha256
14406 (base32
14407 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14408 (build-system haskell-build-system)
14409 (inputs
14410 `(("ghc-conduit" ,ghc-conduit)
14411 ("ghc-conduit-extra" ,ghc-conduit-extra)
14412 ("ghc-doctest" ,ghc-doctest)
14413 ("ghc-resourcet" ,ghc-resourcet)
14414 ("ghc-xml-types" ,ghc-xml-types)
14415 ("ghc-attoparsec" ,ghc-attoparsec)
14416 ("ghc-data-default-class" ,ghc-data-default-class)
14417 ("ghc-blaze-markup" ,ghc-blaze-markup)
14418 ("ghc-blaze-html" ,ghc-blaze-html)
14419 ("ghc-monad-control" ,ghc-monad-control)
14420 ("ghc-hspec" ,ghc-hspec)
14421 ("ghc-hunit" ,ghc-hunit)))
14422 (home-page "https://github.com/snoyberg/xml")
14423 (synopsis "Utilities for dealing with XML with the conduit package")
14424 (description
14425 "This package provides pure-Haskell utilities for dealing with XML with
14426the @code{conduit} package.")
14427 (license license:expat)))
14428
14429(define-public ghc-xml-types
14430 (package
14431 (name "ghc-xml-types")
14432 (version "0.3.6")
14433 (source
14434 (origin
14435 (method url-fetch)
14436 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14437 "xml-types-" version ".tar.gz"))
14438 (sha256
14439 (base32
14440 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14441 (build-system haskell-build-system)
14442 (home-page "https://john-millikin.com/software/haskell-xml/")
14443 (synopsis "Basic types for representing XML")
14444 (description "This package provides basic types for representing XML
14445documents.")
14446 (license license:expat)))
14447
14448(define-public ghc-yaml
14449 (package
14450 (name "ghc-yaml")
b58e5b84 14451 (version "0.11.1.2")
dddbc90c
RV
14452 (source (origin
14453 (method url-fetch)
14454 (uri (string-append "https://hackage.haskell.org/package/"
14455 "yaml/yaml-" version ".tar.gz"))
14456 (sha256
14457 (base32
b58e5b84 14458 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14459 (build-system haskell-build-system)
dddbc90c
RV
14460 (inputs
14461 `(("ghc-conduit" ,ghc-conduit)
14462 ("ghc-resourcet" ,ghc-resourcet)
14463 ("ghc-aeson" ,ghc-aeson)
14464 ("ghc-unordered-containers" ,ghc-unordered-containers)
14465 ("ghc-vector" ,ghc-vector)
14466 ("ghc-attoparsec" ,ghc-attoparsec)
14467 ("ghc-scientific" ,ghc-scientific)
14468 ("ghc-semigroups" ,ghc-semigroups)
14469 ("ghc-temporary" ,ghc-temporary)
14470 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14471 ("ghc-base-compat" ,ghc-base-compat)
14472 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14473 (native-inputs
14474 `(("ghc-hspec" ,ghc-hspec)
14475 ("ghc-hunit" ,ghc-hunit)
14476 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14477 ("ghc-mockery" ,ghc-mockery)
14478 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14479 (home-page "https://github.com/snoyberg/yaml/")
14480 (synopsis "Parsing and rendering YAML documents")
14481 (description
14482 "This package provides a library to parse and render YAML documents.")
14483 (license license:bsd-3)))
14484
14485(define-public ghc-zip-archive
14486 (package
14487 (name "ghc-zip-archive")
93c1fdd3 14488 (version "0.4.1")
dddbc90c
RV
14489 (source
14490 (origin
14491 (method url-fetch)
14492 (uri (string-append
14493 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14494 version
14495 ".tar.gz"))
14496 (sha256
14497 (base32
93c1fdd3 14498 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14499 (build-system haskell-build-system)
93c1fdd3
TS
14500 (arguments
14501 `(#:phases
14502 (modify-phases %standard-phases
14503 (add-before 'check 'set-PATH-for-tests
14504 (lambda* (#:key inputs #:allow-other-keys)
14505 (let ((unzip (assoc-ref inputs "unzip"))
14506 (which (assoc-ref inputs "which"))
14507 (path (getenv "PATH")))
14508 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14509 #t))))))
dddbc90c
RV
14510 (inputs
14511 `(("ghc-digest" ,ghc-digest)
14512 ("ghc-temporary" ,ghc-temporary)
14513 ("ghc-zlib" ,ghc-zlib)))
14514 (native-inputs
14515 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14516 ("unzip" ,unzip)
14517 ("which" ,which)))
dddbc90c
RV
14518 (home-page "https://hackage.haskell.org/package/zip-archive")
14519 (synopsis "Zip archive library for Haskell")
14520 (description "The zip-archive library provides functions for creating,
14521modifying, and extracting files from zip archives in Haskell.")
14522 (license license:bsd-3)))
14523
14524(define-public ghc-zlib
14525 (package
14526 (name "ghc-zlib")
bf12089a 14527 (version "0.6.2.1")
534d6caa 14528 (outputs '("out" "static" "doc"))
dddbc90c
RV
14529 (source
14530 (origin
14531 (method url-fetch)
14532 (uri (string-append
14533 "https://hackage.haskell.org/package/zlib/zlib-"
14534 version
14535 ".tar.gz"))
14536 (sha256
14537 (base32
bf12089a 14538 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14539 (build-system haskell-build-system)
14540 (arguments
54a5fd07
TS
14541 `(#:extra-directories ("zlib")
14542 #:phases
dddbc90c
RV
14543 (modify-phases %standard-phases
14544 (add-before 'configure 'strip-test-framework-constraints
14545 (lambda _
14546 (substitute* "zlib.cabal"
14547 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14548 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14549 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14550 (inputs `(("zlib" ,zlib)))
14551 (native-inputs
14552 `(("ghc-quickcheck" ,ghc-quickcheck)
14553 ("ghc-tasty" ,ghc-tasty)
14554 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14555 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14556 (home-page "https://hackage.haskell.org/package/zlib")
14557 (synopsis
14558 "Compression and decompression in the gzip and zlib formats")
14559 (description
14560 "This package provides a pure interface for compressing and decompressing
14561streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14562library so it has high performance. It supports the @code{zlib}, @code{gzip}
14563and @code{raw} compression formats. It provides a convenient high level API
14564suitable for most tasks and for the few cases where more control is needed it
14565provides access to the full zlib feature set.")
bbf8bf31 14566 (license license:bsd-3)))
14e41996
RV
14567
14568(define-public ghc-zlib-bindings
14569 (package
14570 (name "ghc-zlib-bindings")
14571 (version "0.1.1.5")
14572 (source
14573 (origin
14574 (method url-fetch)
14575 (uri (string-append "https://hackage.haskell.org/package/"
14576 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14577 (sha256
14578 (base32
14579 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14580 (build-system haskell-build-system)
14581 (inputs
14582 `(("ghc-zlib" ,ghc-zlib)))
14583 (native-inputs
14584 `(("ghc-hspec" ,ghc-hspec)
14585 ("ghc-quickcheck" ,ghc-quickcheck)))
14586 (arguments
14587 `(#:cabal-revision
14588 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14589 (home-page "https://github.com/snapframework/zlib-bindings")
14590 (synopsis "Low-level bindings to the @code{zlib} package")
14591 (description "This package provides low-level bindings to the
14592@code{zlib} package.")
14593 (license license:bsd-3)))
8428e92c
TS
14594
14595(define-public ghc-zstd
14596 (package
14597 (name "ghc-zstd")
14598 (version "0.1.1.2")
14599 (source
14600 (origin
14601 (method url-fetch)
14602 (uri (string-append "https://hackage.haskell.org/package/"
14603 "zstd/zstd-" version ".tar.gz"))
14604 (sha256
14605 (base32
14606 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14607 (build-system haskell-build-system)
14608 (native-inputs
14609 `(("ghc-quickcheck" ,ghc-quickcheck)
14610 ("ghc-test-framework" ,ghc-test-framework)
14611 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14612 (home-page "https://github.com/luispedro/hs-zstd")
14613 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14614 (description "This library provides Haskell bindings to the
14615Zstandard compression algorithm, a fast lossless compression algorithm
14616targeting real-time compression scenarios at zlib-level and better
14617compression ratios.")
14618 (license license:bsd-3)))