gnu: ghc-haskell-src-exts: 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 2270 (build-system haskell-build-system)
20e5edb1 2271 (outputs '("out" "static" "doc"))
dddbc90c
RV
2272 (inputs
2273 `(("ghc-exceptions" ,ghc-exceptions)
2274 ("ghc-lifted-base" ,ghc-lifted-base)
2275 ("ghc-mono-traversable" ,ghc-mono-traversable)
2276 ("ghc-mmorph" ,ghc-mmorph)
2277 ("ghc-resourcet" ,ghc-resourcet)
2278 ("ghc-silently" ,ghc-silently)
2279 ("ghc-transformers-base" ,ghc-transformers-base)
2280 ("ghc-unliftio" ,ghc-unliftio)
2281 ("ghc-unliftio-core" ,ghc-unliftio-core)
2282 ("ghc-vector" ,ghc-vector)
2283 ("ghc-void" ,ghc-void)))
2284 (native-inputs
2285 `(("ghc-quickcheck" ,ghc-quickcheck)
2286 ("ghc-hspec" ,ghc-hspec)
2287 ("ghc-safe" ,ghc-safe)
2288 ("ghc-split" ,ghc-split)))
2289 (home-page "https://github.com/snoyberg/conduit")
2290 (synopsis "Streaming data library ")
2291 (description
2292 "The conduit package is a solution to the streaming data problem,
2293allowing for production, transformation, and consumption of streams of data
2294in constant memory. It is an alternative to lazy I/O which guarantees
2295deterministic resource handling, and fits in the same general solution
2296space as enumerator/iteratee and pipes.")
2297 (license license:expat)))
2298
2299(define-public ghc-conduit-algorithms
2300 (package
2301 (name "ghc-conduit-algorithms")
503b74ae 2302 (version "0.0.11.0")
dddbc90c
RV
2303 (source
2304 (origin
2305 (method url-fetch)
2306 (uri (string-append "https://hackage.haskell.org/package/"
2307 "conduit-algorithms/conduit-algorithms-"
2308 version ".tar.gz"))
2309 (sha256
2310 (base32
503b74ae 2311 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2312 (build-system haskell-build-system)
2313 (inputs
2314 `(("ghc-async" ,ghc-async)
2315 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2316 ("ghc-conduit" ,ghc-conduit)
2317 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2318 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2319 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2320 ("ghc-exceptions" ,ghc-exceptions)
2321 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2322 ("ghc-monad-control" ,ghc-monad-control)
2323 ("ghc-pqueue" ,ghc-pqueue)
2324 ("ghc-resourcet" ,ghc-resourcet)
2325 ("ghc-stm-conduit" ,ghc-stm-conduit)
2326 ("ghc-streaming-commons" ,ghc-streaming-commons)
2327 ("ghc-unliftio-core" ,ghc-unliftio-core)
2328 ("ghc-vector" ,ghc-vector)))
2329 (native-inputs
2330 `(("ghc-hunit" ,ghc-hunit)
2331 ("ghc-test-framework" ,ghc-test-framework)
2332 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2333 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2334 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2335 (synopsis "Conduit-based algorithms")
2336 (description
2337 "This package provides algorithms on @code{Conduits}, including higher
2338level asynchronous processing and some other utilities.")
2339 (license license:expat)))
2340
2341(define-public ghc-conduit-combinators
2342 (package
2343 (name "ghc-conduit-combinators")
2344 (version "1.3.0")
2345 (source
2346 (origin
2347 (method url-fetch)
2348 (uri (string-append "https://hackage.haskell.org/package/"
2349 "conduit-combinators-" version "/"
2350 "conduit-combinators-" version ".tar.gz"))
2351 (sha256
2352 (base32
2353 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2354 (build-system haskell-build-system)
2355 (inputs `(("ghc-conduit" ,ghc-conduit)
2356 ("ghc-conduit-extra" ,ghc-conduit-extra)
2357 ("ghc-transformers-base" ,ghc-transformers-base)
2358 ("ghc-primitive" ,ghc-primitive)
2359 ("ghc-vector" ,ghc-vector)
2360 ("ghc-void" ,ghc-void)
2361 ("ghc-mwc-random" ,ghc-mwc-random)
2362 ("ghc-unix-compat" ,ghc-unix-compat)
2363 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2364 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2365 ("ghc-resourcet" ,ghc-resourcet)
2366 ("ghc-monad-control" ,ghc-monad-control)
2367 ("ghc-chunked-data" ,ghc-chunked-data)
2368 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2369 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2370 ("ghc-silently" ,ghc-silently)
2371 ("ghc-safe" ,ghc-safe)
2372 ("ghc-quickcheck" ,ghc-quickcheck)))
2373 (home-page "https://github.com/snoyberg/mono-traversable")
2374 (synopsis "Commonly used conduit functions, for both chunked and
2375unchunked data")
2376 (description "This Haskell package provides a replacement for Data.Conduit.List,
2377as well as a convenient Conduit module.")
2378 (license license:expat)))
2379
2380(define-public ghc-conduit-extra
2381 (package
2382 (name "ghc-conduit-extra")
151774d9 2383 (version "1.3.4")
dddbc90c
RV
2384 (source
2385 (origin
2386 (method url-fetch)
2387 (uri (string-append "https://hackage.haskell.org/package/"
2388 "conduit-extra/conduit-extra-"
2389 version ".tar.gz"))
2390 (sha256
2391 (base32
151774d9 2392 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2393 (build-system haskell-build-system)
2394 (inputs
2395 `(("ghc-conduit" ,ghc-conduit)
2396 ("ghc-exceptions" ,ghc-exceptions)
2397 ("ghc-monad-control" ,ghc-monad-control)
2398 ("ghc-transformers-base" ,ghc-transformers-base)
2399 ("ghc-typed-process" ,ghc-typed-process)
2400 ("ghc-async" ,ghc-async)
2401 ("ghc-attoparsec" ,ghc-attoparsec)
2402 ("ghc-blaze-builder" ,ghc-blaze-builder)
2403 ("ghc-network" ,ghc-network)
2404 ("ghc-primitive" ,ghc-primitive)
2405 ("ghc-resourcet" ,ghc-resourcet)
2406 ("ghc-streaming-commons" ,ghc-streaming-commons)
2407 ("ghc-hspec" ,ghc-hspec)
2408 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2409 ("ghc-quickcheck" ,ghc-quickcheck)))
2410 (native-inputs
2411 `(("hspec-discover" ,hspec-discover)))
2412 (home-page "https://github.com/snoyberg/conduit")
2413 (synopsis "Conduit adapters for common libraries")
2414 (description
2415 "The @code{conduit} package itself maintains relative small dependencies.
2416The purpose of this package is to collect commonly used utility functions
2417wrapping other library dependencies, without depending on heavier-weight
2418dependencies. The basic idea is that this package should only depend on
2419@code{haskell-platform} packages and @code{conduit}.")
2420 (license license:expat)))
2421
b59c3518
TS
2422(define-public ghc-conduit-zstd
2423 (package
2424 (name "ghc-conduit-zstd")
2425 (version "0.0.1.1")
2426 (source
2427 (origin
2428 (method url-fetch)
2429 (uri (string-append "https://hackage.haskell.org/package/"
2430 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2431 (sha256
2432 (base32
2433 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2434 (build-system haskell-build-system)
2435 (inputs
2436 `(("ghc-conduit" ,ghc-conduit)
2437 ("ghc-zstd" ,ghc-zstd)))
2438 (native-inputs
2439 `(("ghc-hunit" ,ghc-hunit)
2440 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2441 ("ghc-conduit-extra" ,ghc-conduit-extra)
2442 ("ghc-test-framework" ,ghc-test-framework)
2443 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2444 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2445 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2446 (synopsis "Conduit-based ZStd Compression")
2447 (description "Zstandard compression packaged as a conduit. This is
2448a very thin wrapper around the
2449@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2450interface}.")
2451 (license license:expat)))
2452
dddbc90c
RV
2453(define-public ghc-configurator
2454 (package
2455 (name "ghc-configurator")
2456 (version "0.3.0.0")
2457 (source
2458 (origin
2459 (method url-fetch)
2460 (uri (string-append "https://hackage.haskell.org/package/"
2461 "configurator/configurator-"
2462 version ".tar.gz"))
2463 (sha256
2464 (base32
2465 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2466 (build-system haskell-build-system)
2467 (inputs
2468 `(("ghc-attoparsec" ,ghc-attoparsec)
2469 ("ghc-hashable" ,ghc-hashable)
2470 ("ghc-unix-compat" ,ghc-unix-compat)
2471 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2472 (native-inputs
2473 `(("ghc-hunit" ,ghc-hunit)
2474 ("ghc-test-framework" ,ghc-test-framework)
2475 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
702a1012 2476 (home-page "https://github.com/bos/configurator")
dddbc90c
RV
2477 (synopsis "Configuration management")
2478 (description
2479 "This package provides a configuration management library for programs
2480and daemons. The features include:
2481
2482@enumerate
2483@item Automatic, dynamic reloading in response to modifications to
2484 configuration files.
2485@item A simple, but flexible, configuration language, supporting several of
2486 the most commonly needed types of data, along with interpolation of strings
2487 from the configuration or the system environment (e.g. @code{$(HOME)}).
2488@item Subscription-based notification of changes to configuration properties.
2489@item An @code{import} directive allows the configuration of a complex
2490 application to be split across several smaller files, or common configuration
2491 data to be shared across several applications.
2492@end enumerate\n")
2493 (license license:bsd-3)))
2494
2495(define-public ghc-connection
2496 (package
2497 (name "ghc-connection")
6ee0d258 2498 (version "0.3.1")
dddbc90c
RV
2499 (source (origin
2500 (method url-fetch)
2501 (uri (string-append "https://hackage.haskell.org/package/"
2502 "connection/connection-"
2503 version ".tar.gz"))
2504 (sha256
2505 (base32
6ee0d258 2506 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2507 (build-system haskell-build-system)
2508 (inputs
2509 `(("ghc-byteable" ,ghc-byteable)
2510 ("ghc-data-default-class" ,ghc-data-default-class)
2511 ("ghc-network" ,ghc-network)
2512 ("ghc-tls" ,ghc-tls)
2513 ("ghc-socks" ,ghc-socks)
2514 ("ghc-x509" ,ghc-x509)
2515 ("ghc-x509-store" ,ghc-x509-store)
2516 ("ghc-x509-system" ,ghc-x509-system)
2517 ("ghc-x509-validation" ,ghc-x509-validation)))
2518 (home-page "https://github.com/vincenthz/hs-connection")
2519 (synopsis "Simple and easy network connections API")
2520 (description
2521 "This package provides a simple network library for all your connection
2522needs. It provides a very simple API to create sockets to a destination with
2523the choice of SSL/TLS, and SOCKS.")
2524 (license license:bsd-3)))
2525
2526(define-public ghc-constraints
2527 (package
2528 (name "ghc-constraints")
2529 (version "0.10.1")
2530 (source
2531 (origin
2532 (method url-fetch)
2533 (uri (string-append
2534 "https://hackage.haskell.org/package/constraints/constraints-"
2535 version ".tar.gz"))
2536 (sha256
2537 (base32
2538 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2539 (build-system haskell-build-system)
2540 (inputs
2541 `(("ghc-hashable" ,ghc-hashable)
2542 ("ghc-semigroups" ,ghc-semigroups)
2543 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2544 (native-inputs
2545 `(("ghc-hspec" ,ghc-hspec)
2546 ("hspec-discover" ,hspec-discover)))
2547 (home-page "https://github.com/ekmett/constraints/")
2548 (synopsis "Constraint manipulation")
2549 (description
2550 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2551They stopped crashing the compiler in GHC 7.6. This package provides
2552a vocabulary for working with them.")
2553 (license license:bsd-3)))
2554
2555(define-public ghc-contravariant
2556 (package
2557 (name "ghc-contravariant")
e7b35ff0 2558 (version "1.5.2")
dddbc90c
RV
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/contravariant/contravariant-"
2564 version
2565 ".tar.gz"))
2566 (sha256
2567 (base32
e7b35ff0 2568 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2569 (build-system haskell-build-system)
2570 (inputs
2571 `(("ghc-void" ,ghc-void)
2572 ("ghc-transformers-compat" ,ghc-transformers-compat)
2573 ("ghc-statevar" ,ghc-statevar)
2574 ("ghc-semigroups" ,ghc-semigroups)))
2575 (home-page
2576 "https://github.com/ekmett/contravariant/")
2577 (synopsis "Contravariant functors")
2578 (description "Contravariant functors for Haskell.")
2579 (license license:bsd-3)))
2580
2581(define-public ghc-contravariant-extras
2582 (package
2583 (name "ghc-contravariant-extras")
2584 (version "0.3.4")
2585 (source
2586 (origin
2587 (method url-fetch)
2588 (uri (string-append "https://hackage.haskell.org/package/"
2589 "contravariant-extras-" version "/"
2590 "contravariant-extras-" version ".tar.gz"))
2591 (sha256
2592 (base32
2593 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2594 (build-system haskell-build-system)
f3aca086
TS
2595 (arguments
2596 `(#:cabal-revision
2597 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2598 (inputs
2599 `(("ghc-tuple-th" ,ghc-tuple-th)
2600 ("ghc-contravariant" ,ghc-contravariant)
2601 ("ghc-base-prelude" ,ghc-base-prelude)
2602 ("ghc-semigroups" ,ghc-semigroups)))
2603 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2604 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2605 (description "This Haskell package provides extras for the
2606@code{ghc-contravariant} package.")
2607 (license license:expat)))
2608
2609(define-public ghc-convertible
2610 (package
2611 (name "ghc-convertible")
2612 (version "1.1.1.0")
2613 (source
2614 (origin
2615 (method url-fetch)
2616 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2617 "convertible-" version ".tar.gz"))
2618 (sha256
2619 (base32
2620 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2621 (build-system haskell-build-system)
2622 (inputs
2623 `(("ghc-old-time" ,ghc-old-time)
2624 ("ghc-old-locale" ,ghc-old-locale)))
2625 (home-page "https://hackage.haskell.org/package/convertible")
2626 (synopsis "Typeclasses and instances for converting between types")
2627 (description
2628 "This package provides a typeclass with a single function that is
2629designed to help convert between different types: numeric values, dates and
2630times, and the like. The conversions perform bounds checking and return a
2631pure @code{Either} value. This means that you need not remember which specific
2632function performs the conversion you desire.")
2633 (license license:bsd-3)))
2634
2635(define-public ghc-data-accessor
2636 (package
2637 (name "ghc-data-accessor")
6dcca515 2638 (version "0.2.2.8")
dddbc90c
RV
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append
2643 "mirror://hackage/package/data-accessor/data-accessor-"
2644 version ".tar.gz"))
2645 (sha256
6dcca515 2646 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c 2647 (build-system haskell-build-system)
228d2901 2648 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2649 (synopsis
2650 "Haskell utilities for accessing and manipulating fields of records")
2651 (description "This package provides Haskell modules for accessing and
2652manipulating fields of records.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-data-accessor-transformers
2656 (package
2657 (name "ghc-data-accessor-transformers")
2658 (version "0.2.1.7")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append
2663 "mirror://hackage/package/data-accessor-transformers/"
2664 "data-accessor-transformers-" version ".tar.gz"))
2665 (sha256
2666 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2667 (build-system haskell-build-system)
2668 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
228d2901 2669 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2670 (synopsis "Use Accessor to access state in transformers State monad")
2671 (description "This package provides Haskell modules to allow use of
2672Accessor to access state in transformers State monad.")
2673 (license license:bsd-3)))
2674
2675(define-public ghc-data-default
2676 (package
2677 (name "ghc-data-default")
2678 (version "0.7.1.1")
2679 (source
2680 (origin
2681 (method url-fetch)
2682 (uri (string-append
2683 "https://hackage.haskell.org/package/data-default/data-default-"
2684 version
2685 ".tar.gz"))
2686 (sha256
2687 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2688 (build-system haskell-build-system)
2689 (inputs
2690 `(("ghc-data-default-class"
2691 ,ghc-data-default-class)
2692 ("ghc-data-default-instances-base"
2693 ,ghc-data-default-instances-base)
2694 ("ghc-data-default-instances-containers"
2695 ,ghc-data-default-instances-containers)
2696 ("ghc-data-default-instances-dlist"
2697 ,ghc-data-default-instances-dlist)
2698 ("ghc-data-default-instances-old-locale"
2699 ,ghc-data-default-instances-old-locale)))
2700 (home-page "https://hackage.haskell.org/package/data-default")
2701 (synopsis "Types with default values")
2702 (description
2703 "This package defines a class for types with a default value, and
2704provides instances for types from the base, containers, dlist and old-locale
2705packages.")
2706 (license license:bsd-3)))
2707
2708(define-public ghc-data-default-class
2709 (package
2710 (name "ghc-data-default-class")
2711 (version "0.1.2.0")
2712 (source
2713 (origin
2714 (method url-fetch)
2715 (uri (string-append
2716 "https://hackage.haskell.org/package/data-default-class/"
2717 "data-default-class-" version ".tar.gz"))
2718 (sha256
2719 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2720 (build-system haskell-build-system)
2721 (home-page "https://hackage.haskell.org/package/data-default-class")
2722 (synopsis "Types with default values")
2723 (description
2724 "This package defines a class for types with default values.")
2725 (license license:bsd-3)))
2726
2727(define-public ghc-data-default-instances-base
2728 (package
2729 (name "ghc-data-default-instances-base")
2730 (version "0.1.0.1")
2731 (source
2732 (origin
2733 (method url-fetch)
2734 (uri (string-append
2735 "https://hackage.haskell.org/package/"
2736 "data-default-instances-base/"
2737 "data-default-instances-base-" version ".tar.gz"))
2738 (sha256
2739 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2740 (build-system haskell-build-system)
2741 (inputs
2742 `(("ghc-data-default-class" ,ghc-data-default-class)))
2743 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2744 (synopsis "Default instances for types in base")
2745 (description
2746 "This package provides default instances for types from the base
2747package.")
2748 (license license:bsd-3)))
2749
2750(define-public ghc-data-default-instances-containers
2751 (package
2752 (name "ghc-data-default-instances-containers")
2753 (version "0.0.1")
2754 (source
2755 (origin
2756 (method url-fetch)
2757 (uri (string-append
2758 "https://hackage.haskell.org/package/"
2759 "data-default-instances-containers/"
2760 "data-default-instances-containers-" version ".tar.gz"))
2761 (sha256
2762 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2763 (build-system haskell-build-system)
2764 (inputs
2765 `(("ghc-data-default-class" ,ghc-data-default-class)))
2766 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2767 (synopsis "Default instances for types in containers")
2768 (description "Provides default instances for types from the containers
2769package.")
2770 (license license:bsd-3)))
2771
2772(define-public ghc-data-default-instances-dlist
2773 (package
2774 (name "ghc-data-default-instances-dlist")
2775 (version "0.0.1")
2776 (source
2777 (origin
2778 (method url-fetch)
2779 (uri (string-append
2780 "https://hackage.haskell.org/package/"
2781 "data-default-instances-dlist/"
2782 "data-default-instances-dlist-" version ".tar.gz"))
2783 (sha256
2784 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2785 (build-system haskell-build-system)
2786 (inputs
2787 `(("ghc-data-default-class" ,ghc-data-default-class)
2788 ("ghc-dlist" ,ghc-dlist)))
2789 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2790 (synopsis "Default instances for types in dlist")
2791 (description "Provides default instances for types from the dlist
2792package.")
2793 (license license:bsd-3)))
2794
2795(define-public ghc-data-default-instances-old-locale
2796 (package
2797 (name "ghc-data-default-instances-old-locale")
2798 (version "0.0.1")
2799 (source
2800 (origin
2801 (method url-fetch)
2802 (uri (string-append
2803 "https://hackage.haskell.org/package/"
2804 "data-default-instances-old-locale/"
2805 "data-default-instances-old-locale-" version ".tar.gz"))
2806 (sha256
2807 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2808 (build-system haskell-build-system)
2809 (inputs
2810 `(("ghc-data-default-class" ,ghc-data-default-class)
2811 ("ghc-old-locale" ,ghc-old-locale)))
2812 (home-page
2813 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2814 (synopsis "Default instances for types in old-locale")
2815 (description "Provides Default instances for types from the old-locale
2816 package.")
2817 (license license:bsd-3)))
2818
82c36002
JS
2819(define-public ghc-data-fix
2820 (package
2821 (name "ghc-data-fix")
2822 (version "0.2.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append
2827 "mirror://hackage/package/data-fix/"
2828 "data-fix-" version ".tar.gz"))
2829 (sha256
2830 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2831 (build-system haskell-build-system)
2832 (home-page "https://github.com/spell-music/data-fix")
2833 (synopsis "Fixpoint data types")
2834 (description
2835 "Fixpoint types and recursion schemes. If you define your AST as
2836fixpoint type, you get fold and unfold operations for free.
2837
2838Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2839 (license license:bsd-3)))
2840
dddbc90c
RV
2841(define-public ghc-data-hash
2842 (package
2843 (name "ghc-data-hash")
2844 (version "0.2.0.1")
2845 (source
2846 (origin
2847 (method url-fetch)
2848 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2849 "/data-hash-" version ".tar.gz"))
2850 (sha256
2851 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2852 (build-system haskell-build-system)
2853 (inputs
2854 `(("ghc-quickcheck" ,ghc-quickcheck)
2855 ("ghc-test-framework" ,ghc-test-framework)
2856 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2857 (home-page "https://hackage.haskell.org/package/data-hash")
2858 (synopsis "Combinators for building fast hashing functions")
2859 (description
2860 "This package provides combinators for building fast hashing functions.
2861It includes hashing functions for all basic Haskell98 types.")
2862 (license license:bsd-3)))
2863
2864(define-public ghc-data-ordlist
2865 (package
2866 (name "ghc-data-ordlist")
2867 (version "0.4.7.0")
2868 (source
2869 (origin
2870 (method url-fetch)
2871 (uri (string-append
2872 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2873 version ".tar.gz"))
2874 (sha256
2875 (base32
2876 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2877 (build-system haskell-build-system)
2878 (home-page "https://hackage.haskell.org/package/data-ordlist")
2879 (synopsis "Set and bag operations on ordered lists")
2880 (description
2881 "This module provides set and multiset operations on ordered lists.")
2882 (license license:bsd-3)))
2883
d05f32d6
JS
2884(define-public ghc-dbus
2885 (package
2886 (name "ghc-dbus")
2887 (version "1.2.7")
2888 (source
2889 (origin
2890 (method url-fetch)
2891 (uri
2892 (string-append
2893 "mirror://hackage/package/dbus/dbus-"
2894 version ".tar.gz"))
2895 (sha256
2896 (base32
2897 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2898 (build-system haskell-build-system)
2899 (inputs
2900 `(("ghc-cereal" ,ghc-cereal)
2901 ("ghc-conduit" ,ghc-conduit)
2902 ("ghc-exceptions" ,ghc-exceptions)
2903 ("ghc-lens" ,ghc-lens)
2904 ("ghc-network" ,ghc-network)
2905 ("ghc-random" ,ghc-random)
2906 ("ghc-split" ,ghc-split)
2907 ("ghc-th-lift" ,ghc-th-lift)
2908 ("ghc-vector" ,ghc-vector)
2909 ("ghc-xml-conduit" ,ghc-xml-conduit)
2910 ("ghc-xml-types" ,ghc-xml-types)))
2911 (native-inputs
2912 `(("ghc-extra" ,ghc-extra)
2913 ("ghc-quickcheck" ,ghc-quickcheck)
2914 ("ghc-resourcet" ,ghc-resourcet)
2915 ("ghc-tasty" ,ghc-tasty)
2916 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2917 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2918 ;; FIXME - Some tests try to talk to network.
2919 (arguments `(#:tests? #f))
2920 (home-page "https://github.com/rblaze/haskell-dbus")
2921 (synopsis "Client library for the D-Bus IPC system")
2922 (description
2923 "D-Bus is a simple, message-based protocol for inter-process
2924communication, which allows applications to interact with other parts
2925of the machine and the user's session using remote procedure
2926calls. D-Bus is a essential part of the modern Linux desktop, where
2927it replaces earlier protocols such as CORBA and DCOP. This library
2928is an implementation of the D-Bus protocol in Haskell. It can be used
2929to add D-Bus support to Haskell applications, without the awkward
2930interfaces common to foreign bindings.")
2931 (license license:asl2.0)))
2932
dddbc90c
RV
2933(define-public ghc-deepseq-generics
2934 (package
2935 (name "ghc-deepseq-generics")
2936 (version "0.2.0.0")
2937 (source (origin
2938 (method url-fetch)
2939 (uri (string-append "https://hackage.haskell.org/package/"
2940 "deepseq-generics/deepseq-generics-"
2941 version ".tar.gz"))
2942 (sha256
2943 (base32
2944 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2945 (build-system haskell-build-system)
2946 (arguments
2947 `(#:cabal-revision
490ceae4 2948 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2949 (native-inputs
2950 `(("ghc-hunit" ,ghc-hunit)
2951 ("ghc-test-framework" ,ghc-test-framework)
2952 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2953 (home-page "https://github.com/hvr/deepseq-generics")
2954 (synopsis "Generic RNF implementation")
2955 (description
2956 "This package provides a @code{GHC.Generics}-based
2957@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2958providing an @code{rnf} implementation.")
2959 (license license:bsd-3)))
2960
e924e17e
TS
2961(define-public ghc-dense-linear-algebra
2962 (package
2963 (name "ghc-dense-linear-algebra")
2964 (version "0.1.0.0")
2965 (source
2966 (origin
2967 (method url-fetch)
2968 (uri (string-append "https://hackage.haskell.org/package/"
2969 "dense-linear-algebra/dense-linear-algebra-"
2970 version ".tar.gz"))
2971 (sha256
2972 (base32
2973 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2974 (build-system haskell-build-system)
2975 (inputs
2976 `(("ghc-math-functions" ,ghc-math-functions)
2977 ("ghc-primitive" ,ghc-primitive)
2978 ("ghc-vector" ,ghc-vector)
2979 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2980 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2981 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2982 (native-inputs
2983 `(("ghc-hspec" ,ghc-hspec)
2984 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2985 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2986 (synopsis "Simple and incomplete implementation of linear algebra")
2987 (description "This library is simply a collection of linear-algebra
2988related modules split from the statistics library.")
2989 (license license:bsd-2)))
2990
dddbc90c
RV
2991(define-public ghc-descriptive
2992 (package
2993 (name "ghc-descriptive")
2994 (version "0.9.5")
2995 (source
2996 (origin
2997 (method url-fetch)
2998 (uri (string-append
2999 "https://hackage.haskell.org/package/descriptive/descriptive-"
3000 version
3001 ".tar.gz"))
3002 (sha256
3003 (base32
3004 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3005 (build-system haskell-build-system)
3006 (inputs
3007 `(("ghc-aeson" ,ghc-aeson)
3008 ("ghc-bifunctors" ,ghc-bifunctors)
3009 ("ghc-scientific" ,ghc-scientific)
3010 ("ghc-vector" ,ghc-vector)))
3011 (native-inputs
3012 `(("ghc-hunit" ,ghc-hunit)
3013 ("ghc-hspec" ,ghc-hspec)))
3014 (home-page
3015 "https://github.com/chrisdone/descriptive")
3016 (synopsis
3017 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3018 (description
3019 "This package provides datatypes and functions for creating consumers
3020and parsers with useful semantics.")
3021 (license license:bsd-3)))
3022
1859c94a
TS
3023(define-public ghc-diagrams-core
3024 (package
3025 (name "ghc-diagrams-core")
3026 (version "1.4.2")
3027 (source
3028 (origin
3029 (method url-fetch)
3030 (uri (string-append "https://hackage.haskell.org/package/"
3031 "diagrams-core/diagrams-core-" version ".tar.gz"))
3032 (sha256
3033 (base32
3034 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3035 (build-system haskell-build-system)
3036 (inputs
3037 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3038 ("ghc-semigroups" ,ghc-semigroups)
3039 ("ghc-monoid-extras" ,ghc-monoid-extras)
3040 ("ghc-dual-tree" ,ghc-dual-tree)
3041 ("ghc-lens" ,ghc-lens)
3042 ("ghc-linear" ,ghc-linear)
3043 ("ghc-adjunctions" ,ghc-adjunctions)
3044 ("ghc-distributive" ,ghc-distributive)
3045 ("ghc-profunctors" ,ghc-profunctors)))
3046 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3047 (synopsis "Core libraries for diagrams embedded domain-specific language")
3048 (description "This package provides the core modules underlying
3049diagrams, an embedded domain-specific language for compositional,
3050declarative drawing.")
3051 (license license:bsd-3)))
3052
f9f1a630
TS
3053(define-public ghc-diagrams-lib
3054 (package
3055 (name "ghc-diagrams-lib")
3056 (version "1.4.2.3")
3057 (source
3058 (origin
3059 (method url-fetch)
3060 (uri (string-append "https://hackage.haskell.org/package/"
3061 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3062 (sha256
3063 (base32
3064 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3065 (build-system haskell-build-system)
3066 (inputs
3067 `(("ghc-semigroups" ,ghc-semigroups)
3068 ("ghc-monoid-extras" ,ghc-monoid-extras)
3069 ("ghc-dual-tree" ,ghc-dual-tree)
3070 ("ghc-diagrams-core" ,ghc-diagrams-core)
3071 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3072 ("ghc-active" ,ghc-active)
3073 ("ghc-colour" ,ghc-colour)
3074 ("ghc-data-default-class" ,ghc-data-default-class)
3075 ("ghc-fingertree" ,ghc-fingertree)
3076 ("ghc-intervals" ,ghc-intervals)
3077 ("ghc-lens" ,ghc-lens)
3078 ("ghc-tagged" ,ghc-tagged)
3079 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3080 ("ghc-juicypixels" ,ghc-juicypixels)
3081 ("ghc-hashable" ,ghc-hashable)
3082 ("ghc-linear" ,ghc-linear)
3083 ("ghc-adjunctions" ,ghc-adjunctions)
3084 ("ghc-distributive" ,ghc-distributive)
3085 ("ghc-fsnotify" ,ghc-fsnotify)
3086 ("ghc-unordered-containers" ,ghc-unordered-containers)
3087 ("ghc-profunctors" ,ghc-profunctors)
3088 ("ghc-exceptions" ,ghc-exceptions)
3089 ("ghc-cereal" ,ghc-cereal)))
3090 (native-inputs
3091 `(("ghc-tasty" ,ghc-tasty)
3092 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3093 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3094 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3095 (arguments
3096 `(#:cabal-revision
3097 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3098 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3099 (synopsis "Embedded domain-specific language for declarative graphics")
3100 (description "Diagrams is a flexible, extensible embedded
3101domain-specific language (EDSL) for creating graphics of many types.
3102Graphics can be created in arbitrary vector spaces and rendered with
3103multiple backends. This package provides a standard library of
3104primitives and operations for creating diagrams.")
3105 (license license:bsd-3)))
3106
fd33ffa0
TS
3107(define-public ghc-diagrams-solve
3108 (package
3109 (name "ghc-diagrams-solve")
3110 (version "0.1.1")
3111 (source
3112 (origin
3113 (method url-fetch)
3114 (uri (string-append "https://hackage.haskell.org/package/"
3115 "diagrams-solve/diagrams-solve-"
3116 version ".tar.gz"))
3117 (sha256
3118 (base32
3119 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3120 (build-system haskell-build-system)
3121 (native-inputs
3122 `(("ghc-tasty" ,ghc-tasty)
3123 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3124 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3125 (arguments
3126 `(#:cabal-revision
3127 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3128 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3129 (synopsis "Pure Haskell solver routines used by diagrams")
3130 (description "This library provides Pure Haskell solver routines for
3131use by the
3132@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3133diagrams framework}. It currently includes routines for finding real
3134roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3135and cyclic tridiagonal linear systems.")
3136 (license license:bsd-3)))
3137
74be1cb7
TS
3138(define-public ghc-diagrams-svg
3139 (package
3140 (name "ghc-diagrams-svg")
3141 (version "1.4.2")
3142 (source
3143 (origin
3144 (method url-fetch)
3145 (uri (string-append "https://hackage.haskell.org/package/"
3146 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3147 (sha256
3148 (base32
3149 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3150 (build-system haskell-build-system)
3151 (inputs
3152 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3153 ("ghc-colour" ,ghc-colour)
3154 ("ghc-diagrams-core" ,ghc-diagrams-core)
3155 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3156 ("ghc-monoid-extras" ,ghc-monoid-extras)
3157 ("ghc-svg-builder" ,ghc-svg-builder)
3158 ("ghc-juicypixels" ,ghc-juicypixels)
3159 ("ghc-split" ,ghc-split)
3160 ("ghc-lens" ,ghc-lens)
3161 ("ghc-hashable" ,ghc-hashable)
3162 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3163 ("ghc-semigroups" ,ghc-semigroups)))
3164 (arguments
3165 `(#:cabal-revision
3166 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3167 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3168 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3169 (description "This package provides a modular backend for rendering
3170diagrams created with the diagrams embedded domain-specific
3171language (EDSL) to Scalable Vector Graphics (SVG) files.")
3172 (license license:bsd-3)))
3173
4eb9a167
TS
3174(define-public ghc-dictionary-sharing
3175 (package
3176 (name "ghc-dictionary-sharing")
3177 (version "0.1.0.0")
3178 (source
3179 (origin
3180 (method url-fetch)
3181 (uri (string-append "https://hackage.haskell.org/package/"
3182 "dictionary-sharing/dictionary-sharing-"
3183 version ".tar.gz"))
3184 (sha256
3185 (base32
3186 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3187 (build-system haskell-build-system)
3188 (arguments
3189 `(#:cabal-revision
3190 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3191 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3192 (synopsis "Sharing/memoization of class members")
3193 (description "This library provides tools for ensuring that class
3194members are shared.")
3195 (license license:bsd-3)))
3196
dddbc90c
RV
3197(define-public ghc-diff
3198 (package
3199 (name "ghc-diff")
3200 (version "0.3.4")
3201 (source (origin
3202 (method url-fetch)
3203 (uri (string-append "https://hackage.haskell.org/package/"
3204 "Diff/Diff-" version ".tar.gz"))
a531ff94 3205 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3206 (sha256
3207 (base32
3208 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3209 (build-system haskell-build-system)
3210 (native-inputs
3211 `(("ghc-quickcheck" ,ghc-quickcheck)
3212 ("ghc-test-framework" ,ghc-test-framework)
3213 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3214 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3215 (synopsis "O(ND) diff algorithm in Haskell")
3216 (description
3217 "This package provides an implementation of the standard diff algorithm,
3218and utilities for pretty printing.")
3219 (license license:bsd-3)))
3220
3221(define-public ghc-disk-free-space
3222 (package
3223 (name "ghc-disk-free-space")
3224 (version "0.1.0.1")
3225 (source
3226 (origin
3227 (method url-fetch)
3228 (uri (string-append "https://hackage.haskell.org/package/"
3229 "disk-free-space/disk-free-space-"
3230 version ".tar.gz"))
3231 (sha256
3232 (base32
3233 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3234 (build-system haskell-build-system)
3235 (home-page "https://github.com/redneb/disk-free-space")
3236 (synopsis "Retrieve information about disk space usage")
3237 (description "A cross-platform library for retrieving information about
3238disk space usage.")
3239 (license license:bsd-3)))
3240
3241(define-public ghc-distributive
3242 (package
3243 (name "ghc-distributive")
e4c92f28 3244 (version "0.6.1")
dddbc90c
RV
3245 (source
3246 (origin
3247 (method url-fetch)
3248 (uri (string-append
3249 "https://hackage.haskell.org/package/distributive/distributive-"
3250 version
3251 ".tar.gz"))
3252 (sha256
3253 (base32
e4c92f28 3254 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3255 (build-system haskell-build-system)
dddbc90c
RV
3256 (inputs
3257 `(("ghc-tagged" ,ghc-tagged)
3258 ("ghc-base-orphans" ,ghc-base-orphans)
3259 ("ghc-transformers-compat" ,ghc-transformers-compat)
3260 ("ghc-semigroups" ,ghc-semigroups)
3261 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3262 (native-inputs
3263 `(("cabal-doctest" ,cabal-doctest)
3264 ("ghc-doctest" ,ghc-doctest)
3265 ("ghc-hspec" ,ghc-hspec)
3266 ("hspec-discover" ,hspec-discover)))
3267 (home-page "https://github.com/ekmett/distributive/")
3268 (synopsis "Distributive functors for Haskell")
3269 (description "This package provides distributive functors for Haskell.
3270Dual to @code{Traversable}.")
3271 (license license:bsd-3)))
3272
3273(define-public ghc-dlist
3274 (package
3275 (name "ghc-dlist")
197ddf33 3276 (version "0.8.0.7")
dddbc90c
RV
3277 (source
3278 (origin
3279 (method url-fetch)
3280 (uri (string-append
3281 "https://hackage.haskell.org/package/dlist/dlist-"
3282 version
3283 ".tar.gz"))
3284 (sha256
197ddf33 3285 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3286 (build-system haskell-build-system)
3287 (inputs
3288 `(("ghc-quickcheck" ,ghc-quickcheck)))
3289 (home-page "https://github.com/spl/dlist")
3290 (synopsis "Difference lists")
3291 (description
3292 "Difference lists are a list-like type supporting O(1) append. This is
3293particularly useful for efficient logging and pretty printing (e.g. with the
3294Writer monad), where list append quickly becomes too expensive.")
3295 (license license:bsd-3)))
3296
3297(define-public ghc-doctemplates
3298 (package
3299 (name "ghc-doctemplates")
3300 (version "0.2.2.1")
3301 (source
3302 (origin
3303 (method url-fetch)
3304 (uri (string-append "https://hackage.haskell.org/package/"
3305 "doctemplates/doctemplates-"
3306 version ".tar.gz"))
3307 (sha256
3308 (base32
3309 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3310 (build-system haskell-build-system)
3311 (inputs
3312 `(("ghc-aeson" ,ghc-aeson)
3313 ("ghc-blaze-markup" ,ghc-blaze-markup)
3314 ("ghc-blaze-html" ,ghc-blaze-html)
3315 ("ghc-vector" ,ghc-vector)
3316 ("ghc-unordered-containers" ,ghc-unordered-containers)
3317 ("ghc-scientific" ,ghc-scientific)))
3318 (native-inputs
3319 `(("ghc-hspec" ,ghc-hspec)))
3320 (home-page "https://github.com/jgm/doctemplates#readme")
3321 (synopsis "Pandoc-style document templates")
3322 (description
3323 "This package provides a simple text templating system used by pandoc.")
3324 (license license:bsd-3)))
3325
3326(define-public ghc-doctest
3327 (package
3328 (name "ghc-doctest")
19c14a0f 3329 (version "0.16.2")
dddbc90c
RV
3330 (source
3331 (origin
3332 (method url-fetch)
3333 (uri (string-append
3334 "https://hackage.haskell.org/package/doctest/doctest-"
3335 version
3336 ".tar.gz"))
3337 (sha256
3338 (base32
19c14a0f 3339 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3340 (build-system haskell-build-system)
3341 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3342 (inputs
3343 `(("ghc-syb" ,ghc-syb)
3344 ("ghc-paths" ,ghc-paths)
3345 ("ghc-base-compat" ,ghc-base-compat)
3346 ("ghc-code-page" ,ghc-code-page)
3347 ("ghc-hunit" ,ghc-hunit)
3348 ("ghc-hspec" ,ghc-hspec)
3349 ("ghc-quickcheck" ,ghc-quickcheck)
3350 ("ghc-stringbuilder" ,ghc-stringbuilder)
3351 ("ghc-silently" ,ghc-silently)
3352 ("ghc-setenv" ,ghc-setenv)))
3353 (home-page
3354 "https://github.com/sol/doctest#readme")
3355 (synopsis "Test interactive Haskell examples")
3356 (description "The doctest program checks examples in source code comments.
3357It is modeled after doctest for Python, see
3358@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3359 (license license:expat)))
3360
2b2c8911
JS
3361(define-public ghc-dotgen
3362 (package
3363 (name "ghc-dotgen")
3364 (version "0.4.2")
3365 (source
3366 (origin
3367 (method url-fetch)
3368 (uri (string-append
3369 "mirror://hackage/package/dotgen/dotgen-"
3370 version
3371 ".tar.gz"))
3372 (sha256
3373 (base32
3374 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3375 (build-system haskell-build-system)
3376 (home-page "https://github.com/ku-fpg/dotgen")
3377 (synopsis
3378 "Simple interface for building .dot graph files")
3379 (description
3380 "This package provides a simple interface for building .dot graph
3381files, for input into the dot and graphviz tools. It includes a
3382monadic interface for building graphs.")
3383 (license license:bsd-3)))
3384
dddbc90c
RV
3385(define-public ghc-double-conversion
3386 (package
3387 (name "ghc-double-conversion")
3388 (version "2.0.2.0")
3389 (source
3390 (origin
3391 (method url-fetch)
3392 (uri (string-append "https://hackage.haskell.org/package/"
3393 "double-conversion/double-conversion-"
3394 version ".tar.gz"))
3395 (sha256
3396 (base32
3397 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3398 (build-system haskell-build-system)
3399 (native-inputs
3400 `(("ghc-hunit" ,ghc-hunit)
3401 ("ghc-test-framework" ,ghc-test-framework)
3402 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3403 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3404 (home-page "https://github.com/bos/double-conversion")
3405 (synopsis "Fast conversion between double precision floating point and text")
3406 (description
3407 "This package provides a library that performs fast, accurate conversion
3408between double precision floating point and text.")
3409 (license license:bsd-3)))
3410
577a78b7
TS
3411(define-public ghc-dual-tree
3412 (package
3413 (name "ghc-dual-tree")
3414 (version "0.2.2.1")
3415 (source
3416 (origin
3417 (method url-fetch)
3418 (uri (string-append "https://hackage.haskell.org/package/"
3419 "dual-tree/dual-tree-" version ".tar.gz"))
3420 (sha256
3421 (base32
3422 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3423 (build-system haskell-build-system)
3424 (inputs
3425 `(("ghc-semigroups" ,ghc-semigroups)
3426 ("ghc-newtype-generics" ,ghc-newtype-generics)
3427 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3428 (native-inputs
3429 `(("ghc-quickcheck" ,ghc-quickcheck)
3430 ("ghc-testing-feat" ,ghc-testing-feat)))
3431 (home-page "https://hackage.haskell.org/package/dual-tree")
3432 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3433 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3434cached) and downwards-traveling (i.e. accumulating) monoidal
3435annotations. This is used as the core data structure underlying the
3436@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3437diagrams framework}, but potentially has other applications as well.")
3438 (license license:bsd-3)))
3439
dddbc90c
RV
3440(define-public ghc-easy-file
3441 (package
3442 (name "ghc-easy-file")
3443 (version "0.2.2")
3444 (source
3445 (origin
3446 (method url-fetch)
3447 (uri (string-append
3448 "https://hackage.haskell.org/package/easy-file/easy-file-"
3449 version
3450 ".tar.gz"))
3451 (sha256
3452 (base32
3453 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3454 (build-system haskell-build-system)
3455 (home-page
3456 "https://github.com/kazu-yamamoto/easy-file")
3457 (synopsis "File handling library for Haskell")
3458 (description "This library provides file handling utilities for Haskell.")
3459 (license license:bsd-3)))
3460
3461(define-public ghc-easyplot
3462 (package
3463 (name "ghc-easyplot")
3464 (version "1.0")
3465 (source
3466 (origin
3467 (method url-fetch)
3468 (uri (string-append
3469 "https://hackage.haskell.org/package/easyplot/easyplot-"
3470 version ".tar.gz"))
3471 (sha256
3472 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3473 (build-system haskell-build-system)
3474 (propagated-inputs `(("gnuplot" ,gnuplot)))
3475 (arguments
3476 `(#:phases (modify-phases %standard-phases
3477 (add-after 'unpack 'fix-setup-suffix
3478 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3479 (home-page "https://hub.darcs.net/scravy/easyplot")
3480 (synopsis "Haskell plotting library based on gnuplot")
3481 (description "This package provides a plotting library for
3482Haskell, using gnuplot for rendering.")
3483 (license license:expat)))
3484
3485(define-public ghc-echo
3486 (package
3487 (name "ghc-echo")
3488 (version "0.1.3")
3489 (source
3490 (origin
3491 (method url-fetch)
3492 (uri (string-append
3493 "https://hackage.haskell.org/package/echo/echo-"
3494 version ".tar.gz"))
3495 (sha256
3496 (base32
3497 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3498 (build-system haskell-build-system)
3499 (arguments
3500 `(#:cabal-revision
3501 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3502 (home-page "https://github.com/RyanGlScott/echo")
3503 (synopsis "Echo terminal input portably")
3504 (description "The @code{base} library exposes the @code{hGetEcho} and
3505@code{hSetEcho} functions for querying and setting echo status, but
3506unfortunately, neither function works with MinTTY consoles on Windows.
3507This library provides an alternative interface which works with both
3508MinTTY and other consoles.")
3509 (license license:bsd-3)))
3510
3511(define-public ghc-edisonapi
3512 (package
3513 (name "ghc-edisonapi")
3514 (version "1.3.1")
3515 (source
3516 (origin
3517 (method url-fetch)
3518 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3519 "/EdisonAPI-" version ".tar.gz"))
3520 (sha256
3521 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3522 (build-system haskell-build-system)
3523 (home-page "http://rwd.rdockins.name/edison/home/")
3524 (synopsis "Library of efficient, purely-functional data structures (API)")
3525 (description
3526 "Edison is a library of purely functional data structures written by
3527Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3528value EDiSon (Efficient Data Structures). Edison provides several families of
3529abstractions, each with multiple implementations. The main abstractions
3530provided by Edison are: Sequences such as stacks, queues, and dequeues;
3531Collections such as sets, bags and heaps; and Associative Collections such as
3532finite maps and priority queues where the priority and element are distinct.")
3533 (license license:expat)))
3534
3535(define-public ghc-edisoncore
3536 (package
3537 (name "ghc-edisoncore")
3538 (version "1.3.2.1")
3539 (source
3540 (origin
3541 (method url-fetch)
3542 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3543 "/EdisonCore-" version ".tar.gz"))
3544 (sha256
3545 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3546 (build-system haskell-build-system)
3547 (inputs
3548 `(("ghc-quickcheck" ,ghc-quickcheck)
3549 ("ghc-edisonapi" ,ghc-edisonapi)))
3550 (home-page "http://rwd.rdockins.name/edison/home/")
3551 (synopsis "Library of efficient, purely-functional data structures")
3552 (description
3553 "This package provides the core Edison data structure implementations,
3554including multiple sequence, set, bag, and finite map concrete implementations
3555with various performance characteristics.")
3556 (license license:expat)))
3557
3558(define-public ghc-edit-distance
3559 (package
3560 (name "ghc-edit-distance")
3561 (version "0.2.2.1")
3562 (source
3563 (origin
3564 (method url-fetch)
3565 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3566 "/edit-distance-" version ".tar.gz"))
3567 (sha256
3568 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3569 (build-system haskell-build-system)
3570 (arguments
3571 `(#:phases
3572 (modify-phases %standard-phases
3573 (add-before 'configure 'update-constraints
3574 (lambda _
3575 (substitute* "edit-distance.cabal"
3576 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3577 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3578 (inputs
3579 `(("ghc-random" ,ghc-random)
3580 ("ghc-test-framework" ,ghc-test-framework)
3581 ("ghc-quickcheck" ,ghc-quickcheck)
3582 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3583 (home-page "https://github.com/phadej/edit-distance")
3584 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3585 (description
3586 "This package provides optimized functions to determine the edit
3587distances for fuzzy matching, including Levenshtein and restricted
3588Damerau-Levenshtein algorithms.")
3589 (license license:bsd-3)))
3590
3ebae41f
TS
3591(define-public ghc-edit-distance-vector
3592 (package
3593 (name "ghc-edit-distance-vector")
3594 (version "1.0.0.4")
3595 (source
3596 (origin
3597 (method url-fetch)
3598 (uri (string-append "https://hackage.haskell.org/package/"
3599 "edit-distance-vector/edit-distance-vector-"
3600 version ".tar.gz"))
3601 (sha256
3602 (base32
3603 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3604 (build-system haskell-build-system)
3605 (inputs
3606 `(("ghc-vector" ,ghc-vector)))
3607 (native-inputs
3608 `(("ghc-quickcheck" ,ghc-quickcheck)
3609 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3610 (home-page "https://github.com/thsutton/edit-distance-vector")
3611 (synopsis "Calculate edit distances and edit scripts between vectors")
3612 (description "This package provides implementation of the
3613Wagner-Fischer dynamic programming algorithm to find the optimal edit
3614script and cost between two sequences. The implementation in this
3615package is specialised to sequences represented with @code{Data.Vector}
3616but is otherwise agnostic to:
3617@itemize
3618@item The type of values in the vectors;
3619@item The type representing edit operations; and
3620@item The type representing the cost of operations.
3621@end itemize")
3622 (license license:bsd-3)) )
3623
dddbc90c
RV
3624(define-public ghc-either
3625 (package
3626 (name "ghc-either")
a3fd4dc7 3627 (version "5.0.1.1")
dddbc90c
RV
3628 (source
3629 (origin
3630 (method url-fetch)
3631 (uri (string-append "https://hackage.haskell.org/package/"
3632 "either-" version "/"
3633 "either-" version ".tar.gz"))
3634 (sha256
3635 (base32
a3fd4dc7 3636 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3637 (build-system haskell-build-system)
3638 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3639 ("ghc-exceptions" ,ghc-exceptions)
3640 ("ghc-free" ,ghc-free)
3641 ("ghc-monad-control" ,ghc-monad-control)
3642 ("ghc-manodrandom" ,ghc-monadrandom)
3643 ("ghc-mmorph" ,ghc-mmorph)
3644 ("ghc-profunctors" ,ghc-profunctors)
3645 ("ghc-semigroups" ,ghc-semigroups)
3646 ("ghc-semigroupoids" ,ghc-semigroupoids)
3647 ("ghc-transformers-base" ,ghc-transformers-base)))
3648 (native-inputs
3649 `(("ghc-quickcheck" ,ghc-quickcheck)
3650 ("ghc-test-framework" ,ghc-test-framework)
3651 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3652 (home-page "https://github.com/ekmett/either")
3653 (synopsis "Provides an either monad transformer for Haskell")
3654 (description "This Haskell package provides an either monad transformer.")
3655 (license license:bsd-3)))
3656
3657(define-public ghc-email-validate
3658 (package
3659 (name "ghc-email-validate")
a4fe1c64 3660 (version "2.3.2.12")
dddbc90c
RV
3661 (source
3662 (origin
3663 (method url-fetch)
3664 (uri (string-append
3665 "https://hackage.haskell.org/package/"
3666 "email-validate/email-validate-"
3667 version
3668 ".tar.gz"))
3669 (sha256
3670 (base32
a4fe1c64 3671 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3672 (build-system haskell-build-system)
3673 (inputs
3674 `(("ghc-attoparsec" ,ghc-attoparsec)
3675 ("ghc-hspec" ,ghc-hspec)
3676 ("ghc-quickcheck" ,ghc-quickcheck)
3677 ("ghc-doctest" ,ghc-doctest)))
3678 (home-page
3679 "https://github.com/Porges/email-validate-hs")
3680 (synopsis "Email address validator for Haskell")
3681 (description
3682 "This Haskell package provides a validator that can validate an email
3683address string against RFC 5322.")
3684 (license license:bsd-3)))
3685
3686(define-public ghc-enclosed-exceptions
3687 (package
3688 (name "ghc-enclosed-exceptions")
3689 (version "1.0.3")
3690 (source (origin
3691 (method url-fetch)
3692 (uri (string-append "https://hackage.haskell.org/package/"
3693 "enclosed-exceptions/enclosed-exceptions-"
3694 version ".tar.gz"))
3695 (sha256
3696 (base32
3697 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3698 (build-system haskell-build-system)
3699 ;; FIXME: one of the tests blocks forever:
3700 ;; "thread blocked indefinitely in an MVar operation"
3701 (arguments '(#:tests? #f))
3702 (inputs
3703 `(("ghc-lifted-base" ,ghc-lifted-base)
3704 ("ghc-monad-control" ,ghc-monad-control)
3705 ("ghc-async" ,ghc-async)
3706 ("ghc-transformers-base" ,ghc-transformers-base)))
3707 (native-inputs
3708 `(("ghc-hspec" ,ghc-hspec)
3709 ("ghc-quickcheck" ,ghc-quickcheck)))
3710 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3711 (synopsis "Catch all exceptions from within an enclosed computation")
3712 (description
3713 "This library implements a technique to catch all exceptions raised
3714within an enclosed computation, while remaining responsive to (external)
3715asynchronous exceptions.")
3716 (license license:expat)))
3717
3718(define-public ghc-equivalence
3719 (package
3720 (name "ghc-equivalence")
801cf5b1 3721 (version "0.3.5")
dddbc90c
RV
3722 (source
3723 (origin
3724 (method url-fetch)
3725 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3726 "/equivalence-" version ".tar.gz"))
3727 (sha256
801cf5b1 3728 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3729 (build-system haskell-build-system)
3730 (inputs
3731 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3732 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3733 ("ghc-fail" ,ghc-fail)
3734 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3735 (home-page "https://github.com/pa-ba/equivalence")
3736 (synopsis "Maintaining an equivalence relation implemented as union-find")
3737 (description
3738 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3739Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
374022(2), 1975) in order to maintain an equivalence relation. This
3741implementation is a port of the @code{union-find} package using the @code{ST}
3742monad transformer (instead of the IO monad).")
3743 (license license:bsd-3)))
3744
3745(define-public ghc-erf
3746 (package
3747 (name "ghc-erf")
3748 (version "2.0.0.0")
3749 (source
3750 (origin
3751 (method url-fetch)
3752 (uri (string-append "https://hackage.haskell.org/package/"
3753 "erf-" version "/"
3754 "erf-" version ".tar.gz"))
3755 (sha256
3756 (base32
3757 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3758 (build-system haskell-build-system)
3759 (home-page "https://hackage.haskell.org/package/erf")
3760 (synopsis "The error function, erf, and related functions for Haskell")
3761 (description "This Haskell library provides a type class for the
3762error function, erf, and related functions. Instances for Float and
3763Double.")
3764 (license license:bsd-3)))
3765
3766(define-public ghc-errorcall-eq-instance
3767 (package
3768 (name "ghc-errorcall-eq-instance")
3769 (version "0.3.0")
3770 (source
3771 (origin
3772 (method url-fetch)
3773 (uri (string-append "https://hackage.haskell.org/package/"
3774 "errorcall-eq-instance/errorcall-eq-instance-"
3775 version ".tar.gz"))
3776 (sha256
3777 (base32
3778 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3779 (build-system haskell-build-system)
3780 (inputs
3781 `(("ghc-base-orphans" ,ghc-base-orphans)))
3782 (native-inputs
3783 `(("ghc-quickcheck" ,ghc-quickcheck)
3784 ("ghc-hspec" ,ghc-hspec)
3785 ("hspec-discover" ,hspec-discover)))
3ef91e15 3786 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3787 (synopsis "Orphan Eq instance for ErrorCall")
3788 (description
3789 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3790This package provides an orphan instance.")
3791 (license license:expat)))
3792
3793(define-public ghc-errors
3794 (package
3795 (name "ghc-errors")
3796 (version "2.3.0")
3797 (source
3798 (origin
3799 (method url-fetch)
3800 (uri (string-append "https://hackage.haskell.org/package/"
3801 "errors-" version "/"
3802 "errors-" version ".tar.gz"))
3803 (sha256
3804 (base32
3805 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3806 (build-system haskell-build-system)
3807 (inputs
3808 `(("ghc-exceptions" ,ghc-exceptions)
3809 ("ghc-transformers-compat" ,ghc-transformers-compat)
3810 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3811 ("ghc-safe" ,ghc-safe)))
3812 (home-page "https://github.com/gabriel439/haskell-errors-library")
3813 (synopsis "Error handling library for Haskell")
3814 (description "This library encourages an error-handling style that
3815directly uses the type system, rather than out-of-band exceptions.")
3816 (license license:bsd-3)))
3817
3818(define-public ghc-esqueleto
2648b604
TS
3819 (package
3820 (name "ghc-esqueleto")
2f6ad77b 3821 (version "3.3.1.1")
2648b604
TS
3822 (source
3823 (origin
3824 (method url-fetch)
3825 (uri (string-append "https://hackage.haskell.org/package/"
3826 "esqueleto/esqueleto-" version ".tar.gz"))
3827 (sha256
3828 (base32
2f6ad77b 3829 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3830 (build-system haskell-build-system)
3831 (arguments
3832 `(#:haddock? #f ; Haddock reports an internal error.
3833 #:phases
3834 (modify-phases %standard-phases
3835 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3836 ;; SQLite backends. Since we only have Haskell packages for
3837 ;; SQLite, we remove the other two test suites. FIXME: Add the
3838 ;; other backends and run all three test suites.
3839 (add-before 'configure 'remove-non-sqlite-test-suites
3840 (lambda _
3841 (use-modules (ice-9 rdelim))
3842 (with-atomic-file-replacement "esqueleto.cabal"
3843 (lambda (in out)
3844 (let loop ((line (read-line in 'concat)) (deleting? #f))
3845 (cond
3846 ((eof-object? line) #t)
3847 ((string-every char-set:whitespace line)
3848 (unless deleting? (display line out))
3849 (loop (read-line in 'concat) #f))
3850 ((member line '("test-suite mysql\n"
3851 "test-suite postgresql\n"))
3852 (loop (read-line in 'concat) #t))
3853 (else
3854 (unless deleting? (display line out))
3855 (loop (read-line in 'concat) deleting?)))))))))))
3856 (inputs
3857 `(("ghc-blaze-html" ,ghc-blaze-html)
3858 ("ghc-conduit" ,ghc-conduit)
3859 ("ghc-monad-logger" ,ghc-monad-logger)
3860 ("ghc-persistent" ,ghc-persistent)
3861 ("ghc-resourcet" ,ghc-resourcet)
3862 ("ghc-tagged" ,ghc-tagged)
3863 ("ghc-unliftio" ,ghc-unliftio)
3864 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3865 (native-inputs
3866 `(("ghc-hspec" ,ghc-hspec)
3867 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3868 ("ghc-persistent-template" ,ghc-persistent-template)))
3869 (home-page "https://github.com/bitemyapp/esqueleto")
3870 (synopsis "Type-safe embedded domain specific language for SQL queries")
3871 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3872language (EDSL) for SQL queries that works with SQL backends as provided by
3873@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3874to learn new concepts, just new syntax, and it's fairly easy to predict the
3875generated SQL and optimize it for your backend.")
2648b604 3876 (license license:bsd-3)))
dddbc90c
RV
3877
3878(define-public ghc-exactprint
3879 (package
3880 (name "ghc-exactprint")
50614014 3881 (version "0.6.1")
dddbc90c
RV
3882 (source
3883 (origin
3884 (method url-fetch)
3885 (uri (string-append
3886 "https://hackage.haskell.org/package/"
3887 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3888 (sha256
3889 (base32
50614014 3890 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3891 (build-system haskell-build-system)
3892 (inputs
3893 `(("ghc-paths" ,ghc-paths)
3894 ("ghc-syb" ,ghc-syb)
3895 ("ghc-free" ,ghc-free)))
3896 (native-inputs
3897 `(("ghc-hunit" ,ghc-hunit)
3898 ("ghc-diff" ,ghc-diff)
3899 ("ghc-silently" ,ghc-silently)
3900 ("ghc-filemanip" ,ghc-filemanip)))
3901 (home-page
3ef91e15 3902 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3903 (synopsis "ExactPrint for GHC")
3904 (description
3905 "Using the API Annotations available from GHC 7.10.2, this library
3906provides a means to round-trip any code that can be compiled by GHC, currently
3907excluding @file{.lhs} files.")
3908 (license license:bsd-3)))
3909
3910(define-public ghc-exceptions
3911 (package
3912 (name "ghc-exceptions")
46d3e65b 3913 (version "0.10.3")
dddbc90c
RV
3914 (source
3915 (origin
3916 (method url-fetch)
3917 (uri (string-append
3918 "https://hackage.haskell.org/package/exceptions/exceptions-"
3919 version
3920 ".tar.gz"))
3921 (sha256
3922 (base32
46d3e65b 3923 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3924 (build-system haskell-build-system)
3925 (native-inputs
3926 `(("ghc-quickcheck" ,ghc-quickcheck)
3927 ("ghc-test-framework" ,ghc-test-framework)
3928 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3929 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3930 (inputs
3931 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3932 (home-page "https://github.com/ekmett/exceptions/")
3933 (synopsis "Extensible optionally-pure exceptions")
3934 (description "This library provides extensible optionally-pure exceptions
3935for Haskell.")
3936 (license license:bsd-3)))
3937
3938(define-public ghc-executable-path
3939 (package
3940 (name "ghc-executable-path")
3941 (version "0.0.3.1")
3942 (source (origin
3943 (method url-fetch)
3944 (uri (string-append "https://hackage.haskell.org/package/"
3945 "executable-path/executable-path-"
3946 version ".tar.gz"))
3947 (sha256
3948 (base32
3949 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3950 (build-system haskell-build-system)
3951 (home-page "https://hackage.haskell.org/package/executable-path")
3952 (synopsis "Find out the full path of the executable")
3953 (description
3954 "The documentation of @code{System.Environment.getProgName} says that
3955\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3956instead, for maximum portability, we just return the leafname of the program
3957as invoked.\" This library tries to provide the missing path.")
3958 (license license:public-domain)))
3959
3960(define-public ghc-extensible-exceptions
3961 (package
3962 (name "ghc-extensible-exceptions")
3963 (version "0.1.1.4")
3964 (source
3965 (origin
3966 (method url-fetch)
3967 (uri (string-append "https://hackage.haskell.org/package/"
3968 "extensible-exceptions/extensible-exceptions-"
3969 version ".tar.gz"))
3970 (sha256
3971 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3972 (build-system haskell-build-system)
3973 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3974 (synopsis "Extensible exceptions for Haskell")
3975 (description
3976 "This package provides extensible exceptions for both new and old
3977versions of GHC (i.e., < 6.10).")
3978 (license license:bsd-3)))
3979
3980(define-public ghc-extra
3981 (package
3982 (name "ghc-extra")
0cec5c4e 3983 (version "1.6.21")
dddbc90c
RV
3984 (source
3985 (origin
3986 (method url-fetch)
3987 (uri (string-append
3988 "https://hackage.haskell.org/package/extra/extra-"
3989 version
3990 ".tar.gz"))
3991 (sha256
3992 (base32
0cec5c4e 3993 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3994 (build-system haskell-build-system)
3995 (inputs
3996 `(("ghc-clock" ,ghc-clock)
10650c44 3997 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3998 ("ghc-quickcheck" ,ghc-quickcheck)
3999 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
4000 (home-page "https://github.com/ndmitchell/extra")
4001 (synopsis "Extra Haskell functions")
4002 (description "This library provides extra functions for the standard
4003Haskell libraries. Most functions are simple additions, filling out missing
4004functionality. A few functions are available in later versions of GHC, but
4005this package makes them available back to GHC 7.2.")
4006 (license license:bsd-3)))
4007
4008(define-public ghc-fail
4009 (package
4010 (name "ghc-fail")
4011 (version "4.9.0.0")
4012 (source
4013 (origin
4014 (method url-fetch)
4015 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4016 version ".tar.gz"))
4017 (sha256
4018 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4019 (build-system haskell-build-system)
4020 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4021 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4022 (synopsis "Forward-compatible MonadFail class")
4023 (description
4024 "This package contains the @code{Control.Monad.Fail} module providing the
4025@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4026class that became available in
4027@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4028older @code{base} package versions. This package turns into an empty package
4029when used with GHC versions which already provide the
4030@code{Control.Monad.Fail} module.")
4031 (license license:bsd-3)))
4032
4033(define-public ghc-fast-logger
4034 (package
4035 (name "ghc-fast-logger")
d443a52a 4036 (version "2.4.17")
dddbc90c
RV
4037 (source
4038 (origin
4039 (method url-fetch)
4040 (uri (string-append
4041 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4042 version
4043 ".tar.gz"))
4044 (sha256
4045 (base32
d443a52a 4046 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4047 (build-system haskell-build-system)
4048 (inputs
4049 `(("ghc-auto-update" ,ghc-auto-update)
4050 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4051 ("ghc-unix-time" ,ghc-unix-time)
4052 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4053 (native-inputs
4054 `(("hspec-discover" ,hspec-discover)
4055 ("ghc-hspec" ,ghc-hspec)))
4056 (home-page "https://hackage.haskell.org/package/fast-logger")
4057 (synopsis "Fast logging system")
4058 (description "This library provides a fast logging system for Haskell.")
4059 (license license:bsd-3)))
4060
4061(define-public ghc-feed
4062 (package
4063 (name "ghc-feed")
a41c16dc 4064 (version "1.2.0.1")
dddbc90c
RV
4065 (source
4066 (origin
4067 (method url-fetch)
4068 (uri (string-append "https://hackage.haskell.org/package/"
4069 "feed/feed-" version ".tar.gz"))
4070 (sha256
4071 (base32
a41c16dc 4072 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4073 (build-system haskell-build-system)
dddbc90c
RV
4074 (inputs
4075 `(("ghc-base-compat" ,ghc-base-compat)
4076 ("ghc-old-locale" ,ghc-old-locale)
4077 ("ghc-old-time" ,ghc-old-time)
4078 ("ghc-safe" ,ghc-safe)
4079 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4080 ("ghc-utf8-string" ,ghc-utf8-string)
4081 ("ghc-xml-conduit" ,ghc-xml-conduit)
4082 ("ghc-xml-types" ,ghc-xml-types)))
4083 (native-inputs
4084 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4085 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4086 ("ghc-test-framework" ,ghc-test-framework)
4087 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4088 (home-page "https://github.com/bergmark/feed")
4089 (synopsis "Haskell package for handling various syndication formats")
4090 (description "This Haskell package includes tools for generating and
4091consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4092 (license license:bsd-3)))
4093
4094(define-public ghc-fgl
4095 (package
4096 (name "ghc-fgl")
17482b26 4097 (version "5.7.0.1")
534d6caa 4098 (outputs '("out" "static" "doc"))
dddbc90c
RV
4099 (source
4100 (origin
4101 (method url-fetch)
4102 (uri (string-append
4103 "https://hackage.haskell.org/package/fgl/fgl-"
4104 version
4105 ".tar.gz"))
4106 (sha256
4107 (base32
17482b26 4108 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4109 (build-system haskell-build-system)
4110 (arguments
4111 `(#:phases
4112 (modify-phases %standard-phases
4113 (add-before 'configure 'update-constraints
4114 (lambda _
4115 (substitute* "fgl.cabal"
17482b26
TS
4116 (("QuickCheck >= 2\\.8 && < 2\\.13")
4117 "QuickCheck >= 2.8 && < 2.14")
4118 (("hspec >= 2\\.1 && < 2\\.7")
4119 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4120 (inputs
4121 `(("ghc-hspec" ,ghc-hspec)
4122 ("ghc-quickcheck" ,ghc-quickcheck)))
4123 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4124 (synopsis
4125 "Martin Erwig's Functional Graph Library")
4126 (description "The functional graph library, FGL, is a collection of type
4127and function definitions to address graph problems. The basis of the library
4128is an inductive definition of graphs in the style of algebraic data types that
4129encourages inductive, recursive definitions of graph algorithms.")
4130 (license license:bsd-3)))
4131
4132(define-public ghc-fgl-arbitrary
4133 (package
4134 (name "ghc-fgl-arbitrary")
4135 (version "0.2.0.3")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append
4140 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4141 version ".tar.gz"))
4142 (sha256
4143 (base32
4144 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4145 (build-system haskell-build-system)
4146 (arguments
4147 `(#:phases
4148 (modify-phases %standard-phases
4149 (add-before 'configure 'update-constraints
4150 (lambda _
4151 (substitute* "fgl-arbitrary.cabal"
4152 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4153 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4154 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4155 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4156 (inputs
4157 `(("ghc-fgl" ,ghc-fgl)
4158 ("ghc-quickcheck" ,ghc-quickcheck)
4159 ("ghc-hspec" ,ghc-hspec)))
4160 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4161 (synopsis "QuickCheck support for fgl")
4162 (description
4163 "Provides Arbitrary instances for fgl graphs to avoid adding a
4164QuickCheck dependency for fgl whilst still making the instances
4165available to others. Also available are non-fgl-specific functions
4166for generating graph-like data structures.")
4167 (license license:bsd-3)))
4168
4169(define-public ghc-file-embed
4170 (package
4171 (name "ghc-file-embed")
b5920d50 4172 (version "0.0.11")
dddbc90c
RV
4173 (source
4174 (origin
4175 (method url-fetch)
4176 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4177 "file-embed-" version ".tar.gz"))
4178 (sha256
4179 (base32
b5920d50 4180 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4181 (build-system haskell-build-system)
4182 (home-page "https://github.com/snoyberg/file-embed")
4183 (synopsis "Use Template Haskell to embed file contents directly")
4184 (description
4185 "This package allows you to use Template Haskell to read a file or all
4186the files in a directory, and turn them into @code{(path, bytestring)} pairs
4187embedded in your Haskell code.")
4188 (license license:bsd-3)))
4189
4190(define-public ghc-filemanip
4191 (package
4192 (name "ghc-filemanip")
4193 (version "0.3.6.3")
4194 (source (origin
4195 (method url-fetch)
4196 (uri (string-append "https://hackage.haskell.org/package/"
4197 "filemanip/filemanip-" version ".tar.gz"))
4198 (sha256
4199 (base32
4200 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4201 (build-system haskell-build-system)
4202 (inputs
4203 `(("ghc-unix-compat" ,ghc-unix-compat)))
4204 (home-page "https://github.com/bos/filemanip")
4205 (synopsis "File and directory manipulation for Haskell")
4206 (description
4207 "This package provides a Haskell library for working with files and
4208directories. It includes code for pattern matching, finding files, modifying
4209file contents, and more.")
4210 (license license:bsd-3)))
4211
bb62932a
KM
4212(define-public ghc-filepath-bytestring
4213 (package
4214 (name "ghc-filepath-bytestring")
4215 (version "1.4.2.1.1")
4216 (source
4217 (origin
4218 (method url-fetch)
4219 (uri (string-append
4220 "https://hackage.haskell.org/package/filepath-bytestring/"
4221 "filepath-bytestring-" version ".tar.gz"))
4222 (sha256
4223 (base32
4224 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4225 (build-system haskell-build-system)
4226 (native-inputs
4227 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4228 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4229 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4230 (description "This package provides a drop-in replacement for the standard
4231@code{filepath} library, operating on @code{RawFilePath} values rather than
4232@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4233 (license license:bsd-3)))
4234
dddbc90c
RV
4235(define-public ghc-findbin
4236 (package
4237 (name "ghc-findbin")
4238 (version "0.0.5")
4239 (source
4240 (origin
4241 (method url-fetch)
4242 (uri (string-append
4243 "https://hackage.haskell.org/package/FindBin/FindBin-"
4244 version ".tar.gz"))
4245 (sha256
4246 (base32
4247 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4248 (build-system haskell-build-system)
4249 (home-page "https://github.com/audreyt/findbin")
4250 (synopsis "Get the absolute path of the running program")
4251 (description
4252 "This module locates the full directory of the running program, to allow
4253the use of paths relative to it. FindBin supports invocation of Haskell
4254programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4255an executable.")
4256 (license license:bsd-3)))
4257
4258(define-public ghc-fingertree
4259 (package
4260 (name "ghc-fingertree")
aac14fdc 4261 (version "0.1.4.2")
dddbc90c
RV
4262 (source
4263 (origin
4264 (method url-fetch)
4265 (uri (string-append
4266 "https://hackage.haskell.org/package/fingertree/fingertree-"
4267 version ".tar.gz"))
4268 (sha256
4269 (base32
aac14fdc 4270 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4271 (build-system haskell-build-system)
4272 (native-inputs
4273 `(("ghc-hunit" ,ghc-hunit)
4274 ("ghc-quickcheck" ,ghc-quickcheck)
4275 ("ghc-test-framework" ,ghc-test-framework)
4276 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4277 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4278 (home-page "https://hackage.haskell.org/package/fingertree")
4279 (synopsis "Generic finger-tree structure")
4280 (description "This library provides finger trees, a general sequence
4281representation with arbitrary annotations, for use as a base for
4282implementations of various collection types. It includes examples, as
4283described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4284simple general-purpose data structure\".")
4285 (license license:bsd-3)))
4286
4287(define-public ghc-fixed
4288 (package
4289 (name "ghc-fixed")
099dda5b 4290 (version "0.3")
dddbc90c
RV
4291 (source
4292 (origin
4293 (method url-fetch)
4294 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4295 version ".tar.gz"))
4296 (sha256
4297 (base32
099dda5b 4298 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4299 (build-system haskell-build-system)
4300 (home-page "https://github.com/ekmett/fixed")
4301 (synopsis "Signed 15.16 precision fixed point arithmetic")
4302 (description
4303 "This package provides functions for signed 15.16 precision fixed point
4304arithmetic.")
4305 (license license:bsd-3)))
4306
f169f713
JS
4307(define-public ghc-fmlist
4308 (package
4309 (name "ghc-fmlist")
fe9b83a6 4310 (version "0.9.3")
f169f713
JS
4311 (source
4312 (origin
4313 (method url-fetch)
4314 (uri
4315 (string-append
4316 "https://hackage.haskell.org/package/fmlist/fmlist-"
4317 version ".tar.gz"))
4318 (sha256
4319 (base32
fe9b83a6 4320 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4321 (build-system haskell-build-system)
4322 (home-page "https://github.com/sjoerdvisscher/fmlist")
4323 (synopsis "FoldMap lists")
4324 (description "FoldMap lists are lists represented by their
4325@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4326append, just like DLists, but other operations might have favorable
4327performance characteristics as well. These wild claims are still
4328completely unverified though.")
4329 (license license:bsd-3)))
4330
dddbc90c
RV
4331(define-public ghc-foldl
4332 (package
4333 (name "ghc-foldl")
26c4104f 4334 (version "1.4.5")
dddbc90c
RV
4335 (source
4336 (origin
4337 (method url-fetch)
4338 (uri (string-append "https://hackage.haskell.org/package/"
4339 "foldl-" version "/"
4340 "foldl-" version ".tar.gz"))
4341 (sha256
4342 (base32
26c4104f 4343 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c 4344 (build-system haskell-build-system)
b3c79a83 4345 (outputs '("out" "static" "doc"))
dddbc90c
RV
4346 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4347 ("ghc-primitive" ,ghc-primitive)
4348 ("ghc-vector" ,ghc-vector)
4349 ("ghc-unordered-containers" ,ghc-unordered-containers)
4350 ("ghc-hashable" ,ghc-hashable)
4351 ("ghc-contravariant" ,ghc-contravariant)
4352 ("ghc-semigroups" ,ghc-semigroups)
4353 ("ghc-profunctors" ,ghc-profunctors)
4354 ("ghc-semigroupoids" ,ghc-semigroupoids)
4355 ("ghc-comonad" ,ghc-comonad)
4356 ("ghc-vector-builder" ,ghc-vector-builder)))
4357 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4358 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4359 (description "This Haskell library provides strict left folds that stream
4360in constant memory, and you can combine folds using @code{Applicative} style
4361to derive new folds. Derived folds still traverse the container just once
4362and are often as efficient as hand-written folds.")
4363 (license license:bsd-3)))
4364
4365(define-public ghc-foundation
4366 (package
4367 (name "ghc-foundation")
0a702df9 4368 (version "0.0.25")
dddbc90c
RV
4369 (source
4370 (origin
4371 (method url-fetch)
4372 (uri (string-append "https://hackage.haskell.org/package/"
4373 "foundation/foundation-" version ".tar.gz"))
4374 (sha256
4375 (base32
0a702df9 4376 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4377 (build-system haskell-build-system)
59cd7518
TS
4378 (arguments
4379 `(#:phases
4380 (modify-phases %standard-phases
4381 ;; This test is broken. For details, see
4382 ;; https://github.com/haskell-foundation/foundation/issues/530
4383 (add-after 'unpack 'patch-tests
4384 (lambda _
4385 (substitute* "tests/Test/Foundation/Number.hs"
4386 ((", testDividible proxy") ""))
4387 #t)))))
6a7fb828 4388 (outputs '("out" "static" "doc"))
dddbc90c
RV
4389 (inputs `(("ghc-basement" ,ghc-basement)))
4390 (home-page "https://github.com/haskell-foundation/foundation")
4391 (synopsis "Alternative prelude with batteries and no dependencies")
4392 (description
4393 "This package provides a custom prelude with no dependencies apart from
4394the base package.
4395
4396Foundation has the following goals:
4397
4398@enumerate
4399@item provide a base like sets of modules that provide a consistent set of
4400 features and bugfixes across multiple versions of GHC (unlike base).
4401@item provide a better and more efficient prelude than base's prelude.
4402@item be self-sufficient: no external dependencies apart from base;
4403@item provide better data-types: packed unicode string by default, arrays;
4404@item Numerical classes that better represent mathematical things (no more
4405 all-in-one @code{Num});
4406@item I/O system with less lazy IO.
4407@end enumerate\n")
4408 (license license:bsd-3)))
4409
4410(define-public ghc-free
4411 (package
4412 (name "ghc-free")
4081565d 4413 (version "5.1.2")
dddbc90c
RV
4414 (source
4415 (origin
4416 (method url-fetch)
4417 (uri (string-append
4418 "https://hackage.haskell.org/package/free/free-"
4419 version
4420 ".tar.gz"))
4421 (sha256
4422 (base32
4081565d 4423 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c 4424 (build-system haskell-build-system)
91769cee 4425 (outputs '("out" "static" "doc"))
dddbc90c
RV
4426 (inputs
4427 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4428 ("ghc-profunctors" ,ghc-profunctors)
4429 ("ghc-exceptions" ,ghc-exceptions)
4430 ("ghc-bifunctors" ,ghc-bifunctors)
4431 ("ghc-comonad" ,ghc-comonad)
4432 ("ghc-distributive" ,ghc-distributive)
4433 ("ghc-semigroupoids" ,ghc-semigroupoids)
4434 ("ghc-semigroups" ,ghc-semigroups)
4435 ("ghc-transformers-base" ,ghc-transformers-base)
4436 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4437 (home-page "https://github.com/ekmett/free/")
4438 (synopsis "Unrestricted monads for Haskell")
4439 (description "This library provides free monads, which are useful for many
4440tree-like structures and domain specific languages. If @code{f} is a
4441@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4442whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4443is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4444f} makes no constraining assumptions beyond those given by @code{f} and the
4445definition of @code{Monad}.")
4446 (license license:bsd-3)))
4447
4448(define-public ghc-fsnotify
4449 (package
4450 (name "ghc-fsnotify")
4451 (version "0.3.0.1")
4452 (source (origin
4453 (method url-fetch)
4454 (uri (string-append
4455 "https://hackage.haskell.org/package/fsnotify/"
4456 "fsnotify-" version ".tar.gz"))
4457 (sha256
4458 (base32
4459 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4460 (build-system haskell-build-system)
4461 (inputs
4462 `(("ghc-async" ,ghc-async)
4463 ("ghc-unix-compat" ,ghc-unix-compat)
4464 ("ghc-hinotify" ,ghc-hinotify)
4465 ("ghc-tasty" ,ghc-tasty)
4466 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4467 ("ghc-random" ,ghc-random)
4468 ("ghc-shelly" ,ghc-shelly)
4469 ("ghc-temporary" ,ghc-temporary)))
4470 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4471 (synopsis "Cross platform library for file change notification.")
4472 (description "Cross platform library for file creation, modification, and
4473deletion notification. This library builds upon existing libraries for platform
4474specific Windows, Mac, and Linux file system event notification.")
4475 (license license:bsd-3)))
4476
4477(define-public ghc-generic-deriving
4478 (package
4479 (name "ghc-generic-deriving")
55c1e6be 4480 (version "1.12.4")
dddbc90c
RV
4481 (source
4482 (origin
4483 (method url-fetch)
4484 (uri (string-append
4485 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4486 version
4487 ".tar.gz"))
4488 (sha256
4489 (base32
55c1e6be 4490 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c 4491 (build-system haskell-build-system)
32bb6b41 4492 (outputs '("out" "static" "doc"))
dddbc90c
RV
4493 (inputs
4494 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4495 (native-inputs
4496 `(("ghc-hspec" ,ghc-hspec)
4497 ("hspec-discover" ,hspec-discover)))
4498 (home-page "https://hackage.haskell.org/package/generic-deriving")
4499 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4500 (description "This package provides functionality for generalising the
4501deriving mechanism in Haskell to arbitrary classes.")
4502 (license license:bsd-3)))
4503
89e9082e
JS
4504(define-public ghc-generic-random
4505 (package
4506 (name "ghc-generic-random")
4507 (version "1.2.0.0")
4508 (source
4509 (origin
4510 (method url-fetch)
4511 (uri (string-append
4512 "https://hackage.haskell.org/package/generic-random/"
4513 "generic-random-" version ".tar.gz"))
4514 (sha256
4515 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4516 (build-system haskell-build-system)
4517 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4518 (native-inputs
4519 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4520 (arguments
4521 `(#:cabal-revision
4522 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4523 (home-page
4524 "https://github.com/lysxia/generic-random")
4525 (synopsis
4526 "Generic random generators for QuickCheck")
4527 (description
4528 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4529to customize implementations.
4530
4531Automating the arbitrary boilerplate also ensures that when a type changes to
4532have more or fewer constructors, then the generator either fixes itself to
4533generate that new case (when using the uniform distribution) or causes a
4534compilation error so you remember to fix it (when using an explicit
4535distribution).
4536
4537This package also offers a simple (optional) strategy to ensure termination
4538for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4539at every recursive call; when it reaches zero, sample directly from a
4540trivially terminating generator given explicitly (@code{genericArbitraryRec}
4541and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4542 (license license:expat)))
4543
23e4b264
JS
4544(define-public ghc-generic-random-1.3.0.1
4545 (package
4546 (inherit ghc-generic-random)
4547 (version "1.3.0.1")
4548 (source
4549 (origin
4550 (method url-fetch)
4551 (uri (string-append
4552 "https://hackage.haskell.org/package/generic-random/"
4553 "generic-random-" version ".tar.gz"))
4554 (sha256
4555 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4556 (arguments '())))
4557
dddbc90c
RV
4558(define-public ghc-generics-sop
4559 (package
4560 (name "ghc-generics-sop")
3ed40e10 4561 (version "0.4.0.1")
dddbc90c
RV
4562 (source
4563 (origin
4564 (method url-fetch)
4565 (uri (string-append "https://hackage.haskell.org/package/"
4566 "generics-sop-" version "/"
4567 "generics-sop-" version ".tar.gz"))
4568 (sha256
4569 (base32
3ed40e10 4570 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4571 (build-system haskell-build-system)
80e0a085 4572 (outputs '("out" "static" "doc"))
3ed40e10
TS
4573 (inputs
4574 `(("ghc-sop-core" ,ghc-sop-core)
4575 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4576 (home-page "https://github.com/well-typed/generics-sop")
4577 (synopsis "Generic Programming using True Sums of Products for Haskell")
4578 (description "This Haskell package supports the definition of generic
4579functions. Datatypes are viewed in a uniform, structured way: the choice
4580between constructors is represented using an n-ary sum, and the arguments of
4581each constructor are represented using an n-ary product.")
4582 (license license:bsd-3)))
4583
4584(define-public ghc-geniplate-mirror
4585 (package
4586 (name "ghc-geniplate-mirror")
4587 (version "0.7.6")
4588 (source
4589 (origin
4590 (method url-fetch)
4591 (uri (string-append "https://hackage.haskell.org/package"
4592 "/geniplate-mirror"
4593 "/geniplate-mirror-" version ".tar.gz"))
4594 (sha256
4595 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4596 (build-system haskell-build-system)
74a7dd7f
TS
4597 (arguments
4598 `(#:cabal-revision
4599 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4600 (home-page "https://github.com/danr/geniplate")
4601 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4602 (description
4603 "Use Template Haskell to generate Uniplate-like functions. This is a
4604maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4605geniplate} package, written by Lennart Augustsson.")
4606 (license license:bsd-3)))
4607
4608(define-public ghc-genvalidity
4609 (package
4610 (name "ghc-genvalidity")
920f44a1 4611 (version "0.8.0.0")
dddbc90c
RV
4612 (source
4613 (origin
4614 (method url-fetch)
4615 (uri (string-append
4616 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4617 version
4618 ".tar.gz"))
4619 (sha256
4620 (base32
920f44a1 4621 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4622 (build-system haskell-build-system)
4623 (inputs
4624 `(("ghc-quickcheck" ,ghc-quickcheck)
4625 ("ghc-validity" ,ghc-validity)))
4626 (native-inputs
4627 `(("ghc-hspec" ,ghc-hspec)
4628 ("hspec-discover" ,hspec-discover)
4629 ("ghc-hspec-core" ,ghc-hspec-core)))
4630 (home-page
4631 "https://github.com/NorfairKing/validity")
4632 (synopsis
4633 "Testing utilities for the @code{validity} library")
4634 (description
4635 "This package provides testing utilities that are useful in conjunction
4636with the @code{Validity} typeclass.")
4637 (license license:expat)))
4638
4639(define-public ghc-genvalidity-property
4640 (package
4641 (name "ghc-genvalidity-property")
e4ede35b 4642 (version "0.4.0.0")
dddbc90c
RV
4643 (source
4644 (origin
4645 (method url-fetch)
4646 (uri (string-append
4647 "https://hackage.haskell.org/package/"
4648 "genvalidity-property/genvalidity-property-"
4649 version
4650 ".tar.gz"))
4651 (sha256
4652 (base32
e4ede35b 4653 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4654 (build-system haskell-build-system)
4655 (inputs
4656 `(("ghc-quickcheck" ,ghc-quickcheck)
4657 ("ghc-genvalidity" ,ghc-genvalidity)
4658 ("ghc-hspec" ,ghc-hspec)
4659 ("hspec-discover" ,hspec-discover)
4660 ("ghc-validity" ,ghc-validity)))
4661 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4662 (home-page
4663 "https://github.com/NorfairKing/validity")
4664 (synopsis
4665 "Standard properties for functions on @code{Validity} types")
4666 (description
4667 "This package supplements the @code{Validity} typeclass with standard
4668properties for functions operating on them.")
4669 (license license:expat)))
4670
e71fb573
TS
4671(define-public ghc-getopt-generics
4672 (package
4673 (name "ghc-getopt-generics")
4674 (version "0.13.0.4")
4675 (source
4676 (origin
4677 (method url-fetch)
4678 (uri (string-append "https://hackage.haskell.org/package/"
4679 "getopt-generics/getopt-generics-"
4680 version ".tar.gz"))
4681 (sha256
4682 (base32
4683 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4684 (build-system haskell-build-system)
4685 (inputs
4686 `(("ghc-base-compat" ,ghc-base-compat)
4687 ("ghc-base-orphans" ,ghc-base-orphans)
4688 ("ghc-generics-sop" ,ghc-generics-sop)
4689 ("ghc-tagged" ,ghc-tagged)))
4690 (native-inputs
4691 `(("ghc-quickcheck" ,ghc-quickcheck)
4692 ("ghc-hspec" ,ghc-hspec)
4693 ("ghc-safe" ,ghc-safe)
4694 ("ghc-silently" ,ghc-silently)
4695 ("hspec-discover" ,hspec-discover)))
4696 (home-page "https://github.com/soenkehahn/getopt-generics")
4697 (synopsis "Create command line interfaces with ease")
4698 (description "This library provides tools to create command line
4699interfaces with ease.")
4700 (license license:bsd-3)))
4701
dddbc90c
RV
4702(define-public ghc-gitrev
4703 (package
4704 (name "ghc-gitrev")
4705 (version "1.3.1")
4706 (source
4707 (origin
4708 (method url-fetch)
4709 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4710 version ".tar.gz"))
4711 (sha256
4712 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4713 (build-system haskell-build-system)
4714 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4715 (home-page "https://github.com/acfoltzer/gitrev")
4716 (synopsis "Compile git revision info into Haskell projects")
4717 (description
4718 "This package provides some handy Template Haskell splices for including
4719the current git hash and branch in the code of your project. This is useful
4720for including in panic messages, @command{--version} output, or diagnostic
4721info for more informative bug reports.")
4722 (license license:bsd-3)))
4723
4724(define-public ghc-glob
4725 (package
4726 (name "ghc-glob")
b900f486 4727 (version "0.10.0")
dddbc90c
RV
4728 (source
4729 (origin
4730 (method url-fetch)
4731 (uri (string-append "https://hackage.haskell.org/package/"
4732 "Glob-" version "/"
4733 "Glob-" version ".tar.gz"))
4734 (sha256
4735 (base32
b900f486 4736 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4737 (build-system haskell-build-system)
4738 (inputs
4739 `(("ghc-dlist" ,ghc-dlist)
4740 ("ghc-semigroups" ,ghc-semigroups)
4741 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4742 (native-inputs
4743 `(("ghc-hunit" ,ghc-hunit)
4744 ("ghc-quickcheck" ,ghc-quickcheck)
4745 ("ghc-test-framework" ,ghc-test-framework)
4746 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4747 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4748 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4749 (synopsis "Haskell library matching glob patterns against file paths")
4750 (description "This package provides a Haskell library for @dfn{globbing}:
4751matching patterns against file paths.")
4752 (license license:bsd-3)))
4753
4754(define-public ghc-gluraw
4755 (package
4756 (name "ghc-gluraw")
4757 (version "2.0.0.4")
4758 (source
4759 (origin
4760 (method url-fetch)
4761 (uri (string-append
4762 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4763 version
4764 ".tar.gz"))
4765 (sha256
4766 (base32
4767 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4768 (build-system haskell-build-system)
4769 (inputs
4770 `(("ghc-openglraw" ,ghc-openglraw)))
228d2901 4771 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4772 (synopsis "Raw Haskell bindings GLU")
4773 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4774utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4775basis for a nicer interface.")
4776 (license license:bsd-3)))
4777
4778(define-public ghc-glut
4779 (package
4780 (name "ghc-glut")
8284bd09 4781 (version "2.7.0.15")
dddbc90c
RV
4782 (source
4783 (origin
4784 (method url-fetch)
4785 (uri (string-append
4786 "https://hackage.haskell.org/package/GLUT/GLUT-"
4787 version
4788 ".tar.gz"))
4789 (sha256
4790 (base32
8284bd09 4791 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4792 (build-system haskell-build-system)
4793 (inputs
4794 `(("ghc-statevar" ,ghc-statevar)
4795 ("ghc-opengl" ,ghc-opengl)
4796 ("ghc-openglraw" ,ghc-openglraw)
4797 ("freeglut" ,freeglut)))
228d2901 4798 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4799 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4800 (description "This library provides Haskell bindings for the OpenGL
4801Utility Toolkit, a window system-independent toolkit for writing OpenGL
4802programs.")
4803 (license license:bsd-3)))
4804
4805(define-public ghc-gnuplot
4806 (package
4807 (name "ghc-gnuplot")
d34860c7 4808 (version "0.5.6")
dddbc90c
RV
4809 (source
4810 (origin
4811 (method url-fetch)
4812 (uri (string-append
4813 "mirror://hackage/package/gnuplot/gnuplot-"
4814 version ".tar.gz"))
4815 (sha256
d34860c7 4816 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4817 (build-system haskell-build-system)
4818 (inputs
4819 `(("ghc-temporary" ,ghc-temporary)
4820 ("ghc-utility-ht" ,ghc-utility-ht)
4821 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4822 ("ghc-data-accessor" ,ghc-data-accessor)
4823 ("ghc-semigroups" ,ghc-semigroups)
4824 ("gnuplot" ,gnuplot)))
4825 (arguments
4826 `(#:phases
4827 (modify-phases %standard-phases
4828 (add-before 'configure 'fix-path-to-gnuplot
4829 (lambda* (#:key inputs #:allow-other-keys)
4830 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4831 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4832 (("(gnuplotName = ).*$" all cmd)
4833 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
228d2901 4834 (home-page "https://wiki.haskell.org/Gnuplot")
dddbc90c
RV
4835 (synopsis "2D and 3D plots using gnuplot")
4836 (description "This package provides a Haskell module for creating 2D and
48373D plots using gnuplot.")
4838 (license license:bsd-3)))
4839
4840(define-public ghc-graphviz
4841 (package
4842 (name "ghc-graphviz")
c264bd42 4843 (version "2999.20.0.3")
dddbc90c
RV
4844 (source (origin
4845 (method url-fetch)
4846 (uri (string-append "https://hackage.haskell.org/package/"
4847 "graphviz/graphviz-" version ".tar.gz"))
4848 (sha256
4849 (base32
c264bd42 4850 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4851 (build-system haskell-build-system)
c264bd42
TS
4852 (arguments
4853 `(#:phases
4854 (modify-phases %standard-phases
4855 (add-before 'configure 'update-constraints
4856 (lambda _
4857 (substitute* "graphviz.cabal"
4858 (("QuickCheck >= 2\\.3 && < 2\\.13")
4859 "QuickCheck >= 2.3 && < 2.14")
4860 (("hspec >= 2\\.1 && < 2\\.7")
4861 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4862 (inputs
4863 `(("ghc-quickcheck" ,ghc-quickcheck)
4864 ("ghc-colour" ,ghc-colour)
4865 ("ghc-dlist" ,ghc-dlist)
4866 ("ghc-fgl" ,ghc-fgl)
4867 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4868 ("ghc-polyparse" ,ghc-polyparse)
4869 ("ghc-temporary" ,ghc-temporary)
4870 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4871 (native-inputs
4872 `(("ghc-hspec" ,ghc-hspec)
4873 ("graphviz" ,graphviz)
4874 ("hspec-discover" ,hspec-discover)))
4875 (home-page "https://hackage.haskell.org/package/graphviz")
4876 (synopsis "Bindings to Graphviz for graph visualisation")
4877 (description
4878 "This library provides bindings for the Dot language used by
4879the @uref{https://graphviz.org/, Graphviz} suite of programs for
4880visualising graphs, as well as functions to call those programs.
4881Main features of the graphviz library include:
4882
4883@enumerate
4884@item Almost complete coverage of all Graphviz attributes and syntax
4885@item Support for specifying clusters
4886@item The ability to use a custom node type
4887@item Functions for running a Graphviz layout tool with all specified output types
4888@item Generate and parse Dot code with two options: strict and liberal
4889@item Functions to convert FGL graphs and other graph-like data structures
4890@item Round-trip support for passing an FGL graph through Graphviz to augment node
4891and edge labels with positional information, etc.
4892@end enumerate\n")
4893 (license license:bsd-3)))
4894
f3e18645
TS
4895(define-public ghc-groups
4896 (package
4897 (name "ghc-groups")
4898 (version "0.4.1.0")
4899 (source
4900 (origin
4901 (method url-fetch)
4902 (uri (string-append "https://hackage.haskell.org/package/"
4903 "groups/groups-" version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4907 (build-system haskell-build-system)
4908 (home-page "https://hackage.haskell.org/package/groups")
4909 (synopsis "Haskell 98 groups")
4910 (description "This package provides Haskell 98 groups. A group is a
4911monoid with invertibility.")
4912 (license license:bsd-3)))
4913
dddbc90c
RV
4914(define-public ghc-gtk2hs-buildtools
4915 (package
4916 (name "ghc-gtk2hs-buildtools")
b79b43d4 4917 (version "0.13.5.4")
dddbc90c
RV
4918 (source
4919 (origin
4920 (method url-fetch)
4921 (uri (string-append "https://hackage.haskell.org/package/"
4922 "gtk2hs-buildtools/gtk2hs-buildtools-"
4923 version ".tar.gz"))
4924 (sha256
4925 (base32
b79b43d4 4926 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4927 (build-system haskell-build-system)
4928 (inputs
4929 `(("ghc-random" ,ghc-random)
4930 ("ghc-hashtables" ,ghc-hashtables)))
4931 (native-inputs
4932 `(("ghc-alex" ,ghc-alex)
4933 ("ghc-happy" ,ghc-happy)))
4934 (home-page "http://projects.haskell.org/gtk2hs/")
4935 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4936 (description
4937 "This package provides a set of helper programs necessary to build the
4938Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4939that is used to generate FFI declarations, a tool to build a type hierarchy
4940that mirrors the C type hierarchy of GObjects found in glib, and a generator
4941for signal declarations that are used to call back from C to Haskell. These
4942tools are not needed to actually run Gtk2Hs programs.")
4943 (license license:gpl2)))
4944
4945(define-public ghc-hackage-security
4946 (package
4947 (name "ghc-hackage-security")
4948 (version "0.5.3.0")
4949 (source
4950 (origin
4951 (method url-fetch)
4952 (uri (string-append "https://hackage.haskell.org/package/"
4953 "hackage-security/hackage-security-"
4954 version ".tar.gz"))
4955 (sha256
4956 (base32
4957 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4958 (build-system haskell-build-system)
4959 (arguments
034380f3
TS
4960 `(#:cabal-revision
4961 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4962 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4963 (inputs
4964 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4965 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4966 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4967 ("ghc-ed25519" ,ghc-ed25519)
4968 ("ghc-network" ,ghc-network)
4969 ("ghc-network-uri" ,ghc-network-uri)
4970 ("ghc-tar" ,ghc-tar)
4971 ("ghc-zlib" ,ghc-zlib)))
4972 (native-inputs
4973 `(("ghc-network-uri" ,ghc-network-uri)
4974 ("ghc-quickcheck" ,ghc-quickcheck)
4975 ("ghc-tar" ,ghc-tar)
4976 ("ghc-tasty" ,ghc-tasty)
4977 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4978 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4979 ("ghc-temporary" ,ghc-temporary)
4980 ("ghc-zlib" ,ghc-zlib)))
4981 (home-page "https://github.com/haskell/hackage-security")
4982 (synopsis "Hackage security library")
4983 (description "This Hackage security library provides both server and
4984client utilities for securing @uref{http://hackage.haskell.org/, the
4985Hackage package server}. It is based on
4986@uref{http://theupdateframework.com/, The Update Framework}, a set of
4987recommendations developed by security researchers at various universities
4988in the US as well as developers on the @uref{https://www.torproject.org/,
4989Tor project}.")
4990 (license license:bsd-3)))
4991
4992(define-public ghc-haddock
4993 (package
4994 (name "ghc-haddock")
b0d34d23 4995 (version "2.22.0")
dddbc90c
RV
4996 (source
4997 (origin
4998 (method url-fetch)
4999 (uri (string-append
5000 "https://hackage.haskell.org/package/haddock/haddock-"
5001 version
5002 ".tar.gz"))
5003 (sha256
5004 (base32
b0d34d23 5005 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
5006 (build-system haskell-build-system)
5007 (arguments
5008 `(#:phases
5009 (modify-phases %standard-phases
b0d34d23
TS
5010 ;; The release tarball for 2.22.0 is missing the test data for
5011 ;; the Hoogle test, causing it to fail. This is fixed in the
5012 ;; next release, but for now we disable it.
5013 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5014 (lambda _
5015 (use-modules (ice-9 rdelim))
5016 (with-atomic-file-replacement "haddock.cabal"
5017 (lambda (in out)
5018 (let loop ((line (read-line in 'concat)) (deleting? #f))
5019 (cond
5020 ((eof-object? line) #t)
5021 ((string-every char-set:whitespace line)
5022 (unless deleting? (display line out))
5023 (loop (read-line in 'concat) #f))
b0d34d23 5024 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5025 (loop (read-line in 'concat) #t))
5026 (else
5027 (unless deleting? (display line out))
b0d34d23
TS
5028 (loop (read-line in 'concat) deleting?))))))))
5029 (add-before 'check 'add-haddock-to-path
5030 (lambda _
5031 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5032 ":" (getenv "PATH")))
5033 #t)))))
dddbc90c
RV
5034 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5035 (native-inputs
b0d34d23
TS
5036 `(("ghc-haddock-test" ,ghc-haddock-test)
5037 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5038 (home-page "https://www.haskell.org/haddock/")
5039 (synopsis
5040 "Documentation-generation tool for Haskell libraries")
5041 (description
5042 "Haddock is a documentation-generation tool for Haskell libraries.")
5043 (license license:bsd-3)))
5044
5045(define-public ghc-haddock-api
5046 (package
5047 (name "ghc-haddock-api")
1b84d8ef 5048 (version "2.22.0")
dddbc90c
RV
5049 (source
5050 (origin
5051 (method url-fetch)
5052 (uri (string-append
5053 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5054 version
5055 ".tar.gz"))
1b84d8ef 5056 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5057 (sha256
5058 (base32
1b84d8ef 5059 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5060 (build-system haskell-build-system)
5061 (arguments
5062 `(#:phases
5063 (modify-phases %standard-phases
5064 (add-before 'configure 'update-constraints
5065 (lambda _
5066 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5067 (("QuickCheck \\^>= 2\\.11")
5068 "QuickCheck ^>= 2.13")
5069 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5070 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5071 (inputs
5072 `(("ghc-paths" ,ghc-paths)
5073 ("ghc-haddock-library" ,ghc-haddock-library)))
5074 (native-inputs
5075 `(("ghc-quickcheck" ,ghc-quickcheck)
5076 ("ghc-hspec" ,ghc-hspec)
5077 ("hspec-discover" ,hspec-discover)))
5078 (home-page "https://www.haskell.org/haddock/")
5079 (synopsis "API for documentation-generation tool Haddock")
5080 (description "This package provides an API to Haddock, the
5081documentation-generation tool for Haskell libraries.")
5082 (license license:bsd-3)))
5083
5084(define-public ghc-haddock-library
5085 (package
5086 (name "ghc-haddock-library")
10707d57 5087 (version "1.7.0")
dddbc90c
RV
5088 (source
5089 (origin
5090 (method url-fetch)
5091 (uri (string-append
5092 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5093 version
5094 ".tar.gz"))
5095 (sha256
5096 (base32
10707d57 5097 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5098 (build-system haskell-build-system)
5099 (arguments
5100 `(#:phases
5101 (modify-phases %standard-phases
10707d57
TS
5102 ;; Since there is no revised Cabal file upstream, we have to
5103 ;; patch it manually.
dddbc90c
RV
5104 (add-before 'configure 'relax-test-suite-dependencies
5105 (lambda _
5106 (substitute* "haddock-library.cabal"
10707d57
TS
5107 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5108 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5109 #t)))))
5110 (native-inputs
5111 `(("ghc-base-compat" ,ghc-base-compat)
5112 ("ghc-hspec" ,ghc-hspec)
5113 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5114 ("ghc-quickcheck" ,ghc-quickcheck)
5115 ("ghc-tree-diff" ,ghc-tree-diff)
5116 ("hspec-discover" ,hspec-discover)))
5117 (home-page "https://www.haskell.org/haddock/")
5118 (synopsis "Library exposing some functionality of Haddock")
5119 (description
5120 "Haddock is a documentation-generation tool for Haskell libraries. These
5121modules expose some functionality of it without pulling in the GHC dependency.
5122Please note that the API is likely to change so specify upper bounds in your
5123project if you can't release often. For interacting with Haddock itself, see
5124the ‘haddock’ package.")
5125 (license license:bsd-3)))
5126
b0d34d23
TS
5127;; This package is needed for testing 'ghc-haddock'. It is no longer
5128;; published to Hackage, but it is maintained in the Haddock Git
5129;; repository.
5130(define ghc-haddock-test
5131 (package
5132 (name "ghc-haddock-test")
5133 (version "2.22.0")
5134 (source
5135 (origin
5136 (method git-fetch)
5137 (uri (git-reference
b0e7b699 5138 (url "https://github.com/haskell/haddock")
b0d34d23
TS
5139 (commit (string-append "haddock-" version "-release"))))
5140 (file-name (git-file-name name version))
5141 (sha256
5142 (base32
5143 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5144 (build-system haskell-build-system)
5145 (arguments
5146 `(#:phases
5147 (modify-phases %standard-phases
5148 (add-after 'unpack 'change-directory
5149 (lambda _
5150 (chdir "haddock-test"))))))
5151 (inputs
5152 `(("ghc-syb" ,ghc-syb)
5153 ("ghc-xml" ,ghc-xml)))
228d2901 5154 (home-page "https://www.haskell.org/haddock/")
b0d34d23
TS
5155 (synopsis "Test utilities for Haddock")
5156 (description "This package provides test utilities for Haddock.")
5157 (license license:bsd-3)
5158 (properties '((hidden? #t)))))
5159
dddbc90c
RV
5160(define-public ghc-half
5161 (package
5162 (name "ghc-half")
5163 (version "0.3")
5164 (source
5165 (origin
5166 (method url-fetch)
5167 (uri (string-append
5168 "https://hackage.haskell.org/package/half/half-"
5169 version ".tar.gz"))
5170 (sha256
5171 (base32
5172 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5173 (build-system haskell-build-system)
5174 (native-inputs
5175 `(("ghc-hspec" ,ghc-hspec)
5176 ("ghc-quickcheck" ,ghc-quickcheck)))
5177 (home-page "https://github.com/ekmett/half")
5178 (synopsis "Half-precision floating-point computations")
5179 (description "This library provides a half-precision floating-point
5180computation library for Haskell.")
5181 (license license:bsd-3)))
5182
5183(define-public ghc-happy
5184 (package
5185 (name "ghc-happy")
90e7b0e4 5186 (version "1.19.12")
dddbc90c
RV
5187 (source
5188 (origin
5189 (method url-fetch)
5190 (uri (string-append
5191 "https://hackage.haskell.org/package/happy/happy-"
5192 version
5193 ".tar.gz"))
5194 (sha256
5195 (base32
90e7b0e4 5196 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5197 (build-system haskell-build-system)
5198 (arguments
5199 `(#:phases
5200 (modify-phases %standard-phases
5201 (add-after 'unpack 'skip-test-issue93
5202 (lambda _
5203 ;; Tests run out of memory on a system with 2GB of available RAM,
5204 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5205 (substitute* "tests/Makefile"
5206 ((" issue93.y ") " "))
5207 #t)))))
5208 (home-page "https://hackage.haskell.org/package/happy")
5209 (synopsis "Parser generator for Haskell")
5210 (description "Happy is a parser generator for Haskell. Given a grammar
5211specification in BNF, Happy generates Haskell code to parse the grammar.
5212Happy works in a similar way to the yacc tool for C.")
5213 (license license:bsd-3)))
5214
5215(define-public ghc-hashable
5216 (package
5217 (name "ghc-hashable")
5218 (version "1.2.7.0")
534d6caa 5219 (outputs '("out" "static" "doc"))
dddbc90c
RV
5220 (source
5221 (origin
5222 (method url-fetch)
5223 (uri (string-append
5224 "https://hackage.haskell.org/package/hashable/hashable-"
5225 version
5226 ".tar.gz"))
5227 (sha256
5228 (base32
5229 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5230 (build-system haskell-build-system)
65a16a45
TS
5231 (arguments
5232 `(#:cabal-revision
5233 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5234 (inputs
5235 `(("ghc-random" ,ghc-random)))
5236 (native-inputs
5237 `(("ghc-test-framework" ,ghc-test-framework)
5238 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5239 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5240 ("ghc-hunit" ,ghc-hunit)
5241 ("ghc-quickcheck" ,ghc-quickcheck)))
5242 (home-page "https://github.com/tibbe/hashable")
5243 (synopsis "Class for types that can be converted to a hash value")
5244 (description
5245 "This package defines a class, @code{Hashable}, for types that can be
5246converted to a hash value. This class exists for the benefit of hashing-based
5247data structures. The package provides instances for basic types and a way to
5248combine hash values.")
5249 (license license:bsd-3)))
5250
5251(define-public ghc-hashable-bootstrap
5252 (package
5253 (inherit ghc-hashable)
5254 (name "ghc-hashable-bootstrap")
65a16a45
TS
5255 (arguments
5256 `(#:tests? #f
5257 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5258 (native-inputs '())
5259 (properties '((hidden? #t)))))
5260
5261(define-public ghc-hashable-time
5262 (package
5263 (name "ghc-hashable-time")
f5051e31 5264 (version "0.2.0.2")
dddbc90c
RV
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append
5269 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5270 version
5271 ".tar.gz"))
5272 (sha256
5273 (base32
f5051e31 5274 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5275 (build-system haskell-build-system)
5276 (arguments
5277 `(#:cabal-revision
f5051e31 5278 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5279 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5280 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5281 (synopsis "Hashable instances for Data.Time")
5282 (description
5283 "This package provides @code{Hashable} instances for types in
5284@code{Data.Time}.")
5285 (license license:bsd-3)))
5286
5287(define-public ghc-hashtables
5288 (package
5289 (name "ghc-hashtables")
19edf0d0 5290 (version "1.2.3.4")
dddbc90c
RV
5291 (source
5292 (origin
5293 (method url-fetch)
5294 (uri (string-append
5295 "https://hackage.haskell.org/package/hashtables/hashtables-"
5296 version ".tar.gz"))
5297 (sha256
19edf0d0 5298 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5299 (build-system haskell-build-system)
5300 (inputs
5301 `(("ghc-hashable" ,ghc-hashable)
5302 ("ghc-primitive" ,ghc-primitive)
5303 ("ghc-vector" ,ghc-vector)))
5304 (home-page "https://github.com/gregorycollins/hashtables")
5305 (synopsis "Haskell Mutable hash tables in the ST monad")
5306 (description "This package provides a Haskell library including a
5307couple of different implementations of mutable hash tables in the ST
5308monad, as well as a typeclass abstracting their common operations, and
5309a set of wrappers to use the hash tables in the IO monad.")
5310 (license license:bsd-3)))
5311
dd26713e
JS
5312(define-public ghc-haskeline-0.8
5313 (package
5314 (name "ghc-haskeline")
5315 (version "0.8.0.0")
5316 (source
5317 (origin
5318 (method url-fetch)
5319 (uri (string-append
5320 "https://hackage.haskell.org/package/haskeline/haskeline-"
5321 version
5322 ".tar.gz"))
5323 (sha256
5324 (base32
5325 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5326 (build-system haskell-build-system)
5327 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5328 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5329 ;; FIXME: Tests failing
5330 (arguments `(#:tests? #f))
5331 (home-page "https://github.com/judah/haskeline")
5332 (synopsis
5333 "Command-line interface for user input, written in Haskell")
5334 (description
5335 "Haskeline provides a user interface for line input in command-line
5336programs. This library is similar in purpose to readline, but since it is
5337written in Haskell it is (hopefully) more easily used in other Haskell
5338programs.
5339
5340Haskeline runs both on POSIX-compatible systems and on Windows.")
5341 (license license:bsd-3)))
5342
dddbc90c
RV
5343(define-public ghc-haskell-lexer
5344 (package
5345 (name "ghc-haskell-lexer")
5346 (version "1.0.2")
5347 (source
5348 (origin
5349 (method url-fetch)
5350 (uri (string-append
5351 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5352 version ".tar.gz"))
5353 (sha256
5354 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5355 (build-system haskell-build-system)
3ef91e15 5356 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5357 (synopsis "Fully compliant Haskell 98 lexer")
5358 (description
5359 "This package provides a fully compliant Haskell 98 lexer.")
5360 (license license:bsd-3)))
5361
5362(define-public ghc-haskell-src
5363 (package
5364 (name "ghc-haskell-src")
5365 (version "1.0.3.0")
5366 (source
5367 (origin
5368 (method url-fetch)
5369 (uri (string-append
5370 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5371 version
5372 ".tar.gz"))
5373 (sha256
5374 (base32
5375 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5376 (build-system haskell-build-system)
5377 (inputs
5378 `(("ghc-happy" ,ghc-happy)
5379 ("ghc-syb" ,ghc-syb)))
5380 (home-page
5381 "https://hackage.haskell.org/package/haskell-src")
5382 (synopsis
5383 "Support for manipulating Haskell source code")
5384 (description
5385 "The @code{haskell-src} package provides support for manipulating Haskell
5386source code. The package provides a lexer, parser and pretty-printer, and a
5387definition of a Haskell abstract syntax tree (AST). Common uses of this
5388package are to parse or generate Haskell 98 code.")
5389 (license license:bsd-3)))
5390
5391(define-public ghc-haskell-src-exts
5392 (package
5393 (name "ghc-haskell-src-exts")
37a05591 5394 (version "1.21.1")
dddbc90c
RV
5395 (source
5396 (origin
5397 (method url-fetch)
5398 (uri (string-append
5399 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5400 version
5401 ".tar.gz"))
5402 (sha256
5403 (base32
37a05591 5404 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c 5405 (build-system haskell-build-system)
cad59e53 5406 (outputs '("out" "static" "doc"))
dddbc90c
RV
5407 (inputs
5408 `(("cpphs" ,cpphs)
5409 ("ghc-happy" ,ghc-happy)
5410 ("ghc-pretty-show" ,ghc-pretty-show)))
5411 (native-inputs
5412 `(("ghc-smallcheck" ,ghc-smallcheck)
5413 ("ghc-tasty" ,ghc-tasty)
5414 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5415 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5416 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5417 (synopsis "Library for manipulating Haskell source")
5418 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5419extension of the standard @code{haskell-src} package, and handles most
5420registered syntactic extensions to Haskell. All extensions implemented in GHC
5421are supported. Apart from these standard extensions, it also handles regular
5422patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5423 (license license:bsd-3)))
5424
5425(define-public ghc-haskell-src-exts-util
5426 (package
5427 (name "ghc-haskell-src-exts-util")
77355bdf 5428 (version "0.2.5")
dddbc90c
RV
5429 (source
5430 (origin
5431 (method url-fetch)
5432 (uri (string-append "https://hackage.haskell.org/package/"
5433 "haskell-src-exts-util/haskell-src-exts-util-"
5434 version ".tar.gz"))
5435 (sha256
5436 (base32
77355bdf 5437 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5438 (build-system haskell-build-system)
5439 (inputs
5440 `(("ghc-data-default" ,ghc-data-default)
5441 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5442 ("ghc-semigroups" ,ghc-semigroups)
5443 ("ghc-uniplate" ,ghc-uniplate)))
5444 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5445 (synopsis "Helper functions for working with haskell-src-exts trees")
5446 (description
5447 "This package provides helper functions for working with
5448@code{haskell-src-exts} trees.")
5449 (license license:bsd-3)))
5450
5451(define-public ghc-haskell-src-meta
5452 (package
5453 (name "ghc-haskell-src-meta")
e94b3c72 5454 (version "0.8.3")
dddbc90c
RV
5455 (source (origin
5456 (method url-fetch)
5457 (uri (string-append "https://hackage.haskell.org/package/"
5458 "haskell-src-meta/haskell-src-meta-"
5459 version ".tar.gz"))
5460 (sha256
5461 (base32
e94b3c72 5462 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5463 (build-system haskell-build-system)
5464 (inputs
5465 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5466 ("ghc-syb" ,ghc-syb)
5467 ("ghc-th-orphans" ,ghc-th-orphans)))
5468 (native-inputs
5469 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5470 ("ghc-tasty" ,ghc-tasty)
5471 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5472 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5473 (synopsis "Parse source to template-haskell abstract syntax")
5474 (description
5475 "This package provides tools to parse Haskell sources to the
5476template-haskell abstract syntax.")
5477 (license license:bsd-3)))
5478
5479(define-public ghc-hasktags
5480 (package
5481 (name "ghc-hasktags")
5482 (version "0.71.2")
5483 (source
5484 (origin
5485 (method url-fetch)
5486 (uri (string-append
5487 "https://hackage.haskell.org/package/hasktags/hasktags-"
5488 version
5489 ".tar.gz"))
5490 (sha256
5491 (base32
5492 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5493 (build-system haskell-build-system)
5494 (inputs
5495 `(("ghc-system-filepath" ,ghc-system-filepath)
5496 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5497 (native-inputs
5498 `(("ghc-json" ,ghc-json)
5499 ("ghc-utf8-string" ,ghc-utf8-string)
5500 ("ghc-microlens-platform" ,ghc-microlens-platform)
5501 ("ghc-hunit" ,ghc-hunit)))
702a1012 5502 (home-page "https://github.com/MarcWeber/hasktags")
dddbc90c
RV
5503 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5504 (description
5505 "This package provides a means of generating tag files for Emacs and
5506Vim.")
5507 (license license:bsd-3)))
5508
5509(define-public ghc-hex
5510 (package
5511 (name "ghc-hex")
5512 (version "0.1.2")
5513 (source
5514 (origin
5515 (method url-fetch)
5516 (uri (string-append "https://hackage.haskell.org/package/"
5517 "hex-" version "/"
5518 "hex-" version ".tar.gz"))
5519 (sha256
5520 (base32
5521 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5522 (build-system haskell-build-system)
5523 (home-page "https://hackage.haskell.org/package/hex")
5524 (synopsis "Convert strings into hexadecimal and back")
5525 (description "This package provides conversion functions between
5526bytestrings and their hexademical representation.")
5527 (license license:bsd-3)))
5528
5529(define-public ghc-highlighting-kate
5530 (package
5531 (name "ghc-highlighting-kate")
5532 (version "0.6.4")
5533 (source (origin
5534 (method url-fetch)
5535 (uri (string-append "https://hackage.haskell.org/package/"
5536 "highlighting-kate/highlighting-kate-"
5537 version ".tar.gz"))
5538 (sha256
5539 (base32
5540 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5541 (build-system haskell-build-system)
5542 (inputs
5543 `(("ghc-diff" ,ghc-diff)
5544 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5545 (native-inputs
5546 `(("ghc-blaze-html" ,ghc-blaze-html)
5547 ("ghc-utf8-string" ,ghc-utf8-string)))
5548 (home-page "https://github.com/jgm/highlighting-kate")
5549 (synopsis "Syntax highlighting library")
5550 (description
5551 "Highlighting-kate is a syntax highlighting library with support for
5552nearly one hundred languages. The syntax parsers are automatically generated
5553from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5554supported by Kate can be added. An (optional) command-line program is
5555provided, along with a utility for generating new parsers from Kate XML syntax
5556descriptions.")
5557 (license license:gpl2+)))
5558
5559(define-public ghc-hindent
5560 (package
5561 (name "ghc-hindent")
f545f894 5562 (version "5.3.1")
dddbc90c
RV
5563 (source
5564 (origin
5565 (method url-fetch)
5566 (uri (string-append
5567 "https://hackage.haskell.org/package/hindent/hindent-"
5568 version
5569 ".tar.gz"))
5570 (sha256
5571 (base32
f545f894 5572 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5573 (build-system haskell-build-system)
5574 (arguments
5575 `(#:modules ((guix build haskell-build-system)
5576 (guix build utils)
5577 (guix build emacs-utils))
5578 #:imported-modules (,@%haskell-build-system-modules
5579 (guix build emacs-utils))
5580 #:phases
5581 (modify-phases %standard-phases
5582 (add-after 'install 'emacs-install
5583 (lambda* (#:key inputs outputs #:allow-other-keys)
5584 (let* ((out (assoc-ref outputs "out"))
5585 (elisp-file "elisp/hindent.el")
d53e87cf 5586 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5587 (emacs (string-append (assoc-ref inputs "emacs")
5588 "/bin/emacs")))
5589 (make-file-writable elisp-file)
5590 (emacs-substitute-variables elisp-file
5591 ("hindent-process-path"
5592 (string-append out "/bin/hindent")))
5593 (install-file elisp-file dest)
5594 (emacs-generate-autoloads "hindent" dest)))))))
5595 (inputs
5596 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5597 ("ghc-monad-loops" ,ghc-monad-loops)
5598 ("ghc-utf8-string" ,ghc-utf8-string)
5599 ("ghc-exceptions" ,ghc-exceptions)
5600 ("ghc-yaml" ,ghc-yaml)
5601 ("ghc-unix-compat" ,ghc-unix-compat)
5602 ("ghc-path" ,ghc-path)
5603 ("ghc-path-io" ,ghc-path-io)
5604 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5605 (native-inputs
5606 `(("ghc-hspec" ,ghc-hspec)
5607 ("ghc-diff" ,ghc-diff)
5608 ("emacs" ,emacs-minimal)))
5609 (home-page
5610 "https://github.com/commercialhaskell/hindent")
5611 (synopsis "Extensible Haskell pretty printer")
5612 (description
5613 "This package provides automatic formatting for Haskell files. Both a
5614library and an executable.")
5615 (license license:bsd-3)))
5616
5617(define-public ghc-hinotify
5618 (package
5619 (name "ghc-hinotify")
c2342abb 5620 (version "0.4")
dddbc90c
RV
5621 (source (origin
5622 (method url-fetch)
5623 (uri (string-append
5624 "https://hackage.haskell.org/package/hinotify/"
5625 "hinotify-" version ".tar.gz"))
5626 (sha256
5627 (base32
c2342abb 5628 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5629 (build-system haskell-build-system)
5630 (inputs
5631 `(("ghc-async" ,ghc-async)))
5632 (home-page "https://github.com/kolmodin/hinotify.git")
5633 (synopsis "Haskell binding to inotify")
5634 (description "This library provides a wrapper to the Linux kernel's inotify
5635feature, allowing applications to subscribe to notifications when a file is
5636accessed or modified.")
5637 (license license:bsd-3)))
5638
5639(define-public ghc-hmatrix
5640 (package
5641 (name "ghc-hmatrix")
65e29ed1 5642 (version "0.20.0.0")
dddbc90c
RV
5643 (source
5644 (origin
5645 (method url-fetch)
5646 (uri (string-append
5647 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5648 version ".tar.gz"))
5649 (sha256
65e29ed1 5650 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c 5651 (build-system haskell-build-system)
54a5fd07
TS
5652 (arguments
5653 `(#:extra-directories ("lapack")))
dddbc90c
RV
5654 (inputs
5655 `(("ghc-random" ,ghc-random)
5656 ("ghc-split" ,ghc-split)
5657 ("ghc-storable-complex" ,ghc-storable-complex)
5658 ("ghc-semigroups" ,ghc-semigroups)
5659 ("ghc-vector" ,ghc-vector)
5660 ;;("openblas" ,openblas)
5661 ("lapack" ,lapack)))
5662 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5663 ;; disables inclusion of the LAPACK functions.
5664 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5665 (home-page "https://github.com/albertoruiz/hmatrix")
5666 (synopsis "Haskell numeric linear algebra library")
5667 (description "The HMatrix package provices a Haskell library for
5668dealing with linear systems, matrix decompositions, and other
5669numerical computations based on BLAS and LAPACK.")
5670 (license license:bsd-3)))
5671
5672(define-public ghc-hmatrix-gsl
5673 (package
5674 (name "ghc-hmatrix-gsl")
5675 (version "0.19.0.1")
5676 (source
5677 (origin
5678 (method url-fetch)
5679 (uri (string-append
5680 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5681 version ".tar.gz"))
5682 (sha256
5683 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5684 (build-system haskell-build-system)
54a5fd07
TS
5685 (arguments
5686 `(#:extra-directories ("gsl")))
dddbc90c
RV
5687 (inputs
5688 `(("ghc-hmatrix" ,ghc-hmatrix)
5689 ("ghc-vector" ,ghc-vector)
5690 ("ghc-random" ,ghc-random)
5691 ("gsl" ,gsl)))
5692 (native-inputs `(("pkg-config" ,pkg-config)))
5693 (home-page "https://github.com/albertoruiz/hmatrix")
5694 (synopsis "Haskell GSL binding")
5695 (description "This Haskell library provides a purely functional
5696interface to selected numerical computations, internally implemented
5697using GSL.")
5698 (license license:gpl3+)))
5699
5700(define-public ghc-hmatrix-gsl-stats
5701 (package
5702 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5703 (version "0.4.1.8")
dddbc90c
RV
5704 (source
5705 (origin
5706 (method url-fetch)
5707 (uri
5708 (string-append
5709 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5710 version ".tar.gz"))
5711 (sha256
e9b359f5 5712 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5713 (build-system haskell-build-system)
5714 (inputs
5715 `(("ghc-vector" ,ghc-vector)
5716 ("ghc-storable-complex" ,ghc-storable-complex)
5717 ("ghc-hmatrix" ,ghc-hmatrix)
5718 ("gsl" ,gsl)))
5719 (native-inputs `(("pkg-config" ,pkg-config)))
5720 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5721 (synopsis "GSL Statistics interface for Haskell")
5722 (description "This Haskell library provides a purely functional
5723interface for statistics based on hmatrix and GSL.")
5724 (license license:bsd-3)))
5725
5726(define-public ghc-hmatrix-special
5727 (package
5728 (name "ghc-hmatrix-special")
5729 (version "0.19.0.0")
5730 (source
5731 (origin
5732 (method url-fetch)
5733 (uri
5734 (string-append
5735 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5736 version ".tar.gz"))
5737 (sha256
5738 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5739 (build-system haskell-build-system)
5740 (inputs
5741 `(("ghc-hmatrix" ,ghc-hmatrix)
5742 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5743 (home-page "https://github.com/albertoruiz/hmatrix")
5744 (synopsis "Haskell interface to GSL special functions")
5745 (description "This library provides an interface to GSL special
5746functions for Haskell.")
5747 (license license:gpl3+)))
5748
5749(define-public ghc-hostname
5750 (package
5751 (name "ghc-hostname")
5752 (version "1.0")
5753 (source
5754 (origin
5755 (method url-fetch)
5756 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5757 "hostname-" version ".tar.gz"))
5758 (sha256
5759 (base32
5760 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5761 (build-system haskell-build-system)
5762 (home-page "https://hackage.haskell.org/package/hostname")
5763 (synopsis "Hostname in Haskell")
5764 (description "Network.HostName is a simple package providing a means to
5765determine the hostname.")
5766 (license license:bsd-3)))
5767
5768(define-public ghc-hourglass
5769 (package
5770 (name "ghc-hourglass")
5771 (version "0.2.12")
5772 (source (origin
5773 (method url-fetch)
5774 (uri (string-append "https://hackage.haskell.org/package/"
5775 "hourglass/hourglass-" version ".tar.gz"))
5776 (sha256
5777 (base32
5778 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5779 (build-system haskell-build-system)
5780 (inputs
5781 `(("ghc-old-locale" ,ghc-old-locale)))
5782 (native-inputs
5783 `(("ghc-tasty" ,ghc-tasty)
5784 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5785 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5786 (home-page "https://github.com/vincenthz/hs-hourglass")
5787 (synopsis "Simple time-related library for Haskell")
5788 (description
5789 "This is a simple time library providing a simple but powerful and
5790performant API. The backbone of the library are the @code{Timeable} and
5791@code{Time} type classes. Each @code{Timeable} instances can be converted to
5792a type that has a @code{Time} instances, and thus are different
5793representations of current time.")
5794 (license license:bsd-3)))
5795
5796(define-public ghc-hpack
5797 (package
5798 (name "ghc-hpack")
06344a3a 5799 (version "0.31.2")
dddbc90c
RV
5800 (source
5801 (origin
5802 (method url-fetch)
5803 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5804 "hpack-" version ".tar.gz"))
06344a3a 5805 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5806 (sha256
5807 (base32
06344a3a 5808 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5809 (build-system haskell-build-system)
5810 (inputs
5811 `(("ghc-aeson" ,ghc-aeson)
5812 ("ghc-bifunctors" ,ghc-bifunctors)
5813 ("ghc-cryptonite" ,ghc-cryptonite)
5814 ("ghc-glob" ,ghc-glob)
5815 ("ghc-http-client" ,ghc-http-client)
5816 ("ghc-http-client-tls" ,ghc-http-client-tls)
5817 ("ghc-http-types" ,ghc-http-types)
06344a3a 5818 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5819 ("ghc-scientific" ,ghc-scientific)
5820 ("ghc-unordered-containers" ,ghc-unordered-containers)
5821 ("ghc-vector" ,ghc-vector)
5822 ("ghc-yaml" ,ghc-yaml)))
5823 (native-inputs
5824 `(("ghc-hspec" ,ghc-hspec)
5825 ("ghc-hunit" ,ghc-hunit)
5826 ("ghc-interpolate" ,ghc-interpolate)
5827 ("ghc-mockery" ,ghc-mockery)
5828 ("ghc-quickcheck" ,ghc-quickcheck)
5829 ("ghc-temporary" ,ghc-temporary)
5830 ("hspec-discover" ,hspec-discover)))
5831 (home-page "https://github.com/sol/hpack")
5832 (synopsis "Tools for an alternative Haskell package format")
5833 (description
5834 "Hpack is a format for Haskell packages. It is an alternative to the
5835Cabal package format and follows different design principles. Hpack packages
5836are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5837@code{stack} support @code{package.yaml} natively. For other build tools the
5838@code{hpack} executable can be used to generate a @code{.cabal} file from
5839@code{package.yaml}.")
5840 (license license:expat)))
5841
5842(define-public ghc-hs-bibutils
5843 (package
5844 (name "ghc-hs-bibutils")
ebcb4f23 5845 (version "6.7.0.0")
dddbc90c
RV
5846 (source
5847 (origin
5848 (method url-fetch)
5849 (uri (string-append
5850 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5851 version ".tar.gz"))
5852 (sha256
5853 (base32
ebcb4f23 5854 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5855 (build-system haskell-build-system)
5856 (inputs `(("ghc-syb" ,ghc-syb)))
5857 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5858 (synopsis "Haskell bindings to bibutils")
5859 (description
5860 "This package provides Haskell bindings to @code{bibutils}, a library
5861that interconverts between various bibliography formats using a common
5862MODS-format XML intermediate.")
5863 (license license:gpl2+)))
5864
5865(define-public ghc-hslogger
5866 (package
5867 (name "ghc-hslogger")
e5ccc5f7 5868 (version "1.2.12")
dddbc90c
RV
5869 (source
5870 (origin
5871 (method url-fetch)
5872 (uri (string-append "https://hackage.haskell.org/package/"
5873 "hslogger-" version "/" "hslogger-"
5874 version ".tar.gz"))
5875 (sha256 (base32
e5ccc5f7 5876 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5877 (build-system haskell-build-system)
5878 (inputs
5879 `(("ghc-network" ,ghc-network)
5880 ("ghc-old-locale" ,ghc-old-locale)))
5881 (native-inputs
5882 `(("ghc-hunit" ,ghc-hunit)))
5883 (home-page "https://software.complete.org/hslogger")
5884 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5885 (description "Hslogger lets each log message have a priority and source be
5886associated with it. The programmer can then define global handlers that route
5887or filter messages based on the priority and source. It also has a syslog
5888handler built in.")
5889 (license license:bsd-3)))
5890
5891(define-public ghc-hslua
5892 (package
5893 (name "ghc-hslua")
cc784d7b 5894 (version "1.0.3.2")
dddbc90c
RV
5895 (source (origin
5896 (method url-fetch)
5897 (uri (string-append "https://hackage.haskell.org/package/"
5898 "hslua/hslua-" version ".tar.gz"))
5899 (sha256
5900 (base32
cc784d7b 5901 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5902 (build-system haskell-build-system)
5903 (arguments
54a5fd07
TS
5904 `(#:configure-flags '("-fsystem-lua")
5905 #:extra-directories ("lua")))
dddbc90c
RV
5906 (inputs
5907 `(("lua" ,lua)
5908 ("ghc-exceptions" ,ghc-exceptions)
5909 ("ghc-fail" ,ghc-fail)))
5910 (native-inputs
5911 `(("ghc-tasty" ,ghc-tasty)
5912 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5914 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5915 ("ghc-quickcheck" ,ghc-quickcheck)
5916 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5917 (home-page "https://hackage.haskell.org/package/hslua")
5918 (synopsis "Lua language interpreter embedding in Haskell")
5919 (description
5920 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5921described in @url{https://www.lua.org/}.")
5922 (license license:expat)))
5923
ff303e4e
TS
5924(define-public ghc-hslua-module-system
5925 (package
5926 (name "ghc-hslua-module-system")
5927 (version "0.2.1")
5928 (source
5929 (origin
5930 (method url-fetch)
5931 (uri (string-append "https://hackage.haskell.org/package/"
5932 "hslua-module-system/hslua-module-system-"
5933 version ".tar.gz"))
5934 (sha256
5935 (base32
5936 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5937 (build-system haskell-build-system)
5938 (inputs
5939 `(("ghc-exceptions" ,ghc-exceptions)
5940 ("ghc-hslua" ,ghc-hslua)
5941 ("ghc-temporary" ,ghc-temporary)))
5942 (native-inputs
5943 `(("ghc-tasty" ,ghc-tasty)
5944 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5945 (home-page "https://github.com/hslua/hslua-module-system")
5946 (synopsis "Lua module wrapper around Haskell's System module")
5947 (description "This library provides access to system information and
5948functionality to Lua scripts via Haskell's @code{System} module. Intended
5949usage for this package is to preload it by adding the loader function to
5950@code{package.preload}. Note that the Lua @code{package} library must have
5951already been loaded before the loader can be added.")
5952 (license license:expat)))
5953
dddbc90c
RV
5954(define-public ghc-hslua-module-text
5955 (package
5956 (name "ghc-hslua-module-text")
ecaf0b0c 5957 (version "0.2.1")
dddbc90c
RV
5958 (source
5959 (origin
5960 (method url-fetch)
5961 (uri (string-append "https://hackage.haskell.org/package/"
5962 "hslua-module-text/hslua-module-text-"
5963 version ".tar.gz"))
5964 (sha256
5965 (base32
ecaf0b0c 5966 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5967 (build-system haskell-build-system)
dddbc90c
RV
5968 (inputs
5969 `(("ghc-hslua" ,ghc-hslua)))
5970 (native-inputs
5971 `(("ghc-tasty" ,ghc-tasty)
5972 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5973 (home-page "https://github.com/hslua/hslua-module-text")
5974 (synopsis "Lua module for text")
5975 (description
5976 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5977for Haskell. The functions provided by this module are @code{upper},
5978@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5979 (license license:expat)))
5980
fac520bf
TS
5981(define-public ghc-hsyaml
5982 (package
5983 (name "ghc-hsyaml")
5984 (version "0.1.2.0")
5985 (source
5986 (origin
5987 (method url-fetch)
5988 (uri (string-append "https://hackage.haskell.org/package/"
5989 "HsYAML/HsYAML-" version ".tar.gz"))
5990 (sha256
5991 (base32
5992 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5993 (build-system haskell-build-system)
5994 (arguments
5995 `(#:cabal-revision
5996 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5997 (home-page "https://github.com/haskell-hvr/HsYAML")
5998 (synopsis "Pure Haskell YAML 1.2 parser")
5999 (description "This library provides a
6000@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
6001for Haskell. Its features include:
6002
6003@itemize
6004@item Pure Haskell implementation with small dependency footprint and
6005emphasis on strict compliance with the YAML 1.2 specification.
6006
6007@item Direct decoding to native Haskell types via (aeson-inspired)
6008typeclass-based API (see @code{Data.YAML}).
6009
6010@item Support for constructing custom YAML node graph
6011representation (including support for cyclic YAML data structures).
6012
6013@item Support for the standard (untyped) @emph{Failsafe}, (strict)
6014@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6015typing rules as defined in the YAML 1.2 specification (including support
6016for user-defined custom schemas).
6017
6018@item Event-based API resembling LibYAML's Event-based API (see
6019@code{Data.YAML.Event}).
6020
6021@item Low-level API access to lexical token-based scanner (see
6022@code{Data.YAML.Token}).
6023@end itemize")
6024 (license license:gpl2+)))
6025
dddbc90c
RV
6026(define-public ghc-http-api-data
6027 (package
6028 (name "ghc-http-api-data")
a57236eb 6029 (version "0.4.1")
dddbc90c
RV
6030 (source
6031 (origin
6032 (method url-fetch)
6033 (uri (string-append "https://hackage.haskell.org/package/"
6034 "http-api-data-" version "/"
6035 "http-api-data-" version ".tar.gz"))
6036 (sha256
6037 (base32
a57236eb 6038 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6039 (build-system haskell-build-system)
dddbc90c
RV
6040 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6041 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6042 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6043 ("ghc-hashable" ,ghc-hashable)
6044 ("ghc-http-types" ,ghc-http-types)
a57236eb 6045 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6046 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6047 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6048 (native-inputs
6049 `(("cabal-doctest" ,cabal-doctest)
6050 ("ghc-nats" ,ghc-nats)
6051 ("ghc-hunit" ,ghc-hunit)
6052 ("ghc-hspec" ,ghc-hspec)
6053 ("ghc-quickcheck" ,ghc-quickcheck)
6054 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6055 ("ghc-doctest" ,ghc-doctest)
6056 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6057 (home-page "https://github.com/fizruk/http-api-data")
6058 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6059query parameters")
6060 (description "This Haskell package defines typeclasses used for converting
6061Haskell data types to and from HTTP API data.")
6062 (license license:bsd-3)))
6063
6064(define-public ghc-ieee754
6065 (package
6066 (name "ghc-ieee754")
6067 (version "0.8.0")
6068 (source (origin
6069 (method url-fetch)
6070 (uri (string-append
6071 "https://hackage.haskell.org/package/ieee754/"
6072 "ieee754-" version ".tar.gz"))
6073 (sha256
6074 (base32
6075 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6076 (build-system haskell-build-system)
6077 (home-page "https://github.com/patperry/hs-ieee754")
6078 (synopsis "Utilities for dealing with IEEE floating point numbers")
6079 (description "Utilities for dealing with IEEE floating point numbers,
6080ported from the Tango math library; approximate and exact equality comparisons
6081for general types.")
6082 (license license:bsd-3)))
6083
6084(define-public ghc-ifelse
6085 (package
6086 (name "ghc-ifelse")
6087 (version "0.85")
6088 (source
6089 (origin
6090 (method url-fetch)
6091 (uri (string-append "https://hackage.haskell.org/package/"
6092 "IfElse/IfElse-" version ".tar.gz"))
6093 (sha256
6094 (base32
6095 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6096 (build-system haskell-build-system)
3ef91e15 6097 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6098 (synopsis "Monadic control flow with anaphoric variants")
6099 (description "This library provides functions for control flow inside of
6100monads with anaphoric variants on @code{if} and @code{when} and a C-like
6101@code{switch} function.")
6102 (license license:bsd-3)))
6103
6104(define-public ghc-indents
6105 (package
6106 (name "ghc-indents")
d66473fb 6107 (version "0.5.0.1")
dddbc90c
RV
6108 (source (origin
6109 (method url-fetch)
6110 (uri (string-append
6111 "https://hackage.haskell.org/package/indents/indents-"
6112 version ".tar.gz"))
6113 (sha256
6114 (base32
d66473fb 6115 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6116 (build-system haskell-build-system)
6117 ;; This package needs an older version of tasty.
6118 (arguments '(#:tests? #f))
6119 (inputs
6120 `(("ghc-concatenative" ,ghc-concatenative)))
6121 (native-inputs
6122 `(("ghc-tasty" ,ghc-tasty)
6123 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6124 (home-page "http://patch-tag.com/r/salazar/indents")
6125 (synopsis "Indentation sensitive parser-combinators for parsec")
6126 (description
6127 "This library provides functions for use in parsing indentation sensitive
6128contexts. It parses blocks of lines all indented to the same level as well as
6129lines continued at an indented level below.")
6130 (license license:bsd-3)))
6131
1f656b17
TS
6132(define-public ghc-infer-license
6133 (package
6134 (name "ghc-infer-license")
6135 (version "0.2.0")
6136 (source
6137 (origin
6138 (method url-fetch)
6139 (uri (string-append "https://hackage.haskell.org/package/"
6140 "infer-license/infer-license-" version ".tar.gz"))
6141 (sha256
6142 (base32
6143 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6144 (build-system haskell-build-system)
6145 (inputs
6146 `(("ghc-text-metrics" ,ghc-text-metrics)))
6147 (native-inputs
6148 `(("ghc-hspec" ,ghc-hspec)
6149 ("hspec-discover" ,hspec-discover)))
3ef91e15 6150 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6151 (synopsis "Infer software license from a given license file")
6152 (description "This library provides tools to infer a software
6153license from a given license file.")
6154 (license license:expat)))
6155
dddbc90c
RV
6156(define-public ghc-inline-c
6157 (package
6158 (name "ghc-inline-c")
55ec98f2 6159 (version "0.7.0.1")
dddbc90c
RV
6160 (source
6161 (origin
6162 (method url-fetch)
6163 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6164 "inline-c-" version ".tar.gz"))
6165 (sha256
6166 (base32
55ec98f2 6167 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6168 (build-system haskell-build-system)
6169 (inputs
6170 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6171 ("ghc-cryptohash" ,ghc-cryptohash)
6172 ("ghc-hashable" ,ghc-hashable)
6173 ("ghc-parsers" ,ghc-parsers)
6174 ("ghc-unordered-containers" ,ghc-unordered-containers)
6175 ("ghc-vector" ,ghc-vector)))
6176 (native-inputs
6177 `(("ghc-quickcheck" ,ghc-quickcheck)
6178 ("ghc-hspec" ,ghc-hspec)
6179 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6180 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6181 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6182 (synopsis "Write Haskell source files including C code inline")
6183 (description
6184 "inline-c lets you seamlessly call C libraries and embed high-performance
6185inline C code in Haskell modules. Haskell and C can be freely intermixed in
6186the same source file, and data passed to and from code in either language with
6187minimal overhead. No FFI required.")
6188 (license license:expat)))
6189
6190(define-public ghc-inline-c-cpp
6191 (package
6192 (name "ghc-inline-c-cpp")
cae58e56 6193 (version "0.3.0.3")
dddbc90c
RV
6194 (source
6195 (origin
6196 (method url-fetch)
6197 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6198 "inline-c-cpp-" version ".tar.gz"))
6199 (sha256
6200 (base32
cae58e56 6201 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6202 (build-system haskell-build-system)
6203 (inputs
6204 `(("ghc-inline-c" ,ghc-inline-c)
6205 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6206 (native-inputs
6207 `(("ghc-hspec" ,ghc-hspec)))
6208 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6209 (synopsis "Lets you embed C++ code into Haskell")
6210 (description
6211 "This package provides utilities to inline C++ code into Haskell using
6212@code{inline-c}.")
6213 (license license:expat)))
6214
6215(define-public ghc-integer-logarithms
6216 (package
6217 (name "ghc-integer-logarithms")
86a704db 6218 (version "1.0.3")
dddbc90c
RV
6219 (source
6220 (origin
6221 (method url-fetch)
6222 (uri (string-append "https://hackage.haskell.org/package/"
6223 "integer-logarithms/integer-logarithms-"
6224 version ".tar.gz"))
6225 (sha256
6226 (base32
86a704db 6227 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6228 (build-system haskell-build-system)
6229 (arguments
6230 `(#:phases
6231 (modify-phases %standard-phases
6232 (add-before 'configure 'update-constraints
6233 (lambda _
6234 (substitute* "integer-logarithms.cabal"
6235 (("tasty >= 0\\.10 && < 1\\.1")
6236 "tasty >= 0.10 && < 1.2")))))))
6237 (native-inputs
6238 `(("ghc-quickcheck" ,ghc-quickcheck)
6239 ("ghc-smallcheck" ,ghc-smallcheck)
6240 ("ghc-tasty" ,ghc-tasty)
6241 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6242 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6243 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6244 (home-page "https://github.com/Bodigrim/integer-logarithms")
6245 (synopsis "Integer logarithms")
6246 (description
6247 "This package provides the following modules:
6248@code{Math.NumberTheory.Logarithms} and
6249@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6250@code{GHC.Integer.Logarithms.Compat} and
6251@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6252in migrated modules.")
6253 (license license:expat)))
6254
6255(define-public ghc-integer-logarithms-bootstrap
6256 (package
6257 (inherit ghc-integer-logarithms)
6258 (name "ghc-integer-logarithms-bootstrap")
6259 (arguments `(#:tests? #f))
6260 (native-inputs '())
799d8d3c 6261 (properties '((hidden? #t)))))
dddbc90c
RV
6262
6263(define-public ghc-interpolate
6264 (package
6265 (name "ghc-interpolate")
6266 (version "0.2.0")
6267 (source
6268 (origin
6269 (method url-fetch)
6270 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6271 "interpolate-" version ".tar.gz"))
6272 (sha256
6273 (base32
6274 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6275 (build-system haskell-build-system)
6276 (inputs
6277 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6278 (native-inputs
6279 `(("ghc-base-compat" ,ghc-base-compat)
6280 ("ghc-hspec" ,ghc-hspec)
6281 ("ghc-quickcheck" ,ghc-quickcheck)
6282 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6283 ("hspec-discover" ,hspec-discover)))
6284 (home-page "https://github.com/sol/interpolate")
6285 (synopsis "String interpolation library")
6286 (description "This package provides a string interpolation library for
6287Haskell.")
6288 (license license:expat)))
6289
6290(define-public ghc-intervalmap
6291 (package
6292 (name "ghc-intervalmap")
e4946e32 6293 (version "0.6.1.1")
dddbc90c
RV
6294 (source
6295 (origin
6296 (method url-fetch)
6297 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6298 "IntervalMap-" version ".tar.gz"))
6299 (sha256
6300 (base32
e4946e32 6301 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6302 (build-system haskell-build-system)
6303 (native-inputs
6304 `(("ghc-quickcheck" ,ghc-quickcheck)))
6305 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6306 (synopsis "Containers for intervals, with efficient search")
6307 (description
6308 "This package provides ordered containers of intervals, with efficient
6309search for all keys containing a point or overlapping an interval. See the
6310example code on the home page for a quick introduction.")
6311 (license license:bsd-3)))
6312
f7ca1fa8
TS
6313(define-public ghc-intervals
6314 (package
6315 (name "ghc-intervals")
6316 (version "0.8.1")
6317 (source
6318 (origin
6319 (method url-fetch)
6320 (uri (string-append "https://hackage.haskell.org/package/"
6321 "intervals/intervals-" version ".tar.gz"))
6322 (sha256
6323 (base32
6324 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6325 (build-system haskell-build-system)
6326 (inputs
6327 `(("ghc-distributive" ,ghc-distributive)))
6328 (native-inputs
6329 `(("cabal-doctest" ,cabal-doctest)
6330 ("ghc-doctest" ,ghc-doctest)
6331 ("ghc-quickcheck" ,ghc-quickcheck)))
6332 (arguments
6333 `(#:cabal-revision
6334 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6335 (home-page "https://github.com/ekmett/intervals")
6336 (synopsis "Interval arithmetic")
6337 (description "This library provides
6338@code{Numeric.Interval.Interval}, which represets a closed, convex set
6339of floating point values.")
6340 (license license:bsd-3)))
6341
dddbc90c
RV
6342(define-public ghc-invariant
6343 (package
6344 (name "ghc-invariant")
d3a0e0b4 6345 (version "0.5.3")
dddbc90c
RV
6346 (source
6347 (origin
6348 (method url-fetch)
6349 (uri (string-append
6350 "https://hackage.haskell.org/package/invariant/invariant-"
6351 version ".tar.gz"))
6352 (sha256
6353 (base32
d3a0e0b4 6354 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6355 (build-system haskell-build-system)
6356 (inputs
6357 `(("ghc-bifunctors" ,ghc-bifunctors)
6358 ("ghc-comonad" ,ghc-comonad)
6359 ("ghc-contravariant" ,ghc-contravariant)
6360 ("ghc-profunctors" ,ghc-profunctors)
6361 ("ghc-semigroups" ,ghc-semigroups)
6362 ("ghc-statevar" ,ghc-statevar)
6363 ("ghc-tagged" ,ghc-tagged)
6364 ("ghc-th-abstraction" ,ghc-th-abstraction)
6365 ("ghc-transformers-compat" ,ghc-transformers-compat)
6366 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6367 (native-inputs
6368 `(("ghc-hspec" ,ghc-hspec)
6369 ("ghc-quickcheck" ,ghc-quickcheck)
6370 ("hspec-discover" ,hspec-discover)))
6371 (home-page "https://github.com/nfrisby/invariant-functors")
6372 (synopsis "Haskell98 invariant functors")
6373 (description "Haskell98 invariant functors (also known as exponential
6374functors). For more information, see Edward Kmett's article
6375@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6376 (license license:bsd-2)))
6377
6378(define-public ghc-io-streams
6379 (package
6380 (name "ghc-io-streams")
59e98d75 6381 (version "1.5.1.0")
dddbc90c
RV
6382 (source
6383 (origin
6384 (method url-fetch)
6385 (uri (string-append "https://hackage.haskell.org/package/"
6386 "io-streams/io-streams-" version ".tar.gz"))
6387 (sha256
6388 (base32
59e98d75 6389 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6390 (build-system haskell-build-system)
6391 (inputs
6392 `(("ghc-attoparsec" ,ghc-attoparsec)
6393 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6394 ("ghc-network" ,ghc-network)
6395 ("ghc-primitive" ,ghc-primitive)
6396 ("ghc-vector" ,ghc-vector)
6397 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6398 (native-inputs
6399 `(("ghc-hunit" ,ghc-hunit)
6400 ("ghc-quickcheck" ,ghc-quickcheck)
6401 ("ghc-test-framework" ,ghc-test-framework)
6402 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6403 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6404 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6405 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6406 (synopsis "Simple and composable stream I/O")
6407 (description "This library contains simple and easy-to-use
6408primitives for I/O using streams.")
6409 (license license:bsd-3)))
6410
6411(define-public ghc-io-streams-haproxy
6412 (package
6413 (name "ghc-io-streams-haproxy")
1a4fbc36 6414 (version "1.0.1.0")
dddbc90c
RV
6415 (source
6416 (origin
6417 (method url-fetch)
6418 (uri (string-append "https://hackage.haskell.org/package/"
6419 "io-streams-haproxy/io-streams-haproxy-"
6420 version ".tar.gz"))
6421 (sha256
6422 (base32
1a4fbc36 6423 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6424 (build-system haskell-build-system)
6425 (inputs
6426 `(("ghc-attoparsec" ,ghc-attoparsec)
6427 ("ghc-io-streams" ,ghc-io-streams)
6428 ("ghc-network" ,ghc-network)))
6429 (native-inputs
6430 `(("ghc-hunit" ,ghc-hunit)
6431 ("ghc-test-framework" ,ghc-test-framework)
6432 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6433 (home-page "http://snapframework.com/")
6434 (synopsis "HAProxy protocol 1.5 support for io-streams")
6435 (description "HAProxy protocol version 1.5 support
6436(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6437for applications using io-streams. The proxy protocol allows information
6438about a networked peer (like remote address and port) to be propagated
6439through a forwarding proxy that is configured to speak this protocol.")
6440 (license license:bsd-3)))
6441
6442(define-public ghc-iproute
6443 (package
6444 (name "ghc-iproute")
ec25d536 6445 (version "1.7.7")
dddbc90c
RV
6446 (source
6447 (origin
6448 (method url-fetch)
6449 (uri (string-append
6450 "https://hackage.haskell.org/package/iproute/iproute-"
6451 version
6452 ".tar.gz"))
6453 (sha256
6454 (base32
ec25d536 6455 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6456 (build-system haskell-build-system)
6457 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6458 ; exported by ghc-byteorder. Doctest issue.
6459 (inputs
6460 `(("ghc-appar" ,ghc-appar)
6461 ("ghc-byteorder" ,ghc-byteorder)
6462 ("ghc-network" ,ghc-network)
6463 ("ghc-safe" ,ghc-safe)))
6464 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6465 (synopsis "IP routing table")
6466 (description "IP Routing Table is a tree of IP ranges to search one of
6467them on the longest match base. It is a kind of TRIE with one way branching
6468removed. Both IPv4 and IPv6 are supported.")
6469 (license license:bsd-3)))
6470
4828e54e
TS
6471(define-public ghc-ipynb
6472 (package
6473 (name "ghc-ipynb")
6474 (version "0.1")
6475 (source
6476 (origin
6477 (method url-fetch)
6478 (uri (string-append "https://hackage.haskell.org/package/"
6479 "ipynb/ipynb-" version ".tar.gz"))
6480 (sha256
6481 (base32
6482 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6483 (build-system haskell-build-system)
6484 (inputs
6485 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6486 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6487 ("ghc-aeson" ,ghc-aeson)
6488 ("ghc-semigroups" ,ghc-semigroups)))
6489 (native-inputs
6490 `(("ghc-tasty" ,ghc-tasty)
6491 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6492 ("ghc-aeson-diff" ,ghc-aeson-diff)
6493 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6494 ("ghc-microlens" ,ghc-microlens)
6495 ("ghc-vector" ,ghc-vector)))
6496 (home-page "https://hackage.haskell.org/package/ipynb")
6497 (synopsis "Data structure for working with Jupyter notebooks")
6498 (description "This library defines a data structure for representing
6499Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6500instances for conversion to and from JSON .ipynb files.")
6501 (license license:bsd-3)))
6502
dddbc90c
RV
6503(define-public ghc-iwlib
6504 (package
6505 (name "ghc-iwlib")
6506 (version "0.1.0")
6507 (source
6508 (origin
6509 (method url-fetch)
6510 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6511 version ".tar.gz"))
6512 (sha256
6513 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6514 (build-system haskell-build-system)
54a5fd07
TS
6515 (arguments
6516 `(#:extra-directories ("wireless-tools")))
dddbc90c
RV
6517 (inputs
6518 `(("wireless-tools" ,wireless-tools)))
6519 (home-page "https://github.com/jaor/iwlib")
6520 (synopsis "Haskell binding to the iw wireless networking library")
6521 (description
6522 "IWlib is a thin Haskell binding to the iw C library. It provides
6523information about the current wireless network connections, and adapters on
6524supported systems.")
6525 (license license:bsd-3)))
6526
6527(define-public ghc-json
6528 (package
6529 (name "ghc-json")
0ad3d574 6530 (version "0.9.3")
dddbc90c
RV
6531 (source
6532 (origin
6533 (method url-fetch)
6534 (uri (string-append "https://hackage.haskell.org/package/json/"
6535 "json-" version ".tar.gz"))
6536 (sha256
6537 (base32
0ad3d574 6538 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6539 (build-system haskell-build-system)
6540 (inputs
6541 `(("ghc-syb" ,ghc-syb)))
6542 (home-page "https://hackage.haskell.org/package/json")
6543 (synopsis "Serializes Haskell data to and from JSON")
6544 (description "This package provides a parser and pretty printer for
6545converting between Haskell values and JSON.
6546JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6547 (license license:bsd-3)))
6548
6549(define-public ghc-juicypixels
6550 (package
6551 (name "ghc-juicypixels")
b50b6004 6552 (version "3.3.4")
dddbc90c
RV
6553 (source (origin
6554 (method url-fetch)
6555 (uri (string-append "https://hackage.haskell.org/package/"
6556 "JuicyPixels/JuicyPixels-"
6557 version ".tar.gz"))
6558 (sha256
6559 (base32
b50b6004 6560 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6561 (build-system haskell-build-system)
6562 (inputs
6563 `(("ghc-zlib" ,ghc-zlib)
6564 ("ghc-vector" ,ghc-vector)
6565 ("ghc-primitive" ,ghc-primitive)
6566 ("ghc-mmap" ,ghc-mmap)))
6567 (home-page "https://github.com/Twinside/Juicy.Pixels")
6568 (synopsis "Picture loading and serialization library")
6569 (description
6570 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6571TIFF and GIF formats.")
6572 (license license:bsd-3)))
6573
6574(define-public ghc-kan-extensions
6575 (package
6576 (name "ghc-kan-extensions")
6577 (version "5.2")
6578 (source
6579 (origin
6580 (method url-fetch)
6581 (uri (string-append
6582 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6583 version
6584 ".tar.gz"))
6585 (sha256
6586 (base32
6587 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6588 (build-system haskell-build-system)
6589 (inputs
6590 `(("ghc-adjunctions" ,ghc-adjunctions)
6591 ("ghc-comonad" ,ghc-comonad)
6592 ("ghc-contravariant" ,ghc-contravariant)
6593 ("ghc-distributive" ,ghc-distributive)
6594 ("ghc-free" ,ghc-free)
6595 ("ghc-invariant" ,ghc-invariant)
6596 ("ghc-semigroupoids" ,ghc-semigroupoids)
6597 ("ghc-tagged" ,ghc-tagged)
6598 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6599 (home-page "https://github.com/ekmett/kan-extensions/")
6600 (synopsis "Kan extensions library")
6601 (description "This library provides Kan extensions, Kan lifts, various
6602forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6603 (license license:bsd-3)))
6604
6605(define-public ghc-language-c
6606 (package
6607 (name "ghc-language-c")
4e1cf651 6608 (version "0.8.3")
dddbc90c
RV
6609 (source
6610 (origin
6611 (method url-fetch)
6612 (uri (string-append "https://hackage.haskell.org/package/"
6613 "language-c/language-c-" version ".tar.gz"))
6614 (sha256
6615 (base32
4e1cf651 6616 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6617 (build-system haskell-build-system)
6618 (inputs `(("ghc-syb" ,ghc-syb)))
6619 (native-inputs
6620 `(("ghc-happy" ,ghc-happy)
6621 ("ghc-alex" ,ghc-alex)))
6622 (home-page "https://visq.github.io/language-c/")
6623 (synopsis "Analysis and generation of C code")
6624 (description
6625 "Language C is a Haskell library for the analysis and generation of C code.
6626It features a complete, well-tested parser and pretty printer for all of C99
6627and a large set of GNU extensions.")
6628 (license license:bsd-3)))
6629
6630(define-public ghc-language-glsl
6631 (package
6632 (name "ghc-language-glsl")
6633 (version "0.3.0")
6634 (source
6635 (origin
6636 (method url-fetch)
6637 (uri (string-append "https://hackage.haskell.org/package/"
6638 "language-glsl/language-glsl-" version ".tar.gz"))
6639 (sha256
6640 (base32
6641 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6642 (build-system haskell-build-system)
6643 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6644 (arguments
6645 `(#:tests? #f
6646 #:cabal-revision
6647 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6648 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6649 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6650 (description "This package is a Haskell library for the
6651representation, parsing, and pretty-printing of GLSL 1.50 code.")
6652 (license license:bsd-3)))
6653
6654(define-public ghc-language-haskell-extract
6655 (package
6656 (name "ghc-language-haskell-extract")
6657 (version "0.2.4")
6658 (source
6659 (origin
6660 (method url-fetch)
6661 (uri (string-append "https://hackage.haskell.org/package/"
6662 "language-haskell-extract-" version "/"
6663 "language-haskell-extract-" version ".tar.gz"))
6664 (sha256
6665 (base32
6666 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6667 (build-system haskell-build-system)
6668 (inputs
6669 `(("ghc-regex-posix" ,ghc-regex-posix)))
6670 (home-page "https://github.com/finnsson/template-helper")
6671 (synopsis "Haskell module to automatically extract functions from
6672the local code")
6673 (description "This package contains helper functions on top of
6674Template Haskell.
6675
6676For example, @code{functionExtractor} extracts all functions after a
6677regexp-pattern, which can be useful if you wish to extract all functions
6678beginning with @code{test} (for a test framework) or all functions beginning
6679with @code{wc} (for a web service).")
6680 (license license:bsd-3)))
6681
6682(define-public ghc-lens
6683 (package
6684 (name "ghc-lens")
262e6323 6685 (version "4.17.1")
dddbc90c
RV
6686 (source
6687 (origin
6688 (method url-fetch)
6689 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6690 version ".tar.gz"))
6691 (sha256
6692 (base32
262e6323 6693 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6694 (build-system haskell-build-system)
dddbc90c
RV
6695 (inputs
6696 `(("ghc-base-orphans" ,ghc-base-orphans)
6697 ("ghc-bifunctors" ,ghc-bifunctors)
6698 ("ghc-distributive" ,ghc-distributive)
6699 ("ghc-exceptions" ,ghc-exceptions)
6700 ("ghc-free" ,ghc-free)
6701 ("ghc-kan-extensions" ,ghc-kan-extensions)
6702 ("ghc-parallel" ,ghc-parallel)
6703 ("ghc-reflection" ,ghc-reflection)
6704 ("ghc-semigroupoids" ,ghc-semigroupoids)
6705 ("ghc-vector" ,ghc-vector)
6706 ("ghc-call-stack" ,ghc-call-stack)
6707 ("ghc-comonad" ,ghc-comonad)
6708 ("ghc-contravariant" ,ghc-contravariant)
6709 ("ghc-hashable" ,ghc-hashable)
6710 ("ghc-profunctors" ,ghc-profunctors)
6711 ("ghc-semigroups" ,ghc-semigroups)
6712 ("ghc-tagged" ,ghc-tagged)
6713 ("ghc-transformers-compat" ,ghc-transformers-compat)
6714 ("ghc-unordered-containers" ,ghc-unordered-containers)
6715 ("ghc-void" ,ghc-void)
6716 ("ghc-generic-deriving" ,ghc-generic-deriving)
6717 ("ghc-nats" ,ghc-nats)
6718 ("ghc-simple-reflect" ,ghc-simple-reflect)
6719 ("hlint" ,hlint)))
6720 (native-inputs
6721 `(("cabal-doctest" ,cabal-doctest)
6722 ("ghc-doctest" ,ghc-doctest)
6723 ("ghc-hunit" ,ghc-hunit)
6724 ("ghc-test-framework" ,ghc-test-framework)
6725 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6726 ("ghc-test-framework-th" ,ghc-test-framework-th)
6727 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6728 ("ghc-quickcheck" ,ghc-quickcheck)))
6729 (home-page "https://github.com/ekmett/lens/")
6730 (synopsis "Lenses, Folds and Traversals")
6731 (description "This library provides @code{Control.Lens}. The combinators
6732in @code{Control.Lens} provide a highly generic toolbox for composing families
6733of getters, folds, isomorphisms, traversals, setters and lenses and their
6734indexed variants.")
6735 (license license:bsd-3)))
6736
bcd35444
JS
6737(define-public ghc-lens-family-core
6738 (package
6739 (name "ghc-lens-family-core")
6740 (version "1.2.3")
6741 (source
6742 (origin
6743 (method url-fetch)
6744 (uri (string-append
6745 "mirror://hackage/package/lens-family-core/lens-family-core-"
6746 version
6747 ".tar.gz"))
6748 (sha256
6749 (base32
6750 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6751 (build-system haskell-build-system)
6752 (home-page
6753 "http://hackage.haskell.org/package/lens-family-core")
6754 (synopsis "Haskell 98 Lens Families")
6755 (description
6756 "This package provides first class functional references. In addition to
6757the usual operations of getting, setting and composition, plus integration
6758with the state monad, lens families provide some unique features:
6759
6760@itemize
6761@item Polymorphic updating
6762@item Traversals
6763@item Cast projection functions to read-only lenses
6764@item Cast @code{toList} functions to read-only traversals
6765@item Cast semantic editor combinators to modify-only traversals
6766@end itemize
6767
6768For optimal first-class support use the lens-family package with rank 2/rank N
6769polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6770lenses and traversals for those who require Haskell 98.")
6771 (license license:bsd-3)))
6772
dddbc90c
RV
6773(define-public ghc-libffi
6774 (package
6775 (name "ghc-libffi")
6776 (version "0.1")
6777 (source
6778 (origin
6779 (method url-fetch)
6780 (uri (string-append "https://hackage.haskell.org/package/"
6781 "libffi/libffi-" version ".tar.gz"))
6782 (sha256
6783 (base32
6784 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6785 (build-system haskell-build-system)
6786 (native-inputs `(("pkg-config" ,pkg-config)))
6787 (inputs `(("libffi" ,libffi)))
3ef91e15 6788 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6789 (synopsis "Haskell binding to libffi")
6790 (description
6791 "A binding to libffi, allowing C functions of types only known at runtime
6792to be called from Haskell.")
6793 (license license:bsd-3)))
6794
6795(define-public ghc-libmpd
6796 (package
6797 (name "ghc-libmpd")
bbf9845f 6798 (version "0.9.0.10")
dddbc90c
RV
6799 (source
6800 (origin
6801 (method url-fetch)
6802 (uri (string-append
6803 "mirror://hackage/package/libmpd/libmpd-"
6804 version
6805 ".tar.gz"))
6806 (sha256
6807 (base32
bbf9845f 6808 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6809 (build-system haskell-build-system)
6810 ;; Tests fail on i686.
6811 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6812 (arguments `(#:tests? #f))
6813 (inputs
6814 `(("ghc-attoparsec" ,ghc-attoparsec)
6815 ("ghc-old-locale" ,ghc-old-locale)
6816 ("ghc-data-default-class" ,ghc-data-default-class)
6817 ("ghc-network" ,ghc-network)
bbf9845f 6818 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6819 ("ghc-utf8-string" ,ghc-utf8-string)))
6820 (native-inputs
6821 `(("ghc-quickcheck" ,ghc-quickcheck)
6822 ("ghc-hspec" ,ghc-hspec)
6823 ("hspec-discover" ,hspec-discover)))
6824 (home-page "https://github.com/vimus/libmpd-haskell")
6825 (synopsis "Haskell client library for the Music Player Daemon")
6826 (description "This package provides a pure Haskell client library for the
6827Music Player Daemon.")
6828 (license license:expat)))
6829
e34df1c3
TS
6830(define-public ghc-lib-parser
6831 (package
6832 (name "ghc-lib-parser")
6833 (version "8.8.0.20190424")
6834 (source
6835 (origin
6836 (method url-fetch)
6837 (uri (string-append "https://hackage.haskell.org/package/"
6838 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6839 (sha256
6840 (base32
6841 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6842 (build-system haskell-build-system)
6843 (native-inputs
6844 `(("ghc-alex" ,ghc-alex)
6845 ("ghc-happy" ,ghc-happy)))
6846 (home-page "https://github.com/digital-asset/ghc-lib")
6847 (synopsis "The GHC API, decoupled from GHC versions")
6848 (description "This library implements the GHC API. It is like the
6849compiler-provided @code{ghc} package, but it can be loaded on many
6850compiler versions.")
6851 (license license:bsd-3)))
6852
dddbc90c
RV
6853(define-public ghc-libxml
6854 (package
6855 (name "ghc-libxml")
6856 (version "0.1.1")
6857 (source
6858 (origin
6859 (method url-fetch)
6860 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6861 "libxml-" version ".tar.gz"))
6862 (sha256
6863 (base32
6864 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6865 (build-system haskell-build-system)
6866 (inputs
6867 `(("libxml2" ,libxml2)))
6868 (arguments
6869 `(#:configure-flags
6870 `(,(string-append "--extra-include-dirs="
6871 (assoc-ref %build-inputs "libxml2")
6872 "/include/libxml2"))))
6873 (home-page "https://hackage.haskell.org/package/libxml")
6874 (synopsis "Haskell bindings to libxml2")
6875 (description
6876 "This library provides minimal Haskell binding to libxml2.")
6877 (license license:bsd-3)))
6878
0c2d6fc2
TS
6879(define-public ghc-libyaml
6880 (package
6881 (name "ghc-libyaml")
6882 (version "0.1.1.0")
6883 (source
6884 (origin
6885 (method url-fetch)
6886 (uri (string-append "https://hackage.haskell.org/package/"
6887 "libyaml/libyaml-" version ".tar.gz"))
6888 (sha256
6889 (base32
6890 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6891 (modules '((guix build utils)))
6892 (snippet
6893 ;; Delete bundled LibYAML.
6894 '(begin
6895 (delete-file-recursively "libyaml_src")
6896 #t))))
6897 (build-system haskell-build-system)
6898 (arguments
54a5fd07
TS
6899 `(#:configure-flags `("--flags=system-libyaml")
6900 #:extra-directories ("libyaml")))
0c2d6fc2
TS
6901 (inputs
6902 `(("ghc-conduit" ,ghc-conduit)
6903 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6904 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6905 (home-page "https://github.com/snoyberg/yaml#readme")
6906 (synopsis "Low-level, streaming YAML interface.")
6907 (description "This package provides a Haskell wrapper over the
6908LibYAML C library.")
6909 (license license:bsd-3)))
6910
dddbc90c
RV
6911(define-public ghc-lifted-async
6912 (package
6913 (name "ghc-lifted-async")
b5b6d7ea 6914 (version "0.10.0.4")
dddbc90c
RV
6915 (source
6916 (origin
6917 (method url-fetch)
6918 (uri (string-append
6919 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6920 version ".tar.gz"))
6921 (sha256
6922 (base32
b5b6d7ea 6923 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6924 (build-system haskell-build-system)
6925 (inputs
6926 `(("ghc-async" ,ghc-async)
6927 ("ghc-lifted-base" ,ghc-lifted-base)
6928 ("ghc-transformers-base" ,ghc-transformers-base)
6929 ("ghc-monad-control" ,ghc-monad-control)
6930 ("ghc-constraints" ,ghc-constraints)
6931 ("ghc-hunit" ,ghc-hunit)
6932 ("ghc-tasty" ,ghc-tasty)
6933 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6934 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6935 ("ghc-tasty-th" ,ghc-tasty-th)))
6936 (home-page "https://github.com/maoe/lifted-async")
6937 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6938 (description
6939 "This package provides IO operations from @code{async} package lifted to any
6940instance of @code{MonadBase} or @code{MonadBaseControl}.")
6941 (license license:bsd-3)))
6942
6943(define-public ghc-lifted-base
6944 (package
6945 (name "ghc-lifted-base")
6946 (version "0.2.3.12")
6947 (source
6948 (origin
6949 (method url-fetch)
6950 (uri (string-append
6951 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6952 version
6953 ".tar.gz"))
6954 (sha256
6955 (base32
6956 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6957 (build-system haskell-build-system)
6958 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6959 (inputs
6960 `(("ghc-transformers-base" ,ghc-transformers-base)
6961 ("ghc-monad-control" ,ghc-monad-control)
6962 ("ghc-transformers-compat" ,ghc-transformers-compat)
6963 ("ghc-hunit" ,ghc-hunit)))
6964 (home-page "https://github.com/basvandijk/lifted-base")
6965 (synopsis "Lifted IO operations from the base library")
6966 (description "Lifted-base exports IO operations from the @code{base}
6967library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6968Note that not all modules from @code{base} are converted yet. The package
6969includes a copy of the @code{monad-peel} test suite written by Anders
6970Kaseorg.")
6971 (license license:bsd-3)))
6972
6973(define-public ghc-linear
6974 (package
6975 (name "ghc-linear")
86526f37 6976 (version "1.20.9")
dddbc90c
RV
6977 (source
6978 (origin
6979 (method url-fetch)
6980 (uri (string-append "https://hackage.haskell.org/package/linear/"
6981 "linear-" version ".tar.gz"))
6982 (sha256
6983 (base32
86526f37 6984 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6985 (build-system haskell-build-system)
6986 (inputs
6987 `(("ghc-adjunctions" ,ghc-adjunctions)
6988 ("ghc-base-orphans" ,ghc-base-orphans)
6989 ("ghc-bytes" ,ghc-bytes)
6990 ("ghc-cereal" ,ghc-cereal)
6991 ("ghc-distributive" ,ghc-distributive)
6992 ("ghc-hashable" ,ghc-hashable)
6993 ("ghc-lens" ,ghc-lens)
6994 ("ghc-reflection" ,ghc-reflection)
6995 ("ghc-semigroups" ,ghc-semigroups)
6996 ("ghc-semigroupoids" ,ghc-semigroupoids)
6997 ("ghc-tagged" ,ghc-tagged)
6998 ("ghc-transformers-compat" ,ghc-transformers-compat)
6999 ("ghc-unordered-containers" ,ghc-unordered-containers)
7000 ("ghc-vector" ,ghc-vector)
7001 ("ghc-void" ,ghc-void)))
7002 (native-inputs
7003 `(("cabal-doctest" ,cabal-doctest)
7004 ("ghc-doctest" ,ghc-doctest)
7005 ("ghc-simple-reflect" ,ghc-simple-reflect)
7006 ("ghc-test-framework" ,ghc-test-framework)
7007 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7008 ("ghc-hunit" ,ghc-hunit)))
702a1012 7009 (home-page "https://github.com/ekmett/linear/")
dddbc90c
RV
7010 (synopsis "Linear algebra library for Haskell")
7011 (description
7012 "This package provides types and combinators for linear algebra on free
7013vector spaces.")
7014 (license license:bsd-3)))
1307e4c7
JS
7015
7016(define-public ghc-listlike
7017 (package
7018 (name "ghc-listlike")
7019 (version "4.6.2")
7020 (source
7021 (origin
7022 (method url-fetch)
7023 (uri
7024 (string-append
7025 "https://hackage.haskell.org/package/ListLike/ListLike-"
7026 version ".tar.gz"))
7027 (sha256
7028 (base32
7029 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7030 (build-system haskell-build-system)
7031 (inputs
7032 `(("ghc-vector" ,ghc-vector)
7033 ("ghc-dlist" ,ghc-dlist)
7034 ("ghc-fmlist" ,ghc-fmlist)
7035 ("ghc-hunit" ,ghc-hunit)
7036 ("ghc-quickcheck" ,ghc-quickcheck)
7037 ("ghc-random" ,ghc-random)
7038 ("ghc-utf8-string" ,ghc-utf8-string)))
7039 (home-page "https://github.com/JohnLato/listlike")
7040 (synopsis "Generic support for list-like structures")
7041 (description "The ListLike module provides a common interface to the
7042various Haskell types that are list-like. Predefined interfaces include
7043standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7044Custom types can easily be made ListLike instances as well.
7045
7046ListLike also provides for String-like types, such as String and
7047ByteString, for types that support input and output, and for types that
7048can handle infinite lists.")
7049 (license license:bsd-3)))
dddbc90c 7050
84436be0
J
7051(define-public ghc-llvm-hs-pure
7052 (package
7053 (name "ghc-llvm-hs-pure")
7054 (version "9.0.0")
7055 (source
7056 (origin
7057 (method url-fetch)
7058 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7059 "llvm-hs-pure-" version ".tar.gz"))
7060 (sha256
7061 (base32
7062 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7063 (build-system haskell-build-system)
7064 (inputs
7065 `(("ghc-attoparsec" ,ghc-attoparsec)
7066 ("ghc-fail" ,ghc-fail)
7067 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7068 (native-inputs
7069 `(("ghc-tasty" ,ghc-tasty)
7070 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7071 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7072 (home-page "https://github.com/llvm-hs/llvm-hs/")
7073 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7074 (description "llvm-hs-pure is a set of pure Haskell types and functions
7075for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7076LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7077llvm-hs-pure does not require LLVM to be available.")
7078 (license license:bsd-3)))
7079
e3ee8023
J
7080(define-public ghc-llvm-hs
7081 (package
7082 (name "ghc-llvm-hs")
7083 (version "9.0.1")
7084 (source
7085 (origin
7086 (method url-fetch)
7087 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7088 version ".tar.gz"))
7089 (sha256
7090 (base32
7091 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7092 (build-system haskell-build-system)
7093 (inputs
7094 `(("ghc-attoparsec" ,ghc-attoparsec)
7095 ("ghc-exceptions" ,ghc-exceptions)
7096 ("ghc-utf8-string" ,ghc-utf8-string)
7097 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7098 ("llvm" ,llvm-9)))
7099 (native-inputs
7100 `(("ghc-tasty" ,ghc-tasty)
7101 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7102 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7103 ("ghc-quickcheck" ,ghc-quickcheck)
7104 ("ghc-temporary" ,ghc-temporary)
7105 ("ghc-pretty-show" ,ghc-pretty-show)
7106 ("ghc-temporary" ,ghc-temporary)))
7107 (home-page "https://github.com/llvm-hs/llvm-hs/")
7108 (synopsis "General purpose LLVM bindings for Haskell")
7109 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7110current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7111IR, and so offers two advantages: it handles almost all of the stateful
7112complexities of using the LLVM API to build IR; and it supports moving IR not
7113only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7114into Haskell.")
7115 (license license:bsd-3)))
7116
dddbc90c
RV
7117(define-public ghc-logging-facade
7118 (package
7119 (name "ghc-logging-facade")
7120 (version "0.3.0")
7121 (source (origin
7122 (method url-fetch)
7123 (uri (string-append "https://hackage.haskell.org/package/"
7124 "logging-facade/logging-facade-"
7125 version ".tar.gz"))
7126 (sha256
7127 (base32
7128 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7129 (build-system haskell-build-system)
7130 (native-inputs
7131 `(("ghc-hspec" ,ghc-hspec)
7132 ("hspec-discover" ,hspec-discover)))
7133 (home-page "https://hackage.haskell.org/package/logging-facade")
7134 (synopsis "Simple logging abstraction that allows multiple back-ends")
7135 (description
7136 "This package provides a simple logging abstraction that allows multiple
7137back-ends.")
7138 (license license:expat)))
7139
7140(define-public ghc-logict
7141 (package
7142 (name "ghc-logict")
79d9326f 7143 (version "0.7.0.2")
dddbc90c
RV
7144 (source
7145 (origin
7146 (method url-fetch)
7147 (uri (string-append
7148 "https://hackage.haskell.org/package/logict/logict-"
7149 version
7150 ".tar.gz"))
7151 (sha256
7152 (base32
79d9326f 7153 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7154 (build-system haskell-build-system)
79d9326f
TS
7155 (native-inputs
7156 `(("ghc-tasty" ,ghc-tasty)
7157 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7158 (home-page "http://code.haskell.org/~dolio/")
7159 (synopsis "Backtracking logic-programming monad")
7160 (description "This library provides a continuation-based, backtracking,
7161logic programming monad. An adaptation of the two-continuation implementation
7162found in the paper \"Backtracking, Interleaving, and Terminating Monad
7163Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7164online}.")
7165 (license license:bsd-3)))
7166
7167(define-public ghc-lzma
7168 (package
7169 (name "ghc-lzma")
7170 (version "0.0.0.3")
7171 (source
7172 (origin
7173 (method url-fetch)
7174 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7175 "lzma-" version ".tar.gz"))
7176 (sha256
7177 (base32
7178 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7179 (build-system haskell-build-system)
7180 (arguments
7181 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7182 #:cabal-revision
7183 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7184 (native-inputs
7185 `(("ghc-hunit" ,ghc-hunit)
7186 ("ghc-quickcheck" ,ghc-quickcheck)
7187 ("ghc-tasty" ,ghc-tasty)
7188 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7189 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7190 (home-page "https://github.com/hvr/lzma")
7191 (synopsis "LZMA/XZ compression and decompression")
7192 (description
7193 "This package provides a pure interface for compressing and
7194decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7195monadic incremental interface is provided as well.")
7196 (license license:bsd-3)))
7197
7198(define-public ghc-lzma-conduit
7199 (package
7200 (name "ghc-lzma-conduit")
7201 (version "1.2.1")
7202 (source
7203 (origin
7204 (method url-fetch)
7205 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7206 "lzma-conduit-" version ".tar.gz"))
7207 (sha256
7208 (base32
7209 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7210 (build-system haskell-build-system)
7211 (inputs
7212 `(("ghc-conduit" ,ghc-conduit)
7213 ("ghc-lzma" ,ghc-lzma)
7214 ("ghc-resourcet" ,ghc-resourcet)))
7215 (native-inputs
7216 `(("ghc-base-compat" ,ghc-base-compat)
7217 ("ghc-test-framework" ,ghc-test-framework)
7218 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7219 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7220 ("ghc-hunit" ,ghc-hunit)
7221 ("ghc-quickcheck" ,ghc-quickcheck)))
7222 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7223 (synopsis "Conduit interface for lzma/xz compression")
7224 (description
7225 "This package provides a @code{Conduit} interface for the LZMA
7226compression algorithm used in the @code{.xz} file format.")
7227 (license license:bsd-3)))
7228
e405912c
KM
7229(define-public ghc-magic
7230 (package
7231 (name "ghc-magic")
7232 (version "1.1")
7233 (source
7234 (origin
7235 (method url-fetch)
7236 (uri (string-append
7237 "https://hackage.haskell.org/package/magic/magic-"
7238 version ".tar.gz"))
7239 (sha256
7240 (base32
7241 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7242 (build-system haskell-build-system)
3ef91e15 7243 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7244 (synopsis "Interface to C file/magic library")
7245 (description
7246 "This package provides a full-featured binding to the C libmagic library.
7247With it, you can determine the type of a file by examining its contents rather
7248than its name.")
7249 (license license:bsd-3)))
7250
bcfe9dba
JS
7251(define-public ghc-managed
7252 (package
7253 (name "ghc-managed")
7254 (version "1.0.6")
7255 (source
7256 (origin
7257 (method url-fetch)
7258 (uri (string-append
7259 "mirror://hackage/package/managed/managed-"
7260 version
7261 ".tar.gz"))
7262 (sha256
7263 (base32
7264 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7265 (build-system haskell-build-system)
7266 (home-page "http://hackage.haskell.org/package/managed")
7267 (synopsis "Monad for managed values")
7268 (description
7269 "In Haskell you very often acquire values using the with... idiom using
7270functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7271special case of the ContT monad (from transformers) or the Codensity
7272monad (from kan-extensions). The main purpose behind this package is to
7273provide a restricted form of these monads specialized to this unusually common
7274case.
7275
7276The reason this package defines a specialized version of these types
7277is to:
7278
7279@itemize
7280@item be more beginner-friendly,
7281@item simplify inferred types and error messages, and:
7282@item provide some additional type class instances that would otherwise be
7283orphan instances
7284@end itemize")
7285 (license license:bsd-3)))
7286
dddbc90c
RV
7287(define-public ghc-markdown-unlit
7288 (package
7289 (name "ghc-markdown-unlit")
7290 (version "0.5.0")
7291 (source (origin
7292 (method url-fetch)
7293 (uri (string-append
7294 "mirror://hackage/package/markdown-unlit/"
7295 "markdown-unlit-" version ".tar.gz"))
7296 (sha256
7297 (base32
7298 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7299 (build-system haskell-build-system)
7300 (inputs
7301 `(("ghc-base-compat" ,ghc-base-compat)
7302 ("ghc-hspec" ,ghc-hspec)
7303 ("ghc-quickcheck" ,ghc-quickcheck)
7304 ("ghc-silently" ,ghc-silently)
7305 ("ghc-stringbuilder" ,ghc-stringbuilder)
7306 ("ghc-temporary" ,ghc-temporary)
7307 ("hspec-discover" ,hspec-discover)))
7308 (home-page "https://github.com/sol/markdown-unlit#readme")
7309 (synopsis "Literate Haskell support for Markdown")
7310 (description "This package allows you to have a README.md that at the
7311same time is a literate Haskell program.")
7312 (license license:expat)))
7313
7314(define-public ghc-math-functions
7315 (package
7316 (name "ghc-math-functions")
b45de2bf 7317 (version "0.3.3.0")
dddbc90c
RV
7318 (source
7319 (origin
7320 (method url-fetch)
7321 (uri (string-append "https://hackage.haskell.org/package/"
7322 "math-functions-" version "/"
7323 "math-functions-" version ".tar.gz"))
7324 (sha256
7325 (base32
b45de2bf 7326 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7327 (build-system haskell-build-system)
7328 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7329 (inputs
b45de2bf
TS
7330 `(("ghc-data-default-class" ,ghc-data-default-class)
7331 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7332 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7333 (native-inputs
7334 `(("ghc-hunit" ,ghc-hunit)
7335 ("ghc-quickcheck" ,ghc-quickcheck)
7336 ("ghc-erf" ,ghc-erf)
7337 ("ghc-test-framework" ,ghc-test-framework)
7338 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7339 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7340 (home-page "https://github.com/bos/math-functions")
7341 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7342 (description "This Haskell library provides implementations of
7343special mathematical functions and Chebyshev polynomials. These
7344functions are often useful in statistical and numerical computing.")
7345 (license license:bsd-3)))
7346
7347(define-public ghc-megaparsec
7348 (package
7349 (name "ghc-megaparsec")
03b0c92e 7350 (version "7.0.5")
dddbc90c
RV
7351 (source
7352 (origin
7353 (method url-fetch)
7354 (uri (string-append "https://hackage.haskell.org/package/"
7355 "megaparsec/megaparsec-"
7356 version ".tar.gz"))
7357 (sha256
7358 (base32
03b0c92e 7359 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7360 (build-system haskell-build-system)
dddbc90c
RV
7361 (inputs
7362 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7363 ("ghc-parser-combinators" ,ghc-parser-combinators)
7364 ("ghc-scientific" ,ghc-scientific)))
7365 (native-inputs
7366 `(("ghc-quickcheck" ,ghc-quickcheck)
7367 ("ghc-hspec" ,ghc-hspec)
7368 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7369 ("hspec-discover" ,hspec-discover)))
7370 (home-page "https://github.com/mrkkrp/megaparsec")
7371 (synopsis "Monadic parser combinators")
7372 (description
7373 "This is an industrial-strength monadic parser combinator library.
7374Megaparsec is a feature-rich package that strikes a nice balance between
7375speed, flexibility, and quality of parse errors.")
7376 (license license:bsd-2)))
7377
7378(define-public ghc-memory
7379 (package
7380 (name "ghc-memory")
d2c7d336 7381 (version "0.14.18")
dddbc90c
RV
7382 (source (origin
7383 (method url-fetch)
7384 (uri (string-append "https://hackage.haskell.org/package/"
7385 "memory/memory-" version ".tar.gz"))
7386 (sha256
7387 (base32
d2c7d336 7388 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7389 (build-system haskell-build-system)
7390 (inputs
7391 `(("ghc-basement" ,ghc-basement)
7392 ("ghc-foundation" ,ghc-foundation)))
7393 (native-inputs
7394 `(("ghc-tasty" ,ghc-tasty)
7395 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7396 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7397 (home-page "https://github.com/vincenthz/hs-memory")
7398 (synopsis "Memory abstractions for Haskell")
7399 (description
7400 "This package provides memory abstractions, such as chunk of memory,
7401polymorphic byte array management and manipulation functions. It contains a
7402polymorphic byte array abstraction and functions similar to strict ByteString,
7403different type of byte array abstraction, raw memory IO operations (memory
7404set, memory copy, ..) and more")
7405 (license license:bsd-3)))
7406
7407(define-public ghc-memotrie
7408 (package
7409 (name "ghc-memotrie")
7410 (version "0.6.9")
7411 (source
7412 (origin
7413 (method url-fetch)
7414 (uri (string-append
7415 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7416 version
7417 ".tar.gz"))
7418 (sha256
7419 (base32
7420 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7421 (build-system haskell-build-system)
7422 (inputs
7423 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7424 (home-page "https://github.com/conal/MemoTrie")
7425 (synopsis "Trie-based memo functions")
7426 (description "This package provides a functional library for creating
7427efficient memo functions using tries.")
7428 (license license:bsd-3)))
7429
7430(define-public ghc-microlens
7431 (package
7432 (name "ghc-microlens")
82478c58 7433 (version "0.4.10")
dddbc90c
RV
7434 (source
7435 (origin
7436 (method url-fetch)
7437 (uri (string-append "https://hackage.haskell.org/package/"
7438 "microlens-" version "/"
7439 "microlens-" version ".tar.gz"))
7440 (sha256
7441 (base32
82478c58 7442 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7443 (build-system haskell-build-system)
7444 (home-page
7445 "https://github.com/aelve/microlens")
7446 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7447 (description "This Haskell package provides a lens library, just like
7448@code{ghc-lens}, but smaller. It provides essential lenses and
7449traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7450nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7451combinators (like @code{failing} and @code{singular}), but everything else is
7452stripped. As the result, this package has no dependencies.")
7453 (license license:bsd-3)))
7454
1cd3333e
TS
7455(define-public ghc-microlens-aeson
7456 (package
7457 (name "ghc-microlens-aeson")
7458 (version "2.3.0.4")
7459 (source
7460 (origin
7461 (method url-fetch)
7462 (uri (string-append "https://hackage.haskell.org/package/"
7463 "microlens-aeson/microlens-aeson-"
7464 version ".tar.gz"))
b4a00fec 7465 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7466 (sha256
7467 (base32
7468 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7469 (build-system haskell-build-system)
7470 (inputs
7471 `(("ghc-aeson" ,ghc-aeson)
7472 ("ghc-attoparsec" ,ghc-attoparsec)
7473 ("ghc-hashable" ,ghc-hashable)
7474 ("ghc-microlens" ,ghc-microlens)
7475 ("ghc-scientific" ,ghc-scientific)
7476 ("ghc-unordered-containers" ,ghc-unordered-containers)
7477 ("ghc-vector" ,ghc-vector)))
7478 (native-inputs
7479 `(("ghc-tasty" ,ghc-tasty)
7480 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7481 (home-page "https://github.com/fosskers/microlens-aeson")
7482 (synopsis "Law-abiding lenses for Aeson, using microlens")
7483 (description "This library provides law-abiding lenses for Aeson, using
7484microlens.")
7485 (license license:expat)))
7486
dddbc90c
RV
7487(define-public ghc-microlens-ghc
7488 (package
7489 (name "ghc-microlens-ghc")
027beb55 7490 (version "0.4.10")
dddbc90c
RV
7491 (source
7492 (origin
7493 (method url-fetch)
7494 (uri (string-append
7495 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7496 version
7497 ".tar.gz"))
7498 (sha256
7499 (base32
027beb55 7500 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7501 (build-system haskell-build-system)
7502 (inputs `(("ghc-microlens" ,ghc-microlens)))
7503 (home-page "https://github.com/monadfix/microlens")
7504 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7505 (description "This library provides everything that @code{microlens}
7506provides plus instances to make @code{each}, @code{at}, and @code{ix}
7507usable with arrays, @code{ByteString}, and containers. This package is
7508a part of the @uref{http://hackage.haskell.org/package/microlens,
7509microlens} family; see the readme
7510@uref{https://github.com/aelve/microlens#readme, on Github}.")
7511 (license license:bsd-3)))
7512
7513(define-public ghc-microlens-mtl
7514 (package
7515 (name "ghc-microlens-mtl")
7516 (version "0.1.11.1")
7517 (source
7518 (origin
7519 (method url-fetch)
7520 (uri (string-append
7521 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7522 version
7523 ".tar.gz"))
7524 (sha256
7525 (base32
7526 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7527 (build-system haskell-build-system)
7528 (inputs
7529 `(("ghc-microlens" ,ghc-microlens)
7530 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7531 (home-page "https://github.com/monadfix/microlens")
7532 (synopsis
7533 "@code{microlens} support for Reader/Writer/State from mtl")
7534 (description
7535 "This package contains functions (like @code{view} or @code{+=}) which
7536work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7537mtl package. This package is a part of the
7538@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7539readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7540 (license license:bsd-3)))
7541
7542(define-public ghc-microlens-platform
7543 (package
7544 (name "ghc-microlens-platform")
85decc1f 7545 (version "0.3.11")
dddbc90c
RV
7546 (source
7547 (origin
7548 (method url-fetch)
7549 (uri (string-append
7550 "https://hackage.haskell.org/package/"
7551 "microlens-platform/microlens-platform-" version ".tar.gz"))
7552 (sha256
7553 (base32
85decc1f 7554 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7555 (build-system haskell-build-system)
7556 (inputs
7557 `(("ghc-hashable" ,ghc-hashable)
7558 ("ghc-microlens" ,ghc-microlens)
7559 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7560 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7561 ("ghc-microlens-th" ,ghc-microlens-th)
7562 ("ghc-unordered-containers" ,ghc-unordered-containers)
7563 ("ghc-vector" ,ghc-vector)))
7564 (home-page "https://github.com/monadfix/microlens")
7565 (synopsis "Feature-complete microlens")
7566 (description
7567 "This package exports a module which is the recommended starting point
7568for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7569you aren't trying to keep your dependencies minimal. By importing
7570@code{Lens.Micro.Platform} you get all functions and instances from
7571@uref{http://hackage.haskell.org/package/microlens, microlens},
7572@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7573@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7574@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7575well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7576minor and major versions of @code{microlens-platform} are incremented whenever
7577the minor and major versions of any other @code{microlens} package are
7578incremented, so you can depend on the exact version of
7579@code{microlens-platform} without specifying the version of @code{microlens}
7580you need. This package is a part of the
7581@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7582readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7583 (license license:bsd-3)))
7584
7585(define-public ghc-microlens-th
7586 (package
7587 (name "ghc-microlens-th")
7ae52867 7588 (version "0.4.2.3")
dddbc90c
RV
7589 (source
7590 (origin
7591 (method url-fetch)
7592 (uri (string-append "https://hackage.haskell.org/package/"
7593 "microlens-th-" version "/"
7594 "microlens-th-" version ".tar.gz"))
7595 (sha256
7596 (base32
7ae52867 7597 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7598 (build-system haskell-build-system)
7ae52867
TS
7599 (arguments
7600 `(#:cabal-revision
7601 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7602 (inputs `(("ghc-microlens" ,ghc-microlens)
7603 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7604 (home-page
7605 "https://github.com/aelve/microlens")
7606 (synopsis "Automatic generation of record lenses for
7607@code{ghc-microlens}")
7608 (description "This Haskell package lets you automatically generate lenses
7609for data types; code was extracted from the lens package, and therefore
7610generated lenses are fully compatible with ones generated by lens (and can be
7611used both from lens and microlens).")
7612 (license license:bsd-3)))
7613
7614(define-public ghc-missingh
7615 (package
7616 (name "ghc-missingh")
641207cb 7617 (version "1.4.1.0")
dddbc90c
RV
7618 (source
7619 (origin
7620 (method url-fetch)
7621 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7622 "MissingH-" version ".tar.gz"))
7623 (sha256
7624 (base32
641207cb 7625 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7626 (build-system haskell-build-system)
7627 ;; Tests require the unmaintained testpack package, which depends on the
7628 ;; outdated QuickCheck version 2.7, which can no longer be built with
7629 ;; recent versions of GHC and Haskell libraries.
7630 (arguments '(#:tests? #f))
7631 (inputs
7632 `(("ghc-network" ,ghc-network)
7633 ("ghc-hunit" ,ghc-hunit)
7634 ("ghc-regex-compat" ,ghc-regex-compat)
7635 ("ghc-hslogger" ,ghc-hslogger)
7636 ("ghc-random" ,ghc-random)
7637 ("ghc-old-time" ,ghc-old-time)
7638 ("ghc-old-locale" ,ghc-old-locale)))
7639 (native-inputs
7640 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7641 ("ghc-quickcheck" ,ghc-quickcheck)
7642 ("ghc-hunit" ,ghc-hunit)))
f1841ccf
TGR
7643 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
7644 (home-page "https://github.com/haskell-hvr/missingh")
dddbc90c
RV
7645 (synopsis "Large utility library")
7646 (description
7647 "MissingH is a library of all sorts of utility functions for Haskell
7648programmers. It is written in pure Haskell and thus should be extremely
7649portable and easy to use.")
7650 (license license:bsd-3)))
7651
7652(define-public ghc-mmap
7653 (package
7654 (name "ghc-mmap")
7655 (version "0.5.9")
7656 (source (origin
7657 (method url-fetch)
7658 (uri (string-append "https://hackage.haskell.org/package/"
7659 "mmap/mmap-" version ".tar.gz"))
7660 (sha256
7661 (base32
7662 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7663 (build-system haskell-build-system)
7664 (home-page "https://hackage.haskell.org/package/mmap")
7665 (synopsis "Memory mapped files for Haskell")
7666 (description
7667 "This library provides a wrapper to @code{mmap}, allowing files or
7668devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7669@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7670do on-demand loading.")
7671 (license license:bsd-3)))
7672
7673(define-public ghc-mmorph
7674 (package
7675 (name "ghc-mmorph")
e0389704 7676 (version "1.1.3")
dddbc90c
RV
7677 (source
7678 (origin
7679 (method url-fetch)
7680 (uri (string-append
7681 "https://hackage.haskell.org/package/mmorph/mmorph-"
7682 version
7683 ".tar.gz"))
7684 (sha256
7685 (base32
e0389704 7686 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7687 (build-system haskell-build-system)
7688 (inputs
7689 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7690 (home-page "https://hackage.haskell.org/package/mmorph")
7691 (synopsis "Monad morphisms")
7692 (description
7693 "This library provides monad morphism utilities, most commonly used for
7694manipulating monad transformer stacks.")
7695 (license license:bsd-3)))
7696
7697(define-public ghc-mockery
7698 (package
7699 (name "ghc-mockery")
7700 (version "0.3.5")
7701 (source (origin
7702 (method url-fetch)
7703 (uri (string-append "https://hackage.haskell.org/package/"
7704 "mockery/mockery-" version ".tar.gz"))
7705 (sha256
7706 (base32
7707 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7708 (build-system haskell-build-system)
7709 (inputs
7710 `(("ghc-temporary" ,ghc-temporary)
7711 ("ghc-logging-facade" ,ghc-logging-facade)
7712 ("ghc-base-compat" ,ghc-base-compat)))
7713 (native-inputs
7714 `(("ghc-hspec" ,ghc-hspec)
7715 ("hspec-discover" ,hspec-discover)))
7716 (home-page "https://hackage.haskell.org/package/mockery")
7717 (synopsis "Support functions for automated testing")
7718 (description
7719 "The mockery package provides support functions for automated testing.")
7720 (license license:expat)))
7721
7722(define-public ghc-monad-control
7723 (package
7724 (name "ghc-monad-control")
7725 (version "1.0.2.3")
7726 (source
7727 (origin
7728 (method url-fetch)
7729 (uri (string-append
7730 "https://hackage.haskell.org/package/monad-control"
7731 "/monad-control-" version ".tar.gz"))
7732 (sha256
7733 (base32
7734 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7735 (build-system haskell-build-system)
7736 (inputs
7737 `(("ghc-transformers-base" ,ghc-transformers-base)
7738 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7739 (home-page "https://github.com/basvandijk/monad-control")
7740 (synopsis "Monad transformers to lift control operations like exception
7741catching")
7742 (description "This package defines the type class @code{MonadBaseControl},
7743a subset of @code{MonadBase} into which generic control operations such as
7744@code{catch} can be lifted from @code{IO} or any other base monad.")
7745 (license license:bsd-3)))
7746
7747(define-public ghc-monad-logger
7748 (package
7749 (name "ghc-monad-logger")
26980aae 7750 (version "0.3.30")
dddbc90c
RV
7751 (source
7752 (origin
7753 (method url-fetch)
7754 (uri (string-append "https://hackage.haskell.org/package/"
7755 "monad-logger-" version "/"
7756 "monad-logger-" version ".tar.gz"))
7757 (sha256
7758 (base32
26980aae 7759 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7760 (build-system haskell-build-system)
7761 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7762 ("ghc-stm-chans" ,ghc-stm-chans)
7763 ("ghc-lifted-base" ,ghc-lifted-base)
7764 ("ghc-resourcet" ,ghc-resourcet)
7765 ("ghc-conduit" ,ghc-conduit)
7766 ("ghc-conduit-extra" ,ghc-conduit-extra)
7767 ("ghc-fast-logger" ,ghc-fast-logger)
7768 ("ghc-transformers-base" ,ghc-transformers-base)
7769 ("ghc-monad-control" ,ghc-monad-control)
7770 ("ghc-monad-loops" ,ghc-monad-loops)
7771 ("ghc-blaze-builder" ,ghc-blaze-builder)
7772 ("ghc-exceptions" ,ghc-exceptions)))
7773 (home-page "https://github.com/kazu-yamamoto/logger")
7774 (synopsis "Provides a class of monads which can log messages for Haskell")
7775 (description "This Haskell package uses a monad transformer approach
7776for logging.
7777
7778This package provides Template Haskell functions for determining source
7779code locations of messages.")
7780 (license license:expat)))
7781
7782(define-public ghc-monad-loops
7783 (package
7784 (name "ghc-monad-loops")
7785 (version "0.4.3")
7786 (source
7787 (origin
7788 (method url-fetch)
7789 (uri (string-append "https://hackage.haskell.org/package/"
7790 "monad-loops-" version "/"
7791 "monad-loops-" version ".tar.gz"))
7792 (sha256
7793 (base32
7794 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7795 (build-system haskell-build-system)
7796 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7797 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7798 (home-page "https://github.com/mokus0/monad-loops")
7799 (synopsis "Monadic loops for Haskell")
7800 (description "This Haskell package provides some useful control
7801operators for looping.")
7802 (license license:public-domain)))
7803
7804(define-public ghc-monad-par
7805 (package
7806 (name "ghc-monad-par")
7807 (version "0.3.4.8")
7808 (source
7809 (origin
7810 (method url-fetch)
7811 (uri (string-append "https://hackage.haskell.org/package/"
7812 "monad-par-" version "/"
7813 "monad-par-" version ".tar.gz"))
faac56f3 7814 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7815 (sha256
7816 (base32
7817 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7818 (build-system haskell-build-system)
7819 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7820 ("ghc-abstract-deque" ,ghc-abstract-deque)
7821 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7822 ("ghc-mwc-random" ,ghc-mwc-random)
7823 ("ghc-parallel" ,ghc-parallel)))
7824 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7825 ("ghc-hunit" ,ghc-hunit)
7826 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7827 ("ghc-test-framework-quickcheck2"
7828 ,ghc-test-framework-quickcheck2)
7829 ("ghc-test-framework" ,ghc-test-framework)
7830 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7831 (home-page "https://github.com/simonmar/monad-par")
7832 (synopsis "Haskell library for parallel programming based on a monad")
7833 (description "The @code{Par} monad offers an API for parallel
7834programming. The library works for parallelising both pure and @code{IO}
7835computations, although only the pure version is deterministic. The default
7836implementation provides a work-stealing scheduler and supports forking tasks
7837that are much lighter weight than IO-threads.")
7838 (license license:bsd-3)))
7839
7840(define-public ghc-monad-par-extras
7841 (package
7842 (name "ghc-monad-par-extras")
7843 (version "0.3.3")
7844 (source
7845 (origin
7846 (method url-fetch)
7847 (uri (string-append "https://hackage.haskell.org/package/"
7848 "monad-par-extras-" version "/"
7849 "monad-par-extras-" version ".tar.gz"))
7850 (sha256
7851 (base32
7852 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7853 (build-system haskell-build-system)
7854 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7855 ("ghc-cereal" ,ghc-cereal)
7856 ("ghc-random" ,ghc-random)))
7857 (home-page "https://github.com/simonmar/monad-par")
7858 (synopsis "Combinators and extra features for Par monads for Haskell")
7859 (description "This Haskell package provides additional data structures,
7860and other added capabilities layered on top of the @code{Par} monad.")
7861 (license license:bsd-3)))
7862
dddbc90c
RV
7863(define-public ghc-monadrandom
7864 (package
7865 (name "ghc-monadrandom")
7866 (version "0.5.1.1")
7867 (source
7868 (origin
7869 (method url-fetch)
7870 (uri (string-append "https://hackage.haskell.org/package/"
7871 "MonadRandom-" version "/"
7872 "MonadRandom-" version ".tar.gz"))
7873 (sha256
7874 (base32
7875 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7876 (build-system haskell-build-system)
7877 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7878 ("ghc-primitive" ,ghc-primitive)
7879 ("ghc-fail" ,ghc-fail)
7880 ("ghc-random" ,ghc-random)))
7881 (home-page "https://github.com/byorgey/MonadRandom")
7882 (synopsis "Random-number generation monad for Haskell")
7883 (description "This Haskell package provides support for computations
7884which consume random values.")
7885 (license license:bsd-3)))
7886
7887(define-public ghc-monads-tf
7888 (package
7889 (name "ghc-monads-tf")
7890 (version "0.1.0.3")
7891 (source
7892 (origin
7893 (method url-fetch)
7894 (uri (string-append
7895 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7896 version ".tar.gz"))
7897 (sha256
7898 (base32
7899 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7900 (build-system haskell-build-system)
7901 (home-page "https://hackage.haskell.org/package/monads-tf")
7902 (synopsis "Monad classes, using type families")
7903 (description
7904 "Monad classes using type families, with instances for various monad transformers,
7905inspired by the paper 'Functional Programming with Overloading and Higher-Order
7906Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7907the @code{mtl-tf} package.")
7908 (license license:bsd-3)))
7909
7910(define-public ghc-mono-traversable
7911 (package
7912 (name "ghc-mono-traversable")
23bb445b 7913 (version "1.0.13.0")
dddbc90c
RV
7914 (source
7915 (origin
7916 (method url-fetch)
7917 (uri (string-append "https://hackage.haskell.org/package/"
7918 "mono-traversable-" version "/"
7919 "mono-traversable-" version ".tar.gz"))
7920 (sha256
7921 (base32
23bb445b 7922 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7923 (build-system haskell-build-system)
7924 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7925 ("ghc-hashable" ,ghc-hashable)
7926 ("ghc-vector" ,ghc-vector)
7927 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7928 ("ghc-split" ,ghc-split)))
7929 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7930 ("ghc-hunit" ,ghc-hunit)
7931 ("ghc-quickcheck" ,ghc-quickcheck)
7932 ("ghc-semigroups" ,ghc-semigroups)
7933 ("ghc-foldl" ,ghc-foldl)))
7934 (home-page "https://github.com/snoyberg/mono-traversable")
7935 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7936containers")
7937 (description "This Haskell package provides Monomorphic variants of the
7938Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7939basic typeclasses, you understand mono-traversable. In addition to what
7940you are used to, it adds on an IsSequence typeclass and has code for marking
7941data structures as non-empty.")
7942 (license license:expat)))
7943
471e77cf
TS
7944(define-public ghc-monoid-extras
7945 (package
7946 (name "ghc-monoid-extras")
7947 (version "0.5.1")
7948 (source
7949 (origin
7950 (method url-fetch)
7951 (uri (string-append "https://hackage.haskell.org/package/"
7952 "monoid-extras/monoid-extras-" version ".tar.gz"))
7953 (sha256
7954 (base32
7955 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7956 (build-system haskell-build-system)
7957 (inputs
7958 `(("ghc-groups" ,ghc-groups)
7959 ("ghc-semigroups" ,ghc-semigroups)
7960 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7961 (arguments
7962 `(#:cabal-revision
7963 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7964 (home-page "https://hackage.haskell.org/package/monoid-extras")
7965 (synopsis "Various extra monoid-related definitions and utilities")
7966 (description "This package provides various extra monoid-related
7967definitions and utilities, such as monoid actions, monoid coproducts,
7968semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7969\"cut\" monoids.")
7970 (license license:bsd-3)))
7971
4759b617
JS
7972(define-public ghc-mtl-compat
7973 (package
7974 (name "ghc-mtl-compat")
7975 (version "0.2.2")
7976 (source
7977 (origin
7978 (method url-fetch)
7979 (uri (string-append
7980 "mirror://hackage/package/mtl-compat/mtl-compat-"
7981 version
7982 ".tar.gz"))
7983 (sha256
7984 (base32
7985 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7986 (build-system haskell-build-system)
7987 (home-page
7988 "https://github.com/haskell-compat/mtl-compat")
7989 (synopsis
7990 "Backported Control.Monad.Except module from mtl")
7991 (description
7992 "This package backports the Control.Monad.Except module from mtl (if
7993using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7994and the MonadError class.
7995
7996This package should only be used if there is a need to use the
7997Control.Monad.Except module specifically. If you just want the mtl class
7998instances for ExceptT, use transformers-compat instead, since mtl-compat does
7999nothing but reexport the instances from that package.
8000
8001Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
8002module defined in this package exports all of ExceptT's monad class instances.
8003Therefore, you may have to declare @code{import Control.Monad.Except ()} at
8004the top of your file to get all of the ExceptT instances in scope.")
8005 (license license:bsd-3)))
8006
dddbc90c
RV
8007(define-public ghc-murmur-hash
8008 (package
8009 (name "ghc-murmur-hash")
8010 (version "0.1.0.9")
8011 (source
8012 (origin
8013 (method url-fetch)
8014 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
8015 "/murmur-hash-" version ".tar.gz"))
8016 (sha256
8017 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8018 (build-system haskell-build-system)
8019 (home-page "https://github.com/nominolo/murmur-hash")
8020 (synopsis "MurmurHash2 implementation for Haskell")
8021 (description
8022 "This package provides an implementation of MurmurHash2, a good, fast,
8023general-purpose, non-cryptographic hashing function. See
8024@url{https://sites.google.com/site/murmurhash/} for details. This
8025implementation is pure Haskell, so it might be a bit slower than a C FFI
8026binding.")
8027 (license license:bsd-3)))
8028
8029(define-public ghc-mwc-random
8030 (package
8031 (name "ghc-mwc-random")
33268e2c 8032 (version "0.14.0.0")
dddbc90c
RV
8033 (source
8034 (origin
8035 (method url-fetch)
8036 (uri (string-append "https://hackage.haskell.org/package/"
8037 "mwc-random-" version "/"
8038 "mwc-random-" version ".tar.gz"))
8039 (sha256
8040 (base32
33268e2c 8041 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8042 (build-system haskell-build-system)
8043 (inputs
8044 `(("ghc-primitive" ,ghc-primitive)
8045 ("ghc-vector" ,ghc-vector)
8046 ("ghc-math-functions" ,ghc-math-functions)))
8047 (arguments
8048 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8049 (native-inputs
8050 `(("ghc-hunit" ,ghc-hunit)
8051 ("ghc-quickcheck" ,ghc-quickcheck)
8052 ("ghc-test-framework" ,ghc-test-framework)
8053 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8054 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8055 (home-page "https://github.com/bos/mwc-random")
8056 (synopsis "Random number generation library for Haskell")
8057 (description "This Haskell package contains code for generating
8058high quality random numbers that follow either a uniform or normal
8059distribution. The generated numbers are suitable for use in
8060statistical applications.
8061
8062The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8063multiply-with-carry generator, which has a period of 2^{8222} and
8064fares well in tests of randomness. It is also extremely fast,
8065between 2 and 3 times faster than the Mersenne Twister.")
8066 (license license:bsd-3)))
8067
8068(define-public ghc-nats
8069 (package
8070 (name "ghc-nats")
8071 (version "1.1.2")
8072 (source
8073 (origin
8074 (method url-fetch)
8075 (uri (string-append
8076 "https://hackage.haskell.org/package/nats/nats-"
8077 version
8078 ".tar.gz"))
8079 (sha256
8080 (base32
8081 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8082 (build-system haskell-build-system)
8083 (arguments `(#:haddock? #f))
8084 (inputs
8085 `(("ghc-hashable" ,ghc-hashable)))
8086 (home-page "https://hackage.haskell.org/package/nats")
8087 (synopsis "Natural numbers")
8088 (description "This library provides the natural numbers for Haskell.")
8089 (license license:bsd-3)))
8090
8091(define-public ghc-nats-bootstrap
8092 (package
8093 (inherit ghc-nats)
8094 (name "ghc-nats-bootstrap")
8095 (inputs
8096 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8097 (properties '((hidden? #t)))))
8098
52915062
EF
8099(define-public ghc-ncurses
8100 (package
8101 (name "ghc-ncurses")
8102 (version "0.2.16")
8103 (source
8104 (origin
8105 (method url-fetch)
8106 (uri (string-append
8107 "https://hackage.haskell.org/package/ncurses/ncurses-"
8108 version ".tar.gz"))
8109 (sha256
8110 (base32
8111 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8112 (build-system haskell-build-system)
8113 (arguments
54a5fd07
TS
8114 '(#:extra-directories ("ncurses")
8115 #:phases
52915062
EF
8116 (modify-phases %standard-phases
8117 (add-before 'build 'fix-includes
8118 (lambda _
8119 (substitute* '("cbits/hsncurses-shim.h"
8120 "lib/UI/NCurses.chs"
8121 "lib/UI/NCurses/Enums.chs"
8122 "lib/UI/NCurses/Panel.chs")
8123 (("<ncursesw/") "<"))
8124 #t)))
8125 #:cabal-revision
8126 ("1"
8127 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8128 (inputs `(("ncurses" ,ncurses)))
8129 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8130 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8131 (synopsis "Modernised bindings to GNU ncurses")
8132 (description "GNU ncurses is a library for creating command-line application
8133with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8134ncurses.")
8135 (license license:gpl3)))
8136
dddbc90c
RV
8137(define-public ghc-network
8138 (package
8139 (name "ghc-network")
d4473202 8140 (version "2.8.0.1")
534d6caa 8141 (outputs '("out" "static" "doc"))
dddbc90c
RV
8142 (source
8143 (origin
8144 (method url-fetch)
8145 (uri (string-append
8146 "https://hackage.haskell.org/package/network/network-"
8147 version
8148 ".tar.gz"))
8149 (sha256
8150 (base32
d4473202 8151 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8152 (build-system haskell-build-system)
8153 ;; The regression tests depend on an unpublished module.
8154 (arguments `(#:tests? #f))
8155 (native-inputs
8156 `(("ghc-hunit" ,ghc-hunit)
8157 ("ghc-doctest" ,ghc-doctest)
8158 ("ghc-test-framework" ,ghc-test-framework)
8159 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8160 (home-page "https://github.com/haskell/network")
8161 (synopsis "Low-level networking interface")
8162 (description
8163 "This package provides a low-level networking interface.")
8164 (license license:bsd-3)))
4780db2c 8165
30eebbe6
TS
8166(define-public ghc-network-bsd
8167 (package
8168 (name "ghc-network-bsd")
8169 (version "2.8.0.0")
8170 (source
8171 (origin
8172 (method url-fetch)
8173 (uri (string-append "https://hackage.haskell.org/package/"
8174 "network-bsd/network-bsd-" version ".tar.gz"))
8175 (sha256
8176 (base32
8177 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8178 (build-system haskell-build-system)
8179 (inputs
8180 `(("ghc-network" ,ghc-network)))
8181 (home-page "https://github.com/haskell/network-bsd")
8182 (synopsis "POSIX network database (<netdb.h>) API")
8183 (description "This package provides Haskell bindings to the the POSIX
8184network database (<netdb.h>) API.")
8185 (license license:bsd-3)))
8186
096781a1
TS
8187(define-public ghc-network-byte-order
8188 (package
8189 (name "ghc-network-byte-order")
8190 (version "0.1.1.1")
8191 (source
8192 (origin
8193 (method url-fetch)
8194 (uri (string-append "https://hackage.haskell.org/package/"
8195 "network-byte-order/network-byte-order-"
8196 version ".tar.gz"))
8197 (sha256
8198 (base32
8199 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8200 (build-system haskell-build-system)
8201 (native-inputs
8202 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8203 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8204 (synopsis "Network byte order utilities")
8205 (description "This library provides peek and poke functions for network
8206byte order.")
8207 (license license:bsd-3)))
8208
dddbc90c
RV
8209(define-public ghc-network-info
8210 (package
8211 (name "ghc-network-info")
8212 (version "0.2.0.10")
8213 (source
8214 (origin
8215 (method url-fetch)
8216 (uri (string-append "https://hackage.haskell.org/package/"
8217 "network-info-" version "/"
8218 "network-info-" version ".tar.gz"))
8219 (sha256
8220 (base32
8221 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8222 (build-system haskell-build-system)
8223 (home-page "https://github.com/jystic/network-info")
8224 (synopsis "Access the local computer's basic network configuration")
8225 (description "This Haskell library provides simple read-only access to the
8226local computer's networking configuration. It is currently capable of
8227getting a list of all the network interfaces and their respective
8228IPv4, IPv6 and MAC addresses.")
8229 (license license:bsd-3)))
8230
8231(define-public ghc-network-uri
8232 (package
8233 (name "ghc-network-uri")
8234 (version "2.6.1.0")
534d6caa 8235 (outputs '("out" "static" "doc"))
dddbc90c
RV
8236 (source
8237 (origin
8238 (method url-fetch)
8239 (uri (string-append
8240 "https://hackage.haskell.org/package/network-uri/network-uri-"
8241 version
8242 ".tar.gz"))
8243 (sha256
8244 (base32
8245 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8246 (build-system haskell-build-system)
8247 (arguments
8248 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8249 (inputs
8250 `(("ghc-network" ,ghc-network)))
8251 (native-inputs
8252 `(("ghc-hunit" ,ghc-hunit)))
8253 (home-page
8254 "https://github.com/haskell/network-uri")
8255 (synopsis "Library for URI manipulation")
8256 (description "This package provides an URI manipulation interface. In
8257@code{network-2.6} the @code{Network.URI} module was split off from the
8258@code{network} package into this package.")
8259 (license license:bsd-3)))
8260
8261(define-public ghc-newtype-generics
8262 (package
8263 (name "ghc-newtype-generics")
c07e16dd 8264 (version "0.5.4")
dddbc90c
RV
8265 (source
8266 (origin
8267 (method url-fetch)
8268 (uri (string-append "https://hackage.haskell.org/package/"
8269 "newtype-generics/newtype-generics-"
8270 version ".tar.gz"))
8271 (sha256
8272 (base32
c07e16dd 8273 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8274 (build-system haskell-build-system)
8275 (native-inputs
8276 `(("ghc-hspec" ,ghc-hspec)
8277 ("hspec-discover" ,hspec-discover)))
702a1012 8278 (home-page "https://github.com/sjakobi/newtype-generics")
dddbc90c
RV
8279 (synopsis "Typeclass and set of functions for working with newtypes")
8280 (description "The @code{Newtype} typeclass represents the packing and
8281unpacking of a newtype, and allows you to operate under that newtype with
8282functions such as @code{ala}. Generics support was added in version 0.4,
8283making this package a full replacement for the original newtype package,
8284and an alternative to newtype-th.")
8285 (license license:bsd-3)))
8286
6b652f5a
JS
8287(define-public ghc-non-negative
8288 (package
8289 (name "ghc-non-negative")
8290 (version "0.1.2")
8291 (source
8292 (origin
8293 (method url-fetch)
8294 (uri
8295 (string-append
8296 "https://hackage.haskell.org/package/non-negative/non-negative-"
8297 version ".tar.gz"))
8298 (sha256
8299 (base32
8300 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8301 (build-system haskell-build-system)
8302 (inputs
8303 `(("ghc-semigroups" ,ghc-semigroups)
8304 ("ghc-utility-ht" ,ghc-utility-ht)
8305 ("ghc-quickcheck" ,ghc-quickcheck)))
8306 (home-page "https://hackage.haskell.org/package/non-negative")
8307 (synopsis "Non-negative numbers class")
8308 (description "This library provides a class for non-negative numbers,
8309a wrapper which can turn any ordered numeric type into a member of that
8310class, and a lazy number type for non-negative numbers (a generalization
8311of Peano numbers).")
8312 (license license:gpl3+)))
8313
49bcca84
ASM
8314(define-public ghc-nonce
8315 (package
8316 (name "ghc-nonce")
8317 (version "1.0.7")
8318 (source
8319 (origin
8320 (method url-fetch)
8321 (uri (string-append
8322 "https://hackage.haskell.org/package/nonce/"
8323 "nonce-" version ".tar.gz"))
8324 (sha256
8325 (base32
8326 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8327 (build-system haskell-build-system)
8328 (inputs
8329 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8330 ("ghc-entropy" ,ghc-entropy)
8331 ("ghc-unliftio" ,ghc-unliftio)
8332 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8333 (home-page "https://github.com/prowdsponsor/nonce")
8334 (synopsis "Generate cryptographic nonces in Haskell")
8335 (description
8336 "A nonce is an arbitrary number used only once in a cryptographic
8337communication. This package contain helper functions for generating nonces.
8338There are many kinds of nonces used in different situations. It's not
8339guaranteed that by using the nonces from this package you won't have any
8340security issues. Please make sure that the nonces generated via this
8341package are usable on your design.")
8342 (license license:bsd-3)))
8343
194a82e6
TS
8344(define-public ghc-numeric-extras
8345 (package
8346 (name "ghc-numeric-extras")
8347 (version "0.1")
8348 (source
8349 (origin
8350 (method url-fetch)
8351 (uri (string-append "https://hackage.haskell.org/package/"
8352 "numeric-extras/numeric-extras-"
8353 version ".tar.gz"))
8354 (sha256
8355 (base32
8356 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8357 (build-system haskell-build-system)
8358 (home-page "https://github.com/ekmett/numeric-extras")
8359 (synopsis "Useful tools from the C standard library")
8360 (description "This library provides some useful tools from the C
8361standard library.")
8362 (license license:bsd-3)))
8363
dddbc90c
RV
8364(define-public ghc-objectname
8365 (package
8366 (name "ghc-objectname")
8367 (version "1.1.0.1")
8368 (source
8369 (origin
8370 (method url-fetch)
8371 (uri (string-append
8372 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8373 version
8374 ".tar.gz"))
8375 (sha256
8376 (base32
8377 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8378 (build-system haskell-build-system)
8379 (home-page "https://hackage.haskell.org/package/ObjectName")
8380 (synopsis "Helper library for Haskell OpenGL")
8381 (description "This tiny package contains the class ObjectName, which
8382corresponds to the general notion of explicitly handled identifiers for API
8383objects, e.g. a texture object name in OpenGL or a buffer object name in
8384OpenAL.")
8385 (license license:bsd-3)))
8386
8387(define-public ghc-old-locale
8388 (package
8389 (name "ghc-old-locale")
8390 (version "1.0.0.7")
8391 (source
8392 (origin
8393 (method url-fetch)
8394 (uri (string-append
8395 "https://hackage.haskell.org/package/old-locale/old-locale-"
8396 version
8397 ".tar.gz"))
8398 (sha256
8399 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8400 (build-system haskell-build-system)
8401 (arguments
8402 `(#:cabal-revision
8403 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8404 (home-page "https://hackage.haskell.org/package/old-locale")
8405 (synopsis "Adapt to locale conventions")
8406 (description
8407 "This package provides the ability to adapt to locale conventions such as
8408date and time formats.")
8409 (license license:bsd-3)))
8410
8411(define-public ghc-old-time
8412 (package
8413 (name "ghc-old-time")
8414 (version "1.1.0.3")
8415 (source
8416 (origin
8417 (method url-fetch)
8418 (uri (string-append
8419 "https://hackage.haskell.org/package/old-time/old-time-"
8420 version
8421 ".tar.gz"))
8422 (sha256
8423 (base32
8424 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8425 (build-system haskell-build-system)
8426 (arguments
8427 `(#:cabal-revision
8428 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8429 (inputs
8430 `(("ghc-old-locale" ,ghc-old-locale)))
8431 (home-page "https://hackage.haskell.org/package/old-time")
8432 (synopsis "Time compatibility library for Haskell")
8433 (description "Old-time is a package for backwards compatibility with the
8434old @code{time} library. For new projects, the newer
8435@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8436 (license license:bsd-3)))
8437
8438(define-public ghc-opengl
8439 (package
8440 (name "ghc-opengl")
79a06910 8441 (version "3.0.3.0")
dddbc90c
RV
8442 (source
8443 (origin
8444 (method url-fetch)
8445 (uri (string-append
8446 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8447 version
8448 ".tar.gz"))
8449 (sha256
8450 (base32
79a06910 8451 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8452 (build-system haskell-build-system)
79a06910
TS
8453 (arguments
8454 `(#:cabal-revision
8455 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8456 (inputs
8457 `(("ghc-objectname" ,ghc-objectname)
8458 ("ghc-gluraw" ,ghc-gluraw)
8459 ("ghc-statevar" ,ghc-statevar)
8460 ("ghc-openglraw" ,ghc-openglraw)))
228d2901 8461 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8462 (synopsis "Haskell bindings for the OpenGL graphics system")
8463 (description "This package provides Haskell bindings for the OpenGL
8464graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8465version 1.3).")
8466 (license license:bsd-3)))
8467
8468(define-public ghc-openglraw
8469 (package
8470 (name "ghc-openglraw")
15ebc815 8471 (version "3.3.3.0")
dddbc90c
RV
8472 (source
8473 (origin
8474 (method url-fetch)
8475 (uri (string-append
8476 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8477 version
8478 ".tar.gz"))
8479 (sha256
8480 (base32
15ebc815 8481 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c 8482 (build-system haskell-build-system)
54a5fd07
TS
8483 (arguments
8484 `(#:extra-directories ("glu")))
dddbc90c
RV
8485 (inputs
8486 `(("ghc-half" ,ghc-half)
8487 ("ghc-fixed" ,ghc-fixed)
8488 ("glu" ,glu)))
228d2901 8489 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8490 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8491 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8492graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8493of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8494offers access to all necessary functions, tokens and types plus a general
8495facility for loading extension entries. The module hierarchy closely mirrors
8496the naming structure of the OpenGL extensions, making it easy to find the
8497right module to import. All API entries are loaded dynamically, so no special
8498C header files are needed for building this package. If an API entry is not
8499found at runtime, a userError is thrown.")
8500 (license license:bsd-3)))
8501
8502(define-public ghc-operational
8503 (package
8504 (name "ghc-operational")
8505 (version "0.2.3.5")
8506 (source
8507 (origin
8508 (method url-fetch)
8509 (uri (string-append "https://hackage.haskell.org/package/operational/"
8510 "operational-" version ".tar.gz"))
8511 (sha256
8512 (base32
8513 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8514 (build-system haskell-build-system)
8515 (inputs
8516 `(("ghc-random" ,ghc-random)))
8517 (home-page "http://wiki.haskell.org/Operational")
8518 (synopsis "Implementation of difficult monads made easy with operational semantics")
8519 (description
8520 "This library makes it easy to implement monads with tricky control
8521flow. This is useful for: writing web applications in a sequential style,
8522programming games with a uniform interface for human and AI players and easy
8523replay capababilities, implementing fast parser monads, designing monadic
8524DSLs, etc.")
8525 (license license:bsd-3)))
8526
6f1477d2
JS
8527(define-public ghc-optional-args
8528 (package
8529 (name "ghc-optional-args")
8530 (version "1.0.2")
8531 (source
8532 (origin
8533 (method url-fetch)
8534 (uri (string-append
8535 "mirror://hackage/package/optional-args/optional-args-"
8536 version
8537 ".tar.gz"))
8538 (sha256
8539 (base32
8540 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8541 (build-system haskell-build-system)
8542 (home-page
8543 "http://hackage.haskell.org/package/optional-args")
8544 (synopsis "Optional function arguments")
8545 (description
8546 "This library provides a type for specifying @code{Optional} function
8547arguments.")
8548 (license license:bsd-3)))
8549
dddbc90c
RV
8550(define-public ghc-options
8551 (package
8552 (name "ghc-options")
8553 (version "1.2.1.1")
8554 (source
8555 (origin
8556 (method url-fetch)
8557 (uri (string-append
8558 "https://hackage.haskell.org/package/options/options-"
8559 version ".tar.gz"))
8560 (sha256
8561 (base32
8562 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8563 (build-system haskell-build-system)
24cf2a8b
TS
8564 (arguments
8565 `(#:phases
8566 (modify-phases %standard-phases
8567 (add-before 'configure 'update-constraints
8568 (lambda _
8569 (substitute* "options.cabal"
8570 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8571 #t)))))
dddbc90c
RV
8572 (inputs
8573 `(("ghc-monads-tf" ,ghc-monads-tf)
8574 ("ghc-chell" ,ghc-chell)
8575 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8576 (home-page "https://john-millikin.com/software/haskell-options/")
8577 (synopsis "Powerful and easy-to-use command-line option parser")
8578 (description
8579 "The @code{options} package lets library and application developers
8580easily work with command-line options.")
8581 (license license:expat)))
8582
8583;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8584(define ghc-options-bootstrap
8585 (package
8586 (name "ghc-options-bootstrap")
8587 (version "1.2.1.1")
8588 (source
8589 (origin
8590 (method url-fetch)
8591 (uri (string-append
8592 "https://hackage.haskell.org/package/options/options-"
8593 version ".tar.gz"))
8594 (sha256
8595 (base32
8596 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8597 (build-system haskell-build-system)
8598 (arguments
8599 `(#:tests? #f))
8600 (inputs
8601 `(("ghc-monads-tf" ,ghc-monads-tf)))
8602 (home-page "https://john-millikin.com/software/haskell-options/")
8603 (synopsis "Powerful and easy-to-use command-line option parser")
8604 (description
8605 "The @code{options} package lets library and application developers
8606easily work with command-line options.")
8607 (license license:expat)))
8608
8609
8610(define-public ghc-optparse-applicative
8611 (package
8612 (name "ghc-optparse-applicative")
74bf6965 8613 (version "0.14.3.0")
dddbc90c
RV
8614 (source
8615 (origin
8616 (method url-fetch)
8617 (uri (string-append
8618 "https://hackage.haskell.org/package/optparse-applicative"
8619 "/optparse-applicative-" version ".tar.gz"))
8620 (sha256
8621 (base32
74bf6965 8622 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8623 (build-system haskell-build-system)
74bf6965
TS
8624 (arguments
8625 `(#:cabal-revision
8626 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8627 (inputs
8628 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8629 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8630 (native-inputs
8631 `(("ghc-quickcheck" ,ghc-quickcheck)))
8632 (home-page "https://github.com/pcapriotti/optparse-applicative")
8633 (synopsis "Utilities and combinators for parsing command line options")
8634 (description "This package provides utilities and combinators for parsing
8635command line options in Haskell.")
8636 (license license:bsd-3)))
8637
d56c8120
NG
8638(define-public ghc-jira-wiki-markup
8639 (package
8640 (name "ghc-jira-wiki-markup")
8641 (version "1.0.0")
8642 (source
8643 (origin
8644 (method url-fetch)
8645 (uri (string-append
8646 "https://hackage.haskell.org/package/jira-wiki-markup/"
8647 "jira-wiki-markup-" version ".tar.gz"))
8648 (sha256
8649 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8650 (build-system haskell-build-system)
8651 (native-inputs
8652 `(("ghc-tasty" ,ghc-tasty)
8653 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8654 (home-page "https://github.com/tarleb/jira-wiki-markup")
8655 (synopsis "Handle Jira wiki markup")
8656 (description
8657 "Parse jira wiki text into an abstract syntax tree for easy transformation
8658to other formats.")
8659 (license license:expat)))
8660
20690771
NG
8661(define-public ghc-emojis
8662 (package
8663 (name "ghc-emojis")
8664 (version "0.1")
8665 (source
8666 (origin
8667 (method url-fetch)
8668 (uri (string-append
8669 "https://hackage.haskell.org/package/emojis/"
8670 "emojis-" version ".tar.gz"))
8671 (sha256
8672 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8673 (build-system haskell-build-system)
8674 (native-inputs
8675 `(("ghc-hunit" ,ghc-hunit)))
8676 (home-page "https://github.com/jgm/emojis#readme")
8677 (synopsis "Conversion between emoji characters and their names.")
8678 (description
8679 "This package provides functions for converting emoji names to emoji
8680characters and vice versa.
8681
8682How does it differ from the @code{emoji} package?
8683@itemize
8684@item It supports a fuller range of emojis, including all those supported by
8685GitHub
8686@item It supports lookup of emoji aliases from emoji
8687@item It uses Text rather than String
8688@item It has a lighter dependency footprint: in particular, it does not
8689require aeson
8690@item It does not require TemplateHaskell
8691@end itemize")
8692 (license license:bsd-3)))
8693
e90a06fc
NG
8694(define-public ghc-text-conversions
8695 (package
8696 (name "ghc-text-conversions")
8697 (version "0.3.0")
8698 (source
8699 (origin
8700 (method url-fetch)
8701 (uri (string-append
8702 "https://hackage.haskell.org/package/text-conversions/"
8703 "text-conversions-" version ".tar.gz"))
8704 (sha256
8705 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8706 (build-system haskell-build-system)
8707 (inputs
8708 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8709 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8710 ("ghc-errors" ,ghc-errors)))
8711 (native-inputs
8712 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8713 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8714 (home-page "https://github.com/cjdev/text-conversions#readme")
8715 (synopsis "Safe conversions between textual types")
8716 (description "Safe conversions between textual types")
8717 (license license:isc)))
8718
ba7cbae3
NG
8719(define-public ghc-doclayout
8720 (package
8721 (name "ghc-doclayout")
8722 (version "0.3")
8723 (source
8724 (origin
8725 (method url-fetch)
8726 (uri (string-append
8727 "https://hackage.haskell.org/package/doclayout/"
8728 "doclayout-" version ".tar.gz"))
8729 (sha256
8730 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8731 (build-system haskell-build-system)
8732 (inputs
8733 `(("ghc-safe" ,ghc-safe)))
8734 (native-inputs
8735 `(("ghc-tasty" ,ghc-tasty)
8736 ("ghc-tasty-golden" ,ghc-tasty-golden)
8737 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8738 (home-page "https://github.com/jgm/doclayout")
8739 (synopsis "Pretty-printing library for laying out text documents")
8740 (description
8741 "doclayout is a pretty-printing library for laying out text documents,
8742with several features not present in pretty-printing libraries designed for
8743code. It was designed for use in @code{Pandoc}.")
8744 (license license:bsd-3)))
8745
dddbc90c
RV
8746(define-public ghc-pandoc
8747 (package
8748 (name "ghc-pandoc")
d9b1567a 8749 (version "2.7.3")
dddbc90c
RV
8750 (source
8751 (origin
8752 (method url-fetch)
8753 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8754 version ".tar.gz"))
d9b1567a
TS
8755 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8756 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8757 (sha256
8758 (base32
d9b1567a 8759 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8760 (build-system haskell-build-system)
dddbc90c
RV
8761 (inputs
8762 `(("ghc-aeson" ,ghc-aeson)
8763 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8764 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8765 ("ghc-blaze-html" ,ghc-blaze-html)
8766 ("ghc-blaze-markup" ,ghc-blaze-markup)
8767 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8768 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8769 ("ghc-diff" ,ghc-diff)
8770 ("ghc-doctemplates" ,ghc-doctemplates)
8771 ("ghc-executable-path" ,ghc-executable-path)
8772 ("ghc-glob" ,ghc-glob)
8773 ("ghc-haddock-library" ,ghc-haddock-library)
8774 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8775 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8776 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8777 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8778 ("ghc-http" ,ghc-http)
8779 ("ghc-http-client" ,ghc-http-client)
8780 ("ghc-http-client-tls" ,ghc-http-client-tls)
8781 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8782 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8783 ("ghc-juicypixels" ,ghc-juicypixels)
8784 ("ghc-network" ,ghc-network)
8785 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8786 ("ghc-pandoc-types" ,ghc-pandoc-types)
8787 ("ghc-random" ,ghc-random)
8788 ("ghc-scientific" ,ghc-scientific)
8789 ("ghc-sha" ,ghc-sha)
8790 ("ghc-skylighting" ,ghc-skylighting)
8791 ("ghc-split" ,ghc-split)
8792 ("ghc-syb" ,ghc-syb)
8793 ("ghc-tagsoup" ,ghc-tagsoup)
8794 ("ghc-temporary" ,ghc-temporary)
8795 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8796 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8797 ("ghc-unordered-containers" ,ghc-unordered-containers)
8798 ("ghc-vector" ,ghc-vector)
8799 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8800 ("ghc-zip-archive" ,ghc-zip-archive)
8801 ("ghc-zlib" ,ghc-zlib)))
8802 (native-inputs
8803 `(("ghc-tasty" ,ghc-tasty)
8804 ("ghc-tasty-golden" ,ghc-tasty-golden)
8805 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8806 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8807 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8808 ("ghc-quickcheck" ,ghc-quickcheck)
8809 ("ghc-hunit" ,ghc-hunit)))
8810 (home-page "https://pandoc.org")
8811 (synopsis "Conversion between markup formats")
8812 (description
8813 "Pandoc is a Haskell library for converting from one markup format to
8814another, and a command-line tool that uses this library. It can read and
8815write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8816LaTeX, DocBook, and many more.
8817
8818Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8819definition lists, tables, and other features. A compatibility mode is
8820provided for those who need a drop-in replacement for Markdown.pl.")
8821 (license license:gpl2+)))
8822
8823(define-public ghc-pandoc-citeproc
8824 (package
8825 (name "ghc-pandoc-citeproc")
2da02d09 8826 (version "0.16.2")
dddbc90c
RV
8827 (source
8828 (origin
8829 (method url-fetch)
8830 (uri (string-append "https://hackage.haskell.org/package/"
8831 "pandoc-citeproc/pandoc-citeproc-"
8832 version ".tar.gz"))
8833 (sha256
8834 (base32
2da02d09 8835 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8836 (build-system haskell-build-system)
8837 (arguments
8838 `(#:phases
8839 (modify-phases %standard-phases
8840 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8841 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8842 (add-before 'configure 'patch-tests
8843 (lambda _
8844 (substitute* "tests/test-pandoc-citeproc.hs"
8845 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8846 "let allTests = citeprocTests"))))
8847 ;; Tests need to be run after installation.
8848 (delete 'check)
8849 (add-after 'install 'post-install-check
8850 (assoc-ref %standard-phases 'check)))))
8851 (inputs
8852 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8853 ("ghc-pandoc" ,ghc-pandoc)
8854 ("ghc-tagsoup" ,ghc-tagsoup)
8855 ("ghc-aeson" ,ghc-aeson)
8856 ("ghc-vector" ,ghc-vector)
8857 ("ghc-xml-conduit" ,ghc-xml-conduit)
8858 ("ghc-unordered-containers" ,ghc-unordered-containers)
8859 ("ghc-data-default" ,ghc-data-default)
8860 ("ghc-setenv" ,ghc-setenv)
8861 ("ghc-split" ,ghc-split)
8862 ("ghc-yaml" ,ghc-yaml)
8863 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8864 ("ghc-rfc5051" ,ghc-rfc5051)
8865 ("ghc-syb" ,ghc-syb)
8866 ("ghc-old-locale" ,ghc-old-locale)
8867 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8868 ("ghc-attoparsec" ,ghc-attoparsec)
8869 ("ghc-temporary" ,ghc-temporary)))
8870 (home-page "https://github.com/jgm/pandoc-citeproc")
8871 (synopsis "Library for using pandoc with citeproc")
8872 (description
8873 "The @code{pandoc-citeproc} library exports functions for using the
8874citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8875rendering bibliographic reference citations into a variety of styles using a
8876macro language called @dfn{Citation Style Language} (CSL). This package also
8877contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8878and also has a mode for converting bibliographic databases a YAML format
8879suitable for inclusion in pandoc YAML metadata.")
8880 (license license:bsd-3)))
8881
8882(define-public ghc-pandoc-types
8883 (package
8884 (name "ghc-pandoc-types")
0eaa88c8 8885 (version "1.17.6.1")
dddbc90c
RV
8886 (source (origin
8887 (method url-fetch)
8888 (uri (string-append "https://hackage.haskell.org/package/"
8889 "pandoc-types/pandoc-types-"
8890 version ".tar.gz"))
8891 (sha256
8892 (base32
0eaa88c8 8893 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8894 (build-system haskell-build-system)
8895 (inputs
8896 `(("ghc-syb" ,ghc-syb)
8897 ("ghc-aeson" ,ghc-aeson)
8898 ("ghc-string-qq" ,ghc-string-qq)))
8899 (native-inputs
8900 `(("ghc-quickcheck" ,ghc-quickcheck)
8901 ("ghc-test-framework" ,ghc-test-framework)
8902 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8903 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8904 ("ghc-hunit" ,ghc-hunit)))
d48b5c8a 8905 (home-page "https://johnmacfarlane.net/pandoc")
dddbc90c
RV
8906 (synopsis "Types for representing a structured document")
8907 (description
8908 "This module defines the @code{Pandoc} data structure, which is used by
8909pandoc to represent structured documents. It also provides functions for
8910building up, manipulating and serialising @code{Pandoc} structures.")
8911 (license license:bsd-3)))
8912
8913(define-public ghc-parallel
8914 (package
8915 (name "ghc-parallel")
8916 (version "3.2.2.0")
534d6caa 8917 (outputs '("out" "static" "doc"))
dddbc90c
RV
8918 (source
8919 (origin
8920 (method url-fetch)
8921 (uri (string-append
8922 "https://hackage.haskell.org/package/parallel/parallel-"
8923 version
8924 ".tar.gz"))
8925 (sha256
8926 (base32
8927 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8928 (build-system haskell-build-system)
8929 (home-page "https://hackage.haskell.org/package/parallel")
8930 (synopsis "Parallel programming library")
8931 (description
8932 "This package provides a library for parallel programming.")
8933 (license license:bsd-3)))
8934
8935(define-public ghc-parsec-numbers
8936 (package
8937 (name "ghc-parsec-numbers")
8938 (version "0.1.0")
8939 (source
8940 (origin
8941 (method url-fetch)
8942 (uri (string-append "https://hackage.haskell.org/package/"
8943 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8944 (sha256
8945 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8946 (build-system haskell-build-system)
8947 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8948 (synopsis "Utilities for parsing numbers from strings")
8949 (description
8950 "This package provides the number parsers without the need to use a large
8951(and unportable) token parser.")
8952 (license license:bsd-3)))
8953
8954(define-public ghc-parser-combinators
8955 (package
8956 (name "ghc-parser-combinators")
2f173160 8957 (version "1.1.0")
dddbc90c
RV
8958 (source
8959 (origin
8960 (method url-fetch)
8961 (uri (string-append "https://hackage.haskell.org/package/"
8962 "parser-combinators/parser-combinators-"
8963 version ".tar.gz"))
8964 (sha256
8965 (base32
2f173160 8966 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8967 (build-system haskell-build-system)
8968 (home-page "https://github.com/mrkkrp/parser-combinators")
8969 (synopsis "Commonly useful parser combinators")
8970 (description
8971 "This is a lightweight package providing commonly useful parser
8972combinators.")
8973 (license license:bsd-3)))
8974
8975(define-public ghc-parsers
8976 (package
8977 (name "ghc-parsers")
6818f970 8978 (version "0.12.10")
dddbc90c
RV
8979 (source
8980 (origin
8981 (method url-fetch)
8982 (uri (string-append
8983 "https://hackage.haskell.org/package/parsers/parsers-"
8984 version
8985 ".tar.gz"))
8986 (sha256
8987 (base32
6818f970 8988 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8989 (build-system haskell-build-system)
8990 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8991 ; -package attoparsec-0.13.0.1"
8992 (inputs
8993 `(("ghc-base-orphans" ,ghc-base-orphans)
8994 ("ghc-attoparsec" ,ghc-attoparsec)
8995 ("ghc-scientific" ,ghc-scientific)
8996 ("ghc-charset" ,ghc-charset)
8997 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8998 (home-page "https://github.com/ekmett/parsers/")
8999 (synopsis "Parsing combinators")
9000 (description "This library provides convenient combinators for working
9001with and building parsing combinator libraries. Given a few simple instances,
9002you get access to a large number of canned definitions. Instances exist for
9003the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
9004@code{Text.Read}.")
9005 (license license:bsd-3)))
9006
9007(define-public ghc-path
9008 (package
9009 (name "ghc-path")
9010 (version "0.6.1")
9011 (source
9012 (origin
9013 (method url-fetch)
9014 (uri (string-append
9015 "https://hackage.haskell.org/package/path/path-"
9016 version
9017 ".tar.gz"))
9018 (sha256
9019 (base32
9020 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9021 (build-system haskell-build-system)
9022 (arguments
9023 ;; TODO: There are some Windows-related tests and modules that need to be
9024 ;; danced around.
9025 `(#:tests? #f
9026 #:cabal-revision
9027 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9028 (inputs
9029 `(("ghc-aeson" ,ghc-aeson)
9030 ("ghc-exceptions" ,ghc-exceptions)
9031 ("ghc-hashable" ,ghc-hashable)))
9032 (native-inputs
9033 `(("ghc-hspec" ,ghc-hspec)
9034 ("ghc-quickcheck" ,ghc-quickcheck)
9035 ("ghc-genvalidity" ,ghc-genvalidity)
9036 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9037 ("ghc-hspec" ,ghc-hspec)
9038 ("ghc-validity" ,ghc-validity)))
9039 (home-page
3ef91e15 9040 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9041 (synopsis "Support for well-typed paths")
9042 (description "This package introduces a type for paths upholding useful
9043invariants.")
9044 (license license:bsd-3)))
9045
9046(define-public ghc-path-io
9047 (package
9048 (name "ghc-path-io")
a06613ea 9049 (version "1.4.2")
dddbc90c
RV
9050 (source
9051 (origin
9052 (method url-fetch)
9053 (uri (string-append
9054 "https://hackage.haskell.org/package/path-io/path-io-"
9055 version
9056 ".tar.gz"))
9057 (sha256
9058 (base32
a06613ea 9059 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9060 (build-system haskell-build-system)
9061 (inputs
9062 `(("ghc-dlist" ,ghc-dlist)
9063 ("ghc-exceptions" ,ghc-exceptions)
9064 ("ghc-path" ,ghc-path)
9065 ("ghc-transformers-base" ,ghc-transformers-base)
9066 ("ghc-unix-compat" ,ghc-unix-compat)
9067 ("ghc-temporary" ,ghc-temporary)))
9068 (native-inputs
9069 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9070 (home-page
9071 "https://github.com/mrkkrp/path-io")
9072 (synopsis "Functions for manipulating well-typed paths")
9073 (description "This package provides an interface to the @code{directory}
9074package for users of @code{path}. It also implements some missing stuff like
9075recursive scanning and copying of directories, working with temporary
9076files/directories, and more.")
9077 (license license:bsd-3)))
9078
9079(define-public ghc-paths
9080 (package
9081 (name "ghc-paths")
9a8adeb1 9082 (version "0.1.0.12")
534d6caa 9083 (outputs '("out" "static" "doc"))
dddbc90c
RV
9084 (source
9085 (origin
9086 (method url-fetch)
9087 (uri (string-append
9088 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9089 version
9090 ".tar.gz"))
9091 (sha256
9092 (base32
9a8adeb1 9093 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9094 (build-system haskell-build-system)
9095 (home-page "https://github.com/simonmar/ghc-paths")
9096 (synopsis
9097 "Knowledge of GHC's installation directories")
9098 (description
9099 "Knowledge of GHC's installation directories.")
9100 (license license:bsd-3)))
9101
9102(define-public ghc-patience
9103 (package
9104 (name "ghc-patience")
484476f3 9105 (version "0.3")
dddbc90c
RV
9106 (source
9107 (origin
9108 (method url-fetch)
9109 (uri (string-append
9110 "https://hackage.haskell.org/package/patience/patience-"
9111 version ".tar.gz"))
9112 (sha256
9113 (base32
484476f3 9114 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9115 (build-system haskell-build-system)
9116 (home-page "https://hackage.haskell.org/package/patience")
9117 (synopsis "Patience diff and longest increasing subsequence")
9118 (description
9119 "This library implements the 'patience diff' algorithm, as well as the
9120patience algorithm for the longest increasing subsequence problem.
9121Patience diff computes the difference between two lists, for example the lines
9122of two versions of a source file. It provides a good balance between
9123performance, nice output for humans, and simplicity of implementation.")
9124 (license license:bsd-3)))
9125
25a221a8
JS
9126(define-public ghc-pattern-arrows
9127 (package
9128 (name "ghc-pattern-arrows")
9129 (version "0.0.2")
9130 (source
9131 (origin
9132 (method url-fetch)
9133 (uri (string-append
9134 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9135 version
9136 ".tar.gz"))
9137 (sha256
9138 (base32
9139 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9140 (build-system haskell-build-system)
9141 (home-page
9142 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9143 (synopsis "Arrows for Pretty Printing")
9144 (description
9145 "A library for generating concise pretty printers based on precedence
9146rules.")
9147 (license license:expat)))
9148
dddbc90c
RV
9149(define-public ghc-pcre-light
9150 (package
9151 (name "ghc-pcre-light")
9152 (version "0.4.0.4")
9153 (source
9154 (origin
9155 (method url-fetch)
9156 (uri (string-append
9157 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9158 version
9159 ".tar.gz"))
9160 (sha256
9161 (base32
9162 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9163 (build-system haskell-build-system)
9164 (inputs
9165 `(("pcre" ,pcre)))
9166 (native-inputs
9167 `(("pkg-config" ,pkg-config)))
9168 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9169 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9170 (description "This package provides a small, efficient, and portable regex
9171library for Perl 5 compatible regular expressions. The PCRE library is a set
9172of functions that implement regular expression pattern matching using the same
9173syntax and semantics as Perl 5.")
9174 (license license:bsd-3)))
9175
9176(define-public ghc-persistent
9177 (package
9178 (name "ghc-persistent")
8c9697a9 9179 (version "2.10.4")
dddbc90c
RV
9180 (source
9181 (origin
9182 (method url-fetch)
8c9697a9
ASM
9183 (uri (string-append
9184 "https://hackage.haskell.org/package/persistent/"
9185 "persistent-" version ".tar.gz"))
dddbc90c
RV
9186 (sha256
9187 (base32
8c9697a9 9188 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9189 (build-system haskell-build-system)
8c9697a9
ASM
9190 (inputs
9191 `(("ghc-aeson" ,ghc-aeson)
9192 ("ghc-attoparsec" ,ghc-attoparsec)
9193 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9194 ("ghc-blaze-html" ,ghc-blaze-html)
9195 ("ghc-conduit" ,ghc-conduit)
9196 ("ghc-fast-logger" ,ghc-fast-logger)
9197 ("ghc-http-api-data" ,ghc-http-api-data)
9198 ("ghc-monad-logger" ,ghc-monad-logger)
9199 ("ghc-path-pieces" ,ghc-path-pieces)
9200 ("ghc-resource-pool" ,ghc-resource-pool)
9201 ("ghc-resourcet" ,ghc-resourcet)
9202 ("ghc-scientific" ,ghc-scientific)
9203 ("ghc-silently" ,ghc-silently)
9204 ("ghc-unliftio-core" ,ghc-unliftio-core)
9205 ("ghc-unliftio" ,ghc-unliftio)
9206 ("ghc-unordered-containers"
9207 ,ghc-unordered-containers)
9208 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9209 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9210 (home-page "https://www.yesodweb.com/book/persistent")
9211 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9212 (description "This Haskell package allows Haskell programs to access data
9213storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9214way.")
9215 (license license:expat)))
9216
9217(define-public ghc-persistent-sqlite
9218 (package
9219 (name "ghc-persistent-sqlite")
78858787 9220 (version "2.10.5.2")
dddbc90c
RV
9221 (source
9222 (origin
9223 (method url-fetch)
78858787
ASM
9224 (uri (string-append
9225 "https://hackage.haskell.org/package/persistent-sqlite/"
9226 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9227 (sha256
9228 (base32
78858787 9229 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9230 (build-system haskell-build-system)
78858787
ASM
9231 (inputs
9232 `(("ghc-persistent" ,ghc-persistent)
9233 ("ghc-aeson" ,ghc-aeson)
9234 ("ghc-conduit" ,ghc-conduit)
9235 ("ghc-microlens-th" ,ghc-microlens-th)
9236 ("ghc-monad-logger" ,ghc-monad-logger)
9237 ("ghc-resource-pool" ,ghc-resource-pool)
9238 ("ghc-resourcet" ,ghc-resourcet)
9239 ("ghc-unliftio-core" ,ghc-unliftio-core)
9240 ("ghc-unordered-containers"
9241 ,ghc-unordered-containers)))
9242 (native-inputs
9243 `(("ghc-persistent-template"
9244 ,ghc-persistent-template)
9245 ("ghc-persistent-test" ,ghc-persistent-test)
9246 ("ghc-exceptions" ,ghc-exceptions)
9247 ("ghc-fast-logger" ,ghc-fast-logger)
9248 ("ghc-hspec" ,ghc-hspec)
9249 ("ghc-hunit" ,ghc-hunit)
9250 ("ghc-quickcheck" ,ghc-quickcheck)
9251 ("ghc-system-fileio" ,ghc-system-fileio)
9252 ("ghc-system-filepath" ,ghc-system-filepath)
9253 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9254 (home-page
9255 "https://www.yesodweb.com/book/persistent")
9256 (synopsis "Backend for the persistent library using sqlite3")
9257 (description "This Haskell package includes a thin sqlite3 wrapper based
9258on the direct-sqlite package, as well as the entire C library, so there are no
9259system dependencies.")
9260 (license license:expat)))
9261
9262(define-public ghc-persistent-template
9263 (package
9264 (name "ghc-persistent-template")
d5378e98 9265 (version "2.8.0")
dddbc90c
RV
9266 (source
9267 (origin
9268 (method url-fetch)
d5378e98
ASM
9269 (uri (string-append
9270 "https://hackage.haskell.org/package/persistent-template/"
9271 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9272 (sha256
9273 (base32
d5378e98 9274 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9275 (build-system haskell-build-system)
d5378e98
ASM
9276 (inputs
9277 `(("ghc-persistent" ,ghc-persistent)
9278 ("ghc-aeson" ,ghc-aeson)
9279 ("ghc-http-api-data" ,ghc-http-api-data)
9280 ("ghc-monad-control" ,ghc-monad-control)
9281 ("ghc-monad-logger" ,ghc-monad-logger)
9282 ("ghc-path-pieces" ,ghc-path-pieces)
9283 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9284 ("ghc-unordered-containers"
9285 ,ghc-unordered-containers)))
9286 (native-inputs
9287 `(("ghc-hspec" ,ghc-hspec)
9288 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9289 (home-page "https://www.yesodweb.com/book/persistent")
9290 (synopsis "Type-safe, non-relational, multi-backend persistence")
9291 (description "This Haskell package provides interfaces and helper
9292functions for the ghc-persistent package.")
9293 (license license:expat)))
9294
ce32f7c7
ASM
9295(define-public ghc-persistent-test
9296 (package
9297 (name "ghc-persistent-test")
9298 (version "2.0.3.1")
9299 (source
9300 (origin
9301 (method url-fetch)
9302 (uri (string-append
9303 "https://hackage.haskell.org/package/persistent-test/"
9304 "persistent-test-" version ".tar.gz"))
9305 (sha256
9306 (base32
9307 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9308 (build-system haskell-build-system)
9309 (inputs
9310 `(("ghc-aeson" ,ghc-aeson)
9311 ("ghc-blaze-html" ,ghc-blaze-html)
9312 ("ghc-conduit" ,ghc-conduit)
9313 ("ghc-monad-control" ,ghc-monad-control)
9314 ("ghc-monad-logger" ,ghc-monad-logger)
9315 ("ghc-path-pieces" ,ghc-path-pieces)
9316 ("ghc-persistent" ,ghc-persistent)
9317 ("ghc-persistent-template" ,ghc-persistent-template)
9318 ("ghc-random" ,ghc-random)
9319 ("ghc-resourcet" ,ghc-resourcet)
9320 ("ghc-transformers-base" ,ghc-transformers-base)
9321 ("ghc-unliftio" ,ghc-unliftio)
9322 ("ghc-unliftio-core" ,ghc-unliftio-core)
9323 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9324 (native-inputs
9325 `(("ghc-quickcheck" ,ghc-quickcheck)
9326 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9327 ("ghc-hspec" ,ghc-hspec)
9328 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9329 ("ghc-hunit" ,ghc-hunit)))
9330 (home-page "https://www.yesodweb.com/book/persistent")
9331 (synopsis "Tests for the Persistent database library")
9332 (description
9333 "This is only for use in developing libraries that should conform to
9334the persistent interface, not for users of the persistent suite of database
9335libraries.")
9336 (license license:expat)))
9337
0fb34235
JS
9338(define-public ghc-pgp-wordlist
9339 (package
9340 (name "ghc-pgp-wordlist")
9341 (version "0.1.0.3")
9342 (source
9343 (origin
9344 (method url-fetch)
9345 (uri (string-append
9346 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9347 version
9348 ".tar.gz"))
9349 (sha256
9350 (base32
9351 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9352 (build-system haskell-build-system)
9353 (inputs
9354 `(("ghc-vector" ,ghc-vector)))
9355 (native-inputs
9356 `(("ghc-hunit" ,ghc-hunit)
9357 ("ghc-tasty" ,ghc-tasty)
9358 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9359 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9360 ("ghc-doctest" ,ghc-doctest)))
9361 (home-page
9362 "https://github.com/quchen/pgp-wordlist")
9363 (synopsis
9364 "Translate between binary data and a human-readable collection of words")
9365 (description
9366 "The PGP Word List consists of two phonetic alphabets, each with one word
9367per possible byte value. A string of bytes is translated with these
9368alphabets, alternating between them at each byte.
9369
9370The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9371spellbind headwaters\", for example.
9372
9373For further information, see
9374@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9375 (license license:bsd-3)))
9376
4639fa32
ASM
9377(define-public ghc-pipes
9378 (package
9379 (name "ghc-pipes")
9380 (version "4.3.13")
9381 (source
9382 (origin
9383 (method url-fetch)
9384 (uri (string-append
9385 "https://hackage.haskell.org/package/pipes/"
9386 "pipes-" version ".tar.gz"))
9387 (sha256
9388 (base32
9389 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9390 (build-system haskell-build-system)
9391 (inputs
9392 `(("ghc-exceptions" ,ghc-exceptions)
9393 ("ghc-mmorph" ,ghc-mmorph)
9394 ("ghc-void" ,ghc-void)
9395 ("ghc-semigroups" ,ghc-semigroups)))
9396 (native-inputs
9397 `(("ghc-quickcheck" ,ghc-quickcheck)
9398 ("ghc-test-framework" ,ghc-test-framework)
9399 ("ghc-test-framework-quickcheck2"
9400 ,ghc-test-framework-quickcheck2)))
9401 (home-page
9402 "https://hackage.haskell.org/package/pipes")
9403 (synopsis "Compositional pipelines")
9404 (description
9405 "A clean and powerful stream processing library that lets you build
9406and connect reusable streaming components. Advantages over traditional streaming
9407libraries:
9408@itemize
9409@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9410and @code{yield}
9411@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9412@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9413dependencies
9414@item Elegant semantics: Use practical category theory
9415@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9416@item Bidirectionality: Implement duplex channels
9417@end itemize")
9418 (license license:bsd-3)))
9419
451775a5
ASM
9420(define-public ghc-pointedlist
9421 (package
9422 (name "ghc-pointedlist")
9423 (version "0.6.1")
9424 (source
9425 (origin
9426 (method url-fetch)
9427 (uri (string-append
9428 "https://hackage.haskell.org/package/pointedlist/"
9429 "pointedlist-" version ".tar.gz"))
9430 (sha256
9431 (base32
9432 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9433 (build-system haskell-build-system)
9434 (home-page
3ef91e15 9435 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9436 (synopsis
9437 "Zipper-like comonad which works as a list, tracking a position")
9438 (description
9439 "A PointedList tracks the position in a non-empty list which works
9440similarly to a zipper. A current item is always required, and therefore
9441the list may never be empty. A circular PointedList wraps around to the
9442other end when progressing past the actual edge.")
9443 (license license:bsd-3)))
9444
dddbc90c
RV
9445(define-public ghc-polyparse
9446 (package
9447 (name "ghc-polyparse")
9822b9ca 9448 (version "1.12.1")
dddbc90c
RV
9449 (source
9450 (origin
9451 (method url-fetch)
9452 (uri (string-append
9453 "https://hackage.haskell.org/package/polyparse/polyparse-"
9454 version
9455 ".tar.gz"))
9456 (sha256
9457 (base32
9822b9ca 9458 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9459 (build-system haskell-build-system)
9460 (home-page
9461 "http://code.haskell.org/~malcolm/polyparse/")
9462 (synopsis
9463 "Alternative parser combinator libraries")
9464 (description
9465 "This package provides a variety of alternative parser combinator
9466libraries, including the original HuttonMeijer set. The Poly sets have
9467features like good error reporting, arbitrary token type, running state, lazy
9468parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9469standard Read class, for better deserialisation of Haskell values from
9470Strings.")
9471 (license license:lgpl2.1)))
9472
9473(define-public ghc-pqueue
9474 (package
9475 (name "ghc-pqueue")
142415b0 9476 (version "1.4.1.2")
dddbc90c
RV
9477 (source
9478 (origin
9479 (method url-fetch)
9480 (uri (string-append "https://hackage.haskell.org/package/"
9481 "pqueue/pqueue-" version ".tar.gz"))
9482 (sha256
9483 (base32
142415b0 9484 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9485 (build-system haskell-build-system)
9486 (native-inputs
9487 `(("ghc-quickcheck" ,ghc-quickcheck)))
9488 (home-page "https://hackage.haskell.org/package/pqueue")
9489 (synopsis "Reliable, persistent, fast priority queues")
9490 (description
9491 "This package provides a fast, reliable priority queue implementation
9492based on a binomial heap.")
9493 (license license:bsd-3)))
9494
9495(define-public ghc-prelude-extras
9496 (package
9497 (name "ghc-prelude-extras")
9498 (version "0.4.0.3")
9499 (source
9500 (origin
9501 (method url-fetch)
9502 (uri (string-append
9503 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9504 version
9505 ".tar.gz"))
9506 (sha256
9507 (base32
9508 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9509 (build-system haskell-build-system)
9510 (home-page "https://github.com/ekmett/prelude-extras")
9511 (synopsis "Higher order versions of Prelude classes")
9512 (description "This library provides higher order versions of
9513@code{Prelude} classes to ease programming with polymorphic recursion and
9514reduce @code{UndecidableInstances}.")
9515 (license license:bsd-3)))
9516
9517(define-public ghc-prettyclass
9518 (package
9519 (name "ghc-prettyclass")
9520 (version "1.0.0.0")
9521 (source
9522 (origin
9523 (method url-fetch)
9524 (uri (string-append "https://hackage.haskell.org/package/"
9525 "prettyclass/prettyclass-" version ".tar.gz"))
9526 (sha256
9527 (base32
9528 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9529 (build-system haskell-build-system)
3ef91e15 9530 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9531 (synopsis "Pretty printing class similar to Show")
9532 (description "This package provides a pretty printing class similar
9533to @code{Show}, based on the HughesPJ pretty printing library. It
9534provides the pretty printing class and instances for the Prelude
9535types.")
9536 (license license:bsd-3)))
9537
2fad2bf7
JS
9538(define-public ghc-prettyprinter
9539 (package
9540 (name "ghc-prettyprinter")
9541 (version "1.2.1.1")
9542 (source
9543 (origin
9544 (method url-fetch)
9545 (uri (string-append
9546 "mirror://hackage/package/prettyprinter/prettyprinter-"
9547 version
9548 ".tar.gz"))
9549 (sha256
9550 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9551 (build-system haskell-build-system)
9552 (native-inputs
9553 `(("ghc-doctest" ,ghc-doctest)
9554 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9555 ("ghc-tasty" ,ghc-tasty)
9556 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9557 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9558 (home-page "https://github.com/quchen/prettyprinter")
9559 (synopsis
9560 "Modern, easy to use, well-documented, extensible pretty-printer")
9561 (description
9562 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9563ANSI terminal backend exists, HTML backend is trivial to implement, no name
9564clashes, @code{Text}-based, extensible.")
9565 (license license:bsd-2)))
9566
2496e49f
JS
9567(define-public ghc-prettyprinter-1.6
9568 (package
9569 (inherit ghc-prettyprinter)
9570 (version "1.6.1")
9571 (source
9572 (origin
9573 (method url-fetch)
9574 (uri (string-append
9575 "mirror://hackage/package/prettyprinter/prettyprinter-"
9576 version
9577 ".tar.gz"))
9578 (sha256
9579 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9580 (inputs
9581 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9582 ,@(package-inputs ghc-prettyprinter)))))
9583
b4f24d66
JS
9584(define-public ghc-prettyprinter-ansi-terminal
9585 (package
9586 (name "ghc-prettyprinter-ansi-terminal")
9587 (version "1.1.1.2")
9588 (source
9589 (origin
9590 (method url-fetch)
9591 (uri (string-append
9592 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9593 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9594 (sha256
9595 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9596 (build-system haskell-build-system)
9597 (inputs
9598 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9599 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9600 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9601 (home-page
9602 "https://github.com/quchen/prettyprinter")
9603 (synopsis
9604 "ANSI terminal backend for the prettyprinter package")
9605 (description "ANSI terminal backend for the prettyprinter package.")
9606 (license license:bsd-2)))
9607
dddbc90c
RV
9608(define-public ghc-pretty-hex
9609 (package
9610 (name "ghc-pretty-hex")
9611 (version "1.0")
9612 (source
9613 (origin
9614 (method url-fetch)
9615 (uri (string-append "https://hackage.haskell.org/package/"
9616 "pretty-hex-" version "/"
9617 "pretty-hex-" version ".tar.gz"))
9618 (sha256
9619 (base32
9620 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9621 (build-system haskell-build-system)
9622 (home-page "https://github.com/GaloisInc/hexdump")
9623 (synopsis "Haskell library for hex dumps of ByteStrings")
9624 (description "This Haskell library generates pretty hex dumps of
9625ByteStrings in the style of other common *nix hex dump tools.")
9626 (license license:bsd-3)))
9627
9628(define-public ghc-pretty-show
9629 (package
9630 (name "ghc-pretty-show")
7683a084 9631 (version "1.9.5")
dddbc90c
RV
9632 (source
9633 (origin
9634 (method url-fetch)
9635 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9636 "pretty-show-" version ".tar.gz"))
9637 (sha256
9638 (base32
7683a084 9639 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9640 (build-system haskell-build-system)
9641 (inputs
9642 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9643 ("ghc-happy" ,ghc-happy)))
702a1012 9644 (home-page "https://wiki.github.com/yav/pretty-show")
dddbc90c
RV
9645 (synopsis "Tools for working with derived `Show` instances")
9646 (description
9647 "This package provides a library and an executable for working with
9648derived @code{Show} instances. By using the library, derived @code{Show}
9649instances can be parsed into a generic data structure. The @code{ppsh} tool
9650uses the library to produce human-readable versions of @code{Show} instances,
9651which can be quite handy for debugging Haskell programs. We can also render
9652complex generic values into an interactive Html page, for easier
9653examination.")
9654 (license license:expat)))
9655
f011e3d6
JS
9656(define-public ghc-pretty-simple
9657 (package
9658 (name "ghc-pretty-simple")
9659 (version "2.2.0.1")
9660 (source
9661 (origin
9662 (method url-fetch)
9663 (uri (string-append
9664 "mirror://hackage/package/pretty-simple/"
9665 "pretty-simple-" version ".tar.gz"))
9666 (sha256
9667 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9668 (build-system haskell-build-system)
9669 (inputs
9670 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9671 ("ghc-glob" ,ghc-glob)
9672 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9673 ("ghc-aeson" ,ghc-aeson)))
9674 (native-inputs
9675 `(("ghc-doctest" ,ghc-doctest)))
9676 (home-page "https://github.com/cdepillabout/pretty-simple")
9677 (synopsis "Pretty printer for data types with a 'Show' instance")
9678 (description
9679 "Pretty-simple is a pretty printer for Haskell data types that have a
9680Show instance.")
9681 (license license:bsd-3)))
9682
dddbc90c
RV
9683(define-public ghc-primitive
9684 (package
9685 (name "ghc-primitive")
9686 (version "0.6.4.0")
534d6caa 9687 (outputs '("out" "static" "doc"))
dddbc90c
RV
9688 (source
9689 (origin
9690 (method url-fetch)
9691 (uri (string-append
9692 "https://hackage.haskell.org/package/primitive/primitive-"
9693 version
9694 ".tar.gz"))
9695 (sha256
9696 (base32
9697 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9698 (build-system haskell-build-system)
6cf0daa4
TS
9699 (arguments
9700 `(#:cabal-revision
9701 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9702 (home-page
9703 "https://github.com/haskell/primitive")
9704 (synopsis "Primitive memory-related operations")
9705 (description
9706 "This package provides various primitive memory-related operations.")
9707 (license license:bsd-3)))
9708
21f5b9a9
JS
9709(define-public ghc-process-extras
9710 (package
9711 (name "ghc-process-extras")
9712 (version "0.7.4")
9713 (source
9714 (origin
9715 (method url-fetch)
9716 (uri
9717 (string-append
9718 "https://hackage.haskell.org/package/process-extras/"
9719 "process-extras-" version ".tar.gz"))
9720 (sha256
9721 (base32
9722 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9723 (build-system haskell-build-system)
9724 (inputs
9725 `(("ghc-data-default" ,ghc-data-default)
9726 ("ghc-generic-deriving" ,ghc-generic-deriving)
9727 ("ghc-hunit" ,ghc-hunit)
9728 ("ghc-listlike" ,ghc-listlike)))
9729 (home-page "https://github.com/seereason/process-extras")
9730 (synopsis "Extra tools for managing processes")
f74b6983 9731 (description "This package extends
21f5b9a9
JS
9732@url{http://hackage.haskell.org/package/process}. It allows you to read
9733process input and output as ByteStrings or Text, or write your own
9734ProcessOutput instance. It also provides lazy process input and output,
9735and a ProcessMaker class for more flexibility in the process creation
9736API.")
9737 (license license:expat)))
9738
dddbc90c
RV
9739(define-public ghc-profunctors
9740 (package
9741 (name "ghc-profunctors")
899b5297 9742 (version "5.3")
dddbc90c
RV
9743 (source
9744 (origin
9745 (method url-fetch)
9746 (uri (string-append
9747 "https://hackage.haskell.org/package/profunctors/profunctors-"
9748 version
9749 ".tar.gz"))
9750 (sha256
9751 (base32
899b5297 9752 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9753 (build-system haskell-build-system)
dddbc90c
RV
9754 (inputs
9755 `(("ghc-base-orphans" ,ghc-base-orphans)
9756 ("ghc-bifunctors" ,ghc-bifunctors)
9757 ("ghc-comonad" ,ghc-comonad)
9758 ("ghc-contravariant" ,ghc-contravariant)
9759 ("ghc-distributive" ,ghc-distributive)
9760 ("ghc-semigroups" ,ghc-semigroups)
9761 ("ghc-tagged" ,ghc-tagged)))
9762 (home-page "https://github.com/ekmett/profunctors/")
9763 (synopsis "Profunctors for Haskell")
9764 (description "This library provides profunctors for Haskell.")
9765 (license license:bsd-3)))
9766
fbe32d46
ASM
9767(define-public ghc-project-template
9768 (package
9769 (name "ghc-project-template")
9770 (version "0.2.0.1")
9771 (source
9772 (origin
9773 (method url-fetch)
9774 (uri (string-append
9775 "https://hackage.haskell.org/package/project-template/project-template-"
9776 version ".tar.gz"))
9777 (sha256
9778 (base32
9779 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9780 (build-system haskell-build-system)
9781 (inputs
9782 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9783 ("ghc-conduit" ,ghc-conduit)
9784 ("ghc-conduit-extra" ,ghc-conduit-extra)
9785 ("ghc-resourcet" ,ghc-resourcet)))
9786 (native-inputs
9787 `(("ghc-hspec" ,ghc-hspec)
9788 ("hspec-discover" ,hspec-discover)
9789 ("ghc-quickcheck" ,ghc-quickcheck)))
9790 (arguments
9791 `(#:cabal-revision
9792 ("1"
9793 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9794 (home-page "https://github.com/fpco/haskell-ide")
9795 (synopsis "Specify Haskell project templates and generate files")
9796 (description
9797 "Haskell library for both generating and consuming project templates.
9798
9799ost IDEs provide the concept of a project template: instead of writing all
9800of the code for a project from scratch, you select a template, answer a few
9801questions, and a bunch of files are automatically generated.
9802
9803project-template tries to provide a canonical Haskell library for implementing
9804the ideal templating system.")
9805 (license license:bsd-3)))
9806
8a6e745d
JS
9807(define-public ghc-protolude
9808 (package
9809 (name "ghc-protolude")
9810 (version "0.2.3")
9811 (source
9812 (origin
9813 (method url-fetch)
9814 (uri (string-append
9815 "mirror://hackage/package/protolude/protolude-"
9816 version
9817 ".tar.gz"))
9818 (sha256
9819 (base32
9820 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9821 (build-system haskell-build-system)
9822 (inputs
9823 `(("ghc-async" ,ghc-async)
9824 ("ghc-hashable" ,ghc-hashable)
9825 ("ghc-mtl-compat" ,ghc-mtl-compat)
9826 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9827 (home-page "https://github.com/protolude/protolude")
9828 (synopsis "Sensible set of defaults for writing custom Preludes")
9829 (description
9830 "Protolude gives you sensible defaults for writing custom Preludes to
9831replace the standard one provided by GHC.")
9832 (license license:expat)))
9833
cf123e32
MB
9834(define-public ghc-psqueue
9835 (package
9836 (name "ghc-psqueue")
9837 (version "1.1.0.1")
9838 (source (origin
9839 (method url-fetch)
9840 (uri (string-append "mirror://hackage/package/PSQueue-"
9841 version "/PSQueue-" version ".tar.gz"))
9842 (sha256
9843 (base32
9844 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9845 (build-system haskell-build-system)
9846 (home-page "https://hackage.haskell.org/package/PSQueue")
9847 (synopsis "Priority search queue")
9848 (description
9849 "A @dfn{priority search queue} efficiently supports the operations of
9850both a search tree and a priority queue. A @code{Binding} is a product of
9851a key and a priority. Bindings can be inserted, deleted, modified and queried
9852in logarithmic time, and the binding with the least priority can be retrieved
9853in constant time. A queue can be built from a list of bindings, sorted by
9854keys, in linear time.")
9855 (license license:bsd-3)))
9856
dddbc90c
RV
9857(define-public ghc-psqueues
9858 (package
9859 (name "ghc-psqueues")
5d133942 9860 (version "0.2.7.2")
dddbc90c
RV
9861 (source
9862 (origin
9863 (method url-fetch)
9864 (uri (string-append "https://hackage.haskell.org/package/"
9865 "psqueues-" version "/"
9866 "psqueues-" version ".tar.gz"))
9867 (sha256
9868 (base32
5d133942 9869 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9870 (build-system haskell-build-system)
9871 (inputs
9872 `(("ghc-hashable" ,ghc-hashable)))
9873 (native-inputs
9874 `(("ghc-hunit" ,ghc-hunit)
9875 ("ghc-quickcheck" ,ghc-quickcheck)
9876 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9877 ("ghc-tasty" ,ghc-tasty)
9878 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9879 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9880 (home-page "https://github.com/jaspervdj/psqueues")
9881 (synopsis "Pure priority search queues")
9882 (description "The psqueues package provides
9883@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9884three different flavors:
9885
9886@itemize
9887@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9888fast insertion, deletion and lookup. This implementation is based on Ralf
9889Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9890Implementation Technique for Priority Search Queues}.
9891
9892Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9893PSQueue} library, although it is considerably faster and provides a slightly
9894different API.
9895
9896@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9897key type to @code{Int} and uses a
9898@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9899with an additional min-heap property.
9900
9901@item @code{HashPSQ k p v} is a fairly straightforward extension
9902of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9903@code{IntPSQ}. If there are any hash collisions, it uses an
9904@code{OrdPSQ} to resolve those. The performance of this implementation
9905is comparable to that of @code{IntPSQ}, but it is more widely
9906applicable since the keys are not restricted to @code{Int},
9907but rather to any @code{Hashable} datatype.
9908@end itemize
9909
9910Each of the three implementations provides the same API, so they can
9911be used interchangeably.
9912
9913Typical applications of Priority Search Queues include:
9914
9915@itemize
9916@item Caches, and more specifically LRU Caches;
9917@item Schedulers;
9918@item Pathfinding algorithms, such as Dijkstra's and A*.
9919@end itemize")
9920 (license license:bsd-3)))
b1dbc9f5
ASM
9921
9922(define-public ghc-pwstore-fast
9923 (package
9924 (name "ghc-pwstore-fast")
9925 (version "2.4.4")
9926 (source
9927 (origin
9928 (method url-fetch)
9929 (uri (string-append
9930 "https://hackage.haskell.org/package/pwstore-fast/"
9931 "pwstore-fast-" version ".tar.gz"))
9932 (sha256
9933 (base32
9934 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9935 (build-system haskell-build-system)
9936 (inputs
9937 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9938 ("ghc-cryptohash" ,ghc-cryptohash)
9939 ("ghc-random" ,ghc-random)
9940 ("ghc-byteable" ,ghc-byteable)))
9941 (home-page "https://github.com/PeterScott/pwstore")
9942 (synopsis "Secure password storage")
9943 (description
9944 "To store passwords securely, they should be salted, then hashed with
9945a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9946details. It uses the cryptohash package for speed; if you need a pure
9947Haskell library, pwstore-purehaskell has the exact same API, but uses only
9948pure Haskell. It is about 25 times slower than this package, but still quite
9949usable.")
9950 (license license:bsd-3)))
dddbc90c
RV
9951
9952(define-public ghc-random
9953 (package
9954 (name "ghc-random")
9955 (version "1.1")
534d6caa 9956 (outputs '("out" "static" "doc"))
dddbc90c
RV
9957 (source
9958 (origin
9959 (method url-fetch)
9960 (uri (string-append
9961 "https://hackage.haskell.org/package/random/random-"
9962 version
9963 ".tar.gz"))
9964 (sha256
9965 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9966 (build-system haskell-build-system)
9967 (home-page "https://hackage.haskell.org/package/random")
9968 (synopsis "Random number library")
9969 (description "This package provides a basic random number generation
9970library, including the ability to split random number generators.")
9971 (license license:bsd-3)))
9972
9973(define-public ghc-raw-strings-qq
9974 (package
9975 (name "ghc-raw-strings-qq")
9976 (version "1.1")
9977 (source
9978 (origin
9979 (method url-fetch)
9980 (uri (string-append "https://hackage.haskell.org/package/"
9981 "raw-strings-qq/raw-strings-qq-"
9982 version ".tar.gz"))
9983 (sha256
9984 (base32
9985 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9986 (build-system haskell-build-system)
9987 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9988 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9989 (synopsis "Raw string literals for Haskell")
9990 (description
9991 "This package provides a quasiquoter for raw string literals, i.e. string
9992literals that don't recognise the standard escape sequences. Basically, they
9993make your code more readable by freeing you from the responsibility to escape
9994backslashes. They are useful when working with regular expressions,
9995DOS/Windows paths and markup languages (such as XML).")
9996 (license license:bsd-3)))
9997
9998(define-public ghc-readable
9999 (package
10000 (name "ghc-readable")
10001 (version "0.3.1")
10002 (source
10003 (origin
10004 (method url-fetch)
10005 (uri (string-append "https://hackage.haskell.org/package/"
10006 "readable/readable-" version ".tar.gz"))
10007 (sha256
10008 (base32
10009 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
10010 (build-system haskell-build-system)
10011 (home-page "https://github.com/mightybyte/readable")
10012 (synopsis "Type class for reading from Text and ByteString")
10013 (description "This package provides a @code{Readable} type class for
10014reading data types from @code{ByteString} and @code{Text}. It also
10015includes efficient implementations for common data types.")
10016 (license license:bsd-3)))
10017
10018(define-public ghc-rebase
10019 (package
10020 (name "ghc-rebase")
8d2ae3fe 10021 (version "1.3.1.1")
dddbc90c
RV
10022 (source
10023 (origin
10024 (method url-fetch)
10025 (uri (string-append "https://hackage.haskell.org/package/"
10026 "rebase-" version "/"
10027 "rebase-" version ".tar.gz"))
10028 (sha256
10029 (base32
8d2ae3fe 10030 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
10031 (build-system haskell-build-system)
10032 (inputs `(("ghc-hashable" ,ghc-hashable)
10033 ("ghc-vector" ,ghc-vector)
10034 ("ghc-unordered-containers" ,ghc-unordered-containers)
10035 ("ghc-scientific" ,ghc-scientific)
10036 ("ghc-uuid" ,ghc-uuid)
10037 ("ghc-dlist" ,ghc-dlist)
10038 ("ghc-void" ,ghc-void)
10039 ("ghc-bifunctors" ,ghc-bifunctors)
10040 ("ghc-profunctors" ,ghc-profunctors)
10041 ("ghc-contravariant" ,ghc-contravariant)
10042 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10043 ("ghc-semigroups" ,ghc-semigroups)
10044 ("ghc-either" ,ghc-either)
10045 ("ghc-fail" ,ghc-fail)
10046 ("ghc-base-prelude" ,ghc-base-prelude)))
10047 (home-page "https://github.com/nikita-volkov/rebase")
10048 (synopsis "Progressive alternative to the base package
10049for Haskell")
10050 (description "This Haskell package is intended for those who are
10051tired of keeping long lists of dependencies to the same essential libraries
10052in each package as well as the endless imports of the same APIs all over again.
10053
10054It also supports the modern tendencies in the language.
10055
10056To solve those problems this package does the following:
10057
10058@itemize
10059@item Reexport the original APIs under the @code{Rebase} namespace.
10060
10061@item Export all the possible non-conflicting symbols from the
10062@code{Rebase.Prelude} module.
10063
10064@item Give priority to the modern practices in the conflicting cases.
10065@end itemize
10066
10067The policy behind the package is only to reexport the non-ambiguous and
10068non-controversial APIs, which the community has obviously settled on.
10069The package is intended to rapidly evolve with the contribution from
10070the community, with the missing features being added with pull-requests.")
10071 (license license:expat)))
10072
10073(define-public ghc-reducers
10074 (package
10075 (name "ghc-reducers")
10076 (version "3.12.3")
10077 (source
10078 (origin
10079 (method url-fetch)
10080 (uri (string-append
10081 "https://hackage.haskell.org/package/reducers/reducers-"
10082 version
10083 ".tar.gz"))
10084 (sha256
10085 (base32
10086 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10087 (build-system haskell-build-system)
10088 (inputs
10089 `(("ghc-fingertree" ,ghc-fingertree)
10090 ("ghc-hashable" ,ghc-hashable)
10091 ("ghc-unordered-containers" ,ghc-unordered-containers)
10092 ("ghc-semigroupoids" ,ghc-semigroupoids)
10093 ("ghc-semigroups" ,ghc-semigroups)))
10094 (home-page "https://github.com/ekmett/reducers/")
10095 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10096 (description "This library provides various semigroups, specialized
10097containers and a general map/reduce framework for Haskell.")
10098 (license license:bsd-3)))
10099
10100(define-public ghc-refact
10101 (package
10102 (name "ghc-refact")
10103 (version "0.3.0.2")
10104 (source
10105 (origin
10106 (method url-fetch)
10107 (uri (string-append "https://hackage.haskell.org/package/"
10108 "refact/refact-"
10109 version ".tar.gz"))
10110 (sha256
10111 (base32
10112 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10113 (build-system haskell-build-system)
3ef91e15 10114 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10115 (synopsis "Specify refactorings to perform with apply-refact")
10116 (description
10117 "This library provides a datatype which can be interpreted by
10118@code{apply-refact}. It exists as a separate library so that applications can
10119specify refactorings without depending on GHC.")
10120 (license license:bsd-3)))
10121
10122(define-public ghc-reflection
10123 (package
10124 (name "ghc-reflection")
d215f1cc 10125 (version "2.1.5")
dddbc90c
RV
10126 (source
10127 (origin
10128 (method url-fetch)
10129 (uri (string-append
10130 "https://hackage.haskell.org/package/reflection/reflection-"
10131 version
10132 ".tar.gz"))
10133 (sha256
10134 (base32
d215f1cc 10135 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10136 (build-system haskell-build-system)
10137 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10138 (native-inputs
10139 `(("ghc-hspec" ,ghc-hspec)
10140 ("ghc-quickcheck" ,ghc-quickcheck)
10141 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10142 (home-page "https://github.com/ekmett/reflection")
10143 (synopsis "Reify arbitrary terms into types that can be reflected back
10144into terms")
10145 (description "This package addresses the 'configuration problem' which is
10146propagating configurations that are available at run-time, allowing multiple
10147configurations to coexist without resorting to mutable global variables or
10148@code{System.IO.Unsafe.unsafePerformIO}.")
10149 (license license:bsd-3)))
10150
10151(define-public ghc-regex
10152 (package
10153 (name "ghc-regex")
b9a5e634 10154 (version "1.0.2.0")
dddbc90c
RV
10155 (source
10156 (origin
10157 (method url-fetch)
10158 (uri (string-append "https://hackage.haskell.org/package/regex/"
10159 "regex-" version ".tar.gz"))
10160 (sha256
10161 (base32
b9a5e634 10162 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10163 (build-system haskell-build-system)
10164 (arguments
10165 `(#:phases
10166 (modify-phases %standard-phases
10167 (add-after 'unpack 'relax-dependencies
10168 (lambda _
10169 (substitute* "regex.cabal"
10170 (("base-compat.*>=.*0.6.*")
10171 "base-compat >= 0.6\n")
10172 (("template-haskell.*>=.*2.7.*")
10173 "template-haskell >= 2.7\n"))
10174 #t)))))
10175 (inputs
10176 `(("ghc-base-compat" ,ghc-base-compat)
10177 ("ghc-hashable" ,ghc-hashable)
10178 ("ghc-regex-base" ,ghc-regex-base)
10179 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10180 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10181 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10182 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10183 ("ghc-unordered-containers" ,ghc-unordered-containers)
10184 ("ghc-utf8-string" ,ghc-utf8-string)))
10185 (home-page "http://regex.uk")
10186 (synopsis "Toolkit for regex-base")
10187 (description
10188 "This package provides a regular expression toolkit for @code{regex-base}
10189with compile-time checking of regular expression syntax, data types for
10190matches and captures, a text replacement toolkit, portable options, high-level
10191AWK-like tools for building text processing apps, regular expression macros
10192with parsers and test bench, comprehensive documentation, tutorials and
10193copious examples.")
10194 (license license:bsd-3)))
10195
10196(define-public ghc-regex-applicative
10197 (package
10198 (name "ghc-regex-applicative")
30f60e42 10199 (version "0.3.3.1")
dddbc90c
RV
10200 (source
10201 (origin
10202 (method url-fetch)
10203 (uri (string-append
10204 "https://hackage.haskell.org/package/regex-applicative/"
10205 "regex-applicative-" version ".tar.gz"))
10206 (sha256
10207 (base32
30f60e42 10208 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10209 (build-system haskell-build-system)
10210 (inputs
10211 `(("ghc-smallcheck" ,ghc-smallcheck)
10212 ("ghc-tasty" ,ghc-tasty)
10213 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10214 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10215 (home-page "https://github.com/feuerbach/regex-applicative")
10216 (synopsis "Regex-based parsing with applicative interface")
10217 (description
10218 "@code{regex-applicative} is a Haskell library for parsing using
10219regular expressions. Parsers can be built using Applicative interface.")
10220 (license license:expat)))
10221
10222(define-public ghc-regex-base
10223 (package
10224 (name "ghc-regex-base")
10225 (version "0.93.2")
10226 (source
10227 (origin
10228 (method url-fetch)
10229 (uri (string-append
10230 "https://hackage.haskell.org/package/regex-base/regex-base-"
10231 version
10232 ".tar.gz"))
10233 (sha256
10234 (base32
10235 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10236 (build-system haskell-build-system)
10237 (home-page
10238 "https://sourceforge.net/projects/lazy-regex")
10239 (synopsis "Replaces/Enhances Text.Regex")
10240 (description "@code{Text.Regex.Base} provides the interface API for
10241regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10242 (license license:bsd-3)))
10243
10244(define-public ghc-regex-compat
10245 (package
10246 (name "ghc-regex-compat")
10247 (version "0.95.1")
10248 (source
10249 (origin
10250 (method url-fetch)
10251 (uri (string-append
10252 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10253 version
10254 ".tar.gz"))
10255 (sha256
10256 (base32
10257 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10258 (build-system haskell-build-system)
10259 (inputs
10260 `(("ghc-regex-base" ,ghc-regex-base)
10261 ("ghc-regex-posix" ,ghc-regex-posix)))
10262 (home-page "https://sourceforge.net/projects/lazy-regex")
10263 (synopsis "Replaces/Enhances Text.Regex")
10264 (description "This library provides one module layer over
10265@code{regex-posix} to replace @code{Text.Regex}.")
10266 (license license:bsd-3)))
10267
10268(define-public ghc-regex-compat-tdfa
10269 (package
10270 (name "ghc-regex-compat-tdfa")
10271 (version "0.95.1.4")
10272 (source
10273 (origin
10274 (method url-fetch)
10275 (uri (string-append
10276 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10277 version ".tar.gz"))
10278 (sha256
10279 (base32
10280 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10281 (build-system haskell-build-system)
10282 (inputs
10283 `(("ghc-regex-base" ,ghc-regex-base)
10284 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10285 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10286 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10287 (description
10288 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10289@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10290This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10291this problem.")
10292 (license license:bsd-3)))
10293
ddd79836
MB
10294(define-public ghc-regex-pcre
10295 (package
10296 (name "ghc-regex-pcre")
10297 (version "0.94.4")
10298 (source (origin
10299 (method url-fetch)
10300 (uri (string-append "https://hackage.haskell.org/package/"
10301 "regex-pcre/regex-pcre-" version ".tar.gz"))
10302 (sha256
10303 (base32
10304 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10305 (build-system haskell-build-system)
10306 (inputs
10307 `(("ghc-regex-base" ,ghc-regex-base)
10308 ("pcre" ,pcre)))
10309 (home-page "https://hackage.haskell.org/package/regex-pcre")
10310 (synopsis "Enhancement of the builtin Text.Regex library")
10311 (description
10312 "This package is an enhancement of the @code{Text.Regex} library.
10313It wraps the @code{PCRE} C library providing Perl-compatible regular
10314expressions.")
10315 (license license:bsd-3)))
10316
dddbc90c
RV
10317(define-public ghc-regex-pcre-builtin
10318 (package
10319 (name "ghc-regex-pcre-builtin")
ee946143 10320 (version "0.94.5.8.8.35")
dddbc90c
RV
10321 (source (origin
10322 (method url-fetch)
10323 (uri (string-append "https://hackage.haskell.org/package/"
10324 "regex-pcre-builtin/regex-pcre-builtin-"
10325 version ".tar.gz"))
10326 (sha256
10327 (base32
ee946143 10328 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10329 (build-system haskell-build-system)
10330 (inputs
10331 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10332 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10333 (synopsis "Enhancement of the builtin Text.Regex library")
10334 (description
10335 "This package is an enhancement of the @code{Text.Regex} library,
10336providing the PCRE backend to accompany regex-base, with bundled code from
10337@url{https://www.pcre.org}.")
10338 (license license:bsd-3)))
10339
10340(define-public ghc-regex-posix
10341 (package
10342 (name "ghc-regex-posix")
10343 (version "0.95.2")
10344 (source
10345 (origin
10346 (method url-fetch)
10347 (uri (string-append
10348 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10349 version
10350 ".tar.gz"))
10351 (sha256
10352 (base32
10353 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10354 (build-system haskell-build-system)
10355 (inputs
10356 `(("ghc-regex-base" ,ghc-regex-base)))
10357 (home-page "https://sourceforge.net/projects/lazy-regex")
10358 (synopsis "POSIX regular expressions for Haskell")
10359 (description "This library provides the POSIX regex backend used by the
10360Haskell library @code{regex-base}.")
10361 (license license:bsd-3)))
10362
10363(define-public ghc-regex-tdfa
10364 (package
10365 (name "ghc-regex-tdfa")
ce684db0 10366 (version "1.2.3.2")
dddbc90c
RV
10367 (source
10368 (origin
10369 (method url-fetch)
10370 (uri (string-append
10371 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10372 version ".tar.gz"))
10373 (sha256
10374 (base32
ce684db0 10375 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10376 (build-system haskell-build-system)
10377 (inputs
10378 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10379 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10380 (synopsis "POSIX extended regular expressions in Haskell.")
10381 (description
10382 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10383extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10384inspired by libtre.")
10385 (license license:bsd-3)))
10386
10387(define-public ghc-regex-tdfa-text
10388 (package
10389 (name "ghc-regex-tdfa-text")
10390 (version "1.0.0.3")
10391 (source
10392 (origin
10393 (method url-fetch)
10394 (uri (string-append
10395 "https://hackage.haskell.org/package/regex-tdfa-text/"
10396 "regex-tdfa-text-" version ".tar.gz"))
10397 (sha256
10398 (base32
10399 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10400 (build-system haskell-build-system)
10401 (inputs
10402 `(("ghc-regex-base" ,ghc-regex-base)
10403 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10404 (home-page
3ef91e15 10405 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10406 (synopsis "Text interface for regex-tdfa")
10407 (description
10408 "This provides an extra text interface for regex-tdfa.")
10409 (license license:bsd-3)))
10410
798a2df4
JS
10411(define-public ghc-repline
10412 (package
10413 (name "ghc-repline")
10414 (version "0.2.0.0")
10415 (source
10416 (origin
10417 (method url-fetch)
10418 (uri (string-append
10419 "mirror://hackage/package/repline/repline-"
10420 version
10421 ".tar.gz"))
10422 (sha256
10423 (base32
10424 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10425 (build-system haskell-build-system)
10426 (home-page "https://github.com/sdiehl/repline")
10427 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10428 (description
10429 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10430normal mtl transformers.")
10431 (license license:expat)))
10432
6c0858dd
JS
10433(define-public ghc-repline-0.3
10434 (package
10435 (inherit ghc-repline)
10436 (version "0.3.0.0")
10437 (source
10438 (origin
10439 (method url-fetch)
10440 (uri (string-append
10441 "mirror://hackage/package/repline/repline-"
10442 version
10443 ".tar.gz"))
10444 (sha256
10445 (base32
10446 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10447 (inputs
10448 `(("ghc-exceptions" ,ghc-exceptions)
10449 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10450
dddbc90c
RV
10451(define-public ghc-rerebase
10452 (package
10453 (name "ghc-rerebase")
cdec7b8c 10454 (version "1.3.1.1")
dddbc90c
RV
10455 (source
10456 (origin
10457 (method url-fetch)
10458 (uri (string-append
10459 "https://hackage.haskell.org/package/rerebase/rerebase-"
10460 version ".tar.gz"))
10461 (sha256
10462 (base32
cdec7b8c 10463 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10464 (build-system haskell-build-system)
10465 (inputs
10466 `(("ghc-rebase" ,ghc-rebase)))
10467 (home-page "https://github.com/nikita-volkov/rerebase")
10468 (synopsis "Reexports from ``base'' with many other standard libraries")
10469 (description "A rich drop-in replacement for @code{base}. For details and
10470documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10471the project's home page}.")
10472 (license license:expat)))
10473
10474(define-public ghc-resolv
10475 (package
10476 (name "ghc-resolv")
87309478 10477 (version "0.1.1.2")
dddbc90c
RV
10478 (source
10479 (origin
10480 (method url-fetch)
10481 (uri (string-append
10482 "https://hackage.haskell.org/package/resolv/resolv-"
10483 version ".tar.gz"))
10484 (sha256
10485 (base32
87309478 10486 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10487 (build-system haskell-build-system)
10488 (arguments
87309478
TS
10489 `(#:phases
10490 (modify-phases %standard-phases
10491 (add-before 'configure 'update-constraints
10492 (lambda _
10493 (substitute* "resolv.cabal"
10494 (("tasty >= 1\\.1 && < 1\\.2")
10495 "tasty >= 1.1 && < 1.3"))
10496 #t)))))
dddbc90c
RV
10497 (inputs
10498 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10499 (native-inputs
10500 `(("ghc-tasty" ,ghc-tasty)
10501 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10502 (home-page "https://github.com/haskell/hackage-security")
10503 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10504 (description "This package implements an API for accessing the
10505@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10506resolver service via the standard @code{libresolv} system library (whose
10507API is often available directly via the standard @code{libc} C library) on
10508Unix systems.")
10509 (license license:gpl3)))
10510
10511(define-public ghc-resource-pool
10512 (package
10513 (name "ghc-resource-pool")
10514 (version "0.2.3.2")
10515 (source
10516 (origin
10517 (method url-fetch)
10518 (uri (string-append "https://hackage.haskell.org/package/"
10519 "resource-pool-" version "/"
10520 "resource-pool-" version ".tar.gz"))
10521 (sha256
10522 (base32
10523 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10524 (build-system haskell-build-system)
10525 (inputs `(("ghc-hashable" ,ghc-hashable)
10526 ("ghc-monad-control" ,ghc-monad-control)
10527 ("ghc-transformers-base" ,ghc-transformers-base)
10528 ("ghc-vector" ,ghc-vector)))
10529 (home-page "https://github.com/bos/pool")
10530 (synopsis "Striped resource pooling implementation in Haskell")
10531 (description "This Haskell package provides striped pooling abstraction
10532for managing flexibly-sized collections of resources such as database
10533connections.")
10534 (license license:bsd-3)))
10535
10536(define-public ghc-resourcet
10537 (package
10538 (name "ghc-resourcet")
9ac341ac 10539 (version "1.2.2")
dddbc90c
RV
10540 (source
10541 (origin
10542 (method url-fetch)
10543 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10544 "resourcet-" version ".tar.gz"))
10545 (sha256
10546 (base32
9ac341ac 10547 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10548 (build-system haskell-build-system)
10549 (inputs
10550 `(("ghc-transformers-base" ,ghc-transformers-base)
10551 ("ghc-monad-control" ,ghc-monad-control)
10552 ("ghc-transformers-compat" ,ghc-transformers-compat)
10553 ("ghc-mmorph" ,ghc-mmorph)
10554 ("ghc-exceptions" ,ghc-exceptions)
10555 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10556 (native-inputs
10557 `(("ghc-lifted-base" ,ghc-lifted-base)
10558 ("ghc-hspec" ,ghc-hspec)))
10559 (home-page "https://github.com/snoyberg/conduit")
10560 (synopsis "Deterministic allocation and freeing of scarce resources")
10561 (description "ResourceT is a monad transformer which creates a region of
10562code where you can safely allocate resources.")
10563 (license license:bsd-3)))
10564
b9debc37
TS
10565(define-public ghc-retry
10566 (package
10567 (name "ghc-retry")
10568 (version "0.8.1.0")
10569 (source
10570 (origin
10571 (method url-fetch)
10572 (uri (string-append "https://hackage.haskell.org/package/"
10573 "retry/retry-" version ".tar.gz"))
10574 (sha256
10575 (base32
10576 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10577 (build-system haskell-build-system)
10578 (inputs
10579 `(("ghc-exceptions" ,ghc-exceptions)
10580 ("ghc-random" ,ghc-random)))
10581 (native-inputs
10582 `(("ghc-hunit" ,ghc-hunit)
10583 ("ghc-tasty" ,ghc-tasty)
10584 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10585 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10586 ("ghc-hedgehog" ,ghc-hedgehog)))
702a1012 10587 (home-page "https://github.com/Soostone/retry")
b9debc37
TS
10588 (synopsis "Retry combinators for monadic actions that may fail")
10589 (description "This package exposes combinators that can wrap
10590arbitrary monadic actions. They run the action and potentially retry
10591running it with some configurable delay for a configurable number of
10592times. The purpose is to make it easier to work with IO and especially
10593network IO actions that often experience temporary failure and warrant
10594retrying of the original action. For example, a database query may time
10595out for a while, in which case we should hang back for a bit and retry
10596the query instead of simply raising an exception.")
10597 (license license:bsd-3)))
10598
dddbc90c
RV
10599(define-public ghc-rfc5051
10600 (package
10601 (name "ghc-rfc5051")
ec42ab7c 10602 (version "0.1.0.4")
dddbc90c
RV
10603 (source
10604 (origin
10605 (method url-fetch)
10606 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10607 "rfc5051-" version ".tar.gz"))
10608 (sha256
10609 (base32
ec42ab7c 10610 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10611 (build-system haskell-build-system)
10612 (home-page "https://hackage.haskell.org/package/rfc5051")
10613 (synopsis "Simple unicode collation as per RFC5051")
10614 (description
10615 "This library implements @code{unicode-casemap}, the simple, non
10616locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10617unicode collation can be done using @code{text-icu}, but that is a big
10618dependency that depends on a large C library, and @code{rfc5051} might be
10619better for some purposes.")
10620 (license license:bsd-3)))
10621
10622(define-public ghc-rio
10623 (package
10624 (name "ghc-rio")
8bda2fa7 10625 (version "0.1.12.0")
dddbc90c
RV
10626 (source
10627 (origin
10628 (method url-fetch)
10629 (uri (string-append
10630 "https://hackage.haskell.org/package/rio/rio-"
10631 version ".tar.gz"))
10632 (sha256
10633 (base32
8bda2fa7 10634 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10635 (build-system haskell-build-system)
10636 (inputs
10637 `(("ghc-exceptions" ,ghc-exceptions)
10638 ("ghc-hashable" ,ghc-hashable)
10639 ("ghc-microlens" ,ghc-microlens)
10640 ("ghc-primitive" ,ghc-primitive)
10641 ("ghc-typed-process" ,ghc-typed-process)
10642 ("ghc-unliftio" ,ghc-unliftio)
10643 ("ghc-unordered-containers" ,ghc-unordered-containers)
10644 ("ghc-vector" ,ghc-vector)))
10645 (native-inputs
10646 `(("ghc-hspec" ,ghc-hspec)
10647 ("hspec-discover" ,hspec-discover)))
10648 (home-page "https://github.com/commercialhaskell/rio#readme")
10649 (synopsis "A standard library for Haskell")
10650 (description "This package works as a prelude replacement for Haskell,
10651providing more functionality and types out of the box than the standard
10652prelude (such as common data types like @code{ByteString} and
10653@code{Text}), as well as removing common ``gotchas'', like partial
10654functions and lazy I/O. The guiding principle here is:
10655@itemize
10656@item If something is safe to use in general and has no expected naming
10657conflicts, expose it.
10658@item If something should not always be used, or has naming conflicts,
10659expose it from another module in the hierarchy.
10660@end itemize")
10661 (license license:expat)))
10662
10663(define-public ghc-safe
10664 (package
10665 (name "ghc-safe")
10666 (version "0.3.17")
10667 (source
10668 (origin
10669 (method url-fetch)
10670 (uri (string-append
10671 "https://hackage.haskell.org/package/safe/safe-"
10672 version
10673 ".tar.gz"))
10674 (sha256
10675 (base32
10676 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10677 (build-system haskell-build-system)
10678 (native-inputs
10679 `(("ghc-quickcheck" ,ghc-quickcheck)))
10680 (home-page "https://github.com/ndmitchell/safe#readme")
10681 (synopsis "Library of safe (exception free) functions")
10682 (description "This library provides wrappers around @code{Prelude} and
10683@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10684exceptions.")
10685 (license license:bsd-3)))
10686
10687(define-public ghc-safe-exceptions
10688 (package
10689 (name "ghc-safe-exceptions")
10690 (version "0.1.7.0")
10691 (source
10692 (origin
10693 (method url-fetch)
10694 (uri (string-append "https://hackage.haskell.org/package/"
10695 "safe-exceptions/safe-exceptions-"
10696 version ".tar.gz"))
10697 (sha256
10698 (base32
10699 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10700 (build-system haskell-build-system)
10701 (arguments
10702 '(#:cabal-revision
10703 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10704 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10705 (native-inputs
10706 `(("ghc-hspec" ,ghc-hspec)
10707 ("ghc-void" ,ghc-void)
10708 ("hspec-discover" ,hspec-discover)))
10709 (home-page "https://github.com/fpco/safe-exceptions")
10710 (synopsis "Safe, consistent, and easy exception handling")
10711 (description "Runtime exceptions - as exposed in @code{base} by the
10712@code{Control.Exception} module - have long been an intimidating part of the
10713Haskell ecosystem. This package is intended to overcome this. It provides a
10714safe and simple API on top of the existing exception handling machinery. The
10715API is equivalent to the underlying implementation in terms of power but
10716encourages best practices to minimize the chances of getting the exception
10717handling wrong.")
10718 (license license:expat)))
10719
10720(define-public ghc-safeio
10721 (package
10722 (name "ghc-safeio")
10723 (version "0.0.5.0")
10724 (source
10725 (origin
10726 (method url-fetch)
10727 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10728 "safeio-" version ".tar.gz"))
10729 (sha256
10730 (base32
10731 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10732 (build-system haskell-build-system)
10733 (inputs
10734 `(("ghc-conduit" ,ghc-conduit)
10735 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10736 ("ghc-exceptions" ,ghc-exceptions)
10737 ("ghc-resourcet" ,ghc-resourcet)))
10738 (native-inputs
10739 `(("ghc-hunit" ,ghc-hunit)
10740 ("ghc-test-framework" ,ghc-test-framework)
10741 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10742 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10743 (home-page "https://github.com/luispedro/safeio")
10744 (synopsis "Write output to disk atomically")
10745 (description
10746 "This package implements utilities to perform atomic output so as to
10747avoid the problem of partial intermediate files.")
10748 (license license:expat)))
10749
10750(define-public ghc-safesemaphore
10751 (package
10752 (name "ghc-safesemaphore")
10753 (version "0.10.1")
10754 (source
10755 (origin
10756 (method url-fetch)
10757 (uri (string-append "https://hackage.haskell.org/package/"
10758 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10759 (sha256
10760 (base32
10761 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10762 (build-system haskell-build-system)
10763 (native-inputs
10764 `(("ghc-hunit" ,ghc-hunit)))
10765 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10766 (synopsis "Exception safe semaphores")
10767 (description "This library provides exception safe semaphores that can be
10768used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10769are not exception safe and can be broken by @code{killThread}.")
10770 (license license:bsd-3)))
10771
10772(define-public ghc-sandi
10773 (package
10774 (name "ghc-sandi")
b867c2b0 10775 (version "0.5")
dddbc90c
RV
10776 (source
10777 (origin
10778 (method url-fetch)
10779 (uri (string-append
10780 "https://hackage.haskell.org/package/sandi/sandi-"
10781 version ".tar.gz"))
10782 (sha256
10783 (base32
b867c2b0 10784 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10785 (build-system haskell-build-system)
10786 (inputs
10787 `(("ghc-stringsearch" ,ghc-stringsearch)
10788 ("ghc-conduit" ,ghc-conduit)
10789 ("ghc-exceptions" ,ghc-exceptions)
10790 ("ghc-hunit" ,ghc-hunit)
10791 ("ghc-tasty" ,ghc-tasty)
10792 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10793 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10794 ("ghc-tasty-th" ,ghc-tasty-th)))
10795 (home-page "https://hackage.haskell.org/package/sandi")
10796 (synopsis "Data encoding library")
10797 (description "Reasonably fast data encoding library.")
10798 (license license:bsd-3)))
10799
4da75228
ASM
10800(define-public ghc-say
10801 (package
10802 (name "ghc-say")
10803 (version "0.1.0.1")
10804 (source
10805 (origin
10806 (method url-fetch)
10807 (uri (string-append
10808 "https://hackage.haskell.org/package/say/say-"
10809 version
10810 ".tar.gz"))
10811 (sha256
10812 (base32
10813 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10814 (build-system haskell-build-system)
10815 (native-inputs
10816 `(("ghc-hspec" ,ghc-hspec)
10817 ("hspec-discover" ,hspec-discover)
10818 ("ghc-unliftio" ,ghc-unliftio)))
10819 (home-page "https://github.com/fpco/say")
10820 (synopsis
10821 "Send textual messages to a Handle in a thread-friendly way")
10822 (description
10823 "A thread safe API to write a line of textual data to a Handle, such
10824as sending some messages to the terminal - that has the following properties:
10825@itemize
10826@item Properly handle character encoding settings on the Handle
10827@item For reasonably sized messages, ensure that the entire message is written
10828 in one chunk to avoid interleaving data with other threads
10829@item Avoid unnecessary memory allocations and copies
10830@item Minimize locking.
10831@end itemize")
10832 (license license:expat)))
10833
dddbc90c
RV
10834(define-public ghc-scientific
10835 (package
10836 (name "ghc-scientific")
10837 (version "0.3.6.2")
10838 (source
10839 (origin
10840 (method url-fetch)
10841 (uri (string-append
10842 "https://hackage.haskell.org/package/scientific/scientific-"
10843 version
10844 ".tar.gz"))
10845 (sha256
10846 (base32
10847 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10848 (build-system haskell-build-system)
10849 (inputs
10850 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10851 ("ghc-hashable" ,ghc-hashable)
10852 ("ghc-primitive" ,ghc-primitive)))
10853 (native-inputs
10854 `(("ghc-tasty" ,ghc-tasty)
10855 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10856 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10857 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10858 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10859 ("ghc-smallcheck" ,ghc-smallcheck)
10860 ("ghc-quickcheck" ,ghc-quickcheck)))
10861 (home-page "https://github.com/basvandijk/scientific")
10862 (synopsis "Numbers represented using scientific notation")
10863 (description "This package provides @code{Data.Scientific}, which provides
10864the number type @code{Scientific}. Scientific numbers are arbitrary precision
10865and space efficient. They are represented using
10866@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10867notation}.")
10868 (license license:bsd-3)))
10869
10870(define-public ghc-scientific-bootstrap
10871 (package
10872 (inherit ghc-scientific)
10873 (name "ghc-scientific-bootstrap")
10874 (arguments `(#:tests? #f))
10875 (inputs
10876 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10877 ("ghc-hashable" ,ghc-hashable)
10878 ("ghc-primitive" ,ghc-primitive)))
10879 (native-inputs '())
799d8d3c 10880 (properties '((hidden? #t)))))
dddbc90c
RV
10881
10882(define-public ghc-sdl
10883 (package
10884 (name "ghc-sdl")
10885 (version "0.6.7.0")
10886 (source
10887 (origin
10888 (method url-fetch)
10889 (uri (string-append
10890 "https://hackage.haskell.org/package/SDL/SDL-"
10891 version
10892 ".tar.gz"))
10893 (sha256
10894 (base32
10895 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10896 (build-system haskell-build-system)
10897 (inputs
10898 `(("sdl" ,sdl)))
10899 (home-page "https://hackage.haskell.org/package/SDL")
10900 (synopsis "LibSDL for Haskell")
10901 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10902multimedia library designed to provide low level access to audio, keyboard,
10903mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10904by MPEG playback software, emulators, and many popular games, including the
10905award winning Linux port of \"Civilization: Call To Power.\"")
10906 (license license:bsd-3)))
10907
1874cdc1
RV
10908(define-public ghc-sdl2
10909 (package
10910 (name "ghc-sdl2")
145148ca 10911 (version "2.5.0.0")
1874cdc1
RV
10912 (source
10913 (origin
10914 (method url-fetch)
10915 (uri (string-append "https://hackage.haskell.org/package/"
10916 "sdl2/sdl2-" version ".tar.gz"))
10917 (sha256
10918 (base32
145148ca 10919 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10920 (build-system haskell-build-system)
10921 (arguments '(#:tests? #f)) ; tests require graphical environment
10922 (inputs
10923 `(("ghc-exceptions" ,ghc-exceptions)
10924 ("ghc-linear" ,ghc-linear)
10925 ("ghc-statevar" ,ghc-statevar)
10926 ("ghc-vector" ,ghc-vector)
10927 ("sdl2" ,sdl2)))
10928 (native-inputs
10929 `(("ghc-weigh" ,ghc-weigh)
10930 ("pkg-config" ,pkg-config)))
35437dbf 10931 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10932 (synopsis "High- and low-level bindings to the SDL library")
10933 (description
10934 "This package contains bindings to the SDL 2 library, in both high- and
10935low-level forms. The @code{SDL} namespace contains high-level bindings, where
10936enumerations are split into sum types, and we perform automatic
10937error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10938translation of the C API into Haskell FFI calls. As such, this does not
10939contain sum types nor error checking. Thus this namespace is suitable for
10940building your own abstraction over SDL, but is not recommended for day-to-day
10941programming.")
10942 (license license:bsd-3)))
10943
10944(define-public ghc-sdl2-image
10945 (package
10946 (name "ghc-sdl2-image")
10947 (version "2.0.0")
10948 (source
10949 (origin
10950 (method url-fetch)
10951 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10952 "sdl2-image-" version ".tar.gz"))
10953 (sha256
10954 (base32
10955 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10956 (build-system haskell-build-system)
10957 (inputs
10958 `(("ghc-sdl2" ,ghc-sdl2)
10959 ("sdl2-image" ,sdl2-image)))
10960 (native-inputs
10961 `(("pkg-config" ,pkg-config)))
3ef91e15 10962 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10963 (synopsis "Bindings to SDL2_image")
10964 (description "This package provides Haskell bindings to
10965@code{SDL2_image}.")
10966 (license license:expat)))
10967
10968(define-public ghc-sdl2-mixer
10969 (package
10970 (name "ghc-sdl2-mixer")
10971 (version "1.1.0")
10972 (source
10973 (origin
10974 (method url-fetch)
10975 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10976 "sdl2-mixer-" version ".tar.gz"))
10977 (sha256
10978 (base32
10979 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10980 (build-system haskell-build-system)
10981 (inputs
10982 `(("ghc-data-default-class" ,ghc-data-default-class)
10983 ("ghc-lifted-base" ,ghc-lifted-base)
10984 ("ghc-monad-control" ,ghc-monad-control)
10985 ("ghc-sdl2" ,ghc-sdl2)
10986 ("ghc-vector" ,ghc-vector)
10987 ("sdl2-mixer" ,sdl2-mixer)))
10988 (native-inputs
10989 `(("pkg-config" ,pkg-config)))
3ef91e15 10990 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10991 (synopsis "Bindings to SDL2 mixer")
10992 (description "This package provides Haskell bindings to
10993@code{SDL2_mixer}.")
10994 (license license:bsd-3)))
10995
dddbc90c
RV
10996(define-public ghc-sdl-image
10997 (package
10998 (name "ghc-sdl-image")
10999 (version "0.6.2.0")
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append
11004 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
11005 version
11006 ".tar.gz"))
11007 (sha256
11008 (base32
11009 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
11010 (build-system haskell-build-system)
11011 (arguments
11012 `(#:configure-flags
11013 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
11014 (sdl-image-include (string-append sdl-image "/include/SDL")))
11015 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
11016 (inputs
11017 `(("ghc-sdl" ,ghc-sdl)
11018 ("sdl-image" ,sdl-image)))
11019 (home-page "https://hackage.haskell.org/package/SDL-image")
11020 (synopsis "Haskell bindings to libSDL_image")
11021 (description "SDL_image is an image file loading library. It loads images
11022as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11023PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11024 (license license:bsd-3)))
11025
11026(define-public ghc-sdl-mixer
11027 (package
11028 (name "ghc-sdl-mixer")
11029 (version "0.6.3.0")
11030 (source
11031 (origin
11032 (method url-fetch)
11033 (uri (string-append
11034 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11035 version
11036 ".tar.gz"))
11037 (sha256
11038 (base32
11039 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11040 (build-system haskell-build-system)
11041 (arguments
11042 `(#:configure-flags
11043 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11044 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11045 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11046 (inputs
11047 `(("ghc-sdl" ,ghc-sdl)
11048 ("sdl-mixer" ,sdl-mixer)))
11049 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11050 (synopsis "Haskell bindings to libSDL_mixer")
11051 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11052supports any number of simultaneously playing channels of 16 bit stereo audio,
11053plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11054MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11055 (license license:bsd-3)))
11056
11057(define-public ghc-securemem
11058 (package
11059 (name "ghc-securemem")
11060 (version "0.1.10")
11061 (source
11062 (origin
11063 (method url-fetch)
11064 (uri (string-append "https://hackage.haskell.org/package/"
11065 "securemem-" version "/"
11066 "securemem-" version ".tar.gz"))
11067 (sha256
11068 (base32
11069 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11070 (build-system haskell-build-system)
11071 (inputs `(("ghc-byteable" ,ghc-byteable)
11072 ("ghc-memory" ,ghc-memory)))
11073 (home-page "https://github.com/vincenthz/hs-securemem")
11074 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11075Haskell")
11076 (description "SecureMem is similar to ByteString, except that it provides
11077a memory chunk that will be auto-scrubbed after it run out of scope.")
11078 (license license:bsd-3)))
11079
3cf7219c
JS
11080(define-public ghc-semialign
11081 (package
11082 (name "ghc-semialign")
11083 (version "1")
11084 (source
11085 (origin
11086 (method url-fetch)
11087 (uri (string-append
11088 "https://hackage.haskell.org/package/semialign/semialign-"
11089 version
11090 ".tar.gz"))
11091 (sha256
11092 (base32
11093 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11094 (build-system haskell-build-system)
11095 (inputs
11096 `(("ghc-these" ,ghc-these)
11097 ("ghc-base-compat" ,ghc-base-compat)
11098 ("ghc-hashable" ,ghc-hashable)
11099 ("ghc-tagged" ,ghc-tagged)
11100 ("ghc-unordered-containers" ,ghc-unordered-containers)
11101 ("ghc-vector" ,ghc-vector)
11102 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11103 (arguments
11104 `(#:cabal-revision
11105 ("1"
11106 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11107 (home-page
11108 "https://github.com/isomorphism/these")
11109 (synopsis
11110 "Align and Zip type-classes from the common Semialign ancestor ")
11111 (description
11112 "The major use of @code{These} of this is provided by the
11113@code{align} member of @code{Semialign} class, representing a
11114generalized notion of \"zipping with padding\" that combines
11115structures without truncating to the size of the smaller input. It
11116turns out that @code{zip} operation fits well the @code{Semialign}
11117class, forming lattice-like structure.")
11118 (license license:bsd-3)))
11119
dddbc90c
RV
11120(define-public ghc-semigroupoids
11121 (package
11122 (name "ghc-semigroupoids")
a8aaadf2 11123 (version "5.3.3")
dddbc90c
RV
11124 (source
11125 (origin
11126 (method url-fetch)
11127 (uri (string-append
11128 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11129 version
11130 ".tar.gz"))
11131 (sha256
11132 (base32
a8aaadf2 11133 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11134 (build-system haskell-build-system)
dddbc90c
RV
11135 (inputs
11136 `(("ghc-base-orphans" ,ghc-base-orphans)
11137 ("ghc-transformers-compat" ,ghc-transformers-compat)
11138 ("ghc-bifunctors" ,ghc-bifunctors)
11139 ("ghc-comonad" ,ghc-comonad)
11140 ("ghc-contravariant" ,ghc-contravariant)
11141 ("ghc-distributive" ,ghc-distributive)
11142 ("ghc-hashable" ,ghc-hashable)
11143 ("ghc-semigroups" ,ghc-semigroups)
11144 ("ghc-tagged" ,ghc-tagged)
11145 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11146 (native-inputs
11147 `(("cabal-doctest" ,cabal-doctest)
11148 ("ghc-doctest" ,ghc-doctest)))
11149 (home-page "https://github.com/ekmett/semigroupoids")
11150 (synopsis "Semigroupoids operations for Haskell")
11151 (description "This library provides a wide array of (semi)groupoids and
11152operations for working with them. A @code{Semigroupoid} is a @code{Category}
11153without the requirement of identity arrows for every object in the category.
11154A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11155Finally, to work with these weaker structures it is beneficial to have
11156containers that can provide stronger guarantees about their contents, so
11157versions of @code{Traversable} and @code{Foldable} that can be folded with
11158just a @code{Semigroup} are added.")
11159 (license license:bsd-3)))
11160
11161(define-public ghc-semigroups
11162 (package
11163 (name "ghc-semigroups")
11164 (version "0.18.5")
11165 (source
11166 (origin
11167 (method url-fetch)
11168 (uri (string-append
11169 "https://hackage.haskell.org/package/semigroups/semigroups-"
11170 version
11171 ".tar.gz"))
11172 (sha256
11173 (base32
11174 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11175 (build-system haskell-build-system)
11176 (inputs
11177 `(("ghc-nats" ,ghc-nats)
11178 ("ghc-tagged" ,ghc-tagged)
11179 ("ghc-unordered-containers" ,ghc-unordered-containers)
11180 ("ghc-hashable" ,ghc-hashable)))
11181 (home-page "https://github.com/ekmett/semigroups/")
11182 (synopsis "Semigroup operations for Haskell")
11183 (description "This package provides semigroups for Haskell. In
11184mathematics, a semigroup is an algebraic structure consisting of a set
11185together with an associative binary operation. A semigroup generalizes a
11186monoid in that there might not exist an identity element. It
11187also (originally) generalized a group (a monoid with all inverses) to a type
11188where every element did not have to have an inverse, thus the name
11189semigroup.")
11190 (license license:bsd-3)))
11191
11192(define-public ghc-semigroups-bootstrap
11193 (package
11194 (inherit ghc-semigroups)
11195 (name "ghc-semigroups-bootstrap")
11196 (inputs
11197 `(("ghc-nats" ,ghc-nats-bootstrap)
11198 ("ghc-tagged" ,ghc-tagged)
11199 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11200 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11201 (properties '((hidden? #t)))))
dddbc90c 11202
47c526df
JS
11203(define-public ghc-serialise
11204 (package
11205 (name "ghc-serialise")
11206 (version "0.2.1.0")
11207 (source
11208 (origin
11209 (method url-fetch)
11210 (uri (string-append
11211 "mirror://hackage/package/serialise/serialise-"
11212 version
11213 ".tar.gz"))
11214 (sha256
11215 (base32
11216 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11217 (build-system haskell-build-system)
11218 (inputs
11219 `(("ghc-cborg" ,ghc-cborg)
11220 ("ghc-half" ,ghc-half)
11221 ("ghc-hashable" ,ghc-hashable)
11222 ("ghc-primitive" ,ghc-primitive)
11223 ("ghc-unordered-containers" ,ghc-unordered-containers)
11224 ("ghc-vector" ,ghc-vector)))
11225 (native-inputs
11226 `(("ghc-quickcheck" ,ghc-quickcheck)
11227 ("ghc-tasty" ,ghc-tasty)
11228 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11229 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11230 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11231 (arguments
11232 `(#:cabal-revision
11233 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11234 (home-page "https://github.com/well-typed/cborg")
11235 (synopsis "Binary serialisation library for Haskell values")
11236 (description
11237 "This package (formerly binary-serialise-cbor) provides pure,
11238efficient serialization of Haskell values directly into ByteStrings for
11239storage or transmission purposes. By providing a set of type class instances,
11240you can also serialise any custom data type you have as well.
11241
11242The underlying binary format used is the 'Concise Binary Object
11243Representation', or CBOR, specified in RFC 7049. As a result, serialised
11244Haskell values have implicit structure outside of the Haskell program itself,
11245meaning they can be inspected or analyzed without custom tools.
11246
11247An implementation of the standard bijection between CBOR and JSON is
11248provided by the https://hackage.haskell.org/package/cborg-json
11249package. Also see https://hackage.haskell.org/package/cbor-tool for a
11250convenient command-line utility for working with CBOR data.")
11251 (license license:bsd-3)))
11252
dddbc90c
RV
11253(define-public ghc-setenv
11254 (package
11255 (name "ghc-setenv")
11256 (version "0.1.1.3")
11257 (source
11258 (origin
11259 (method url-fetch)
11260 (uri (string-append
11261 "https://hackage.haskell.org/package/setenv/setenv-"
11262 version
11263 ".tar.gz"))
11264 (sha256
11265 (base32
11266 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11267 (build-system haskell-build-system)
11268 (home-page "https://hackage.haskell.org/package/setenv")
11269 (synopsis "Library for setting environment variables")
11270 (description "This package provides a Haskell library for setting
11271environment variables.")
11272 (license license:expat)))
11273
11274(define-public ghc-setlocale
11275 (package
11276 (name "ghc-setlocale")
9d7cfc9b 11277 (version "1.0.0.9")
dddbc90c
RV
11278 (source (origin
11279 (method url-fetch)
11280 (uri (string-append
11281 "https://hackage.haskell.org/package/setlocale-"
11282 version "/setlocale-" version ".tar.gz"))
11283 (sha256
11284 (base32
9d7cfc9b 11285 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11286 (build-system haskell-build-system)
11287 (home-page "https://hackage.haskell.org/package/setlocale")
11288 (synopsis "Haskell bindings to setlocale")
11289 (description "This package provides Haskell bindings to the
11290@code{setlocale} C function.")
11291 (license license:bsd-3)))
11292
11293(define-public ghc-shakespeare
11294 (package
11295 (name "ghc-shakespeare")
f680955f 11296 (version "2.0.22")
dddbc90c
RV
11297 (source
11298 (origin
11299 (method url-fetch)
11300 (uri (string-append "https://hackage.haskell.org/package/"
11301 "shakespeare-" version "/"
11302 "shakespeare-" version ".tar.gz"))
11303 (sha256
11304 (base32
f680955f 11305 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11306 (build-system haskell-build-system)
11307 (inputs `(("ghc-aeson" ,ghc-aeson)
11308 ("ghc-blaze-markup" ,ghc-blaze-markup)
11309 ("ghc-blaze-html" ,ghc-blaze-html)
11310 ("ghc-exceptions" ,ghc-exceptions)
11311 ("ghc-vector" ,ghc-vector)
11312 ("ghc-unordered-containers" ,ghc-unordered-containers)
11313 ("ghc-scientific" ,ghc-scientific)))
11314 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11315 ("ghc-hunit" ,ghc-hunit)
11316 ("hspec-discover" ,hspec-discover)))
11317 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11318 (synopsis "Family of type-safe template languages for Haskell")
11319 (description "This Haskell package provides a family of type-safe
11320templates with simple variable interpolation. Shakespeare templates can
11321be used inline with a quasi-quoter or in an external file and it
11322interpolates variables according to the type being inserted.")
11323 (license license:expat)))
11324
11325(define-public ghc-shelly
11326 (package
11327 (name "ghc-shelly")
11328 (version "1.8.1")
11329 (source
11330 (origin
11331 (method url-fetch)
11332 (uri (string-append
11333 "https://hackage.haskell.org/package/shelly/shelly-"
11334 version ".tar.gz"))
11335 (sha256
11336 (base32
11337 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11338 (build-system haskell-build-system)
11339 (inputs
11340 `(("ghc-unix-compat" ,ghc-unix-compat)
11341 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11342 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11343 ("ghc-monad-control" ,ghc-monad-control)
11344 ("ghc-lifted-base" ,ghc-lifted-base)
11345 ("ghc-lifted-async" ,ghc-lifted-async)
11346 ("ghc-exceptions" ,ghc-exceptions)
11347 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11348 ("ghc-async" ,ghc-async)
11349 ("ghc-transformers-base" ,ghc-transformers-base)
11350 ("ghc-hunit" ,ghc-hunit)
11351 ("ghc-hspec" ,ghc-hspec)
11352 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11353 (home-page "https://github.com/yesodweb/Shelly.hs")
11354 (synopsis "Shell-like (systems) programming in Haskell")
11355 (description
11356 "Shelly provides convenient systems programming in Haskell, similar in
11357spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11358 (license license:bsd-3)))
11359
11360(define-public ghc-silently
11361 (package
11362 (name "ghc-silently")
544bb369 11363 (version "1.2.5.1")
dddbc90c
RV
11364 (source
11365 (origin
11366 (method url-fetch)
11367 (uri (string-append
11368 "https://hackage.haskell.org/package/silently/silently-"
11369 version
11370 ".tar.gz"))
11371 (sha256
11372 (base32
544bb369 11373 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11374 (build-system haskell-build-system)
11375 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11376 ;; (inputs
11377 ;; `(("ghc-temporary" ,ghc-temporary)))
11378 (home-page "https://github.com/hspec/silently")
11379 (synopsis "Prevent writing to stdout")
11380 (description "This package provides functions to prevent or capture
11381writing to stdout and other handles.")
11382 (license license:bsd-3)))
11383
11384(define-public ghc-simple-reflect
11385 (package
11386 (name "ghc-simple-reflect")
11387 (version "0.3.3")
11388 (source
11389 (origin
11390 (method url-fetch)
11391 (uri (string-append
11392 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11393 version
11394 ".tar.gz"))
11395 (sha256
11396 (base32
11397 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11398 (build-system haskell-build-system)
11399 (home-page
11400 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11401 (synopsis
11402 "Simple reflection of expressions containing variables")
11403 (description
11404 "This package allows simple reflection of expressions containing
11405variables. Reflection here means that a Haskell expression is turned into a
11406string. The primary aim of this package is teaching and understanding; there
11407are no options for manipulating the reflected expressions beyond showing
11408them.")
11409 (license license:bsd-3)))
11410
11411(define-public ghc-simple-sendfile
11412 (package
11413 (name "ghc-simple-sendfile")
08f54390 11414 (version "0.2.30")
dddbc90c
RV
11415 (source
11416 (origin
11417 (method url-fetch)
11418 (uri (string-append "https://hackage.haskell.org/package/"
11419 "simple-sendfile-" version "/"
11420 "simple-sendfile-" version ".tar.gz"))
11421 (sha256
11422 (base32
08f54390 11423 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11424 (build-system haskell-build-system)
11425 (inputs
11426 `(("ghc-conduit" ,ghc-conduit)
11427 ("ghc-conduit-extra" ,ghc-conduit-extra)
11428 ("ghc-network" ,ghc-network)
11429 ("ghc-resourcet" ,ghc-resourcet)))
11430 (native-inputs
11431 `(("ghc-hspec" ,ghc-hspec)
11432 ("hspec-discover" ,hspec-discover)))
11433 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11434 (synopsis "Cross platform library for the sendfile system call")
11435 (description "This library tries to call minimum system calls which
11436are the bottleneck of web servers.")
11437 (license license:bsd-3)))
11438
06966c05
TS
11439(define-public ghc-size-based
11440 (package
11441 (name "ghc-size-based")
11442 (version "0.1.2.0")
11443 (source
11444 (origin
11445 (method url-fetch)
11446 (uri (string-append "https://hackage.haskell.org/package/"
11447 "size-based/size-based-" version ".tar.gz"))
11448 (sha256
11449 (base32
11450 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11451 (build-system haskell-build-system)
11452 (inputs
11453 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11454 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11455 ("ghc-semigroups" ,ghc-semigroups)))
11456 (arguments
11457 `(#:cabal-revision
11458 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11459 (home-page "https://hackage.haskell.org/package/size-based")
11460 (synopsis "Sized functors for size-based enumerations")
11461 (description "This library provides a framework for size-based
11462enumerations.")
11463 (license license:bsd-3)))
11464
dddbc90c
RV
11465(define-public ghc-skylighting-core
11466 (package
11467 (name "ghc-skylighting-core")
1826c2a8 11468 (version "0.8.2.1")
dddbc90c
RV
11469 (source (origin
11470 (method url-fetch)
11471 (uri (string-append "https://hackage.haskell.org/package/"
11472 "skylighting-core/skylighting-core-"
11473 version ".tar.gz"))
11474 (sha256
11475 (base32
1826c2a8 11476 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11477 (build-system haskell-build-system)
11478 (inputs
11479 `(("ghc-aeson" ,ghc-aeson)
11480 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11481 ("ghc-attoparsec" ,ghc-attoparsec)
11482 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11483 ("ghc-blaze-html" ,ghc-blaze-html)
11484 ("ghc-case-insensitive" ,ghc-case-insensitive)
11485 ("ghc-colour" ,ghc-colour)
11486 ("ghc-hxt" ,ghc-hxt)
11487 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11488 ("ghc-safe" ,ghc-safe)
11489 ("ghc-utf8-string" ,ghc-utf8-string)))
11490 (native-inputs
11491 `(("ghc-diff" ,ghc-diff)
11492 ("ghc-hunit" ,ghc-hunit)
11493 ("ghc-pretty-show" ,ghc-pretty-show)
11494 ("ghc-quickcheck" ,ghc-quickcheck)
11495 ("ghc-tasty" ,ghc-tasty)
11496 ("ghc-tasty-golden" ,ghc-tasty-golden)
11497 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11498 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11499 (home-page "https://github.com/jgm/skylighting")
11500 (synopsis "Syntax highlighting library")
11501 (description "Skylighting is a syntax highlighting library with support
11502for over one hundred languages. It derives its tokenizers from XML syntax
11503definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11504supported by that framework can be added. An optional command-line program is
11505provided. Skylighting is intended to be the successor to highlighting-kate.")
11506 (license license:gpl2)))
11507
11508(define-public ghc-skylighting
11509 (package
11510 (inherit ghc-skylighting-core)
11511 (name "ghc-skylighting")
36c940cf 11512 (version "0.8.2.1")
dddbc90c
RV
11513 (source (origin
11514 (method url-fetch)
11515 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11516 version "/skylighting-" version ".tar.gz"))
11517 (sha256
11518 (base32
36c940cf 11519 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11520 (inputs
11521 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11522 ,@(package-inputs ghc-skylighting-core)))))
11523
11524(define-public ghc-smallcheck
11525 (package
11526 (name "ghc-smallcheck")
11527 (version "1.1.5")
11528 (source
11529 (origin
11530 (method url-fetch)
11531 (uri (string-append
11532 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11533 version
11534 ".tar.gz"))
11535 (sha256
11536 (base32
11537 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11538 (build-system haskell-build-system)
11539 (inputs
11540 `(("ghc-logict" ,ghc-logict)))
11541 (home-page
11542 "https://github.com/feuerbach/smallcheck")
11543 (synopsis "Property-based testing library")
a84be333 11544 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11545properties for all test cases up to some depth. The test cases are generated
11546automatically by SmallCheck.")
11547 (license license:bsd-3)))
11548
11549(define-public ghc-socks
11550 (package
11551 (name "ghc-socks")
ab761e9d 11552 (version "0.6.1")
dddbc90c
RV
11553 (source (origin
11554 (method url-fetch)
11555 (uri (string-append "https://hackage.haskell.org/package/"
11556 "socks/socks-" version ".tar.gz"))
11557 (sha256
11558 (base32
ab761e9d 11559 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11560 (build-system haskell-build-system)
11561 (inputs
11562 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11563 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11564 ("ghc-network" ,ghc-network)))
11565 (home-page "https://github.com/vincenthz/hs-socks")
11566 (synopsis "SOCKS proxy (version 5) implementation")
11567 (description
11568 "This library provides a SOCKS proxy (version 5) implementation.")
11569 (license license:bsd-3)))
11570
081d85d6
TS
11571(define-public ghc-sop-core
11572 (package
11573 (name "ghc-sop-core")
11574 (version "0.4.0.0")
11575 (source
11576 (origin
11577 (method url-fetch)
11578 (uri (string-append "https://hackage.haskell.org/package/"
11579 "sop-core/sop-core-" version ".tar.gz"))
11580 (sha256
11581 (base32
11582 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11583 (build-system haskell-build-system)
3ef91e15 11584 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11585 (synopsis "True Sums of Products")
11586 (description "This package provides an implementation of
11587@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11588is the main module of this library and contains more detailed
11589documentation. The main use case of this package is to serve as the
11590core of @url{https://hackage.haskell.org/package/generics-sop,
11591generics-sop}.")
11592 (license license:bsd-3)))
11593
4c77a1a0
JS
11594(define-public ghc-special-values
11595 (package
11596 (name "ghc-special-values")
11597 (version "0.1.0.0")
11598 (source
11599 (origin
11600 (method url-fetch)
11601 (uri (string-append
11602 "https://hackage.haskell.org/package/special-values/"
11603 "special-values-" version ".tar.gz"))
11604 (sha256
11605 (base32
11606 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11607 (build-system haskell-build-system)
11608 (inputs
11609 `(("ghc-scientific" ,ghc-scientific)
11610 ("ghc-ieee754" ,ghc-ieee754)
11611 ("ghc-nats" ,ghc-nats)))
11612 (home-page
11613 "https://github.com/minad/special-values#readme")
11614 (synopsis "Typeclass providing special values")
11615 (description
11616 "Special values are provided by a SpecialValues typeclass. Those can be
11617used for example by QuickCheck, see quickcheck-special." )
11618 (license license:expat)))
11619
dddbc90c
RV
11620(define-public ghc-split
11621 (package
11622 (name "ghc-split")
11623 (version "0.2.3.3")
534d6caa 11624 (outputs '("out" "static" "doc"))
dddbc90c
RV
11625 (source
11626 (origin
11627 (method url-fetch)
11628 (uri (string-append
11629 "https://hackage.haskell.org/package/split/split-"
11630 version
11631 ".tar.gz"))
11632 (sha256
11633 (base32
11634 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11635 (build-system haskell-build-system)
9bbc21a7
TS
11636 (arguments
11637 `(#:cabal-revision
11638 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11639 (native-inputs
11640 `(("ghc-quickcheck" ,ghc-quickcheck)))
11641 (home-page "https://hackage.haskell.org/package/split")
11642 (synopsis "Combinator library for splitting lists")
11643 (description "This package provides a collection of Haskell functions for
11644splitting lists into parts, akin to the @code{split} function found in several
11645mainstream languages.")
11646 (license license:bsd-3)))
11647
7799d17f 11648(define-public ghc-splitmix
49367c92 11649 (package
7799d17f 11650 (name "ghc-splitmix")
49367c92
TS
11651 (version "0.0.3")
11652 (source
11653 (origin
11654 (method url-fetch)
11655 (uri (string-append "https://hackage.haskell.org/package/"
11656 "splitmix/splitmix-" version ".tar.gz"))
11657 (sha256
11658 (base32
11659 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11660 (build-system haskell-build-system)
49367c92
TS
11661 (inputs
11662 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11663 (native-inputs
11664 `(("ghc-hunit" ,ghc-hunit)
11665 ("ghc-async" ,ghc-async)
11666 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11667 ("ghc-tf-random" ,ghc-tf-random)
11668 ("ghc-vector" ,ghc-vector)))
92a79fee 11669 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11670 (synopsis "Fast and splittable pseudorandom number generator")
11671 (description "This package provides a Pure Haskell implementation of the
11672SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11673pseudorandom number generator that is quite fast: 9 64-bit
11674arithmetic/logical operations per 64 bits generated. SplitMix is tested
11675with two standard statistical test suites (DieHarder and TestU01, this
11676implementation only using the former) and it appears to be adequate for
11677\"everyday\" use, such as Monte Carlo algorithms and randomized data
11678structures where speed is important. In particular, it @strong{should not
11679be used for cryptographic or security applications}, because generated
11680sequences of pseudorandom values are too predictable (the mixing functions
11681are easily inverted, and two successive outputs suffice to reconstruct the
11682internal state).")
11683 (license license:bsd-3)))
11684
7799d17f
TS
11685(define-public ghc-splitmix-bootstrap
11686 (package
11687 (inherit ghc-splitmix)
11688 (name "ghc-splitmix-bootstrap")
11689 (arguments `(#:tests? #f))
11690 (native-inputs '())
11691 (properties '((hidden? #t)))))
11692
a152258b
JS
11693(define-public ghc-spoon
11694 (package
11695 (name "ghc-spoon")
11696 (version "0.3.1")
11697 (source
11698 (origin
11699 (method url-fetch)
11700 (uri (string-append
11701 "https://hackage.haskell.org/package/spoon/spoon-"
11702 version
11703 ".tar.gz"))
11704 (sha256
11705 (base32
11706 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11707 (build-system haskell-build-system)
11708 (arguments
11709 `(#:cabal-revision
11710 ("1"
11711 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11712 (home-page
11713 "http://hackage.haskell.org/package/spoon")
11714 (synopsis
11715 "Catch errors thrown from pure computations")
11716 (description
11717 "Takes an error-throwing expression and puts it back in the Maybe it
11718belongs in.
11719
11720Note that this suffers from the
11721@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11722 (license license:bsd-3)))
11723
dddbc90c
RV
11724(define-public ghc-statevar
11725 (package
11726 (name "ghc-statevar")
19419709 11727 (version "1.2")
dddbc90c
RV
11728 (source
11729 (origin
11730 (method url-fetch)
11731 (uri (string-append
11732 "https://hackage.haskell.org/package/StateVar/StateVar-"
11733 version
11734 ".tar.gz"))
11735 (sha256
11736 (base32
19419709 11737 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11738 (build-system haskell-build-system)
11739 (home-page "https://hackage.haskell.org/package/StateVar")
11740 (synopsis "State variables for Haskell")
11741 (description "This package provides state variables, which are references
11742in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11743 (license license:bsd-3)))
11744
11745(define-public ghc-statistics
11746 (package
11747 (name "ghc-statistics")
60e78e68 11748 (version "0.15.1.1")
dddbc90c
RV
11749 (source
11750 (origin
11751 (method url-fetch)
11752 (uri (string-append "https://hackage.haskell.org/package/"
11753 "statistics-" version "/"
11754 "statistics-" version ".tar.gz"))
11755 (sha256
11756 (base32
60e78e68 11757 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11758 (build-system haskell-build-system)
11759 (arguments
60e78e68 11760 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11761 #:tests? #f))
11762 (inputs
11763 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11764 ("ghc-async" ,ghc-async)
dddbc90c 11765 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11766 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11767 ("ghc-math-functions" ,ghc-math-functions)
11768 ("ghc-monad-par" ,ghc-monad-par)
11769 ("ghc-mwc-random" ,ghc-mwc-random)
11770 ("ghc-primitive" ,ghc-primitive)
11771 ("ghc-vector" ,ghc-vector)
11772 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11773 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11774 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11775 (native-inputs
11776 `(("ghc-hunit" ,ghc-hunit)
11777 ("ghc-quickcheck" ,ghc-quickcheck)
11778 ("ghc-ieee754" ,ghc-ieee754)
11779 ("ghc-test-framework" ,ghc-test-framework)
11780 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11781 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11782 (home-page "https://github.com/bos/mwc-random")
11783 (synopsis "Haskell library of statistical types, data, and functions")
11784 (description "This library provides a number of common functions
11785and types useful in statistics. We focus on high performance, numerical
11786robustness, and use of good algorithms. Where possible, we provide references
11787to the statistical literature.
11788
11789The library's facilities can be divided into four broad categories:
11790
11791@itemize
11792@item Working with widely used discrete and continuous probability
11793distributions. (There are dozens of exotic distributions in use; we focus
11794on the most common.)
11795
11796@item Computing with sample data: quantile estimation, kernel density
11797estimation, histograms, bootstrap methods, significance testing,
11798and regression and autocorrelation analysis.
11799
11800@item Random variate generation under several different distributions.
11801
11802@item Common statistical tests for significant differences between samples.
11803@end itemize")
11804 (license license:bsd-2)))
11805
11806(define-public ghc-stm-chans
11807 (package
11808 (name "ghc-stm-chans")
11809 (version "3.0.0.4")
11810 (source
11811 (origin
11812 (method url-fetch)
11813 (uri (string-append "https://hackage.haskell.org/package/"
11814 "stm-chans-" version "/"
11815 "stm-chans-" version ".tar.gz"))
11816 (sha256
11817 (base32
11818 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11819 (build-system haskell-build-system)
11820 (home-page "https://hackage.haskell.org/package/stm-chans")
11821 (synopsis "Additional types of channels for ghc-stm")
11822 (description "This Haskell package offers a collection of channel types,
11823similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11824features.")
11825 (license license:bsd-3)))
11826
11827(define-public ghc-stm-conduit
11828 (package
11829 (name "ghc-stm-conduit")
cd518e95 11830 (version "4.0.1")
dddbc90c
RV
11831 (source
11832 (origin
11833 (method url-fetch)
11834 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11835 "stm-conduit-" version ".tar.gz"))
11836 (sha256
11837 (base32
cd518e95 11838 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11839 (build-system haskell-build-system)
11840 (inputs
11841 `(("ghc-stm-chans" ,ghc-stm-chans)
11842 ("ghc-cereal" ,ghc-cereal)
11843 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11844 ("ghc-conduit" ,ghc-conduit)
11845 ("ghc-conduit-extra" ,ghc-conduit-extra)
11846 ("ghc-exceptions" ,ghc-exceptions)
11847 ("ghc-resourcet" ,ghc-resourcet)
11848 ("ghc-async" ,ghc-async)
11849 ("ghc-monad-loops" ,ghc-monad-loops)
11850 ("ghc-unliftio" ,ghc-unliftio)))
11851 (native-inputs
11852 `(("ghc-doctest" ,ghc-doctest)
11853 ("ghc-quickcheck" ,ghc-quickcheck)
11854 ("ghc-hunit" ,ghc-hunit)
11855 ("ghc-test-framework" ,ghc-test-framework)
11856 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11857 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11858 (home-page "https://github.com/cgaebel/stm-conduit")
11859 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11860 (description
11861 "This package provides two simple conduit wrappers around STM channels: a
11862source and a sink.")
11863 (license license:bsd-3)))
11864
11865(define-public ghc-stmonadtrans
11866 (package
11867 (name "ghc-stmonadtrans")
11868 (version "0.4.3")
11869 (source
11870 (origin
11871 (method url-fetch)
11872 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11873 "/STMonadTrans-" version ".tar.gz"))
11874 (sha256
11875 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11876 (build-system haskell-build-system)
11877 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11878 (synopsis "Monad transformer version of the ST monad")
11879 (description
11880 "This package provides a monad transformer version of the @code{ST} monad
11881for strict state threads.")
11882 (license license:bsd-3)))
11883
11884(define-public ghc-storable-complex
11885 (package
11886 (name "ghc-storable-complex")
4a35e3c3 11887 (version "0.2.3.0")
dddbc90c
RV
11888 (source
11889 (origin
11890 (method url-fetch)
11891 (uri (string-append
11892 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11893 version ".tar.gz"))
11894 (sha256
4a35e3c3 11895 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11896 (build-system haskell-build-system)
4a35e3c3
TS
11897 (inputs
11898 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11899 (home-page "https://github.com/cartazio/storable-complex")
11900 (synopsis "Haskell Storable instance for Complex")
11901 (description "This package provides a Haskell library including a
11902Storable instance for Complex which is binary compatible with C99, C++
11903and Fortran complex data types.")
11904 (license license:bsd-3)))
11905
ad80074a
JS
11906(define-public ghc-storable-record
11907 (package
11908 (name "ghc-storable-record")
11909 (version "0.0.4")
11910 (source
11911 (origin
11912 (method url-fetch)
11913 (uri
11914 (string-append
11915 "https://hackage.haskell.org/package/storable-record/"
11916 "storable-record-" version ".tar.gz"))
11917 (sha256
11918 (base32
11919 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11920 (build-system haskell-build-system)
11921 (inputs
11922 `(("ghc-semigroups" ,ghc-semigroups)
11923 ("ghc-utility-ht" ,ghc-utility-ht)
11924 ("ghc-storablevector" ,ghc-storablevector)
11925 ("ghc-timeit" ,ghc-timeit)))
11926 (home-page "https://hackage.haskell.org/package/storable-record")
11927 (synopsis "Elegant definition of Storable instances for records")
11928 (description "With this package you can build a Storable instance of
11929a record type from Storable instances of its elements in an elegant way.
11930It does not do any magic, just a bit arithmetic to compute the right
11931offsets, that would be otherwise done manually or by a preprocessor like
11932C2HS. There is no guarantee that the generated memory layout is
11933compatible with that of a corresponding C struct. However, the module
11934generates the smallest layout that is possible with respect to the
11935alignment of the record elements.")
11936 (license license:bsd-3)))
11937
55f4c653
JS
11938(define-public ghc-storable-tuple
11939 (package
11940 (name "ghc-storable-tuple")
11941 (version "0.0.3.3")
11942 (source
11943 (origin
11944 (method url-fetch)
11945 (uri
11946 (string-append
11947 "https://hackage.haskell.org/package/storable-tuple/"
11948 "storable-tuple-" version ".tar.gz"))
11949 (sha256
11950 (base32
11951 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11952 (build-system haskell-build-system)
11953 (inputs
11954 `(("ghc-storable-record" ,ghc-storable-record)
11955 ("ghc-utility-ht" ,ghc-utility-ht)
11956 ("ghc-base-orphans" ,ghc-base-orphans)))
11957 (home-page "https://hackage.haskell.org/package/storable-tuple")
11958 (synopsis "Storable instance for pairs and triples")
11959 (description "This package provides a Storable instance for pairs
11960and triples which should be binary compatible with C99 and C++. The
11961only purpose of this package is to provide a standard location for this
11962instance so that other packages needing this instance can play nicely
11963together.")
11964 (license license:bsd-3)))
11965
bc06ca45
JS
11966(define-public ghc-storablevector
11967 (package
11968 (name "ghc-storablevector")
11969 (version "0.2.13")
11970 (source
11971 (origin
11972 (method url-fetch)
11973 (uri
11974 (string-append
11975 "https://hackage.haskell.org/package/storablevector/storablevector-"
11976 version ".tar.gz"))
11977 (sha256
11978 (base32
11979 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11980 (build-system haskell-build-system)
11981 (inputs
11982 `(("ghc-non-negative" ,ghc-non-negative)
11983 ("ghc-utility-ht" ,ghc-utility-ht)
11984 ("ghc-semigroups" ,ghc-semigroups)
11985 ("ghc-unsafe" ,ghc-unsafe)
11986 ("ghc-quickcheck" ,ghc-quickcheck)
11987 ("ghc-syb" ,ghc-syb)))
228d2901 11988 (home-page "https://wiki.haskell.org/Storable_Vector")
bc06ca45
JS
11989 (synopsis "Fast, packed, strict storable arrays with a list interface")
11990 (description "This library provides fast, packed, strict storable
11991arrays with a list interface, a chunky lazy list interface with variable
11992chunk size and an interface for write access via the ST monad. This is
11993much like bytestring and binary but can be used for every
11994@code{Foreign.Storable.Storable} type. See also
11995@url{http://hackage.haskell.org/package/vector}, a library with a
11996similar intention.
11997
11998This library does not do advanced fusion optimization, since especially
11999for lazy vectors this would either be incorrect or not applicable. See
12000@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
12001a library that provides fusion with lazy lists.")
12002 (license license:bsd-3)))
12003
dddbc90c
RV
12004(define-public ghc-streaming-commons
12005 (package
12006 (name "ghc-streaming-commons")
12007 (version "0.2.1.1")
12008 (source
12009 (origin
12010 (method url-fetch)
12011 (uri (string-append "https://hackage.haskell.org/package/"
12012 "streaming-commons/streaming-commons-"
12013 version ".tar.gz"))
12014 (sha256
12015 (base32
12016 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
12017 (build-system haskell-build-system)
12018 (inputs
12019 `(("ghc-async" ,ghc-async)
12020 ("ghc-blaze-builder" ,ghc-blaze-builder)
12021 ("ghc-network" ,ghc-network)
12022 ("ghc-random" ,ghc-random)
12023 ("ghc-zlib" ,ghc-zlib)))
12024 (native-inputs
12025 `(("ghc-quickcheck" ,ghc-quickcheck)
12026 ("ghc-hspec" ,ghc-hspec)
12027 ("hspec-discover" ,hspec-discover)))
12028 (home-page "https://hackage.haskell.org/package/streaming-commons")
12029 (synopsis "Conduit and pipes needed by some streaming data libraries")
12030 (description "This package provides low-dependency functionality commonly
12031needed by various Haskell streaming data libraries, such as @code{conduit} and
12032@code{pipe}s.")
12033 (license license:expat)))
12034
12035(define-public ghc-strict
12036 (package
12037 (name "ghc-strict")
12038 (version "0.3.2")
12039 (source
12040 (origin
12041 (method url-fetch)
12042 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12043 version ".tar.gz"))
12044 (sha256
12045 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12046 (build-system haskell-build-system)
12047 (home-page "https://hackage.haskell.org/package/strict")
12048 (synopsis "Strict data types and String IO")
12049 (description
12050 "This package provides strict versions of some standard Haskell data
12051types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12052IO operations.")
12053 (license license:bsd-3)))
12054
12055(define-public ghc-stringbuilder
12056 (package
12057 (name "ghc-stringbuilder")
12058 (version "0.5.1")
12059 (source
12060 (origin
12061 (method url-fetch)
12062 (uri (string-append
12063 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12064 version
12065 ".tar.gz"))
12066 (sha256
12067 (base32
12068 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12069 (build-system haskell-build-system)
12070 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12071 ; enabled
12072 (home-page "https://hackage.haskell.org/package/stringbuilder")
12073 (synopsis "Writer monad for multi-line string literals")
12074 (description "This package provides a writer monad for multi-line string
12075literals.")
12076 (license license:expat)))
12077
12078(define-public ghc-string-qq
12079 (package
12080 (name "ghc-string-qq")
4d6fddc3 12081 (version "0.0.4")
dddbc90c
RV
12082 (source
12083 (origin
12084 (method url-fetch)
12085 (uri (string-append
12086 "https://hackage.haskell.org/package/string-qq/string-qq-"
12087 version
12088 ".tar.gz"))
12089 (sha256
12090 (base32
4d6fddc3 12091 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12092 (build-system haskell-build-system)
4d6fddc3
TS
12093 (native-inputs
12094 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12095 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12096 (synopsis
12097 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12098 (description
12099 "This package provides a quasiquoter for non-interpolated strings, texts
12100and bytestrings.")
12101 (license license:public-domain)))
12102
12103(define-public ghc-stringsearch
12104 (package
12105 (name "ghc-stringsearch")
12106 (version "0.3.6.6")
12107 (source
12108 (origin
12109 (method url-fetch)
12110 (uri (string-append
12111 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12112 version
12113 ".tar.gz"))
12114 (sha256
12115 (base32
12116 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12117 (build-system haskell-build-system)
e2303abb
TS
12118 (arguments
12119 `(#:cabal-revision
12120 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12121 (home-page "https://bitbucket.org/dafis/stringsearch")
12122 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12123 (description "This package provides several functions to quickly search
12124for substrings in strict or lazy @code{ByteStrings}. It also provides
12125functions for breaking or splitting on substrings and replacing all
12126occurrences of a substring (the first in case of overlaps) with another.")
12127 (license license:bsd-3)))
12128
dcf3f8f4
TS
12129(define-public ghc-svg-builder
12130 (package
12131 (name "ghc-svg-builder")
12132 (version "0.1.1")
12133 (source
12134 (origin
12135 (method url-fetch)
12136 (uri (string-append "https://hackage.haskell.org/package/"
12137 "svg-builder/svg-builder-" version ".tar.gz"))
12138 (sha256
12139 (base32
12140 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12141 (build-system haskell-build-system)
12142 (inputs
12143 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12144 ("ghc-hashable" ,ghc-hashable)
12145 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12146 (arguments
12147 `(#:cabal-revision
12148 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12149 (home-page "https://github.com/diagrams/svg-builder.git")
12150 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12151 (description "Easy-to-write domain-specific language (DSL) for
12152building Scalable Vector Graphics (SVG).")
12153 (license license:bsd-3)))
12154
dddbc90c
RV
12155(define-public ghc-syb
12156 (package
12157 (name "ghc-syb")
07d65eef 12158 (version "0.7.1")
534d6caa 12159 (outputs '("out" "static" "doc"))
dddbc90c
RV
12160 (source
12161 (origin
12162 (method url-fetch)
12163 (uri (string-append
12164 "https://hackage.haskell.org/package/syb/syb-"
12165 version
12166 ".tar.gz"))
12167 (sha256
12168 (base32
07d65eef 12169 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12170 (build-system haskell-build-system)
12171 (inputs
12172 `(("ghc-hunit" ,ghc-hunit)))
12173 (home-page
12174 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12175 (synopsis "Scrap Your Boilerplate")
12176 (description "This package contains the generics system described in the
12177/Scrap Your Boilerplate/ papers (see
12178@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12179defines the @code{Data} class of types permitting folding and unfolding of
12180constructor applications, instances of this class for primitive types, and a
12181variety of traversals.")
12182 (license license:bsd-3)))
12183
12184(define-public ghc-system-fileio
12185 (package
12186 (name "ghc-system-fileio")
dcfb99d4 12187 (version "0.3.16.4")
dddbc90c
RV
12188 (source
12189 (origin
12190 (method url-fetch)
12191 (uri (string-append
12192 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12193 version ".tar.gz"))
12194 (sha256
12195 (base32
dcfb99d4 12196 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12197 (build-system haskell-build-system)
dcfb99d4
TS
12198 (arguments
12199 `(#:phases
12200 (modify-phases %standard-phases
12201 (add-before 'configure 'update-constraints
12202 (lambda _
12203 (substitute* "system-fileio.cabal"
12204 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12205 #t)))))
dddbc90c
RV
12206 (inputs
12207 `(("ghc-system-filepath" ,ghc-system-filepath)
12208 ("ghc-chell" ,ghc-chell)
12209 ("ghc-temporary" ,ghc-temporary)))
12210 (home-page "https://github.com/fpco/haskell-filesystem")
12211 (synopsis "Consistent file system interaction across GHC versions")
12212 (description
12213 "This is a small wrapper around the directory, unix, and Win32 packages,
12214for use with system-filepath. It provides a consistent API to the various
12215versions of these packages distributed with different versions of GHC.
12216In particular, this library supports working with POSIX files that have paths
12217which can't be decoded in the current locale encoding.")
12218 (license license:expat)))
12219
12220;; See ghc-system-filepath-bootstrap. In addition this package depends on
12221;; ghc-system-filepath.
12222(define ghc-system-fileio-bootstrap
12223 (package
12224 (name "ghc-system-fileio-bootstrap")
12225 (version "0.3.16.3")
12226 (source
12227 (origin
12228 (method url-fetch)
12229 (uri (string-append
12230 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12231 version ".tar.gz"))
12232 (sha256
12233 (base32
12234 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12235 (build-system haskell-build-system)
12236 (arguments
12237 `(#:tests? #f))
12238 (inputs
12239 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12240 ("ghc-temporary" ,ghc-temporary)))
12241 (home-page "https://github.com/fpco/haskell-filesystem")
12242 (synopsis "Consistent file system interaction across GHC versions")
12243 (description
12244 "This is a small wrapper around the directory, unix, and Win32 packages,
12245for use with system-filepath. It provides a consistent API to the various
12246versions of these packages distributed with different versions of GHC.
12247In particular, this library supports working with POSIX files that have paths
12248which can't be decoded in the current locale encoding.")
12249 (license license:expat)))
12250
12251
12252(define-public ghc-system-filepath
12253 (package
12254 (name "ghc-system-filepath")
12255 (version "0.4.14")
12256 (source
12257 (origin
12258 (method url-fetch)
12259 (uri (string-append
12260 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12261 version ".tar.gz"))
12262 (sha256
12263 (base32
12264 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12265 (build-system haskell-build-system)
12266 ;; FIXME: One of the tests fails:
12267 ;; [ FAIL ] tests.validity.posix
12268 ;; note: seed=7310214548328823169
12269 ;; *** Failed! Falsifiable (after 24 tests):
12270 ;; 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"
12271 (arguments `(#:tests? #f))
12272 (inputs
12273 `(("ghc-chell" ,ghc-chell)
12274 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12275 ("ghc-quickcheck" ,ghc-quickcheck)))
12276 (home-page "https://github.com/fpco/haskell-filesystem")
12277 (synopsis "High-level, byte-based file and directory path manipulations")
12278 (description
12279 "Provides a FilePath datatype and utility functions for operating on it.
12280Unlike the filepath package, this package does not simply reuse String,
12281increasing type safety.")
12282 (license license:expat)))
12283
12284;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12285;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12286;; which depends on ghc-chell and ghc-chell-quickcheck.
12287;; Therefore we bootstrap it with tests disabled.
12288(define ghc-system-filepath-bootstrap
12289 (package
12290 (name "ghc-system-filepath-bootstrap")
12291 (version "0.4.14")
12292 (source
12293 (origin
12294 (method url-fetch)
12295 (uri (string-append
12296 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12297 version ".tar.gz"))
12298 (sha256
12299 (base32
12300 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12301 (build-system haskell-build-system)
12302 (arguments
12303 `(#:tests? #f))
12304 (inputs
12305 `(("ghc-quickcheck" ,ghc-quickcheck)))
12306 (home-page "https://github.com/fpco/haskell-filesystem")
12307 (synopsis "High-level, byte-based file and directory path manipulations")
12308 (description
12309 "Provides a FilePath datatype and utility functions for operating on it.
12310Unlike the filepath package, this package does not simply reuse String,
12311increasing type safety.")
12312 (license license:expat)))
12313
12314
12315(define-public ghc-tagged
12316 (package
12317 (name "ghc-tagged")
f0f3756a 12318 (version "0.8.6")
dddbc90c
RV
12319 (source
12320 (origin
12321 (method url-fetch)
12322 (uri (string-append
12323 "https://hackage.haskell.org/package/tagged/tagged-"
12324 version
12325 ".tar.gz"))
12326 (sha256
12327 (base32
f0f3756a 12328 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12329 (build-system haskell-build-system)
12330 (arguments
12331 `(#:cabal-revision
f0f3756a 12332 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12333 (inputs
12334 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12335 (home-page "https://hackage.haskell.org/package/tagged")
12336 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12337 (description "This library provides phantom types for Haskell 98, to avoid
12338having to unsafely pass dummy arguments.")
12339 (license license:bsd-3)))
12340
12341(define-public ghc-tar
12342 (package
12343 (name "ghc-tar")
ec83929f 12344 (version "0.5.1.1")
dddbc90c
RV
12345 (source
12346 (origin
12347 (method url-fetch)
12348 (uri (string-append
12349 "https://hackage.haskell.org/package/tar/tar-"
12350 version ".tar.gz"))
12351 (sha256
12352 (base32
ec83929f 12353 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12354 (build-system haskell-build-system)
12355 ;; FIXME: 2/24 tests fail.
12356 (arguments `(#:tests? #f))
12357 (inputs
12358 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12359 ("ghc-quickcheck" ,ghc-quickcheck)
12360 ("ghc-tasty" ,ghc-tasty)
12361 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12362 (home-page "https://hackage.haskell.org/package/tar")
12363 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12364 (description
12365 "This library is for working with \\\"@.tar@\\\" archive files.
12366It can read and write a range of common variations of the tar archive format
12367including V7, POSIX USTAR and GNU formats. It provides support for packing and
12368unpacking portable archives. This makes it suitable for distribution but not
12369backup because details like file ownership and exact permissions are not
12370preserved. It also provides features for random access to archive content using
12371an index.")
12372 (license license:bsd-3)))
12373
f8d17902
TS
12374(define-public ghc-tar-conduit
12375 (package
12376 (name "ghc-tar-conduit")
12377 (version "0.3.2")
12378 (source
12379 (origin
12380 (method url-fetch)
12381 (uri (string-append "https://hackage.haskell.org/package/"
12382 "tar-conduit/tar-conduit-" version ".tar.gz"))
12383 (sha256
12384 (base32
12385 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12386 (build-system haskell-build-system)
12387 (inputs
12388 `(("ghc-conduit" ,ghc-conduit)
12389 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12390 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12391 (native-inputs
12392 `(("ghc-quickcheck" ,ghc-quickcheck)
12393 ("ghc-conduit-extra" ,ghc-conduit-extra)
12394 ("ghc-hspec" ,ghc-hspec)
12395 ("ghc-hspec" ,ghc-hspec)
12396 ("ghc-weigh" ,ghc-weigh)))
12397 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12398 (synopsis "Extract and create tar files using conduit for streaming")
12399 (description "This library provides a conduit-based, streaming
12400interface for extracting and creating tar files.")
12401 (license license:expat)))
12402
dddbc90c
RV
12403(define-public ghc-temporary
12404 (package
12405 (name "ghc-temporary")
12406 (version "1.3")
12407 (source
12408 (origin
12409 (method url-fetch)
12410 (uri (string-append
12411 "https://hackage.haskell.org/package/temporary/temporary-"
12412 version
12413 ".tar.gz"))
12414 (sha256
12415 (base32
12416 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12417 (build-system haskell-build-system)
12418 (inputs
12419 `(("ghc-exceptions" ,ghc-exceptions)
12420 ("ghc-random" ,ghc-random)))
12421 (native-inputs
12422 `(("ghc-base-compat" ,ghc-base-compat)
12423 ("ghc-tasty" ,ghc-tasty)
12424 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12425 (home-page "https://www.github.com/batterseapower/temporary")
12426 (synopsis "Temporary file and directory support")
12427 (description "The functions for creating temporary files and directories
12428in the Haskelll base library are quite limited. This library just repackages
12429the Cabal implementations of its own temporary file and folder functions so
12430that you can use them without linking against Cabal or depending on it being
12431installed.")
12432 (license license:bsd-3)))
12433
12434(define-public ghc-temporary-rc
12435 (package
12436 (name "ghc-temporary-rc")
12437 (version "1.2.0.3")
12438 (source
12439 (origin
12440 (method url-fetch)
12441 (uri (string-append
12442 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12443 version
12444 ".tar.gz"))
12445 (sha256
12446 (base32
12447 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12448 (build-system haskell-build-system)
12449 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12450 (home-page
12451 "https://www.github.com/feuerbach/temporary")
12452 (synopsis
12453 "Portable temporary file and directory support")
12454 (description
12455 "The functions for creating temporary files and directories in the base
12456library are quite limited. The unixutils package contains some good ones, but
12457they aren't portable to Windows. This library just repackages the Cabal
12458implementations of its own temporary file and folder functions so that you can
12459use them without linking against Cabal or depending on it being installed.
12460This is a better maintained fork of the \"temporary\" package.")
12461 (license license:bsd-3)))
12462
12463(define-public ghc-terminal-size
12464 (package
12465 (name "ghc-terminal-size")
12466 (version "0.3.2.1")
12467 (source (origin
12468 (method url-fetch)
12469 (uri (string-append
12470 "https://hackage.haskell.org/package/terminal-size/"
12471 "terminal-size-" version ".tar.gz"))
12472 (sha256
12473 (base32
12474 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12475 (build-system haskell-build-system)
12476 (home-page "https://hackage.haskell.org/package/terminal-size")
12477 (synopsis "Get terminal window height and width")
12478 (description "Get terminal window height and width without ncurses
12479dependency.")
12480 (license license:bsd-3)))
12481
12482(define-public ghc-texmath
12483 (package
12484 (name "ghc-texmath")
7fec7e66 12485 (version "0.11.3")
dddbc90c
RV
12486 (source (origin
12487 (method url-fetch)
12488 (uri (string-append "https://hackage.haskell.org/package/"
12489 "texmath/texmath-" version ".tar.gz"))
12490 (sha256
12491 (base32
7fec7e66 12492 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12493 (build-system haskell-build-system)
12494 (inputs
12495 `(("ghc-syb" ,ghc-syb)
12496 ("ghc-network-uri" ,ghc-network-uri)
12497 ("ghc-split" ,ghc-split)
12498 ("ghc-temporary" ,ghc-temporary)
12499 ("ghc-utf8-string" ,ghc-utf8-string)
12500 ("ghc-xml" ,ghc-xml)
12501 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12502 (home-page "https://github.com/jgm/texmath")
12503 (synopsis "Conversion between formats used to represent mathematics")
12504 (description
12505 "The texmath library provides functions to read and write TeX math,
12506presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12507Office). Support is also included for converting math formats to pandoc's
12508native format (allowing conversion, via pandoc, to a variety of different
12509markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12510it can parse and apply LaTeX macros.")
12511 (license license:gpl2+)))
12512
12513(define-public ghc-text-binary
12514 (package
12515 (name "ghc-text-binary")
12516 (version "0.2.1.1")
12517 (source
12518 (origin
12519 (method url-fetch)
12520 (uri (string-append "https://hackage.haskell.org/package/"
12521 "text-binary/text-binary-"
12522 version ".tar.gz"))
12523 (sha256
12524 (base32
12525 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12526 (build-system haskell-build-system)
12527 (home-page "https://github.com/kawu/text-binary")
12528 (synopsis "Binary instances for text types")
12529 (description
12530 "This package provides a compatibility layer providing @code{Binary}
12531instances for strict and lazy text types for versions older than 1.2.1 of the
12532text package.")
12533 (license license:bsd-2)))
12534
714e5605
JS
12535(define-public ghc-text-manipulate
12536 (package
12537 (name "ghc-text-manipulate")
12538 (version "0.2.0.1")
12539 (source
12540 (origin
12541 (method url-fetch)
12542 (uri (string-append
12543 "https://hackage.haskell.org/package/text-manipulate"
12544 "/text-manipulate-"
12545 version
12546 ".tar.gz"))
12547 (sha256
12548 (base32
12549 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12550 (build-system haskell-build-system)
12551 (native-inputs
12552 `(("ghc-tasty" ,ghc-tasty)
12553 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12554 (home-page
12555 "https://github.com/brendanhay/text-manipulate")
12556 (synopsis
12557 "Case conversion, word boundary manipulation, and textual subjugation")
12558 (description
12559 "Manipulate identifiers and structurally non-complex pieces of text by
12560delimiting word boundaries via a combination of whitespace,
12561control-characters, and case-sensitivity.
12562
12563Has support for common idioms like casing of programmatic variable names,
12564taking, dropping, and splitting by word, and modifying the first character of
12565a piece of text.
12566
12567Caution: this library makes heavy use of the text library's internal loop
12568optimisation framework. Since internal modules are not guaranteed to have a
12569stable API there is potential for build breakage when the text dependency is
12570upgraded. Consider yourself warned!")
12571 (license license:mpl2.0)))
12572
bdc877c4
TS
12573(define-public ghc-text-metrics
12574 (package
12575 (name "ghc-text-metrics")
12576 (version "0.3.0")
12577 (source
12578 (origin
12579 (method url-fetch)
12580 (uri (string-append "https://hackage.haskell.org/package/"
12581 "text-metrics/text-metrics-" version ".tar.gz"))
12582 (sha256
12583 (base32
12584 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12585 (build-system haskell-build-system)
12586 (inputs
12587 `(("ghc-vector" ,ghc-vector)))
12588 (native-inputs
12589 `(("ghc-quickcheck" ,ghc-quickcheck)
12590 ("ghc-hspec" ,ghc-hspec)))
12591 (arguments
12592 `(#:cabal-revision
12593 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12594 (home-page "https://github.com/mrkkrp/text-metrics")
12595 (synopsis "Calculate various string metrics efficiently")
12596 (description "This library provides tools to calculate various
12597string metrics efficiently.")
12598 (license license:bsd-3)))
12599
dddbc90c
RV
12600(define-public ghc-tf-random
12601 (package
12602 (name "ghc-tf-random")
12603 (version "0.5")
534d6caa 12604 (outputs '("out" "static" "doc"))
dddbc90c
RV
12605 (source
12606 (origin
12607 (method url-fetch)
12608 (uri (string-append
12609 "https://hackage.haskell.org/package/tf-random/tf-random-"
12610 version
12611 ".tar.gz"))
12612 (sha256
12613 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12614 (build-system haskell-build-system)
12615 (inputs
12616 `(("ghc-primitive" ,ghc-primitive)
12617 ("ghc-random" ,ghc-random)))
12618 (home-page "https://hackage.haskell.org/package/tf-random")
12619 (synopsis "High-quality splittable pseudorandom number generator")
12620 (description "This package contains an implementation of a high-quality
12621splittable pseudorandom number generator. The generator is based on a
12622cryptographic hash function built on top of the ThreeFish block cipher. See
12623the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12624Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12625 (license license:bsd-3)))
12626
12627(define-public ghc-th-abstraction
12628 (package
12629 (name "ghc-th-abstraction")
1188eabb 12630 (version "0.3.1.0")
dddbc90c
RV
12631 (source
12632 (origin
12633 (method url-fetch)
12634 (uri (string-append "https://hackage.haskell.org/package/"
12635 "th-abstraction/th-abstraction-"
12636 version ".tar.gz"))
12637 (sha256
12638 (base32
1188eabb 12639 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12640 (build-system haskell-build-system)
12641 (home-page "https://github.com/glguy/th-abstraction")
12642 (synopsis "Nicer interface for reified information about data types")
12643 (description
12644 "This package normalizes variations in the interface for inspecting
12645datatype information via Template Haskell so that packages and support a
12646single, easier to use informational datatype while supporting many versions of
12647Template Haskell.")
12648 (license license:isc)))
12649
12650(define-public ghc-th-expand-syns
12651 (package
12652 (name "ghc-th-expand-syns")
8c766600 12653 (version "0.4.5.0")
dddbc90c
RV
12654 (source (origin
12655 (method url-fetch)
12656 (uri (string-append "https://hackage.haskell.org/package/"
12657 "th-expand-syns/th-expand-syns-"
12658 version ".tar.gz"))
12659 (sha256
12660 (base32
8c766600 12661 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12662 (build-system haskell-build-system)
12663 (inputs
12664 `(("ghc-syb" ,ghc-syb)))
12665 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12666 (synopsis "Expands type synonyms in Template Haskell ASTs")
12667 (description
12668 "This package enables users to expand type synonyms in Template Haskell
12669@dfn{abstract syntax trees} (ASTs).")
12670 (license license:bsd-3)))
12671
12672(define-public ghc-th-lift
12673 (package
12674 (name "ghc-th-lift")
bd76b20a 12675 (version "0.8.0.1")
dddbc90c
RV
12676 (source (origin
12677 (method url-fetch)
12678 (uri (string-append "https://hackage.haskell.org/package/"
12679 "th-lift/th-lift-" version ".tar.gz"))
12680 (sha256
12681 (base32
bd76b20a 12682 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12683 (build-system haskell-build-system)
12684 (inputs
12685 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12686 (home-page "https://github.com/mboes/th-lift")
12687 (synopsis "Derive Template Haskell's Lift class for datatypes")
12688 (description
12689 "This is a Haskell library to derive Template Haskell's Lift class for
12690datatypes.")
12691 (license license:bsd-3)))
12692
12693(define-public ghc-th-lift-instances
12694 (package
12695 (name "ghc-th-lift-instances")
d3db399e 12696 (version "0.1.14")
dddbc90c
RV
12697 (source
12698 (origin
12699 (method url-fetch)
12700 (uri (string-append "https://hackage.haskell.org/package/"
12701 "th-lift-instances/th-lift-instances-"
12702 version ".tar.gz"))
12703 (sha256
12704 (base32
d3db399e 12705 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12706 (build-system haskell-build-system)
12707 (inputs
12708 `(("ghc-th-lift" ,ghc-th-lift)
12709 ("ghc-vector" ,ghc-vector)
12710 ("ghc-quickcheck" ,ghc-quickcheck)))
12711 (home-page "https://github.com/bennofs/th-lift-instances/")
12712 (synopsis "Lift instances for template-haskell for common data types.")
12713 (description "Most data types in the Haskell platform do not have Lift
12714instances. This package provides orphan instances for @code{containers},
12715@code{text}, @code{bytestring} and @code{vector}.")
12716 (license license:bsd-3)))
12717
12718(define-public ghc-th-orphans
12719 (package
12720 (name "ghc-th-orphans")
882b23e2 12721 (version "0.13.9")
dddbc90c
RV
12722 (source (origin
12723 (method url-fetch)
12724 (uri (string-append "https://hackage.haskell.org/package/"
12725 "th-orphans/th-orphans-" version ".tar.gz"))
12726 (sha256
12727 (base32
882b23e2 12728 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12729 (build-system haskell-build-system)
12730 (inputs
12731 `(("ghc-th-lift" ,ghc-th-lift)
12732 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12733 ("ghc-th-reify-many" ,ghc-th-reify-many)
12734 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12735 (native-inputs
12736 `(("ghc-hspec" ,ghc-hspec)))
12737 (home-page "https://hackage.haskell.org/package/th-orphans")
12738 (synopsis "Orphan instances for TH datatypes")
12739 (description
12740 "This package provides orphan instances for Template Haskell datatypes. In particular,
12741instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12742and @code{Eq} instances. These instances used to live in the haskell-src-meta
12743package, and that's where the version number started.")
12744 (license license:bsd-3)))
12745
20c440ea
JS
12746(define-public ghc-these
12747 (package
12748 (name "ghc-these")
12749 (version "1.0.1")
12750 (source
12751 (origin
12752 (method url-fetch)
12753 (uri (string-append
12754 "https://hackage.haskell.org/package/these/these-"
12755 version
12756 ".tar.gz"))
12757 (sha256
12758 (base32
12759 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12760 (build-system haskell-build-system)
12761 (inputs
12762 `(("ghc-base-compat" ,ghc-base-compat)
12763 ("ghc-hashable" ,ghc-hashable)
12764 ("ghc-aeson" ,ghc-aeson)
12765 ("ghc-unordered-containers" ,ghc-unordered-containers)
12766 ("ghc-assoc" ,ghc-assoc)
12767 ("ghc-semigroupoids" ,ghc-semigroupoids)
12768 ("ghc-quickcheck" ,ghc-quickcheck)))
12769 (arguments
12770 `(#:cabal-revision
12771 ("1"
12772 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12773 (home-page
12774 "https://github.com/isomorphism/these")
12775 (synopsis "Either-or-both data type")
12776 (description
12777 "This package provides a data type @code{These a b} which can
12778hold a value of either type or values of each type. This is usually
12779thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12780\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12781as \"inner join\").
12782
12783@code{data These a b = This a | That b | These a b}
12784
12785Since version 1, this package was split into parts:
12786
12787@itemize
12788@item
12789https://hackage.haskell.org/package/semialign For @code{Align} and
12790@code{Zip} type-classes.
12791@item
12792https://hackage.haskell.org/package/semialign-indexed For
12793@code{SemialignWithIndex} class, providing @code{ialignWith} and
12794@code{izipWith}
12795@item
12796https://hackage.haskell.org/package/these-lens For lens combinators.
12797@item
12798http://hackage.haskell.org/package/monad-chronicle For transformers
12799variant of @code{These}.
12800@end itemize")
12801 (license license:bsd-3)))
12802
dddbc90c
RV
12803(define-public ghc-threads
12804 (package
12805 (name "ghc-threads")
12806 (version "0.5.1.6")
12807 (source
12808 (origin
12809 (method url-fetch)
12810 (uri (string-append "https://hackage.haskell.org/package/"
12811 "threads/threads-" version ".tar.gz"))
12812 (sha256
12813 (base32
12814 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12815 (build-system haskell-build-system)
12816 (native-inputs
12817 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12818 ("ghc-hunit" ,ghc-hunit)
12819 ("ghc-test-framework" ,ghc-test-framework)
12820 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12821 (home-page "https://github.com/basvandijk/threads")
12822 (synopsis "Fork threads and wait for their result")
12823 (description "This package provides functions to fork threads and
12824wait for their result, whether it's an exception or a normal value.
12825Besides waiting for the termination of a single thread this package also
12826provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12827package is similar to the @code{threadmanager}, @code{async} and
12828@code{spawn} packages. The advantages of this package are:
12829
dddbc90c
RV
12830@itemize
12831@item Simpler API.
12832@item More efficient in both space and time.
12833@item No space-leak when forking a large number of threads.
12834@item Correct handling of asynchronous exceptions.
12835@item GHC specific functionality like @code{forkOn} and
12836@code{forkIOWithUnmask}.
12837@end itemize")
12838 (license license:bsd-3)))
12839
12840(define-public ghc-th-reify-many
12841 (package
12842 (name "ghc-th-reify-many")
32d4a6ae 12843 (version "0.1.9")
dddbc90c
RV
12844 (source (origin
12845 (method url-fetch)
12846 (uri (string-append "https://hackage.haskell.org/package/"
12847 "th-reify-many/th-reify-many-"
12848 version ".tar.gz"))
12849 (sha256
12850 (base32
32d4a6ae 12851 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12852 (build-system haskell-build-system)
12853 (inputs
12854 `(("ghc-safe" ,ghc-safe)
12855 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12856 (home-page "https://github.com/mgsloan/th-reify-many")
12857 (synopsis "Recurseively reify template haskell datatype info")
12858 (description
12859 "th-reify-many provides functions for recursively reifying top level
12860declarations. The main intended use case is for enumerating the names of
12861datatypes reachable from an initial datatype, and passing these names to some
12862function which generates instances.")
12863 (license license:bsd-3)))
12864
75cfc9a2
TS
12865(define-public ghc-time-compat
12866 (package
12867 (name "ghc-time-compat")
12868 (version "1.9.2.2")
12869 (source
12870 (origin
12871 (method url-fetch)
12872 (uri (string-append "https://hackage.haskell.org/package/"
12873 "time-compat/time-compat-" version ".tar.gz"))
12874 (sha256
12875 (base32
12876 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12877 (build-system haskell-build-system)
12878 (inputs
12879 `(("ghc-base-orphans" ,ghc-base-orphans)))
12880 (native-inputs
12881 `(("ghc-hunit" ,ghc-hunit)
12882 ("ghc-base-compat" ,ghc-base-compat)
12883 ("ghc-quickcheck" ,ghc-quickcheck)
12884 ("ghc-tagged" ,ghc-tagged)
12885 ("ghc-tasty" ,ghc-tasty)
12886 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12887 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12888 (arguments
12889 `(#:cabal-revision
12890 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12891 (home-page "https://github.com/phadej/time-compat")
12892 (synopsis "Compatibility package for time")
a8d73e69 12893 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12894features as possible.")
12895 (license license:bsd-3)))
12896
dddbc90c
RV
12897(define-public ghc-time-locale-compat
12898 (package
12899 (name "ghc-time-locale-compat")
12900 (version "0.1.1.5")
12901 (source
12902 (origin
12903 (method url-fetch)
12904 (uri (string-append "https://hackage.haskell.org/package/"
12905 "time-locale-compat/time-locale-compat-"
12906 version ".tar.gz"))
12907 (sha256
12908 (base32
12909 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12910 (build-system haskell-build-system)
12911 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12912 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12913 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12914 (description "This package contains a wrapped name module for
12915@code{TimeLocale}.")
12916 (license license:bsd-3)))
12917
c022a4d4
TS
12918(define-public ghc-time-manager
12919 (package
12920 (name "ghc-time-manager")
12921 (version "0.0.0")
12922 (source
12923 (origin
12924 (method url-fetch)
12925 (uri (string-append "https://hackage.haskell.org/package/"
12926 "time-manager/time-manager-" version ".tar.gz"))
12927 (sha256
12928 (base32
12929 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12930 (build-system haskell-build-system)
12931 (inputs
12932 `(("ghc-auto-update" ,ghc-auto-update)))
12933 (home-page "https://github.com/yesodweb/wai")
12934 (synopsis "Scalable timer")
12935 (description "This library contains scalable timer functions provided by a
12936timer manager.")
12937 (license license:expat)))
12938
7bbfa392
JS
12939(define-public ghc-timeit
12940 (package
12941 (name "ghc-timeit")
12942 (version "2.0")
12943 (source
12944 (origin
12945 (method url-fetch)
12946 (uri
12947 (string-append
12948 "https://hackage.haskell.org/package/timeit/timeit-"
12949 version ".tar.gz"))
12950 (sha256
12951 (base32
12952 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12953 (build-system haskell-build-system)
12954 (home-page "https://github.com/merijn/timeit")
12955 (synopsis "Time monadic computations with an IO base")
12956 (description "This package provides a simple wrapper to show the
12957used CPU time of monadic computation with an IO base.")
12958 (license license:bsd-3)))
12959
2ed8bd2d
JS
12960(define-public ghc-timezone-series
12961 (package
12962 (name "ghc-timezone-series")
12963 (version "0.1.9")
12964 (source
12965 (origin
12966 (method url-fetch)
12967 (uri
12968 (string-append
12969 "mirror://hackage/package/timezone-series/timezone-series-"
12970 version ".tar.gz"))
12971 (sha256
12972 (base32
12973 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12974 (build-system haskell-build-system)
12975 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12976 (synopsis "Enhanced timezone handling for Time")
12977 (description
12978 "This package endows @code{Data.Time}, from the time package, with several
12979data types and functions for enhanced processing of timezones. For one way to
12980create timezone series, see the ghc-timezone-olson package.")
12981 (license license:bsd-3)))
12982
ff0f5786
JS
12983(define-public ghc-timezone-olson
12984 (package
12985 (name "ghc-timezone-olson")
12986 (version "0.1.9")
12987 (source
12988 (origin
12989 (method url-fetch)
12990 (uri
12991 (string-append
12992 "mirror://hackage/package/timezone-olson/timezone-olson-"
12993 version ".tar.gz"))
12994 (sha256
12995 (base32
12996 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12997 (build-system haskell-build-system)
12998 (inputs
12999 `(("ghc-timezone-series" ,ghc-timezone-series)
13000 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
13001 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
13002 (synopsis "Parser and renderer for binary Olson timezone files")
13003 (description
13004 "A parser and renderer for binary Olson timezone files whose format
13005is specified by the tzfile(5) man page on Unix-like systems. For more
13006information about this format, see
13007@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
13008are provided for converting the parsed data into @code{TimeZoneSeries}
13009objects from the timezone-series package.")
13010 (license license:bsd-3)))
13011
dddbc90c
RV
13012(define-public ghc-tldr
13013 (package
13014 (name "ghc-tldr")
871ceb31 13015 (version "0.4.0.2")
dddbc90c
RV
13016 (source
13017 (origin
13018 (method url-fetch)
13019 (uri (string-append
13020 "https://hackage.haskell.org/package/tldr/tldr-"
13021 version
13022 ".tar.gz"))
13023 (sha256
13024 (base32
871ceb31 13025 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
13026 (build-system haskell-build-system)
13027 (inputs
13028 `(("ghc-cmark" ,ghc-cmark)
13029 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13030 ("ghc-typed-process" ,ghc-typed-process)
13031 ("ghc-semigroups" ,ghc-semigroups)))
13032 (native-inputs
13033 `(("ghc-tasty" ,ghc-tasty)
13034 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13035 (home-page "https://github.com/psibi/tldr-hs#readme")
13036 (synopsis "Haskell tldr client")
13037 (description "This package provides the @command{tldr} command and a
13038Haskell client library allowing users to update and view @code{tldr} pages
13039from a shell. The @code{tldr} pages are a community effort to simplify the
13040man pages with practical examples.")
13041 (license license:bsd-3)))
13042
460e4e42
JS
13043(define-public ghc-transformers
13044 (package
13045 (name "ghc-transformers")
13046 (version "0.5.6.2")
13047 (source
13048 (origin
13049 (method url-fetch)
13050 (uri (string-append
13051 "mirror://hackage/package/transformers/transformers-"
13052 version
13053 ".tar.gz"))
13054 (sha256
13055 (base32
13056 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13057 (build-system haskell-build-system)
13058 (home-page
13059 "http://hackage.haskell.org/package/transformers")
13060 (synopsis "Concrete functor and monad transformers")
13061 (description
13062 "Transformers provides functor and monad transformers, inspired by the
13063paper \"Functional Programming with Overloading and Higher-Order
13064Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130651995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13066
13067This package contains:
13068@itemize
13069@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13070@item concrete functor and monad transformers, each with associated operations
13071and functions to lift operations associated with other transformers.
13072@end itemize
13073
13074This package can be used on its own in portable Haskell code, in which case
13075operations need to be manually lifted through transformer stacks (see
13076@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13077used with the non-portable monad classes in the mtl or monads-tf packages,
13078which automatically lift operations introduced by monad transformers through
13079other transformers.")
13080 (license license:bsd-3)))
13081
dddbc90c
RV
13082(define-public ghc-transformers-base
13083 (package
13084 (name "ghc-transformers-base")
13085 (version "0.4.5.2")
13086 (source
13087 (origin
13088 (method url-fetch)
13089 (uri (string-append
13090 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13091 version
13092 ".tar.gz"))
13093 (sha256
13094 (base32
13095 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13096 (build-system haskell-build-system)
13097 (inputs
13098 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13099 (home-page
13100 "https://hackage.haskell.org/package/transformers-compat")
13101 (synopsis
13102 "Backported transformer library")
13103 (description
13104 "Backported versions of types that were added to transformers in
13105transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13106compatibility to run on old versions of the platform.")
13107 (license license:bsd-3)))
13108
13109(define-public ghc-transformers-compat
13110 (package
13111 (name "ghc-transformers-compat")
1c9c4d58 13112 (version "0.6.5")
dddbc90c
RV
13113 (source
13114 (origin
13115 (method url-fetch)
13116 (uri (string-append
13117 "https://hackage.haskell.org/package/transformers-compat"
13118 "/transformers-compat-" version ".tar.gz"))
13119 (sha256
13120 (base32
1c9c4d58 13121 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13122 (build-system haskell-build-system)
13123 (home-page "https://github.com/ekmett/transformers-compat/")
13124 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13125 (description "This package includes backported versions of types that were
13126added to transformers in transformers 0.3 and 0.4 for users who need strict
13127transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13128but also need those types.")
13129 (license license:bsd-3)))
13130
13131(define-public ghc-tree-diff
13132 (package
13133 (name "ghc-tree-diff")
b4e26067 13134 (version "0.1")
dddbc90c
RV
13135 (source
13136 (origin
13137 (method url-fetch)
13138 (uri (string-append
13139 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13140 version
13141 ".tar.gz"))
13142 (sha256
13143 (base32
b4e26067 13144 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13145 (build-system haskell-build-system)
dddbc90c
RV
13146 (inputs
13147 `(("ghc-aeson" ,ghc-aeson)
13148 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13149 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13150 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13151 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13152 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13153 ("ghc-parsers" ,ghc-parsers)
13154 ("ghc-quickcheck" ,ghc-quickcheck)
13155 ("ghc-scientific" ,ghc-scientific)
13156 ("ghc-tagged" ,ghc-tagged)
13157 ("ghc-unordered-containers" ,ghc-unordered-containers)
13158 ("ghc-uuid-types" ,ghc-uuid-types)
13159 ("ghc-vector" ,ghc-vector)))
13160 (native-inputs
13161 `(("ghc-base-compat" ,ghc-base-compat)
13162 ("ghc-quickcheck" ,ghc-quickcheck)
13163 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13164 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13165 ("ghc-trifecta" ,ghc-trifecta)
13166 ("ghc-tasty" ,ghc-tasty)
13167 ("ghc-tasty-golden" ,ghc-tasty-golden)
13168 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13169 (home-page "https://github.com/phadej/tree-diff")
13170 (synopsis "Compute difference between (expression) trees")
13171 (description "This Haskell library provides a function for computing
13172the difference between (expression) trees. It also provides a way to
13173compute the difference between arbitrary abstract datatypes (ADTs) using
13174@code{Generics}-derivable helpers.")
13175 (license license:bsd-3)))
13176
13177(define-public ghc-trifecta
13178 (package
13179 (name "ghc-trifecta")
13180 (version "2")
13181 (source (origin
13182 (method url-fetch)
13183 (uri (string-append
13184 "https://hackage.haskell.org/package/trifecta/"
13185 "trifecta-" version ".tar.gz"))
13186 (sha256
13187 (base32
13188 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13189 (build-system haskell-build-system)
5ffe8cfd
TS
13190 (arguments
13191 `(#:tests? #f ; doctest suite fails to build on i686
13192 #:cabal-revision
13193 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13194 (inputs
13195 `(("ghc-reducers" ,ghc-reducers)
13196 ("ghc-semigroups" ,ghc-semigroups)
13197 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13198 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13199 ("ghc-blaze-builder" ,ghc-blaze-builder)
13200 ("ghc-blaze-html" ,ghc-blaze-html)
13201 ("ghc-blaze-markup" ,ghc-blaze-markup)
13202 ("ghc-charset" ,ghc-charset)
13203 ("ghc-comonad" ,ghc-comonad)
13204 ("ghc-fingertree" ,ghc-fingertree)
13205 ("ghc-hashable" ,ghc-hashable)
13206 ("ghc-lens" ,ghc-lens)
13207 ("ghc-parsers" ,ghc-parsers)
13208 ("ghc-profunctors" ,ghc-profunctors)
13209 ("ghc-unordered-containers" ,ghc-unordered-containers)
13210 ("ghc-utf8-string" ,ghc-utf8-string)))
13211 (native-inputs
13212 `(("cabal-doctest" ,cabal-doctest)
13213 ("ghc-doctest" ,ghc-doctest)
13214 ("ghc-quickcheck" ,ghc-quickcheck)))
13215 (home-page "https://github.com/ekmett/trifecta/")
13216 (synopsis "Parser combinator library with convenient diagnostics")
13217 (description "Trifecta is a modern parser combinator library for Haskell,
13218with slicing and Clang-style colored diagnostics.")
13219 (license license:bsd-3)))
13220
13221(define-public ghc-tuple-th
13222 (package
13223 (name "ghc-tuple-th")
13224 (version "0.2.5")
13225 (source
13226 (origin
13227 (method url-fetch)
13228 (uri (string-append "https://hackage.haskell.org/package/"
13229 "tuple-th-" version "/"
13230 "tuple-th-" version ".tar.gz"))
13231 (sha256
13232 (base32
13233 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13234 (build-system haskell-build-system)
13235 (home-page "https://github.com/DanielSchuessler/tuple-th")
13236 (synopsis "Generate utility functions for tuples of statically known size
13237for Haskell")
13238 (description "This Haskell package contains Template Haskell functions for
13239generating functions similar to those in @code{Data.List} for tuples of
13240statically known size.")
13241 (license license:bsd-3)))
13242
9f776fe2
JS
13243(define-public ghc-turtle
13244 (package
13245 (name "ghc-turtle")
13246 (version "1.5.15")
13247 (source
13248 (origin
13249 (method url-fetch)
13250 (uri (string-append
13251 "mirror://hackage/package/turtle/turtle-"
13252 version
13253 ".tar.gz"))
13254 (sha256
13255 (base32
13256 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13257 (build-system haskell-build-system)
13258 (inputs
13259 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13260 ("ghc-async" ,ghc-async)
13261 ("ghc-clock" ,ghc-clock)
13262 ("ghc-exceptions" ,ghc-exceptions)
13263 ("ghc-foldl" ,ghc-foldl)
13264 ("ghc-hostname" ,ghc-hostname)
13265 ("ghc-managed" ,ghc-managed)
13266 ("ghc-semigroups" ,ghc-semigroups)
13267 ("ghc-system-filepath" ,ghc-system-filepath)
13268 ("ghc-system-fileio" ,ghc-system-fileio)
13269 ("ghc-streaming-commons" ,ghc-streaming-commons)
13270 ("ghc-temporary" ,ghc-temporary)
13271 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13272 ("ghc-optional-args" ,ghc-optional-args)
13273 ("ghc-unix-compat" ,ghc-unix-compat)))
13274 (native-inputs
13275 `(("ghc-doctest" ,ghc-doctest)
13276 ("ghc-fail" ,ghc-fail)))
13277 (arguments
13278 `(#:cabal-revision
13279 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13280 (home-page
13281 "http://hackage.haskell.org/package/turtle")
13282 (synopsis "Shell programming, Haskell-style")
13283 (description
13284 "Turtle is a reimplementation of the Unix command line environment in
13285Haskell so that you can use Haskell as both a shell and a scripting
13286language. Features include:
13287
13288@itemize
13289@item Batteries included: Command an extended suite of predefined utilities.
13290@item Interoperability: You can still run external shell commands.
13291@item Portability: Works on Windows, OS X, and Linux.
13292@item Exception safety: Safely acquire and release resources.
13293@item Streaming: Transform or fold command output in constant space.
13294@item Patterns: Use typed regular expressions that can parse structured values.
13295@item Formatting: Type-safe printf-style text formatting.
13296@item Modern: Supports text and system-filepath.
13297@end itemize
13298
13299Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13300quick-start guide. Turtle is designed to be beginner-friendly, but as a
13301result lacks certain features, like tracing commands. If you feel comfortable
13302using turtle then you should also check out the Shelly library which provides
13303similar functionality.")
13304 (license license:bsd-3)))
13305
dddbc90c
RV
13306(define-public ghc-typed-process
13307 (package
13308 (name "ghc-typed-process")
72fb84a5 13309 (version "0.2.6.0")
dddbc90c
RV
13310 (source
13311 (origin
13312 (method url-fetch)
13313 (uri (string-append "https://hackage.haskell.org/package/"
13314 "typed-process/typed-process-"
13315 version ".tar.gz"))
13316 (sha256
13317 (base32
72fb84a5 13318 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13319 (build-system haskell-build-system)
13320 (inputs
72fb84a5
TS
13321 `(("ghc-async" ,ghc-async)
13322 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13323 (native-inputs
13324 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13325 ("ghc-hspec" ,ghc-hspec)
13326 ("hspec-discover" ,hspec-discover)
13327 ("ghc-temporary" ,ghc-temporary)))
13328 (home-page "https://haskell-lang.org/library/typed-process")
13329 (synopsis "Run external processes with strong typing of streams")
13330 (description
13331 "This library provides the ability to launch and interact with external
13332processes. It wraps around the @code{process} library, and intends to improve
13333upon it.")
13334 (license license:expat)))
13335
d392f803
AG
13336(define-public ghc-unagi-chan
13337 (package
13338 (name "ghc-unagi-chan")
13339 (version "0.4.1.2")
13340 (source
13341 (origin
13342 (method url-fetch)
13343 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13344 "/unagi-chan-" version ".tar.gz"))
13345 (sha256
13346 (base32
13347 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13348 (build-system haskell-build-system)
13349 (inputs
13350 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13351 ("ghc-primitive" ,ghc-primitive)))
13352 (arguments
13353 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13354 #:cabal-revision
13355 ("1"
13356 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13357 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13358 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13359 (description
13360 "This library provides implementations of concurrent FIFO queues (for
13361both general boxed and primitive unboxed values) that are fast, perform well
13362under contention, and offer a Chan-like interface. The library may be of
13363limited usefulness outside of x86 architectures where the fetch-and-add
13364instruction is not available.")
13365 (license license:bsd-3)))
13366
dddbc90c
RV
13367(define-public ghc-unbounded-delays
13368 (package
13369 (name "ghc-unbounded-delays")
13370 (version "0.1.1.0")
13371 (source
13372 (origin
13373 (method url-fetch)
13374 (uri (string-append
13375 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13376 version
13377 ".tar.gz"))
13378 (sha256
13379 (base32
13380 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13381 (build-system haskell-build-system)
13382 (home-page "https://github.com/basvandijk/unbounded-delays")
13383 (synopsis "Unbounded thread delays and timeouts")
13384 (description "The @code{threadDelay} and @code{timeout} functions from the
13385Haskell base library use the bounded @code{Int} type for specifying the delay
13386or timeout period. This package provides alternative functions which use the
13387unbounded @code{Integer} type.")
13388 (license license:bsd-3)))
13389
13390(define-public ghc-unexceptionalio
13391 (package
13392 (name "ghc-unexceptionalio")
13393 (version "0.4.0")
13394 (source
13395 (origin
13396 (method url-fetch)
13397 (uri (string-append "https://hackage.haskell.org/package/"
13398 "unexceptionalio-" version "/" "unexceptionalio-"
13399 version ".tar.gz"))
13400 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13401 (build-system haskell-build-system)
13402 (home-page "https://github.com/singpolyma/unexceptionalio")
13403 (synopsis "IO without any non-error, synchronous exceptions")
13404 (description "When you've caught all the exceptions that can be
13405handled safely, this is what you're left with.")
13406 (license license:isc)))
13407
b69d4aa7
TS
13408(define-public ghc-unicode-transforms
13409 (package
13410 (name "ghc-unicode-transforms")
13411 (version "0.3.6")
13412 (source
13413 (origin
13414 (method url-fetch)
13415 (uri (string-append "https://hackage.haskell.org/package/"
13416 "unicode-transforms/unicode-transforms-"
13417 version ".tar.gz"))
13418 (sha256
13419 (base32
13420 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13421 (build-system haskell-build-system)
13422 (inputs
13423 `(("ghc-bitarray" ,ghc-bitarray)))
13424 (native-inputs
13425 `(("ghc-quickcheck" ,ghc-quickcheck)
13426 ("ghc-getopt-generics" ,ghc-getopt-generics)
13427 ("ghc-split" ,ghc-split)))
13428 (home-page "https://github.com/composewell/unicode-transforms")
13429 (synopsis "Unicode normalization")
13430 (description "This library provides tools for fast Unicode 12.1.0
13431normalization in Haskell (normalization forms C, KC, D, and KD).")
13432 (license license:bsd-3)))
13433
dddbc90c
RV
13434(define-public ghc-union-find
13435 (package
13436 (name "ghc-union-find")
13437 (version "0.2")
13438 (source (origin
13439 (method url-fetch)
13440 (uri (string-append
13441 "https://hackage.haskell.org/package/union-find/union-find-"
13442 version ".tar.gz"))
13443 (sha256
13444 (base32
13445 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13446 (build-system haskell-build-system)
13447 (home-page "https://github.com/nominolo/union-find")
13448 (synopsis "Efficient union and equivalence testing of sets")
13449 (description
13450 "The Union/Find algorithm implements these operations in (effectively)
13451constant-time:
13452@enumerate
13453@item Check whether two elements are in the same equivalence class.
13454@item Create a union of two equivalence classes.
13455@item Look up the descriptor of the equivalence class.
13456@end enumerate\n")
13457 (license license:bsd-3)))
13458
13459(define-public ghc-uniplate
13460 (package
13461 (name "ghc-uniplate")
13462 (version "1.6.12")
13463 (source
13464 (origin
13465 (method url-fetch)
13466 (uri (string-append
13467 "https://hackage.haskell.org/package/uniplate/uniplate-"
13468 version
13469 ".tar.gz"))
13470 (sha256
13471 (base32
13472 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13473 (build-system haskell-build-system)
13474 (inputs
13475 `(("ghc-syb" ,ghc-syb)
13476 ("ghc-hashable" ,ghc-hashable)
13477 ("ghc-unordered-containers" ,ghc-unordered-containers)))
f5d88758 13478 (home-page "https://github.com/ndmitchell/uniplate")
dddbc90c
RV
13479 (synopsis "Simple, concise and fast generic operations")
13480 (description "Uniplate is a library for writing simple and concise generic
13481operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13482work, but is substantially simpler and faster.")
13483 (license license:bsd-3)))
13484
13485(define-public ghc-unix-compat
13486 (package
13487 (name "ghc-unix-compat")
bc82e9f5 13488 (version "0.5.2")
dddbc90c
RV
13489 (source
13490 (origin
13491 (method url-fetch)
13492 (uri (string-append
13493 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13494 version
13495 ".tar.gz"))
13496 (sha256
13497 (base32
bc82e9f5 13498 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13499 (build-system haskell-build-system)
13500 (home-page
13501 "https://github.com/jystic/unix-compat")
13502 (synopsis "Portable POSIX-compatibility layer")
13503 (description
13504 "This package provides portable implementations of parts of the unix
13505package. This package re-exports the unix package when available. When it
13506isn't available, portable implementations are used.")
13507 (license license:bsd-3)))
13508
13509(define-public ghc-unix-time
13510 (package
13511 (name "ghc-unix-time")
fad9cff2 13512 (version "0.4.7")
dddbc90c
RV
13513 (source
13514 (origin
13515 (method url-fetch)
13516 (uri (string-append
13517 "https://hackage.haskell.org/package/unix-time/unix-time-"
13518 version
13519 ".tar.gz"))
13520 (sha256
13521 (base32
fad9cff2 13522 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13523 (build-system haskell-build-system)
13524 (arguments
13525 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13526 ; is weird, that should be provided by GHC 7.10.2.
13527 (inputs
13528 `(("ghc-old-time" ,ghc-old-time)
13529 ("ghc-old-locale" ,ghc-old-locale)))
13530 (home-page "https://hackage.haskell.org/package/unix-time")
13531 (synopsis "Unix time parser/formatter and utilities")
13532 (description "This library provides fast parsing and formatting utilities
13533for Unix time in Haskell.")
13534 (license license:bsd-3)))
13535
13536(define-public ghc-unliftio
13537 (package
13538 (name "ghc-unliftio")
a4084db1 13539 (version "0.2.12")
dddbc90c
RV
13540 (source
13541 (origin
13542 (method url-fetch)
13543 (uri (string-append
13544 "https://hackage.haskell.org/package/unliftio/unliftio-"
13545 version
13546 ".tar.gz"))
13547 (sha256
13548 (base32
a4084db1 13549 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13550 (build-system haskell-build-system)
13551 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13552 (inputs
13553 `(("ghc-async" ,ghc-async)
13554 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13555 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13556 (home-page "https://github.com/fpco/unliftio")
13557 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13558IO (batteries included)")
13559 (description "This Haskell package provides the core @code{MonadUnliftIO}
13560typeclass, a number of common instances, and a collection of common functions
13561working with it.")
13562 (license license:expat)))
13563
13564(define-public ghc-unliftio-core
13565 (package
13566 (name "ghc-unliftio-core")
2ae42618 13567 (version "0.1.2.0")
dddbc90c
RV
13568 (source
13569 (origin
13570 (method url-fetch)
13571 (uri (string-append "https://hackage.haskell.org/package/"
13572 "unliftio-core-" version "/"
13573 "unliftio-core-" version ".tar.gz"))
13574 (sha256
13575 (base32
2ae42618 13576 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13577 (build-system haskell-build-system)
13578 (arguments
13579 `(#:cabal-revision
2ae42618 13580 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13581 (home-page
13582 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13583 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13584 (description "This Haskell package provides the core @code{MonadUnliftIO}
13585typeclass, instances for base and transformers, and basic utility
13586functions.")
13587 (license license:expat)))
13588
13589(define-public ghc-unordered-containers
13590 (package
13591 (name "ghc-unordered-containers")
ca01f8d3 13592 (version "0.2.10.0")
534d6caa 13593 (outputs '("out" "static" "doc"))
dddbc90c
RV
13594 (source
13595 (origin
13596 (method url-fetch)
13597 (uri (string-append
13598 "https://hackage.haskell.org/package/unordered-containers"
13599 "/unordered-containers-" version ".tar.gz"))
13600 (sha256
13601 (base32
ca01f8d3 13602 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13603 (build-system haskell-build-system)
13604 (inputs
13605 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13606 ("ghc-hunit" ,ghc-hunit)
13607 ("ghc-quickcheck" ,ghc-quickcheck)
13608 ("ghc-test-framework" ,ghc-test-framework)
13609 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13610 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13611 ("ghc-hashable" ,ghc-hashable)))
13612 (home-page
13613 "https://github.com/tibbe/unordered-containers")
13614 (synopsis
13615 "Efficient hashing-based container types")
13616 (description
13617 "Efficient hashing-based container types. The containers have been
13618optimized for performance critical use, both in terms of large data quantities
13619and high speed.")
13620 (license license:bsd-3)))
13621
13622(define-public ghc-unordered-containers-bootstrap
13623 (package
13624 (inherit ghc-unordered-containers)
13625 (name "ghc-unordered-containers-bootstrap")
13626 (arguments `(#:tests? #f))
13627 (inputs
13628 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13629 (properties '((hidden? #t)))))
dddbc90c 13630
a52f4c57
JS
13631(define-public ghc-unsafe
13632 (package
13633 (name "ghc-unsafe")
13634 (version "0.0")
13635 (source
13636 (origin
13637 (method url-fetch)
13638 (uri
13639 (string-append
13640 "https://hackage.haskell.org/package/unsafe/unsafe-"
13641 version ".tar.gz"))
13642 (sha256
13643 (base32
13644 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13645 (build-system haskell-build-system)
13646 (home-page "https://hackage.haskell.org/package/unsafe")
13647 (synopsis "Unified interface to unsafe functions")
13648 (description "Safe Haskell introduced the notion of safe and unsafe
13649modules. In order to make as many as possible modules ``safe'', the
13650well-known unsafe functions were moved to distinguished modules. This
13651makes it hard to write packages that work with both old and new versions
13652of GHC. This package provides a single module System.Unsafe that
13653exports the unsafe functions from the base package. It provides them in
13654a style ready for qualification, that is, you should import them by
13655@code{import qualified System.Unsafe as Unsafe}.")
13656 (license license:bsd-3)))
13657
dddbc90c
RV
13658(define-public ghc-uri-bytestring
13659 (package
13660 (name "ghc-uri-bytestring")
d35ffd39 13661 (version "0.3.2.2")
dddbc90c
RV
13662 (source
13663 (origin
13664 (method url-fetch)
13665 (uri (string-append "https://hackage.haskell.org/package/"
13666 "uri-bytestring-" version "/"
13667 "uri-bytestring-" version ".tar.gz"))
13668 (sha256
13669 (base32
d35ffd39 13670 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13671 (build-system haskell-build-system)
13672 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13673 ("ghc-blaze-builder" ,ghc-blaze-builder)
13674 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13675 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13676 ("ghc-tasty" ,ghc-tasty)
13677 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13678 ("ghc-hedgehog" ,ghc-hedgehog)
13679 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13680 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13681 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13682 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13683 (home-page "https://github.com/Soostone/uri-bytestring")
13684 (synopsis "Haskell URI parsing as ByteStrings")
13685 (description "This Haskell package aims to be an RFC3986 compliant URI
13686parser that uses ByteStrings for parsing and representing the URI data.")
13687 (license license:bsd-3)))
13688
d7ad0823
JS
13689(define-public ghc-utf8-light
13690 (package
13691 (name "ghc-utf8-light")
13692 (version "0.4.2")
13693 (source
13694 (origin
13695 (method url-fetch)
13696 (uri (string-append
13697 "mirror://hackage/package/utf8-light/utf8-light-"
13698 version
13699 ".tar.gz"))
13700 (sha256
13701 (base32
13702 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13703 (build-system haskell-build-system)
13704 (home-page
13705 "http://hackage.haskell.org/package/utf8-light")
13706 (synopsis "Lightweight unicode support for Haskell")
13707 (description
13708 "This package profides a class for encoding and decoding UTF8 strings
13709with instances for several common types. It also includes several functions
13710for working with UTF8. It aims to be lightweight, depending only on Base and
13711including only one module.")
13712 (license license:bsd-3)))
13713
dddbc90c
RV
13714(define-public ghc-utf8-string
13715 (package
13716 (name "ghc-utf8-string")
13717 (version "1.0.1.1")
13718 (source
13719 (origin
13720 (method url-fetch)
13721 (uri (string-append
13722 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13723 version
13724 ".tar.gz"))
13725 (sha256
13726 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13727 (build-system haskell-build-system)
13728 (arguments
13729 `(#:cabal-revision
13730 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13731 (home-page "https://github.com/glguy/utf8-string/")
13732 (synopsis "Support for reading and writing UTF8 Strings")
13733 (description
13734 "A UTF8 layer for Strings. The utf8-string package provides operations
13735for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13736UTF8 without truncation.")
13737 (license license:bsd-3)))
13738
13739(define-public ghc-utility-ht
13740 (package
13741 (name "ghc-utility-ht")
13742 (version "0.0.14")
13743 (home-page "https://hackage.haskell.org/package/utility-ht")
13744 (source
13745 (origin
13746 (method url-fetch)
13747 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13748 (sha256
13749 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13750 (build-system haskell-build-system)
13751 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13752 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13753 (description "This package includes Hakell modules providing various
13754helper functions for Lists, Maybes, Tuples, Functions.")
13755 (license license:bsd-3)))
13756
13757(define-public ghc-uuid
13758 (package
13759 (name "ghc-uuid")
13760 (version "1.3.13")
13761 (source
13762 (origin
13763 (method url-fetch)
13764 (uri (string-append "https://hackage.haskell.org/package/"
13765 "uuid-" version "/"
13766 "uuid-" version ".tar.gz"))
13767 (sha256
13768 (base32
13769 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13770 (build-system haskell-build-system)
13771 (arguments
13772 `(#:cabal-revision
13773 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13774 #:phases
13775 (modify-phases %standard-phases
13776 (add-before 'configure 'strip-test-framework-constraints
13777 (lambda _
13778 (substitute* "uuid.cabal"
13779 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13780 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13781 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13782 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13783 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13784 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13785 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13786 ("ghc-entropy" ,ghc-entropy)
13787 ("ghc-network-info" ,ghc-network-info)
13788 ("ghc-random" ,ghc-random)
13789 ("ghc-uuid-types" ,ghc-uuid-types)))
13790 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13791 ("ghc-quickcheck" ,ghc-quickcheck)
13792 ("ghc-tasty" ,ghc-tasty)
13793 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13794 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13795 (home-page "https://github.com/hvr/uuid")
13796 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13797 (description "This Haskell library provides utilities creating, comparing,
13798parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13799 (license license:bsd-3)))
13800
13801(define-public ghc-uuid-types
13802 (package
13803 (name "ghc-uuid-types")
13804 (version "1.0.3")
13805 (source
13806 (origin
13807 (method url-fetch)
13808 (uri (string-append "https://hackage.haskell.org/package/"
13809 "uuid-types-" version "/"
13810 "uuid-types-" version ".tar.gz"))
13811 (sha256
13812 (base32
13813 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13814 (build-system haskell-build-system)
13815 (arguments
13816 `(#:phases
13817 (modify-phases %standard-phases
13818 (add-before 'configure 'strip-test-framework-constraints
13819 (lambda _
13820 (substitute* "uuid-types.cabal"
13821 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13822 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13823 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13824 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13825 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13826 (inputs `(("ghc-hashable" ,ghc-hashable)
13827 ("ghc-random" ,ghc-random)))
13828 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13829 ("ghc-quickcheck" ,ghc-quickcheck)
13830 ("ghc-tasty" ,ghc-tasty)
13831 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13832 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13833 (home-page "https://github.com/hvr/uuid")
13834 (synopsis "Haskell type definitions for UUIDs")
13835 (description "This Haskell library contains type definitions for
13836@dfn{Universally Unique Identifiers} or
13837@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13838functions.")
13839 (license license:bsd-3)))
13840
13841(define-public ghc-validation
13842 (package
13843 (name "ghc-validation")
08397fde 13844 (version "1.1")
dddbc90c
RV
13845 (source
13846 (origin
13847 (method url-fetch)
13848 (uri (string-append
13849 "mirror://hackage/package/validation/validation-"
13850 version
13851 ".tar.gz"))
13852 (sha256
13853 (base32
08397fde 13854 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13855 (build-system haskell-build-system)
13856 (arguments
13857 `(#:cabal-revision
08397fde 13858 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13859 (inputs
13860 `(("ghc-semigroups" ,ghc-semigroups)
13861 ("ghc-semigroupoids" ,ghc-semigroupoids)
13862 ("ghc-bifunctors" ,ghc-bifunctors)
13863 ("ghc-lens" ,ghc-lens)))
13864 (native-inputs
13865 `(("ghc-hedgehog" ,ghc-hedgehog)
13866 ("ghc-hunit" ,ghc-hunit)))
13867 (home-page "https://github.com/qfpl/validation")
13868 (synopsis
13869 "Data-type like Either but with an accumulating Applicative")
13870 (description
13871 "A data-type like Either but with differing properties and type-class
13872instances.
13873
13874Library support is provided for this different representation, including
13875@code{lens}-related functions for converting between each and abstracting over
13876their similarities.
13877
13878The @code{Validation} data type is isomorphic to @code{Either}, but has an
13879instance of @code{Applicative} that accumulates on the error side. That is to
13880say, if two (or more) errors are encountered, they are appended using a
13881@{Semigroup} operation.
13882
13883As a consequence of this @code{Applicative} instance, there is no
13884corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13885example of, \"An applicative functor that is not a monad.\"")
13886 (license license:bsd-3)))
13887
13888(define-public ghc-validity
13889 (package
13890 (name "ghc-validity")
3f1ba75d 13891 (version "0.9.0.2")
dddbc90c
RV
13892 (source
13893 (origin
13894 (method url-fetch)
13895 (uri (string-append
13896 "https://hackage.haskell.org/package/validity/validity-"
13897 version
13898 ".tar.gz"))
13899 (sha256
13900 (base32
3f1ba75d 13901 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13902 (build-system haskell-build-system)
13903 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13904 ("hspec-discover" ,hspec-discover)))
13905 (home-page
13906 "https://github.com/NorfairKing/validity")
13907 (synopsis "Validity typeclass")
13908 (description
13909 "Values of custom types usually have invariants imposed upon them. This
13910package provides the @code{Validity} type class, which makes these invariants
13911explicit by providing a function to check whether the invariants hold.")
13912 (license license:expat)))
13913
13914(define-public ghc-vault
13915 (package
13916 (name "ghc-vault")
b40a436e 13917 (version "0.3.1.3")
dddbc90c
RV
13918 (source
13919 (origin
13920 (method url-fetch)
13921 (uri (string-append
13922 "https://hackage.haskell.org/package/vault/vault-"
13923 version
13924 ".tar.gz"))
13925 (sha256
13926 (base32
b40a436e 13927 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13928 (build-system haskell-build-system)
13929 (inputs
13930 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13931 ("ghc-hashable" ,ghc-hashable)
b40a436e 13932 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13933 (home-page
13934 "https://github.com/HeinrichApfelmus/vault")
13935 (synopsis "Persistent store for arbitrary values")
13936 (description "This package provides vaults for Haskell. A vault is a
13937persistent store for values of arbitrary types. It's like having first-class
13938access to the storage space behind @code{IORefs}. The data structure is
13939analogous to a bank vault, where you can access different bank boxes with
13940different keys; hence the name. Also provided is a @code{locker} type,
13941representing a store for a single element.")
13942 (license license:bsd-3)))
13943
13944(define-public ghc-vector
13945 (package
13946 (name "ghc-vector")
3ad67f6b 13947 (version "0.12.0.3")
534d6caa 13948 (outputs '("out" "static" "doc"))
dddbc90c
RV
13949 (source
13950 (origin
13951 (method url-fetch)
13952 (uri (string-append
13953 "https://hackage.haskell.org/package/vector/vector-"
13954 version
13955 ".tar.gz"))
13956 (sha256
13957 (base32
3ad67f6b 13958 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13959 (build-system haskell-build-system)
13960 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13961 ;; disabled for now.
13962 (arguments
3ad67f6b 13963 `(#:tests? #f))
dddbc90c
RV
13964 (inputs
13965 `(("ghc-primitive" ,ghc-primitive)
13966 ("ghc-random" ,ghc-random)
13967 ("ghc-quickcheck" ,ghc-quickcheck)
13968 ;; ("ghc-hunit" ,ghc-hunit)
13969 ;; ("ghc-test-framework" ,ghc-test-framework)
13970 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13971 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13972 ))
13973 (home-page "https://github.com/haskell/vector")
13974 (synopsis "Efficient Arrays")
13975 (description "This library provides an efficient implementation of
13976Int-indexed arrays (both mutable and immutable), with a powerful loop
13977optimisation framework.")
13978 (license license:bsd-3)))
13979
13980(define-public ghc-vector-algorithms
13981 (package
13982 (name "ghc-vector-algorithms")
e71f316f 13983 (version "0.8.0.1")
dddbc90c
RV
13984 (source
13985 (origin
13986 (method url-fetch)
13987 (uri (string-append "https://hackage.haskell.org/package/"
13988 "vector-algorithms-" version "/"
13989 "vector-algorithms-" version ".tar.gz"))
13990 (sha256
13991 (base32
e71f316f 13992 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13993 (build-system haskell-build-system)
13994 (inputs
13995 `(("ghc-vector" ,ghc-vector)))
13996 (native-inputs
13997 `(("ghc-quickcheck" ,ghc-quickcheck)))
13998 (home-page "https://github.com/bos/math-functions")
13999 (synopsis "Algorithms for vector arrays in Haskell")
14000 (description "This Haskell library algorithms for vector arrays.")
14001 (license license:bsd-3)))
14002
14003(define-public ghc-vector-binary-instances
14004 (package
14005 (name "ghc-vector-binary-instances")
ca0701ef 14006 (version "0.2.5.1")
dddbc90c
RV
14007 (source
14008 (origin
14009 (method url-fetch)
14010 (uri (string-append
14011 "https://hackage.haskell.org/package/"
14012 "vector-binary-instances/vector-binary-instances-"
14013 version ".tar.gz"))
14014 (sha256
14015 (base32
ca0701ef 14016 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 14017 (build-system haskell-build-system)
dddbc90c
RV
14018 (inputs
14019 `(("ghc-vector" ,ghc-vector)))
14020 (native-inputs
14021 `(("ghc-tasty" ,ghc-tasty)
14022 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14023 (home-page "https://github.com/bos/vector-binary-instances")
14024 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14025 (description "This library provides instances of @code{Binary} for the
14026types defined in the @code{vector} package, making it easy to serialize
14027vectors to and from disk. We use the generic interface to vectors, so all
14028vector types are supported. Specific instances are provided for unboxed,
14029boxed and storable vectors.")
14030 (license license:bsd-3)))
14031
14032(define-public ghc-vector-builder
14033 (package
14034 (name "ghc-vector-builder")
1fc05441 14035 (version "0.3.8")
dddbc90c
RV
14036 (source
14037 (origin
14038 (method url-fetch)
14039 (uri (string-append "https://hackage.haskell.org/package/"
14040 "vector-builder-" version "/"
14041 "vector-builder-" version ".tar.gz"))
14042 (sha256
14043 (base32
1fc05441 14044 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
14045 (build-system haskell-build-system)
14046 (inputs `(("ghc-vector" ,ghc-vector)
14047 ("ghc-semigroups" ,ghc-semigroups)
14048 ("ghc-base-prelude" ,ghc-base-prelude)))
14049 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14050 ("ghc-tasty" ,ghc-tasty)
14051 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14052 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14053 ("ghc-hunit" ,ghc-hunit)
14054 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14055 ("ghc-rerebase" ,ghc-rerebase)))
14056 (home-page "https://github.com/nikita-volkov/vector-builder")
14057 (synopsis "Vector builder for Haskell")
14058 (description "This Haskell package provides an API for constructing vectors.
14059It provides the composable @code{Builder} abstraction, which has instances of the
14060@code{Monoid} and @code{Semigroup} classes.
14061
14062You would first use the @code{Builder} abstraction to specify the structure of
14063the vector; then you can execute the builder to actually produce the
14064vector. ")
14065 (license license:expat)))
14066
14067(define-public ghc-vector-th-unbox
14068 (package
14069 (name "ghc-vector-th-unbox")
63056e61 14070 (version "0.2.1.7")
dddbc90c
RV
14071 (source
14072 (origin
14073 (method url-fetch)
14074 (uri (string-append "https://hackage.haskell.org/package/"
14075 "vector-th-unbox-" version "/"
14076 "vector-th-unbox-" version ".tar.gz"))
14077 (sha256
14078 (base32
63056e61 14079 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14080 (build-system haskell-build-system)
14081 (inputs
14082 `(("ghc-vector" ,ghc-vector)
14083 ("ghc-data-default" ,ghc-data-default)))
14084 (home-page "https://github.com/liyang/vector-th-unbox")
14085 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14086 (description "This Haskell library provides a Template Haskell
14087deriver for unboxed vectors, given a pair of coercion functions to
14088and from some existing type with an Unbox instance.")
14089 (license license:bsd-3)))
14090
14091(define-public ghc-void
14092 (package
14093 (name "ghc-void")
51889121 14094 (version "0.7.3")
dddbc90c
RV
14095 (source
14096 (origin
14097 (method url-fetch)
14098 (uri (string-append
14099 "https://hackage.haskell.org/package/void/void-"
14100 version
14101 ".tar.gz"))
14102 (sha256
14103 (base32
51889121 14104 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14105 (build-system haskell-build-system)
14106 (inputs
14107 `(("ghc-semigroups" ,ghc-semigroups)
14108 ("ghc-hashable" ,ghc-hashable)))
14109 (home-page "https://github.com/ekmett/void")
14110 (synopsis
14111 "Logically uninhabited data type")
14112 (description
14113 "A Haskell 98 logically uninhabited data type, used to indicate that a
14114given term should not exist.")
14115 (license license:bsd-3)))
14116
14117(define-public ghc-wave
14118 (package
14119 (name "ghc-wave")
1631a0f7 14120 (version "0.2.0")
dddbc90c
RV
14121 (source (origin
14122 (method url-fetch)
14123 (uri (string-append
14124 "https://hackage.haskell.org/package/wave/wave-"
14125 version
14126 ".tar.gz"))
14127 (sha256
14128 (base32
1631a0f7 14129 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14130 (build-system haskell-build-system)
14131 (arguments
14132 '(#:phases
14133 (modify-phases %standard-phases
14134 (add-before 'configure 'update-constraints
14135 (lambda _
14136 (substitute* "wave.cabal"
14137 (("temporary.* < 1\\.3")
14138 "temporary >= 1.1 && < 1.4")))))))
14139 (inputs
14140 `(("ghc-cereal" ,ghc-cereal)
14141 ("ghc-data-default-class"
14142 ,ghc-data-default-class)
14143 ("ghc-quickcheck" ,ghc-quickcheck)
14144 ("ghc-temporary" ,ghc-temporary)))
14145 (native-inputs
14146 `(("hspec-discover" ,hspec-discover)
14147 ("ghc-hspec" ,ghc-hspec)))
14148 (home-page "https://github.com/mrkkrp/wave")
14149 (synopsis "Work with WAVE and RF64 files in Haskell")
14150 (description "This package allows you to work with WAVE and RF64
14151files in Haskell.")
14152 (license license:bsd-3)))
14153
14154(define-public ghc-wcwidth
14155 (package
14156 (name "ghc-wcwidth")
14157 (version "0.0.2")
14158 (source
14159 (origin
14160 (method url-fetch)
14161 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14162 version ".tar.gz"))
14163 (sha256
14164 (base32
14165 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14166 (build-system haskell-build-system)
14167 (inputs
14168 `(("ghc-setlocale" ,ghc-setlocale)
14169 ("ghc-utf8-string" ,ghc-utf8-string)
14170 ("ghc-attoparsec" ,ghc-attoparsec)))
14171 (home-page "https://github.com/solidsnack/wcwidth/")
14172 (synopsis "Haskell bindings to wcwidth")
14173 (description "This package provides Haskell bindings to your system's
14174native wcwidth and a command line tool to examine the widths assigned by it.
14175The command line tool can compile a width table to Haskell code that assigns
14176widths to the Char type.")
14177 (license license:bsd-3)))
14178
14179(define-public ghc-wcwidth-bootstrap
14180 (package
14181 (inherit ghc-wcwidth)
14182 (name "ghc-wcwidth-bootstrap")
14183 (inputs
14184 `(("ghc-setlocale" ,ghc-setlocale)
14185 ("ghc-utf8-string" ,ghc-utf8-string)
14186 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14187 (properties '((hidden? #t)))))
dddbc90c
RV
14188
14189(define-public ghc-weigh
14190 (package
14191 (name "ghc-weigh")
b6d9777f 14192 (version "0.0.14")
dddbc90c
RV
14193 (source
14194 (origin
14195 (method url-fetch)
14196 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14197 "weigh-" version ".tar.gz"))
14198 (sha256
14199 (base32
b6d9777f 14200 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14201 (build-system haskell-build-system)
14202 (inputs
14203 `(("ghc-split" ,ghc-split)
14204 ("ghc-temporary" ,ghc-temporary)))
14205 (home-page "https://github.com/fpco/weigh#readme")
14206 (synopsis "Measure allocations of a Haskell functions/values")
14207 (description "This package provides tools to measure the memory usage of a
14208Haskell value or function.")
14209 (license license:bsd-3)))
14210
14211(define-public ghc-wl-pprint
14212 (package
14213 (name "ghc-wl-pprint")
14214 (version "1.2.1")
14215 (source (origin
14216 (method url-fetch)
14217 (uri (string-append
14218 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14219 version ".tar.gz"))
14220 (sha256
14221 (base32
14222 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14223 (build-system haskell-build-system)
14224 (home-page "https://hackage.haskell.org/package/wl-pprint")
14225 (synopsis "Wadler/Leijen pretty printer")
14226 (description
14227 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14228Printer}. This version allows the library user to declare overlapping
14229instances of the @code{Pretty} class.")
14230 (license license:bsd-3)))
14231
14232(define-public ghc-wl-pprint-annotated
14233 (package
14234 (name "ghc-wl-pprint-annotated")
14235 (version "0.1.0.1")
14236 (source
14237 (origin
14238 (method url-fetch)
14239 (uri (string-append
14240 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14241 version
14242 ".tar.gz"))
14243 (sha256
14244 (base32
14245 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14246 (build-system haskell-build-system)
14247 (native-inputs
14248 `(("ghc-tasty" ,ghc-tasty)
14249 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14250 (home-page
14251 "https://github.com/minad/wl-pprint-annotated#readme")
14252 (synopsis
14253 "Wadler/Leijen pretty printer with annotation support")
14254 (description
14255 "Annotations are useful for coloring. This is a limited version of
14256@code{wl-pprint-extras} without support for point effects and without the free
14257monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14258Compared to @code{annotated-wl-pprint} this library provides a slightly
14259modernized interface.")
14260 (license license:bsd-3)))
14261
14262(define-public ghc-wl-pprint-text
14263 (package
14264 (name "ghc-wl-pprint-text")
14265 (version "1.2.0.0")
14266 (source
14267 (origin
14268 (method url-fetch)
14269 (uri (string-append
14270 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14271 version ".tar.gz"))
14272 (sha256
14273 (base32
14274 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14275 (build-system haskell-build-system)
14276 (inputs
14277 `(("ghc-base-compat" ,ghc-base-compat)))
14278 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14279 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14280 (description
14281 "A clone of wl-pprint for use with the text library.")
14282 (license license:bsd-3)))
14283
14284(define-public ghc-word8
14285 (package
14286 (name "ghc-word8")
14287 (version "0.1.3")
14288 (source
14289 (origin
14290 (method url-fetch)
14291 (uri (string-append
14292 "https://hackage.haskell.org/package/word8/word8-"
14293 version
14294 ".tar.gz"))
14295 (sha256
14296 (base32
14297 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14298 (build-system haskell-build-system)
14299 (native-inputs
14300 `(("ghc-hspec" ,ghc-hspec)
14301 ("hspec-discover" ,hspec-discover)))
14302 (home-page "https://hackage.haskell.org/package/word8")
14303 (synopsis "Word8 library for Haskell")
14304 (description "Word8 library to be used with @code{Data.ByteString}.")
14305 (license license:bsd-3)))
14306
14307(define-public ghc-x11
14308 (package
14309 (name "ghc-x11")
6c4581a3 14310 (version "1.9.1")
dddbc90c
RV
14311 (source
14312 (origin
14313 (method url-fetch)
14314 (uri (string-append "https://hackage.haskell.org/package/X11/"
14315 "X11-" version ".tar.gz"))
14316 (sha256
6c4581a3 14317 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c 14318 (build-system haskell-build-system)
54a5fd07
TS
14319 (arguments
14320 `(#:extra-directories
14321 ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
dddbc90c
RV
14322 (inputs
14323 `(("libx11" ,libx11)
14324 ("libxrandr" ,libxrandr)
14325 ("libxinerama" ,libxinerama)
14326 ("libxscrnsaver" ,libxscrnsaver)
14327 ("ghc-data-default" ,ghc-data-default)))
14328 (home-page "https://github.com/haskell-pkg-janitors/X11")
14329 (synopsis "Bindings to the X11 graphics library")
14330 (description
14331 "This package provides Haskell bindings to the X11 graphics library. The
14332bindings are a direct translation of the C bindings.")
14333 (license license:bsd-3)))
14334
14335(define-public ghc-x11-xft
14336 (package
14337 (name "ghc-x11-xft")
14338 (version "0.3.1")
14339 (source
14340 (origin
14341 (method url-fetch)
14342 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14343 "X11-xft-" version ".tar.gz"))
14344 (sha256
14345 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
54a5fd07
TS
14346 (arguments
14347 `(#:extra-directories ("libx11" "libxft" "xorgproto")))
dddbc90c
RV
14348 (inputs
14349 `(("ghc-x11" ,ghc-x11)
14350 ("ghc-utf8-string" ,ghc-utf8-string)
14351 ("libx11" ,libx11)
14352 ("libxft" ,libxft)
14353 ("xorgproto" ,xorgproto)))
14354 (native-inputs
14355 `(("pkg-config" ,pkg-config)))
14356 (build-system haskell-build-system)
14357 (home-page "https://hackage.haskell.org/package/X11-xft")
14358 (synopsis "Bindings to Xft")
14359 (description
14360 "Bindings to the Xft, X Free Type interface library, and some Xrender
14361parts.")
14362 (license license:lgpl2.1)))
14363
14364(define-public ghc-xdg-basedir
14365 (package
14366 (name "ghc-xdg-basedir")
14367 (version "0.2.2")
14368 (source
14369 (origin
14370 (method url-fetch)
14371 (uri (string-append
14372 "https://hackage.haskell.org/package/xdg-basedir/"
14373 "xdg-basedir-" version ".tar.gz"))
14374 (sha256
14375 (base32
14376 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14377 (build-system haskell-build-system)
702a1012 14378 (home-page "https://github.com/willdonnelly/xdg-basedir")
dddbc90c
RV
14379 (synopsis "XDG Base Directory library for Haskell")
14380 (description "This package provides a library implementing the XDG Base Directory spec.")
14381 (license license:bsd-3)))
14382
14383(define-public ghc-xml
14384 (package
14385 (name "ghc-xml")
14386 (version "1.3.14")
14387 (source
14388 (origin
14389 (method url-fetch)
14390 (uri (string-append
14391 "https://hackage.haskell.org/package/xml/xml-"
14392 version
14393 ".tar.gz"))
14394 (sha256
14395 (base32
14396 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14397 (build-system haskell-build-system)
2b62f5d0 14398 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14399 (synopsis "Simple XML library for Haskell")
14400 (description "This package provides a simple XML library for Haskell.")
14401 (license license:bsd-3)))
14402
14403(define-public ghc-xml-conduit
14404 (package
14405 (name "ghc-xml-conduit")
14406 (version "1.8.0.1")
14407 (source
14408 (origin
14409 (method url-fetch)
14410 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14411 "xml-conduit-" version ".tar.gz"))
14412 (sha256
14413 (base32
14414 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14415 (build-system haskell-build-system)
14416 (inputs
14417 `(("ghc-conduit" ,ghc-conduit)
14418 ("ghc-conduit-extra" ,ghc-conduit-extra)
14419 ("ghc-doctest" ,ghc-doctest)
14420 ("ghc-resourcet" ,ghc-resourcet)
14421 ("ghc-xml-types" ,ghc-xml-types)
14422 ("ghc-attoparsec" ,ghc-attoparsec)
14423 ("ghc-data-default-class" ,ghc-data-default-class)
14424 ("ghc-blaze-markup" ,ghc-blaze-markup)
14425 ("ghc-blaze-html" ,ghc-blaze-html)
14426 ("ghc-monad-control" ,ghc-monad-control)
14427 ("ghc-hspec" ,ghc-hspec)
14428 ("ghc-hunit" ,ghc-hunit)))
14429 (home-page "https://github.com/snoyberg/xml")
14430 (synopsis "Utilities for dealing with XML with the conduit package")
14431 (description
14432 "This package provides pure-Haskell utilities for dealing with XML with
14433the @code{conduit} package.")
14434 (license license:expat)))
14435
14436(define-public ghc-xml-types
14437 (package
14438 (name "ghc-xml-types")
14439 (version "0.3.6")
14440 (source
14441 (origin
14442 (method url-fetch)
14443 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14444 "xml-types-" version ".tar.gz"))
14445 (sha256
14446 (base32
14447 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14448 (build-system haskell-build-system)
14449 (home-page "https://john-millikin.com/software/haskell-xml/")
14450 (synopsis "Basic types for representing XML")
14451 (description "This package provides basic types for representing XML
14452documents.")
14453 (license license:expat)))
14454
14455(define-public ghc-yaml
14456 (package
14457 (name "ghc-yaml")
b58e5b84 14458 (version "0.11.1.2")
dddbc90c
RV
14459 (source (origin
14460 (method url-fetch)
14461 (uri (string-append "https://hackage.haskell.org/package/"
14462 "yaml/yaml-" version ".tar.gz"))
14463 (sha256
14464 (base32
b58e5b84 14465 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14466 (build-system haskell-build-system)
dddbc90c
RV
14467 (inputs
14468 `(("ghc-conduit" ,ghc-conduit)
14469 ("ghc-resourcet" ,ghc-resourcet)
14470 ("ghc-aeson" ,ghc-aeson)
14471 ("ghc-unordered-containers" ,ghc-unordered-containers)
14472 ("ghc-vector" ,ghc-vector)
14473 ("ghc-attoparsec" ,ghc-attoparsec)
14474 ("ghc-scientific" ,ghc-scientific)
14475 ("ghc-semigroups" ,ghc-semigroups)
14476 ("ghc-temporary" ,ghc-temporary)
14477 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14478 ("ghc-base-compat" ,ghc-base-compat)
14479 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14480 (native-inputs
14481 `(("ghc-hspec" ,ghc-hspec)
14482 ("ghc-hunit" ,ghc-hunit)
14483 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14484 ("ghc-mockery" ,ghc-mockery)
14485 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14486 (home-page "https://github.com/snoyberg/yaml/")
14487 (synopsis "Parsing and rendering YAML documents")
14488 (description
14489 "This package provides a library to parse and render YAML documents.")
14490 (license license:bsd-3)))
14491
14492(define-public ghc-zip-archive
14493 (package
14494 (name "ghc-zip-archive")
93c1fdd3 14495 (version "0.4.1")
dddbc90c
RV
14496 (source
14497 (origin
14498 (method url-fetch)
14499 (uri (string-append
14500 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14501 version
14502 ".tar.gz"))
14503 (sha256
14504 (base32
93c1fdd3 14505 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14506 (build-system haskell-build-system)
93c1fdd3
TS
14507 (arguments
14508 `(#:phases
14509 (modify-phases %standard-phases
14510 (add-before 'check 'set-PATH-for-tests
14511 (lambda* (#:key inputs #:allow-other-keys)
14512 (let ((unzip (assoc-ref inputs "unzip"))
14513 (which (assoc-ref inputs "which"))
14514 (path (getenv "PATH")))
14515 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14516 #t))))))
dddbc90c
RV
14517 (inputs
14518 `(("ghc-digest" ,ghc-digest)
14519 ("ghc-temporary" ,ghc-temporary)
14520 ("ghc-zlib" ,ghc-zlib)))
14521 (native-inputs
14522 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14523 ("unzip" ,unzip)
14524 ("which" ,which)))
dddbc90c
RV
14525 (home-page "https://hackage.haskell.org/package/zip-archive")
14526 (synopsis "Zip archive library for Haskell")
14527 (description "The zip-archive library provides functions for creating,
14528modifying, and extracting files from zip archives in Haskell.")
14529 (license license:bsd-3)))
14530
14531(define-public ghc-zlib
14532 (package
14533 (name "ghc-zlib")
bf12089a 14534 (version "0.6.2.1")
534d6caa 14535 (outputs '("out" "static" "doc"))
dddbc90c
RV
14536 (source
14537 (origin
14538 (method url-fetch)
14539 (uri (string-append
14540 "https://hackage.haskell.org/package/zlib/zlib-"
14541 version
14542 ".tar.gz"))
14543 (sha256
14544 (base32
bf12089a 14545 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14546 (build-system haskell-build-system)
14547 (arguments
54a5fd07
TS
14548 `(#:extra-directories ("zlib")
14549 #:phases
dddbc90c
RV
14550 (modify-phases %standard-phases
14551 (add-before 'configure 'strip-test-framework-constraints
14552 (lambda _
14553 (substitute* "zlib.cabal"
14554 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14555 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14556 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14557 (inputs `(("zlib" ,zlib)))
14558 (native-inputs
14559 `(("ghc-quickcheck" ,ghc-quickcheck)
14560 ("ghc-tasty" ,ghc-tasty)
14561 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14562 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14563 (home-page "https://hackage.haskell.org/package/zlib")
14564 (synopsis
14565 "Compression and decompression in the gzip and zlib formats")
14566 (description
14567 "This package provides a pure interface for compressing and decompressing
14568streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14569library so it has high performance. It supports the @code{zlib}, @code{gzip}
14570and @code{raw} compression formats. It provides a convenient high level API
14571suitable for most tasks and for the few cases where more control is needed it
14572provides access to the full zlib feature set.")
bbf8bf31 14573 (license license:bsd-3)))
14e41996
RV
14574
14575(define-public ghc-zlib-bindings
14576 (package
14577 (name "ghc-zlib-bindings")
14578 (version "0.1.1.5")
14579 (source
14580 (origin
14581 (method url-fetch)
14582 (uri (string-append "https://hackage.haskell.org/package/"
14583 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14584 (sha256
14585 (base32
14586 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14587 (build-system haskell-build-system)
14588 (inputs
14589 `(("ghc-zlib" ,ghc-zlib)))
14590 (native-inputs
14591 `(("ghc-hspec" ,ghc-hspec)
14592 ("ghc-quickcheck" ,ghc-quickcheck)))
14593 (arguments
14594 `(#:cabal-revision
14595 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14596 (home-page "https://github.com/snapframework/zlib-bindings")
14597 (synopsis "Low-level bindings to the @code{zlib} package")
14598 (description "This package provides low-level bindings to the
14599@code{zlib} package.")
14600 (license license:bsd-3)))
8428e92c
TS
14601
14602(define-public ghc-zstd
14603 (package
14604 (name "ghc-zstd")
14605 (version "0.1.1.2")
14606 (source
14607 (origin
14608 (method url-fetch)
14609 (uri (string-append "https://hackage.haskell.org/package/"
14610 "zstd/zstd-" version ".tar.gz"))
14611 (sha256
14612 (base32
14613 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14614 (build-system haskell-build-system)
14615 (native-inputs
14616 `(("ghc-quickcheck" ,ghc-quickcheck)
14617 ("ghc-test-framework" ,ghc-test-framework)
14618 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14619 (home-page "https://github.com/luispedro/hs-zstd")
14620 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14621 (description "This library provides Haskell bindings to the
14622Zstandard compression algorithm, a fast lossless compression algorithm
14623targeting real-time compression scenarios at zlib-level and better
14624compression ratios.")
14625 (license license:bsd-3)))